/*
Theme Name: Lefito 2026
Theme URI: https://lefito.com/
Author: Lefito
Author URI: https://lefito.com/
Description: Custom from-scratch theme for Lefito — a marketing-analytics & conversion-tracking practice. "Signal & Instrument" design system: deep petrol base with warm sand/clay accents, editorial measurement-journal typography.
Version: 1.0.5
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lefito-2026
*/

/* ============================================================
   DESIGN TOKENS  —  "Signal & Instrument"
   Base: deep petrol / dark-teal  ·  Accent: warm sand + clay
   ============================================================ */
:root{
  /* surfaces */
  --oat:        #F6F1E7;   /* warm oat paper — primary page bg */
  --oat-2:      #EFE7D6;   /* slightly deeper oat — alt surface */
  --card:       #FFFDF8;   /* near-white warm card */
  --line:       #DDD1BB;   /* hairline on light */
  --line-soft:  #E7DDC9;

  /* petrol family (base / ink / dark sections) */
  --petrol:       #0E2F33;  /* primary ink on light (≈13:1 on oat) */
  --petrol-deep:  #0B2528;  /* darkest — footer / dark sections */
  --petrol-mid:   #16494F;  /* mid petrol — large surfaces */
  --petrol-line:  #2A5C61;  /* hairline on dark */

  /* sand / clay accent (STRUCTURE) */
  --clay:       #9C4A22;   /* accent text/links on LIGHT (≈5.8:1 on oat) */
  --clay-bright:#C2632E;   /* large accent / fills on light */
  --sand:       #E3C9A0;   /* accent on DARK (≈9:1 on petrol-deep) */
  --sand-deep:  #D9B783;   /* sand fill */
  --sand-soft:  #F0E2C8;

  /* text */
  --ink:        #0E2F33;   /* default body ink on light */
  --ink-2:      #3C4F4A;   /* secondary text on light (≈7.4:1 on oat) */
  --muted:      #5A5346;   /* muted labels on light (≈5.2:1 on oat) — DARKENED */
  --on-dark:        #F4ECDC; /* body text on dark petrol (≈12:1) */
  --on-dark-muted:  #C9C0AE; /* muted on dark (≈6.2:1 on petrol-deep) — DARKENED */

  /* fonts */
  --font-head: "Schibsted Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-mono: "Spline Sans Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* structure */
  --radius:   4px;          /* small, opinionated radius */
  --radius-lg: 6px;
  --wrap: 1180px;
  --measure: 720px;         /* reading column */
  --gut: clamp(20px, 5vw, 56px);

  --shadow: 0 1px 0 var(--line);          /* flat, structural — no soft SaaS shadows */
}

/* ============================================================
   RESET
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--oat);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:18px;
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--clay);text-decoration:none;text-underline-offset:3px}
a:hover{text-decoration:underline}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-head);
  color:var(--petrol);
  line-height:1.12;
  font-weight:700;
  letter-spacing:-0.015em;
  margin:0 0 .5em;
}
p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.2em;padding-left:1.3em}
li{margin:.25em 0}
hr{border:0;border-top:1px solid var(--line);margin:2.4rem 0}
code,kbd,samp{font-family:var(--font-mono);font-size:.85em}
::selection{background:var(--sand-deep);color:var(--petrol-deep)}

/* skip link — hidden off-canvas WITHOUT extending the layout width */
.skip-link{position:absolute;left:8px;top:-60px;background:var(--petrol-deep);color:var(--sand);padding:10px 16px;z-index:1000;border-radius:0 0 var(--radius) 0;transition:top .15s}
.skip-link:focus{top:0}

/* ============================================================
   LAYOUT PRIMITIVES
   ============================================================ */
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.wrap-narrow{max-width:880px;margin-inline:auto;padding-inline:var(--gut)}
.measure{max-width:var(--measure)}
.eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--clay);            /* 5.8:1 on oat */
  font-weight:500;
  display:inline-block;
  margin:0 0 .9rem;
}
.eyebrow::before{content:"▸ ";color:var(--clay-bright)}
.section{padding-block:clamp(54px,8vw,96px)}
.section--tight{padding-block:clamp(40px,5vw,64px)}

/* dark section — headings/text recolored only at the SECTION level,
   NOT inside light cards that sit on a dark section (cards keep dark ink). */
