
:root{
  /* === Irene-deck port — bog-on-verdigris palette (2026-06-29) === */
  /* dark tokens (base) */
  --bg:#06120c;                /* bog black-green */
  --bg-2:#0a1a12;              /* deep moss surface */
  --bg-3:#12291c;              /* forest slate (hover) */
  --line:#1f3a2c;              /* subtle moss edge */
  --line-2:#2c4f3b;            /* stronger edge */
  --fg:#eef3ee;                /* bone white */
  --fg-2:#c8d5cb;              /* body dim */
  --fg-3:#8aa093;              /* label dim (lichen) */
  /* Greens — primary accent family (verdigris on bog) */
  --green:#3fae84;             /* verdigris (hero green) */
  --green-deep:#2e7d5b;        /* hover */
  --green-soft:#7fd3ad;        /* glow / bright */
  /* Amber — secondary (the metal under the patina) */
  --amber:#e0a33a;             /* aged gold */
  --amber-soft:#f0c87a;        /* gilt highlight */
  /* Rowan — force / blood (rare; 2–3× per page max) */
  --rowan:#d9533b;
  /* Forged steel — precision rules / measurement framing */
  --steel:#8a9690;
  /* Semantic aliases — primary accent = verdigris (was amber) */
  --accent:var(--green);
  --accent-deep:var(--green-deep);
  --accent-2:var(--rowan);     /* coral → rowan (force) */
  --accent-warm:var(--amber);  /* aged gold for honor/eyebrow */
  --teal:#5b8fce;              /* Wisdom-pillar slate-blue */
  --good:var(--green-soft);
  /* Fonts — Instrument Serif display, Space Grotesk body, JetBrains Mono data, Cormorant pull-quotes */
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --sans:'Space Grotesk',system-ui,sans-serif;
  --display:'Instrument Serif',Georgia,serif;
  --serif:'Cormorant Garamond',Georgia,serif;
  /* light / editorial tokens (cream-on-forest for .light sections) */
  --bg-light:#f5efe2;
  --bg-light-2:#ebe3d0;
  --fg-on-light:#1a2419;
  --fg-2-on-light:#45524a;
  --fg-3-on-light:#6e7d72;
  --line-on-light:#c8c0a8;
  --line-2-on-light:#a89e80;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:15px;line-height:1.6;
  font-feature-settings:'ss01','cv11';-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(oklch(1 0 0 / 0.015) 1px,transparent 1px);background-size:3px 3px;
}
a{color:var(--accent);text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}

/* TOPBAR */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;height:44px;padding:0 24px;
  background:oklch(0.13 0.008 60 / 0.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:12px;color:var(--fg-3)}
.topbar .brand{color:var(--fg);font-weight:600;letter-spacing:.01em}
.topbar .brand::after{content:'';display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-left:8px;transform:translateY(-1px);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.topbar .dot{color:var(--fg-3)}
.topbar .meta{color:var(--fg-2)}
.topbar .right{margin-left:auto;display:flex;gap:22px;align-items:center}
.topbar .right a{color:var(--fg-3);border:none}.topbar .right a:hover{color:var(--accent)}
@media(max-width:780px){.topbar .meta,.topbar .dot,.topbar .right a:not(.cta){display:none}}

/* MOBILE NAV (burger + panel injected by lead.js) */
.nav-burger{display:none;background:none;border:none;cursor:pointer;padding:8px;margin-left:8px;
  flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav-burger span{display:block;width:18px;height:1px;background:var(--fg);transition:transform .2s,opacity .2s}
.nav-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:780px){.nav-burger{display:flex}}
.mobile-menu{display:none;position:fixed;top:44px;left:0;right:0;bottom:0;z-index:49;
  background:oklch(0.13 0.008 60 / 0.97);backdrop-filter:blur(14px);overflow-y:auto;
  font-family:var(--mono);font-size:14px}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:15px 24px;color:var(--fg-2);border-bottom:1px solid var(--line)}
.mobile-menu a:hover,.mobile-menu a.active{color:var(--accent)}
.mobile-menu a.sub{padding-left:44px;font-size:13px;color:var(--fg-3)}
.mobile-menu a.cta{color:var(--accent);font-weight:600}
body.menu-open{overflow:hidden}

