/* Flowstack website. Same design language as the call proposal: warm paper, navy ink, gold accent,
   Bodoni Moda display, Hanken Grotesk body, Geist Mono labels. No framework, no build step for CSS. */
@font-face{font-family:"Bodoni Moda";font-weight:600;font-display:swap;src:url("/assets/fonts/bodoni-moda-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:500;font-display:swap;src:url("/assets/fonts/bodoni-moda-latin-500-italic.woff2") format("woff2");}
@font-face{font-family:"Hanken Grotesk";font-weight:400;font-display:swap;src:url("/assets/fonts/hanken-grotesk-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Hanken Grotesk";font-weight:600;font-display:swap;src:url("/assets/fonts/hanken-grotesk-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Hanken Grotesk";font-weight:700;font-display:swap;src:url("/assets/fonts/hanken-grotesk-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"Geist Mono";font-weight:400;font-display:swap;src:url("/assets/fonts/geist-mono-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Geist Mono";font-weight:500;font-display:swap;src:url("/assets/fonts/geist-mono-latin-500-normal.woff2") format("woff2");}

:root{
  --paper:oklch(0.976 0.006 90); --paper-2:oklch(0.948 0.010 84); --card:oklch(0.995 0.003 92);
  --ink:oklch(0.24 0.035 252); --ink-2:oklch(0.38 0.030 252); --ink-3:oklch(0.46 0.026 252);
  --line:oklch(0.895 0.012 86); --line-2:oklch(0.83 0.016 86);
  --gold:oklch(0.755 0.125 82); --gold-soft:oklch(0.93 0.05 85); --gold-ink:oklch(0.50 0.11 70);
  --teal:oklch(0.62 0.12 168); --teal-soft:oklch(0.95 0.035 168); --teal-deep:oklch(0.45 0.10 172); --teal-ink:oklch(0.44 0.10 172);
  --rust-soft:oklch(0.95 0.03 45); --rust-ink:oklch(0.47 0.13 40);
  --navy:oklch(0.235 0.035 252); --navy-2:oklch(0.305 0.038 250); --on-navy:oklch(0.94 0.012 86); --on-navy-2:oklch(0.84 0.018 86);
  --fd:"Bodoni Moda",Georgia,serif; --fb:"Hanken Grotesk",system-ui,sans-serif; --fm:"Geist Mono",ui-monospace,Consolas,monospace;
  --r:16px; --wrap:1200px; --gut:clamp(18px,4.5vw,56px);
  --sh-1:0 1px 2px oklch(0.24 0.035 252/.05),0 6px 16px -8px oklch(0.24 0.035 252/.14);
  --sh-2:0 1px 2px oklch(0.24 0.035 252/.06),0 14px 36px -18px oklch(0.24 0.035 252/.26);
  --ease:cubic-bezier(.16,1,.3,1);
  --wa:#0e7a3e;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px;}
body{font:400 clamp(16.5px,.95rem + .15vw,18px)/1.65 var(--fb);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;}
img,svg{max-width:100%;display:block;}
a{color:var(--teal-ink);text-underline-offset:3px;}
a:hover{color:var(--ink);}
:focus-visible{outline:3px solid var(--gold-ink);outline-offset:3px;border-radius:4px;}
.skip{position:absolute;left:12px;top:-60px;background:var(--navy);color:var(--on-navy);padding:10px 16px;border-radius:8px;z-index:100;}
.skip:focus{top:12px;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);}
.wrap-narrow{max-width:var(--wrap);margin-left:auto;margin-right:auto;padding-left:var(--gut);padding-right:var(--gut);}
.wrap-narrow > *{max-width:760px;}

/* type */
h1,h2,h3{color:var(--ink);text-wrap:balance;}
h1{font:600 clamp(2.3rem,1.45rem + 2.9vw,3.9rem)/1.07 var(--fd);letter-spacing:-.012em;}
.nw{white-space:nowrap;}
h2{font:600 clamp(1.75rem,1.3rem + 1.6vw,2.55rem)/1.15 var(--fd);letter-spacing:-.01em;}
h3{font:700 1.15rem/1.3 var(--fb);}
h1 em{font-style:italic;font-weight:500;color:var(--gold-ink);}
h2 em{font-style:normal;font-weight:inherit;color:inherit;}
p{max-width:66ch;}
.lede{font-size:clamp(1.08rem,1rem + .4vw,1.28rem);color:var(--ink-2);margin-top:18px;line-height:1.55;}
.eyebrow{font:600 .95rem/1.3 var(--fb);color:var(--gold-ink);}
.fine{font-size:.9rem;color:var(--ink-3);}
.checked{font-size:.88rem;color:var(--ink-3);margin-top:14px;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:10px;font:700 .95rem/1.1 var(--fb);text-decoration:none;border:1px solid transparent;transition:transform .15s var(--ease),box-shadow .2s var(--ease),background .2s;cursor:pointer;white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--navy);color:var(--on-navy);border-color:var(--navy);}
.btn-primary:hover{background:var(--navy-2);color:var(--on-navy);box-shadow:var(--sh-1);}
.bg-navy .btn-primary,.cta-check .btn-primary{background:var(--gold);color:var(--navy);border-color:var(--gold);}
.bg-navy .btn-primary:hover,.cta-check .btn-primary:hover{background:oklch(0.8 0.12 82);color:var(--navy);}
.btn-navy{background:var(--navy);color:var(--on-navy);}
.btn-navy:hover{background:var(--navy-2);color:var(--on-navy);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2);}
.btn-ghost:hover{color:var(--ink);border-color:var(--ink-3);background:var(--card);}
.btn-ghost-light{background:transparent;color:var(--on-navy);border-color:oklch(1 0 0/.35);}
.btn-ghost-light:hover{color:#fff;border-color:oklch(1 0 0/.7);}
.btn-wa{background:var(--wa);color:#fff;}
/* floating WhatsApp: darker WhatsApp green so white text keeps 4.5:1 */
.wa-float{position:fixed;right:clamp(16px,2.4vw,28px);bottom:clamp(16px,2.4vw,28px);z-index:56;display:inline-flex;align-items:center;gap:10px;padding:12px 20px 12px 14px;border-radius:999px;background:var(--wa);color:#fff;text-decoration:none;font:700 .95rem/1 var(--fb);box-shadow:0 14px 34px -12px oklch(0.35 0.1 150/.6),0 2px 6px oklch(0.25 0.05 150/.2);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s;}
.wa-float svg{width:26px;height:26px;fill:currentColor;flex:none;}
.wa-float:hover{color:#fff;background:oklch(0.47 0.12 150);transform:translateY(-2px);box-shadow:0 18px 40px -12px oklch(0.35 0.1 150/.7),0 2px 6px oklch(0.25 0.05 150/.2);}
.wa-float:active{transform:translateY(0);}
.btn-lg{padding:15px 26px;font-size:1.02rem;}

/* header */
.top{position:sticky;top:0;z-index:50;background:oklch(0.976 0.006 90/.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);}
.top-in{display:flex;align-items:center;justify-content:space-between;height:68px;}
.brand{display:inline-flex;align-items:center;gap:10px;font:600 1.3rem var(--fd);color:var(--ink);text-decoration:none;}
.brand .mark{width:30px;height:30px;border-radius:8px;background:var(--navy);color:var(--gold);display:grid;place-items:center;font:500 italic 1.05rem var(--fd);}
.brand-light{color:var(--on-navy);}
.brand-light .mark{background:var(--gold);color:var(--navy);}
.nav-desk{display:flex;align-items:center;gap:28px;}
.nav-desk ul,.menu ul{display:flex;gap:24px;list-style:none;}
.nav-desk ul a,.menu ul a{color:var(--ink-2);text-decoration:none;font-weight:600;font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent;}
.nav-desk ul a:hover,.nav-desk ul a[aria-current="page"],.menu ul a[aria-current="page"]{color:var(--ink);border-color:var(--gold);}
.menu{display:none;}
.menu summary{list-style:none;display:none;width:44px;height:44px;border-radius:10px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;}
.menu summary::-webkit-details-marker{display:none;}
.menu summary span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;}
@media (max-width:960px){
  .nav-desk{display:none;}
  .menu{display:block;}
  .menu nav{display:flex;}
  .menu summary{display:flex;}
  .menu[open] summary{background:var(--paper-2);}
  .menu nav{position:absolute;left:0;right:0;top:68px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px var(--gut) 20px;gap:12px;box-shadow:var(--sh-2);}
  .menu ul{flex-direction:column;gap:0;}
  .menu ul a{display:block;padding:12px 0;border-bottom:1px solid var(--line);}
}

/* sections */
section{padding:clamp(64px,8vw,112px) 0;}
.sec-head{max-width:760px;margin-bottom:clamp(28px,4vw,48px);}
.sec-head p{color:var(--ink-2);margin-top:14px;font-size:1.06rem;}
.bg-2{background:var(--paper-2);}
.bg-navy{background:var(--navy);color:var(--on-navy);}
.bg-navy h2,.bg-navy h3{color:var(--on-navy);}
.bg-navy p{color:var(--on-navy-2);}

/* hero */
.hero{padding:clamp(48px,7vw,96px) 0 clamp(56px,7vw,96px);overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(32px,5vw,72px);align-items:center;}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;align-items:center;}
.hero .gate{margin-top:14px;font-size:.92rem;color:var(--ink-3);}
.mt-12{margin-top:12px;}
.mt-cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;}
.price-pill{display:inline-flex;align-items:baseline;gap:10px;margin-top:26px;padding:10px 16px;border:1px solid var(--line-2);border-radius:12px;background:var(--card);}
.price-pill strong{font:600 1.5rem var(--fd);}
.price-pill span{font-size:.92rem;color:var(--ink-2);}
.channels{font-size:clamp(1.05rem,1rem + .35vw,1.22rem);color:var(--ink-2);margin-top:18px;max-width:60ch;}
.channels b{color:var(--ink);font-weight:600;}

/* artifact fan (hero) */
.fan{position:relative;height:clamp(420px,46vw,560px);font-size:9.5px;}
.fan > *{position:absolute;border-radius:12px;overflow:hidden;box-shadow:var(--sh-2);background:var(--card);border:1px solid var(--line);}
.fan .f-site{width:84%;left:0;top:0;height:60%;}
.fan .f-sheet{width:46%;right:0;top:20%;border-radius:6px;font-size:8.5px;}
.fan .f-place{width:46%;left:5%;bottom:0;border:0;}
.fan .f-sheet .sd{box-shadow:none;}
.fan .sx-links{display:none;}
.fan-fig{margin:0;}
.fan-fig figcaption{margin-top:16px;font-size:.9rem;color:var(--ink-3);}
.fan-fig figcaption b,.example figcaption b{color:var(--ink-2);font-weight:700;}

/* pain moments (A2) */
.moments{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);counter-reset:m;position:relative;}
.moments::before{content:"";position:absolute;left:0;right:0;top:17px;height:1px;background:linear-gradient(90deg,var(--line-2),var(--line-2) 78%,oklch(0.47 0.13 40/.55));}
.moment{counter-increment:m;position:relative;padding-right:clamp(14px,2vw,28px);}
.moment::before{content:counter(m);position:relative;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--paper-2);border:1px solid var(--gold-ink);color:var(--gold-ink);font:500 .82rem var(--fm);}
.moment-end::before{border-color:var(--rust-ink);color:var(--rust-ink);background:var(--rust-soft);}
.moment h3{margin-top:18px;font-size:1.04rem;}
.moment p{font-size:1rem;color:var(--ink-2);margin-top:8px;}

/* reframe band (A3) */

/* deliverable rows */
.rows{display:grid;gap:clamp(48px,6vw,88px);}
.row{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,72px);align-items:center;}
.row:nth-child(even) .row-copy{order:2;}
.rows-list{gap:0;}
.rows-list .row{align-items:start;padding:28px 0;border-top:1px solid var(--line-2);}
.rows-list .row:nth-child(even) .row-copy{order:0;}
.rows-list .ticks{margin-top:0;}
.row-copy .num{font:500 .78rem var(--fm);letter-spacing:.14em;color:var(--gold-ink);}
.row-copy h3{font:600 clamp(1.5rem,1.2rem + 1vw,2rem)/1.15 var(--fd);margin-top:10px;}
.row-copy p{color:var(--ink-2);margin-top:12px;}
.ticks{list-style:none;margin-top:18px;display:grid;gap:8px;}
.ticks li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:.96rem;}
.ticks li::before{content:"";width:18px;height:18px;margin-top:4px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-5' fill='none' stroke='%2316614c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat;}
.count-tag{display:inline-block;margin-top:16px;font:500 .78rem var(--fm);color:var(--ink-3);}
.more{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-weight:700;font-size:.95rem;color:var(--teal-ink);}
.more::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);transition:transform .2s var(--ease);}
.more:hover::after{transform:translateX(3px) rotate(45deg);}
.link-light{color:var(--gold);font-weight:700;}
.link-light:hover{color:var(--on-navy);}