.section--dark,.bg-petrol{background:var(--petrol-deep);color:var(--on-dark)}
.section--dark > .wrap h1,.section--dark > .wrap h2,.section--dark > .wrap h3,.section--dark > .wrap h4,
.bg-petrol > .wrap > .sec-head h2,.bg-petrol > .wrap > .sec-head h3,
.bg-petrol > .wrap > h2,.hero h1,.hero h2{color:var(--sand-soft)}
.section--dark > .wrap > p,.bg-petrol > .wrap > .sec-head p,.hero p{color:var(--on-dark)}
.section--dark .eyebrow,.bg-petrol .eyebrow,.hero .eyebrow{color:var(--sand)}
.section--dark .eyebrow::before,.bg-petrol .eyebrow::before,.hero .eyebrow::before{color:var(--sand-deep)}
.section--dark > .wrap > a,.bg-petrol > .wrap > p a{color:var(--sand)}

/* cards inside a dark section keep their own light treatment */
.bg-petrol .card h3,.section--dark .card h3{color:var(--petrol)}
.bg-petrol .card p,.section--dark .card p{color:var(--ink-2)}
.bg-petrol .tool-card .tool-tag{color:var(--clay)}
.bg-petrol .arrow-link,.section--dark .arrow-link{color:var(--clay)}

/* hero inherits dark-section button + link styling */
.hero .btn-primary{background:var(--sand);color:var(--petrol-deep);border-color:var(--sand)}
.hero .btn-primary:hover{background:var(--sand-deep);border-color:var(--sand-deep)}
.hero .btn-ghost{color:var(--sand-soft);border-color:var(--sand)}
.hero .btn-ghost:hover{background:var(--sand);color:var(--petrol-deep)}

/* ============================================================
   BUTTONS  (accent as structure, small radius)
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--font-head);font-weight:600;font-size:.96rem;
  letter-spacing:.005em;
  padding:.78em 1.4em;border-radius:var(--radius);
  border:1.5px solid transparent;cursor:pointer;
  transition:transform .12s ease, background .15s ease, color .15s ease;
  text-decoration:none!important;line-height:1.1;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--clay);color:#FFF8EF;border-color:var(--clay)}
.btn-primary:hover{background:#863D1B;border-color:#863D1B}
.btn-ghost{background:transparent;color:var(--petrol);border-color:var(--petrol)}
.btn-ghost:hover{background:var(--petrol);color:var(--sand-soft)}
/* on dark bg */
.bg-petrol .btn-primary,.section--dark .btn-primary{background:var(--sand);color:var(--petrol-deep);border-color:var(--sand)}
.bg-petrol .btn-primary:hover,.section--dark .btn-primary:hover{background:var(--sand-deep);border-color:var(--sand-deep)}
.bg-petrol .btn-ghost,.section--dark .btn-ghost{color:var(--sand-soft);border-color:var(--sand)}
.bg-petrol .btn-ghost:hover,.section--dark .btn-ghost:hover{background:var(--sand);color:var(--petrol-deep)}

.arrow-link{font-family:var(--font-head);font-weight:600;color:var(--clay);display:inline-flex;align-items:center;gap:.35em}
.arrow-link::after{content:"→";transition:transform .15s ease}
.arrow-link:hover::after{transform:translateX(3px)}

/* ============================================================
   SITE HEADER
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(246,241,231,.88);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:1.2rem;
  min-height:66px;            /* min-height — not fixed, allows wrap */
  padding-block:8px;
}
.brand{display:flex;align-items:center;gap:.62rem;flex-shrink:0;text-decoration:none!important}
.brand__mark{width:34px;height:34px;border-radius:7px;flex-shrink:0}
.brand__text{display:flex;flex-direction:column;line-height:1}
.brand__name{font-family:var(--font-head);font-weight:800;font-size:1.18rem;color:var(--petrol);letter-spacing:-0.02em}
.brand__tag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:3px}

/* nav */
.primary-nav{display:flex;align-items:center;gap:.3rem;margin:0}
.primary-nav ul{display:flex;list-style:none;gap:.2rem;margin:0;padding:0;align-items:center}
.primary-nav a{
  font-family:var(--font-head);font-weight:600;font-size:.95rem;
  color:var(--petrol);padding:.5em .8em;border-radius:var(--radius);
  display:inline-block;transition:background .15s,color .15s;
}
.primary-nav a:hover{background:var(--oat-2);text-decoration:none}
.primary-nav .current-menu-item>a,
.primary-nav .current_page_item>a,
.primary-nav .current-menu-parent>a{
  color:var(--clay);background:var(--sand-soft);
}
.header-cta{margin-left:.4rem}