/* HERO */
.hero{padding:88px 0 72px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-20%;right:-8%;width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle,oklch(0.82 0.14 70 / .09),transparent 65%);pointer-events:none}
.kicker{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.05em;margin-bottom:24px}
.hero h1{font-family:var(--display);font-weight:600;font-size:clamp(30px,3.6vw,34px);line-height:.97;letter-spacing:-.025em;max-width:18ch}
.hero h1 .period{color:var(--accent)}
.hero h1 .a{color:var(--accent)}
.hero .lede{font-family:var(--sans);font-size:clamp(16px,1.8vw,18px);color:var(--fg-2);max-width:38ch;margin-top:28px;line-height:1.35}
.hero .sub{color:var(--fg-2);max-width:54ch;margin-top:18px;font-size:16px}
.cta-row{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.btn{font-family:var(--mono);font-size:12.5px;letter-spacing:.03em;padding:13px 22px;border-radius:3px;
  background:var(--accent);color:var(--bg);border:1px solid var(--accent);font-weight:600;transition:.15s;display:inline-flex;gap:8px;align-items:center}
.btn:hover{background:var(--accent-deep);border-color:var(--accent-deep);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--fg);border-color:var(--line-2)}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent);background:oklch(0.82 0.14 70 / .06)}
.btn.sm{font-size:12px;padding:10px 16px}
.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr}}

/* TERMINAL CARD */
.term{border:1px solid var(--line);background:var(--bg-2);font-family:var(--mono);font-size:12px;color:var(--fg-2)}
.term .head{padding:10px 16px;border-bottom:1px solid var(--line);color:var(--accent);font-size:12px;letter-spacing:.1em;display:flex;justify-content:space-between}
.term .row{display:flex;justify-content:space-between;padding:11px 16px;border-bottom:1px dashed var(--line)}
.term .row:last-of-type{border-bottom:none}
.term .k{color:var(--fg-3)}.term .v{color:var(--fg)}
.term .quote{padding:14px 16px;font-family:var(--serif);font-style:italic;color:var(--fg-2);font-size:13px;border-top:1px solid var(--line)}
.term .good{color:var(--good)}

/* PROOF STRIP */
.proof{display:flex;gap:28px;flex-wrap:wrap;justify-content:space-between;padding:20px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.12em;margin-top:48px;text-transform:uppercase}
.proof span:hover{color:var(--accent)}

/* SECTION LABEL */
.slabel{display:flex;align-items:baseline;gap:14px;font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.06em;margin:0 0 30px;text-transform:lowercase}
.slabel .idx{color:var(--accent)}
.slabel .ln{flex:1;height:1px;background:var(--line)}
section{padding:40px 0;border-bottom:1px solid var(--line)}
h2{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.4vw,24px);letter-spacing:-.02em;line-height:1.05;max-width:24ch}
h2 .a{color:var(--accent)}
.sec-lede{color:var(--fg-2);font-size:17px;max-width:60ch;margin-top:16px}

/* LIGHT SECTIONS (editorial / cream) */
section.light{
  background:var(--bg-light);
  background-image:none;
  border-bottom-color:var(--line-on-light);
  /* remap tokens for child components */
  --fg: var(--fg-on-light);
  --fg-2: var(--fg-2-on-light);
  --fg-3: var(--fg-3-on-light);
  --line: var(--line-on-light);
  --line-2: var(--line-2-on-light);
  --bg-2: var(--bg-light-2);
}
section.light h2{color:var(--fg-on-light)}
section.light .sec-lede{color:var(--fg-2-on-light)}
section.light .slabel{color:var(--fg-3-on-light)}
section.light .slabel .ln{background:var(--line-on-light)}

/* THESIS SECTION */
.thesis-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;margin-top:48px;align-items:start}
@media(max-width:820px){.thesis-grid{grid-template-columns:1fr;gap:40px}}
.etymology .word{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.08em;margin-bottom:6px}
.etymology .big{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.8vw,34px);color:var(--fg-on-light);line-height:1.25;margin:20px 0 16px}
.etymology p{font-size:15.5px;color:var(--fg-2-on-light);line-height:1.75}
.etymology p+p{margin-top:14px}
.franklin{border-left:2px solid var(--accent);padding-left:28px}
.franklin .quote-big{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.5vw,28px);color:var(--fg-on-light);line-height:1.3;margin-bottom:20px}
.franklin p{font-size:15px;color:var(--fg-2-on-light);line-height:1.75}
.franklin p+p{margin-top:12px}
.franklin .attr{font-family:var(--mono);font-size:12px;color:var(--fg-3-on-light);letter-spacing:.05em;margin-top:18px}