/* pack tabs (home): one interactive panel instead of a four-row zigzag */
.ptabs{display:none;}
.pack-tabs .ppanel{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,72px);align-items:start;padding:clamp(28px,4vw,44px) 0;border-top:1px solid var(--line-2);}
.pack-tabs.on .ppanel{border-top:0;}
.pack-tabs.on .ptabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line-2);}
.pack-tabs.on .ppanel[hidden]{display:none;}
.ptab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;text-align:left;padding:14px 16px 18px 0;cursor:pointer;font:inherit;color:var(--ink-3);transition:border-color .25s var(--ease),color .25s;}
.ptab b{display:block;font:600 clamp(1.1rem,1rem + .5vw,1.4rem)/1.2 var(--fd);color:var(--ink-2);transition:color .25s;}
.ptab span{display:block;margin-top:4px;font:500 .76rem var(--fm);letter-spacing:.06em;color:var(--ink-3);}
.ptab:hover b{color:var(--ink);}
.ptab[aria-selected="true"]{border-color:var(--gold);}
.ptab[aria-selected="true"] b{color:var(--ink);}
.ptab[aria-selected="true"] span{color:var(--gold-ink);}
.ptab:focus-visible{outline-offset:-3px;}
.pack-tabs .row-copy h3{font:600 clamp(1.5rem,1.2rem + 1vw,2rem)/1.15 var(--fd);}

