/* ============================================================
   Biznis Klinika — production stylesheet
   Single source of truth. Tokens mirror the brand book (v3.0).
   ============================================================ */

:root{
  /* Brand palette — designer guideline (authoritative) */
  --green:#84B46E;   /* PRIMARY */
  --blue:#ADE0ED;    /* PRIMARY */
  --ink:#030404;     /* PRIMARY (black) */
  --white:#FFFFFF;   /* PRIMARY */
  --yellow:#F4B519;  /* SECONDARY */
  --red:#E54E4E;     /* SECONDARY */
  /* Derived utility (legibility / surfaces) */
  --green-deep:#3E6A33; --green-tint:#EFF5EA;
  --blue-deep:#2C7A9E;  --blue-tint:#E9F6FA;
  --border:#E7E9E3; --muted:#6B7168; --paper:#FFFFFF; --paper-2:#FAFBF9;
  /* Type — single family */
  --font:'Manrope',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  /* Shape */
  --r-card:18px; --r-pill:999px; --r-input:12px;
  --shadow-sm:0 1px 2px rgba(3,4,4,.05),0 1px 3px rgba(3,4,4,.06);
  --shadow-md:0 8px 22px rgba(3,4,4,.07),0 2px 6px rgba(3,4,4,.05);
  --shadow-lg:0 18px 48px rgba(3,4,4,.10),0 6px 14px rgba(3,4,4,.06);
  /* Spacing scale */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:28px;--s7:40px;--s8:52px;--s9:72px;--s10:96px;
  --maxw:1120px;
  /* Component small-type ladder — canonical sizes for cards/lists/meta */
  --fs-body:1.02rem;   /* component body text */
  --fs-meta:.9rem;     /* labels, captions, meta */
  --fs-title:1.12rem;  /* standard card title */
  --fs-title-lg:1.25rem; /* featured card title */
  --lh-body:1.6;
  /* Sticky-nav height (shrinks on desktop scroll) */
  --nav-h:74px;
}
@media(min-width:901px){
  html.is-scrolled{--nav-h:64px}
}
/* Anchor targets clear the sticky header */
[id]{scroll-margin-top:calc(var(--nav-h) + 16px)}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.62;font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:var(--green-deep);text-decoration:none}
a:hover{text-decoration:underline}
.data{font-variant-numeric:tabular-nums;letter-spacing:-.01em}

/* Layout */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s5)}
.section{padding:var(--s8) 0}
.section--tight{padding:var(--s7) 0}
@media(max-width:640px){.section{padding:var(--s7) 0}}

/* Type helpers */
.eyebrow{font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep);display:inline-block;margin-bottom:var(--s4)}
.eyebrow--light{color:rgba(255,255,255,.65)}
h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.1;font-weight:800}
.h-xl{font-size:clamp(2.4rem,5.5vw,4rem);letter-spacing:-.03em;line-height:1.02}
.h-lg{font-size:clamp(2rem,3.8vw,2.9rem)}
.h-md{font-size:1.35rem;font-weight:700}
.lead{font-size:clamp(1.12rem,1.7vw,1.3rem);color:var(--muted);line-height:1.55}
.muted{color:var(--muted)}