/* PILLAR CARDS */
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
@media(max-width:820px){.pillar-grid{grid-template-columns:1fr}}
.pillar{border-top:2px solid var(--accent);padding-top:22px}
.pillar .num{font-family:var(--mono);font-size:12px;color:var(--fg-3-on-light);letter-spacing:.1em;text-transform:uppercase}
.pillar h3{font-size:21px;font-weight:600;margin:10px 0 8px;color:var(--fg-on-light)}
.pillar .sub{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.04em;margin-bottom:14px}
.pillar p{font-size:14.5px;color:var(--fg-2-on-light);line-height:1.75}
.pillar .mag-link{display:inline-block;margin-top:20px;font-family:var(--mono);font-size:12px;
  color:var(--accent);letter-spacing:.05em;border-bottom:1px solid oklch(0.82 0.14 70 / .3);padding-bottom:2px}
.pillar .mag-link:hover{border-color:var(--accent)}
.pillar .stub{display:inline-block;margin-top:20px;font-family:var(--mono);font-size:12px;color:var(--fg-3-on-light);letter-spacing:.04em}

/* THE WORK OFFERINGS (dark section) */
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;border:1px solid var(--line)}
@media(max-width:820px){.offer-grid{grid-template-columns:1fr}}
.offer{padding:36px;border-right:1px solid var(--line)}
.offer:last-child{border-right:none}
@media(max-width:820px){.offer{border-right:none;border-bottom:1px solid var(--line)}}
@media(max-width:820px){.offer:last-child{border-bottom:none}}
.offer .num{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.1em;margin-bottom:16px}
.offer h3{font-size:22px;font-weight:600;margin-bottom:12px}
.offer p{color:var(--fg-2);font-size:14.5px;line-height:1.75}
.offer p+p{margin-top:12px}
.offer .mode{font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.04em;margin-top:20px}
.offer .offer-link{display:inline-block;margin-top:24px;font-family:var(--mono);font-size:12px;
  color:var(--accent);letter-spacing:.04em;border:1px solid oklch(0.82 0.14 70 / .3);padding:8px 14px;border-radius:2px}
.offer .offer-link:hover{border-color:var(--accent);background:oklch(0.82 0.14 70 / .07)}

/* BIO LAYOUT (about.html) */
.bio-grid{display:grid;grid-template-columns:1fr 1.8fr;gap:72px;margin-top:48px;align-items:start}
@media(max-width:820px){.bio-grid{grid-template-columns:1fr;gap:40px}}
.bio-sidebar .av{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;color:var(--bg);font-size:28px;margin-bottom:20px}
.bio-sidebar .handle{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.05em}
.bio-sidebar .title{font-size:15px;color:var(--fg-2);margin:4px 0 20px}
.bio-sidebar ul{list-style:none}
.bio-sidebar li{font-family:var(--mono);font-size:12px;color:var(--fg-3);padding:8px 0;border-top:1px dashed var(--line);letter-spacing:.03em}
.bio-sidebar li span{color:var(--fg-2)}
.bio-body p{font-size:16.5px;color:var(--fg-2);line-height:1.8}
.bio-body p+p{margin-top:20px}
.bio-body .pull{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.5vw,28px);color:var(--fg);border-left:2px solid var(--accent);padding-left:24px;margin:32px 0;line-height:1.35}

/* WORLDVIEW (about.html dark section) */
.principle-list{margin-top:40px;list-style:none}
.principle-list li{display:flex;gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.principle-list .n{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.06em;flex-shrink:0;padding-top:3px}
.principle-list h4{font-size:16px;font-weight:600;margin-bottom:6px}
.principle-list p{font-size:14px;color:var(--fg-3)}

/* CLOSE / BOOK */
.close{text-align:center;padding:96px 0}
.close h2{margin:0 auto 18px;max-width:none}
.close .sec-lede{margin:0 auto 32px}
.close .fine{font-family:var(--mono);font-size:12px;color:var(--fg-3);margin-top:20px}

/* CARDS (generic dark) */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
@media(max-width:820px){.cards3{grid-template-columns:1fr}}
.card{border:1px solid var(--line);background:var(--bg-2);padding:26px;transition:.15s}
.card:hover{border-color:var(--line-2);background:var(--bg-3)}
.card .n{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.1em}
.card h3{font-size:18px;margin:12px 0 8px;font-weight:600}
.card p{color:var(--fg-3);font-size:14px}

/* LOOP STEPS (index.html model section) */
.loop{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);margin-top:40px}
@media(max-width:720px){.loop{grid-template-columns:1fr}}
.step{background:var(--bg-2);padding:32px;transition:.15s}
.step:hover{background:var(--bg-3)}
.cmd{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.08em;margin-bottom:14px}
.step h3{font-size:17px;font-weight:600;margin:0 0 10px}
.step p{color:var(--fg-3);font-size:14px;line-height:1.7}