/* terms strip (under the home hero): the deal in four facts, no invented stats */
.terms-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);}
.terms{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);}
.terms li{padding:22px clamp(14px,2vw,28px) 22px 0;display:grid;gap:4px;}
.terms li + li{padding-left:clamp(14px,2vw,28px);border-left:1px solid var(--line);}
.terms b{font:600 1.32rem/1.15 var(--fd);color:var(--ink);}
.terms span{font-size:.95rem;color:var(--ink-2);}

/* accountability (home): founders beside the published limits */
.acc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,88px);align-items:start;}
.acc-people > p{color:var(--ink-2);margin-top:14px;}
.mini-team{list-style:none;display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:24px;}
.mini-team li{display:flex;align-items:center;gap:12px;}
.mini-team .founder-mono,.mini-team .founder-photo{width:48px;height:48px;font-size:1rem;}
.mini-team b{display:block;font-weight:700;}
.mini-team small{display:block;font:500 .74rem var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink);}

/* example figures */
.example{margin:0;}
.example-frame{border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-2);font-size:12px;container-type:inline-size;}
.example-body{position:relative;}
.example-frame.tall .example-body{max-height:440px;overflow:hidden;}
.example figcaption{margin-top:12px;font-size:.9rem;color:var(--ink-3);}
.tag{font:500 .68rem var(--fm);letter-spacing:.12em;text-transform:uppercase;background:var(--gold-soft);color:var(--gold-ink);padding:3px 8px;border-radius:6px;}
.example .sd{box-shadow:none;}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.duo .label-today,.duo .label-after{display:inline-block;margin-bottom:10px;font:500 .74rem var(--fm);letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:6px;}
.label-today{background:var(--rust-soft);color:var(--rust-ink);}
.label-after{background:var(--teal-soft);color:var(--teal-ink);}