/* ---------- Header / nav ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border);transition:box-shadow .2s ease,border-color .2s ease}
@media(min-width:901px){
  html.is-scrolled .site-header{border-bottom-color:transparent;box-shadow:0 4px 14px rgba(3,4,4,.06)}
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);height:var(--nav-h);transition:height .2s ease}
.nav__logo img{height:38px;width:auto}
.nav__links{display:flex;align-items:center;gap:var(--s6);list-style:none}
.nav__links a{color:var(--ink);font-weight:600;font-size:.95rem}
.nav__links a:hover{color:var(--green-deep);text-decoration:none}
/* Dropdown (Programs) */
.nav__item--drop{position:relative}
.nav__drop-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;font-size:.95rem;background:none;border:0;font-family:var(--font);cursor:pointer;padding:0}
.nav__drop-toggle::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);display:inline-block;margin-left:2px}
.nav__drop-toggle:hover{color:var(--green-deep)}
.nav__drop{position:absolute;top:100%;left:-16px;min-width:280px;background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-md);padding:8px;list-style:none;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s;z-index:60}
.nav__item--drop:hover .nav__drop,.nav__item--drop:focus-within .nav__drop,.nav__drop.open{opacity:1;visibility:visible;transform:translateY(0)}
.nav__drop a{display:block;padding:10px 12px;border-radius:10px;font-weight:600;font-size:.95rem;color:var(--ink);white-space:normal;line-height:1.35}
.nav__drop a:hover{background:var(--green-tint);text-decoration:none;color:var(--ink)}
/* Mobile group heading in nav__panel */
.nav__panel .nav__group-h{display:block;padding:14px 8px 4px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep);font-weight:700}
.nav__panel .nav__sub{padding-left:8px;border-left:2px solid var(--green-tint);margin-left:8px}
.nav__right{display:flex;align-items:center;gap:var(--s4)}
.nav__toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;width:44px;height:44px}
.nav__toggle span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
.nav__toggle span+span{margin-top:5px}
@media(max-width:900px){
  .nav__links,.nav__right .btn{display:none}
  .nav__toggle{display:block}
  .nav__panel{position:fixed;inset:var(--nav-h) 0 auto 0;background:var(--white);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);transform:translateY(-120%);transition:transform .25s ease;padding:var(--s5)}
  .nav__panel.open{transform:translateY(0)}
  .nav__panel ul{list-style:none;display:flex;flex-direction:column;gap:var(--s2)}
  .nav__panel a{display:block;padding:14px 8px;font-weight:600;font-size:1.05rem;color:var(--ink);border-radius:10px}
  .nav__panel a:hover{background:var(--green-tint);text-decoration:none}
  .nav__panel .btn{display:inline-flex;margin-top:var(--s3);width:100%;justify-content:center}
}
@media(min-width:901px){.nav__panel{display:none}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-weight:700;font-size:.95rem;line-height:1;padding:14px 26px;border-radius:var(--r-pill);border:1.6px solid transparent;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px);text-decoration:none}
.btn--primary{background:var(--green);color:var(--ink);box-shadow:var(--shadow-sm)}
.btn--primary:hover{box-shadow:var(--shadow-md)}
.btn--dark{background:var(--ink);color:var(--white)}
.btn--dark:hover{background:#1a1c1a}
.btn--secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--secondary:hover{background:var(--ink);color:var(--white)}
.btn--ghost{background:transparent;color:var(--green-deep);border-color:var(--border)}
.btn--ghost:hover{border-color:var(--green)}
.btn--on-ink{background:var(--green);color:var(--ink)}
.btn-row{display:flex;gap:var(--s4);flex-wrap:wrap;align-items:center}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:var(--s10) 0 var(--s9)}
.hero__pulse{position:absolute;left:0;right:0;bottom:-12px;width:100%;height:88px;opacity:.12;pointer-events:none;z-index:0}
.hero__pulse path{stroke:var(--green);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.hero .wrap{position:relative;z-index:2}
.hero__inner{max-width:760px}
.hero h1{margin-bottom:var(--s5)}
.hero .lead{max-width:56ch;margin-bottom:var(--s6)}
.hero .btn-row{margin-bottom:var(--s7)}
.stats{display:flex;flex-wrap:wrap;gap:var(--s6);border-top:1px solid var(--border);padding-top:var(--s5);position:relative;z-index:2;background:transparent;max-width:760px}
.stat__n{font-weight:800;font-size:1.8rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:block}
.stat__l{font-size:.85rem;color:var(--ink);opacity:.72}
@media(max-width:640px){.hero{padding:var(--s8) 0 var(--s7)}.stats{gap:var(--s5)}}

/* ---------- Section header ---------- */
.sec-head{max-width:64ch;margin-bottom:var(--s6)}
.sec-head .lead{margin-top:var(--s4)}

/* ---------- Grids ---------- */
.grid{display:grid;gap:var(--s5)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* ---------- Cards / tiles ---------- */
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s5);box-shadow:var(--shadow-sm)}
.tile h3{font-size:1.05rem;font-weight:700;margin-bottom:var(--s2);display:flex;gap:10px;align-items:baseline}
.tile__no{font-weight:800;font-size:.9rem;color:var(--green-deep);font-variant-numeric:tabular-nums}
.tile p{color:var(--muted);font-size:1rem}