/* USE-CASE GRID (index.html problems section) */
.uc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:720px){.uc-grid{grid-template-columns:1fr}}
.uc{border:1px solid var(--line);background:var(--bg-2);padding:32px}
.tag{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.08em;margin-bottom:14px}
.uc h3{font-size:17px;font-weight:600;margin-bottom:18px}
.uc ul{list-style:none}
.uc li{padding:9px 0;border-top:1px solid var(--line);color:var(--fg-2);font-size:14px;line-height:1.55}
.uc li:first-child{border-top:none}

/* TEAM CARDS (index.html team preview section) */
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
@media(max-width:720px){.team{grid-template-columns:1fr}}
.member{border:1px solid var(--line);background:var(--bg-2);padding:32px}
.member h3{font-size:19px;font-weight:600;margin:14px 0 4px}
.role{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.04em;margin-bottom:14px}
.member p{color:var(--fg-2);font-size:14px;line-height:1.7}

/* PRICING (index.html pricing section) */
.price3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:860px){.price3{grid-template-columns:1fr}}
.tier{border:1px solid var(--line);background:var(--bg-2);padding:32px}
.tier.feat{border-color:var(--accent)}
.nm{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.08em;margin-bottom:16px}
.pr{font-size:clamp(26px,3vw,38px);font-weight:700;font-family:var(--mono);color:var(--fg);line-height:1}
.cad{font-family:var(--mono);font-size:12px;color:var(--fg-3);margin:6px 0 18px}
.hook{font-family:var(--serif);font-style:italic;color:var(--fg-2);font-size:14px;line-height:1.6;margin-bottom:18px;border-left:2px solid var(--accent);padding-left:14px}
.tier ul{list-style:none;margin-top:16px}
.tier li{padding:8px 0;border-top:1px dashed var(--line);color:var(--fg-2);font-size:13.5px}
.tier li:first-child{border-top:none}
.tier li::before{content:"✓  ";color:var(--accent);font-family:var(--mono);font-size:12px}

footer{padding:36px 0;font-family:var(--mono);font-size:12px;color:var(--fg-3);text-align:center;border-top:1px solid var(--line)}
footer a{color:var(--fg-3)}.footer a:hover{color:var(--accent)}
.qn{color:var(--fg-3);opacity:.55;font-size:12px;margin-top:6px}

/* partners grid */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:48px}
.pcard{display:flex;flex-direction:column;gap:5px;padding:20px 22px;border:1px solid var(--line);border-radius:4px;background:var(--bg-2);transition:.15s;text-decoration:none}
a.pcard:hover{border-color:var(--accent);transform:translateY(-2px)}
.pcard .pn{font-family:var(--mono);font-size:15px;color:var(--fg);font-weight:500}
.pcard .pd{font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.04em}
.pcard.more{border-style:dashed;background:transparent}
.pcard.more .pn{color:var(--accent)}

/* irish spring — coach accents (now derived from --green-soft for verdigris coherence) */
:root{ --irish:var(--green-soft); --irish-deep:var(--green-deep); }
#verticals h2 .a{ color:var(--irish) }
.coach{ border-top:2px solid var(--irish) }
.coach .n{ color:var(--irish) }
.coach .cdef{ font-family:var(--serif); font-style:italic; color:var(--fg-2); font-size:17px; line-height:1.35; margin:8px 0 16px }
.coach .cmeta{ font-family:var(--mono); font-size:12px; color:var(--fg-2); line-height:1.55; margin-top:11px }
.coach .cl{ display:inline-block; color:var(--irish); text-transform:uppercase; letter-spacing:.1em; font-size:12px; margin-right:8px }
.coach .cppl{ font-family:var(--mono); font-size:12px; color:var(--fg-2); margin-top:16px; padding-top:13px; border-top:1px dashed var(--line); line-height:1.9 }
.advstrip{ margin-top:30px; font-family:var(--mono); font-size:12.5px; color:var(--fg-2); background:var(--bg-2); border:1px solid var(--line); border-left:2px solid var(--irish); border-radius:4px; padding:15px 18px }
.advstrip .cl{ color:var(--irish); text-transform:uppercase; letter-spacing:.1em; font-size:12px; margin-right:10px }
.advstrip em{ color:var(--fg-3); font-style:italic }
.topbar .brand::after{ content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--irish); margin-left:9px; vertical-align:middle }