/* mobile toggle */
.nav-toggle{display:none;background:transparent;border:1.5px solid var(--petrol);border-radius:var(--radius);
  width:42px;height:38px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{
  content:"";display:block;width:20px;height:2px;background:var(--petrol);position:relative;transition:.2s}
.nav-toggle span::before{position:absolute;top:-6px}
.nav-toggle span::after{position:absolute;top:6px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

/* ============================================================
   HERO (front page)
   ============================================================ */
.hero{position:relative;background:var(--petrol-deep);color:var(--on-dark);overflow:hidden}
.hero__grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,72px);
  align-items:center;padding-block:clamp(64px,9vw,118px);
}
.hero h1{
  font-size:clamp(2.3rem,5.4vw,4.05rem);color:var(--sand-soft);
  letter-spacing:-0.028em;line-height:1.04;margin-bottom:.5em;
}
.hero h1 em{font-style:normal;color:var(--sand);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.14em;background:var(--clay-bright);opacity:.85;border-radius:2px}
.hero__lede{font-size:clamp(1.05rem,2vw,1.28rem);color:var(--on-dark);max-width:38ch;margin-bottom:1.8em}
.hero__actions{display:flex;gap:.8rem;flex-wrap:wrap}
.hero__meta{margin-top:2.2rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;color:var(--on-dark-muted);display:flex;gap:1.4rem;flex-wrap:wrap}
.hero__meta b{color:var(--sand);font-weight:600}
/* instrument panel mock (right column) */
.hero__panel{
  background:linear-gradient(180deg,#103A3F,#0B2528);
  border:1px solid var(--petrol-line);border-radius:var(--radius-lg);
  padding:22px;box-shadow:0 24px 60px -28px rgba(0,0,0,.6);
}
.hero__panel-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sand);margin-bottom:14px}
.hero__panel-top span{color:var(--on-dark-muted)}
.bars{display:flex;align-items:flex-end;gap:9px;height:118px;padding:14px;background:rgba(0,0,0,.25);border-radius:var(--radius)}
.bars i{flex:1;background:var(--sand-deep);border-radius:3px 3px 0 0;display:block;min-width:6px}
.bars i:nth-child(4),.bars i:nth-child(5){background:var(--clay-bright)}
.hero__readouts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.readout{background:#11272B;border:1px solid var(--petrol-line);border-radius:var(--radius);padding:11px 13px}
.readout .k{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-muted)}
.readout .v{font-family:var(--font-head);font-weight:700;font-size:1.3rem;color:var(--sand-soft);margin-top:2px}
.readout .v small{color:var(--sand);font-size:.7rem;font-weight:600}

/* ============================================================
   SECTION HEADINGS
   ============================================================ */
.sec-head{margin-bottom:2.4rem;max-width:680px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem);letter-spacing:-0.02em}
.sec-head p{color:var(--ink-2);font-size:1.08rem;margin-top:.2em}

/* ============================================================
   CARD GRIDS
   ============================================================ */
.grid{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:26px;transition:border-color .15s, transform .15s;position:relative;
}
.card:hover{border-color:var(--clay-bright);transform:translateY(-2px)}
.card h3{font-size:1.18rem;margin-bottom:.5rem}
.card p{color:var(--ink-2);font-size:.97rem;margin:0}

/* numbered/labelled topic card */
.topic-card{border-left:3px solid var(--sand-deep)}
.topic-card:hover{border-left-color:var(--clay)}
.topic-card .num{font-family:var(--font-mono);font-size:.72rem;color:var(--clay);letter-spacing:.1em}

/* tool card */
.tool-card{display:flex;flex-direction:column;height:100%}
.tool-card .tool-tag{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);margin-bottom:.6rem}
.tool-card h3{font-size:1.08rem}
.tool-card .arrow-link{margin-top:auto;padding-top:1rem;font-size:.92rem}

/* ============================================================
   POST CARDS / ARCHIVE
   ============================================================ */