/* Arm cards */
.arm{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s5);box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.arm:hover,.arm:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#D4E4C8;text-decoration:none}
.arm__tag{font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green-deep);margin-bottom:var(--s3)}
.arm h3{font-size:1.25rem;margin-bottom:var(--s3)}
.arm p{color:var(--muted);font-size:1rem;flex:1}
.arm__cta{margin-top:var(--s5);font-weight:700;color:var(--ink);display:inline-flex;gap:6px}
.arm:hover .arm__cta{color:var(--green-deep)}

/* ---------- Ink band ---------- */
.band-ink{background:var(--ink);color:var(--white);border-radius:var(--r-card)}
.band-ink .q{font-weight:800;font-size:clamp(1.7rem,3.2vw,2.3rem);letter-spacing:-.02em;line-height:1.18;max-width:100%;margin:0 auto}
.band-ink .a{color:rgba(255,255,255,.72);max-width:60ch;margin:var(--s5) auto 0;font-size:1.05rem}
.band-ink .a b{color:var(--green);font-weight:800}
.band-ink__inner{max-width:820px;margin:0 auto;text-align:center;padding:var(--s8) var(--s6)}
@media(max-width:640px){.band-ink__inner{padding:var(--s6) var(--s5)}}

/* ---------- Steps ---------- */
.steps{counter-reset:st;display:grid;gap:var(--s5)}
.step{display:grid;grid-template-columns:56px 1fr;gap:var(--s4);align-items:start;padding:var(--s5) 0;border-top:1px solid var(--border)}
.step:first-child{border-top:0}
.step::before{counter-increment:st;content:counter(st);font-weight:800;font-size:1.4rem;color:var(--green-deep);font-variant-numeric:tabular-nums}
.step h4{font-size:1.1rem;font-weight:700;margin-bottom:4px}
.step p{color:var(--muted);font-size:.95rem}

/* ---------- Closer ---------- */
.closer{text-align:center;background:var(--green-tint);border-radius:var(--r-card);padding:var(--s7) var(--s6)}
.closer h2{max-width:20ch;margin:0 auto var(--s4)}
.closer .lead{max-width:52ch;margin:0 auto var(--s6)}
.closer .btn-row{justify-content:center}

/* ---------- Signal chips ---------- */
.chip-sig{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.85rem;padding:7px 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--white)}
.chip-sig .d{width:10px;height:10px;border-radius:50%}

/* ---------- Fit / not-fit ---------- */
.fit{border-radius:var(--r-card);padding:var(--s5);border:1px solid var(--border);list-style:none}
.fit.yes{background:var(--green-tint)}
.fit.no{background:var(--white)}
.fit h4{font-weight:700;font-size:1rem;margin-bottom:var(--s4)}
.fit ul{list-style:none;margin:0;padding:0}
.fit li{padding:5px 0 5px 26px;position:relative;font-size:.92rem}
.fit.yes li::before{content:"✓";position:absolute;left:0;color:var(--green-deep);font-weight:800}
.fit.no li::before{content:"–";position:absolute;left:0;color:var(--muted);font-weight:800}

/* ---------- Note ---------- */
.note{font-size:.85rem;color:var(--muted);font-style:italic;margin-top:var(--s4)}

/* ---------- Section band helpers ---------- */
.band-green{background:var(--green-tint)}
.band-blue{background:var(--blue-tint)}

