/* Home page. Breakpoints: wide >980, nav sizes 810/390 (ds.css), pricing table >=640, nav Sign up >=480. */
:root{--tab-bar-h:64px}
@media (max-width:980px){:root{--tab-bar-h:52px}}

html{scroll-behavior:smooth}
body{margin:0;background:var(--white)}
a{color:var(--acc)}
a:hover{opacity:.85}
.page{font-family:var(--font-sans);color:var(--tx);background:var(--white)}

/* Header */
.site-head{position:sticky;top:0;z-index:30;background:var(--white)}
.site-nav{height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 clamp(16px,3vw,40px);border-bottom:1px solid var(--ln)}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;min-width:0}
.brand img{width:clamp(42px,10vw,57px);height:auto;aspect-ratio:3/2;display:block;flex:none}
.brand-words{display:flex;flex-direction:column;gap:5px}
.brand-name{font-size:clamp(17px,4.6vw,23px);line-height:1;font-weight:600;letter-spacing:-0.02em;white-space:nowrap}
.brand-name .for{font-weight:400}
.brand-name sup{font-size:0.43em;font-weight:500;margin-left:1px}
.brand-by{font-size:clamp(8.5px,2.2vw,10.5px);line-height:1;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--tx2);white-space:nowrap}
.nav-right{display:flex;align-items:center;gap:clamp(10px,2.5vw,32px);flex:none}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{color:var(--tx2);font-size:17px;font-weight:500;text-decoration:none;white-space:nowrap}
.nav-signup{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;white-space:nowrap;background:var(--acc);color:var(--on-acc);font-size:var(--fs-button);font-weight:600;text-decoration:none;transition:filter var(--t-base) var(--ease)}
.menu-btn{flex:none;width:44px;height:44px;padding:0;border:1px solid var(--ln);background:transparent;color:var(--tx);display:none;place-items:center;cursor:pointer}
.menu-btn .ic-close{display:none}
.menu-btn[aria-expanded="true"] .ic-close{display:block}
.menu-btn[aria-expanded="true"] .ic-open{display:none}
.menu{display:none;flex-direction:column;padding:4px clamp(16px,3vw,40px) 20px;border-bottom:1px solid var(--ln);background:var(--white)}
.menu.open{display:flex}
.menu a{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-bottom:1px solid var(--ln);font-size:18px;font-weight:600;color:var(--tx);text-decoration:none}
.menu a span{color:var(--arrow)}
.menu a.menu-cta{margin-top:18px;justify-content:center;min-height:var(--btn-h);background:var(--acc);color:var(--on-acc);font-size:var(--fs-button);border-bottom:0}
@media (max-width:980px){
  .nav-links{display:none}
  .menu-btn{display:grid}
}
@media (min-width:981px){.menu.open{display:none}}
@media (max-width:479px){.nav-signup{display:none}}

/* Chapter tabs */
.tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(max-content,1fr);overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--ln);background:var(--white)}
.tabs::-webkit-scrollbar{display:none}
.tab{position:relative;cursor:pointer;border:none;border-right:1px solid var(--ln);background:var(--white);height:var(--tab-bar-h);padding:0 20px;display:flex;align-items:center;gap:12px;color:var(--tx2);text-align:left;font-family:inherit;transition:background var(--t-base) var(--ease)}
.tab[aria-selected="true"]{background:#f3f5f8;color:var(--ink)}
.tab-track{position:absolute;left:0;right:0;top:0;height:3px;background:var(--ln)}
.tab-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--acc);display:block}
.tab-n{font-size:13px;font-weight:700;letter-spacing:var(--track-tab-num);color:var(--tx2)}
.tab[aria-selected="true"] .tab-n{color:var(--acc)}
.tab-l{font-size:15px;font-weight:600;letter-spacing:-0.01em;white-space:nowrap}

/* Sections */
.sec{scroll-margin-top:calc(var(--nav-h) + var(--tab-bar-h))}
.sec.white{background:var(--white)}
.sec.paper{background:var(--paper)}
.sec-in{max-width:var(--maxw);margin:0 auto;padding:clamp(48px,9vw,80px) var(--hero-pad-x);min-height:max(640px,calc(100svh - 168px));box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:var(--sp-8) var(--hero-gap);align-items:center}
@media (max-width:980px){.sec-in{min-height:0}}
.sec-in.hero{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:var(--sp-9)}
.hero-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:var(--sp-8) var(--hero-gap);align-items:end}
.col{display:flex;flex-direction:column;gap:var(--sp-6)}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:var(--fs-eyebrow-lg);font-weight:600;letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--acc)}
.eyebrow i{width:28px;height:2px;background:var(--acc);display:block}
.h1{margin:0;font-size:clamp(44px,5.4vw,78px);font-weight:800;letter-spacing:var(--track-hero);line-height:var(--lh-tight);color:var(--ink);text-wrap:balance}
.h2{margin:0;font-size:var(--fs-hero);font-weight:800;letter-spacing:var(--track-hero);line-height:var(--lh-tight);color:var(--ink);text-wrap:balance}
.h2 .tail{color:var(--acc)}
.lede{margin:0;font-size:var(--fs-lede);line-height:var(--lh-lede);color:var(--tx2);max-width:540px;text-wrap:pretty}
.ctas{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-h);padding:0 var(--btn-pad-x);background:var(--acc);color:var(--on-acc);font-size:var(--fs-button);font-weight:600;text-decoration:none;transition:filter var(--t-base) var(--ease)}
.btn:hover,.nav-signup:hover,.pbtn:hover{opacity:1;filter:brightness(var(--hover-brightness))}
.more{font-size:16px;font-weight:700;color:var(--ink);text-decoration:none}
.more span,.cta-more span{color:var(--arrow)}
.graphic{width:100%;justify-self:center}
@media (min-width:981px){.graphic.flip{order:-1}}
.g440{max-width:440px}.g540{max-width:540px}.g560{max-width:560px}.g620{max-width:620px}.g650{max-width:650px;display:flex;flex-direction:column}