/* process strip */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;counter-reset:s;border-top:1px solid var(--line-2);}
.steps li{counter-increment:s;padding:22px 22px 0 0;border-right:1px solid var(--line);}
.steps li:last-child{border-right:0;}
.steps li::before{content:counter(s);display:block;font:600 1.9rem/1 var(--fd);color:var(--gold-ink);margin-bottom:12px;}
.steps li p{color:var(--ink-2);font-size:1rem;margin-top:6px;padding-right:12px;}
.bg-navy .steps{border-color:oklch(1 0 0/.18);}
.bg-navy .steps li{border-color:oklch(1 0 0/.12);}
.bg-navy .steps li p{color:var(--on-navy-2);}
.bg-navy .steps li::before{color:var(--gold);}

/* price block */
.price-block{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:start;}
.price-big{font:600 clamp(3.6rem,2.4rem + 5vw,6.2rem)/1 var(--fd);letter-spacing:-.02em;}
.price-sub{font-size:1.08rem;color:var(--ink-2);margin-top:12px;}
.price-sub b{color:var(--ink);}
.anchor{margin-top:22px;padding:16px 18px;border:1px dashed var(--line-2);border-radius:12px;color:var(--ink-2);font-size:.95rem;}
.parts{display:grid;gap:0;}
.part{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);}
.part h3{font-size:1.05rem;}
.part p{color:var(--ink-2);font-size:.98rem;margin-top:4px;}
.part .n{font:500 .78rem var(--fm);color:var(--gold-ink);white-space:nowrap;padding-top:3px;}