/* segregated partner groups */
.pgroup{margin-top:34px}
.pgroup .pgrid{margin-top:14px}
.pglabel{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--irish);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pglabel .pgx{color:var(--fg-3);letter-spacing:.04em;text-transform:none;font-size:12px}

/* ============================================================
   BLOG / INSIGHTS  (insights.html + posts/*.html)
   ============================================================ */
.post-hero{padding:72px 0 40px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.post-hero::before{content:'';position:absolute;top:-30%;right:-6%;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,oklch(0.82 0.14 70 / .08),transparent 65%);pointer-events:none}
.post-hero .kicker{margin-bottom:18px}
.post-hero h1{font-family:var(--display);font-weight:600;font-size:clamp(28px,3.4vw,34px);line-height:1.0;letter-spacing:-.025em;max-width:20ch}
.post-hero h1 .a{color:var(--accent)}
.post-dek{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2.2vw,24px);color:var(--fg-2);max-width:46ch;margin-top:22px;line-height:1.4}
.post-meta{font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.06em;margin-top:24px;display:flex;gap:16px;flex-wrap:wrap;text-transform:uppercase}
.post-meta .tag{color:var(--accent)}

.post-body{padding:56px 0 72px}
.post-body .wrap{max-width:760px}
.post-body h2{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.4vw,24px);letter-spacing:-.015em;color:var(--fg-on-light);margin:46px 0 4px;max-width:30ch}
.post-body h2 .a{color:var(--accent-deep)}
.post-body h3{font-size:18px;font-weight:600;color:var(--fg-on-light);margin:30px 0 4px}
.post-body p{font-size:17px;color:var(--fg-2-on-light);line-height:1.8;margin-top:16px}
.post-body p.lead{font-size:19px;color:var(--fg-on-light)}
.post-body a{color:var(--accent-deep);border-bottom:1px solid oklch(0.72 0.15 60 / .35)}
.post-body strong{color:var(--fg-on-light)}
.post-body ul,.post-body ol{margin:16px 0 0 22px;color:var(--fg-2-on-light)}
.post-body li{font-size:16.5px;line-height:1.75;margin-top:8px}
.post-body blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.4vw,26px);color:var(--fg-on-light);
  border-left:2px solid var(--accent);padding-left:26px;margin:34px 0;line-height:1.35;max-width:34ch}
.post-body .src{font-family:var(--mono);font-size:12.5px;color:var(--fg-3-on-light);line-height:1.7;
  border-top:1px solid var(--line-on-light);margin-top:48px;padding-top:20px}
.post-body .src a{color:var(--fg-2-on-light)}
.post-body hr{border:none;border-top:1px solid var(--line-on-light);margin:40px 0}

.post-list{margin-top:48px;border-top:1px solid var(--line)}
.post-card{display:block;padding:30px 0;border-bottom:1px solid var(--line);transition:.15s}
.post-card:hover{padding-left:10px}
.post-card .pc-meta{font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.06em;text-transform:uppercase;display:flex;gap:14px}
.post-card .pc-meta .tag{color:var(--accent)}
.post-card h3{font-family:var(--display);font-weight:600;font-size:clamp(18px,2vw,22px);color:var(--fg);margin:10px 0 8px;letter-spacing:-.02em;line-height:1.1}
.post-card:hover h3{color:var(--accent)}
.post-card p{color:var(--fg-2);font-size:15px;max-width:62ch}
.post-card .more{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.04em;margin-top:12px;display:inline-block}
.post-card.stub{opacity:.5;pointer-events:none}

/* coach card → vertical page link */
.coach .cgo{display:inline-flex;align-items:center;justify-content:space-between;margin-top:18px;
  padding:13px 14px;border:1px solid var(--irish);border-radius:6px;width:100%;
  font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--irish);background:transparent;transition:all .2s}
.coach .cgo::after{content:'→';margin-left:8px;font-size:14px}
.coach .cgo:hover{background:var(--irish);color:var(--bg);border-color:var(--irish)}

/* ============================================================
   LEXICON / FOLKLORE DEFINITION BLOCK  (.lex)
   a cool-dictionary entry — sits under the hero on each page
   ============================================================ */