/* ---------- Numbered emphasis cards (six themes) ---------- */
.num-card{position:relative;background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s6) var(--s5) var(--s5);box-shadow:var(--shadow-sm);overflow:hidden}
.num-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green)}
.num-card__no{display:inline-block;font-weight:800;font-size:.85rem;letter-spacing:.06em;color:var(--green-deep);font-variant-numeric:tabular-nums;margin-bottom:var(--s2)}
.num-card h3{font-size:1.1rem;font-weight:700;margin-bottom:var(--s2);line-height:1.25}
.num-card p{color:var(--muted);font-size:.95rem;line-height:1.55}

/* ---------- Highlighted gets-panel (What you get) ---------- */
.gets-panel{background:var(--green-tint);border:1px solid #D4E4C8;border-radius:var(--r-card);padding:var(--s7) var(--s6)}
.gets-panel h3{font-size:1.15rem;font-weight:800;margin-bottom:var(--s5);letter-spacing:-.01em}
.gets-panel ul{list-style:none;display:grid;gap:10px;padding:0}
.gets-panel li{position:relative;padding:6px 0 6px 28px;font-size:.98rem;line-height:1.5;color:var(--ink)}
.gets-panel li::before{content:"✓";position:absolute;left:0;top:6px;color:var(--green-deep);font-weight:800}
@media(min-width:640px){.gets-panel ul{grid-template-columns:1fr 1fr;column-gap:var(--s6)}}

/* ---------- Yellow accent (one moment per page) ---------- */
.accent-yellow{position:relative;border-left:4px solid var(--yellow);padding-left:var(--s5)}
.accent-yellow--panel{border-left:0;position:relative;padding-top:var(--s3)}
.accent-yellow--panel::before{content:"";position:absolute;left:var(--s6);top:0;height:4px;width:56px;background:var(--yellow);border-radius:var(--r-pill)}

/* ---------- Callout (single strongest line) ---------- */
.callout{font-weight:800;font-size:clamp(1.4rem,2.6vw,1.8rem);letter-spacing:-.02em;line-height:1.25;color:var(--ink);max-width:36ch;margin:var(--s6) 0}

/* ---------- Article page (single resource) ---------- */
.article{max-width:720px;margin:0 auto;padding:var(--s8) 0 var(--s7)}
.article__back{display:inline-block;font-weight:600;color:var(--green-deep)}
.article__meta{font-size:.85rem;color:var(--muted);letter-spacing:.02em;margin-top:var(--s5);margin-bottom:var(--s3)}
.article__title{font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-bottom:var(--s5)}
.article__lead{color:var(--muted);font-size:1.05rem;line-height:1.6;margin-bottom:var(--s7);border-bottom:1px solid var(--border);padding-bottom:var(--s5)}
.article__body{font-family:var(--font);font-weight:400;font-size:1.05rem;line-height:1.75;color:var(--ink)}
.article__body p{margin-bottom:var(--s5)}
.article__closer{margin-top:var(--s8)}

/* .bk-article — long-form body content for imported articles */
.bk-article{color:var(--ink);font-family:var(--font);font-size:1.05rem;line-height:1.75}
.bk-article p{margin:0 0 1em}
.bk-article h2{margin:1.7em 0 .5em;font-size:1.35em;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.bk-article h3{margin:1.4em 0 .35em;font-size:1.1em;font-weight:700;line-height:1.35}
.bk-article ul{margin:0 0 1.1em 1.4em}
.bk-article li{margin:.4em 0}
.bk-article a{color:var(--green-deep);font-weight:600}
.bk-figure{margin:1.6em 0}
.bk-figure svg{width:100%;height:auto;display:block}
.bk-figure figcaption{font-size:.88em;color:var(--muted);margin-top:.5em}
.bk-callout{background:var(--blue-tint);border-left:4px solid var(--green);border-radius:var(--r-card);padding:1em 1.2em;margin:1.5em 0}
.bk-callout p{margin:0}
.bk-cta{background:var(--green-tint);border:1px solid var(--green);border-radius:var(--r-card);padding:1.1em 1.2em;margin:2em 0 0;font-weight:500}
.bk-cta a{color:var(--ink);font-weight:700}

/* ---------- Blog chip filter ---------- */
.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--s6)}
.chip-filter{display:inline-flex;align-items:center;font-family:var(--font);font-weight:600;font-size:.88rem;padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--white);color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.chip-filter:hover{border-color:var(--green)}
.chip-filter.is-active{background:var(--ink);color:var(--white);border-color:var(--ink)}