/* custom grid (A8) */
.tailor{display:grid;grid-template-columns:repeat(3,1fr);gap:28px clamp(24px,3vw,44px);}
.tailor div{padding-top:16px;border-top:1px solid var(--line-2);}
.tailor h3{font-size:1rem;}
.tailor p{font-size:.98rem;color:var(--ink-2);margin-top:6px;}

/* what we don't do */
.dont h2{font-size:clamp(1.4rem,1.2rem + .8vw,1.9rem);}
.dont{padding-bottom:0;}
section.dont{padding:clamp(48px,6vw,80px) 0 0;}
.dont ul{list-style:none;margin-top:18px;columns:2 300px;column-gap:clamp(24px,4vw,48px);border-top:1px solid var(--line-2);padding-top:6px;}
.dont li{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:10px 0;font-size:.98rem;break-inside:avoid;}
.acc .dont ul{columns:1;}
.acc .dont h3{font:600 clamp(1.4rem,1.2rem + .8vw,1.9rem)/1.15 var(--fd);}
.dont svg{width:14px;height:14px;margin-top:5px;fill:none;stroke:var(--gold-ink);stroke-width:2;stroke-linecap:round;}

/* CTA box */
.cta-check{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;background:var(--navy);color:var(--on-navy);border-radius:16px;padding:clamp(28px,4vw,52px);margin:clamp(56px,7vw,96px) auto;}
.cta-check h2{color:var(--on-navy);font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);margin-top:10px;}
.cta-check p{color:var(--on-navy-2);margin-top:12px;}
.cta-check h2 em{color:var(--gold);}
.cta-actions{display:grid;gap:12px;justify-items:start;}
.cta-actions .fine{color:var(--on-navy-2);}

/* FAQ */
.faq h2{margin-bottom:20px;}
.faq details{border-bottom:1px solid var(--line-2);}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:700;font-size:1.06rem;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font:400 1.6rem var(--fb);color:var(--gold-ink);transition:transform .2s var(--ease);}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{padding:0 0 22px;color:var(--ink-2);}

/* guides */
.guide-head{padding:clamp(40px,6vw,80px) 0 0;}
.crumbs{font-size:.86rem;color:var(--ink-3);}
.crumbs a{color:var(--ink-3);}
.answer{margin-top:24px;padding:20px 22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);font-size:1.08rem;line-height:1.6;}
.answer b{font:500 .72rem var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);display:block;margin-bottom:6px;}
.prose{padding-top:clamp(28px,4vw,48px);}
.guide-head h1{font-size:clamp(2.1rem,1.5rem + 2vw,3.2rem);line-height:1.1;}
.toc{margin-top:22px;padding:18px 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);}
.toc b{font:700 .95rem var(--fb);}
.toc ol{margin:10px 0 0 20px;display:grid;gap:6px;font-size:.96rem;}
.toc a{color:var(--ink-2);}
.toc a:hover{color:var(--ink);}
.prose h2{font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem);margin:44px 0 12px;}
.prose h3{margin:26px 0 8px;}
.prose p,.prose li{color:var(--ink-2);}
.prose p + p{margin-top:12px;}
.prose ul,.prose ol{margin:12px 0 0 22px;display:grid;gap:6px;}
.prose table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.95rem;}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;}
.prose th{font:500 .74rem var(--fm);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);}
.prose .example{margin:24px 0;}
.sources{margin-top:48px;padding-top:20px;border-top:1px solid var(--line-2);font-size:.92rem;}
.sources h2{font:700 1rem var(--fb);margin:0 0 8px;}
.sources ol{margin-left:20px;}
.inline-check{margin:32px 0;padding:20px 22px;border-radius:var(--r);background:var(--gold-soft);display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;}
.inline-check p{color:var(--ink);font-weight:600;}
.byline{display:flex;gap:12px;align-items:center;margin-top:20px;font-size:.9rem;color:var(--ink-3);}
.byline a{color:var(--ink-2);}
.byline .mark{width:34px;height:34px;border-radius:9px;background:var(--navy);color:var(--gold);display:grid;place-items:center;font:500 italic 1.1rem var(--fd);}
.guide-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;}
.guide-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;text-decoration:none;color:var(--ink);transition:box-shadow .2s var(--ease),transform .2s var(--ease);}
.guide-card:hover{box-shadow:var(--sh-2);transform:translateY(-2px);color:var(--ink);}
.guide-card h2,.guide-card h3{font:600 1.35rem/1.2 var(--fd);margin-top:10px;}
.guide-card p{color:var(--ink-2);font-size:1rem;margin-top:10px;}
.guide-card .card-meta{margin-top:0;font:500 .78rem var(--fm);letter-spacing:.04em;color:var(--gold-ink);}
.guide-card-tool{background:var(--navy);border-color:var(--navy);color:var(--on-navy);}
.guide-card-tool h2,.guide-card-tool:hover{color:var(--on-navy);}
.guide-card-tool p{color:var(--on-navy-2);}
.guide-card-tool .card-meta{color:var(--gold);}