.post-list{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.post-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,transform .15s;
}
.post-card:hover{border-color:var(--clay-bright);transform:translateY(-2px)}
.post-card__thumb{aspect-ratio:16/9;background:var(--oat-2);overflow:hidden;border-bottom:1px solid var(--line)}
.post-card__thumb img{width:100%;height:100%;object-fit:cover}
.post-card__thumb--none{display:flex;align-items:center;justify-content:center;background:var(--petrol-mid)}
.post-card__thumb--none .bars{height:70px;background:transparent;padding:0;width:60%}
.post-card__body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.post-card__cat{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);margin-bottom:.6rem;font-weight:500}
.post-card__title{font-size:1.2rem;line-height:1.22;margin-bottom:.5rem}
.post-card__title a{color:var(--petrol)}
.post-card__title a:hover{color:var(--clay);text-decoration:none}
.post-card__excerpt{color:var(--ink-2);font-size:.96rem;margin-bottom:1rem;flex:1}
.post-card__meta{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);letter-spacing:.02em;display:flex;gap:.8rem;align-items:center;border-top:1px solid var(--line-soft);padding-top:.9rem}

/* ============================================================
   SINGLE POST
   ============================================================ */
.post-header{padding-block:clamp(40px,6vw,72px) clamp(24px,3vw,36px);border-bottom:1px solid var(--line)}
.post-header .breadcrumb{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;color:var(--muted);margin-bottom:1.1rem}
.post-header .breadcrumb a{color:var(--clay)}
.post-header h1{font-size:clamp(2rem,4.4vw,3.2rem);letter-spacing:-0.025em;max-width:18ch;margin-bottom:.5em}
.post-header .post-meta{font-family:var(--font-mono);font-size:.78rem;color:var(--muted);display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.post-header .post-meta .cat{color:var(--clay);font-weight:500}
.post-feat{margin:clamp(28px,4vw,44px) auto 0;max-width:var(--wrap)}
.post-feat img{border-radius:var(--radius-lg);border:1px solid var(--line);width:100%}

/* article body typography */
.entry-content{font-size:1.12rem;line-height:1.74;color:var(--ink)}
/* never let content force horizontal page scroll */
.entry-content img,.entry-content table,.entry-content pre,.entry-content iframe{max-width:100%}
.fullwidth-tool-content,.entry-content{overflow-wrap:break-word;word-wrap:break-word}
.entry-content > *{max-width:var(--measure);margin-inline:auto}
.entry-content h2{font-size:1.72rem;margin:2.2em auto .6em;letter-spacing:-0.018em}
.entry-content h3{font-size:1.32rem;margin:1.8em auto .5em}
.entry-content h2::before{content:"";display:block;width:42px;height:3px;background:var(--clay-bright);margin-bottom:.7rem;border-radius:2px}
.entry-content p{margin:0 auto 1.25em}
.entry-content a{color:var(--clay);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}
.entry-content a:hover{color:#863D1B}
.entry-content ul,.entry-content ol{margin:0 auto 1.4em;max-width:var(--measure)}
.entry-content li{margin:.4em 0}
.entry-content ul li::marker{color:var(--clay-bright)}
.entry-content blockquote{
  border-left:3px solid var(--clay);background:var(--oat-2);
  margin:1.8em auto;padding:1.1em 1.4em;border-radius:0 var(--radius) var(--radius) 0;
  font-style:italic;color:var(--ink-2);
}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content img{border-radius:var(--radius);border:1px solid var(--line)}
.entry-content code{background:var(--oat-2);padding:.12em .4em;border-radius:3px;color:var(--clay);font-size:.86em}
.entry-content pre{background:var(--petrol-deep);color:var(--on-dark);padding:1.2em 1.4em;border-radius:var(--radius);overflow:auto;max-width:var(--measure);margin:1.6em auto;font-size:.9rem}
.entry-content pre code{background:transparent;color:inherit;padding:0}
/* wide tables: contain horizontal scroll so they never push the page */
.entry-content table{width:100%;max-width:var(--measure);margin:1.6em auto;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (min-width:760px){.entry-content table{display:table}}
.entry-content th{background:var(--petrol);color:var(--sand-soft);text-align:left;padding:.7em .9em;font-family:var(--font-head);font-size:.85rem;letter-spacing:.02em}
.entry-content td{padding:.7em .9em;border-bottom:1px solid var(--line)}
.entry-content tbody tr:nth-child(even),.entry-content tr:nth-child(even) td{background:var(--card)}

/* author box (native, replaces dormant mu-plugin GP hook) */
.author-box{
  max-width:var(--measure);margin:3rem auto 0;display:flex;gap:20px;align-items:flex-start;
  background:var(--petrol-deep);color:var(--on-dark);border-radius:var(--radius-lg);padding:28px;
}
.author-box img{width:74px;height:74px;border-radius:50%;border:2px solid var(--sand);flex-shrink:0}
.author-box .ab-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sand);display:block;margin-bottom:3px}
.author-box .ab-name{font-family:var(--font-head);font-weight:700;font-size:1.12rem;color:var(--sand-soft);text-decoration:none}
.author-box .ab-name:hover{color:var(--sand)}
.author-box .ab-bio{font-size:.92rem;color:var(--on-dark);margin:.5em 0 0;line-height:1.6;font-family:var(--font-body)}

/* prev/next nav */
.post-nav{max-width:var(--measure);margin:2.6rem auto 0;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1.6rem}
.post-nav a{font-family:var(--font-head);font-weight:600;font-size:.92rem;color:var(--clay);max-width:46%}
.post-nav .pn-label{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}
.post-nav .next{text-align:right;margin-left:auto}

/* ============================================================
   PAGE (generic)
   ============================================================ */
.page-hero{background:var(--petrol-deep);color:var(--on-dark);padding-block:clamp(48px,7vw,86px)}
.page-hero h1{color:var(--sand-soft);font-size:clamp(2rem,4.4vw,3.1rem);letter-spacing:-0.025em;max-width:20ch}
.page-hero p{color:var(--on-dark);font-size:1.15rem;max-width:54ch;margin-top:.6em}
/* eyebrow on dark page-hero must be sand, not clay */
.page-hero .eyebrow{color:var(--sand)}
.page-hero .eyebrow::before{color:var(--sand-deep)}
.page-body{padding-block:clamp(44px,6vw,72px)}
.page-body .entry-content{font-size:1.08rem}

/* generic prose for rebuilt pages */
.prose{max-width:var(--measure);margin-inline:auto}
.prose h2{font-size:1.6rem;margin:2em 0 .5em}
.prose h2::before{content:"";display:block;width:40px;height:3px;background:var(--clay-bright);margin-bottom:.6rem;border-radius:2px}
.prose h3{font-size:1.22rem;margin:1.6em 0 .4em}
.prose p,.prose li{color:var(--ink)}
.prose a{color:var(--clay);text-decoration:underline}

/* stat strip */
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 22px;text-align:center}
.stat .n{font-family:var(--font-head);font-weight:800;font-size:2.3rem;color:var(--petrol);display:block;letter-spacing:-0.02em}
.stat .l{font-size:.9rem;color:var(--muted);margin-top:.2rem}