/* ---------- Sticky form progress ---------- */
.frc-progress{position:sticky;top:var(--nav-h);z-index:40;background:rgba(255,255,255,.94);backdrop-filter:saturate(140%) blur(8px);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s3) var(--s5);display:flex;align-items:center;gap:var(--s4);box-shadow:var(--shadow-sm)}
.frc-progress__bar{flex:1;height:6px;background:var(--paper-2);border:1px solid var(--border);border-radius:var(--r-pill);overflow:hidden}
.frc-progress__fill{height:100%;width:0;background:var(--green);border-radius:var(--r-pill);transition:width .18s ease}
.frc-progress__label{font-weight:700;font-size:.85rem;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:640px){.frc-progress{padding:var(--s2) var(--s4)}.frc-progress__label{font-size:.78rem}}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:var(--s3)}
.faq details{background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s4) var(--s5);box-shadow:var(--shadow-sm)}
.faq summary{cursor:pointer;font-weight:700;list-style:none;padding:var(--s2) 0;font-size:1rem;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:var(--s3)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:800;color:var(--green-deep);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);font-size:.95rem;margin-top:var(--s2);padding-bottom:var(--s2)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:rgba(255,255,255,.7);padding:var(--s9) 0 var(--s7)}
.site-footer img{height:34px;margin-bottom:var(--s5)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s6)}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
.footer-col h5{color:var(--white);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:var(--s4)}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col a{color:rgba(255,255,255,.7);font-weight:500}
.footer-col a:hover{color:var(--green);text-decoration:none}
.footer-col p{font-size:.95rem;max-width:34ch}
.footer-bottom{margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s4);font-size:.82rem}

/* ---------- Process band ("How we work") ---------- */
.process{display:grid;gap:var(--s5)}
.process__step{position:relative;z-index:1}
.process__step__no{display:inline-block;font-weight:800;font-size:1.5rem;color:var(--green-deep);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1;background:var(--paper);padding-right:12px;margin-bottom:var(--s3)}
.process__step h4{font-size:1.05rem;font-weight:700;margin-bottom:6px;letter-spacing:-.01em}
.process__step p{color:var(--muted);font-size:.94rem;line-height:1.55}
@media(min-width:820px){
  .process{grid-template-columns:repeat(4,1fr);gap:var(--s6);position:relative}
  .process--3{grid-template-columns:repeat(3,1fr)}
  .process::before{content:"";position:absolute;left:14px;right:14px;top:12px;height:1px;background:var(--border);z-index:0}
}
/* If the process band sits on a tinted section, override the number background inline. */

/* ---------- Stat / proof band ---------- */
.stat-band{background:var(--green-tint);border-radius:var(--r-card);padding:var(--s7) var(--s6)}
.stat-band__grid{display:grid;gap:var(--s6)}
@media(min-width:640px){.stat-band__grid{grid-template-columns:repeat(3,1fr)}}
.stat-band__n{font-weight:800;font-size:clamp(2.2rem,4vw,2.8rem);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1;display:block}
.stat-band__l{color:var(--muted);font-size:.95rem;margin-top:var(--s3);line-height:1.4;display:block;max-width:28ch}