/* forms */
.form-wrap{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'intro form' 'agenda form';column-gap:clamp(28px,5vw,64px);row-gap:0;align-items:start;}
.form-wrap .intro{grid-area:intro;} .form-wrap .form-card{grid-area:form;} .form-wrap .agenda-block{grid-area:agenda;}
.agenda-h{font-size:1.35rem;margin-top:34px;}
.agenda{list-style:none;margin-top:26px;border-top:1px solid var(--line-2);}
.agenda li{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:16px 0;border-bottom:1px solid var(--line);}
.agenda li span{font:500 .8rem var(--fm);color:var(--gold-ink);padding-top:3px;}
.agenda li p{color:var(--ink-2);font-size:1rem;margin-top:2px;}
.form-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(22px,3vw,34px);box-shadow:var(--sh-2);}
.form-card h2{font-size:1.6rem;}
.field{display:grid;gap:6px;margin-top:18px;}
.field label,.field legend{font-weight:700;font-size:.92rem;}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;padding:12px 14px;border:1px solid var(--line-2);border-radius:10px;background:#fff;color:var(--ink);width:100%;}
.field input:focus,.field select:focus{outline:3px solid var(--gold);outline-offset:0;border-color:var(--gold-ink);}
.field .hint{font-size:.9rem;color:var(--ink-3);}
.radios{display:grid;gap:8px;margin-top:4px;}
.radios label{display:flex;gap:10px;align-items:center;font-weight:400;padding:10px 12px;border:1px solid var(--line-2);border-radius:10px;cursor:pointer;}
.radios input{width:18px;height:18px;accent-color:var(--teal-deep);}
fieldset{border:0;}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.form-card .btn{width:100%;margin-top:22px;}
.form-note{margin-top:14px;font-size:.9rem;color:var(--ink-3);}
.form-msg{margin-top:16px;padding:14px 16px;border-radius:12px;font-weight:600;}
.form-msg.ok{background:var(--teal-soft);color:var(--teal-ink);}
.form-msg.err{background:var(--rust-soft);color:var(--rust-ink);}
.field-err{font-size:.86rem;font-weight:600;color:var(--rust-ink);}
.field-err:empty{display:none;}
.field input[aria-invalid="true"],.radios[data-invalid] label{border-color:var(--rust-ink);}
.form-card .btn[aria-busy="true"]{opacity:.7;cursor:progress;}
.form-assure{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:.86rem;color:var(--ink-2);list-style:none;}
.form-assure li{display:flex;align-items:center;gap:6px;}
.form-assure li::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--teal-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-5' fill='none' stroke='%23146b55' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/9px no-repeat;}
.score-note{margin-top:16px;padding:12px 14px;border-radius:10px;background:var(--gold-soft);font-size:.92rem;color:var(--ink);}

/* score tool (A10) */
.score-q{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);}
.score-q p{color:var(--ink);font-weight:600;max-width:none;}
.score-q small{display:block;color:var(--ink-3);font-weight:400;font-size:.86rem;margin-top:2px;}
.yn{display:flex;gap:6px;}
.yn label{position:relative;}
.yn input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.yn span{display:inline-block;padding:9px 16px;border:1px solid var(--line-2);border-radius:999px;font-weight:700;font-size:.9rem;background:#fff;}
.yn input:checked + span{background:var(--navy);color:var(--on-navy);border-color:var(--navy);}
.yn input:focus-visible + span{outline:3px solid var(--gold-ink);outline-offset:2px;}
.score-out{margin-top:28px;padding:24px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-1);}
.score-progress{position:sticky;top:68px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding:12px 0;background:var(--paper);border-bottom:1px solid var(--line-2);font:500 .82rem var(--fm);letter-spacing:.04em;color:var(--ink-2);}
.score-progress b{color:var(--ink);font-weight:500;}
.score-out .big{font:600 clamp(3.2rem,2.6rem + 2vw,4.4rem)/1 var(--fd);}
.score-out h2{font:700 1.12rem/1.3 var(--fb);margin-top:16px;}
.score-out .band-label{font:600 clamp(1.5rem,1.3rem + .8vw,2rem)/1.2 var(--fd);margin-top:10px;}
.score-out ol{margin:10px 0 0 20px;color:var(--ink-2);display:grid;gap:6px;}

