:root{--red:#FF4500;--red-ink:#D93A00;--bg:#FFFFFF;--ink:#0B0B0C;--mut:#5E5D62;--mut2:#8A8990;--line:#E7E5E0;--surf:#F6F5F2;--tint:#FFF2EC;--card:#FFFFFF;--dark:#0C0C0E;--dark-ink:#F5F4F0;--dark-mut:#A6A49E;--dark-line:rgba(255,255,255,.1);--dark-card:#151517;--em:var(--red);--head:'Manrope';--serif:'Newsreader';--r:20px;--wrap:1200px}
html[data-theme=dark]{--bg:#0A0A0C;--ink:#F7F5F0;--mut:#ABA8A1;--mut2:#7A776F;--line:rgba(255,255,255,.09);--surf:#121215;--tint:#241410;--card:#111114;--dark:#0A0A0C;--dark-card:#131316;--em:#FF5A1F}
.cream{--bg:#F3EFE8;--ink:#0E0D0B;--mut:#5A5750;--mut2:#8C887F;--line:#E2DDD3;--surf:#FFFFFF;--card:#FFFFFF;--tint:#FFE9DE;--em:#E8420A;background:var(--bg);color:var(--ink)}
html[data-font=Geist]{--head:'Geist'}
html[data-italics=off] em{font-style:normal;font-family:var(--head);color:var(--red)}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);scroll-behavior:smooth}
body{font-family:var(--head),system-ui,sans-serif;font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;text-wrap:pretty}
a{color:inherit;text-decoration:none;transition:color .15s}a:hover{color:var(--red)}
h1,h2,h3{font-family:var(--head),system-ui,sans-serif;margin:0;font-weight:700;letter-spacing:-.03em;line-height:1.04;text-wrap:balance}
h1 em,h2 em{display:block;font-weight:700;font-size:1.04em;line-height:1.02;margin-top:.04em}
h1{font-size:clamp(36px,10.4cqw,92px);font-weight:800;letter-spacing:-.045em;line-height:.98;text-wrap:initial}
h2{font-size:clamp(34px,4.2vw,56px)}
h3{font-size:26px;letter-spacing:-.02em;line-height:1.15}
em{font-family:var(--serif),Georgia,serif;font-style:italic;font-weight:600;color:var(--em);letter-spacing:-.01em}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.sec{padding:clamp(72px,9vw,128px) 0}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:26px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}
.lede{font-size:clamp(18px,1.35vw,20px);line-height:1.6;color:var(--mut);max-width:58ch}
.lede strong{color:var(--ink);font-weight:600}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:999px;font-weight:600;font-size:18px;letter-spacing:-.01em;border:1px solid transparent;transition:transform .15s,background .15s,color .15s,border-color .15s;cursor:pointer;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red-ink);color:#fff}
.btn-ghost{border-color:color-mix(in oklab,var(--ink) 24%,transparent);color:var(--ink);background:transparent}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.btn .arr{display:inline-block;transition:transform .15s}.btn:hover .arr{transform:translateX(3px)}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 82%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;letter-spacing:-.02em}
.brand:hover{color:inherit}
.logo{width:30px;height:30px;flex:none}
.links{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:16px;font-weight:500;color:var(--mut)}
.links .free{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid color-mix(in oklab,var(--red) 35%,transparent);background:var(--tint);color:var(--red-ink);font-weight:600;font-size:16px}
.links .free::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red)}
.nav-cta{display:flex;align-items:center;gap:18px;font-size:16px;font-weight:500;color:var(--mut)}
.nav-cta .btn{padding:11px 18px;font-size:16px}
/* hero */
.hero{overflow:hidden;padding:clamp(48px,6vw,96px) 0 0;position:relative}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(820px 520px at 88% -8%,rgba(255,69,0,.22),transparent 62%),linear-gradient(color-mix(in oklab,var(--ink) 5%,transparent) 1px,transparent 1px) 0 0/100% 80px,linear-gradient(90deg,color-mix(in oklab,var(--ink) 5%,transparent) 1px,transparent 1px) 0 0/80px 100%;-webkit-mask-image:linear-gradient(#000 40%,transparent 92%);mask-image:linear-gradient(#000 40%,transparent 92%);pointer-events:none}
.hero>*{position:relative}
.hero .wrap{max-width:1400px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:48px;align-items:center}
.hero-copy{container-type:inline-size;min-width:0}
.hero-copy .eyebrow{margin-bottom:22px}
.promise{margin:30px 0 0;font-size:clamp(20px,1.8vw,27px);font-weight:600;letter-spacing:-.02em;line-height:1.3;max-width:30ch;color:var(--ink)}
.hero-copy .lede{margin:16px 0 36px;max-width:50ch;font-size:clamp(18px,1.25vw,19px)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.hero-visual{min-width:0;padding-top:0}
.ai-win{--bg:#FFFFFF;--card:#FFFFFF;--line:#E7E5E0;--surf:#F3F1EC;--ink:#0B0B0C;--mut:#5E5D62;--mut2:#8A8990;--tint:#FFF2EC;color:var(--ink);width:max(100%,560px);background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 50px 120px -30px rgba(0,0,0,.65),0 30px 90px -40px rgba(255,69,0,.35),0 0 0 1px rgba(255,255,255,.06);overflow:hidden;font-size:16px}
.ai-top{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line)}
.ai-top i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.seg{margin:0 auto;display:inline-flex;background:var(--surf);border-radius:999px;padding:3px;gap:2px}
.seg button{appearance:none;border:0;background:transparent;font:600 16px/1 var(--head),system-ui,sans-serif;padding:8px 13px;border-radius:999px;color:var(--mut);cursor:pointer;transition:background .2s,color .2s}
.ai-win[data-state=before] .seg [data-set=before]{background:var(--ink);color:#fff}
.ai-win[data-state=after] .seg [data-set=after]{background:var(--red);color:#fff}
.ans-stack{display:grid}
.ans{grid-area:1/1;display:grid;gap:8px;align-content:start;transition:opacity .45s ease,transform .45s ease}
.ai-win[data-state=before] .ans.after,.ai-win[data-state=after] .ans.before{opacity:0;pointer-events:none;transform:translateY(8px)}
.row.hi{border-color:var(--red);background:var(--tint);box-shadow:0 0 0 3px rgba(255,69,0,.14)}
.row.hi .n{color:var(--red);font-weight:800}
.ai-foot{display:grid;padding:14px 28px 16px;border-top:1px solid var(--line);font-size:16px;font-weight:600;line-height:1.4}
.ai-foot .f{grid-area:1/1;transition:opacity .4s}
.ai-foot .f.before{color:#B42318}.ai-foot .f.after{color:#0F7B4A}
.ai-win[data-state=before] .f.after,.ai-win[data-state=after] .f.before{opacity:0}
.ai-body{padding:24px 28px 26px;display:grid;gap:16px}
.q{justify-self:end;max-width:78%;background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:18px 18px 4px 18px;font-weight:500;font-size:16px}
.a{color:var(--mut);font-size:16px;line-height:1.5}
.res{display:grid;gap:8px}
.row{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.row .n{font-weight:600;font-size:16px;color:var(--mut2)}
.row .name{font-weight:600;font-size:16px;color:var(--ink)}
.row .name small{display:block;font-weight:400;font-size:16px;color:var(--mut)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--tint);color:var(--red-ink);font-size:16px;font-weight:600;white-space:nowrap}
.chip::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--red)}
.row.you{border-style:dashed;background:transparent}
.row.you .name{color:var(--mut2)}
.row.you .tag{padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--mut2);font-size:16px;font-weight:600;white-space:nowrap}
/* strip */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;margin-top:clamp(56px,7vw,96px)}
.strip-in{display:flex;align-items:center;gap:22px 44px;flex-wrap:wrap;justify-content:center}
.strip .lab{width:100%;text-align:center;font-size:16px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut2);font-weight:600;margin-bottom:10px}
.plat{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:18px;color:var(--ink)}
.plat .mono{width:40px;height:40px;border-radius:12px;font-size:18px}
.mono{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:16px;font-weight:700;letter-spacing:0;font-style:normal;font-family:var(--head),system-ui,sans-serif}
.mono.lg{width:44px;height:44px;border-radius:13px;font-size:18px}
/* two-col */
.two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:start}
.two .lede+.lede{margin-top:18px}
.quotes{display:grid;gap:12px;margin-top:40px}
.quote{padding:22px 26px;border:1px solid var(--line);border-radius:16px;background:var(--surf);font-family:var(--serif),Georgia,serif;font-style:italic;font-size:clamp(20px,1.7vw,24px);line-height:1.3;letter-spacing:-.01em;color:var(--ink)}
.quote::before{content:"“";color:var(--red);margin-right:4px}.quote::after{content:"”";color:var(--red);margin-left:2px}
/* reach */
.cards5{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:56px}
.pc{padding:26px 24px 24px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);display:grid;gap:22px;transition:transform .2s,border-color .2s}
.pc:hover{transform:translateY(-3px);border-color:color-mix(in oklab,var(--ink) 25%,var(--line))}
.pc b{display:block;font-size:19px;letter-spacing:-.02em;font-weight:600}
.pc span{display:block;font-size:16px;color:var(--mut);margin-top:4px}
/* steps */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:64px;border-top:1px solid var(--line)}
.step{padding-top:32px;position:relative}
.step::before{content:"";position:absolute;top:-1px;left:0;width:56px;height:2px;background:var(--red)}
.step .num{font-size:16px;font-weight:600;color:var(--red);letter-spacing:.04em}
.step h3{margin:14px 0 8px;font-size:34px}
.step .sub{font-size:16px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--mut2);margin-bottom:20px}
.step p{color:var(--mut);font-size:18px}
/* dark band */
.band{background:var(--dark);color:var(--dark-ink);border-top:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line)}
.band .eyebrow{color:var(--dark-mut)}
.stats{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:14px;margin-top:56px}
.st{background:var(--dark-card);border:1px solid var(--dark-line);border-radius:var(--r);padding:30px 28px;display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-height:300px}
.st .big{font-size:clamp(52px,5vw,72px);font-weight:600;letter-spacing:-.05em;line-height:.95;color:var(--red)}
.st .big sup{font-size:.4em;vertical-align:top;top:.25em;position:relative;letter-spacing:0}
.st .lab{font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--dark-mut);font-weight:600;margin-top:14px}
.st p{color:var(--dark-mut);font-size:16px}
.st.lead{display:grid;align-content:center;font-size:clamp(26px,2.4vw,34px);line-height:1.15;letter-spacing:-.03em;font-weight:500}
.st.lead p{font-size:inherit;line-height:inherit;color:inherit;letter-spacing:inherit}
.mult{margin-top:14px;background:linear-gradient(90deg,#FF4500,#FF7A3D);color:#fff;border-radius:var(--r);padding:34px 40px;display:grid;grid-template-columns:auto 1fr;gap:16px 48px;align-items:center}
.mult .t{font-family:var(--serif),Georgia,serif;font-style:italic;font-size:clamp(30px,3vw,44px);letter-spacing:-.02em;line-height:1;white-space:nowrap}
.mult p{font-size:18px;line-height:1.5;color:#fff}
/* service */
.svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:56px}
.sc{border:1px solid var(--line);border-radius:var(--r);padding:34px 30px 36px;background:var(--card);display:grid;gap:0;align-content:start}
.sc .k{font-size:16px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--mut2)}
.sc h3{margin:22px 0 10px;font-size:30px}.sc h3 em,.wi h3 em{font-size:1.06em}
.sc .when{font-size:16px;font-weight:600;color:var(--red-ink);margin-bottom:22px}
.sc p{color:var(--mut);font-size:18px}
.sc.hot{background:var(--dark);color:var(--dark-ink);border-color:var(--dark)}
html[data-theme=dark] .sc.hot{background:#F3EFE8;color:#0E0D0B;border-color:#F3EFE8;box-shadow:0 30px 80px -40px rgba(255,69,0,.45)}
html[data-theme=dark] .sc.hot .k{color:#8C887F}html[data-theme=dark] .sc.hot p{color:#5A5750}html[data-theme=dark] .sc.hot em{color:#E8420A}html[data-theme=dark] .sc.hot .when{color:#E8420A}
.sc.hot .k{color:var(--dark-mut)}.sc.hot .when{color:var(--red)}.sc.hot p{color:var(--dark-mut)}
/* why us */
.why{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:56px}
.wi{padding:40px 40px 44px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:56px 1fr;gap:8px 20px;padding-left:40px;border-right:1px solid var(--line)}
.wi .num{color:var(--red);font-weight:600;font-size:16px;padding-top:9px;letter-spacing:.04em}
.wi h3{font-size:30px}
.wi p{grid-column:2;color:var(--mut);font-size:18px;max-width:52ch}
/* founder */
.founder{background:var(--surf);border:1px solid var(--line);border-radius:calc(var(--r) + 8px);padding:clamp(36px,5vw,72px);display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px}
.av{width:96px;height:96px;border-radius:50%;background:linear-gradient(145deg,#FF6A2B,#E63C00);color:#fff;display:grid;place-items:center;font-family:var(--serif),Georgia,serif;font-size:48px;font-style:italic;box-shadow:0 14px 30px -12px rgba(255,69,0,.6)}
.who{margin-top:18px;font-weight:600}.who small{display:block;font-weight:500;color:var(--mut);font-size:16px;margin-top:2px}
.story{display:grid;gap:22px;max-width:62ch;margin-top:36px}
.story p{color:var(--mut);font-size:18px}
.story .sig{font-family:var(--serif),Georgia,serif;font-style:italic;font-size:26px;color:var(--ink);letter-spacing:-.01em}
/* cta */
.cta{text-align:center;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;left:50%;bottom:-240px;width:1100px;height:520px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,69,0,.6),transparent 70%);pointer-events:none}
.cta .wrap{position:relative;z-index:1}
.cta h2{max-width:18ch;margin:0 auto}
.cta .lede{margin:26px auto 36px;text-align:center;color:var(--dark-mut)}
/* footer */
footer{border-top:1px solid var(--line);padding:64px 0 36px}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.fg .brand{font-size:18px}
.fg .tag{color:var(--mut);margin-top:16px;font-size:16px}
.fg h4{margin:0 0 16px;font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut2);font-weight:600}
.fg ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:16px;color:var(--mut)}
.fb{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:16px;color:var(--mut2)}
@media (max-width:1000px){.links{display:none}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-visual{align-self:start}.ai-win{width:100%}.stats{grid-template-columns:1fr 1fr}.steps,.svc{grid-template-columns:1fr}.two{grid-template-columns:1fr}.why{grid-template-columns:1fr}.founder{grid-template-columns:1fr;gap:24px}.fg{grid-template-columns:1fr 1fr}.mult{grid-template-columns:1fr}.mult .t{white-space:normal}}
@media (max-width:600px){.nav-cta a:not(.btn){display:none}.stats{grid-template-columns:1fr}.fg{grid-template-columns:1fr}.q{max-width:100%}.row{grid-template-columns:24px 1fr}.row .chip,.row .tag{grid-column:2}}
/* --- site: router + nav --- */
.page{display:block}
.sec,[id]{scroll-margin-top:84px}
.links a.on{color:var(--ink)}
.menu-btn{display:none;appearance:none;background:none;border:1px solid var(--line);border-radius:10px;width:42px;height:42px;margin-left:auto;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu-btn span{width:18px;height:2px;background:var(--ink);display:block}
/* --- page heroes --- */
.phero{padding:clamp(56px,7vw,110px) 0 clamp(40px,5vw,72px);text-align:center;position:relative;overflow:hidden}
.phero::before{content:"";position:absolute;inset:0;background:radial-gradient(760px 420px at 50% -20%,rgba(255,69,0,.2),transparent 62%);pointer-events:none}
.phero>*{position:relative}
.phero h1{font-size:clamp(38px,6vw,78px);max-width:16ch;margin:0 auto}
.phero .lede{margin:26px auto 0;text-align:center}
.phero.left{text-align:left}.phero.left::before{background:radial-gradient(760px 420px at 85% -20%,rgba(255,69,0,.18),transparent 62%)}
.phero.left h1{margin:0}.phero.left .lede{margin-left:0;text-align:left}
.page[data-page=blog] h1 em,.legal-h1 em{display:inline;font-size:1em}
.ticks{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin:28px 0 0;padding:0;color:var(--mut);font-size:16px;font-weight:500}
.ticks li::before{content:"✓";color:var(--red);margin-right:8px;font-weight:700}
/* --- pricing --- */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:56px;align-items:stretch}
.plan{border:1px solid var(--line);border-radius:var(--r);padding:34px 30px;background:var(--card);display:flex;flex-direction:column}
.plan .k{font-size:16px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--mut2)}
.plan h3{margin:18px 0 12px;font-size:28px}
.price{font-size:clamp(40px,3.6vw,52px);font-weight:800;letter-spacing:-.04em;color:var(--red);line-height:1}
.price small{font-size:16px;font-weight:600;color:var(--mut);letter-spacing:0;margin-left:6px}
.pd{color:var(--mut);margin:14px 0 22px;font-size:18px}
.feat{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px;font-size:16px;color:var(--ink)}
.feat li{padding-left:24px;position:relative}.feat li::before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:700}
.ideal{margin-top:auto;background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:16px;color:var(--mut);font-style:italic;margin-bottom:22px}
.ideal .k{font-style:normal;margin-bottom:6px}
.plan .btn{justify-content:center}
.fine{font-size:16px;color:var(--mut2);margin-top:14px;text-align:center;font-style:italic}
.plan.hot{border-color:var(--red);background:linear-gradient(180deg,var(--tint),var(--card) 55%);box-shadow:0 30px 80px -40px rgba(255,69,0,.5)}
.tblwrap{overflow-x:auto;margin-top:48px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.cmp{width:100%;border-collapse:collapse;font-size:16px;min-width:640px}
.cmp th,.cmp td{padding:16px 20px;text-align:center;border-bottom:1px solid var(--line)}
.cmp th{font-weight:700;font-size:16px}
.cmp td:first-child,.cmp th:first-child{text-align:left;font-weight:500}
.cmp tbody tr:last-child td{border-bottom:0}
.cmp .hl{background:var(--tint)}.cmp th.hl{color:var(--red-ink)}
.cmp .yes{color:var(--red);font-style:normal;font-weight:700}.cmp .no{color:var(--mut2);font-style:normal}
.faq{display:grid;gap:10px;margin-top:40px}
.faq details{border:1px solid var(--line);border-radius:14px;background:var(--card)}
.faq summary{cursor:pointer;list-style:none;padding:20px 22px;font-weight:600;font-size:18px;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-weight:700;font-size:20px;line-height:1}
.faq details[open] summary::after{content:"–"}
.ans-body{padding:0 22px 20px;color:var(--mut);font-size:16px}
/* --- ai citations --- */
.planform{max-width:560px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(28px,4vw,44px);display:grid;gap:16px;box-shadow:0 40px 100px -40px rgba(0,0,0,.6)}
.planform h3{text-align:center;font-size:26px}.planform .sub{text-align:center;color:var(--mut);margin-top:-8px;font-size:16px}
.planform label{display:grid;gap:8px;font-size:16px;font-weight:600}.planform label span{font-weight:400;color:var(--mut2)}
.planform input{font:inherit;font-size:16px;padding:13px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);outline:none}
.planform input:focus{border-color:var(--red)}
.planform .btn{justify-content:center;margin-top:6px}
.planform .ok{display:none;text-align:center;color:#2EBF7A;font-weight:600}.planform.sent .ok{display:block}
.deliv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:40px}
.dc{border:1px solid var(--line);border-radius:var(--r);padding:30px 30px 28px;background:var(--card)}
.dc h3{font-size:24px;margin-bottom:16px}
.dc ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:var(--mut);font-size:16px}
.dc li{padding-left:18px;position:relative}.dc li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--red)}
/* --- blog --- */
.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.post{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:var(--r);padding:28px 28px 26px;background:var(--card);color:inherit;transition:transform .2s,border-color .2s}
.post:hover{transform:translateY(-3px);border-color:color-mix(in oklab,var(--ink) 25%,var(--line));color:inherit}
.post .meta{display:flex;gap:14px;flex-wrap:wrap;font-size:16px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--mut2)}
.post .cat{color:var(--red)}
.post h3{font-size:22px;letter-spacing:-.02em;line-height:1.2}
.post p{color:var(--mut);font-size:16px;flex:1}
.post .more{font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);display:inline-flex;gap:8px}
/* --- legal --- */
.legal{padding:clamp(56px,7vw,100px) 0}
.narrow{max-width:860px}
.legal-h1{font-size:clamp(40px,6vw,72px);margin-bottom:12px}
.legal .updated{font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut2);font-weight:600;margin-bottom:40px}
.legal h2{font-size:26px;margin:44px 0 14px;letter-spacing:-.02em}
.legal p{color:var(--mut);font-size:18px;margin:0 0 14px;line-height:1.65}
.legal strong{color:var(--ink)}
.legal ul{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:10px;color:var(--mut);font-size:18px}
.legal li{padding-left:18px;position:relative;line-height:1.55}.legal li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--red)}
.callout{margin:40px 0;padding:clamp(24px,3vw,36px);border:1px solid color-mix(in oklab,var(--red) 40%,transparent);border-radius:var(--r);background:var(--tint)}
.callout .k{font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:10px}
.callout h2{margin-top:0}.callout .imp{font-weight:700;color:var(--ink);font-style:italic}
@media (max-width:1000px){.menu-btn{display:flex}.nav-cta{margin-left:0}.nav.open .links{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:72px;left:0;right:0;background:var(--bg);padding:16px clamp(20px,4vw,48px) 24px;border-bottom:1px solid var(--line);gap:18px;margin:0;font-size:18px;z-index:60}.plans,.deliv,.posts{grid-template-columns:1fr}}