/* ---------- Testimonial band ---------- */
.testimonials{display:grid;gap:var(--s5);grid-template-columns:1fr;max-width:680px;margin:0 auto;align-items:stretch}
@media(min-width:820px){
  .testimonials--2up{grid-template-columns:1fr 1fr;gap:var(--s6);max-width:960px}
  .testimonials--3up{grid-template-columns:1fr 1fr;gap:var(--s6);max-width:960px}
}
@media(min-width:1100px){
  .testimonials--3up{grid-template-columns:1fr 1fr 1fr;max-width:1200px}
}
.quote-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);padding:var(--s7) var(--s6);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%}
.quote-card__text{font-size:clamp(1.05rem,1.7vw,1.18rem);line-height:1.55;color:var(--ink);letter-spacing:-.005em;flex:1}
.quote-card__meta{margin-top:var(--s5);display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;font-weight:600;font-size:.92rem;color:var(--muted)}
.quote-card__score{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.78rem;letter-spacing:.02em;background:var(--green-tint);color:var(--green-deep);padding:4px 10px;border-radius:var(--r-pill);border:1px solid #D4E4C8}

/* ---------- Founder block ---------- */
.founder{display:grid;gap:var(--s6);align-items:center;grid-template-columns:1fr}
@media(min-width:720px){.founder{grid-template-columns:220px 1fr;gap:var(--s7)}}
.founder + .founder{margin-top:var(--s8)}
.founder__photo{aspect-ratio:1/1;background:var(--paper-2);border:1px solid var(--border);border-radius:var(--r-card);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.8rem;overflow:hidden}
.founder__photo img{width:100%;height:100%;object-fit:cover}
.founder__body h2,.founder__body h3{margin-bottom:var(--s2)}
.founder__body .lead{margin-top:var(--s3)}

/* ---------- Client-logos strip ---------- */
.logos-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s7);padding:var(--s5) 0;filter:grayscale(1);opacity:.7}
.logos-strip img{height:32px;width:auto;max-width:140px;object-fit:contain}

/* ---------- Reveal on scroll (opt-in) ---------- */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- A11y / motion ---------- */
:focus-visible{outline:3px solid var(--green-deep);outline-offset:2px;border-radius:4px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}

/* ---------- Contact modal (source-tagged; replaces Calendly) ---------- */
.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:var(--s6) var(--s4);overflow-y:auto}
.modal[hidden]{display:none}
.modal__scrim{position:fixed;inset:0;background:rgba(3,4,4,.55);animation:bk-modal-fade .18s ease}
.modal__panel{position:relative;z-index:1;background:var(--white);border-radius:var(--r-card);width:100%;max-width:480px;padding:var(--s6) var(--s5) var(--s5);box-shadow:var(--shadow-lg);animation:bk-modal-pop .22s ease;margin:auto}
.modal__close{position:absolute;top:8px;right:10px;background:none;border:0;font-size:1.6rem;line-height:1;padding:6px 10px;cursor:pointer;color:var(--muted);font-family:var(--font)}
.modal__close:hover{color:var(--ink)}
.modal__panel > h2{margin-bottom:var(--s2)}
.modal__sub{font-size:.95rem;margin-bottom:var(--s5)}
.modal__form{display:grid;gap:var(--s3)}
.modal__form .field{display:grid;gap:6px}
.modal__form label{font-weight:600;font-size:.9rem;color:var(--ink)}
.modal__form input,.modal__form textarea{font-family:var(--font);font-size:1rem;color:var(--ink);background:var(--white);border:1px solid var(--border);border-radius:var(--r-input);padding:10px 12px;width:100%}
.modal__form input:focus,.modal__form textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(132,180,110,.25)}
.modal__form textarea{min-height:96px;resize:vertical}
.modal__form .honey{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.modal__form .form__opt{color:var(--muted);font-weight:500;font-size:.85rem}
.modal__form .btn-row{margin-top:var(--s3);justify-content:flex-end}
.modal__status{font-size:.9rem;color:var(--muted);min-height:1.4em;margin:0}
.modal__status[data-state="ok"]{color:var(--green-deep)}
.modal__status[data-state="err"]{color:var(--red)}
body.bk-modal-open{overflow:hidden}
@keyframes bk-modal-fade{from{opacity:0}to{opacity:1}}
@keyframes bk-modal-pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.modal__scrim,.modal__panel{animation:none}}
@media(max-width:480px){.modal{padding:var(--s4) var(--s3)}.modal__panel{padding:var(--s5) var(--s4)}}