/* legal + generic */
.review-banner{background:var(--rust-soft);color:var(--rust-ink);font-weight:700;padding:14px 18px;border-radius:12px;margin-top:24px;}
/* About: who runs Flowstack */
.team{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(28px,5vw,72px);row-gap:0;align-items:start;}
.team .sec-head{margin-bottom:0;}
.founders{list-style:none;display:grid;gap:0;border-top:1px solid var(--line);}
.founder{display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);}
.founder h3{font:600 clamp(1.4rem,1.2rem + .7vw,1.8rem)/1.15 var(--fd);}
.founder p{color:var(--ink-2);margin-top:6px;}
.founder-role{font:500 .76rem/1.4 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);}
.founder-mono,.founder-photo{width:72px;height:72px;border-radius:50%;}
.founder-mono{display:grid;place-items:center;background:var(--navy);color:var(--gold);font:500 1.35rem/1 var(--fd);letter-spacing:.04em;box-shadow:inset 0 0 0 1px oklch(0.755 0.125 82/.35);}
.founder-photo{object-fit:cover;}
.company-facts{grid-column:2;margin-top:0;border-top:0;}
@media (max-width:760px){.team{grid-template-columns:1fr;}.company-facts{grid-column:auto;}}
.kv{display:grid;grid-template-columns:200px 1fr;gap:0;border-top:1px solid var(--line);margin-top:20px;}
.kv dt,.kv dd{padding:14px 0;border-bottom:1px solid var(--line);}
.kv dt{font-weight:700;}

/* footer */
.foot{background:var(--navy);color:var(--on-navy-2);padding:64px 0 24px;margin-top:0;}
.foot a{color:var(--on-navy);text-decoration:none;}
.foot a:hover{color:var(--gold);text-decoration:underline;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px;}
.foot-entity{font-size:.92rem;margin-top:14px;max-width:44ch;}
.foot-people{font-size:.92rem;margin-top:12px;}
.foot-people a{text-decoration:underline;text-decoration-color:oklch(1 0 0/.3);}
.foot-links{display:flex!important;flex-wrap:wrap;gap:6px 20px!important;}
.foot-h{font:500 .74rem var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.foot ul{list-style:none;display:grid;gap:8px;font-size:.94rem;}
.foot-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:48px;padding-top:20px;border-top:1px solid oklch(1 0 0/.12);font-size:.85rem;}

/* mobile sticky bar + consent */
.sticky{display:none;}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;margin:0 auto;background:var(--card);border:1px solid var(--line-2);border-radius:16px;padding:16px 18px;box-shadow:var(--sh-2);font-size:.92rem;}
.consent-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}