/* Readability minimums (Giovanni's rule): body text 18px on desktop, 16px on phones */
@media (min-width:601px){.a,.st p,.post p,.step p,.sc p,.wi p,.feat li,.dc ul li,.ticks li,.ideal,.fine,.ans-body,.ans-body p,.planform .sub,.planform input,.legal p,.legal li,.callout p{font-size:18px}}
/* phones: the larger nav button no longer fits next to the logo and menu */
@media (max-width:600px){.nav-in{gap:12px}.nav-cta .btn{padding:10px 14px}.nav-cta .btn .arr{display:none}}
.planform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.planform .err{color:#FF6B4A;font-size:16px;margin:12px 0 0}
[hidden]{display:none !important}

/* Red accent text: Manrope, upright, same family as the headlines (Giovanni, 2026-10-20).
   Replaces the Newsreader serif italic. */
em{font-family:var(--head),system-ui,sans-serif;font-style:normal;font-weight:800;letter-spacing:-.03em}
/* Each red phrase stays on one line; site.js shrinks it when it would not fit */
h1 em,h2 em,h3 em{white-space:nowrap}
.who{margin-top:0}
/* Blog cards are previews until the articles are published */
div.post:hover{transform:none;border-color:var(--line)}
.post .more.soon{color:var(--mut2)}
.sig{font-family:var(--head),system-ui,sans-serif;font-style:normal;font-weight:800;letter-spacing:-.02em}

/* ---------- Blog articles (/blog/<slug>) ---------- */
.post-page{padding:clamp(40px,6vw,88px) 0 clamp(56px,7vw,110px)}
.crumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:16px;color:var(--mut);margin-bottom:26px}
.crumbs a{color:var(--mut)}.crumbs a:hover{color:var(--red)}
.post-h1{font-size:clamp(36px,4.4vw,60px);line-height:1.05;letter-spacing:-.035em;font-weight:800;margin:18px 0 0}
.post-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:16px;color:var(--mut);margin-top:20px}
.post-hero{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);border:1px solid var(--line);margin:34px 0 8px}
.prose{font-size:19px;line-height:1.72;color:var(--ink)}
.prose>*+*{margin-top:1.05em}
.prose p,.prose li{color:color-mix(in oklab,var(--ink) 86%,var(--bg))}
.prose h2{font-size:clamp(28px,2.6vw,36px);line-height:1.15;letter-spacing:-.025em;font-weight:800;margin-top:1.9em}
.prose h3{font-size:clamp(22px,1.9vw,26px);line-height:1.25;letter-spacing:-.02em;font-weight:700;margin-top:1.5em}
.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.45em}
.prose a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--ink)}
.prose figure{margin:2em 0}.prose img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
.prose figcaption{font-size:16px;color:var(--mut);text-align:center;margin-top:10px}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.prose blockquote{border-left:3px solid var(--red);padding:.2em 0 .2em 1.1em;font-size:21px;color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;font-size:17px;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--surf);font-weight:700}
.prose .faq-item{background:var(--surf);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:12px;padding:18px 20px}
.prose .faq-item+.faq-item,.prose .faq-section .faq-item{margin-top:14px}
.prose .faq-item p{margin:0}.prose .faq-item p+p{margin-top:8px}
.prose .related-articles{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:22px 26px}
.prose .related-articles h3{margin-top:0}
.post-cta{margin-top:clamp(48px,6vw,80px);background:var(--surf);border:1px solid var(--line);border-radius:calc(var(--r) + 6px);padding:clamp(28px,4vw,48px);text-align:center}
.post-cta h2{font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.03em;margin-top:14px}
.post-cta p{font-size:18px;color:var(--mut);margin:14px auto 22px;max-width:46ch}
.post-cta .eyebrow{justify-content:center}
@media (max-width:600px){.prose{font-size:17px}.prose table{font-size:16px}.post-cta p{font-size:16px}}
/* Blog index cards link to articles */
a.post .more{color:var(--red)}
.prose{overflow-wrap:anywhere}
.prose table{font-size:18px}
/* Headlines flow as one line where they fit: the red phrase follows the white text
   instead of always starting a new line (Giovanni, 2026-10-20). It still never breaks. */
h1 em,h2 em{display:inline;margin-top:0}
.ticks+.cta-row{margin-top:34px}