/* feature/service list */
.feat-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:0;padding:0;list-style:none}
.feat-list li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;margin:0}
.feat-list h4{font-size:1.08rem;color:var(--petrol);margin-bottom:.4rem;display:flex;align-items:center;gap:.5rem}
.feat-list h4 .dot{width:9px;height:9px;border-radius:50%;background:var(--clay-bright);flex-shrink:0}
.feat-list p{color:var(--ink-2);font-size:.95rem;margin:0}

/* chip list */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:1rem 0 1.6rem;padding:0;list-style:none}
.chips li{font-family:var(--font-mono);font-size:.78rem;background:var(--sand-soft);color:var(--petrol);
  border:1px solid var(--line);padding:6px 13px;border-radius:var(--radius);margin:0}

/* contact info card grid */
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:1.4rem 0}
.contact-cards .cc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px}
.contact-cards .cc .k{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);margin-bottom:.4rem}
.contact-cards .cc .v{font-size:1rem;color:var(--ink)}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--petrol-deep);color:var(--on-dark);padding-block:clamp(48px,6vw,72px) 28px;border-top:3px solid var(--clay)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(28px,5vw,64px);padding-bottom:40px;border-bottom:1px solid var(--petrol-line)}
.footer-brand .brand__name{color:var(--sand-soft)}
.footer-brand .brand__tag{color:var(--on-dark-muted)}
.footer-blurb{color:var(--on-dark);font-size:.96rem;max-width:42ch;margin-top:1rem}
.footer-col h4{font-family:var(--font-head);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sand);margin-bottom:1rem}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin:.55rem 0}
.footer-col a{color:var(--on-dark);font-size:.96rem}
.footer-col a:hover{color:var(--sand)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:22px}
.footer-copy{font-family:var(--font-mono);font-size:.76rem;color:var(--on-dark-muted);letter-spacing:.02em}
.footer-mini{display:flex;gap:1.2rem;font-family:var(--font-mono);font-size:.76rem}
.footer-mini a{color:var(--on-dark-muted)}
.footer-mini a:hover{color:var(--sand)}