/* ---------- Type & card harmonization (TYPE_HARMONIZATION.md) ---------- */
/* Component body text → --fs-body (raise scattered .92–1.0 sizes) */
.num-card p{font-size:var(--fs-body);line-height:var(--lh-body)}
.process__step p{font-size:var(--fs-body);line-height:var(--lh-body)}
.tile p{font-size:var(--fs-body)}
.arm p{font-size:var(--fs-body)}
.fit li{font-size:var(--fs-body)}
.gets-panel li{font-size:var(--fs-body)}
.faq details p{font-size:var(--fs-body)}
.step p{font-size:var(--fs-body)}
.card--prose p{font-size:var(--fs-body);line-height:var(--lh-body)}

/* Meta / labels → --fs-meta (raise from .82–.88) */
.stat__l{font-size:var(--fs-meta)}
.stat-band__l{font-size:var(--fs-meta)}
.article__meta{font-size:var(--fs-meta)}
.bk-figure figcaption{font-size:var(--fs-meta)}
.note{font-size:var(--fs-meta)}
.quote-card__meta{font-size:var(--fs-meta)}

/* Card titles → two sizes only */
.num-card h3{font-size:var(--fs-title)}
.tile h3{font-size:var(--fs-title)}
.step h4{font-size:var(--fs-title)}
.process__step h4{font-size:var(--fs-title)}
.faq summary{font-size:var(--fs-title)}
.arm h3{font-size:var(--fs-title-lg)}
.gets-panel h3{font-size:var(--fs-title-lg)}
/* .h-md stays 1.35rem as the section-sub heading — it's a heading, not a card title */

/* Card padding + equal heights (one interior standard) */
.card,.arm{padding:var(--s5)}
.num-card{padding:var(--s5)}
.num-card,.arm,.tile{height:100%}
/* Consistent title → body gap inside every card */
.num-card h3,.tile h3,.arm h3{margin-bottom:var(--s2)}
.num-card__no{margin-bottom:var(--s2)}

/* Nav — stop the wrapping */
.nav__links a,.nav__drop-toggle{white-space:nowrap}
@media(min-width:901px) and (max-width:1080px){.nav__links{gap:var(--s4)}}

/* Centered CTA-style content sections (matches .closer alignment) */
.cta-band{text-align:center}
.cta-band .sec-head{margin-inline:auto}
.cta-band .btn-row{justify-content:center}

/* ---------- Batch A utilities (AUDIT_REPORT.md Phase 2) ---------- */
.section--paper2{background:var(--paper-2)}
.sec-head--center{text-align:center;margin-left:auto;margin-right:auto}
.eyebrow--center{text-align:center;display:block}
.related-resources .btn-row{margin-top:var(--s6)}
.fit--cols2{columns:2;column-gap:var(--s6)}
@media(max-width:640px){.fit--cols2{columns:1}}
.card--prose{max-width:68ch;margin-inline:auto}
.h-md--sub{margin-bottom:var(--s5)}
.band-ink__inner .eyebrow + .q{margin-top:var(--s3)}
.intro-panel{max-width:720px;margin-inline:auto;text-align:center;padding:var(--s7) var(--s6);background:var(--paper-2);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-sm)}
.intro-panel p{margin:0 0 var(--s4)}
.intro-panel p:last-child{margin-bottom:0}
@media(max-width:640px){.intro-panel{padding:var(--s6) var(--s5)}}
.app-frame{max-width:960px;margin:var(--s6) auto 0;padding:var(--s4);background:var(--paper-2);border:1px solid var(--border);border-radius:calc(var(--r-card) + 6px);box-shadow:var(--shadow-md)}
.app-frame .app-shot{display:block;width:100%;height:auto;margin:0;border:1px solid var(--border);border-radius:var(--r-card);box-shadow:none}
@media(max-width:640px){.app-frame{padding:var(--s3);margin-top:var(--s5)}}