.lex{border-left:2px solid var(--accent);padding:4px 0 4px 24px;max-width:60ch;margin:0}
.lex .hw{font-family:var(--mono);font-size:clamp(20px,2.4vw,26px);font-weight:600;color:var(--accent);letter-spacing:-.01em}
.lex .pron{font-family:var(--mono);font-size:13px;color:var(--fg-3);margin-left:10px;letter-spacing:.02em}
.lex .pos{display:block;font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.16em;text-transform:uppercase;margin:8px 0 14px}
.lex .def{font-family:var(--serif);font-size:18px;color:var(--fg-2);line-height:1.5}
.lex .here{display:block;margin-top:14px;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--fg-2);opacity:.85}
.lex-wrap{padding:40px 0 0}
@media(max-width:560px){.lex{padding-left:18px}}

/* ============================================================
   PRICING LADDER  (.ladder — entry row + 4-rung row)
   reuses .tier vocabulary; wider layout
   ============================================================ */
.ladder-entry{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px}
@media(max-width:720px){.ladder-entry{grid-template-columns:1fr}}
.tier.free{border-color:var(--accent);background:var(--bg-3)}
.ladder-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
@media(max-width:1000px){.ladder-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ladder-grid{grid-template-columns:1fr}}
.tier .rung{font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}

/* ============================================================
   AUDIT EMBED  (audit.html)
   ============================================================ */
.audit-embed{margin-top:48px;border:1px solid var(--line);background:var(--bg-2);position:relative;overflow:hidden}
.audit-embed iframe{display:block;width:100%;min-height:1400px;border:0;background:var(--bg)}
.audit-note{font-family:var(--mono);font-size:12.5px;color:var(--fg-3);letter-spacing:.03em;margin-top:18px;line-height:1.7}
.audit-note a{color:var(--accent)}
.audit-ext{display:inline-block;margin-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--accent)}


/* === brand recede + wallpaper · type system update 2026-06-22 === */
.topbar .brand{color:var(--fg-3);font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:lowercase}
.topbar .brand::after{display:none !important}
.hero{isolation:isolate}
.hero>*{position:relative;z-index:1}
.hero::after{content:'FIANNA';position:absolute;right:-2%;bottom:-10%;font-family:var(--display);font-weight:600;
  font-size:min(26vw,300px);line-height:.78;letter-spacing:-.045em;color:var(--accent);opacity:.045;pointer-events:none;z-index:0;white-space:nowrap}

/* === nav dropdown + active state + anchor offset (2026-06-22) === */
.navdrop{position:relative;display:inline-block;padding-bottom:14px;margin-bottom:-14px}
.navdrop-trigger .caret{font-size:9px;opacity:.7;margin-left:1px}
.navdrop-menu{position:absolute;top:100%;left:0;min-width:196px;background:var(--bg-2);border:1px solid var(--line-2);
  border-radius:8px;padding:6px;display:none;flex-direction:column;gap:1px;box-shadow:0 14px 34px rgba(0,0,0,.4);z-index:60;margin-top:0}
.navdrop-menu::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
.navdrop:hover .navdrop-menu,.navdrop:focus-within .navdrop-menu,.navdrop.open .navdrop-menu{display:flex}
.navdrop-menu a{display:block;padding:9px 11px;border-radius:5px;font-family:var(--mono);font-size:12px;color:var(--fg-2);letter-spacing:.02em}
.navdrop-menu a:hover{background:var(--bg-3);color:var(--accent)}
.topbar .right a.active{color:var(--accent)}
:target{scroll-margin-top:66px}
.card.coach[id]{scroll-margin-top:84px}

/* === lead-capture modal === */
.lead-overlay{position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:200;padding:20px}
.lead-overlay.open{display:flex}
.lead-modal{background:var(--bg-2);border:1px solid var(--line-2);border-radius:12px;max-width:460px;width:100%;padding:30px 28px;position:relative;max-height:92vh;overflow:auto}
.lead-modal .lead-close{position:absolute;top:12px;right:15px;background:none;border:none;color:var(--fg-3);font-size:22px;cursor:pointer;line-height:1}
.lead-modal .lead-close:hover{color:var(--fg)}
.lead-modal h3{font-family:var(--display);font-weight:600;font-size:23px;color:var(--fg);margin:8px 0 6px;letter-spacing:-.01em}
.lead-modal .lsub{color:var(--fg-2);font-size:13.5px;margin:0 0 16px;line-height:1.5}
.lead-form label{display:block;font-family:var(--mono);font-size:12px;color:var(--fg-3);letter-spacing:.04em;margin:12px 0 5px}
.lead-form input,.lead-form textarea{width:100%;background:var(--bg);border:1px solid var(--line-2);border-radius:6px;padding:10px 12px;color:var(--fg);font-family:var(--sans);font-size:14px}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--accent)}
.lead-form textarea{min-height:84px;resize:vertical}
.lead-form .submit{margin-top:18px;width:100%;font-family:var(--mono);font-size:13px;letter-spacing:.03em;padding:12px;border-radius:4px;background:var(--accent);color:var(--bg);border:1px solid var(--accent);font-weight:700;cursor:pointer;transition:.15s}
.lead-form .submit:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
.lead-form .submit:disabled{opacity:.6;cursor:default}
.lead-err{color:var(--accent-2);font-size:12.5px;margin-top:10px;display:none}
.lead-fine{font-family:var(--mono);font-size:12px;color:var(--fg-3);margin-top:14px;letter-spacing:.03em}