/* ============================================================
   PAGINATION  /  ARCHIVE HEADER
   ============================================================ */
.archive-head{padding-block:clamp(44px,6vw,76px) clamp(24px,3vw,40px);border-bottom:1px solid var(--line)}
.archive-head h1{font-size:clamp(2rem,4.4vw,3rem);letter-spacing:-0.025em}
.archive-head p{color:var(--ink-2);font-size:1.08rem;margin-top:.3em;max-width:60ch}
.archive-head .count{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--clay)}
.pagination{display:flex;gap:.4rem;justify-content:center;align-items:center;margin-top:3rem;flex-wrap:wrap}
.pagination .page-numbers{font-family:var(--font-head);font-weight:600;font-size:.95rem;
  min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 .7em;border:1px solid var(--line);border-radius:var(--radius);color:var(--petrol);background:var(--card)}
.pagination .page-numbers:hover{border-color:var(--clay);color:var(--clay);text-decoration:none}
.pagination .page-numbers.current{background:var(--petrol);color:var(--sand-soft);border-color:var(--petrol)}
.pagination .page-numbers.dots{border:none;background:transparent}

/* ============================================================
   404 / SEARCH
   ============================================================ */
.center-stage{min-height:54vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-block:64px}
.center-stage .big{font-family:var(--font-head);font-weight:800;font-size:clamp(3.4rem,12vw,7rem);color:var(--clay-bright);letter-spacing:-0.04em;line-height:1}
.center-stage h1{font-size:clamp(1.5rem,3.5vw,2.2rem);margin:.4em 0}
.center-stage p{color:var(--ink-2);max-width:48ch;margin-bottom:1.6em}
.search-form{display:flex;gap:.5rem;max-width:440px;margin:0 auto}
.search-form input[type=search]{flex:1;font-family:var(--font-body);font-size:1rem;padding:.7em 1em;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink)}
.search-form input[type=search]:focus{outline:none;border-color:var(--clay);box-shadow:0 0 0 3px rgba(156,74,34,.14)}

/* search result rows */
.result-row{padding:1.6rem 0;border-bottom:1px solid var(--line)}
.result-row h3{font-size:1.25rem;margin-bottom:.3rem}
.result-row .url{font-family:var(--font-mono);font-size:.74rem;color:var(--clay)}
.result-row p{color:var(--ink-2);margin:.4rem 0 0}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:960px){
  .hero__grid{grid-template-columns:1fr;gap:36px}
  .hero__panel{max-width:460px}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
}
@media (max-width:760px){
  body{font-size:17px}
  /* mobile nav */
  .nav-toggle{display:inline-flex}
  .primary-nav{
    position:absolute;top:100%;left:0;right:0;
    background:var(--oat);border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;padding:10px var(--gut) 18px;
    display:none;box-shadow:0 16px 30px -20px rgba(14,47,51,.4);
  }
  .primary-nav.open{display:flex}
  .primary-nav ul{flex-direction:column;gap:0;width:100%}
  .primary-nav li{width:100%;border-bottom:1px solid var(--line-soft)}
  .primary-nav a{display:block;padding:.85em .2em;width:100%}
  .header-cta{display:none}
  .brand__tag{display:none}      /* hide secondary tagline on mobile */
  .grid-2,.grid-3,.grid-4,.post-list,.feat-list,.stat-row,.contact-cards{grid-template-columns:1fr}
  .entry-content{font-size:1.06rem}
  .section{padding-block:clamp(40px,9vw,64px)}
}
@media (max-width:430px){
  .footer-grid{grid-template-columns:1fr;gap:30px}    /* collapse footer to 1 col */
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:.6rem}
  .hero__readouts{grid-template-columns:1fr 1fr}
  .post-nav{flex-direction:column}
  .post-nav .next{text-align:left;margin-left:0}
}
@media (max-width:360px){
  :root{--gut:18px}
  .stat .n{font-size:2rem}
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
  .btn:hover,.card:hover,.post-card:hover{transform:none}
}