@media (max-width:960px){
  .hero-grid,.row,.price-block,.form-wrap,.cta-check,.duo{grid-template-columns:1fr;}
  .form-wrap{grid-template-areas:'intro' 'form' 'agenda';row-gap:28px;}
  .k-check .sticky{display:none!important;} .k-check{padding-bottom:0!important;}
  .row:nth-child(even) .row-copy{order:0;}
  .moments{grid-template-columns:1fr;gap:22px;padding-left:52px;}
  .moments::before{left:17px;right:auto;top:6px;bottom:6px;width:1px;height:auto;background:linear-gradient(180deg,var(--line-2),var(--line-2) 78%,oklch(0.47 0.13 40/.55));}
  .moment::before{position:absolute;left:-52px;top:-6px;}
  .moment h3{margin-top:0;}
  .pack-tabs .ppanel{grid-template-columns:1fr;}
  .pack-tabs.on .ptabs{grid-template-columns:1fr 1fr;}
  .terms{grid-template-columns:1fr 1fr;}
  .terms li:nth-child(3){padding-left:0;border-left:0;}
  .terms li:nth-child(n+3){border-top:1px solid var(--line);}
  .acc{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .steps li{border-right:0;padding-bottom:18px;}
  .tailor{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .fan{height:clamp(470px,72vw,580px);max-width:640px;}
  .fan .f-place{width:42%;}
}
@media (max-width:640px){
  body{font-size:16px;}
  .tailor,.steps{grid-template-columns:1fr;}
  .terms li{padding:16px 10px 16px 0;} .terms li + li{padding-left:12px;} .terms b{font-size:1.12rem;}
  .foot-grid{grid-template-columns:1fr;}
  .fan{height:400px;font-size:7.5px;}
  .fan{height:420px;} .fan .f-site{width:100%;height:62%;} .fan .f-sheet{display:none;} .fan .f-place{width:66%;left:auto;right:0;}
  .sticky{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:55;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:oklch(0.976 0.006 90/.96);border-top:1px solid var(--line);}
  .sticky .btn{padding:13px 10px;}
  .wa-float{padding:15px;bottom:calc(16px + env(safe-area-inset-bottom));}
  .wa-float .wa-label{display:none;}
  body:has(.sticky.show) .wa-float{transform:translateY(-68px);}
  .js .sticky{transform:translateY(110%);transition:transform .32s var(--ease);}
  .js .sticky.show{transform:none;}
  body{padding-bottom:74px;}
  .kv{grid-template-columns:1fr;} .kv dt{border-bottom:0;padding-bottom:0;}
  .score-q{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:no-preference){
  @keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
  .hero-copy > *{animation:rise .7s var(--ease) both;}
  .hero-copy > :nth-child(2){animation-delay:.06s;} .hero-copy > :nth-child(3){animation-delay:.14s;}
  .hero-copy > :nth-child(4){animation-delay:.22s;} .hero-copy > :nth-child(5){animation-delay:.28s;}
  .pre > *{opacity:0;transform:translateY(16px);}
  .in > *{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease);}
  .in > :nth-child(2){transition-delay:.07s;} .in > :nth-child(3){transition-delay:.14s;}
  .in > :nth-child(4){transition-delay:.21s;} .in > :nth-child(5){transition-delay:.28s;}
  .ppanel:not([hidden]){animation:rise .45s var(--ease) both;}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;}}
@media print{.top,.foot,.sticky,.consent,.cta-check,.wa-float{display:none!important;} body{background:#fff;}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.score-out:focus{outline:none;}
.big small{font:400 1rem var(--fb);color:var(--ink-3);margin-left:4px;}
section > .wrap-narrow.prose{padding-top:0;}

/* Label layer (de-slop): metadata reads as text, not as monospace capitals. Artifacts keep their own UI fonts. */
.row-copy .num,.count-tag,.part .n,.ptab span,.agenda li span,.card-meta,.guide-card .card-meta,.answer b,.mini-team small,.founder-role,
.duo .label-today,.duo .label-after,.score-progress,.foot-h,.prose th,.toc b{font-family:var(--fb);letter-spacing:0;text-transform:none;}
.row-copy .num,.count-tag,.part .n,.ptab span{font-size:.9rem;font-weight:600;}
.agenda li span{font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums;}
.answer b{font-size:.95rem;font-weight:700;color:var(--gold-ink);}
.mini-team small,.founder-role{font-size:.9rem;font-weight:600;}
.duo .label-today,.duo .label-after{font-size:.86rem;font-weight:700;}
.foot-h{font-size:.95rem;font-weight:700;color:var(--on-navy);}
.prose th{font-size:.88rem;font-weight:700;color:var(--ink-2);}
.score-progress{font-size:.92rem;}
.card-meta{font-size:.9rem;font-weight:600;}

/* Guide: article column on the site grid, contents in a sticky side column */
.guide{display:grid;grid-template-columns:minmax(0,46rem) minmax(15rem,18rem);justify-content:space-between;column-gap:clamp(32px,5vw,72px);padding-top:clamp(40px,6vw,80px);}
.guide .guide-head{grid-column:1;padding:0;}
.guide .prose{grid-column:1;}
.guide-aside{grid-column:2;grid-row:1 / span 2;align-self:start;position:sticky;top:96px;display:grid;gap:18px;}
.guide-aside .toc{margin-top:0;}
.aside-check{padding:18px 20px;border-radius:var(--r);background:var(--paper-2);}
.aside-check p{font-weight:600;color:var(--ink);}
.aside-check .btn{margin-top:12px;width:100%;}
@media (max-width:960px){
  .guide{grid-template-columns:1fr;}
  .guide-aside{grid-column:1;grid-row:auto;position:static;margin-top:24px;}
  .aside-check{display:none;}
}

/* two-column blocks that reuse .prose for body copy: no extra top offset */
.price-block .prose{padding-top:0;}
.team .company-facts{margin-top:0;border-top:0;}

/* Large screens: a wider column and a bigger hero visual, so 1600px+ displays don't float in empty margins */
@media (min-width:1600px){
  :root{--wrap:1360px;}
  .fan{height:clamp(560px,36vw,680px);font-size:10.5px;}
}