/* === founders band (2026-06-22) === */
.founders{padding:46px 0;border-bottom:1px solid var(--line)}
.founders h2{margin-bottom:28px}
.founders-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:760px){.founders-grid{grid-template-columns:1fr}}
.founders .f{display:flex;gap:16px;align-items:flex-start}
.founders .av{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;color:var(--bg);font-size:17px;flex-shrink:0}
.founders .fbody h3{font-family:var(--display);font-weight:600;font-size:18px;color:var(--fg);margin:0 0 6px;letter-spacing:-.01em}
.founders .frole{font-family:var(--mono);font-size:12px;color:var(--fg-3);font-weight:400;letter-spacing:.02em}
.founders .fbody p{font-size:14px;color:var(--fg-2);line-height:1.55;margin:0}
.founders-line{margin-top:26px;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--fg-2);max-width:64ch}
.card.feat{border-top:2px solid var(--accent)}
.hero[data-mark]::after{content:attr(data-mark)}

/* ============================================================
   IRENE-DECK PORT · v2 typography + Irish-motif utilities (2026-06-29)
   Display = Instrument Serif (weight 400 only); body = Space Grotesk;
   data/labels = JetBrains Mono; pull-quotes = Cormorant Garamond italic.
   ============================================================ */

/* === display-type refresh (Instrument Serif is weight-400 only) === */
.hero h1,
.post-hero h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(44px,5.4vw,62px);line-height:1.02;letter-spacing:-.01em;
  max-width:18ch;
}
h2{
  font-family:var(--display);font-weight:400;
  font-size:clamp(32px,3.6vw,44px);letter-spacing:-.005em;line-height:1.08;
  max-width:24ch;
}
.post-card h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.01em;line-height:1.12}
.hero::after{font-family:var(--display);font-weight:400;opacity:.06}
.hero .lede,.post-dek{font-family:var(--serif);font-style:italic;line-height:1.35}

/* === gradient field — dual radial (verdigris top-right + aged-gold bottom-left) === */
.gradient-field{position:relative;isolation:isolate}
.gradient-field::before{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(circle at 88% 0%, rgba(63,174,132,0.10), transparent 50%),
    radial-gradient(circle at 0% 110%, rgba(224,163,58,0.08), transparent 60%);
}

/* === glow-card — 1px outline + soft 24px blur shadow (Irene deck mechanic) === */
.glow-card{border:1px solid var(--line-2);background:var(--bg-2);transition:.18s;border-radius:6px}
.glow-card:hover{border-color:var(--green);box-shadow:0 0 24px rgba(63,174,132,0.18)}
.glow-green{border:1px solid var(--green);box-shadow:0 0 28px rgba(63,174,132,0.22)}
.glow-amber{border:1px solid var(--amber);box-shadow:0 0 28px rgba(224,163,58,0.20)}

/* === forged-steel rules — precision framing for measurement / numbers === */
.steel-rule{border-top:1px solid var(--steel);opacity:.55}
.steel-rule-soft{border-top:1px dashed var(--steel);opacity:.35}
.term .head{border-bottom-color:var(--steel);color:var(--green)}
.term .row{border-bottom:1px dashed rgba(138,150,144,0.35)}

/* === coach-name watermark — large faint text behind vertical-card content === */
.coach-watermark{position:relative;isolation:isolate}
.coach-watermark::before{
  content:attr(data-coach);
  position:absolute;right:-6%;bottom:-18%;z-index:-1;pointer-events:none;
  font-family:var(--display);font-weight:400;font-style:italic;
  font-size:min(22vw,260px);line-height:.8;letter-spacing:-.04em;
  color:var(--green);opacity:.04;white-space:nowrap;text-transform:uppercase;
}
.coach-watermark[data-vert="health"]::before{color:var(--rowan);opacity:.045}
.coach-watermark[data-vert="wealth"]::before{color:var(--green);opacity:.05}
.coach-watermark[data-vert="wisdom"]::before{color:var(--teal);opacity:.045}