/* Team strip */
.strip{position:relative;width:100%;aspect-ratio:827/250;background:var(--white);container-type:inline-size}
.strip img{position:absolute;inset:0;width:100%;height:100%;display:block}
.strip .ag{position:absolute;top:72%;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(2px,0.6cqw,4px)}
.strip b{background:var(--blue-deep);color:var(--white);font-size:clamp(10px,2.1cqw,22px);font-weight:700;line-height:1;padding:0.33em 0.53em}
.strip .ag span{font-size:clamp(7px,1.3cqw,13px);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink);background:rgba(255,255,255,0.92);padding:0.3em 0.5em;white-space:nowrap}

/* Pricing: table >=640, cards below */
.ptable{display:flex;flex-direction:column}
.pcards{display:none;flex-direction:column;gap:var(--gutter)}
@media (max-width:639px){.ptable{display:none}.pcards{display:flex}}
.prow{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,min(150px,26vw));gap:6px}
.phead{display:flex;flex-direction:column;background:var(--price-col)}
.phead-t{color:var(--white);font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;text-align:center;padding:10px 0}
.ind{background:var(--price-head-ind)}.team{background:var(--price-head-team)}
.phead-b{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 8px 12px;text-align:center}
.tier{font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink)}
.price{font-size:clamp(19px,5.2vw,30px);font-weight:800;letter-spacing:-0.03em;line-height:1;color:var(--blue-deep);white-space:nowrap}
.unit{font-size:11px;font-weight:600;color:var(--light-tx2)}
.pbody{display:flex;flex-direction:column;border-top:2px solid var(--tx);margin-top:6px}
.pline{align-items:center;border-bottom:1px solid var(--ln);min-height:var(--row-h)}
.pline>span:first-child{font-size:14px;line-height:1.35;padding:6px 0}
.cell{height:100%;background:var(--price-col);display:grid;place-items:center}
.yes{width:12px;height:12px;background:var(--blue-deep);display:block}
.no{width:8px;height:1px;background:var(--light-tx2);display:block}
.pfoot{align-items:stretch;padding-top:6px}
.pfoot>span{display:flex;align-items:center;font-size:14px;font-weight:600;color:var(--acc)}
.pbtn{display:grid;place-items:center;min-height:44px;color:var(--white);font-size:13px;font-weight:700;text-decoration:none;text-align:center}
.pcard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--ln)}
.pcard-t{color:var(--white);font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;padding:12px 20px}
.pcard-p{padding:20px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--ln)}
.pcard-p .tier{font-size:11px}
.pcard-p b{font-size:var(--fs-stat);font-weight:800;letter-spacing:-0.03em;line-height:1;color:var(--blue-deep)}
.pcard-p .u{font-size:13px;font-weight:600;color:var(--tx2)}
.pcard-p .d{margin-top:8px;font-size:14px;line-height:1.5}
.pcard-f{padding:18px 20px;display:flex;flex-direction:column;gap:12px;margin:0;list-style:none}
.pcard-f li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.4}
.pcard-f li::before{content:"";flex:none;margin-top:4px;width:10px;height:10px;background:var(--blue-deep);display:block}
.pcard-a{padding:0 20px 20px}
.pcard-a a{display:flex;align-items:center;justify-content:center;min-height:var(--btn-h);color:var(--white);font-size:var(--fs-button);font-weight:600;text-decoration:none}
.pnote{margin-top:14px;font-size:12px;line-height:1.5;color:var(--tx2)}

/* CTA band and footer */
.cta{position:relative;overflow:hidden;background:var(--ink)}
.cta-cloud{position:absolute;inset:0;background:var(--cloud-blue);pointer-events:none}
.cta-in{position:relative;max-width:var(--maxw);margin:0 auto;min-height:420px;padding:var(--sp-9) var(--section-pad-x);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.cta-eb{font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--acc)}
.cta h2{margin:18px 0 0;font-size:var(--fs-cta);font-weight:800;letter-spacing:var(--track-tight);line-height:var(--lh-head);color:var(--tx);text-wrap:balance}
.cta p{margin:14px 0 0;font-size:16px;line-height:var(--lh-body);color:var(--tx2);max-width:560px;text-wrap:pretty}
.cta-row{margin-top:30px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:center}
.cta-more{font-size:16px;font-weight:700;color:var(--tx);text-decoration:none}
.foot{background:var(--ink);border-top:1px solid var(--ln)}
.foot-in{max-width:var(--maxw);margin:0 auto;padding:var(--sp-8) var(--section-pad-x);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px}
.foot-in img{height:88px;width:auto;display:block}
.foot-links{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14px}
.foot-links a{color:var(--tx2);text-decoration:none}
.foot-c{font-size:12px;color:var(--tx2)}