/* === Solomon-knot divider — aged-gold 1px stroke, centered, 3× per page max === */
.knot-divider{display:flex;align-items:center;justify-content:center;gap:18px;margin:24px auto;max-width:480px}
.knot-divider::before,.knot-divider::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,var(--amber) 50%,transparent)}
.knot-divider svg{flex-shrink:0;width:36px;height:36px;opacity:.85}
.knot-divider svg *{stroke:var(--amber);stroke-width:1.2;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* === editorial flourishes: gilt eyebrows, verdigris kicker accents === */
.kicker{color:var(--green)}
.slabel{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;font-size:11px;color:var(--fg-3)}
.slabel .idx{color:var(--amber)}
.proof{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;font-size:10.5px;color:var(--fg-3)}
.proof span:hover{color:var(--green)}

/* === pricing big-number stays mono; soften with steel rule above === */
.tier .pr{font-family:var(--mono);letter-spacing:-.01em;color:var(--fg)}
.tier .nm{color:var(--amber);letter-spacing:.16em;font-size:10.5px}

/* === hero terminal-card refresh — green head, steel dividers === */
.term{border-color:var(--line-2)}
.term .quote{font-family:var(--serif);font-style:italic;color:var(--fg-2);border-top-color:var(--steel)}

/* === pull-quote register — Cormorant italic, gilt left-rule === */
.bio-body .pull,.franklin .quote-big{font-family:var(--serif);font-style:italic;border-left-color:var(--amber)}
.hook{font-family:var(--serif);font-style:italic;border-left-color:var(--amber)}

/* === Buttons — verdigris primary, steel ghost, rowan rare-CTA === */
.btn{background:var(--green);border-color:var(--green);color:var(--bg);letter-spacing:.10em;text-transform:uppercase;font-weight:600;font-size:11px}
.btn:hover{background:var(--green-deep);border-color:var(--green-deep)}
.btn.ghost{background:transparent;border-color:var(--steel);color:var(--fg)}
.btn.ghost:hover{border-color:var(--green);color:var(--green);background:rgba(63,174,132,0.06)}
.btn.rare{background:var(--rowan);border-color:var(--rowan)}
.btn.rare:hover{background:#b9412c;border-color:#b9412c}

/* === light section refresh — cream-on-forest harmony === */
section.light .etymology .big,section.light .franklin .quote-big{color:var(--fg-on-light)}
section.light .pillar h3{font-family:var(--display);font-weight:400}

/* === Founders avatars — verdigris+gold gradient (was amber+coral) === */
.founders .av,.bio-sidebar .av{background:linear-gradient(135deg,var(--green) 0%,var(--amber) 100%)}

/* === Mobile guard — watermarks scale down, knot dividers shrink === */
@media(max-width:720px){
  .coach-watermark::before{font-size:min(34vw,180px);opacity:.05}
  .knot-divider{margin:18px auto;max-width:280px}
  .knot-divider svg{width:28px;height:28px}
  .hero h1,.post-hero h1{font-size:clamp(34px,7vw,46px)}
  h2{font-size:clamp(24px,5vw,32px)}
}

/* === post-launch tweaks 2026-06-29 (Jim review #1) === */

/* hero-lex — Fianna definition replaces cost-comparison terminal in hero right column */
.hero-lex{margin:8px 0 0;padding:8px 0 8px 28px;max-width:none}
.hero-lex .hw{font-size:clamp(32px,3.4vw,42px);color:var(--green);letter-spacing:-.02em}
.hero-lex .pron{font-size:14px;color:var(--fg-3);margin-left:12px}
.hero-lex .pos{font-size:11px;letter-spacing:.18em;margin:14px 0 18px}
.hero-lex .def{font-family:var(--serif);font-style:italic;font-size:clamp(19px,1.7vw,22px);color:var(--fg-2);line-height:1.5}
.hero-lex .here{font-size:15px;margin-top:18px;color:var(--fg-3);opacity:.85}

/* coach cards (verticals section) — align CTA to bottom across all three */
.cards3{align-items:stretch}
.card.coach{display:flex;flex-direction:column}
.card.coach .cgo{margin-top:auto}

/* Nav "Get in touch" CTA — force black-on-verdigris (overrides .topbar .right a color rule) */
.topbar .right a.btn.cta,
.topbar .right a.btn{color:var(--bg) !important;font-weight:700}
.topbar .right a.btn.cta:hover,
.topbar .right a.btn:hover{color:var(--bg) !important;background:var(--green-deep);border-color:var(--green-deep)}
