/* Freedom Fulfilment site, m2348 (Austin msg 2348): charcoal and white, Inter, Ecomflow-style structure, topographic line language */
:root{--bg:#141416;--bg2:#1a1a1d;--card:#1d1d21;--card2:#232328;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.15);--tx:#fafafa;--tx2:#a1a1aa;--tx3:#71717a;--ok:#4ade80;--r:18px;--wrap:1180px;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--fb);font-size:var(--fs-lg);line-height:1.55;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}
a{color:inherit;text-decoration:none}img,svg{max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.topo{position:absolute;inset:0;background:url(/assets/topo.svg) center/cover no-repeat;opacity:.1;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 80%)}
.glow{position:absolute;pointer-events:none;border-radius:50%;filter:blur(110px);opacity:.07;background:#fff}
.shp{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:0 0 auto}
/* top strip (Ecomflow eyebrow) */
.topbar{border-bottom:1px solid var(--line);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--tx3)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:36px;gap:16px}
.topbar span{display:inline-flex;align-items:center;gap:8px}.topbar span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(74,222,128,.15)}
.topbar a{letter-spacing:0;text-transform:none;font-size:var(--fs-xs);color:var(--tx2)}.topbar a:hover{color:var(--tx)}
/* nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(20,20,22,.78);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:28px;height:66px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:24px;filter:invert(1) brightness(1.1)}
.nav ul{display:flex;gap:2px;list-style:none;margin:0 0 0 12px;padding:0}
.nav ul a{display:block;padding:9px 13px;border-radius:999px;font-size:var(--fs-base);color:var(--tx2);transition:color .2s,background .2s}
.nav ul a:hover,.nav ul a.on{color:var(--tx);background:rgba(255,255,255,.06)}
.nav .sp{flex:1}.nav .login{font-size:var(--fs-base);color:var(--tx2);padding:9px 12px}.nav .login:hover{color:var(--tx)}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line2);background:none;border-radius:12px;color:var(--tx);cursor:pointer}
/* buttons: white primary, grey outline secondary, everywhere */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;font:500 var(--fs-md)/1 inherit;font-family:inherit;border:1px solid transparent;cursor:pointer;transition:transform .2s var(--ease),background .2s,border-color .2s,color .2s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn.pri{background:#fafafa;color:#141416}.btn.pri:hover{background:#fff}
.btn.gh{background:rgba(255,255,255,.03);border-color:var(--line2);color:var(--tx)}.btn.gh:hover{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.06)}
.btn.sm{min-height:40px;padding:0 18px;font-size:var(--fs-base)}
.btn .ar{transition:transform .25s var(--ease)}.btn:hover .ar{transform:translateX(3px)}
/* type: smaller, lighter headers */
.kick{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2)}
.kick::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tx2)}
.chap{font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3)}.chap b{color:var(--tx);font-weight:500}
h1,h2,h3{margin:0;letter-spacing:-.035em;font-weight:500;line-height:1.06}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-xl);letter-spacing:-.02em;line-height:1.25;font-weight:550}
.lead{font-size:var(--fs-lead);color:var(--tx2);max-width:600px}
.soft{color:var(--tx3)}
.muted{color:var(--tx2)}.dim{color:var(--tx3)}
section{position:relative}
.sec{padding:110px 0}.sec.tight{padding:72px 0}
.sec-h{max-width:720px;margin-bottom:48px}.sec-h.c{margin-left:auto;margin-right:auto;text-align:center}.sec-h.c .lead{margin-left:auto;margin-right:auto}
.sec-h h2{margin:16px 0 16px}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent)}
/* hero */
.hero{overflow:hidden;padding:96px 0 84px;border-bottom:1px solid var(--line)}
.hero .topo{opacity:.16}
.hero-in{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{margin:20px 0 22px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 18px}
.hero .note{font-size:var(--fs-sm);color:var(--tx3)}
.video-slot{display:none;position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;border:1px solid var(--line2);background:#000;margin-top:28px}
.video-slot.on{display:block}.video-slot iframe,.video-slot video{position:absolute;inset:0;width:100%;height:100%;border:0}
.hstats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:22px;border-top:1px solid var(--line)}
.hstats.three{grid-template-columns:repeat(3,1fr)}
.hstats div{padding:20px 0 0}.hstats b{display:block;font-size:var(--fs-stat);font-weight:400;letter-spacing:-.04em;line-height:1}.hstats span{display:block;font-size:var(--fs-sm);color:var(--tx3);margin-top:8px}
.live{display:inline-flex;align-items:center;gap:6px}.live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.5)}70%{box-shadow:0 0 0 7px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
[data-saved-wrap]{display:none}.has-saved [data-saved-wrap]{display:block}
/* hero visual: supply chain flow */
.flowcard{position:relative;aspect-ratio:1/0.94;border-radius:26px;border:1px solid var(--line2);background:radial-gradient(110% 90% at 70% 15%,#26262b 0%,#17171a 60%);overflow:hidden}
.flowcard .topo{opacity:.22;-webkit-mask-image:none;mask-image:none}
.flowcard svg.fl{position:absolute;inset:0;width:100%;height:100%}
.node{position:absolute;display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:14px;background:rgba(26,26,29,.9);border:1px solid var(--line2);backdrop-filter:blur(8px);font-size:var(--fs-sm);white-space:nowrap;transform:translate(-50%,-50%)}
.node .ni{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line);flex:0 0 auto}
.node .ni img{width:16px;height:16px;filter:invert(1)}.node .ni svg{width:16px;height:16px}
.node b{display:block;font-size:var(--fs-sm);font-weight:550}.node span{display:block;font-size:var(--fs-2xs);color:var(--tx3)}
.node.core{padding:14px 18px;background:#fafafa;color:#141416;border-color:#fafafa;box-shadow:0 20px 60px -20px rgba(255,255,255,.25)}
.node.core span{color:#52525b}.node.core .ni{background:#141416;border-color:#141416}.node.core .ni img{filter:none;width:18px;height:18px}
.node.core .tags{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.node.core .tags i{font-style:normal;font-size:var(--fs-2xs);padding:2px 7px;border-radius:999px;background:#ececee;color:#3f3f46}
.flow{stroke-dasharray:5 9;animation:dash 1.4s linear infinite}@keyframes dash{to{stroke-dashoffset:-28}}
.pkt{offset-rotate:0deg;animation:move 3.6s var(--ease) infinite}
@keyframes ring{0%{r:10;opacity:.5}100%{r:46;opacity:0}}.ring{animation:ring 2.8s ease-out infinite}
/* outcome stats */
.outs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.outs.four{grid-template-columns:repeat(4,1fr)}
.outs>div{background:var(--bg);padding:36px 30px}
.outs b{display:block;font-size:var(--fs-display);font-weight:400;letter-spacing:-.05em;line-height:1}
.outs h3{margin:18px 0 8px;font-size:var(--fs-xl)}.outs p{margin:0;color:var(--tx2);font-size:var(--fs-md)}
.foot-note{font-size:var(--fs-xs);color:var(--tx3);margin-top:16px}
/* before / after toggle: crossfade in one grid cell, sliding pill */
.ba{border:1px solid var(--line2);border-radius:26px;background:var(--bg2);overflow:hidden}
.ba-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tog{position:relative;display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;border-radius:999px;background:#0e0e10;border:1px solid var(--line2)}
.tog::before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:#fafafa;transition:transform .55s var(--ease)}
.tog[data-on="1"]::before{transform:translateX(100%)}
.tog button{position:relative;z-index:1;min-height:40px;padding:0 18px;border-radius:999px;border:0;background:none;color:var(--tx2);font:500 var(--fs-base) inherit;font-family:inherit;cursor:pointer;transition:color .45s var(--ease);white-space:nowrap}
.tog button.on{color:#141416}
.ba-body{display:grid}
.ba-pane{grid-area:1/1;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;opacity:0;transform:translateY(10px) scale(.99);filter:blur(4px);transition:opacity .6s var(--ease),transform .6s var(--ease),filter .6s var(--ease);pointer-events:none}
.ba-pane.on{opacity:1;transform:none;filter:none;pointer-events:auto}
.ba-pane ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ba-pane li{display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02);font-size:var(--fs-md);transition:transform .6s var(--ease),opacity .6s var(--ease)}
.ba-pane li i{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:var(--fs-xs);font-weight:700;margin-top:1px}
.ba-pane:not(.on) li{transform:translateY(8px);opacity:0}
.ba-pane.on li:nth-child(2){transition-delay:.05s}.ba-pane.on li:nth-child(3){transition-delay:.1s}.ba-pane.on li:nth-child(4){transition-delay:.15s}.ba-pane.on li:nth-child(5){transition-delay:.2s}
.bad li i{background:rgba(248,113,113,.14);color:#f87171}.good li i{background:rgba(74,222,128,.14);color:var(--ok)}
.ba-pane h3{font-size:var(--fs-3xl);margin-bottom:12px;font-weight:500}
/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.bx{position:relative;overflow:hidden;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(180deg,var(--card2),var(--card));padding:28px;min-height:240px;display:flex;flex-direction:column;transition:border-color .3s}
.bx:hover{border-color:var(--line2)}
.bx .topo{opacity:.08;-webkit-mask-image:linear-gradient(180deg,transparent,#000 60%);mask-image:linear-gradient(180deg,transparent,#000 60%)}
.bx.s2{grid-column:span 2}.bx.s3{grid-column:span 3}.bx.s4{grid-column:span 4}
.bx .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line2);color:var(--tx);margin-bottom:20px}
.bx h3{margin-bottom:10px}.bx p{margin:0;color:var(--tx2);font-size:var(--fs-md);max-width:460px}
.bx .big{margin-top:auto;padding-top:24px;font-size:var(--fs-5xl);font-weight:400;letter-spacing:-.04em}.bx .big small{font-size:var(--fs-sm);color:var(--tx3);font-weight:400;letter-spacing:0;margin-left:8px}
.bx .vis{margin-top:auto;padding-top:22px}
/* journey */
.jr{display:grid;gap:16px}
.lane{border:1px solid var(--line);border-radius:var(--r);padding:24px 26px;background:var(--bg2)}
.lane.us{border-color:rgba(255,255,255,.22);background:linear-gradient(90deg,rgba(255,255,255,.05),var(--bg2) 60%)}
.lane-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:22px;flex-wrap:wrap}
.lane-h b{font-size:var(--fs-lg);font-weight:550}.lane-h .t{font-size:var(--fs-4xl);font-weight:400;letter-spacing:-.03em}.lane-h .t small{font-size:var(--fs-sm);color:var(--tx3);letter-spacing:0;margin-left:6px}
.steps{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:relative}
.steps::before{content:"";position:absolute;left:12px;right:12px;top:11px;height:2px;background:var(--line2)}
.lane.us .steps::before{background:#fafafa;transform-origin:left;transform:scaleX(0);transition:transform 1.4s var(--ease) .2s}
.lane.us.in .steps::before{transform:scaleX(1)}
.st{position:relative;padding-right:12px}
.st i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--bg);border:2px solid var(--line2);position:relative;z-index:1}
.lane.us .st i{border-color:#fafafa;background:#141416}
.st b{display:flex;align-items:center;gap:6px;margin-top:14px;font-size:var(--fs-base);font-weight:550}.st span{font-size:var(--fs-sm);color:var(--tx3)}
/* app mock: real app.freedomfulfilment.com look (white), 1280x800 scaled to fit */
.appf{position:relative;border-radius:18px;border:1px solid var(--line2);background:#e9e9ec;overflow:hidden;box-shadow:0 50px 120px -50px rgba(0,0,0,.9)}
.appf-bar{display:flex;align-items:center;gap:8px;height:38px;padding:0 16px;background:#f4f4f5;border-bottom:1px solid #e4e4e7;font-size:var(--fs-xs);color:#71717a}
.appf-bar i{width:10px;height:10px;border-radius:50%;background:#d4d4d8}.appf-bar .url{margin:0 auto;padding:4px 14px;border-radius:8px;background:#fff;border:1px solid #e4e4e7;color:#52525b;display:flex;align-items:center;gap:6px}
.appf-bar .tag{margin-left:auto;font-size:var(--fs-2xs)}
.appf-vp{position:relative;overflow:hidden}
.app{width:1280px;height:800px;transform-origin:0 0;display:flex;background:#fff;color:#111827;font-family:var(--fb);font-size:var(--fs-base);line-height:1.45;text-align:left}
.app *{box-sizing:border-box}
.app-side{width:240px;flex:0 0 240px;border-right:1px solid #f0f0f0;background:#fff;display:flex;flex-direction:column;padding-bottom:12px}
.app-logo{padding:18px 20px 30px;min-height:60px}.app-logo img{height:28px;width:auto;display:block}
.app-lab{padding:16px 24px 6px;font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#9ca3af}
.app-nav{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:10px 16px;margin:2px 12px;border-radius:10px;font-size:var(--fs-base);font-weight:500;color:#6b7280;cursor:pointer;transition:background .15s,color .15s}
.app-nav:hover{background:#f5f5f5;color:#111827}.app-nav.on{background:#ebebeb;color:#111827;font-weight:600}
.app-nav svg{width:16px;height:16px;flex:0 0 auto}
.app-foot{margin-top:auto;padding:12px 16px;border-top:1px solid #f0f0f0;font-size:var(--fs-xs);color:#9ca3af}
.app-main{flex:1;min-width:0;padding:30px 40px;overflow:hidden;background:#fff;position:relative}
.app-pane{display:none;animation:apin .35s var(--ease)}.app-pane.on{display:block}@keyframes apin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.app h4{font-size:var(--fs-4xl);font-weight:700;letter-spacing:-.5px;margin:0 0 4px;color:#111827;line-height:1.2}
.app .sub{font-size:var(--fs-base);color:#6b7280;margin:0 0 24px}
.app-tabs{display:flex;gap:22px;border-bottom:1px solid #e5e7eb;margin:-6px 0 20px}.app-tabs span{padding:0 0 10px;font-size:var(--fs-sm);color:#6b7280;border-bottom:2px solid transparent}.app-tabs span.on{color:#111827;border-color:#111827;font-weight:500}
.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.app-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px 22px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.app-card h5{margin:0 0 12px;font-size:var(--fs-sm);font-weight:500;color:#6b7280}
.app-card .m{font-size:var(--fs-4xl);font-weight:700;letter-spacing:-.5px;line-height:1;color:#111827}
.app-card .d{display:inline-block;margin-top:10px;font-size:var(--fs-xs);font-weight:600;color:#15803d;background:#f0fdf4;padding:2px 9px;border-radius:999px}
.app-two{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}
.bars{display:flex;align-items:flex-end;gap:5px;height:150px;padding-top:8px}.bars i{flex:1;background:#111;border-radius:4px 4px 0 0;transform-origin:bottom;animation:grow .8s var(--ease) both}
@keyframes grow{from{transform:scaleY(0)}}
.app-perf{display:grid;grid-template-columns:1fr 1fr;gap:12px}.app-perf div{background:#f9fafb;border-radius:8px;padding:16px 12px;text-align:center}.app-perf b{display:block;font-size:var(--fs-2xl);font-weight:700;color:#111827}.app-perf span{font-size:var(--fs-2xs);color:#6b7280}.app-perf .g{background:#f0fdf4}.app-perf .g b{color:#16a34a}
.app-tbl{width:100%;border-collapse:collapse;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;display:table}
.app-tbl th{background:#f9fafb;color:#374151;font-weight:600;font-size:var(--fs-sm);text-align:left;padding:11px 16px;border-bottom:1px solid #e5e7eb}
.app-tbl td{padding:11px 16px;border-bottom:1px solid #f0f0f0;font-size:var(--fs-sm);color:#111827;white-space:nowrap}
.app-tbl tr.ck{cursor:pointer}.app-tbl tr.ck:hover td{background:#fafafa}
.app-tbl .lnk{color:#2563eb}
.pl{display:inline-block;padding:2px 10px;border-radius:999px;font-size:var(--fs-2xs);font-weight:600}
.pl.g{background:#ecfdf5;color:#047857}.pl.b{background:#eff6ff;color:#1d4ed8}.pl.y{background:#fefce8;color:#a16207}.pl.r{background:#fef2f2;color:#b91c1c}.pl.n{background:#f4f4f5;color:#52525b}
.thumb{display:inline-block;width:30px;height:30px;border-radius:8px;vertical-align:middle;margin-right:10px;border:1px solid #e5e7eb}
.app-tools{display:flex;gap:10px;margin-bottom:16px}.app-tools span{display:inline-flex;align-items:center;height:36px;padding:0 16px;border:1px solid #e5e7eb;border-radius:999px;font-size:var(--fs-sm);color:#6b7280}.app-tools .srch{flex:0 0 280px}
.app-dr{position:absolute;top:0;right:0;bottom:0;width:420px;background:#fff;border-left:1px solid #e5e7eb;box-shadow:-20px 0 40px rgba(0,0,0,.06);padding:28px;transform:translateX(105%);transition:transform .45s var(--ease);z-index:3}
.app-dr.on{transform:none}
.app-dr .x{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;background:none;font-size:var(--fs-2xl);color:#6b7280;cursor:pointer;border-radius:999px}
.app-dr h6{font-size:var(--fs-2xl);font-weight:700;margin:0 0 4px;color:#111827}
.tl{list-style:none;margin:20px 0 0;padding:0}.tl li{position:relative;padding:0 0 18px 26px;font-size:var(--fs-sm);color:#374151}.tl li::before{content:"";position:absolute;left:5px;top:5px;width:10px;height:10px;border-radius:50%;background:#111}.tl li::after{content:"";position:absolute;left:9px;top:17px;bottom:0;width:2px;background:#e5e7eb}.tl li:last-child::after{display:none}.tl li.off::before{background:#d4d4d8}.tl li span{display:block;font-size:var(--fs-xs);color:#9ca3af}
.app-hint{position:absolute;right:18px;bottom:16px;font-size:var(--fs-xs);color:#9ca3af}
.tapme{animation:tap 2.4s ease-in-out 1.5s 2}@keyframes tap{50%{background:#f3f4f6}}
/* results */
.res{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rc{border:1px solid var(--line);border-radius:var(--r);padding:28px;background:var(--bg2);position:relative;overflow:hidden;display:flex;flex-direction:column}
.rc .cat{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--tx2)}
.rc b{display:block;font-size:var(--fs-6xl);font-weight:400;letter-spacing:-.045em;margin:24px 0 4px;line-height:1}
.rc .l{font-size:var(--fs-base);color:var(--tx2)}.rc p{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--tx2);font-size:var(--fs-md)}
.rc ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}.rc li{display:flex;gap:10px;font-size:var(--fs-base);color:var(--tx2)}.rc li::before{content:"";flex:0 0 6px;height:6px;border-radius:50%;background:var(--tx);margin-top:8px}
.rc .per{margin-top:auto;padding-top:18px;font-size:var(--fs-xs);color:var(--tx3)}
/* how it works: animated stepper */
.how{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.how::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:1px;background:var(--line2)}
.how::after{content:"";position:absolute;left:24px;right:24px;top:24px;height:1px;background:#fafafa;transform-origin:left;transform:scaleX(0);transition:transform 2.2s var(--ease) .3s}
.how.in::after{transform:scaleX(1)}
.hw{position:relative}
.hw .n{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--bg);border:1px solid var(--line2);font-size:var(--fs-sm);font-weight:500;color:var(--tx);transition:background .5s,color .5s,border-color .5s}
.how.in .hw .n{background:#fafafa;color:#141416;border-color:#fafafa}
.how.in .hw:nth-child(2) .n{transition-delay:.7s}.how.in .hw:nth-child(3) .n{transition-delay:1.3s}.how.in .hw:nth-child(4) .n{transition-delay:1.9s}
.hw .art{margin:18px 0 18px;height:150px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,var(--card2),var(--card));position:relative;overflow:hidden}
.hw .art svg{position:absolute;inset:0;width:100%;height:100%}
.hw h3{margin:0 0 8px;font-size:var(--fs-xl)}.hw p{margin:0;color:var(--tx2);font-size:var(--fs-md)}.hw .t{display:block;font-size:var(--fs-xs);color:var(--tx3);margin-top:10px}
/* step art animations (run once the section is in view) */
.a-line{stroke-dasharray:120;stroke-dashoffset:120}.in .a-line{animation:draw 1.2s var(--ease) forwards}
.in .a-line.d2{animation-delay:.25s}.in .a-line.d3{animation-delay:.5s}
@keyframes draw{to{stroke-dashoffset:0}}
.a-file{transform:translateY(-36px);opacity:0}.in .a-file{animation:drop 1s var(--ease) .9s forwards}@keyframes drop{to{transform:none;opacity:1}}
.a-bar{transform-box:fill-box;transform-origin:left;transform:scaleX(0)}.in .a-bar{animation:barx 1s var(--ease) forwards}.in .a-bar.d2{animation-delay:.2s}.in .a-bar.d3{animation-delay:.4s}
@keyframes barx{to{transform:scaleX(1)}}
.a-tick{opacity:0}.in .a-tick{animation:fadein .4s ease 1.4s forwards}@keyframes fadein{to{opacity:1}}
.a-dot{offset-path:path("M70 75 H190");animation:none}.in .a-dot{animation:along 2.2s var(--ease) infinite}.in .a-dot.r{offset-path:path("M190 85 H70");animation-delay:1.1s}
@keyframes along{from{offset-distance:0%;opacity:0}15%{opacity:1}85%{opacity:1}to{offset-distance:100%;opacity:0}}
.a-box{offset-path:path("M40 112 C 90 112, 110 50, 160 52 S 220 60, 228 46");offset-rotate:0deg}.in .a-box{animation:along 3.2s var(--ease) infinite}
/* faq */
.faq{border-top:1px solid var(--line)}
.fq{border-bottom:1px solid var(--line)}
.fq button{all:unset;box-sizing:border-box;width:100%;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 4px;cursor:pointer;font-size:var(--fs-xl);font-weight:500;letter-spacing:-.01em;min-height:44px}
.fq button::after{content:"+";font-size:var(--fs-3xl);font-weight:300;color:var(--tx3);transition:transform .3s var(--ease)}
.fq.on button::after{transform:rotate(45deg)}
.fq .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}.fq.on .a{grid-template-rows:1fr}
.fq .a>div{overflow:hidden;color:var(--tx2);font-size:var(--fs-md);max-width:760px}.fq .a p{margin:0 4px 22px}
.faq-g{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
/* cta */
.cta-band{position:relative;overflow:hidden;border-radius:30px;border:1px solid var(--line2);padding:84px 40px;text-align:center;background:radial-gradient(80% 120% at 50% 110%,rgba(255,255,255,.09),transparent 60%),var(--bg2)}
.cta-band .topo{opacity:.16}
.cta-band h2{margin:16px auto 16px;max-width:720px}.cta-band .lead{margin:0 auto 30px}
.cta-band .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative}
input[type=text],input[type=email],select{width:100%;min-height:50px;border-radius:14px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--tx);padding:0 16px;font:var(--fs-lg) inherit;font-family:inherit}
input::placeholder{color:var(--tx3)}input:focus,select:focus{outline:2px solid #a1a1aa;outline-offset:1px;border-color:transparent}
/* page hero (inner pages) */
.phero{padding:100px 0 64px;border-bottom:1px solid var(--line);overflow:hidden}
.phero h1{font-size:var(--fs-h1);margin:18px 0 18px;max-width:860px}
/* changelog / updates */
.log{display:grid;grid-template-columns:200px 1fr;gap:40px;padding:40px 0;border-bottom:1px solid var(--line)}
.log .d{font-size:var(--fs-base);color:var(--tx3);position:sticky;top:100px;align-self:start}
.log .d b{display:block;color:var(--tx);font-size:var(--fs-md);margin-bottom:6px;font-weight:500}
.log h3{font-size:var(--fs-2xl);margin-bottom:14px}.log ul{margin:0;padding-left:20px;color:var(--tx2)}.log li{margin:8px 0}
.log .tags{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:var(--fs-2xs);font-weight:500;background:rgba(255,255,255,.08);color:var(--tx2)}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.post{border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);overflow:hidden;display:flex;flex-direction:column}
.post .img{aspect-ratio:16/9;position:relative;overflow:hidden;background:radial-gradient(90% 90% at 30% 20%,#2a2a2f,#17171a)}
.post .img .topo{opacity:.3;-webkit-mask-image:none;mask-image:none}
.post .img .lbl{position:absolute;left:18px;bottom:16px;font-size:var(--fs-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--tx)}
.post .bd{padding:24px}.post .bd span{font-size:var(--fs-sm);color:var(--tx3)}.post h3{margin:10px 0 10px;font-size:var(--fs-xl)}.post p{margin:0;color:var(--tx2);font-size:var(--fs-md)}
/* footer */
.foot{border-top:1px solid var(--line);padding:70px 0 40px;margin-top:40px;position:relative;overflow:hidden}
.foot-g{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.foot h4{margin:0 0 16px;font-size:var(--fs-xs);font-weight:500;color:var(--tx3);letter-spacing:.12em;text-transform:uppercase}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.foot ul a{color:var(--tx2);font-size:var(--fs-base)}.foot ul a:hover{color:var(--tx)}
.foot-b{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:60px;padding-top:24px;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--tx3)}
.wordmark{font-size:clamp(56px,11.5vw,164px);font-weight:600;letter-spacing:-.06em;line-height:.9;margin-top:60px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0));-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
/* apply modal (light card) */
.ov{position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);display:none;align-items:flex-start;justify-content:center;padding:28px 16px;overflow:auto;z-index:80}
.ov.on{display:flex}
.box{background:#fafafa;color:#18181b;border-radius:24px;width:min(580px,100%);padding:32px;position:relative;box-shadow:0 40px 100px rgba(0,0,0,.6)}
.box h3{font-size:var(--fs-3xl);margin:0 0 6px;color:#141416;font-weight:600}.box .ld{color:#52525b;font-size:var(--fs-base);margin:0 0 20px}
.box label{display:block;font-size:var(--fs-sm);font-weight:600;margin:14px 0 6px;color:#27272a}
.box input[type=text],.box input[type=email]{background:#fff;border:1px solid #d4d4d8;color:#141416}
.box input:focus{outline:2px solid #18181b}
.box .help{font-size:var(--fs-xs);color:#71717a;margin-top:6px}
.x{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:999px;border:0;background:none;font-size:var(--fs-3xl);color:#71717a;cursor:pointer}
.file{display:flex;align-items:center;gap:12px;border:1.5px dashed #c4c4c8;border-radius:14px;padding:14px 16px;cursor:pointer;min-height:56px;font-size:var(--fs-base);color:#52525b;background:#fff}
.howto{background:#f0f0f1;border-radius:14px;padding:12px 14px;font-size:var(--fs-sm);color:#52525b;margin-top:8px}.howto ol{margin:6px 0 0;padding-left:18px}
.err{color:#b91c1c;font-size:var(--fs-sm);margin-top:12px;min-height:18px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.box .btn.pri{background:#18181b;color:#fff;margin-top:6px;padding:0 30px}.box .btn.pri:hover{background:#000}.box .btn[disabled]{opacity:.6;cursor:wait}
.box .acts{display:flex;justify-content:flex-start}
.thanks{text-align:center;padding:24px 4px}.thanks .tick{width:64px;height:64px;border-radius:999px;background:#dcfce7;color:#166534;display:flex;align-items:center;justify-content:center;font-size:var(--fs-4xl);margin:0 auto 16px}
/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.flow,.ring,.bars i,.pkt{animation:none}.ba-pane,.tog::before{transition:none}}
/* responsive */
@media (max-width:1020px){.hero-in{grid-template-columns:1fr}.flowcard{max-width:560px}.bento{grid-template-columns:repeat(2,1fr)}.bx.s2,.bx.s3,.bx.s4{grid-column:span 2}.how{grid-template-columns:1fr 1fr}.how::before,.how::after{display:none}.res,.cards3{grid-template-columns:1fr}.foot-g{grid-template-columns:1fr 1fr}.ba-pane{grid-template-columns:1fr}.outs.four{grid-template-columns:1fr 1fr}.faq-g{grid-template-columns:1fr;gap:24px}}
@media (max-width:760px){.nav ul,.nav .login{display:none}.burger{display:grid;place-items:center}.nav.open ul{display:grid;position:absolute;top:66px;left:0;right:0;background:#141416;border-bottom:1px solid var(--line);padding:12px 16px;margin:0}.nav.open ul a{padding:14px}.nav .btn.sm{display:none}
.topbar a{display:none}.sec{padding:76px 0}.hero{padding:60px 0 56px}.outs,.outs.four{grid-template-columns:1fr}.how{grid-template-columns:1fr}.steps{grid-auto-flow:row;gap:16px}.steps::before{left:11px;right:auto;top:12px;bottom:12px;width:2px;height:auto;transform-origin:top}.lane.us .steps::before{transform:scaleY(0)}.lane.us.in .steps::before{transform:scaleY(1)}.st{display:grid;grid-template-columns:24px 1fr;gap:14px;align-items:start}.st b{margin-top:2px}.st span{grid-column:2}.log{grid-template-columns:1fr;gap:12px}.log .d{position:static}.foot-g{grid-template-columns:1fr}.bento{grid-template-columns:1fr}.bx.s2,.bx.s3,.bx.s4{grid-column:auto}.cta-band{padding:56px 22px}.ba-pane{padding:22px}.tog button{padding:0 12px;font-size:var(--fs-sm)}.hstats.three{grid-template-columns:1fr 1fr}.node{font-size:var(--fs-xs);padding:9px 11px}.node .ni{width:26px;height:26px}
/* app mock on phones: the portal's own mobile layout instead of a scaled desktop */
.app{width:100%!important;height:auto!important;transform:none!important;flex-direction:column}.app-side{width:100%;flex:none;flex-direction:row;align-items:center;overflow-x:auto;border-right:0;border-bottom:1px solid #f0f0f0;padding:6px 8px;scrollbar-width:none}.app-side::-webkit-scrollbar{display:none}.app-logo,.app-lab,.app-foot{display:none}.app-nav{margin:0 2px;padding:10px 12px;white-space:nowrap;min-height:40px}
.app-main{padding:20px 16px 22px}.app h4{font-size:var(--fs-2xl)}.app-grid{grid-template-columns:1fr 1fr;gap:10px}.app-card{padding:14px}.app-card .m{font-size:var(--fs-2xl)}.app-two{grid-template-columns:1fr}.app-tbl{display:block;overflow-x:auto}.app-tools .srch{flex:1}.app-dr{width:100%}.app-hint{display:none}.appf-bar .tag{display:none}}
.has-saved .hstats{grid-template-columns:repeat(3,1fr)}
.node .ni svg.mk{width:15px;height:15px}
.flowcap{position:absolute;left:18px;bottom:14px;font-size:var(--fs-2xs);color:var(--tx3)}
.shopline{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--tx2);margin-top:14px}
.app .shp{width:14px;height:14px;color:#5e8e3e;vertical-align:-2px}
@media (max-width:760px){.has-saved .hstats{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.topbar{display:none}.app-dr .x{width:44px;height:44px}}
/* ===== m2401 (Austin msg 2401): Freedom Club type + UI tweaks, Ecomflow header layout, no announcement bar ===== */
/* m2693 T1: Switzer (one family) is self-hosted, declared inline in each page head */
:root{--fd:"Switzer",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--fb:"Switzer",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--fbtn:"Switzer",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--r:24px;--line2:rgba(255,255,255,.15)}
body{font-family:var(--fb);letter-spacing:.015em}
/* headlines: FC display face, bold, normal tracking (FC h1 48/57.6, h2 40/52) */
h1,h2,h3,.ba-pane h3{font-family:var(--fd);font-weight:500;letter-spacing:-.005em}
h1{line-height:1.2}h2{line-height:1.3}h3{line-height:1.3;letter-spacing:0}
.hstats b,.outs b,.rc b,.bx .big,.lane-h .t{font-family:var(--fd);font-weight:500;letter-spacing:-.01em}
/* sub-headlines: FC Open Sans light, 17/1.7, +0.24px, 70% white */
.lead,.hero .lead,.sec-h .lead{font-family:var(--fb);font-weight:300;line-height:1.7;letter-spacing:.015em;color:rgba(230,230,230,.72)}
.muted,.bx p,.outs p,.rc p,.ba-pane li{font-family:var(--fb)}
/* keep UI chrome on Inter like FC's nav */
.nav ul a,.nav .login,.kick,.chap,.node,.app,.app *,.appf-bar,.tog button{font-family:var(--fb)}
.kick,.chap{letter-spacing:.14em}
/* buttons: FC pill, Google Sans 500, 50px, white primary / dark outline secondary */
.btn{font-family:var(--fbtn);font-weight:500;font-size:var(--fs-lg);min-height:50px;padding:0 30px;border-radius:40px;letter-spacing:0}
.btn.gh{background:rgba(13,13,13,.6);border-color:rgba(255,255,255,.15)}
.btn.pri{color:#0d0d0d}
.btn.sm{min-height:42px;padding:0 20px;font-size:var(--fs-md)}
/* cards: FC 1px 15% hairline, 24-25px radius, roomier padding */
.bx,.lane,.post,.ba,.flowcard,.cta-band,.rc{border-color:rgba(255,255,255,.13)}
.bx{padding:32px}.lane{padding:28px 30px}
.flowcard,.ba{border-radius:28px}
/* header bar: Ecomflow layout, logo left, nav centred, CTA right, sticky, 78px, blur 20 */
.topbar{display:none!important}
.nav{background:rgba(20,20,22,.82);backdrop-filter:saturate(160%) blur(20px);-webkit-backdrop-filter:saturate(160%) blur(20px)}
.nav .wrap{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;height:78px}
.nav .brand{justify-self:start}.nav ul{margin:0;justify-self:center}.nav .sp{display:none}
.nav .acts{justify-self:end;display:flex;align-items:center;gap:8px}
@media (max-width:1020px){.nav ul a{padding:9px 9px;font-size:var(--fs-base)}}
@media (max-width:760px){.nav .wrap{grid-template-columns:1fr auto auto;gap:8px;height:68px}.nav .acts .btn.sm{display:inline-flex;min-height:44px;padding:0 18px}.nav.open ul{top:68px}.burger{justify-self:end}}
/* ===== m2419 (Austin msg 2419): hero refresh, case studies, growth, changelog, app preview matched to the live app ===== */
.hero{padding:104px 0 0}
.hero .ctas{margin:34px 0 0}
.hmeta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-size:var(--fs-sm);color:var(--tx3)}
.hmeta span{display:inline-flex;align-items:center;gap:8px}
.hmeta span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--tx3)}
.hmeta span:first-child::before{display:none}.hmeta .shp{width:14px;height:14px}
.hero .hstats,.has-saved .hero .hstats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:72px 0 0;border-top:1px solid var(--line);border-bottom:0}
.hero .hstats>div{padding:30px 0 34px 36px;border-left:1px solid var(--line)}
.hero .hstats>div:first-child{padding-left:0;border-left:0}
.hero .hstats b{font-size:var(--fs-stat);line-height:1;white-space:nowrap}
.hero .hstats .lb{display:flex;align-items:center;gap:0;font-size:var(--fs-base);color:var(--tx3);margin-top:12px}
[data-saved-wrap]{display:block}
.hstats .dot{display:inline-block;flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#4ade80;margin-right:9px;animation:ffblink 2.4s ease-in-out infinite}
@keyframes ffblink{0%,100%{opacity:1}50%{opacity:.35}}
/* home: case study rows */
.csm-list{border-top:1px solid var(--line)}
.csm{display:grid;grid-template-columns:230px 170px 1fr 28px;gap:28px;align-items:center;padding:28px 6px;border-bottom:1px solid var(--line);transition:background .25s}
.csm:hover{background:rgba(255,255,255,.02)}
.csm .cat,.cs .cat{font-size:var(--fs-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2);font-family:var(--fb)}
.csm b{font-family:var(--fd);font-weight:500;font-size:var(--fs-5xl);line-height:1;letter-spacing:-.01em}
.csm p{margin:0;color:var(--tx2);font-size:var(--fs-md)}
.csm .ar{color:var(--tx3);transition:transform .25s var(--ease),color .25s}.csm:hover .ar{transform:translateX(4px);color:var(--tx)}
/* results: full-width case studies */
.css{display:grid;gap:18px}
.cs{display:grid;grid-template-columns:320px 1fr;border:1px solid rgba(255,255,255,.13);border-radius:var(--r);background:var(--bg2);overflow:hidden;scroll-margin-top:100px}
.cs-l{padding:40px 36px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}
.cs .fig{display:block;font-family:var(--fd);font-weight:500;font-size:var(--fs-7xl);line-height:1;letter-spacing:-.015em;margin:28px 0 10px}
.cs .l{font-size:var(--fs-base);color:var(--tx2)}.cs .per{margin-top:auto;padding-top:28px;font-size:var(--fs-xs);color:var(--tx3)}
.cs-r{padding:40px 40px 36px;display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}
.cs-b h3{font-size:var(--fs-sm);font-family:var(--fb);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);margin:0 0 10px}
.cs-b p{margin:0;color:var(--tx2);font-size:var(--fs-md);line-height:1.65}
.cs-b.rz{grid-column:1/-1;padding-top:26px;border-top:1px solid var(--line)}
.kpis{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.kpis li{padding:0 20px;border-left:1px solid var(--line)}.kpis li:first-child{padding-left:0;border-left:0}
.kpis b{display:block;font-family:var(--fd);font-weight:500;font-size:var(--fs-3xl);line-height:1.1}
.kpis span{display:block;font-size:var(--fs-sm);color:var(--tx3);margin-top:8px;line-height:1.5}
/* how it works: growth edge */
.growth{border-top:1px solid var(--line)}
.gstats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.13);border-radius:var(--r);overflow:hidden}
.gstats div{padding:34px 32px;border-left:1px solid var(--line)}.gstats div:first-child{border-left:0}
.gstats b{display:block;font-family:var(--fd);font-weight:500;font-size:var(--fs-display);line-height:1}
.gstats span{display:block;margin-top:12px;font-size:var(--fs-base);color:var(--tx2)}
.grows{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
.grow{border:1px solid var(--line);border-radius:var(--r);padding:32px;background:var(--bg2)}
.grow .n{font-family:var(--fb);font-size:var(--fs-xs);color:var(--tx3);letter-spacing:.1em}
.grow h3{margin:14px 0 10px;font-size:var(--fs-2xl)}.grow p{margin:0;color:var(--tx2);font-size:var(--fs-md);line-height:1.65}
/* changelog */
.cl-f{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.cl-f button{all:unset;box-sizing:border-box;cursor:pointer;min-height:36px;padding:0 15px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line2);font:500 var(--fs-sm) var(--fb);color:var(--tx2);transition:background .2s,color .2s}
.cl-f button:hover{color:var(--tx)}.cl-f button.on{background:#fafafa;color:#141416;border-color:#fafafa}
.cl{border-top:1px solid var(--line)}
.cle{display:grid;grid-template-columns:170px 1fr;gap:32px;padding:30px 0;border-bottom:1px solid var(--line)}
.cle.hide{display:none}
.cle time{font-size:var(--fs-base);color:var(--tx3);padding-top:3px;font-family:var(--fb)}
.cle .tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.cle h3{font-size:var(--fs-2xl);margin:0 0 8px}.cle p{margin:0;color:var(--tx2);font-size:var(--fs-md);line-height:1.65;max-width:680px}
/* app preview: same layout as app.freedomfulfilment.com */
.app-main{padding:0!important;display:flex;flex-direction:column;height:100%}
.app-top{flex:0 0 50px;display:flex;align-items:center;gap:14px;padding:0 32px;border-bottom:1px solid #f0f0f0;font-size:var(--fs-base);font-weight:500;color:#4b5563}
.app-top svg{width:17px;height:17px;color:#6b7280}.app-top .tr-ic{margin-left:auto;display:flex;gap:20px}
.app-scroll{flex:1;min-height:0;overflow-y:auto;padding:30px 34px 40px;scrollbar-width:thin}
.app-foot span{display:block;margin-top:9px}
.app-card{border-radius:12px;padding:22px 22px;box-shadow:0 1px 3px rgba(0,0,0,.06);margin-bottom:18px;min-width:0}
.app-grid .app-card,.app-two .app-card{margin-bottom:0}
.app-grid.st4{margin-bottom:18px}.app-card .m{font-size:var(--fs-4xl)}
.app-two{grid-template-columns:1fr 1fr;margin-bottom:18px}
.sv-h{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.sv-h p,.kv p{margin:0;font-size:var(--fs-xs);color:#9ca3af}.sv-h h5,.kv h5{margin-bottom:4px}
.sv-big{text-align:right}.sv-big b{display:block;font-size:var(--fs-4xl);font-weight:700;color:#16a34a;letter-spacing:-.5px;line-height:1}.sv-big span{font-size:var(--fs-2xs);color:#9ca3af}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.tiles.t3{grid-template-columns:repeat(3,1fr);margin-top:0}
.tiles div{background:#f3f4f6;border-radius:8px;padding:14px 10px;text-align:center}.tiles b{display:block;font-size:var(--fs-xl);font-weight:700;color:#111827}.tiles span{font-size:var(--fs-2xs);color:#6b7280}
.app .cap{font-size:var(--fs-2xs);color:#9ca3af;margin:18px 0 6px}
.sline{display:block;width:100%;height:60px;margin-bottom:16px}.sline .sa{fill:rgba(22,163,74,.1)}.sline .sl{fill:none;stroke:#16a34a;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0}
.app-pane.on .sline .sl{animation:sdraw 1.3s var(--ease) both}.app-pane.on .sline .sa{animation:fadein .8s ease .5s both}
@keyframes sdraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.tw{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;overflow-x:auto;background:#fff}
.tw .app-tbl{border:0;border-radius:0;width:100%;display:table}
.app-tbl th{font-weight:500;font-size:var(--fs-sm);padding:10px 14px;white-space:nowrap}
.app-tbl td{padding:12px 14px;font-size:var(--fs-sm)}
.app-tbl tbody tr:last-child td{border-bottom:0}
.app-tbl .r{text-align:right}.app-tbl .c{text-align:center}.app-tbl th:has(+ th) {}
.app .b{font-weight:600}.app .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm);color:#374151}.app .g7{color:#6b7280}.app .dash{color:#c4c4c8}
.app-tbl td.w{white-space:normal;color:#4b5563}.app-tbl .ico svg{width:16px;height:16px;color:#6b7280}.app-tbl td svg{width:13px;height:13px;vertical-align:-2px}
.app-tbl.prod td:first-child{width:46px;padding-right:0}.app-tbl.prod .thumb,.tw.prod .thumb{margin:0}
.tw.prod td .b svg,.tw.prod td.b svg{width:13px;height:13px;margin-right:6px;color:#6b7280}
.pl.tr{display:inline-flex;align-items:center;gap:4px}.pl.tr svg{width:11px;height:11px}
.obars{display:flex;align-items:flex-end;gap:3px;height:200px}
.bc{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:200px}
.bc .v{font-size:var(--fs-micro);font-weight:500;color:#6b7280;margin-bottom:4px}.bc .dt{font-size:var(--fs-micro);color:#9ca3af;margin-top:6px;white-space:nowrap}
.bc i{display:block;width:70%;max-width:28px;background:#1a1a1a;border-radius:3px 3px 0 0;transform-origin:bottom}
.app-pane.on .bc i{animation:grow .8s var(--ease) both}.app-pane.on .bc span{animation:fadein .5s ease .35s both}
.app-perf{gap:14px}.app-perf div{background:#f3f4f6;padding:24px 12px}.app-perf b{font-size:var(--fs-2xl)}.app-perf span{font-size:var(--fs-xs)}.app-perf .g{background:#f0fdf4}
.kv{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.kvb{text-align:right}.kvb b{display:block;font-size:var(--fs-4xl);font-weight:700;letter-spacing:-.5px;line-height:1;color:#111827}.kvb.g b{color:#16a34a}.kvb span{font-size:var(--fs-2xs);color:#9ca3af}
.kv2{display:grid;grid-template-columns:1fr 1fr;margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0;text-align:center}
.kv2 b{display:block;font-size:var(--fs-xl);font-weight:700;color:#111827}.kv2 b.gtx{color:#16a34a}.kv2 span{font-size:var(--fs-2xs);color:#6b7280}
.row-h{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.row-h h5{margin:0}
.seg{display:inline-flex;background:#f3f4f6;border-radius:999px;padding:3px}
.seg button{all:unset;cursor:pointer;padding:5px 12px;border-radius:999px;font-size:var(--fs-2xs);font-weight:600;color:#6b7280}.seg button.on{background:#1a1a1a;color:#fff}
.feed{list-style:none;margin:0;padding:0}.feed li{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:var(--fs-base);color:#111827}
.feed .fi{width:28px;height:28px;border-radius:50%;background:#f0fdf4;color:#16a34a;display:grid;place-items:center;flex:0 0 28px}.feed .fi svg{width:15px;height:15px}
.feed em{margin-left:auto;font-style:normal;font-size:var(--fs-2xs);color:#9ca3af}
.addr{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:14px 18px 4px;margin-bottom:16px}
.addr-h{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;color:#92400e}.addr-h b{font-size:var(--fs-base)}.addr-h span{font-size:var(--fs-xs)}
.addr-r{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-top:1px solid #fde68a;font-size:var(--fs-sm)}
.addr-r .wr{font-size:var(--fs-sm);color:#b45309;margin-top:3px}
.addr-r button{all:unset;flex:0 0 auto;padding:9px 18px;border:1px solid #d97706;border-radius:999px;background:#fff;color:#92400e;font-size:var(--fs-sm)}
.acts-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px;margin-bottom:16px}
.acts-bar .lab{display:block;font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;margin-bottom:8px}
.acts-bar .inp{display:block;width:360px;height:38px;line-height:38px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:0 12px;font-size:var(--fs-sm);color:#9ca3af}
.ab{padding:9px 16px;border-radius:999px;font-size:var(--fs-sm);font-weight:600;border:1px solid}
.ab.y{background:#fef9c3;color:#854d0e;border-color:#fde68a}.ab.b{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.ab.i{background:#e0e7ff;color:#3730a3;border-color:#c7d2fe}.ab.r{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.ab.g{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.app-tools{align-items:center}.app-tools span{height:34px;border-radius:8px;padding:0 12px;gap:6px;color:#374151}.app-tools .srch{flex:0 0 170px;color:#9ca3af}.app-tools .chip svg{width:13px;height:13px}
.app-tools em{font-style:normal;font-size:var(--fs-xs);color:#9ca3af}
.btn-o{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;border-radius:8px;padding:7px 12px;font-size:var(--fs-sm);color:#374151}.btn-o svg{width:14px;height:14px}
.btn-d{background:#1a1a1a;color:#fff;border-radius:8px;padding:8px 14px;font-size:var(--fs-sm);font-weight:600}
.app .eyb{font-size:var(--fs-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:#6b7280}.app .sm{font-size:var(--fs-sm);color:#6b7280;margin:4px 0 14px}
.ins-g{display:grid;grid-template-columns:1.6fr 1fr;gap:26px}.app .pn{display:block;font-size:var(--fs-2xl);font-weight:700;margin-bottom:12px;color:#111827}
.mlist{list-style:none;margin:0;padding:0 0 0 22px;border-left:1px solid #f0f0f0}.mlist li{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #f3f4f6;font-size:var(--fs-sm)}.mlist b{color:#16a34a;font-weight:600}
.bund{list-style:none;margin:0;padding:0}.bund li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:11px 0;border-bottom:1px solid #f3f4f6}
.bund b{font-size:var(--fs-base);font-weight:600}.bund span{font-size:var(--fs-xs);color:#374151}.bund em{grid-column:1/-1;font-style:normal;font-size:var(--fs-xs);color:#6b7280}
.app .tip{background:#f0fdf4;border-radius:10px;padding:12px 14px;font-size:var(--fs-sm);color:#166534;margin-top:14px}
.kvs{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}.kvs div{font-size:var(--fs-base)}.kvs span{display:block;font-size:var(--fs-xs);color:#6b7280;margin-bottom:3px}.kvs i{font-style:normal;margin-left:6px}
.app .h5b{font-size:var(--fs-lg);font-weight:600;color:#111827}
@media (prefers-reduced-motion:reduce){.hstats .dot,.app-pane.on .bc i,.app-pane.on .bc span,.app-pane.on .sline .sl,.app-pane.on .sline .sa{animation:none}}
@media (max-width:1020px){.cs{grid-template-columns:1fr}.cs-l{border-right:0;border-bottom:1px solid var(--line)}.csm{grid-template-columns:200px 140px 1fr 24px;gap:20px}}
@media (max-width:760px){
.hero{padding:56px 0 0}.hero .hstats,.has-saved .hero .hstats{grid-template-columns:1fr 1fr;margin-top:48px}
.hero .hstats>div{padding:22px 0 24px 18px}.hero .hstats>div:nth-child(3){grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid var(--line)}
.hero .hstats b{font-size:var(--fs-4xl)}.hmeta{gap:8px 16px}
.csm{grid-template-columns:1fr auto;gap:8px 16px;padding:22px 2px}.csm .cat{grid-column:1/-1}.csm b{font-size:var(--fs-4xl);grid-row:2}.csm p{grid-column:1/-1}.csm .ar{grid-row:2;grid-column:2}
.cs-l{padding:28px 22px}.cs .fig{font-size:var(--fs-6xl);margin:18px 0 8px}.cs-r{grid-template-columns:1fr;padding:26px 22px;gap:22px}
.kpis{grid-template-columns:1fr 1fr;gap:20px 0}.kpis li:nth-child(3){padding-left:0;border-left:0}
.gstats{grid-template-columns:1fr}.gstats div{border-left:0;border-top:1px solid var(--line);padding:24px 22px}.gstats div:first-child{border-top:0}.grows{grid-template-columns:1fr}.grow{padding:24px}
.cle{grid-template-columns:1fr;gap:8px;padding:24px 0}
.app-main{height:auto}.app-top{padding:0 16px}.app-top .tr-ic{gap:14px}.app-scroll{max-height:620px;padding:18px 14px 24px}
.app-grid.st4,.tiles{grid-template-columns:1fr 1fr}.tiles.t3{grid-template-columns:1fr}.app-two,.app-two.eq,.ins-g,.kvs{grid-template-columns:1fr}
.sv-h,.kv{flex-direction:column}.sv-big,.kvb{text-align:left}.app-tbl{display:table!important;overflow:visible!important}
.acts-bar .inp{width:100%}.acts-bar>div{width:100%}.addr-h{flex-direction:column;gap:2px}.addr-r{flex-wrap:wrap}.app-tools{flex-wrap:wrap}.app-tools .srch{flex:1 1 100%}
.mlist{padding-left:0;border-left:0}.row-h{flex-wrap:wrap}}
.hmeta{gap:8px 18px;font-size:var(--fs-sm)}.hmeta span{white-space:nowrap}

/* ===== m2429 (Austin msg 2429 + 2431): Ecomflow-inspired upgrades, page fades ===== */
/* no white flash between pages */
html{background:#141416;color-scheme:dark}
/* cross-document page fades; the header stays put */
@view-transition{navigation:auto}
@keyframes ffvt-out{to{opacity:0}}@keyframes ffvt-in{from{opacity:0}}
::view-transition-old(root){animation:ffvt-out .28s ease both}
::view-transition-new(root){animation:ffvt-in .32s ease both}
::view-transition-group(ff-nav){animation:none}
::view-transition-old(ff-nav){display:none}
::view-transition-new(ff-nav){animation:none}
.nav{view-transition-name:ff-nav}
/* fallback fade for browsers without cross-document view transitions (class set in <head>) */
html.ff-fb body{opacity:0;transition:opacity .22s ease}
html.ff-fb.ff-in body{opacity:1}
html.ff-fb.ff-out body{opacity:0;transition-duration:.2s}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-old(root),::view-transition-new(root){animation:none}html.ff-fb body{opacity:1;transition:none}}

/* header: morphs into a floating charcoal pill once you scroll */
.nav{height:78px;transition:background-color .4s,border-color .4s,backdrop-filter .4s}
.nav .wrap{transition:max-width .6s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1),margin .5s cubic-bezier(.22,1,.36,1),background-color .4s,box-shadow .5s,border-color .4s,border-radius .5s;border:1px solid transparent;border-radius:0}
.nav.scrolled{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.nav.scrolled .wrap{max-width:1100px;height:62px;margin-top:8px;border-radius:999px;background:rgba(28,28,32,.8);border-color:rgba(255,255,255,.12);box-shadow:0 14px 45px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:saturate(160%) blur(20px);-webkit-backdrop-filter:saturate(160%) blur(20px);padding:0 10px 0 22px}
.nav ul a small{display:none}
@media (max-width:760px){
 .nav{height:68px}
 .nav.scrolled .wrap{height:56px;margin:6px 10px 0;max-width:none;padding:0 6px 0 16px}
 .nav.scrolled .burger{border-radius:999px}
 .nav.open ul{left:10px;right:10px;top:72px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(24,24,27,.97);box-shadow:0 24px 60px rgba(0,0,0,.55);padding:8px}
 .nav.open ul li+li{border-top:1px solid var(--line)}
 .nav.open ul a{display:flex;flex-direction:column;gap:3px;padding:14px 14px;border-radius:14px;color:var(--tx);font-size:var(--fs-lg)}
 .nav.open ul a small{display:block;font-family:var(--fb);font-size:var(--fs-sm);font-weight:300;color:var(--tx3);letter-spacing:.2px}
}

/* headline payoff line: same face, muted */
h1 .soft,h2 .soft{color:rgba(250,250,250,.46)}

/* hero flow card: Freedom Fulfilment on/off switch */
.fswitch{position:absolute;z-index:3;left:18px;top:18px;display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 16px 0 8px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(20,20,22,.8);color:var(--tx);font:500 var(--fs-sm)/1 var(--fbtn);cursor:pointer;backdrop-filter:blur(8px);transition:border-color .3s,background .3s}
.fswitch i{position:relative;width:36px;height:22px;border-radius:999px;background:#fafafa;transition:background .35s}
.fswitch i::after{content:"";position:absolute;top:3px;left:17px;width:16px;height:16px;border-radius:50%;background:#141416;transition:left .35s cubic-bezier(.22,1,.36,1),background .35s}
.fswitch:hover{border-color:rgba(255,255,255,.3)}
.fswitch .off-t,.flowcard .off-t{display:none}
.flowcard.off .fswitch .on-t,.flowcard.off .on-t{display:none}.flowcard.off .fswitch .off-t{display:inline}.flowcard.off .node .off-t{display:block}
.flowcard.off .fswitch i{background:rgba(255,255,255,.18)}.flowcard.off .fswitch i::after{left:3px;background:#a1a1aa}
.flowcard .node{transition:rotate .55s cubic-bezier(.22,1,.36,1),opacity .4s,border-color .4s,background .4s}
.flowcard .fl path{transition:opacity .4s,stroke-dasharray .4s}
.flowcard .fl circle[r="3.5"],.flowcard .fl rect{transition:opacity .3s}
.node.gap{opacity:0;pointer-events:none;background:rgba(20,20,22,.92);border:1px dashed rgba(255,255,255,.35);padding:14px 18px}
.node.gap .ni{border-style:dashed;color:var(--tx2)}
.node.gap .tags{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.node.gap .tags i{font-style:normal;font-size:var(--fs-2xs);padding:2px 7px;border-radius:999px;border:1px dashed rgba(255,255,255,.25);color:var(--tx2)}
.flowcard.off .node.core{opacity:0}.flowcard.off .node.gap{opacity:1}
.flowcard.off .node.n1{rotate:-4deg;border-style:dashed}.flowcard.off .node.n2{rotate:3.5deg;border-style:dashed}.flowcard.off .node.n4{rotate:-2.5deg;border-style:dashed}
.flowcard.off .fl path{animation:none;stroke-dasharray:2 11;opacity:.45}
.flowcard.off .fl circle[r="3.5"],.flowcard.off .fl rect,.flowcard.off .ring{opacity:0}
.fwarn{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;padding:12px 14px;border-radius:14px;border:1px dashed rgba(255,255,255,.22);background:rgba(20,20,22,.9);font-size:var(--fs-sm);line-height:1.5;color:var(--tx2);opacity:0;transform:translateY(8px);transition:opacity .35s,transform .45s cubic-bezier(.22,1,.36,1);pointer-events:none}
.fwarn b{color:var(--tx);font-weight:600}
.flowcard.off .fwarn{opacity:1;transform:none}
.flowcard.off .node.n4{top:76%!important}
.flowcard .node.n4{transition:rotate .55s cubic-bezier(.22,1,.36,1),top .55s cubic-bezier(.22,1,.36,1),opacity .4s}

/* who it is for */
.fit{display:grid;grid-template-columns:1fr 1.15fr;gap:16px;padding:16px;border:1px solid rgba(255,255,255,.13);border-radius:28px}
.fit>div{padding:34px 34px 30px;border-radius:20px}
.fit-no{background:transparent}
.fit-yes{background:#fafafa;color:#141416}
.fit .eyb{display:block;font:500 var(--fs-xs)/1.3 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin-bottom:18px}
.fit-yes .eyb{color:#71717a}
.fit h3{font-size:var(--fs-3xl);line-height:1.2;margin:0 0 18px}
.fit ul{list-style:none;margin:0;padding:0}
.fit li{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line);font-family:var(--fb);font-size:var(--fs-md);line-height:1.5;color:var(--tx2)}
.fit-yes li{border-color:#e4e4e7;color:#27272a}
.fit li i{font-style:normal;flex:0 0 18px;font-size:var(--fs-md);line-height:1.5;color:var(--tx3)}.fit-yes li i{color:#141416;font-weight:700}
.fit-n{grid-column:1/-1;margin:2px 18px 4px;font-family:var(--fb);font-size:var(--fs-base);color:var(--tx3)}

/* savings calculator */
.calc{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:start}
.calc-in{padding:30px;border:1px solid rgba(255,255,255,.13);border-radius:28px}
.cf+.cf{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.cf-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.cf label{font-size:var(--fs-md);font-weight:500}.cf label small{display:block;margin-top:3px;font-family:var(--fb);font-weight:300;font-size:var(--fs-sm);color:var(--tx3)}
.cf input[type=number]{width:112px;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:var(--tx);font:500 var(--fs-lg)/1 var(--fd);text-align:right;-moz-appearance:textfield}
.cf input[type=number]::-webkit-inner-spin-button{opacity:.4}
.cf output{min-width:80px;font:500 var(--fs-3xl)/1 var(--fd);text-align:right}
.cf input[type=range]{width:100%;height:28px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;--pct:50%}
.cf input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,#fafafa var(--pct),rgba(255,255,255,.14) var(--pct))}
.cf input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:rgba(255,255,255,.14)}.cf input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:#fafafa}
.cf input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-9px;border-radius:50%;background:#fafafa;border:4px solid #141416;box-shadow:0 0 0 1px rgba(255,255,255,.5)}
.cf input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fafafa;border:4px solid #141416}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips button{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:transparent;color:var(--tx2);font:400 var(--fs-sm)/1 var(--fb);cursor:pointer;transition:all .25s}
.chips button b{color:var(--tx);font-weight:600;margin-left:4px}
.chips button.on,.chips button:hover{border-color:#fafafa;color:var(--tx)}
.calc-out{position:sticky;top:96px;padding:32px;border-radius:28px;background:#fafafa;color:#141416}
.calc-out .eyb{display:block;font:500 var(--fs-xs)/1.3 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:#71717a}
.calc-out .big{display:block;margin:14px 0 4px;font:500 var(--fs-display)/1.02 var(--fd);letter-spacing:-.01em}
.calc-out .sub{font-family:var(--fb);font-size:var(--fs-md);color:#52525b}
.cmp{margin:24px 0 0;padding:16px 18px;border:1px solid #e4e4e7;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.cmp span{display:block;font-size:var(--fs-sm);color:#71717a}.cmp b{font:600 var(--fs-xl)/1.2 var(--fd)}
.cmp .bar{grid-column:1/-1;height:6px;border-radius:6px;background:#e4e4e7;overflow:hidden}.cmp .bar i{display:block;height:100%;background:#141416;border-radius:6px;transition:width .35s cubic-bezier(.22,1,.36,1)}
.calc-out .rows{display:grid;grid-template-columns:1fr 1fr;margin-top:6px}
.calc-out .rows>div{padding:16px 0;border-bottom:1px solid #e4e4e7}.calc-out .rows b{display:block;font:600 var(--fs-2xl)/1.2 var(--fd)}.calc-out .rows span{font-size:var(--fs-sm);color:#71717a}
.calc-out .note{margin:16px 0 20px;padding-left:12px;border-left:2px solid #d4d4d8;font-family:var(--fb);font-size:var(--fs-sm);line-height:1.6;color:#71717a}
.calc-out .btn.pri{background:#141416;color:#fafafa}
@media (max-width:900px){.calc,.fit{grid-template-columns:1fr}.calc-out{position:static}}
@media (max-width:760px){.calc-in,.calc-out{padding:22px}.fit{padding:10px;border-radius:24px}.fit>div{padding:24px 20px}.fit h3{font-size:var(--fs-2xl)}.cf input[type=number]{width:96px}.fswitch{left:12px;top:12px}.fwarn{left:12px;right:12px;bottom:12px;font-size:var(--fs-xs)}}

/* faq search */
.fsrch{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 18px;margin-bottom:22px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.03)}
.fsrch svg{width:18px;height:18px;flex:0 0 auto;color:var(--tx3)}
.fsrch input{flex:1;min-width:0;min-height:52px;border:0;background:transparent;color:var(--tx);font:300 var(--fs-lg)/1 var(--fb);outline:none}
.fsrch input::placeholder{color:var(--tx3)}
.fsrch:focus-within{border-color:rgba(255,255,255,.35)}
.fsrch span{font-size:var(--fs-sm);color:var(--tx3);white-space:nowrap}
.fq.hide{display:none}
.fq-none{padding:26px 4px;color:var(--tx2);font-family:var(--fb)}.fq-none a{text-decoration:underline;text-underline-offset:3px}

/* apply popup: what happens next */
.apsteps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 6px;padding:0;counter-reset:ap}
.apsteps li{counter-increment:ap;padding:12px;border:1px solid #e4e4e7;border-radius:14px;font-size:var(--fs-sm);line-height:1.35;color:#52525b}
.apsteps li::before{content:"0" counter(ap);display:block;font-size:var(--fs-2xs);letter-spacing:.1em;color:#a1a1aa;margin-bottom:6px}
.apsteps b{display:block;color:#141416;font-weight:600;font-size:var(--fs-sm);margin-bottom:2px}
.ov .priv{margin:12px 0 0;font-size:var(--fs-sm);color:#71717a;display:flex;gap:8px;align-items:center}
@media (max-width:520px){.apsteps{grid-template-columns:1fr}.apsteps li{display:flex;gap:10px;align-items:baseline}.apsteps li::before{margin:0}}
/* m2429b: switch sits in its own strip above the diagram */
.flowcard{aspect-ratio:1/1.06}
.fstage{position:absolute;left:0;right:0;bottom:0;top:62px}
.fswitch{top:14px;left:16px}
.fhint{position:absolute;z-index:2;top:27px;right:20px;font-size:var(--fs-xs);color:var(--tx3);transition:opacity .3s}
.flowcard.off .fhint{opacity:0}
.flowcard::after{content:"";position:absolute;left:0;right:0;top:62px;height:1px;background:rgba(255,255,255,.08)}
@media (max-width:460px){.fhint{display:none}}
.flowcard.off .node.n4{top:73%!important}

/* ===== m2429c (Austin msg 2437): fully interactive app preview ===== */
.appf-bar .tag{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:var(--fs-2xs);color:#52525b}.appf-bar .tag::before{content:"";width:6px;height:6px;border-radius:50%;background:#16a34a}
.app button{font-family:inherit}
.app-tools .srch{display:inline-flex;align-items:center;gap:8px;flex:0 0 230px;height:36px;padding:0 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#9ca3af;cursor:text}
.app-tools .srch:focus-within{border-color:#111827;box-shadow:0 0 0 3px rgba(17,24,39,.08)}
.app-tools .srch svg{width:14px;height:14px;flex:0 0 auto}
.app-tools .srch input{all:unset;flex:1;min-width:0;font-size:var(--fs-sm);color:#111827}
.app-tools .srch input::placeholder{color:#9ca3af}
.fpills{display:flex;gap:6px;flex-wrap:wrap}
.fpills button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid #e5e7eb;border-radius:999px;font-size:var(--fs-xs);font-weight:500;color:#4b5563;background:#fff;transition:background .2s,border-color .2s,color .2s}
.fpills button b{font-weight:600;font-size:var(--fs-2xs);color:#9ca3af}
.fpills button:hover{border-color:#9ca3af}
.fpills button.on{background:#111827;border-color:#111827;color:#fff}.fpills button.on b{color:#d1d5db}
.app-tools em{margin-left:auto;white-space:nowrap}
.app-tbl th.so{cursor:pointer;user-select:none}.app-tbl th.so:hover{color:#111827}
.app-tbl th.so::after{content:"";display:inline-block;width:0;height:0;margin-left:6px;vertical-align:middle;border:4px solid transparent;border-top-color:#d1d5db;border-bottom:0;transform:translateY(1px)}
.app-tbl th.so[aria-sort=ascending]::after{border-top:0;border-bottom:4px solid #111827;transform:translateY(-1px)}
.app-tbl th.so[aria-sort=descending]::after{border-top-color:#111827}
.app-tbl tr.ckp,.app-tbl tr.cki,.app-tbl tr.cke{cursor:pointer}.app-tbl tr.ckp:hover td,.app-tbl tr.cki:hover td,.app-tbl tr.cke:hover td,.app .tp tr.ck:hover td{background:#fafafa}
.app-tbl tr:focus-visible td{background:#f3f4f6;outline:none}
.app-tbl tr.flash td{animation:rowfl 1.2s ease}
@keyframes rowfl{0%{background:#fef9c3}100%{background:transparent}}
.t-empty{padding:26px;text-align:center;font-size:var(--fs-sm);color:#6b7280;border-top:1px solid #f0f0f0}
/* action bar */
.acts-bar input.inp{all:unset;box-sizing:border-box;display:block;width:300px;height:38px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:0 12px;font-size:var(--fs-sm);color:#111827}
.acts-bar input.inp:focus{border-color:#111827;box-shadow:0 0 0 3px rgba(17,24,39,.08)}
.acts-bar button.ab{cursor:pointer;background:#fff;font-family:inherit;line-height:1.2;transition:transform .15s,filter .2s}
.acts-bar button.ab:hover{filter:brightness(.96)}.acts-bar button.ab:active{transform:scale(.97)}
.act-msg{flex:1 1 100%;min-height:0;font-size:var(--fs-sm);color:#6b7280}.act-msg:empty{display:none}.act-msg.err{color:#b91c1c}
.addr-r button{cursor:pointer}.addr-r button:disabled{cursor:default;border-color:#16a34a;color:#15803d}
.addr-r.fixed .wr{color:#15803d}
.fixf{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.fixf input{all:unset;box-sizing:border-box;flex:1 1 260px;height:36px;padding:0 10px;border:1px solid #d97706;border-radius:8px;background:#fff;font-size:var(--fs-sm);color:#111827}
/* drawer content */
.app-dr{overflow-y:auto;z-index:6}
.dr-body{padding-top:4px}
.dr-k{display:block;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#9ca3af;margin-bottom:6px}
.dr-s{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-sm);color:#6b7280;margin-bottom:6px}
.dr-p{font-size:var(--fs-sm);line-height:1.55;color:#4b5563;margin:14px 0}
.dr-box{position:relative;margin-top:14px;padding:14px;border:1px solid #e5e7eb;border-radius:12px;font-size:var(--fs-sm);color:#374151;line-height:1.5}
.dr-li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #f3f4f6}.dr-box .dr-k+.dr-li,.dr-box>.dr-li:first-child{border-top:0}
.dr-li b{font-weight:600;color:#111827}.dr-li.tot{border-top:1px solid #e5e7eb;margin-top:4px;padding-top:10px}.dr-li.tot b{font-size:var(--fs-md)}
.dr-st{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.dr-st>div{padding:12px;border:1px solid #e5e7eb;border-radius:12px}.dr-st b{display:block;font-size:var(--fs-xl);font-weight:700;color:#111827}.dr-st span{font-size:var(--fs-xs);color:#6b7280}
.dr-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.dbtn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:var(--fs-sm);font-weight:600;color:#111827;transition:background .2s,transform .15s}
.dbtn:hover{background:#f9fafb}.dbtn:active{transform:scale(.97)}.dbtn.pri{background:#111827;border-color:#111827;color:#fff}.dbtn.pri:hover{background:#27272a}.dbtn.r{color:#b91c1c;border-color:#fecaca}
.dr-msg{font-size:var(--fs-sm);color:#15803d;margin:10px 0 0}.dr-msg:empty{display:none}.dr-msg.err{color:#b91c1c}
.dr-f{display:block;margin-top:12px;font-size:var(--fs-xs);font-weight:600;color:#374151}
.dr-f input,.dr-f select{all:unset;box-sizing:border-box;display:block;width:100%;height:40px;margin-top:6px;padding:0 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:var(--fs-base);font-weight:400;color:#111827}
.dr-f input:focus,.dr-f select:focus{border-color:#111827}
.dr-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dr-li.qty{align-items:center}.stp{display:inline-flex;align-items:center;border:1px solid #e5e7eb;border-radius:8px}.stp button{all:unset;cursor:pointer;width:32px;height:32px;text-align:center;font-size:var(--fs-lg);color:#374151}.stp b{min-width:22px;text-align:center}
.tl li.now::before{box-shadow:0 0 0 4px rgba(17,24,39,.12)}
.mbar{display:flex;align-items:flex-end;gap:2px;height:76px;margin-top:8px}.mbar i{flex:1;background:#111827;border-radius:2px 2px 0 0;opacity:.85;transform-origin:bottom;animation:grow .7s var(--ease) both;cursor:crosshair}.mbar i.hov{opacity:1;background:#4b5563}
.mail{margin-top:14px;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.mail-h{padding:12px 14px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:var(--fs-xs);line-height:1.7;color:#111827}.mail-h span{display:inline-block;width:56px;color:#9ca3af}
.mail-b{padding:20px 18px;font-size:var(--fs-sm);line-height:1.6;color:#374151}.mail-logo{font-weight:800;letter-spacing:2px;font-size:var(--fs-xs);color:#111827;margin-bottom:14px}.mail-b p{margin:8px 0 14px}.mail-btn{display:inline-block;padding:9px 16px;border-radius:8px;background:#111827;color:#fff;font-weight:600;font-size:var(--fs-sm)}.mail-b .mail-f{font-size:var(--fs-xs);color:#9ca3af;margin:16px 0 0}
/* confirm, toast, loading bar */
.app-cf{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:rgba(17,24,39,.35);opacity:0;pointer-events:none;transition:opacity .25s}
.app-cf.on{opacity:1;pointer-events:auto}
.cf-box{width:min(380px,calc(100% - 32px));padding:22px;border-radius:14px;background:#fff;box-shadow:0 30px 60px rgba(0,0,0,.25);transform:translateY(8px) scale(.98);transition:transform .3s var(--ease)}.app-cf.on .cf-box{transform:none}
.cf-box b{display:block;font-size:var(--fs-lg);color:#111827}.cf-box p{font-size:var(--fs-sm);line-height:1.55;color:#4b5563;margin:8px 0 18px}
.cf-a{display:flex;justify-content:flex-end;gap:8px}.cf-a button{all:unset;cursor:pointer;min-height:38px;padding:0 16px;border-radius:8px;font-size:var(--fs-sm);font-weight:600;border:1px solid #e5e7eb;color:#111827}.cf-a .cf-yes{background:#111827;border-color:#111827;color:#fff}
.app-toast{position:absolute;left:50%;bottom:22px;z-index:9;max-width:calc(100% - 40px);padding:11px 16px;border-radius:10px;background:#111827;color:#fff;font-size:var(--fs-sm);line-height:1.4;box-shadow:0 16px 40px rgba(0,0,0,.25);opacity:0;transform:translate(-50%,10px);transition:opacity .25s,transform .35s var(--ease);pointer-events:none}
.app-toast.on{opacity:1;transform:translate(-50%,0)}
.app-load{position:absolute;left:0;top:49px;height:2px;width:0;z-index:4;background:#111827;opacity:0}
.app-load.on{animation:appld .55s var(--ease)}
@keyframes appld{0%{width:0;opacity:1}80%{width:85%;opacity:1}100%{width:100%;opacity:0}}
.ic-b{all:unset;cursor:pointer;display:inline-flex;border-radius:6px;padding:2px}.ic-b:hover{background:#f3f4f6}
.spin svg{animation:spn .7s linear infinite}@keyframes spn{to{transform:rotate(360deg)}}
.app-pane.busy .ins{opacity:.45;filter:blur(1px);transition:opacity .3s,filter .3s}
.btn-o{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;border-radius:8px;padding:7px 12px;font-size:var(--fs-sm);color:#374151}.btn-o:hover{background:#f9fafb}.btn-o:disabled{cursor:progress}
.btn-d{all:unset;cursor:pointer;background:#1a1a1a;color:#fff;border-radius:8px;padding:8px 14px;font-size:var(--fs-sm);font-weight:600}.btn-d:hover{background:#333}
.ulnk{all:unset;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-weight:600}
.lnkb{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:#6b7280}.lnkb:hover{color:#111827}
.tgl{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-xs);font-weight:600;color:#6b7280}
.tgl i{position:relative;width:32px;height:18px;border-radius:999px;background:#d1d5db;transition:background .25s}.tgl i::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .25s var(--ease)}
.tgl.on i{background:#111827}.tgl.on i::after{left:16px}.tgl.on{color:#111827}
/* charts: range toggle + tooltips */
.dly{position:relative}.dly .row-h{margin-bottom:4px}
.rng-t{font-size:var(--fs-xs);color:#6b7280;margin-bottom:10px}
.obars .bc{cursor:crosshair}.obars .bc.hov i{background:#4b5563}
.obars.dense{gap:2px}.obars.dense .bc .dt{font-size:var(--fs-micro)}
.ctip{position:absolute;z-index:5;left:0;top:0;padding:5px 9px;border-radius:7px;background:#111827;color:#fff;font-size:var(--fs-xs);font-weight:500;white-space:nowrap;transform:translate(-50%,-100%);opacity:0;pointer-events:none;transition:opacity .15s}
.ctip.on{opacity:1}
.sl-w{position:relative;cursor:crosshair}
.sl-dot{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#111827;border:2px solid #fff;box-shadow:0 0 0 1px #111827;opacity:0;pointer-events:none}.sl-dot.on{opacity:1}
.cap em{font-style:normal;font-size:var(--fs-2xs);color:#9ca3af;margin-left:8px}
@media (max-width:760px){
 .app-tools .srch{flex:1 1 100%}.app-tools em{margin-left:0}
 .acts-bar input.inp{width:100%}.acts-bar button.ab{min-height:40px}
 .app-dr{position:fixed;top:auto;left:0;right:0;bottom:0;width:auto!important;max-height:82vh;border-left:0;border-top:1px solid #e5e7eb;border-radius:20px 20px 0 0;box-shadow:0 -20px 60px rgba(0,0,0,.35);transform:translateY(105%);padding:24px 18px calc(24px + env(safe-area-inset-bottom));z-index:70;color:#111827;font-family:var(--fb)}
 .app-dr.on{transform:none}
 .app-dr::before{content:"";position:sticky;top:-12px;display:block;width:40px;height:4px;margin:-12px auto 10px;border-radius:4px;background:#d1d5db}
 .app-cf{position:fixed;z-index:80}
 .app-toast{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));z-index:90;font-family:var(--fb)}
 .app-load{display:none}
 .dr-st b{font-size:var(--fs-lg)}.fpills{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.fpills button{flex:0 0 auto;min-height:36px}
 .dbtn{min-height:44px}.cf-a button{min-height:44px}
}
@media (prefers-reduced-motion:reduce){.app-tbl tr.flash td,.mbar i,.app-load.on,.spin svg{animation:none}}
.app-pane{overflow-x:clip}.app-scroll{overflow-x:hidden}
/* m2429d: fade-out on internal link clicks in every browser (VT then crossfades from charcoal) */
html.ff-anim body{transition:opacity .18s ease}
html.ff-out body{opacity:0!important}
@media (max-width:760px){.nav.open ul{justify-self:stretch;width:auto;background:#18181b}}
@media (max-width:460px){.flowcard.off .fwarn{display:none}.flowcard.off .node span.off-t{display:none}.flowcard.off .node.n4{top:86%!important}.flowcard.off .node.n1{rotate:-3deg}.flowcard.off .node.n2{rotate:2.5deg}}

/* ===== m2440 (Austin msg 2434): one type scale + one set of spacing tokens, sentence-case labels ===== */
:root{
 --fs-micro:8px;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-3xl:26px;--fs-4xl:30px;--fs-5xl:36px;--fs-6xl:48px;--fs-7xl:64px;
 --fs-lead:clamp(16px,1.35vw,18px);--fs-h2:clamp(28px,3.3vw,42px);--fs-h1:clamp(38px,4.4vw,56px);--fs-stat:clamp(32px,3.6vw,48px);--fs-display:clamp(40px,4.8vw,58px);
 --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:72px;--sp-9:110px;
 --sec-y:var(--sp-9);--sec-tight-y:var(--sp-8);--hero-top:104px;--pad-card:var(--sp-6)
}
@media (max-width:760px){:root{--sec-y:76px;--sec-tight-y:56px;--hero-top:56px;--pad-card:22px}}
/* one H1 size on every page */
h1,.phero h1{font-size:var(--fs-h1)}
/* spacing tokens */
.sec{padding:var(--sec-y) 0}.sec.tight{padding:var(--sec-tight-y) 0}
.sec-h{margin-bottom:var(--sp-7)}
.phero{padding:calc(var(--hero-top) - 4px) 0 var(--sp-8)}
.hero{padding:var(--hero-top) 0 0}
.bx,.rc,.calc-in,.calc-out,.ba-pane,.post .bd{padding:var(--pad-card)}
.lane{padding:var(--pad-card) calc(var(--pad-card) + 2px)}
.fit>div{padding:calc(var(--pad-card) + 2px) calc(var(--pad-card) + 2px) var(--pad-card)}
.hero h1{margin:var(--sp-5) 0 var(--sp-5)}.phero h1{margin:var(--sp-4) 0 var(--sp-4)}
/* labels and eyebrows: sentence case, a touch larger */
.topbar,.kick,.chap,.rc .cat,.post .img .lbl,.foot h4,.csm .cat,.cs .cat,.cs-b h3,.fit .eyb,.calc-out .eyb{text-transform:none;letter-spacing:.01em}
.kick,.chap,.rc .cat,.post .img .lbl,.csm .cat,.cs .cat,.fit .eyb,.calc-out .eyb,.foot h4{font-size:var(--fs-sm)}
.cs-b h3{font-size:var(--fs-base)}
.app-lab,.acts-bar .lab,.app .eyb,.dr-k{text-transform:none;letter-spacing:0;font-size:var(--fs-xs)}
@media (max-width:760px){.lane{padding:var(--pad-card)}.fit>div{padding:var(--pad-card) 20px}.calc-in,.calc-out,.ba-pane{padding:var(--pad-card)}}

/* ===== m2440 round 2 (Austin msg 2443) ===== */
/* S2: journey lines end at the last stop (your customer) */
.steps:has(>.st:nth-child(2):last-child)::before{right:calc(100% / 2 - 12px)}
.steps:has(>.st:nth-child(3):last-child)::before{right:calc(100% / 3 - 12px)}
.steps:has(>.st:nth-child(4):last-child)::before{right:calc(100% / 4 - 12px)}
.steps:has(>.st:nth-child(5):last-child)::before{right:calc(100% / 5 - 12px)}
.steps:has(>.st:nth-child(6):last-child)::before{right:calc(100% / 6 - 12px)}
.steps:has(>.st:nth-child(7):last-child)::before{right:calc(100% / 7 - 12px)}
.steps:has(>.st:nth-child(8):last-child)::before{right:calc(100% / 8 - 12px)}
/* S3: application-to-first-order line ends at step 4 */
.how::before,.how::after{right:calc((100% - 42px) / 4 - 24px)}
@media (max-width:760px){
 .steps::before{display:none}
 .st:not(:last-child)::after{content:"";position:absolute;left:11px;top:24px;bottom:-16px;width:2px;background:var(--line2)}
 .lane.us .st:not(:last-child)::after{background:#fafafa}
}
/* S4: the floating pill header keeps clear space above it */
.nav.scrolled .wrap{margin-top:16px}
@media (max-width:760px){.nav.scrolled .wrap{margin-top:10px}}
/* S5: fixed average saving card in the calculator */
.cfix{margin-top:var(--sp-5);padding:var(--sp-5);border-radius:20px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.03)}
.cfix div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-4)}
.cfix span{font-size:var(--fs-md);color:var(--tx)}
.cfix b{font:500 var(--fs-4xl)/1 var(--fd);letter-spacing:-.01em}
.cfix p{margin:var(--sp-3) 0 0;font-size:var(--fs-sm);color:var(--tx2);line-height:1.6}
/* S7: experience cards */
.xp{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:var(--sp-6)}
.xp>div{padding:var(--pad-card);border:1px solid rgba(255,255,255,.13);border-radius:var(--r);background:var(--bg2)}
.xp .n{display:block;font-size:var(--fs-xs);color:var(--tx3);margin-bottom:var(--sp-4)}
.xp h3{font-size:var(--fs-xl);margin:0 0 var(--sp-3)}
.xp p{margin:0;color:var(--tx2);font-size:var(--fs-md);line-height:1.65}
@media (max-width:1020px){.xp{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.xp{grid-template-columns:1fr}}
.nav{display:flow-root} /* S4: stop the pill's top margin collapsing into the sticky header */
/* S11: multi-step apply modal */
.ov{display:flex;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility 0s linear .28s}
.ov.on{opacity:1;visibility:visible;transition:opacity .28s ease}
.ov .box{transform:translateY(14px) scale(.985);transition:transform .38s cubic-bezier(.2,.7,.2,1),width .3s ease;margin:auto 0}
.ov.on .box{transform:none}
html.ap-open,html.ap-open body{overflow:hidden}
.ap-top{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm);color:#71717a;padding-right:40px}
.ap-sv{font-size:var(--fs-xs);color:#a1a1aa}
.ap-bar{height:4px;border-radius:99px;background:#e4e4e7;margin:var(--sp-3) 0 var(--sp-5);overflow:hidden}
.ap-bar i{display:block;height:100%;width:20%;background:#141416;border-radius:99px;transition:width .4s cubic-bezier(.2,.7,.2,1)}
.ap-s{display:none}
.ap-s.on{display:block;animation:apIn .35s cubic-bezier(.2,.7,.2,1)}
@keyframes apIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.ap-s h3{font:500 var(--fs-3xl)/1.15 var(--fd);letter-spacing:-.01em;margin:0 0 var(--sp-2);color:#141416}
.ap-s .ld{margin:0 0 var(--sp-5)}
.ap-s input[type=text],.ap-s input[type=email]{font-size:var(--fs-lg);padding:14px 16px}
.ap-s .file small{display:block;font-size:var(--fs-xs);color:#a1a1aa;margin-top:2px}
.ap-s .file{margin-top:var(--sp-4)}
.file.drag{border-color:#141416;background:#f4f4f5}
.ap-files{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:grid;gap:8px}
.ap-files li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid #e4e4e7;border-radius:12px;background:#fff;font-size:var(--fs-sm)}
.ap-files .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#18181b}
.ap-files .nm small{display:block;color:#71717a;white-space:normal}
.ap-files button{border:0;background:none;color:#52525b;font:inherit;font-size:var(--fs-xs);text-decoration:underline;cursor:pointer;flex:none}
.ap-acts{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:var(--sp-5)}
.ov .btn.gh{color:#18181b;border-color:#d4d4d8;background:transparent}
.ap-hint{margin:var(--sp-3) 0 0;font-size:var(--fs-xs);color:#a1a1aa;text-align:right}
.ap-wait{text-align:center;padding:40px 8px}
.ap-wait h3{font:600 var(--fs-2xl)/1.2 var(--fd);margin:var(--sp-5) 0 var(--sp-2);color:#141416}
.ap-spin{width:44px;height:44px;border-radius:50%;border:3px solid #e4e4e7;border-top-color:#141416;margin:0 auto;animation:apSpin .8s linear infinite}
@keyframes apSpin{to{transform:rotate(360deg)}}
.box.wide{width:min(920px,100%)}
#ty-cal .calendly-inline-widget{min-width:280px;height:700px;margin-top:var(--sp-4);border-radius:16px;overflow:hidden}
@media (max-width:760px){.ap-s h3{font-size:var(--fs-2xl)}.ap-hint{text-align:left}#ty-cal .calendly-inline-widget{height:640px}}
@media (prefers-reduced-motion:reduce){.ov,.ov .box,.ap-s.on,.ap-bar i{transition:none;animation:none}}
/* S8: router busy cue (only if a fetch is slow) */
html.ff-busy{cursor:progress}
html{scroll-padding-top:100px} /* in-page anchors land below the floating header */
/* S1 hero preview variants (noindex preview pages only) */
.hv-tag{position:fixed;left:16px;bottom:16px;z-index:90;padding:8px 14px;border-radius:999px;background:#fafafa;color:#141416;font-size:var(--fs-xs);font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.hproof{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:var(--sp-6);margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--line)}
.hproof b{display:block;font:600 var(--fs-2xl)/1.1 var(--fd);color:var(--tx)}
.hproof span{display:block;margin-top:4px;font-size:var(--fs-sm);color:var(--tx3);max-width:170px;line-height:1.45}
.hv-b .hero-in{grid-template-columns:1fr;gap:var(--sp-7);text-align:center}
.hv-b .hb-copy{max-width:900px;margin:0 auto}
.hv-b .hb-copy .lead{margin-left:auto;margin-right:auto;max-width:640px}
.hv-b .ctas{justify-content:center}
.hv-b .hb-flow{max-width:980px;width:100%;margin:0 auto}
@media (max-width:760px){.hproof{grid-template-columns:1fr 1fr;gap:var(--sp-4)}.hproof>div:last-child{grid-column:1/-1}.hv-tag{bottom:auto;top:84px;left:12px}}
/* ===== m2440 D1-D9: FF app preview, matching the live app updates ===== */
/* D2 top products: fixed column widths so 7d / 30d / all time never shifts the table */
.tp .app-tbl{table-layout:fixed;width:100%}
.tp .app-tbl th:nth-child(1){width:38%}.tp .app-tbl th:nth-child(2){width:16%}.tp .app-tbl th:nth-child(3){width:15%}.tp .app-tbl th:nth-child(4){width:13%}.tp .app-tbl th:nth-child(5){width:18%}
.tp .app-tbl td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* D3 top bar: every icon the same size, all clickable */
.tr-ic{align-items:center}
.tr-ic .ic-b{width:30px;height:30px;padding:0;display:inline-grid;place-items:center;border-radius:8px;color:#6b7280}
.tr-ic .ic-b svg{width:18px;height:18px}
.tr-ic .ic-b[aria-pressed="true"]{background:#111827;color:#fff}
/* dark mode for the preview */
#appmock.dk{filter:invert(.9) hue-rotate(180deg)}
#appmock.dk .thumb,#appmock.dk img{filter:invert(1) hue-rotate(180deg)}
/* D4/D5/D6/D7 icon buttons: grey chain link and page icons */
.lk{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:6px;color:#9ca3af;cursor:pointer}
.lk svg{width:15px;height:15px}
.lk:hover{background:#f3f4f6;color:#4b5563}
.pg{all:unset;box-sizing:border-box;display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid #e5e7eb;border-radius:7px;color:#6b7280;cursor:pointer;background:#fff}
.pg svg{width:15px;height:15px}
.pg:hover{border-color:#9ca3af;color:#111827}
/* D5 products */
.srch{border-radius:999px;padding:0 14px}
.prod tr.hasv{cursor:pointer}
.prod tr.hasv[aria-expanded="true"]>td{background:#f9fafb}
.prod tr.var>td{background:#fbfbfc;font-size:var(--fs-xs);color:#4b5563;padding-top:7px;padding-bottom:7px}
.prod tr.var>td:nth-child(2){padding-left:22px;position:relative}
.prod tr.var>td:nth-child(2)::before{content:"";position:absolute;left:8px;top:50%;width:8px;height:1px;background:#d1d5db}
.hint-s{margin:-4px 0 10px;font-size:var(--fs-xs);color:#9ca3af}
.pl.tr{gap:5px}
.tbar{display:inline-flex;align-items:flex-end;gap:1.5px;height:10px}
.tbar b{display:block;width:2.5px;border-radius:1px;background:currentColor;opacity:.25}
.tbar b:nth-child(1){height:3px}.tbar b:nth-child(2){height:5px}.tbar b:nth-child(3){height:7.5px}.tbar b:nth-child(4){height:10px}
.tbar[data-n="1"] b:nth-child(-n+1),.tbar[data-n="2"] b:nth-child(-n+2),.tbar[data-n="3"] b:nth-child(-n+3),.tbar[data-n="4"] b{opacity:1}
/* D6 issues: clean */
.sub2{display:block;font-size:var(--fs-2xs);color:#9ca3af;font-weight:400;margin-top:2px}
.iss .app-tbl td{vertical-align:middle}
/* D7 insights, laid out like FF admin Insights */
.ins-p{margin:0}
.insw .app-tbl td{vertical-align:middle;padding-top:12px;padding-bottom:12px}
.insw .it{display:block;color:#111827;font-weight:600;font-size:var(--fs-sm)}
.insw .id{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;font-size:var(--fs-xs);color:#6b7280;max-width:460px;white-space:normal}
.insw tr.ckn{cursor:pointer}
.acts2{white-space:nowrap;text-align:right}
.acts2 button{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;height:30px;padding:0 13px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;cursor:pointer}
.acts2 .bk{background:#111827;color:#fff}
.acts2 .bo{border:1px solid #e5e7eb;color:#374151;margin-left:6px;background:#fff}
.ins-empty{padding:28px;text-align:center;color:#9ca3af;font-size:var(--fs-sm)}
.why{margin:6px 0 0;padding-left:18px;font-size:var(--fs-sm);line-height:1.55;color:#374151}
.why li+li{margin-top:4px}
.dr-f textarea{all:unset;box-sizing:border-box;display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:var(--fs-base);font-weight:400;color:#111827;white-space:pre-wrap}
.prod .app-tbl th,.prod .app-tbl td{padding-left:10px;padding-right:10px}
.prod .app-tbl td:nth-child(3),.prod .app-tbl th:nth-child(3){width:34px;padding-left:0;padding-right:4px}
@media (max-width:760px){
 .insw .app-tbl,.insw .app-tbl tbody,.insw .app-tbl tr,.insw .app-tbl td{display:block;width:auto}
 .insw .app-tbl{min-width:0!important}
 .insw .app-tbl thead{display:none}
 .insw .app-tbl tr.ckn{position:relative;padding:12px 14px;border-bottom:1px solid #f0f0f0}
 .insw .app-tbl tr.ckn[hidden]{display:none}
 .insw .app-tbl td{padding:0!important;border:0!important;white-space:normal}
 .insw .app-tbl td:nth-child(2),.insw .app-tbl td:nth-child(3){display:inline-block;margin:8px 10px 0 0;font-size:var(--fs-xs)}
 .insw .app-tbl td:nth-child(2) .sub2{display:inline;margin-left:4px}
 .insw .app-tbl td.ico{position:absolute;right:12px;top:12px}
 .insw .it{padding-right:40px}
 .insw .acts2{text-align:left;margin-top:10px!important}
}
/* M2459_R3 (Austin msg 2459): Hero A live; FF on/off switch as its own section; case-study pages */
.hv-a .hero-in{grid-template-columns:1fr}.hv-a .hero-in>div{max-width:800px}
.sw-g{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--sp-8);align-items:center}.sw-g .sec-h{margin-bottom:0}.sw-g .flowcard{max-width:none;width:100%}
.cs-more{display:inline-flex;align-items:center;gap:8px;margin-top:var(--sp-5);font-size:var(--fs-base);color:var(--tx);text-decoration:underline;text-underline-offset:4px}
.cs-big{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.13);border-radius:var(--r);background:var(--bg2);overflow:hidden}
.cs-m{padding:var(--sp-7) var(--sp-7) var(--sp-6)}.cs-m+.cs-m{border-left:1px solid var(--line)}
.cs-m .cat{font-size:var(--fs-sm);color:var(--tx2)}.cs-m .l{display:block;font-size:var(--fs-base);color:var(--tx3);margin-top:var(--sp-3)}
.cs-ba{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 18px;margin-top:var(--sp-5);font-family:var(--fd);font-weight:500;line-height:1}
.cs-ba s{font-size:var(--fs-5xl);color:var(--tx3);text-decoration-thickness:2px}.cs-ba b{font-size:var(--fs-7xl);letter-spacing:-.015em}.cs-ba .ar{font-size:var(--fs-3xl);color:var(--tx3)}
.cs-ch{display:grid;gap:0;margin-top:var(--sp-8);border-top:1px solid var(--line)}
.cs-c{display:grid;grid-template-columns:240px 1fr;gap:var(--sp-6);padding:var(--sp-7) 0;border-bottom:1px solid var(--line)}
.cs-c p{margin:0;font:300 var(--fs-xl)/1.7 var(--fb);color:rgba(230,230,230,.8);max-width:680px}.cs-c .kpis{grid-template-columns:1fr 1fr}.cs-c .kpis li{padding:0 0 var(--sp-5);border-left:0}
.cs-next{margin-top:var(--sp-8)}.cs-nx{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-top:var(--sp-4)}
.cs-nx a{position:relative;display:block;padding:var(--sp-6);border:1px solid rgba(255,255,255,.13);border-radius:var(--r);background:var(--bg2);transition:border-color .25s,transform .25s var(--ease)}
.cs-nx a:hover{border-color:rgba(255,255,255,.3);transform:translateY(-2px)}.cs-nx .cat{display:block;font-size:var(--fs-sm);color:var(--tx2)}
.cs-nx b{display:block;font:500 var(--fs-5xl)/1 var(--fd);margin:var(--sp-4) 0 var(--sp-2)}.cs-nx span:not(.cat){font-size:var(--fs-base);color:var(--tx3)}.cs-nx .ar{position:absolute;right:var(--sp-6);top:var(--sp-6);font-style:normal;color:var(--tx3)}
@media (max-width:1020px){.sw-g{grid-template-columns:1fr;gap:var(--sp-7)}}
@media (max-width:760px){.cs-big,.cs-nx{grid-template-columns:1fr}.cs-m{padding:var(--sp-6) 22px}.cs-m+.cs-m{border-left:0;border-top:1px solid var(--line)}.cs-ba b{font-size:var(--fs-6xl)}.cs-ba s{font-size:var(--fs-4xl)}.cs-c{grid-template-columns:1fr;gap:var(--sp-4);padding:var(--sp-6) 0}.cs-c p{font-size:var(--fs-lg)}}

/* ===== M2459_R4 (Austin msg 2461): senior-designer pass, white pill header, mega menu, journey, delivery emails, three routes, follow one order, partners, apply page, changelog images, pill buttons ===== */
:root{--sec-y:128px;--sec-tight-y:88px;--hero-top:84px}
.sec{padding:var(--sec-y) 0}.sec.tight{padding:var(--sec-tight-y) 0}
.sec-h{margin-bottom:64px}.sec-h .lead{max-width:560px}
@media (max-width:760px){:root{--sec-y:84px;--sec-tight-y:64px;--hero-top:52px}.sec-h{margin-bottom:40px}}
.hero .hstats,.has-saved .hero .hstats{margin-top:96px}
/* W3 scrolled header: solid white pill, dark text */
.nav .wrap{position:relative}
.nav.scrolled .wrap{background:#fff;border-color:transparent;box-shadow:0 18px 50px rgba(0,0,0,.35);backdrop-filter:none;-webkit-backdrop-filter:none}
.nav.scrolled .brand img{filter:none}
.nav.scrolled .mt,.nav.scrolled .login{color:#3f3f46}
.nav.scrolled .mt:hover,.nav.scrolled .mi.on .mt,.nav.scrolled .login:hover{color:#141416;background:#f4f4f5}
.nav.scrolled .acts .btn.pri{background:#141416;color:#fff;border-color:#141416}
.nav.scrolled .burger{color:#141416;border-color:#e4e4e7}
/* W4 mega menu */
.mm{display:flex;gap:2px;list-style:none;margin:0;padding:0;justify-self:center}
.mt{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--tx2);font:500 var(--fs-base)/1 var(--fb);cursor:pointer;transition:color .2s,background .2s}
.mt:hover,.mi.on .mt,.mt.on{color:var(--tx);background:rgba(255,255,255,.07)}
.mt .cv{transition:transform .3s var(--ease)}.mi.on .mt .cv{transform:rotate(180deg)}
.mp{position:absolute;left:0;right:0;top:100%;padding-top:10px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s var(--ease),transform .3s var(--ease),visibility 0s linear .3s;z-index:5}
.mi.on .mp{opacity:1;visibility:visible;transform:none;transition:opacity .25s var(--ease),transform .3s var(--ease),visibility 0s}
.mp-in{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr)) 1.25fr;gap:10px;padding:10px;border-radius:26px;background:#18181b;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 80px rgba(0,0,0,.55)}
.mc{display:flex;flex-direction:column;padding:10px 10px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#1d1d21;transition:border-color .25s,background .25s,transform .25s var(--ease)}
.mc:hover{border-color:rgba(255,255,255,.22);background:#222227;transform:translateY(-2px)}
.mv{display:block;height:92px;border-radius:12px;background:radial-gradient(90% 120% at 50% 0%,rgba(255,255,255,.08),rgba(255,255,255,.02));color:rgba(250,250,250,.75);margin-bottom:14px}
.mv svg{display:block;width:100%;height:100%}
.mc b{font:600 var(--fs-md)/1.3 var(--fb);color:var(--tx);padding:0 6px}.mc small{font-size:var(--fs-sm);color:var(--tx3);padding:4px 6px 0;line-height:1.4}
.mf{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;border-radius:18px;background:#fafafa;color:#141416}
.mf .topo{opacity:.12;filter:invert(1)}.mf b{position:relative;font:600 var(--fs-xl)/1.2 var(--fd)}.mf p{position:relative;margin:8px 0 16px;font-size:var(--fs-sm);color:#52525b;line-height:1.5}
.mf .btn.pri{position:relative;align-self:flex-start;background:#141416;color:#fff;margin:0}
@media (max-width:1020px){.mp-in{grid-template-columns:repeat(var(--n),minmax(0,1fr))}.mf{display:none}}
@media (max-width:760px){
 .mm{display:none}
 .nav.open .mm{display:block;position:absolute;left:10px;right:10px;top:72px;max-height:calc(100vh - 90px);overflow:auto;padding:8px;border-radius:22px;background:#18181b;border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.55)}
 .nav.open .mi+.mi{border-top:1px solid var(--line)}
 .nav.open .mt{width:100%;justify-content:flex-start;padding:16px 12px 6px;min-height:0;background:none;color:var(--tx3);font-size:var(--fs-sm);pointer-events:none}.nav.open .mt .cv{display:none}
 .nav.open .mp{position:static;opacity:1;visibility:visible;transform:none;padding:0}
 .nav.open .mp-in{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px 4px 10px;background:none;border:0;box-shadow:none}
 .nav.open .mc{padding:8px 8px 12px;border-radius:14px}.nav.open .mv{height:56px;margin-bottom:8px}.nav.open .mc small{display:none}
}
/* X1 pill buttons everywhere; black pills on white surfaces */
.btn,.btn-o,.btn-d,.dbtn,.addr-r button,.ab,.acts-bar button,.app button:not(.app-nav):not(.app-tab),.box button,.cf-box button{border-radius:999px!important}
.btn-d,.app .btn-d{background:#111!important;color:#fff!important}
.pg{border-radius:999px}
.box .btn.pri,.calc-out .btn.pri,.fit-yes .btn.pri,.jy .btn.pri,.ml .btn.pri,.rt-c.ff .btn.pri{background:#141416;color:#fff}
/* W5 journey (white panel) */
.jy{--jb:#e4e4e7;border-radius:30px;background:#fafafa;color:#141416;overflow:hidden;border:1px solid #e4e4e7}
.jy-top{padding:18px 32px;border-bottom:1px solid #e4e4e7}.jy .eyb{display:inline-flex;align-items:center;gap:10px;font:500 var(--fs-sm)/1 var(--fb);color:#52525b}.jy .eyb i{width:7px;height:7px;border-radius:50%;background:#141416}
.jy-h{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:40px 32px 8px}.jy-h h3{margin:0;font:500 var(--fs-4xl)/1.15 var(--fd);color:#141416}.jy-h h3 span{color:#a1a1aa}.jy-h p{margin:0;max-width:320px;font:300 var(--fs-md)/1.6 var(--fb);color:#52525b}
.jl{margin:24px 32px;padding:28px 28px 20px;border-radius:22px;border:1px solid #e4e4e7;background:#fff}.jl.old{background:#f4f4f5;margin-bottom:32px}
.jl-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.jl-n{display:inline-flex;align-items:center;gap:10px;font:600 var(--fs-md)/1.2 var(--fb)}.jl-n svg{width:22px;height:22px}
.jl-m{text-align:right}.jl-m small{display:block;font-size:var(--fs-xs);color:#71717a}.jl-m b{display:block;font:500 var(--fs-6xl)/1 var(--fd);letter-spacing:-.02em}.jl.old .jl-m b{color:#a1a1aa}
.jt{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);margin:30px 0 18px;--pad:calc(50% / var(--n))}
.jt-line{position:absolute;left:var(--pad);right:var(--pad);top:28px;height:2px;background:#141416;border-radius:2px}.jl.old .jt-line{background:repeating-linear-gradient(90deg,#a1a1aa 0 6px,transparent 6px 12px)}
.jt-pk{position:absolute;z-index:2;top:22px;left:var(--pad);right:var(--pad);height:14px;pointer-events:none}
.jt-pk::after{content:"";position:absolute;left:0;top:0;width:14px;height:14px;margin-left:-7px;border-radius:4px;background:#141416;box-shadow:0 4px 12px rgba(0,0,0,.25);left:var(--x,0%)}
.jn{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 4px}
.ji{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;border:1px solid var(--jb,#e4e4e7);background:#fff;color:#141416}.ji svg{width:24px;height:24px}
.jn.core .ji{background:#141416;color:#fff;border-color:#141416}
.jn b{margin-top:12px;font:600 var(--fs-base)/1.3 var(--fb)}.jn small{margin-top:4px;font-size:var(--fs-xs);color:#71717a;line-height:1.4}
.jl.old .ji{width:48px;height:48px;border-radius:14px}.jl.old .jt-line{top:24px}.jl.old .jt-pk{top:18px}.jl.old .jt-pk::after{background:#71717a}
.jl-f{display:flex;align-items:center;gap:10px;margin:0;padding-top:16px;border-top:1px solid #e4e4e7;font-size:var(--fs-sm);color:#52525b}.jl-f i{font-style:normal;color:#141416}
.jt-pk{display:block}.jt-pk::after{content:none}
.jt-pk{left:var(--pad);right:var(--pad);width:auto}
.jt-pk>*{display:none}
.jy .jt-pk{background:none}
.jy .jt-pk::before{content:"";position:absolute;top:0;width:14px;height:14px;margin-left:-7px;border-radius:4px;background:#141416;box-shadow:0 4px 12px rgba(0,0,0,.25);left:0}
.jy .jl.old .jt-pk::before{background:#71717a}
.jy.in .jl.us .jt-pk::before{animation:jyux 5s linear infinite}
.jy.in .jl.old .jt-pk::before{animation:jyox 14s linear infinite}
@media (max-width:760px){
 .jy-top{padding:16px 20px}.jy-h{flex-direction:column;align-items:flex-start;gap:12px;padding:28px 20px 0}.jy-h h3{font-size:var(--fs-3xl)}
 .jl{margin:18px 14px;padding:20px 16px 14px}.jl.old{margin-bottom:18px}.jl-m b{font-size:var(--fs-5xl)}
 .jt{grid-template-columns:1fr;gap:18px;margin:22px 0 14px;--pad:24px}
 .jt-line{left:28px;right:auto;top:var(--pad);bottom:var(--pad);width:2px;height:auto}.jl.old .jt-line{left:23px;background:repeating-linear-gradient(180deg,#a1a1aa 0 6px,transparent 6px 12px)}
 .jt-pk{left:22px;right:auto;top:var(--pad);bottom:var(--pad);width:14px;height:auto}.jl.old .jt-pk{left:17px;top:var(--pad)}
 .jy .jt-pk::before{left:0;top:0;margin:-7px 0 0}
 .jy.in .jl.us .jt-pk::before{animation-name:jyuy}.jy.in .jl.old .jt-pk::before{animation-name:jyoy}
 .jn{flex-direction:row;align-items:center;text-align:left;gap:14px;padding:0}.jn b{margin:0}.jn small{margin:0}.jn>b,.jn>small{display:block}
 .jn{display:grid;grid-template-columns:auto 1fr;column-gap:14px}.jn .ji{grid-row:1/3}.jn b{align-self:end}.jn small{align-self:start}
}
/* W6 delivery emails (white panel) */
.ml{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:56px;border-radius:30px;background:radial-gradient(120% 120% at 100% 100%,#ececee 0%,#fafafa 55%);color:#141416;border:1px solid #e4e4e7}
.ml-badge{display:inline-flex;align-items:center;gap:12px;font:600 var(--fs-xl)/1 var(--fd)}.ml-badge i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#141416;color:#fff}.ml-badge svg{width:22px;height:22px}
.ml h2{margin:28px 0 18px;color:#141416}.ml h2 .soft{color:#a1a1aa}.ml-l>p{margin:0;font:300 var(--fs-lg)/1.7 var(--fb);color:#3f3f46;max-width:470px}
.ml-ck{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}.ml-ck li{display:flex;gap:12px;font-size:var(--fs-md);color:#3f3f46}.ml-ck li::before{content:"\2713";color:#141416}
.ml-n{margin:28px 0 0;font-size:var(--fs-sm);color:#71717a}
.ml-r{border-radius:22px;background:#fff;border:1px solid #e4e4e7;box-shadow:0 30px 70px -30px rgba(0,0,0,.3);overflow:hidden}
.ml-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #f0f0f1;font:500 var(--fs-xs)/1 var(--fb);color:#52525b}.ml-bar span{display:inline-flex;align-items:center;gap:8px}.ml-bar svg{width:16px;height:16px}.ml-bar em{font-style:normal;padding:4px 10px;border-radius:999px;background:#f4f4f5;color:#3f3f46}
.ml-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px;background:#f4f4f5;margin:12px;border-radius:999px}
.ml-tabs button{min-height:38px;border:0;border-radius:999px;background:none;font:500 var(--fs-xs)/1.2 var(--fb);color:#52525b;cursor:pointer;transition:background .25s,color .25s}.ml-tabs button.on{background:#141416;color:#fff}
.ml-p{display:none;padding:22px 30px 10px;text-align:center}.ml-p.on{display:block;animation:mlin .45s var(--ease)}
@keyframes mlin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ml-brand{display:block;font:700 var(--fs-sm)/1 var(--fb);letter-spacing:.2em}.ml-ic{display:grid;place-items:center;width:60px;height:60px;margin:22px auto;border-radius:50%;background:#f4f4f5}.ml-ic svg{width:26px;height:26px}
.ml-p h4{margin:0 0 10px;font:500 var(--fs-2xl)/1.25 var(--fd);color:#141416}.ml-p p{margin:0 auto;max-width:380px;font-size:var(--fs-sm);color:#71717a;line-height:1.6}
.ml-btn{display:inline-flex;align-items:center;gap:8px;margin:22px 0 4px;padding:13px 24px;border-radius:999px;background:#141416;color:#fff;font:500 var(--fs-sm)/1 var(--fbtn)}
.ml-fn{margin:0;padding:10px 18px 16px;text-align:center;font-size:var(--fs-2xs);color:#a1a1aa}
@media (max-width:900px){.ml{grid-template-columns:1fr;gap:36px;padding:32px 20px}.ml-p{padding:18px 16px 8px}}
/* W10 three routes */
.rt{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.rt-c{display:flex;flex-direction:column;padding:32px;border-radius:26px;border:1px solid rgba(255,255,255,.12);background:var(--bg2)}
.rt-c.ff{background:#fafafa;color:#141416;border-color:#fafafa;box-shadow:0 30px 80px -30px rgba(255,255,255,.18)}
.rt-h{display:flex;justify-content:space-between;align-items:center;gap:12px}.rt-h b{font:600 var(--fs-md)/1.3 var(--fb)}.rt-h em{font-style:normal;flex:0 0 auto;padding:5px 11px;border-radius:999px;font-size:var(--fs-2xs);border:1px solid rgba(255,255,255,.18);color:var(--tx2)}
.rt-c.ex .rt-h em{border-style:dashed}.rt-c.ff .rt-h em{border-color:#d4d4d8;color:#3f3f46}
.rt-big{margin:36px 0 28px}.rt-big b{display:block;font:500 var(--fs-6xl)/1 var(--fd);letter-spacing:-.02em}.rt-big span{display:block;margin-top:10px;font-size:var(--fs-sm);color:var(--tx3)}.rt-c.ff .rt-big span{color:#71717a}
.rt-c dl{margin:0;border-top:1px solid var(--line)}.rt-c.ff dl{border-color:#e4e4e7}.rt-c dl div{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.rt-c.ff dl div{border-color:#e4e4e7}
.rt-c dt{font-size:var(--fs-sm);color:var(--tx3)}.rt-c.ff dt{color:#71717a}.rt-c dd{margin:0;font:600 var(--fs-md)/1.3 var(--fb)}
.rt-c ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}.rt-c li{position:relative;padding-left:22px;font-size:var(--fs-sm);color:var(--tx2);line-height:1.5}.rt-c li::before{content:"\00d7";position:absolute;left:0;color:var(--tx3)}
.rt-c.ff li{color:#3f3f46}.rt-c.ff li::before{content:"\2713";color:#141416}
@media (max-width:900px){.rt{grid-template-columns:1fr}.rt-c{padding:26px 22px}.rt-c.ff{order:-1}}
/* W9 follow one order */
.fo{padding:36px;border-radius:28px;border:1px solid rgba(255,255,255,.12);background:var(--bg2)}
.fo-t{position:relative;display:grid;grid-template-columns:repeat(6,1fr);--pad:calc(100% / 12)}
.fo-line{position:absolute;left:var(--pad);right:var(--pad);top:28px;height:2px;background:rgba(255,255,255,.12);border-radius:2px}
.fo-fill{position:absolute;left:0;top:0;bottom:0;width:calc(var(--k,0) * 100%);background:#fafafa;border-radius:2px;transition:width .7s var(--ease)}
.fo-pk{position:absolute;z-index:2;top:12px;left:calc(var(--pad) + var(--k,0) * (100% - 2 * var(--pad)));width:34px;height:34px;margin-left:-17px;display:grid;place-items:center;border-radius:10px;background:#fafafa;color:#141416;box-shadow:0 10px 30px rgba(0,0,0,.5);transition:left .7s var(--ease),top .7s var(--ease)}.fo-pk svg{width:18px;height:18px}
.fo-s{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 4px;border:0;background:none;color:var(--tx3);font:500 var(--fs-sm)/1.3 var(--fb);text-align:center;cursor:pointer}
.fo-s .ji{width:58px;height:58px;border-radius:999px;background:var(--bg);border:1px solid rgba(255,255,255,.14);color:var(--tx3);transition:all .4s}
.fo-s.on .ji{border-color:rgba(255,255,255,.5);color:var(--tx)}.fo-s.cur .ji{opacity:0}.fo-s.on b{color:var(--tx)}.fo-s b{font-weight:500}
.fo-cap{position:relative;min-height:96px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.fo-c{position:absolute;inset:24px 0 auto;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s;pointer-events:none}.fo-c.on{opacity:1;transform:none}
.fo-c p{margin:10px 0 0;font:300 var(--fs-xl)/1.6 var(--fb);color:rgba(230,230,230,.85);max-width:620px}
.fo-ctl{display:flex;gap:10px;justify-content:flex-end}
@media (max-width:760px){.fo{padding:22px 16px}.fo-t{grid-template-columns:1fr;gap:10px;--pad:29px}.fo-line{left:28px;right:auto;top:var(--pad);bottom:var(--pad);width:2px;height:auto}.fo-fill{width:auto;right:0;height:calc(var(--k,0) * 100%);bottom:auto}
 .fo-pk{left:28px;top:calc(var(--pad) + var(--k,0) * (100% - 2 * var(--pad)) - 17px);margin-left:-17px}.fo-s{flex-direction:row;text-align:left;gap:14px}.fo-cap{min-height:120px}.fo-c p{font-size:var(--fs-lg)}.fo-ctl{justify-content:stretch}.fo-ctl .btn{flex:1}}
/* W7 partners */
.pw{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pw-c{padding:32px;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:var(--bg2)}
.pw-c .ji{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fafafa;color:#141416}.pw-c h3{margin:26px 0 10px;font-size:var(--fs-xl)}.pw-c p{margin:0;color:var(--tx2);font-size:var(--fs-md);line-height:1.65}
.ps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.ps-s{padding:32px 32px 0 0}.ps-s+.ps-s{padding-left:32px;border-left:1px solid var(--line)}.ps-s .n{font:500 var(--fs-5xl)/1 var(--fd);color:var(--tx3)}.ps-s h3{margin:22px 0 10px;font-size:var(--fs-xl)}.ps-s p{margin:0;color:var(--tx2);font-size:var(--fs-md);line-height:1.65}
@media (max-width:900px){.pw,.ps{grid-template-columns:1fr}.ps-s,.ps-s+.ps-s{padding:26px 0;border-left:0;border-bottom:1px solid var(--line)}}
/* W8 apply page: the form sits in the page (white panel), widens at the Calendly step */
.apply-sec{padding-top:var(--sp-8)}
.apply-g{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
.apply-n{list-style:none;counter-reset:a;margin:24px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.apply-n li{counter-increment:a;display:grid;grid-template-columns:44px 1fr;padding:22px 0;border-bottom:1px solid var(--line)}.apply-n li::before{content:"0" counter(a);font:600 var(--fs-lg)/1.3 var(--fd);color:var(--tx3);grid-row:1/3}
.apply-n b{font-size:var(--fs-lg);font-weight:600}.apply-n span{margin-top:6px;font-size:var(--fs-sm);color:var(--tx3);line-height:1.55}
.apply-p{margin-top:24px;font-size:var(--fs-sm);color:var(--tx3)}.apply-p a{color:var(--tx);text-decoration:underline;text-underline-offset:3px}
.apply-slot{min-height:420px}.box.embed{width:100%;max-width:none;box-shadow:0 40px 100px -40px rgba(0,0,0,.7)}.box.embed .x{display:none}
.apply-g:has(.box.wide){grid-template-columns:1fr}.apply-g:has(.box.wide) .apply-l{display:none}
@media (max-width:900px){.apply-g{grid-template-columns:1fr;gap:36px}.apply-slot{order:-1}.box.embed{padding:24px 20px}}
/* W12 changelog image per entry */
.cl-img{position:relative;height:230px;margin:0 0 24px;border-radius:20px;border:1px solid #e4e4e7;background:#fafafa;overflow:hidden;color:#141416;background-image:linear-gradient(90deg,rgba(0,0,0,.035) 1px,transparent 1px);background-size:56px 100%}
.ci-logo{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;font:700 var(--fs-xs)/1 var(--fb)}.ci-logo svg{width:16px;height:16px}
.ci-b{position:absolute;left:50%;top:56px;bottom:-12px;width:min(78%,440px);transform:translateX(-50%);padding:18px 20px;border-radius:14px 14px 0 0;background:#fff;border:1px solid #e4e4e7;box-shadow:0 20px 50px -20px rgba(0,0,0,.25);font:400 var(--fs-xs)/1.4 var(--fb);color:#52525b}
.ci-b .pill{display:inline-block;margin-top:12px;padding:8px 16px;border-radius:999px;background:#141416;color:#fff;font-size:var(--fs-2xs);font-weight:600}
.ci-mail{text-align:center}.ci-mail .b{display:block;font-weight:700;letter-spacing:.18em;color:#141416}.ci-mail b{display:block;margin:12px 0 10px;font-size:var(--fs-md);color:#141416}.ci-mail i{display:block;height:6px;margin:6px auto;width:80%;border-radius:4px;background:#f0f0f1}.ci-mail i.s{width:60%}
.ci-sav b{display:block;margin:6px 0 4px;font:500 var(--fs-3xl)/1 var(--fd);color:#141416}.ci-sav svg{display:block;width:100%;height:70px}
.ci-form .bar{display:block;height:4px;margin:8px 0 12px;border-radius:4px;background:#f0f0f1}.ci-form .bar i{display:block;width:100%;height:100%;border-radius:4px;background:#141416}.ci-form b{display:block;font-size:var(--fs-md);color:#141416}.ci-form .drop{margin-top:10px;padding:10px 12px;border:1.5px dashed #d4d4d8;border-radius:10px;color:#141416}.ci-form .drop em{display:block;font-style:normal;color:#71717a}
.ci-pkg{text-align:center}.ci-pkg svg{width:200px;height:110px}
.ci-tbl div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f0f0f1}.ci-tbl b{color:#141416;font-weight:500}
.p{display:inline-block;padding:4px 10px;border-radius:999px;font-size:var(--fs-2xs);font-weight:600;white-space:nowrap}.p.g{background:#ecfdf5;color:#047857}.p.b{background:#eff6ff;color:#1d4ed8}.p.y{background:#fefce8;color:#a16207}.p.r{background:#fef2f2;color:#b91c1c}.p.n{background:#f4f4f5;color:#52525b}
.ci-trend{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-top:28px}.ci-trend .p{font-size:var(--fs-sm);padding:8px 16px}
.ci-con{display:flex;align-items:center;justify-content:center;gap:0;padding-top:16px}.ci-con .n{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;border:1px solid #e4e4e7;background:#fff}.ci-con .n svg{width:28px;height:28px}.ci-con .n.k{background:#141416;color:#fff;border-color:#141416}.ci-con i{width:90px;height:2px;background:repeating-linear-gradient(90deg,#141416 0 6px,transparent 6px 12px);background-size:24px 2px;animation:cicon 1s linear infinite}
@keyframes cicon{to{background-position:24px 0}}.ci-cap{display:block;text-align:center;margin-top:14px;font-weight:600;color:#141416}
@media (max-width:760px){.cl-img{height:200px}.ci-b{width:88%}}
@media (prefers-reduced-motion:reduce){.jy.in .jt-pk::before,.ci-con i{animation:none!important}.fo-pk,.fo-fill{transition:none}}
@keyframes jyux{0.0%{left:0.00%}13.5%{left:0.00%}38.5%{left:50.00%}51.9%{left:50.00%}76.9%{left:100.00%}90.4%{left:100.00%}100%{left:100%}}@keyframes jyuy{0.0%{top:0.00%}13.5%{top:0.00%}38.5%{top:50.00%}51.9%{top:50.00%}76.9%{top:100.00%}90.4%{top:100.00%}100%{top:100%}}@keyframes jyun0{0%,0.0%{border-color:var(--jb);box-shadow:none}0.1%,13.5%{border-color:#141416;box-shadow:0 0 0 6px rgba(20,20,22,.08)}25.0%,100%{border-color:var(--jb);box-shadow:none}}@keyframes jyun1{0%,38.4%{border-color:var(--jb);box-shadow:none}38.6%,51.9%{border-color:#141416;box-shadow:0 0 0 6px rgba(20,20,22,.08)}63.5%,100%{border-color:var(--jb);box-shadow:none}}@keyframes jyun2{0%,76.8%{border-color:var(--jb);box-shadow:none}77.0%,90.4%{border-color:#141416;box-shadow:0 0 0 6px rgba(20,20,22,.08)}100.0%,100%{border-color:var(--jb);box-shadow:none}}@keyframes jyox{0.0%{left:0.00%}5.3%{left:0.00%}15.2%{left:16.67%}20.5%{left:16.67%}30.3%{left:33.33%}35.6%{left:33.33%}45.5%{left:50.00%}50.8%{left:50.00%}60.6%{left:66.67%}65.9%{left:66.67%}75.8%{left:83.33%}81.1%{left:83.33%}90.9%{left:100.00%}96.2%{left:100.00%}100%{left:100%}}@keyframes jyoy{0.0%{top:0.00%}5.3%{top:0.00%}15.2%{top:16.67%}20.5%{top:16.67%}30.3%{top:33.33%}35.6%{top:33.33%}45.5%{top:50.00%}50.8%{top:50.00%}60.6%{top:66.67%}65.9%{top:66.67%}75.8%{top:83.33%}81.1%{top:83.33%}90.9%{top:100.00%}96.2%{top:100.00%}100%{top:100%}}@keyframes jyon0{0%,0.0%{border-color:var(--jb);box-shadow:none}0.1%,5.3%{border-color:#141416;box-shadow:0 0 0 6px rgba(20,20,22,.08)}9.8%,100%{border-color:var(--jb);box-shadow:none}}@keyframes jyon1{0%,15.1%{border-color:var(--jb);box-shadow:none}15.3%,20.5%{border-color:#141416;box-shadow:0 0 0 6px rgba(20,20,22,.08)}25.0%,100%{border-color:var(--jb);box-shadow:none}}@keyframes jyon2{0%,30.2%{border-color:var(--jb);box-shadow:none}30.4%,35.6%{border-color:#141416;box-shadow:0 0 0 6px rgba(20,20,22,.08)}40.2%,100%{border-color:var(--jb);box-shadow:none}}@keyframes jyon3{0%,45.4%{border-color:var(--jb);box-shadow:none}45.6%,50.8%{border-color:#141416;box-shadow:0 0 0 6px rgba(20,20,22,.08)}55.3%,100%{border-color:var(--jb);box-shadow:none}}@keyframes jyon4{0%,60.5%{border-color:var(--jb);box-shadow:none}60.7%,65.9%{border-color:#141416;box-shadow:0 0 0 6px rgba(20,20,22,.08)}70.5%,100%{border-color:var(--jb);box-shadow:none}}@keyframes jyon5{0%,75.7%{border-color:var(--jb);box-shadow:none}75.9%,81.1%{border-color:#141416;box-shadow:0 0 0 6px rgba(20,20,22,.08)}85.6%,100%{border-color:var(--jb);box-shadow:none}}@keyframes jyon6{0%,90.8%{border-color:var(--jb);box-shadow:none}91.0%,96.2%{border-color:#141416;box-shadow:0 0 0 6px rgba(20,20,22,.08)}100.0%,100%{border-color:var(--jb);box-shadow:none}}.jy.in .jl.us .jn:nth-of-type(1) .ji{animation:jyun0 5s linear infinite}.jy.in .jl.us .jn:nth-of-type(2) .ji{animation:jyun1 5s linear infinite}.jy.in .jl.us .jn:nth-of-type(3) .ji{animation:jyun2 5s linear infinite}.jy.in .jl.old .jn:nth-of-type(1) .ji{animation:jyon0 14s linear infinite}.jy.in .jl.old .jn:nth-of-type(2) .ji{animation:jyon1 14s linear infinite}.jy.in .jl.old .jn:nth-of-type(3) .ji{animation:jyon2 14s linear infinite}.jy.in .jl.old .jn:nth-of-type(4) .ji{animation:jyon3 14s linear infinite}.jy.in .jl.old .jn:nth-of-type(5) .ji{animation:jyon4 14s linear infinite}.jy.in .jl.old .jn:nth-of-type(6) .ji{animation:jyon5 14s linear infinite}.jy.in .jl.old .jn:nth-of-type(7) .ji{animation:jyon6 14s linear infinite}
.ml-l>.ml-n{margin-top:28px}.rt-h{align-items:flex-start;min-height:46px}
.nav .mm .mc{display:flex;flex-direction:column;padding:10px 10px 16px;border-radius:18px;font-size:inherit;color:var(--tx);background:#1d1d21}
.nav .mm .mc:hover,.nav .mm .mc.on{background:#232328;color:var(--tx)}.nav .mm .mc.on{border-color:rgba(255,255,255,.3)}
.nav .mm .mc small{display:block;font-family:var(--fb);font-weight:400;letter-spacing:0}
.nav .mm .mf .btn{display:inline-flex;padding:0 18px;min-height:40px;align-items:center}
@media (max-width:760px){.nav.open .mm .mc{padding:8px 8px 12px;border-radius:14px;font-size:var(--fs-base);gap:0}.nav.open .mm .mc small{display:none}.nav.open .mm .mi+.mi{border-top:1px solid var(--line)}.nav.open .mm li+li{border-top:0}}
.box.embed .priv{margin:12px 0 0;font-size:var(--fs-sm);color:#71717a;display:flex;gap:8px;align-items:center}.box.embed .btn.gh{color:#18181b;border-color:#d4d4d8;background:transparent}
.app .app-nav{border-radius:999px!important}
.ci-pkg{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:0}.ci-pkg svg{width:170px;height:96px}.ci-pkg .pill{margin-top:4px}
/* ===== M2469 (Austin msg 2469): value-led stats, numbered value cards, case-page savings line ===== */
.hero .hstats.four,.has-saved .hero .hstats.four{grid-template-columns:repeat(4,1fr)}
.hero .hstats.four b{font-size:clamp(2.2rem,3.6vw,var(--fs-stat))}
.bx .bn{display:block;font-family:var(--fd);font-weight:500;font-size:var(--fs-sm);letter-spacing:.06em;color:var(--tx3);margin-bottom:var(--sp-5)}
.ulnk{color:var(--tx);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.cs-save{margin:var(--sp-6) 0 0;padding:var(--sp-5) 0 0;border-top:1px solid var(--line);font:300 var(--fs-lg)/1.6 var(--fb);color:var(--tx2);max-width:760px}
@media (max-width:1020px){.hero .hstats.four,.has-saved .hero .hstats.four{grid-template-columns:1fr 1fr}.hero .hstats.four>div:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--line)}.hero .hstats.four>div:nth-child(4){border-top:1px solid var(--line)}}
@media (max-width:760px){.hero .hstats.four>div:nth-child(3){grid-column:auto}.hero .hstats.four b{font-size:var(--fs-4xl)}}

/* ===== M2483_PARTNER_FORM (Austin msg 2483, 9A): /partners application form, same look as the embedded /apply box ===== */
.pf{transform:none}.pf-slot{min-height:0}.pf .ld{margin:0 0 6px}.pf .err{min-height:0;margin-top:6px}.pf .err:empty{display:none}
.pf textarea{display:block;box-sizing:border-box;width:100%;min-height:96px;padding:14px 18px;border:1px solid #d4d4d8;border-radius:22px;background:#fff;color:#141416;font:300 var(--fs-lg)/1.5 var(--fb);resize:vertical}
.pf textarea:focus{outline:2px solid #18181b}.pf input[type=text],.pf input[type=email]{border-radius:999px}.pf .ap-acts{margin-top:var(--sp-5)}
@media(max-width:760px){.pf .ap-acts .btn{width:100%}}

/* ===== M2498 (Austin msg 2498): 10/10 pass. White sections (.lt), one visual per section (.vz, currentColor so it works on dark and white), roomier rhythm, one reveal curve ===== */
:root{--sec-y:136px;--e2:cubic-bezier(.22,1,.36,1)}
@media (max-width:760px){:root{--sec-y:88px}}
.sec-h{margin-bottom:56px}
h1,h2,h3{text-wrap:balance}main p,main li,main dd{text-wrap:pretty}
main p,main li,main dd,.lead{font-weight:300}.appf p,.appf li,.box p,.box li{font-weight:400}
.lead{max-width:52ch}
.ulnk{color:var(--tx);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color .25s}
.more{margin-top:56px}
/* white sections */
.lt{background:#fafafa;color:#141416;--tx:#141416;--tx2:#52525b;--tx3:#71717a;--line:#e4e4e7;--line2:#d4d4d8;--bg:#fff;--bg2:#fff;--card:#fff;--card2:#fff}
.lt .soft{color:#a1a1aa}.lt .lead{color:#52525b}.lt .chap{color:#71717a}.lt .chap b{color:#141416}
.lt .btn.pri{background:#141416;color:#fff;border-color:#141416}.lt .btn.pri:hover{background:#27272a}
.lt .btn.gh{background:transparent;color:#141416;border-color:#d4d4d8}.lt .btn.gh:hover{border-color:#141416;background:#fff}
.lt :is(.cs-big,.cs-nx a,.cfix,.fsrch,.gstats,.jy){border-color:#e4e4e7;background:#fff}
.lt .cs-nx a:hover{border-color:#a1a1aa}
.lt .calc-in{--tx:#fafafa;--tx2:#a1a1aa;--tx3:#71717a;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.15);background:#141416;color:#fafafa;border-color:#141416}
.lt .calc-in .cfix{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.13)}
.lt .calc-out{background:#fff;border:1px solid #e4e4e7}
.lt .cl-f button{color:#52525b;border-color:#d4d4d8}.lt .cl-f button.on{background:#141416;color:#fff;border-color:#141416}
.lt .cl-img{border:1px solid #e4e4e7}
/* visual system */
.vz{display:block;width:100%;height:auto;color:var(--tx);--vk:#fff;overflow:visible;font-family:var(--fb)}
.vz .s{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.vz .d{stroke-dasharray:3 6;opacity:.55}
.vz .f{fill:currentColor}.vz .m{fill:currentColor;opacity:.07}.vz .m2{fill:currentColor;opacity:.04}
.vz .bgk{fill:var(--vk)}.vz .k{fill:var(--vk)}.vz svg.ik{color:var(--vk)}.vz .sk{fill:none;stroke:var(--vk);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vz .tm{fill:var(--tx3)}.vz .tb{fill:currentColor;font-weight:600}.vz .tk{fill:var(--vk);font-weight:600}
.vz text{font-family:var(--fb)}
:not(.lt)>.wrap .vz,.sec:not(.lt) .vz{--vk:#1a1a1d}
.vz .mvr{animation:mvr 3.4s var(--e2) infinite;opacity:0}
@keyframes mvr{0%{transform:translateX(var(--x0));opacity:0}12%{opacity:1}80%{opacity:1}100%{transform:translateX(var(--x1));opacity:0}}
@media (prefers-reduced-motion:no-preference){
 .rv{transition:opacity .9s var(--e2),transform .9s var(--e2);transform:translateY(20px)}.rv.in{transform:none}
 .stg>.rv:nth-child(2){transition-delay:.07s}.stg>.rv:nth-child(3){transition-delay:.14s}.stg>.rv:nth-child(4){transition-delay:.21s}.stg>.rv:nth-child(5){transition-delay:.28s}.stg>.rv:nth-child(6){transition-delay:.35s}
 .vz .bar{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);transition:transform 1s var(--e2) calc(.2s + var(--i,0) * 60ms)}
 .in .vz .bar{transform:none}
 .vz .pop{opacity:0;transform:translateY(6px);transition:opacity .6s var(--e2) calc(.4s + var(--i,0) * .15s),transform .6s var(--e2) calc(.4s + var(--i,0) * .15s)}
 .in .vz .pop{opacity:1;transform:none}
 .vz .draw{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--e2) .2s}.in .vz .draw{stroke-dashoffset:0}
}
@media (prefers-reduced-motion:reduce){.vz .mvr{animation:none;opacity:1;transform:translateX(var(--x1))}}
/* cards with a visual */
.vgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.vc{grid-column:span 3;display:flex;flex-direction:column;gap:28px;padding:36px;border-radius:28px;border:1px solid var(--line);background:var(--bg2);transition:transform .5s var(--e2),box-shadow .5s var(--e2),border-color .3s}
.vc.w4{grid-column:span 4}.vc.w2{grid-column:span 2}.vc.w6{grid-column:span 6}
.vc.h{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px}.vc.h .vzw{order:2}
.vzw{display:flex;align-items:center;justify-content:center;min-height:170px;padding:8px 0}.vzw .vz{max-width:320px}
.vct h3{margin:0 0 10px;font-size:var(--fs-2xl);line-height:1.2}.vct p{margin:0;color:var(--tx2);font-size:var(--fs-md);line-height:1.65;max-width:44ch}
.vc-l{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}.vc-l li{position:relative;padding-left:22px;font-size:var(--fs-base);color:var(--tx2)}.vc-l li::before{content:"\2713";position:absolute;left:0;color:var(--tx)}
@media (hover:hover){.vc:hover,.rs-r:hover,.st2 li:hover,.rcase:hover{transform:translateY(-3px);border-color:var(--line2);box-shadow:0 24px 50px -30px rgba(0,0,0,.22)}}
/* steps */
.st2{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.st2 li{padding:28px;border-radius:24px;border:1px solid var(--line);background:var(--bg2);transition:transform .5s var(--e2),box-shadow .5s var(--e2),border-color .3s}
.st2-v{display:flex;align-items:center;justify-content:center;height:128px;margin:-4px 0 20px;border-radius:16px;background:color-mix(in srgb,var(--tx) 3%,transparent)}.st2-v .vz{max-width:220px}
.st2-m{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.st2-n{font:600 var(--fs-sm)/1 var(--fd);color:var(--tx3)}.st2-d{padding:6px 12px;border-radius:999px;border:1px solid var(--line2);font-size:var(--fs-xs);color:var(--tx2)}
.st2 h3{margin:0 0 8px;font-size:var(--fs-xl)}.st2 p{margin:0;color:var(--tx2);font-size:var(--fs-md);line-height:1.6}
/* results */
.rs-g{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}
.rs-c,.rcase,.cs-chart,.pv,.tm-v{padding:40px;border-radius:28px;border:1px solid var(--line);background:var(--bg2)}
.rs-h{margin-bottom:28px}.rs-h .cat,.rs-r .cat,.rcase .cat{display:block;font-size:var(--fs-sm);color:var(--tx2)}
.rs-h b{display:block;margin:10px 0 6px;font:500 var(--fs-7xl)/1 var(--fd);letter-spacing:-.015em}.rs-h span:not(.cat){color:var(--tx3);font-size:var(--fs-base)}
.vz.chart{max-width:none}
.rs-l{display:grid;gap:16px;align-content:start}
.rs-r{display:grid;grid-template-columns:1fr auto 20px;grid-template-rows:auto auto auto;column-gap:20px;align-items:center;padding:24px 28px;border-radius:24px;border:1px solid var(--line);background:var(--bg2);transition:transform .5s var(--e2),box-shadow .5s var(--e2),border-color .3s}
.rs-r b{grid-row:2;font:500 var(--fs-5xl)/1.05 var(--fd);margin:6px 0 2px}.rs-r small{grid-row:3;font-size:var(--fs-sm);color:var(--tx3)}
.rs-r .spark{grid-column:2;grid-row:1/4;width:88px}.rs-r .ar{grid-column:3;grid-row:1/4;font-style:normal;color:var(--tx3);transition:transform .3s var(--e2)}.rs-r:hover .ar{transform:translateX(3px);color:var(--tx)}
.rcs{display:grid;gap:16px}
.rcase{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;scroll-margin-top:110px;transition:transform .5s var(--e2),box-shadow .5s var(--e2),border-color .3s}
.rcase .fig{display:block;margin:12px 0 6px;font:500 var(--fs-7xl)/1 var(--fd);letter-spacing:-.015em}.rcase .l{display:block;color:var(--tx3);font-size:var(--fs-base)}
.kp3{list-style:none;margin:28px 0 24px;padding:0;border-top:1px solid var(--line)}.kp3 li{display:flex;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.kp3 b{flex:0 0 72px;font:600 var(--fs-2xl)/1 var(--fd)}.kp3 span{font-size:var(--fs-base);color:var(--tx2)}
.cap{display:block;margin-bottom:18px;font-size:var(--fs-sm);color:var(--tx3)}
.cs-chart{margin-top:16px}
.cs-nx a .spark{width:88px;margin-top:18px}
/* team / partners */
.tm-g{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.tm-g .sec-h{margin-bottom:0}
.tm-v .vz.wide{max-width:520px;margin:0 auto}
.pts{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--line)}
.pts li{display:grid;gap:4px;padding:20px 0;border-bottom:1px solid var(--line)}.pts b{font:600 var(--fs-lg)/1.3 var(--fd)}.pts span{color:var(--tx2);font-size:var(--fs-md)}
.pts.ic li{grid-template-columns:48px 1fr;column-gap:20px;align-items:center}.pts.ic .ji{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--tx);color:var(--bg2)}
.tm-g>.pts{margin-top:0}
.gst{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;border-top:1px solid var(--line)}.gst div{padding:20px 0 0}.gst b{display:block;font:500 var(--fs-4xl)/1 var(--fd)}.gst span{display:block;margin-top:8px;font-size:var(--fs-sm);color:var(--tx3)}
.pv .vz{max-width:620px;margin:0 auto}
.ck2{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.ck2 li{display:flex;gap:14px;padding:20px 0;border-bottom:1px solid var(--line);font-size:var(--fs-lg);color:var(--tx)}.ck2 li::before{content:"\2713";font-weight:700}
.lg{margin:0}.lg div{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:28px 0;border-top:1px solid var(--line)}.lg dt{font:600 var(--fs-lg)/1.4 var(--fd)}.lg dd{margin:0;color:var(--tx2);font-size:var(--fs-md);line-height:1.7}
.foot-b .sep{display:inline-block;width:1px;height:12px;margin:0 12px;vertical-align:-1px;background:var(--line2)}.foot-b a:hover{color:var(--tx)}
@media (max-width:1020px){.vgrid{grid-template-columns:1fr 1fr}.vc,.vc.w4,.vc.w6{grid-column:span 2}.vc.w2{grid-column:span 1}.st2{grid-template-columns:1fr 1fr}.rs-g,.tm-g,.rcase{grid-template-columns:1fr}.tm-g{gap:48px}.rcase{gap:32px}}
@media (max-width:760px){.vgrid{grid-template-columns:1fr}.vc,.vc.w2,.vc.w4,.vc.w6{grid-column:1/-1}.vc{padding:26px 22px;gap:20px}.vc.h{grid-template-columns:1fr;gap:20px}.vc.h .vzw{order:0}.vzw{min-height:0}
 .st2{grid-template-columns:1fr}.rs-c,.rcase,.cs-chart,.pv,.tm-v{padding:26px 20px}.rs-h b,.rcase .fig{font-size:var(--fs-6xl)}.rs-r{padding:20px}.rs-r b{font-size:var(--fs-4xl)}
 .lg div{grid-template-columns:1fr;gap:8px}.more{margin-top:40px}.sec-h{margin-bottom:40px}.gst b{font-size:var(--fs-3xl)}.foot-b .sep{display:none}}

/* m2498b (Austin msg 2498): on/off card on phones, top nodes become two wrapping tiles so no text is cut */
@media (max-width:600px){
.sw-g .flowcard,.flowcard{aspect-ratio:auto;height:520px}
.flowcard .node{white-space:normal;max-width:calc(100% - 24px)}
.flowcard .node.n1,.flowcard .node.n2{top:12px!important;width:calc(50% - 18px);transform:none;flex-direction:column;align-items:flex-start;gap:8px;line-height:1.3}
.flowcard .node.n1{left:12px!important}.flowcard .node.n2{left:auto!important;right:12px}
.flowcard .node.n1 b,.flowcard .node.n2 b{margin-bottom:2px}
.flowcard .node.n4,.flowcard.off .node.n4{top:76%!important}
.flowcard .node.core,.flowcard .node.gap{width:max-content}
}
/* m2498b: 320px sideways scroll in the savings calculator (pre-existing) */
@media (max-width:600px){.calc{grid-template-columns:minmax(0,1fr)}.calc>*{min-width:0}.calc input[type=range]{width:100%;min-width:0}.calc-out .btn{white-space:normal;max-width:100%;text-align:center;height:auto;min-height:48px;padding-top:12px;padding-bottom:12px;line-height:1.3}#savings .ulnk{white-space:normal}}

/* ===== M2512 (Austin msg 2512): ALL CHARCOAL. White sections removed: .sec.tn is a slightly lifted charcoal band with a soft top glow.
   Small white splashes stay (app preview, calculator result, email preview, form card, one highlight card). AA: --tx3 raised to #8d8d96. ===== */
:root{--tx3:#8d8d96}
.ffdefs{position:absolute;width:0;height:0;overflow:hidden}
.tn{position:relative;background:radial-gradient(70% 420px at 50% 0%,rgba(255,255,255,.045),transparent 70%),#19191c;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);--bg2:#1f1f23;--card:#212126;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.15)}
.tn+.sec:not(.tn),.sec:not(.tn)+.tn{margin-top:0}
/* one card treatment on charcoal: soft vertical gradient, hairline, top highlight */
.vc,.st2 li,.rs-c,.rs-r,.rcase,.cs-chart,.pv,.tm-v,.cs-big,.cs-nx a,.fo,.rt-c:not(.ff){background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),var(--bg2);border-color:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
@media (hover:hover){.vc:hover,.rs-r:hover,.st2 li:hover,.rcase:hover,.cs-nx a:hover{border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 30px 60px -36px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.02)}}
/* visual stage inside cards: dot grid fading out, like a lit table */
.vzw,.st2-v{position:relative;border-radius:20px;background:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px) 0 0/16px 16px,radial-gradient(80% 90% at 50% 40%,rgba(255,255,255,.035),transparent 70%);padding:22px 18px}
.vzw::before,.st2-v::before{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,255,255,.05);pointer-events:none}
.vzw{-webkit-mask-image:none}.vc{gap:24px}
.vz .s{stroke-width:1.25}.vz .s.bgk{stroke:rgba(255,255,255,.24);fill:#202024}
.vz .t{fill:#25252a;stroke:rgba(255,255,255,.13);stroke-width:1}.vz .eg{stroke:rgba(255,255,255,.16);stroke-width:1;stroke-linejoin:round}
.vz .m{opacity:.08}
.vz .spin{transform-origin:220px 220px;animation:ffspin 90s linear infinite}
@keyframes ffspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.vz .spin{animation:none}.vz .mo{display:none}}
/* hero: copy left, orbit visual right (desktop) */
.hv-a .hero-in{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px}
.hv-vis{position:relative;display:flex;justify-content:center;align-items:center}
.hv-vis .horb{width:100%;max-width:440px;opacity:0;transform:scale(.96);animation:ffhv 1.4s var(--e2) .2s forwards}
@keyframes ffhv{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hv-vis .horb{animation:none;opacity:1;transform:none}}
@media (max-width:1020px){.hv-a .hero-in{grid-template-columns:1fr}.hv-vis{display:none}}
/* journey panel: charcoal */
.jy{--jb:rgba(255,255,255,.12);background:radial-gradient(90% 60% at 80% 0%,rgba(255,255,255,.05),transparent 60%),#1c1c20;color:var(--tx);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.tn .jy{background:radial-gradient(90% 60% at 80% 0%,rgba(255,255,255,.05),transparent 60%),#1f1f23}
.jy-top{border-color:rgba(255,255,255,.07)}.jy .eyb{color:var(--tx2)}.jy .eyb i{background:#fafafa;box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.jy-h h3{color:var(--tx)}.jy-h h3 span{color:rgba(250,250,250,.46)}.jy-h p{color:var(--tx2)}
.jl{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.09)}.jl.old{background:rgba(255,255,255,.012);border-style:dashed;border-color:rgba(255,255,255,.1)}
.jl-m small{color:var(--tx3)}.jl.old .jl-m b{color:#6e6e77}
.jt-line{background:linear-gradient(90deg,rgba(255,255,255,.25),#fafafa)}.jl.old .jt-line{background:repeating-linear-gradient(90deg,#55555d 0 6px,transparent 6px 12px)}
.ji{background:#26262b;color:var(--tx);border-color:rgba(255,255,255,.12)}
.jn.core .ji{background:#fafafa;color:#141416;border-color:#fafafa;box-shadow:0 0 0 6px rgba(255,255,255,.06),0 12px 40px -8px rgba(255,255,255,.3)}
.jl.old .ji{background:#1f1f23;color:var(--tx3)}
.jn small{color:var(--tx3)}.jl-f{border-color:rgba(255,255,255,.08);color:var(--tx2)}.jl-f i{color:var(--tx)}
.jy .jt-pk::before{background:#fafafa;box-shadow:0 0 14px rgba(255,255,255,.55)}.jy .jl.old .jt-pk::before{background:#6e6e77;box-shadow:none}
@media (max-width:760px){.jl.old .jt-line{background:repeating-linear-gradient(180deg,#55555d 0 6px,transparent 6px 12px)}.jt-line{background:linear-gradient(180deg,rgba(255,255,255,.25),#fafafa)}}
/* delivery emails panel: charcoal, the email preview stays white */
.ml{background:radial-gradient(70% 90% at 100% 100%,rgba(255,255,255,.08),transparent 60%),radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.2px) 0 0/18px 18px,#1c1c20;color:var(--tx);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.ml-badge i{background:#fafafa;color:#141416}.ml h2{color:var(--tx)}.ml h2 .soft{color:rgba(250,250,250,.46)}.ml-l>p{color:var(--tx2)}
.ml-ck li{color:var(--tx2)}.ml-ck li::before{color:var(--tx)}.ml-n{color:var(--tx3)}
.ml-r{border-color:transparent;box-shadow:0 40px 90px -30px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.08),0 0 80px -20px rgba(255,255,255,.12)}
.ml-fn{color:#71717a}
/* changelog image frames: charcoal stage, small white UI card inside */
.cl-img{background:radial-gradient(70% 80% at 50% 100%,rgba(255,255,255,.07),transparent 70%),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/56px 100%,#1c1c20;border:1px solid rgba(255,255,255,.08);color:var(--tx)}
.ci-b{border-color:transparent;box-shadow:0 30px 60px -24px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.06)}
.cl-f button{color:var(--tx2);border-color:var(--line2)}.cl-f button.on{background:#fafafa;color:#141416;border-color:#fafafa}
/* who it is for: the "not for" side as a quiet charcoal card */
.fit-no{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.08)}
/* app preview splash: lift it off the charcoal */
.appf{box-shadow:0 50px 120px -40px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.1),0 0 120px -30px rgba(255,255,255,.14)}
/* growth chart cards: soft floor glow */
.rs-c,.cs-chart,.rcase-c{position:relative}
.rs-c::after,.cs-chart::after{content:"";position:absolute;left:10%;right:10%;bottom:0;height:40%;background:radial-gradient(60% 100% at 50% 100%,rgba(255,255,255,.05),transparent 70%);pointer-events:none;border-radius:inherit}
/* CTA band + footer */
.cta-band{background:radial-gradient(60% 120% at 50% 120%,rgba(255,255,255,.12),transparent 60%),radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.2px) 0 0/18px 18px,#1a1a1d;border-color:rgba(255,255,255,.1)}
.foot{background:radial-gradient(60% 80% at 15% 0%,rgba(255,255,255,.035),transparent 60%)}
.hero .hstats .lb,.hstats span{color:var(--tx3)}
.ml-r{color:#141416}.ml-r .ml-ic{color:#141416}
@media (max-width:900px){.apply-g{grid-template-columns:minmax(0,1fr)}.apply-g>*{min-width:0}}
/* ===== M2522 (Austin msg 2522): Ecomflow-style mega menu. Top: dark panel continuing the charcoal bar. Scrolled: white panel fused to the white pill. ===== */
.mgm{display:flex;align-items:center;gap:26px;justify-self:center}
.mgh,.mgx,.mgo,.mga{display:none}
.mgi{position:static}
.mgt{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 2px;border:0;background:none;color:var(--tx2);font:500 var(--fs-base)/1 var(--fb);cursor:pointer;transition:color .2s}
.mgt:hover,.mgi.on .mgt,.mgt.on{color:var(--tx)}
.mgt:focus-visible,.mgh:focus-visible,.mgx:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:999px}.mgc:focus-visible,.mgf:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.mgt .cv{transition:transform .25s var(--e2)}
.mgi.on .mgt .cv{transform:rotate(180deg)}
.mgp{display:none;position:absolute;top:100%;left:24px;right:24px;z-index:5;padding:12px;border:1px solid rgba(255,255,255,.08);border-top:0;border-radius:0 0 22px 22px;background:rgba(20,20,22,.96);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 24px 32px -14px rgba(0,0,0,.6);color:var(--tx);text-align:left}
.mgp::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:18px}
.mgi.on .mgp{display:block;animation:mgin .22s var(--e2) both}
.nav.mg-sw .mgi.on .mgp{animation:none}
.mg-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,290px);gap:12px;animation:mgsw .2s ease both}
@keyframes mgin{0%{opacity:0;transform:translateY(-6px)}100%{opacity:1;transform:none}}
@keyframes mgsw{0%{opacity:0}}
.mg-cards{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:10px}
.mgc{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.025);color:var(--tx);transition:border-color .2s,background-color .2s,transform .3s var(--e2)}
.mgc:hover{border-color:rgba(255,255,255,.26);transform:translateY(-2px)}
.mgc.on{border-color:rgba(255,255,255,.32)}
.mgv{display:grid;place-items:center;height:112px;border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.13) 1px,transparent 0) 0 0/14px 14px,radial-gradient(120% 100% at 50% 0%,rgba(255,255,255,.06),rgba(255,255,255,.015));color:rgba(250,250,250,.8)}
.mgv svg{display:block;width:100%;height:100%;transition:transform .35s var(--e2)}
.mgc:hover .mgv svg,.mgc:focus-visible .mgv svg{transform:translateY(-3px)}
.mvk{stroke:#141416}
.mgb{display:grid;gap:6px;padding:14px 14px 16px}
.mgb b{font:600 14px/1.25 var(--fd);letter-spacing:.01em;color:inherit}
.mgb small{font:300 12px/1.45 var(--fb);color:var(--tx3)}
.mgf{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:20px;border-radius:14px;background:radial-gradient(120% 90% at 100% 0%,#3a3a41,#232327 70%);color:#fafafa}
.mgf>*{position:relative}
.mgf .mgf-g{position:absolute;top:-34px;right:-40px;width:170px;height:170px;color:#fff;z-index:-1;transition:transform .6s var(--e2)}
.mgf:hover .mgf-g{transform:scale(1.05) rotate(-8deg)}
.mgf-e{font:400 12px/1.2 var(--fb);color:rgba(250,250,250,.62)}
.mgf b{max-width:13em;font:600 19px/1.2 var(--fd);letter-spacing:-.005em}
.mgf-p{font:300 12.5px/1.5 var(--fb);color:rgba(250,250,250,.74)}
.mgf-c{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;margin-top:6px;min-height:36px;padding:0 15px;border-radius:999px;background:#fafafa;color:#141416;font:500 12px/1 var(--fb);transition:transform .25s var(--e2)}
.mgf:hover .mgf-c{transform:translateX(2px)}
.nav.mg-on{background:rgba(20,20,22,.96)}
.nav.scrolled.mg-on{background:transparent}
/* scrolled: white pill, panel fused to it */
.nav.scrolled .wrap{border-radius:31px;transition:max-width .6s var(--e2),height .5s var(--e2),margin .5s var(--e2),background-color .4s,box-shadow .5s,border-color .4s,border-radius .15s}
.nav.scrolled.mg-on .wrap{border-radius:31px 31px 0 0}
.nav.scrolled .mgt{color:#52525b}
.nav.scrolled .mgt:hover,.nav.scrolled .mgi.on .mgt,.nav.scrolled .mgt.on{color:#141416}
.nav.scrolled .mgp{top:calc(100% - 1px);left:-1px;right:-1px;border:0;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 24px 32px -14px rgba(0,0,0,.4);color:#141416}
.nav.scrolled .mgc{border-color:#e4e4e7;background:rgba(20,20,22,.02);color:#141416}
.nav.scrolled .mgc:hover{border-color:#a1a1aa}
.nav.scrolled .mgc.on{border-color:#71717a}
.nav.scrolled .mgv{border-bottom-color:#ececee;background:radial-gradient(circle at 1px 1px,rgba(20,20,22,.14) 1px,transparent 0) 0 0/14px 14px,#f4f4f5;color:#3f3f46}
.nav.scrolled .mvk{stroke:#fff}
.nav.scrolled .mgb small{color:#71717a}
.nav.scrolled .mgf{background:radial-gradient(120% 90% at 100% 0%,#2e2e33,#141416 70%)}
@media (max-width:1180px){.mgv{height:92px}.mg-in{grid-template-columns:minmax(0,1fr) 220px}}
@media (max-width:1020px){.mgm{gap:18px}.mgp{left:12px;right:12px}}
@media (max-width:900px){.mg-in{grid-template-columns:minmax(0,1fr)}.mgf{display:none}}
@media (prefers-reduced-motion:reduce){.mgi.on .mgp,.mg-in{animation:none}.mgc,.mgv svg,.mgf .mgf-g,.mgt .cv{transition:none}}
.burger .bi-x,.nav.open .burger .bi-m{display:none}
.nav.open .burger .bi-x{display:block}
/* mobile: header becomes the top of a full-height sheet; accordion sections like Ecomflow */
@media (max-width:760px){
 .mgm{display:none}
 .nav.open{background:#141416}
 .nav.open .mgm{display:block;position:absolute;top:100%;left:0;right:0;height:calc(100vh - 68px);height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain;padding:8px 20px 28px;background:#141416;border-top:1px solid rgba(255,255,255,.08);color:var(--tx);animation:mgin .22s var(--e2) both;justify-self:stretch}
 .nav.scrolled.open .wrap{border-radius:28px 28px 0 0}
 .nav.scrolled.open .mgm{top:calc(100% - 1px);left:-1px;right:-1px;height:calc(100dvh - 76px);border-top:1px solid #ececee;border-radius:0 0 22px 22px;background:#fff;color:#141416;box-shadow:0 24px 32px -14px rgba(0,0,0,.4)}
 .mgh,.mgx{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.08);color:inherit;font:500 16px/1.2 var(--fd)}
 .mgx{border-bottom:0;margin-top:10px;min-height:48px;font:400 14px/1 var(--fb);color:var(--tx2)}
 .mga{display:block;flex:0 0 auto;color:var(--tx3)}
 .mgi{border-bottom:1px solid rgba(255,255,255,.08)}
 .mgt{width:100%;justify-content:space-between;min-height:56px;padding:12px 4px;color:inherit!important;font:500 16px/1.2 var(--fd)}
 .mgt .cv{color:var(--tx3)}
 .mgp,.mgi.on .mgp,.nav.scrolled .mgp{display:grid;position:static;grid-template-rows:0fr;padding:0;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;visibility:hidden;animation:none;transition:grid-template-rows .3s var(--e2),visibility 0s linear .3s}
 .mgi.on .mgp,.nav.scrolled .mgi.on .mgp{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .3s var(--e2),visibility 0s}
 .mgp::before{display:none}
 .mg-in{display:block;min-height:0;overflow:hidden;animation:none}
 .mg-cards{display:grid;grid-template-columns:1fr;gap:2px;padding-bottom:12px}
 .mgc,.nav.scrolled .mgc{flex-direction:row;align-items:center;gap:12px;min-height:64px;padding:9px 8px;border:0;border-radius:12px;background:none;transform:none!important}
 .mgc:hover,.mgc:focus-visible,.mgc.on{background:rgba(255,255,255,.06)}
 .mgv,.mgf{display:none}
 .mgo{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--tx)}
 .mgb{flex:1;min-width:0;gap:3px;padding:0}
 .mgb b{font-size:14px}
 .nav.scrolled.open .mgh,.nav.scrolled.open .mgi{border-bottom-color:#ececee}
 .nav.scrolled.open .mgx{color:#52525b}
 .nav.scrolled.open .mgc:hover,.nav.scrolled.open .mgc.on{background:#f4f4f5}
 .nav.scrolled.open .mgo{background:#f4f4f5;color:#141416}
 .nav.scrolled.open .mga,.nav.scrolled.open .mgt .cv{color:#a1a1aa}
 .burger{border-radius:999px}
}
html.mg-lock{overflow:hidden}
.nav.mg-on:not(.scrolled){border-bottom-color:transparent}
/* M2525 (Austin msg 2525): hero stats ~17% smaller, a green dot on all three labels, one shared pulse */
.hero .hstats b{font-size:calc(var(--fs-stat)*.83)}
.hstats .dot{animation:ffblink 2.4s ease-in-out infinite;animation-delay:0s}
@media (max-width:760px){.hero .hstats b{font-size:25px}}
@media (prefers-reduced-motion:reduce){.hstats .dot{animation:none;opacity:1}}
/* M2522 fix: nested backdrop-filter does not blur inside the header, so the dark panel and the open bar are solid charcoal (no hero text showing through) */
.mgp{background:#141416}
.nav.mg-on:not(.scrolled){background:#141416;-webkit-backdrop-filter:none;backdrop-filter:none}
/* M2522: the white pill keeps a side gap on tablets too (it touched the screen edges at 1024) */
@media (min-width:761px){.nav.scrolled .wrap{max-width:min(1100px,calc(100% - 48px))}}
/* M2522 mobile sheet: full width at the top (wrap has a 1px transparent border), runs past the fold so no page shows below it */
@media (max-width:760px){.nav.open:not(.scrolled) .mgm{left:-1px;right:-1px;height:100vh;height:100dvh;padding-bottom:96px}.nav.scrolled.open .mgm{height:calc(100dvh - 76px)}}
/* ===== M2530 (Austin msg 2530 + Will's feedback): smooth mega menu, white feature card in the top state, contrast lift, premium background (no topo lines), hidden accent previews ===== */
/* 1. mega menu (desktop): every panel is pre-rendered and hidden with opacity/visibility/transform only; one shared backdrop (.wrap::after) with one fixed height (--mgh, measured in ff.js) so switching menus never jumps, re-slides or flashes */
@media (min-width:761px){
 .mgp{display:block;box-sizing:border-box;visibility:hidden;opacity:0;transform:translate3d(0,-6px,0);pointer-events:none;background:transparent!important;border-color:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:none!important;transition:opacity .16s ease,transform .22s var(--e2),visibility 0s linear .22s;will-change:opacity,transform}
 .mgi.on .mgp{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity .2s ease,transform .26s var(--e2),visibility 0s}
 .nav.mg-sw .mgp{transform:none;transition:opacity .14s ease,visibility 0s linear .14s}
 .nav.mg-sw .mgi.on .mgp{transition:opacity .2s ease .03s,visibility 0s}
 .mgp::before{height:20px}
 .mg-in{animation:none!important;min-height:var(--mgh,0px)}
 .nav.mg-meas .mg-in{min-height:0}.nav.mg-meas,.nav.mg-meas *,.nav.mg-meas *::after{transition:none!important}
 .nav .wrap::after{content:"";position:absolute;z-index:4;top:100%;left:24px;right:24px;height:calc(var(--mgh,206px) + 25px);box-sizing:border-box;border:1px solid rgba(255,255,255,.12);border-top:0;border-radius:0 0 22px 22px;background:#141416;box-shadow:0 30px 40px -18px rgba(0,0,0,.7);opacity:0;visibility:hidden;transform:translate3d(0,-6px,0);pointer-events:none;transition:opacity .16s ease,transform .22s var(--e2),visibility 0s linear .22s}
 .nav.mg-on .wrap::after{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .26s var(--e2),visibility 0s}
 .nav.scrolled .wrap::after{top:calc(100% - 1px);left:-1px;right:-1px;height:calc(var(--mgh,206px) + 24px);border:0;background:#fff;box-shadow:0 24px 32px -14px rgba(0,0,0,.4)}
 /* the bar never fades against a solid panel: same colour, same blur, open or not */
 .nav:not(.scrolled),.nav.mg-on:not(.scrolled){background:rgba(20,20,22,.94);-webkit-backdrop-filter:saturate(160%) blur(20px);backdrop-filter:saturate(160%) blur(20px);transition:border-color .2s}
 /* 2. top (dark) state: the feature card is the white inverse of the dark cards; scrolled (white) state unchanged */
 .nav:not(.scrolled) .mgf{background:radial-gradient(120% 90% at 100% 0%,#fff 0%,#ececef 75%);color:#141416;box-shadow:0 0 0 1px rgba(255,255,255,.4),0 18px 40px -18px rgba(255,255,255,.18)}
 .nav:not(.scrolled) .mgf .mgf-g{color:#141416}
 .nav:not(.scrolled) .mgf-e{color:#52525b}.nav:not(.scrolled) .mgf-p{color:#3f3f46}
 .nav:not(.scrolled) .mgf-c{background:#141416;color:#fff}
 .nav:not(.scrolled) .mgf:focus-visible{outline-color:#fff}
}
@media (min-width:761px) and (max-width:1020px){.nav .wrap::after{left:12px;right:12px}}
@media (prefers-reduced-motion:reduce){.mgp,.mgi.on .mgp,.nav .wrap::after,.nav.mg-on .wrap::after{transform:none!important;transition:opacity .01s,visibility 0s!important}}
.mgc{border-color:rgba(255,255,255,.14)}.mgv{color:rgba(250,250,250,.94)}
/* 3. contrast (Will): brighter body and muted text, clearer card edges, brighter diagrams on lifted surfaces, clear heading hierarchy */
:root{--tx2:#c3c3cb;--tx3:#a3a3ad;--line:rgba(255,255,255,.12);--line2:rgba(255,255,255,.2)}
.tn{--line:rgba(255,255,255,.12);--line2:rgba(255,255,255,.2)}
.lead,.hero .lead,.sec-h .lead{color:rgba(238,238,242,.86)}
h1 .soft,h2 .soft,.jy-h h3 span,.ml h2 .soft{color:rgba(250,250,250,.62)}
.chap{color:var(--tx2)}.chap b{display:inline-grid;place-items:center;min-width:30px;height:22px;margin-right:2px;padding:0 7px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;font-size:12px;letter-spacing:.02em}
.sec-h h2{color:#fff}
.vc,.st2 li,.rs-c,.rs-r,.rcase,.cs-chart,.pv,.tm-v,.cs-big,.cs-nx a,.fo,.rt-c:not(.ff),.pw-c,.bx,.post,.fit-no,.jy,.ml,.cl-img{border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 50px -34px rgba(0,0,0,.9)}
.vc,.st2 li,.rs-c,.rs-r,.rcase,.cs-chart,.pv,.tm-v,.cs-big,.cs-nx a,.fo,.rt-c:not(.ff){background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)),#1b1b1f}
@media (hover:hover){.vc:hover,.rs-r:hover,.st2 li:hover,.rcase:hover,.cs-nx a:hover{border-color:rgba(255,255,255,.26)}}
.vzw,.st2-v{background:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1.2px) 0 0/16px 16px,radial-gradient(80% 90% at 50% 35%,rgba(255,255,255,.075),transparent 72%),linear-gradient(180deg,#26262c,#1f1f24);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(255,255,255,.1),0 18px 40px -24px rgba(0,0,0,.8)}
.vzw::before,.st2-v::before{border-color:rgba(255,255,255,.06)}
.vz .s{stroke-width:1.6}.vz .s.bgk{stroke:rgba(255,255,255,.5);fill:#2a2a30}
.vz .t{fill:#2f2f36;stroke:rgba(255,255,255,.32);stroke-width:1.2}.vz .eg{stroke:rgba(255,255,255,.34);stroke-width:1.2}
.vz .m{opacity:.16}.vz .m2{opacity:.1}.vz .d{opacity:.85}.vz .s.d{opacity:.8}
.vz .tm{fill:#b9b9c2}.vz .tb{fill:#fff}
.vz.horb>circle.s{opacity:.3}.vz.horb .spin .s.d{opacity:.45}
.vz.spark .bar{opacity:.45}.vz.spark .bar:last-child{opacity:1}
.vz.chart>path.s{opacity:.35}
.flowcard{border-color:rgba(255,255,255,.2);background:radial-gradient(110% 90% at 70% 15%,#303037 0%,#1d1d22 62%);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 30px 70px -40px rgba(0,0,0,.9),0 0 90px -40px rgba(255,255,255,.12)}
.flowcard .fl path{stroke-opacity:1}.flowcard #p1,.flowcard #p2{stroke:rgba(255,255,255,.8)}
.node{background:rgba(36,36,42,.95);border-color:rgba(255,255,255,.24)}.node span{color:#b9b9c2}.node .ni{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18)}
.jl{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.16)}.jl.old{border-color:rgba(255,255,255,.16)}
.ji{background:#2c2c33;border-color:rgba(255,255,255,.26)}.jl.old .ji{background:#232328;color:#b9b9c2}.jl.old .jl-m b{color:#9a9aa4}
.jl.old .jt-line{background:repeating-linear-gradient(90deg,#7c7c86 0 6px,transparent 6px 12px)}
@media (max-width:760px){.jl.old .jt-line{background:repeating-linear-gradient(180deg,#7c7c86 0 6px,transparent 6px 12px)}}
.ap-hint{color:#52525b}
.foot h4{color:var(--tx2)}
/* 4. premium background: no topographic lines. Soft radial light, gradient lighting between sections, very fine static grain (one tiny SVG noise tile, rasterised once) */
.topo{display:none!important}
html{background:radial-gradient(1100px 640px at 82% -60px,rgba(255,255,255,.075),transparent 66%),radial-gradient(900px 760px at -8% 620px,rgba(255,255,255,.035),transparent 70%),#141416}
body{background:transparent}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.07;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/160px 160px}
.glow{filter:none;opacity:.09;background:radial-gradient(closest-side,#fff,transparent)}
.hero,.phero{background:radial-gradient(60% 80% at 78% 0%,rgba(255,255,255,.07),transparent 62%),radial-gradient(45% 70% at 0% 100%,rgba(255,255,255,.03),transparent 70%)}
.tn{background:radial-gradient(60% 420px at 50% 0%,rgba(255,255,255,.07),transparent 72%),radial-gradient(40% 360px at 100% 100%,rgba(255,255,255,.025),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012));border-top:1px solid transparent;border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(255,255,255,.14) 30%,rgba(255,255,255,.14) 70%,transparent) 1}
main>.sec:not(.tn):nth-of-type(odd){background:radial-gradient(45% 460px at 100% 35%,rgba(255,255,255,.035),transparent 70%)}
main>.sec:not(.tn):nth-of-type(even){background:radial-gradient(45% 460px at 0% 40%,rgba(255,255,255,.035),transparent 70%)}
.cta-band{background:radial-gradient(60% 120% at 50% 120%,rgba(255,255,255,.16),transparent 62%),radial-gradient(50% 80% at 50% -20%,rgba(255,255,255,.06),transparent 70%),linear-gradient(180deg,#202025,#19191d);border-color:rgba(255,255,255,.16)}
.ml{background:radial-gradient(70% 90% at 100% 100%,rgba(255,255,255,.1),transparent 60%),linear-gradient(180deg,#212126,#1b1b1f)}
.cl-img{background:radial-gradient(70% 80% at 50% 100%,rgba(255,255,255,.1),transparent 70%),linear-gradient(180deg,#232328,#1c1c20)}
.foot{background:radial-gradient(60% 80% at 15% 0%,rgba(255,255,255,.045),transparent 60%),linear-gradient(180deg,transparent,rgba(0,0,0,.2))}
/* 5. M2535: accent previews removed (charcoal and white only) */

/* ===== M2535 (Austin msg 2535): no accent at all, one continuous flowing surface below the hero, our own slow line-wave background, 3-way journey, platform card + demo lightbox + tour, mega menu with rendered UI previews, compact footer, new pages ===== */
/* S1: charcoal and white only. Blue status colours in the app preview become neutral */
.pl.b,.p.b{background:#ececef;color:#27272a}.ab.b,.ab.i{background:#ececef;color:#27272a;border-color:#d4d4d8}.app-tbl .lnk{color:#141416}
/* S3: our own background. A fixed canvas of slow contour lines (the OG share-image motif) drawn by ff.js; static for reduced motion */
.ffbg{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;opacity:0;transition:opacity 1.2s ease}
.ffbg.on{opacity:1}
body::before{opacity:.05}
/* S2: one continuous surface below the hero. No bands, no section backgrounds, one rhythm */
:root{--sec-y:104px;--sec-b:56px}
@media (max-width:760px){:root{--sec-y:72px;--sec-b:36px}}
.flw{position:relative}
.flw>.sec,.flw .sec,main>.sec{background:none!important;border:0!important;border-image:none!important;padding:var(--sec-y) 0 var(--sec-b)}
.flw>.sec:first-child{padding-top:calc(var(--sec-y) + 8px)}
.tn{background:none!important;border:0!important;border-image:none!important}
main>.sec:not(.tn):nth-of-type(odd),main>.sec:not(.tn):nth-of-type(even){background:none}
.hero,.phero{border-bottom:1px solid rgba(255,255,255,.12)}
.sec-h{max-width:760px;margin-bottom:44px}
.sec-h h2{margin:14px 0 14px}
.sec-h .lead{font-size:16px;line-height:1.7;max-width:620px}
.chap{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.02em;color:#c3c3cb}
.chap .kd{width:6px;height:6px;border-radius:50%;background:#fafafa;box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.foot-note{font-size:12px;line-height:1.55}
.more{margin-top:36px}
.ulnk2{display:inline-flex;align-items:center;gap:6px;font:500 14px/1 var(--fbtn);color:#fafafa;padding:12px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.03);transition:background .2s,border-color .2s}
.ulnk2 svg{transition:transform .25s var(--ease)}.ulnk2:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35)}.ulnk2:hover svg{transform:translate(2px,-2px)}
/* inner page hero with a visual */
.ph-in{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
.phv .ph-in{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.ph-c h1{max-width:760px}
.phero .ctas{margin-top:28px}
.ph-v .vzw{border-radius:24px;padding:28px}
@media (max-width:1020px){.phv .ph-in{grid-template-columns:1fr}.ph-v{max-width:620px}}
/* CTA band as one card on the surface */
.cta-sec{padding-top:72px!important}
.cta-band{text-align:center}.cta-band .kick{justify-content:center;margin-bottom:6px}
/* two-column benefit rows, no boxes */
.bn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;padding:28px 0}
.bn+.bn{margin-top:64px}
.bn.rev .bn-t{order:2}
.bn-t h3{font:500 clamp(24px,2.4vw,32px)/1.18 var(--fd);letter-spacing:-.01em;margin:14px 0 14px;color:#fff}
.bn-t h3 .soft{color:rgba(250,250,250,.62)}
.bn-t p{font-size:15.5px;line-height:1.7;color:var(--tx2);margin:0;max-width:500px}
.bn-v .vzw{border-radius:22px;padding:26px}
@media (max-width:860px){.bn{grid-template-columns:1fr;gap:28px}.bn.rev .bn-t{order:0}.bn+.bn{margin-top:40px}}
.ck3{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.ck3 li{position:relative;padding-left:28px;font-size:14.5px;color:#e4e4e7;line-height:1.5}
.ck3 li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141416' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/11px no-repeat}
/* included grid, step list, belief list: open layouts with hairlines, not boxes */
.inc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(255,255,255,.12)}
.inc-i{padding:28px 28px 30px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.inc-i:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid rgba(255,255,255,.12)}
.inc-i .ji{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#fff}
.inc-i .ji svg{width:19px;height:19px}
.inc-i b{display:block;margin:18px 0 6px;font:600 16px/1.3 var(--fb);color:#fff}.inc-i p{margin:0;font-size:14px;line-height:1.6;color:var(--tx2)}
@media (max-width:860px){.inc{grid-template-columns:1fr}.inc-i,.inc-i:not(:nth-child(3n+1)){padding:22px 0;border-left:0}}
@media (min-width:861px) and (max-width:1020px){.inc{grid-template-columns:1fr 1fr}.inc-i:not(:nth-child(3n+1)){padding-left:0;border-left:0}.inc-i:nth-child(2n){padding-left:28px;border-left:1px solid rgba(255,255,255,.12)}}
.s5{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;counter-reset:s}
.s5.four{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:40px}
.s5 li{position:relative;padding-top:22px;border-top:1px solid rgba(255,255,255,.18)}
.s5 li::before{content:"";position:absolute;left:0;top:-4px;width:7px;height:7px;border-radius:50%;background:#fafafa}
.s5n{font-size:12px;color:var(--tx3)}.s5 b{display:block;margin:10px 0 6px;font:600 16px/1.3 var(--fb);color:#fff}.s5 p{margin:0;font-size:13.5px;line-height:1.6;color:var(--tx2)}
@media (max-width:860px){.s5,.s5.four{grid-template-columns:1fr 1fr}}@media (max-width:520px){.s5,.s5.four{grid-template-columns:1fr}}
.bl3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.bl3>div{padding-top:22px;border-top:1px solid rgba(255,255,255,.18)}
.bl-n{font-size:12px;color:var(--tx3)}.bl3 b{display:block;margin:12px 0 8px;font:600 20px/1.25 var(--fd);color:#fff}.bl3 p{margin:0;font-size:14.5px;line-height:1.65;color:var(--tx2)}
@media (max-width:760px){.bl3{grid-template-columns:1fr;gap:28px}}
/* S4: three routes */
.j3w{background:none!important;border:0!important;box-shadow:none!important;border-radius:0;overflow:visible}
.j3-l{display:grid;gap:16px}
.jl.j3{margin:0;padding:24px 28px 20px;border-radius:22px}
.jl.j3.us{background:radial-gradient(80% 140% at 0% 0%,rgba(255,255,255,.12),transparent 60%),linear-gradient(180deg,#26262c,#1d1d22);border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 30px 70px -40px rgba(0,0,0,.9),0 0 80px -40px rgba(255,255,255,.18)}
.jl.j3.old{background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.16);opacity:.92}
.jl.j3 .jl-n{flex-direction:row;font:600 16px/1.2 var(--fb);color:#fff}.jl.j3 .jl-n small{display:block;margin-left:10px;font:400 12.5px/1 var(--fb);color:var(--tx3)}
.jl.j3.us .jl-m b{color:#fff}.jl.j3.old .jl-m b{color:#8e8e98}
.jl.j3 .jt{margin:24px 0 14px}
.jn.bad .ji{border-style:dashed;color:#9a9aa4}.jn.bad .ji::after{content:"";position:absolute;right:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:#71717a;box-shadow:0 0 0 2px #19191c}
.jn .ji{position:relative}
.jl.j3.ds .jt-pk{animation-duration:9s!important;animation-timing-function:steps(10,end)!important}
.jl-x{list-style:none;margin:0;padding:14px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;border-top:1px solid rgba(255,255,255,.1)}
.jl-x li{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--tx2)}
.jl-x i{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-style:normal;font-size:11px;background:rgba(255,255,255,.1);color:#a1a1aa}
.jl-x li.ok{color:#fafafa}.jl-x li.ok i{background:#fafafa;color:#141416}
.j3c{margin-top:28px;overflow-x:auto;border-radius:20px;border:1px solid rgba(255,255,255,.12)}
.j3c table{width:100%;min-width:640px;border-collapse:collapse;font-size:13.5px}
.j3c th,.j3c td{padding:14px 18px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:middle}
.j3c tr:last-child th,.j3c tr:last-child td{border-bottom:0}
.j3c thead th{font:600 13px/1.2 var(--fb);color:var(--tx2);background:rgba(255,255,255,.03)}
.j3c thead th.ff{color:#fff}.j3c thead th.ff svg{width:15px;height:15px;vertical-align:-3px;margin-right:8px}
.j3c tbody th{font-weight:400;color:var(--tx2);width:30%}
.j3c td{color:#a1a1aa}.j3c td i{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:10px;border-radius:50%;font-style:normal;font-size:11px;background:rgba(255,255,255,.08);vertical-align:-4px}
.j3c td:nth-child(2){background:rgba(255,255,255,.045);color:#fff}
.j3c td.ok i{background:#fafafa;color:#141416}
@media (max-width:760px){.jl.j3{padding:20px 18px 16px}.jl.j3 .jl-n small{margin:4px 0 0}.jl.j3 .jl-n{flex-wrap:wrap}}
/* S6: platform section, card that lifts on hover, demo tiles */
.ps{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:center}
.ps .sec-h{margin-bottom:28px}
.ps-a{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.ps-a small{font-size:12px;color:var(--tx3)}
@media (max-width:1020px){.ps{grid-template-columns:1fr;gap:36px}}
.pc{perspective:1600px}
.pc-w{display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:pointer;text-align:left;border-radius:18px;font:inherit;color:inherit;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.pc-w>span{display:block}
.pc-w{box-shadow:0 0 0 1px rgba(255,255,255,.18),0 40px 80px -40px rgba(0,0,0,.95),0 18px 36px -24px rgba(0,0,0,.8);overflow:hidden;background:#f4f4f5}
.pc-bar{display:flex!important;align-items:center;gap:7px;height:36px;padding:0 14px;background:#f4f4f5;border-bottom:1px solid #e4e4e7;color:#52525b;font-size:12px}
.pc-bar i{width:9px;height:9px;border-radius:50%;background:#d4d4d8}
.pc-bar .url{margin:0 auto 0 14px;padding:3px 12px;border-radius:7px;background:#fff;border:1px solid #e4e4e7;font-size:11.5px}
.pc-open{display:inline-flex;align-items:center;gap:4px;font:500 12px/1 var(--fbtn);color:#141416}
.pc-img{position:relative;aspect-ratio:1280/800;background:#fafafa}
.pc-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}
.pc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(20,20,22,.06))}
@media (hover:hover){.pc-w:hover{transform:translateY(-6px)}.pc-w:hover{box-shadow:0 0 0 1px rgba(255,255,255,.3),0 60px 100px -40px rgba(0,0,0,.95),0 0 90px -30px rgba(255,255,255,.18)}}
.pc-w:focus-visible{outline:2px solid #fff;outline-offset:4px}
.ps-r.solo{max-width:900px;margin:0 auto}
.pc-t{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.pct{display:flex;align-items:center;gap:12px;padding:16px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.03);color:#fff;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .3s var(--ease)}
.pct .ji{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}.pct .ji svg{width:17px;height:17px}
.pct b{display:block;font:600 14px/1.3 var(--fb)}.pct small{display:block;font-size:12px;color:var(--tx3);margin-top:2px}
.pct>svg{margin-left:auto;flex:none;opacity:.6}
@media (hover:hover){.pct:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06);transform:translateY(-2px)}}
@media (max-width:860px){.pc-t{grid-template-columns:1fr 1fr}}@media (max-width:420px){.pc-t{grid-template-columns:1fr}}
.pg6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pg6c{display:flex;flex-direction:column;gap:6px;padding:22px 22px 0;border-radius:20px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));color:#fff;font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:border-color .2s,transform .35s var(--ease)}
.pg6h{display:flex;align-items:center;gap:10px}.pg6h .ji{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.08)}.pg6h .ji svg{width:16px;height:16px}.pg6h b{font:600 16px/1.2 var(--fb)}
.pg6p{font-size:13.5px;line-height:1.55;color:var(--tx2)}.pg6l{display:inline-flex;align-items:center;gap:4px;font:500 12.5px/1 var(--fbtn);margin:6px 0 16px}
.pg6i{display:block;margin:0 -1px;border-radius:12px 12px 0 0;overflow:hidden;aspect-ratio:16/8.5;box-shadow:0 -1px 0 rgba(255,255,255,.12)}
.pg6i img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block;transition:transform .5s var(--ease)}
@media (hover:hover){.pg6c:hover{border-color:rgba(255,255,255,.3);transform:translateY(-3px)}.pg6c:hover img{transform:scale(1.03)}}
@media (max-width:1020px){.pg6{grid-template-columns:1fr 1fr}}@media (max-width:600px){.pg6{grid-template-columns:1fr}}
/* demo lightbox (copied pattern: shadowed dialog, top bar, full screen, welcome, guided tour) */
.dm{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:3vh 3vw}
.dm[hidden]{display:none}
.dm-bd{position:absolute;inset:0;background:rgba(10,10,12,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease}
.dm-box{position:relative;display:flex;flex-direction:column;width:min(1240px,100%);height:min(852px,100%);border-radius:20px;background:#f6f6f7;color:#141416;overflow:hidden;box-shadow:0 32px 140px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.14);opacity:0;transform:translateY(14px) scale(.985);transition:opacity .32s ease,transform .45s cubic-bezier(.22,1,.36,1),width .4s cubic-bezier(.22,1,.36,1),height .4s cubic-bezier(.22,1,.36,1),border-radius .4s}
.dm.on .dm-bd{opacity:1}.dm.on .dm-box{opacity:1;transform:none}
.dm.fs{padding:0}.dm.fs .dm-box{width:100%;height:100%;border-radius:0}
.dm-top{flex:none;display:flex;align-items:center;gap:12px;height:56px;padding:0 12px 0 20px;background:#fff;border-bottom:1px solid #e4e4e7}
.dm-l{display:flex;align-items:center;gap:12px;min-width:0;font-size:13px}.dm-l svg{width:20px;height:20px;color:#141416;flex:none}
.dm-l b{font:600 14px/1 var(--fb);color:#141416;padding-left:12px;border-left:1px solid #e4e4e7}
.dm-l em{font-style:normal;font:600 10.5px/1 var(--fb);letter-spacing:.06em;padding:4px 7px;border-radius:6px;border:1px solid #d4d4d8;background:#f4f4f5;color:#3f3f46}
.dm-s{color:#71717a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-fs{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:0;border-radius:999px;background:none;font:500 13px/1 var(--fbtn);color:#141416;cursor:pointer}
.dm-fs:hover{background:#f4f4f5}.dm-fs .t2,.dm.fs .dm-fs .t1{display:none}.dm.fs .dm-fs .t2{display:inline}
.dm-x{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;border:1px solid #e4e4e7;background:#fff;color:#141416;cursor:pointer}.dm-x:hover{background:#f4f4f5}
.dm-body{position:relative;flex:1;min-height:0;overflow:hidden;background:#e9e9ec}
.dm-body .appf.dmf{position:absolute;inset:0;border:0;border-radius:0;box-shadow:none;background:#e9e9ec}
.dm-body .appf.dmf .appf-bar{display:none}
.dm-body .appf-vp{margin:0 auto}
@media (max-width:760px){.dm{padding:0}.dm-box{width:100%;height:100%;border-radius:0}.dm-s,.dm-fs{display:none}.dm-x{margin-left:auto}.dm-body .appf.dmf{overflow:auto;-webkit-overflow-scrolling:touch}}
.dm-wel{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:rgba(20,20,22,.34);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}
.dm-wel.on{opacity:1;visibility:visible;transition:opacity .3s,visibility 0s}
.dmw-c{width:min(380px,100%);padding:30px 26px 20px;border-radius:18px;background:#fff;text-align:center;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);transform:translateY(8px);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.dm-wel.on .dmw-c{transform:none}
.dmw-c img{height:24px;width:auto;margin:0 auto 18px;display:block}
.dmw-c h3{font:600 19px/1.25 var(--fd);color:#141416;margin:0 0 10px}
.dmw-c p{font-size:13.5px;line-height:1.6;color:#52525b;margin:0 0 20px}
.dmw-go,.dmw-own{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;border-radius:999px;font:500 14px/1 var(--fbtn);cursor:pointer}
.dmw-go{border:0;background:#141416;color:#fff;margin-bottom:10px}.dmw-go:hover{background:#27272a}
.dmw-own{border:1px solid #e4e4e7;background:#fff;color:#141416}.dmw-own:hover{background:#f4f4f5}
.dmw-c small{display:block;margin-top:14px;font-size:11.5px;color:#a1a1aa}
.tour{position:absolute;inset:0;z-index:25;pointer-events:none;visibility:hidden}
.tour.on{visibility:visible}
.tour-ring{position:absolute;border-radius:14px;box-shadow:0 0 0 2px #141416,0 0 0 6px rgba(255,255,255,.9),0 0 0 9999px rgba(20,20,22,.42);transition:all .45s cubic-bezier(.22,1,.36,1)}
.tour-pop{position:absolute;width:320px;max-width:calc(100% - 24px);padding:16px 18px 16px;border-radius:16px;background:#fff;color:#141416;box-shadow:0 24px 60px -16px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.06);pointer-events:auto;transition:left .45s cubic-bezier(.22,1,.36,1),top .45s cubic-bezier(.22,1,.36,1)}
.tour-h{display:flex;align-items:center;justify-content:space-between}.tour-n{font:600 12px/1 var(--fb);color:#52525b}
.tour-x{width:28px;height:28px;border:0;border-radius:999px;background:none;font-size:20px;line-height:1;color:#71717a;cursor:pointer}.tour-x:hover{background:#f4f4f5}
.tour-bar{display:flex;gap:4px;margin:10px 0 14px}.tour-bar i{flex:1;height:3px;border-radius:3px;background:#e4e4e7}.tour-bar i.on{background:#141416}
.tour-t{display:block;font:600 16px/1.3 var(--fd);margin-bottom:6px}.tour-p{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:#52525b}
.tour-a{display:flex;justify-content:flex-end;gap:8px}
.tour-b,.tour-nx{height:38px;padding:0 16px;border-radius:999px;font:500 13px/1 var(--fbtn);cursor:pointer}
.tour-b{border:1px solid #e4e4e7;background:#fff;color:#141416}.tour-nx{border:0;background:#141416;color:#fff}
.tour-b[disabled]{opacity:.4;cursor:default}
html.dm-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){.dm-bd,.dm-box,.dm-wel,.dmw-c,.tour-ring,.tour-pop,.pc-w{transition:none!important}}
/* home: Faye pointer under the email preview */
.fy-mini{display:flex;align-items:center;gap:16px;margin-top:20px;padding:18px 20px;border-radius:18px;border:1px solid rgba(255,255,255,.13);color:#fff;background:rgba(255,255,255,.03);transition:border-color .2s,background .2s}
.fy-mini .fy-ic{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fafafa;color:#141416}
.fy-mini b{display:block;font:600 15px/1.3 var(--fb)}.fy-mini small{display:block;font-size:13px;color:var(--tx2);margin-top:3px;line-height:1.5}.fy-mini>svg{margin-left:auto;flex:none}
@media (hover:hover){.fy-mini:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06)}}
/* Faye chat card */
.fy{border-radius:22px;background:#fff;color:#141416;padding:18px;box-shadow:0 40px 90px -40px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.2)}
.fy-top{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid #ececef}
.fy-av{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#141416;color:#fff}.fy-av svg{width:16px;height:16px}
.fy-top b{font:600 14px/1 var(--fb)}.fy-top em{font-style:normal;font-size:12px;color:#71717a}
.fy-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#52525b}.fy-live i{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.fy-m{margin-top:14px;padding:12px 14px;border-radius:14px;max-width:88%}.fy-m small{display:block;font-size:11px;color:#71717a;margin-bottom:4px}.fy-m p{margin:0;font-size:13.5px;line-height:1.55}
.fy-m.in{background:#f4f4f5}.fy-m.out{margin-left:auto;background:#141416;color:#fafafa}.fy-m.out small{color:#a1a1aa}
.fy-k{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.fy-k span{font-size:11.5px;padding:5px 9px;border-radius:999px;border:1px solid #e4e4e7;color:#3f3f46}
.fy-n{margin:12px 0 0;font-size:11px;color:#a1a1aa}
/* about */
.ab-s{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px}
.ab-t p{font-size:17px;line-height:1.75;color:#e4e4e7;margin:0 0 18px}
@media (max-width:860px){.ab-s{grid-template-columns:1fr;gap:12px}}
.tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;position:relative}
.tl::before{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.4),rgba(255,255,255,.08))}
.tl li{position:relative;padding-top:26px}.tl li::before{content:"";position:absolute;left:0;top:0;width:9px;height:9px;border-radius:50%;background:#fafafa;box-shadow:0 0 0 5px rgba(255,255,255,.08)}
.tl-d{font-size:12px;color:var(--tx3)}.tl b{display:block;margin:8px 0 6px;font:600 16px/1.3 var(--fb);color:#fff}.tl p{margin:0;font-size:13.5px;line-height:1.6;color:var(--tx2)}
@media (max-width:860px){.tl{grid-template-columns:1fr;gap:22px;padding-left:22px}.tl::before{left:4px;right:auto;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,.08))}.tl li{padding-top:0}.tl li::before{left:-22px;top:4px}}
.sec-h h2 b[data-live]{font:inherit;color:inherit}
.tc-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.tc{margin:0}
.tc-i{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#2c2c32,#18181b);border:1px solid rgba(255,255,255,.12)}
.tc-i img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05)}
.tc-ph{position:absolute;inset:0;display:grid;place-items:center}
.tc-ph svg{position:absolute;bottom:0;left:50%;width:78%;transform:translateX(-50%);fill:rgba(255,255,255,.08)}
.tc-ph b{position:relative;margin-top:-30%;font:500 34px/1 var(--fd);color:rgba(255,255,255,.55)}
.tc figcaption{padding:14px 2px 0}.tc figcaption b{display:block;font:600 16px/1.3 var(--fb);color:#fff}.tc figcaption span{display:block;font-size:13px;color:#e4e4e7;margin-top:2px}.tc figcaption small{display:block;font-size:12.5px;color:var(--tx3);margin-top:6px;line-height:1.5}
@media (max-width:1020px){.tc-g{grid-template-columns:1fr 1fr}}
.ab-st{margin-top:0!important;border-top:1px solid rgba(255,255,255,.12);padding-top:32px}
/* careers */
.roles{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.12)}
.role{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:24px;align-items:center;padding:24px 4px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;transition:background .2s,padding .3s var(--ease)}
.role-t b{display:block;font:600 17px/1.3 var(--fb)}.role-t small{display:block;font-size:12.5px;color:var(--tx3);margin-top:4px}
.role-p{font-size:14px;line-height:1.6;color:var(--tx2)}
/* m2677 C5: "View role" is a plain text link with an arrow at the source (no pill, no white hover fill, at any width or state) */
.role-a{display:inline-flex;align-items:center;gap:6px;font:500 15px/1.4 var(--fbtn);padding:0;border:0;border-radius:0;background:none;color:#EDEDEF;white-space:nowrap;text-decoration:underline;text-decoration-color:rgba(255,255,255,.2);text-underline-offset:4px}
@media (hover:hover){.role:hover{background:rgba(255,255,255,.03)}.role:hover .role-a{text-decoration-color:rgba(255,255,255,.6)}}
@media (max-width:860px){.role{grid-template-columns:1fr;gap:10px}.role-a{justify-self:start}}
.cr-role{animation:crIn .45s cubic-bezier(.22,1,.36,1)}
@keyframes crIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.crd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:56px;align-items:start}
@media (max-width:1020px){.crd{grid-template-columns:1fr;gap:32px}}
.crd-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:24px;font:500 13px/1 var(--fbtn);color:var(--tx2);background:none;border:0;padding:8px 0;cursor:pointer}
.crd-back:hover{color:#fff}
.crd h2{font:500 clamp(28px,3vw,40px)/1.15 var(--fd);margin:12px 0 10px;color:#fff}
.crd-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.crd-meta span{font-size:12.5px;padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.16);color:#e4e4e7}
.crd-sum{font-size:16px;line-height:1.7;color:#e4e4e7;margin:0 0 28px}
.crd h3{font:600 15px/1.3 var(--fb);color:#fff;margin:26px 0 10px}
.crd ul{margin:0;padding-left:18px;color:var(--tx2);font-size:14.5px;line-height:1.7}
.cf-box2{position:sticky;top:110px;border-radius:24px;background:#fff;color:#141416;padding:26px;box-shadow:0 40px 90px -40px rgba(0,0,0,.95)}
.cf-box2 .ap-bar{height:4px;border-radius:99px;background:#e4e4e7;margin:10px 0 20px;overflow:hidden}.cf-box2 .ap-bar i{display:block;height:100%;background:#141416;transition:width .4s var(--ease)}
.cf-step{display:none}.cf-step.on{display:block;animation:crIn .35s ease}
.cf-box2 .cf-k{font-size:12px;color:#71717a}
.cf-box2 h4{font:600 20px/1.25 var(--fd);margin:0 0 4px}
.cf-box2 .cf-l{font-size:13px;color:#52525b;margin:0 0 16px}
.cf-box2 label{display:block;font:600 13px/1.3 var(--fb);margin:14px 0 6px;color:#141416}.cf-box2 label small{font-weight:400;color:#71717a}
.cf-box2 input[type=text],.cf-box2 input[type=email],.cf-box2 input[type=tel],.cf-box2 input[type=url],.cf-box2 input[type=number],.cf-box2 select,.cf-box2 textarea{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:12px;border:1px solid #d4d4d8;background:#fff;font:400 14px/1.4 var(--fb);color:#141416}
.cf-box2 textarea{min-height:96px;resize:vertical}
.cf-box2 input:focus,.cf-box2 select:focus,.cf-box2 textarea:focus{outline:2px solid #141416;outline-offset:1px;border-color:#141416}
.cf-box2 .hint{font-size:12px;color:#71717a;margin-top:5px}
.cf-opts{display:flex;flex-wrap:wrap;gap:8px}.cf-opts label{display:inline-flex;align-items:center;gap:8px;margin:0;padding:10px 14px;border-radius:999px;border:1px solid #d4d4d8;font-weight:500;cursor:pointer}
.cf-opts input{accent-color:#141416}.cf-opts label:has(input:checked){border-color:#141416;background:#f4f4f5}
.cf-file{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:22px;border-radius:14px;border:1.5px dashed #d4d4d8;text-align:center;cursor:pointer;font-size:13px;color:#52525b}
.cf-file b{color:#141416}.cf-file.has{border-style:solid;border-color:#141416;background:#fafafa}
.cf-box2 .err{min-height:0;font-size:12.5px;color:#b91c1c;margin-top:6px}
.cf-acts{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}
.cf-acts .btn{min-height:44px}
.cf-back{background:none;border:0;font:500 13px/1 var(--fbtn);color:#52525b;cursor:pointer;padding:12px 4px}.cf-back[hidden]{visibility:hidden;display:inline}
.cf-sv{font-size:11.5px;color:#a1a1aa;margin-top:10px;text-align:right}
.cf-rev dl{margin:0;display:grid;gap:8px;font-size:13px}.cf-rev dt{color:#71717a}.cf-rev dd{margin:0 0 6px;color:#141416;word-break:break-word}
.cf-ty{text-align:center;padding:12px 0}.cf-ty .tick{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:#141416;color:#fff;font-size:22px}
.cf-ty h4{margin-bottom:8px}.cf-ty p{font-size:14px;color:#52525b;line-height:1.6;margin:0 0 18px}
.cf-box2 .btn.pri{background:#141416;color:#fff}
/* deeper case studies */
.cs5w{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.12)}
.cs5{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.cs5-h{display:flex;gap:16px;align-items:baseline}.cs5-n{font-size:12.5px;color:var(--tx3)}.cs5-h h3{font:600 22px/1.25 var(--fd);margin:0;color:#fff}
.cs5-b p{font-size:15.5px;line-height:1.7;color:#e4e4e7;margin:0}
.cs5-b .ck3{margin-top:0}.cs5-b p+.ck3{margin-top:14px}
.cs5-b .kpis{margin:0}
.cs5-b .cs-save{margin-top:18px;font-size:14px;color:var(--tx2)}
@media (max-width:860px){.cs5{grid-template-columns:1fr;gap:14px;padding:26px 0}}
.ef .vzw{padding:28px;border-radius:24px;max-width:820px;margin:0 auto}
/* S7: mega menu cards with rendered UI previews, simpler feature card */
.mgimg{padding:0!important;overflow:hidden;background:#e9e9ec!important}
.mgimg img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.mgimg svg{display:none}
@media (hover:hover){.mgc:hover .mgimg img{transform:scale(1.04)}}
.mgf-s,.mgf-calc{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;text-decoration:none}
.mgf .mgf-g{display:none!important}
.mgf-c{align-self:flex-start;margin-top:6px}
.mgf-x{display:flex;gap:14px;margin-top:6px}.mgf-x a{display:inline-flex;align-items:center;gap:3px;font-size:12px;opacity:.75}.mgf-x a:hover{opacity:1}.mgf-x svg{width:12px;height:12px}
.mgf-calc .mcx{display:block;margin:4px 0 0;font-size:12px}
.mgf-calc .mcx span{display:flex;justify-content:space-between;opacity:.75}.mgf-calc .mcx output{font-weight:600;opacity:1}
.mgf-calc input[type=range]{width:100%;margin:8px 0 2px;accent-color:#141416}
.nav.scrolled .mgf-calc input[type=range]{accent-color:#fafafa}
.mgf-calc .mcx-y{font-size:12px;opacity:.8}.mgf-calc .mcx-y b{font:600 20px/1 var(--fd);opacity:1;margin-right:4px}
/* S8: more room before the logo in the scrolled pill */
@media (min-width:761px){.nav.scrolled .brand{margin-left:14px}}
@media (max-width:760px){.nav.scrolled .brand{margin-left:6px}}
/* S9: compact footer, no wordmark */
.wordmark{display:none!important}
.ft35{padding:56px 0 28px;margin-top:24px}
.ft-g{display:grid;grid-template-columns:1.5fr repeat(4,minmax(0,1fr)) 1.3fr;gap:32px}
.ft-brand img{height:26px;width:auto}.ft-brand p{margin:16px 0 0;font-size:13px;line-height:1.6;color:var(--tx2)}
.ft35 h4{margin:2px 0 14px;font:500 12.5px/1 var(--fb);color:#fafafa;letter-spacing:.01em}
.ft35 ul{gap:9px}.ft35 ul a{font-size:13px;color:var(--tx2)}
.ft-next p{margin:0 0 12px;font-size:13px;line-height:1.6;color:var(--tx2)}
.ft-cta{display:inline-flex;align-items:center;gap:4px;font:500 13px/1 var(--fbtn);color:#fff;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:3px}.ft-cta svg{width:13px;height:13px}
.ft35 .foot-b{margin-top:44px;padding-top:18px;font-size:12px}
@media (max-width:1020px){.ft-g{grid-template-columns:repeat(3,minmax(0,1fr))}.ft-brand{grid-column:1/-1}}
@media (max-width:560px){.ft-g{grid-template-columns:1fr 1fr;gap:28px 20px}.ft-next{grid-column:1/-1}}
/* M2535 round 2: Relay + Faye content pages, About story */
.paper{border-radius:22px;background:#fff;padding:clamp(10px,2vw,22px);box-shadow:0 40px 90px -45px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.16);overflow:hidden}
.paper img{display:block;width:100%;height:auto}
.sec .paper{margin-top:8px}
.s5.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:40px}
@media (max-width:860px){.s5.three{grid-template-columns:1fr}}
.ui-shot{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.dg{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:center}
.dg-tabs{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.12)}
.dg-t{display:block;width:100%;text-align:left;padding:16px 4px 16px 18px;border:0;border-bottom:1px solid rgba(255,255,255,.12);background:none;color:var(--tx2);font:inherit;cursor:pointer;position:relative;transition:color .2s,background .2s}
.dg-t::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:2px;border-radius:2px;background:rgba(255,255,255,.12);transition:background .25s}
.dg-t b{display:block;font:600 15px/1.3 var(--fb);color:#d4d4d8}.dg-t small{display:block;font-size:13px;margin-top:3px;line-height:1.5}
.dg-t.on b{color:#fff}.dg-t.on::before{background:#fafafa}.dg-t:hover b{color:#fff}
.dg-ph{justify-self:center;width:300px;padding:10px;border-radius:44px;background:linear-gradient(180deg,#2c2c32,#18181b);box-shadow:0 0 0 1px rgba(255,255,255,.18),0 50px 90px -40px rgba(0,0,0,.95)}
.dg-sc{position:relative;aspect-ratio:390/780;border-radius:34px;overflow:hidden;background:#fff}
.dg-sc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .45s ease}
.dg-sc img.on{opacity:1}
@media (max-width:860px){.dg{grid-template-columns:1fr;gap:28px}.dg-ph{order:-1;width:260px}}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font:600 11.5px/1.2 var(--fb);white-space:nowrap;vertical-align:1px}
.chip.live{background:#fafafa;color:#141416}.chip.coming{border:1px solid rgba(255,255,255,.28);color:#d4d4d8}
.fcan{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.12)}
.fcan li{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 2px;border-bottom:1px solid rgba(255,255,255,.12);font-size:14.5px;color:#e4e4e7}
.fy-st{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:18px 0 0;font-size:12.5px;color:var(--tx2);flex-basis:100%}
.fy-st span:not(.chip){margin-right:8px}
.ab-two{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px}
.ab-two>div{padding:24px;border-radius:20px;border:1px dashed rgba(255,255,255,.16)}
.ab-two>div.us{border:1px solid rgba(255,255,255,.3);background:radial-gradient(80% 140% at 0% 0%,rgba(255,255,255,.1),transparent 60%),#1f1f24}
.ab-two .bl-n{display:inline-flex;align-items:center;gap:8px}.ab-two .bl-n svg{width:14px;height:14px}
.ab-two b{display:block;margin:12px 0 8px;font:600 19px/1.25 var(--fd);color:#fff}.ab-two p{margin:0;font-size:14px;line-height:1.65;color:var(--tx2)}
@media (max-width:860px){.ab-two{grid-template-columns:1fr}}
.ps .sec-h h2{font-size:clamp(30px,3.3vw,46px)}
.mgimg{height:128px!important}
@media (max-width:760px){.mgimg{height:auto!important}}
.mgf-calc input[type=range]{-webkit-appearance:auto;appearance:auto;height:auto;background:none;border:0;padding:0;box-shadow:none}
.crd-back{display:flex;width:max-content}
.ps>*{min-width:0}.ps .sec-h h2{overflow-wrap:anywhere}
@media (max-width:420px){.ps .sec-h h2{font-size:28px}}
/* M2535 round 3 (Austin msg 2545): value stack, ticket ledger, Faye portal preview */
.vs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding:44px;border-radius:28px;border:1px solid rgba(255,255,255,.22);background:radial-gradient(70% 120% at 0% 0%,rgba(255,255,255,.1),transparent 60%),linear-gradient(180deg,#232328,#1a1a1e);box-shadow:0 40px 90px -50px rgba(0,0,0,.95)}
.vs h2{margin:14px 0 14px}.vs .ctas{margin-top:24px}
.vs-r{list-style:none;margin:0;padding:0;display:grid;gap:0}
.vs-r li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}.vs-r li:last-child{border-bottom:0}
.vs-r i{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fafafa;color:#141416;font-style:normal;font-size:12px;margin-top:1px}
.vs-r b{display:block;font:600 15px/1.3 var(--fb);color:#fff}.vs-r small{display:block;font-size:13px;color:var(--tx2);margin-top:2px}
@media (max-width:860px){.vs{grid-template-columns:1fr;gap:28px;padding:28px 22px}}
.ldg{border-radius:20px;background:#fff;color:#141416;padding:18px;box-shadow:0 40px 90px -40px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.2)}
.ldg-h{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #ececef;font-size:12px;color:#71717a}.ldg-h b{font:600 14px/1 var(--fb);color:#141416}
.ldg-r{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #f4f4f5;font-size:13px}
.ldg-id{color:#a1a1aa;font-size:12px}.ldg-q{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ldg-s{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#3f3f46;white-space:nowrap}.ldg-s i{width:7px;height:7px;border-radius:50%;background:#22c55e}
.ldg-r.hand .ldg-s i{background:#a1a1aa}.ldg-r.due .ldg-s i{background:#141416}
@media (max-width:420px){.ldg-r{grid-template-columns:44px minmax(0,1fr)}.ldg-s{grid-column:2}}
.fp{max-width:980px;margin:0 auto;border-radius:22px;background:#f6f6f7;color:#141416;padding:22px;box-shadow:0 50px 100px -45px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.2)}
.fp-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.fp-top b{font:600 18px/1.2 var(--fd)}
.fp-tg{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:#141416;color:#fff;font-size:12px}.fp-tg i{width:26px;height:16px;border-radius:99px;background:#22c55e;position:relative}.fp-tg i::after{content:"";position:absolute;right:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff}
.fp-k{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fp-k>div{padding:14px;border-radius:14px;background:#fff;border:1px solid #e4e4e7}.fp-k small{display:block;font-size:12px;color:#71717a}.fp-k b{display:block;font:500 24px/1.2 var(--fd);margin:6px 0 2px}.fp-k span{font-size:11.5px;color:#a1a1aa}
.fp-t{margin-top:14px;border-radius:14px;background:#fff;border:1px solid #e4e4e7;overflow:hidden;font-size:13px}
.fp-th,.fp-tr{display:grid;grid-template-columns:80px minmax(0,1fr) 220px;gap:12px;padding:11px 14px}.fp-th{background:#fafafa;color:#71717a;font-size:12px}.fp-tr{border-top:1px solid #f4f4f5}
.fp-tr .st{font-size:12px;color:#3f3f46}.fp .fy-n{margin-top:12px}
@media (max-width:760px){.fp-k{grid-template-columns:1fr 1fr}.fp-th,.fp-tr{grid-template-columns:52px minmax(0,1fr)}.fp-th span:last-child,.fp-tr .st{grid-column:2}}
.chip.pilot{background:#fafafa;color:#141416}
.vzw>.ldg,.vzw>.fy,.vzw>.paper{flex:1 1 auto;width:100%;min-width:0}
.ph-v>.fy{max-width:520px;margin-left:auto}

/* M2550 team grid: square greyscale headshots on #383838, leadership larger */
.tc-g.tc-lead{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:760px;margin-bottom:40px}
.tc-g.tc-crew{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.tc-g .tc-i{aspect-ratio:1/1;background:#383838;border-color:rgba(255,255,255,.1)}
.tc-g .tc-i img{filter:grayscale(1)}
.tc-g .tc-ph svg{fill:rgba(255,255,255,.07);width:70%}
.tc-g .tc-ph b{margin-top:-24%}
.tc-lead figcaption b{font:600 20px/1.25 var(--fd)}
.tc-lead figcaption span{font-size:14px}
@media (max-width:1020px){.tc-g.tc-crew{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.tc-g.tc-lead,.tc-g.tc-crew{grid-template-columns:1fr 1fr;gap:14px}.tc-g.tc-lead{margin-bottom:28px}.tc figcaption small{font-size:12px}}

/* ===== M2554 (Austin msg 2554): final polish. S13 premium principles (no brand colour): strict type scale, stronger hierarchy and contrast,
   depth through light and layering, pure-white highlights on key elements, refined hairline borders. Plus S1-S12 + T1. ===== */
/* S13.1 strict type scale: 5 heading steps + 3 text steps, used everywhere */
:root{--fs-h1:clamp(40px,4.6vw,60px);--fs-h2:clamp(30px,3.4vw,44px);--t-h3:20px;--t-body:16px;--t-sm:14px;--t-xs:12.5px;--fs-lead:clamp(16px,1.3vw,18px);
 --hl:rgba(255,255,255,.1);--hl2:rgba(255,255,255,.18);--top-hl:inset 0 1px 0 rgba(255,255,255,.09);--lift:0 1px 2px rgba(0,0,0,.4),0 24px 60px -32px rgba(0,0,0,.85);
 --card-bg:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018))}
h1,.phero h1{letter-spacing:-.025em;line-height:1.04}
h2,.sec-h h2{letter-spacing:-.02em;line-height:1.08;color:#fff}
h1 .soft,h2 .soft,.jy-h h3 span,.ml h2 .soft{color:rgba(250,250,250,.5)}
.sec-h .lead,.lead{color:rgba(236,236,240,.76)}
.sec-h{margin-bottom:56px}
.bl3 b,.vct h3,.bn-t h3,.pw-c h3{font-size:var(--t-h3)}
.inc-i b,.s5 b,.vs-r b,.fy-mini b,.pct b{font-size:var(--t-body)}
.inc-i p,.s5 p,.bl3 p,.vct p{font-size:var(--t-sm);line-height:1.65}
.foot-note,.fy-n{font-size:var(--t-xs)}
/* S13.2 hierarchy: kickers become a quiet pill with a white dot, so the headline leads */
.chap{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;border-radius:999px;border:1px solid var(--hl);background:rgba(255,255,255,.03);color:rgba(250,250,250,.78);letter-spacing:0;text-transform:none;font:500 12.5px/1 var(--fb)}
.chap .kd{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.7)}
/* S13.3 depth through light: layered card surface, top highlight, soft long shadow */
.vc,.pct,.pg6c,.rc,.vs,.fy-mini,.jl.j3.us,.ldg,.fp,.cta-band,.ml,.rt-c:not(.ff){box-shadow:var(--top-hl),var(--lift)}
.vc,.pct,.pg6c,.fy-mini{background:var(--card-bg);border-color:var(--hl)}
@media (hover:hover){.vc:hover,.pct:hover,.pg6c:hover{border-color:var(--hl2);box-shadow:var(--top-hl),0 1px 2px rgba(0,0,0,.4),0 34px 70px -30px rgba(0,0,0,.95),0 0 60px -30px rgba(255,255,255,.18)}}
/* S13.4 pure-white highlights on the key elements: primary buttons, live numbers, the FF lane */
.btn.pri{background:#fff;color:#0d0d0f;box-shadow:0 0 0 1px rgba(255,255,255,.6),0 10px 30px -10px rgba(255,255,255,.35)}
.btn.pri:hover{background:#fff;box-shadow:0 0 0 1px #fff,0 14px 40px -10px rgba(255,255,255,.5)}
.hstats b{color:#fff;text-shadow:0 0 40px rgba(255,255,255,.18)}
.btn .ar{display:inline-grid;place-items:center}.btn .ar svg{display:block}
.nav .btn.pri,.nav.scrolled .acts .btn.pri{box-shadow:none}
.box .btn.pri,.calc-out .btn.pri,.fit-yes .btn.pri,.ml .btn.pri,.rt-c.ff .btn.pri,.cf-box2 .btn.pri,.lt .btn.pri{background:#141416;color:#fff;box-shadow:none}
/* S13.5 refined borders: one hairline weight, slightly brighter on hover */
.j3c,.inc-i,.bl3>div,.role{border-color:var(--hl)}

/* S6 one check icon: inline svg in a circle, centred; pseudo-element ticks use the same glyph */
i>svg.ck{display:block;width:11px;height:11px}
.j3c td i,.jl-x i,.vs-r i,.jl-f i,.fit li i{display:inline-grid!important;place-items:center;line-height:0!important;font-size:0!important;padding:0}
.j3c td i{width:20px;height:20px}.fit li i{width:20px;height:20px;flex:0 0 20px;border-radius:50%;background:rgba(20,20,22,.08);margin-top:2px}.fit-yes li i{background:#141416;color:#fff}
.tick svg{width:26px;height:26px}.thanks .tick{background:#141416;color:#fff}.tick{display:grid!important;place-items:center}
.ml-ck li::before,.vc-l li::before,.ck2 li::before{content:""!important;flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141416' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat;margin-top:2px}
.vc-l li::before{top:2px}
.rt-c.ff li::before{content:""!important;display:inline-block;flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#141416 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat;margin-right:10px;vertical-align:-4px}
.ck3 li::before{background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141416' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat}

/* S8 three routes: each dot follows its own lane's milestones, travels under the nodes, the node pulses on arrival */
.jy .jt-pk{z-index:0!important}.jy .jn{z-index:1}.jy .jn .ji{position:relative;z-index:1}
.jy.in .jl.us .jn .ji{animation:none!important}
.jy .jn .ji::before{content:"";position:absolute;inset:-5px;border-radius:inherit;border:1.5px solid #fff;opacity:0;pointer-events:none}
.jy .jl.old .jt-pk::before{background:#d4d4d8;box-shadow:0 0 10px rgba(255,255,255,.35)}
@keyframes d54usx{0%{left:0%;opacity:0}3.33%{opacity:1}0.0%{left:0.0%}15.56%{left:0.0%}35.56%{left:50.0%}51.11%{left:50.0%}71.11%{left:100.0%}86.67%{left:100.0%}94.44%{opacity:1}100%{left:100%;opacity:0}}
@keyframes d54usy{0%{top:0%;opacity:0}3.33%{opacity:1}0.0%{top:0.0%}15.56%{top:0.0%}35.56%{top:50.0%}51.11%{top:50.0%}71.11%{top:100.0%}86.67%{top:100.0%}94.44%{opacity:1}100%{top:100%;opacity:0}}
.jy.in .jl.j3.us .jt-pk::before{animation:d54usx 4.50s linear infinite!important}
@media (max-width:760px){.jy.in .jl.j3.us .jt-pk::before{animation-name:d54usy!important}}
@keyframes p54us0{0.0%{opacity:.85;transform:scale(1)}16.67%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.us .jn.n0 .ji::before{animation:p54us0 4.50s linear infinite}
@keyframes p54us1{0%,35.550000000000004%{opacity:0;transform:scale(1)}35.56%{opacity:.85;transform:scale(1)}52.22%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.us .jn.n1 .ji::before{animation:p54us1 4.50s linear infinite}
@keyframes p54us2{0%,71.1%{opacity:0;transform:scale(1)}71.11%{opacity:.85;transform:scale(1)}87.78%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.us .jn.n2 .ji::before{animation:p54us2 4.50s linear infinite}
@keyframes d54hsx{0%{left:0%;opacity:0}1.09%{opacity:1}0.0%{left:0.0%}10.22%{left:0.0%}16.79%{left:16.67%}21.9%{left:16.67%}28.47%{left:33.33%}38.69%{left:33.33%}45.26%{left:50.0%}55.47%{left:50.0%}62.04%{left:66.67%}67.15%{left:66.67%}73.72%{left:83.33%}83.94%{left:83.33%}90.51%{left:100.0%}95.62%{left:100.0%}98.18%{opacity:1}100%{left:100%;opacity:0}}
@keyframes d54hsy{0%{top:0%;opacity:0}1.09%{opacity:1}0.0%{top:0.0%}10.22%{top:0.0%}16.79%{top:16.67%}21.9%{top:16.67%}28.47%{top:33.33%}38.69%{top:33.33%}45.26%{top:50.0%}55.47%{top:50.0%}62.04%{top:66.67%}67.15%{top:66.67%}73.72%{top:83.33%}83.94%{top:83.33%}90.51%{top:100.0%}95.62%{top:100.0%}98.18%{opacity:1}100%{top:100%;opacity:0}}
.jy.in .jl.j3.old:not(.ds) .jt-pk::before{animation:d54hsx 13.70s linear infinite!important}
@media (max-width:760px){.jy.in .jl.j3.old:not(.ds) .jt-pk::before{animation-name:d54hsy!important}}
@keyframes p54hs0{0.0%{opacity:.85;transform:scale(1)}5.47%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.old:not(.ds) .jn.n0 .ji::before{animation:p54hs0 13.70s linear infinite}
@keyframes p54hs1{0%,16.779999999999998%{opacity:0;transform:scale(1)}16.79%{opacity:.85;transform:scale(1)}22.26%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.old:not(.ds) .jn.n1 .ji::before{animation:p54hs1 13.70s linear infinite}
@keyframes p54hs2{0%,28.459999999999997%{opacity:0;transform:scale(1)}28.47%{opacity:.85;transform:scale(1)}33.94%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.old:not(.ds) .jn.n2 .ji::before{animation:p54hs2 13.70s linear infinite}
@keyframes p54hs3{0%,45.25%{opacity:0;transform:scale(1)}45.26%{opacity:.85;transform:scale(1)}50.73%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.old:not(.ds) .jn.n3 .ji::before{animation:p54hs3 13.70s linear infinite}
@keyframes p54hs4{0%,62.03%{opacity:0;transform:scale(1)}62.04%{opacity:.85;transform:scale(1)}67.52%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.old:not(.ds) .jn.n4 .ji::before{animation:p54hs4 13.70s linear infinite}
@keyframes p54hs5{0%,73.71%{opacity:0;transform:scale(1)}73.72%{opacity:.85;transform:scale(1)}79.2%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.old:not(.ds) .jn.n5 .ji::before{animation:p54hs5 13.70s linear infinite}
@keyframes p54hs6{0%,90.5%{opacity:0;transform:scale(1)}90.51%{opacity:.85;transform:scale(1)}95.99%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.old:not(.ds) .jn.n6 .ji::before{animation:p54hs6 13.70s linear infinite}
@keyframes d54dsx{0%{left:0%;opacity:0}1.53%{opacity:1}0.0%{left:0.0%}7.14%{left:0.0%}16.33%{left:25.0%}30.61%{left:25.0%}39.8%{left:50.0%}54.08%{left:50.0%}63.27%{left:75.0%}77.55%{left:75.0%}86.73%{left:100.0%}93.88%{left:100.0%}97.45%{opacity:1}100%{left:100%;opacity:0}}
@keyframes d54dsy{0%{top:0%;opacity:0}1.53%{opacity:1}0.0%{top:0.0%}7.14%{top:0.0%}16.33%{top:25.0%}30.61%{top:25.0%}39.8%{top:50.0%}54.08%{top:50.0%}63.27%{top:75.0%}77.55%{top:75.0%}86.73%{top:100.0%}93.88%{top:100.0%}97.45%{opacity:1}100%{top:100%;opacity:0}}
.jy.in .jl.j3.ds .jt-pk::before{animation:d54dsx 9.80s linear infinite!important}
@media (max-width:760px){.jy.in .jl.j3.ds .jt-pk::before{animation-name:d54dsy!important}}
@keyframes p54ds0{0.0%{opacity:.85;transform:scale(1)}7.65%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.ds .jn.n0 .ji::before{animation:p54ds0 9.80s linear infinite}
@keyframes p54ds1{0%,16.319999999999997%{opacity:0;transform:scale(1)}16.33%{opacity:.85;transform:scale(1)}23.98%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.ds .jn.n1 .ji::before{animation:p54ds1 9.80s linear infinite}
@keyframes p54ds2{0%,39.79%{opacity:0;transform:scale(1)}39.8%{opacity:.85;transform:scale(1)}47.45%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.ds .jn.n2 .ji::before{animation:p54ds2 9.80s linear infinite}
@keyframes p54ds3{0%,63.260000000000005%{opacity:0;transform:scale(1)}63.27%{opacity:.85;transform:scale(1)}70.92%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.ds .jn.n3 .ji::before{animation:p54ds3 9.80s linear infinite}
@keyframes p54ds4{0%,86.72%{opacity:0;transform:scale(1)}86.73%{opacity:.85;transform:scale(1)}94.39%{opacity:0;transform:scale(1.45)}100%{opacity:0;transform:scale(1.45)}}
.jy.in .jl.j3.ds .jn.n4 .ji::before{animation:p54ds4 9.80s linear infinite}
@media (prefers-reduced-motion:reduce){.jy .jn .ji::before{animation:none!important}}

/* T1 trend: one arrow, one colour per state (the only colour on the site, inside the app demo) */
.pl.tr{gap:5px}.pl.tr .tra{width:12px;height:12px;flex:none;transition:none}
.pl.tr.tn{background:#f4f4f5;color:#71717a}
.pl.tr.tg{background:#ecfdf5;color:#15803d}.pl.tr.tg .tra{transform:rotate(-25deg)}
.pl.tr.ts{background:#eff6ff;color:#1d4ed8}.pl.tr.ts .tra{transform:rotate(-55deg)}
.pl.tr.td{background:#fef2f2;color:#b91c1c}.pl.tr.td .tra{transform:rotate(22deg)}

/* S2 footer: Ecomflow structure (brand | Explore | stacked Company, Get in touch, Legal | next step), more air */
.ft54{padding:96px 0 40px;margin-top:40px;border-top:1px solid var(--hl)}
.ft54 .ft-g{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:56px}
.ft54 h4{margin:0 0 18px;font:500 13px/1 var(--fb);color:#fff}
.ft54 ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}.ft54 ul a{font-size:14px;color:rgba(236,236,240,.66);transition:color .2s}.ft54 ul a:hover{color:#fff}
.ft54 .ft-st ul+h4{margin-top:40px}
.ft54 .ft-brand p{margin-top:22px;font-size:14px;line-height:1.7}
.ft54 .ft-next p{font-size:14px;line-height:1.7;margin-bottom:18px}
.ft54 .foot-b{margin-top:96px;padding-top:24px;border-top:1px solid var(--hl);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:rgba(236,236,240,.5)}
@media (max-width:1020px){.ft54 .ft-g{grid-template-columns:1fr 1fr;gap:48px 32px}.ft54 .ft-brand,.ft54 .ft-next{grid-column:1/-1}}
@media (max-width:560px){.ft54{padding:72px 0 32px}.ft54 .ft-g{gap:44px 20px}.ft54 .foot-b{margin-top:64px}}

/* S3 mega menu: dedicated designed images (WebP, one framing for all) */
.mgimg{background:#ececee!important}.mgimg img{object-position:center!important}
.nav:not(.scrolled) .mgimg{border-bottom-color:rgba(255,255,255,.06)}

/* S9 home: Meet Faye */
.fy-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:64px;align-items:center;margin-top:96px;padding:56px;border-radius:30px;border:1px solid var(--hl);background:radial-gradient(70% 100% at 100% 0%,rgba(255,255,255,.08),transparent 60%),linear-gradient(180deg,#202025,#1a1a1e);box-shadow:var(--top-hl),var(--lift)}
.fy-home h2{margin:18px 0 16px;font-size:var(--fs-h2)}.fy-home .lead{margin:0 0 22px}
.fyh-r{border-radius:22px;background:#fff;color:#141416;padding:20px;box-shadow:0 40px 90px -40px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.2)}
.fyh-r .fy-m:first-child{margin-top:0}
@media (max-width:900px){.fy-home{grid-template-columns:1fr;gap:32px;padding:32px 22px;margin-top:64px}}

/* S7 CopperBloom in the email preview: monochrome wordmark (charcoal and white only) */
.ml-brand img{display:block;height:30px;width:auto;margin:0 auto;filter:brightness(0) saturate(0);opacity:.88}

/* S1 Faye: simple four-step flow */
.fyf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;position:relative}
.fyf::before{content:"";position:absolute;left:12.5%;right:12.5%;top:28px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,.5),rgba(255,255,255,.12))}
.fyf li{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center}
.fyf-i{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#232328;border:1px solid var(--hl2);color:#fff;box-shadow:var(--top-hl)}
.fyf li.k .fyf-i{background:#fff;color:#141416;box-shadow:0 0 0 6px rgba(255,255,255,.06),0 12px 40px -8px rgba(255,255,255,.35)}
.fyf b{margin-top:18px;font:600 var(--t-body)/1.3 var(--fb);color:#fff}.fyf small{margin-top:6px;font-size:var(--t-sm);color:var(--tx2)}
@media (max-width:760px){.fyf{grid-template-columns:1fr 1fr;gap:32px 16px}.fyf::before{display:none}}
.fy-st span{margin:0}

/* S11 About: team hero mosaic, Yiwu photo slot, 3 founders, stats in one row, more air between sections */
.abm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:500px;margin-left:auto}
.abm-t{position:relative;margin:0;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:#383838;border:1px solid var(--hl);box-shadow:var(--top-hl),var(--lift);animation:abm .8s var(--e2) both;animation-delay:calc(var(--i) * 60ms)}
.abm-t img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04)}
.abm-t figcaption{position:absolute;left:8px;bottom:8px;padding:4px 9px;border-radius:999px;background:rgba(20,20,22,.72);backdrop-filter:blur(6px);font-size:11.5px;color:#fff}
.abm-t .tc-ph{display:grid;place-items:center;width:100%;height:100%}.abm-t .tc-ph svg{width:64%;fill:rgba(255,255,255,.08)}.abm-t .tc-ph b{position:absolute;font:500 26px/1 var(--fd);color:rgba(255,255,255,.5)}
@keyframes abm{0%{opacity:0;transform:translateY(8px)}}
@media (max-width:1020px){.abm{margin:0;max-width:420px}}
@media (prefers-reduced-motion:reduce){.abm-t{animation:none}}
.yiwu{position:relative;margin:0 0 72px;aspect-ratio:5/2;border-radius:24px;overflow:hidden;border:1px solid var(--hl);box-shadow:var(--top-hl),var(--lift);background:#1c1c20}
.yiwu img,.yiwu svg{display:block;width:100%;height:100%;object-fit:cover}
.yiwu figcaption{position:absolute;left:20px;bottom:18px;padding:6px 12px;border-radius:999px;background:rgba(20,20,22,.7);backdrop-filter:blur(6px);font-size:12.5px;color:#fff}
@media (max-width:560px){.yiwu{aspect-ratio:16/9;margin-bottom:48px}}
.tc-g.tc-lead{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:24px;margin-bottom:56px}
.hstats.ab-st{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.hstats.ab-st>div{padding-right:16px}
@media (max-width:560px){.hstats.ab-st b{font-size:clamp(20px,6.4vw,30px)}.hstats.ab-st .lb{font-size:12px}.hstats.ab-st>div{padding-right:8px}}
.flw:has(.ab-s)>.sec{padding:150px 0 80px}
@media (max-width:760px){.flw:has(.ab-s)>.sec{padding:96px 0 48px}}
@media (max-width:700px){.tc-g.tc-lead{grid-template-columns:1fr 1fr 1fr;gap:10px}.tc-lead figcaption b{font-size:15px}.tc-lead figcaption span{font-size:12px}.tc-lead figcaption small{display:none}}
/* M2554 P (VIDEO-PRINCIPLES): rage-click audit: static cards no longer lift on hover (only real links/buttons react) */
@media (hover:hover){.vc:hover,.st2 li:hover,.rcase:hover{transform:none!important;box-shadow:var(--top-hl),var(--lift)!important;border-color:var(--hl)!important}}
.st2 li:hover,.rcase:hover{box-shadow:none!important}
/* gentle confirmation on valid inputs: a small check appears once a field is valid (after the visitor has touched it) */
.box input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):user-valid,.cf-box2 input[data-f]:user-valid,.pf input:user-valid,#pf input:user-valid,.ap input:user-valid{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;padding-right:38px;transition:background-image .2s}
/* thank-you screens: a calm, complete end state with a next step */
.thanks .tick,.cf-ty .tick{animation:tyin .5s cubic-bezier(.22,1,.36,1) both}
@keyframes tyin{0%{opacity:0;transform:scale(.7)}}
.ty-n{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center;margin-top:22px}
@media (prefers-reduced-motion:reduce){.thanks .tick,.cf-ty .tick{animation:none}}
/* M2568 one goal per section: four-item included grid */
.inc.inc4{grid-template-columns:repeat(2,minmax(0,1fr))}.inc.inc4 .inc-i{padding-left:0;border-left:0}.inc.inc4 .inc-i:nth-child(2n){padding-left:28px;border-left:1px solid var(--hl,rgba(255,255,255,.12))}
@media (max-width:860px){.inc.inc4{grid-template-columns:1fr}.inc.inc4 .inc-i:nth-child(2n){padding-left:0;border-left:0}}
/* ===== M2578 (Austin msg 2578) ===== */
/* S5 hero: solid darker charcoal, same as the top-state menu bar, soft white glows top left and top right. The wave canvas sits behind the page,
   so a solid hero hides it: the lines start below the hero divider. The body below is a touch lighter so the hero reads darker. */
html{background:radial-gradient(900px 760px at -8% 900px,rgba(255,255,255,.03),transparent 70%),#1a1a1d}
.hero,.phero{position:relative;background:radial-gradient(42% 70% at 0% 0%,rgba(255,255,255,.075),transparent 72%),radial-gradient(48% 85% at 100% 0%,rgba(255,255,255,.1),transparent 70%),#111113!important;border-bottom:1px solid rgba(255,255,255,.12)}
@media (min-width:761px){.nav:not(.scrolled),.nav.mg-on:not(.scrolled){background:#111113;-webkit-backdrop-filter:none;backdrop-filter:none}.nav .wrap::after,.mgp{background:#111113}}
@media (max-width:760px){.nav:not(.scrolled){background:#111113}}
/* S3 mega menu: every image fills its frame and is centred (the Why FF images sat in a taller box, cut off at the bottom) */
.mgimg{position:relative}
.mgimg img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:50% 50%!important}
/* S1 CopperBloom lockup in the email preview */
.ml-brand img{height:24px;width:auto;filter:none;opacity:1}
/* tonal range: key graphic elements pure white, secondary stays grey, elevated cards slightly lighter with a hairline */
:root{--hl:rgba(255,255,255,.13);--hl2:rgba(255,255,255,.22);--card-bg:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));--top-hl:inset 0 1px 0 rgba(255,255,255,.12)}
.vz{color:#fff}
.vz .s.bgk{stroke:rgba(255,255,255,.62)}
.vz .t{stroke:rgba(255,255,255,.42)}
.vz .d,.vz .s.d{opacity:1}
.hstats b,.vct h3,.bl3 b,.inc-i b,.s5 b{color:#fff}
.vzw,.st2-v{background:radial-gradient(rgba(255,255,255,.11) 1px,transparent 1.2px) 0 0/16px 16px,radial-gradient(80% 90% at 50% 35%,rgba(255,255,255,.09),transparent 72%),linear-gradient(180deg,#2a2a30,#222227);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(255,255,255,.12),0 18px 40px -24px rgba(0,0,0,.8)}
/* ===== M2579 (Austin msg 2579) ===== */
/* M2 no divider line above the FF app section */
#portal .ps{border-top:0}
/* M3 delivery emails and Faye sit closer together (related) */
.ml~.fy-home{margin-top:32px}
@media (max-width:760px){.ml~.fy-home{margin-top:20px}}
/* M4 pill buttons with a chevron: chevron closer to the text, balanced right padding */
.btn:has(.ar){gap:6px;padding-right:22px}
.nav .acts .btn.sm:has(.ar){padding-right:13px}
.btn .ar svg{width:13px;height:13px}
.mgf-c{gap:5px;padding-right:11px}
/* M5 footer: its own solid surface, darker than the page (the waves never show through), a soft diagonal light like Ecomflow's, small tracked labels */
.foot.ft54{position:relative;z-index:1;isolation:isolate;margin-top:64px;border-top:1px solid rgba(255,255,255,.08);
 background:linear-gradient(118deg,transparent 0 30%,rgba(255,255,255,.028) 30% 54%,transparent 54%),linear-gradient(165deg,#0c0c0e 5%,#111113 62%,#161619)!important}
.ft54 h4{font:600 11px/1 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:rgba(236,236,240,.5)}
.ft54 ul a{color:rgba(236,236,240,.78)}
.ft54 .foot-b{border-top-color:rgba(255,255,255,.08)}
/* M9 photos shown as delivered: no grey or contrast filter */
.tc-i img,.tc-g .tc-i img,.abm-t img{filter:none!important}
/* M2579 A5 About: three Yiwu squares (sourcing, packaging, systems); square frames on square photos, so object-fit never crops a face */
.yw3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 72px}
.yw3-i{margin:0}
.yw3-p{aspect-ratio:1/1;border-radius:var(--r);overflow:hidden;border:1px solid var(--hl);box-shadow:var(--top-hl),var(--lift);background:#1c1c20}
.yw3-p img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.yw3-i figcaption{margin-top:12px;font-size:13px;color:var(--tx3)}
@media (max-width:760px){.yw3{gap:10px;margin-bottom:48px}.yw3-p{border-radius:12px}.yw3-i figcaption{margin-top:8px;font-size:12px}}
/* M2579 A5 update (Austin 2606): no captions under the Yiwu squares */
.yw3-i figcaption{display:none}
/* M2579 M1 mobile pass: footer links and small text links become comfortable tap targets; footer labels readable */
@media (max-width:760px){
 .ft54 ul{gap:0}
 .ft54 ul a{display:inline-flex;align-items:center;min-height:40px;font-size:15px}
 .ft54 .ft-st ul+h4{margin-top:28px}
 .ft54 h4{font-size:12px;margin-bottom:6px}
 .ulnk{display:inline-flex;align-items:center;min-height:40px}
 .foot-b{gap:6px}
}
@media (max-width:1020px){
 .ft54 ul{gap:0}
 .ft54 ul a{display:inline-flex;align-items:center;min-height:40px}
 .ft54 h4{font-size:12px;margin-bottom:6px}
 .ft-cta{min-height:40px;border-bottom:0;text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(255,255,255,.3)}
}
/* ===== M2599 A3 + A4 (Austin msg 2599): longer About timeline. Rows of four that swoop down into the next row; the connector is one SVG path
   drawn by ff.js through the measured centre of every circle, so each line starts and ends exactly at a circle at every width. ===== */
.tl2{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:40px;row-gap:76px}
.tl2-ln{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.tl2-ln path{fill:none;stroke:rgba(255,255,255,.3);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tl2 li{position:relative;z-index:1;padding-top:30px;min-width:0}
.tl2-d{position:absolute;left:0;top:0;width:12px;height:12px;border-radius:50%;background:#fafafa;box-shadow:0 0 0 5px rgba(255,255,255,.08)}
.tl2-k{display:block;font-size:12.5px;line-height:1.5;color:var(--tx3)}
.tl2 b{display:block;margin:6px 0;font:600 16px/1.3 var(--fb);color:#fff}
.tl2 p{margin:0;font-size:13.5px;line-height:1.6;color:var(--tx2)}
.tl2 p .tl2-n{display:inline;margin:0;font:inherit;font-weight:700;color:#fff}
@media (max-width:1020px){.tl2{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:60px}}
@media (max-width:760px){.tl2{grid-template-columns:1fr;row-gap:30px}.tl2 li{padding:0 0 0 32px}.tl2-d{top:4px}}
/* ===== m2611 W1 delivery times by country ===== */
.dt{padding:28px 32px 22px;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)),#1b1b1f;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.dt-l{list-style:none;margin:0;padding:0}
.dt-r{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,auto) 2.2fr;align-items:center;gap:24px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.dt-c{font:600 var(--fs-md)/1.3 var(--fb);color:#fafafa}
.dt-v{font-family:var(--fb);font-size:var(--fs-base);color:var(--tx2);white-space:nowrap}
.dt-bar{position:relative;grid-column:3;grid-row:1;height:10px;border-radius:999px;background:rgba(255,255,255,.08)}
.dt-bar i{position:absolute;top:0;bottom:0;border-radius:999px;background:rgba(255,255,255,.55)}
.dt-bar em{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fafafa;box-shadow:0 0 0 3px #1b1b1f}
.dt-axr{border-bottom:0;padding:8px 0 0}.dt-ax{position:relative;grid-column:3;height:20px}
.dt-ax span{position:absolute;top:0;transform:translateX(-50%);font-size:var(--fs-xs);color:var(--tx3)}
.dt + .foot-note{margin-top:14px}
@media (max-width:760px){.dt{padding:14px 20px 16px;border-radius:22px}.dt-r{grid-template-columns:1fr auto;gap:10px 12px;padding:16px 0}.dt-c{font-size:var(--fs-base)}.dt-v{font-size:var(--fs-sm)}.dt-bar{grid-column:1/-1;grid-row:2}.dt-ax{grid-column:1/-1}}
/* ===== m2619 P1 /booked/ ===== */
.s5.bk3{grid-template-columns:repeat(3,minmax(0,1fr))}
.s5 li b{display:block;margin:10px 0 6px;font:600 var(--fs-md)/1.3 var(--fb);color:#fafafa}.s5.bk3 li p{margin:0;font-size:var(--fs-sm);line-height:1.55;color:var(--tx2)}
.bk3 + .video-slot{margin-top:40px}
.pc4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pc{padding:26px 24px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)),#1b1b1f;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.pc-n{display:block;font-size:var(--fs-xs);color:var(--tx3);margin-bottom:28px}.pc b{display:block;font:600 var(--fs-md)/1.3 var(--fb);color:#fafafa;margin-bottom:8px}.pc p{margin:0;font-size:var(--fs-sm);line-height:1.55;color:var(--tx2)}
.ag{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.12)}
.ag-r{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.ag-t{font-size:var(--fs-sm);color:var(--tx3);padding-top:3px;font-variant-numeric:tabular-nums}.ag-r b{display:block;font:600 var(--fs-lg)/1.3 var(--fb);color:#fafafa;margin-bottom:6px}.ag-r p{margin:0;font-size:var(--fs-base);line-height:1.55;color:var(--tx2);max-width:640px}
.bk-tm{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.pc4,.bk-tm{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.s5.bk3{grid-template-columns:1fr;gap:28px}.ag-r{grid-template-columns:1fr;gap:6px;padding:20px 0}.pc-n{margin-bottom:16px}}
@media (max-width:480px){.pc4{grid-template-columns:1fr}}
/* ===== m2616 pre-call brand profile form ===== */
.pf{display:grid;gap:22px;max-width:860px;padding:32px;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)),#1b1b1f}
.pf label,.pf legend{display:block;margin:0 0 8px;padding:0;font:500 var(--fs-sm)/1.4 var(--fb);color:var(--tx2)}.pf label small{color:var(--tx3)}
.pf fieldset{border:0;margin:0;padding:0;min-width:0}
.pf input[type=text],.pf input[type=email],.pf textarea{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#141416;color:#fafafa;font:400 16px/1.4 var(--fb)}
.pf input:focus,.pf textarea:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:1px}
.pf-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pf-chips{display:flex;flex-wrap:wrap;gap:8px}
.pf-chip{position:relative;margin:0!important}.pf-chip input{position:absolute;opacity:0;pointer-events:none}
.pf-chip span{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:var(--tx2);font-size:var(--fs-sm);cursor:pointer}
.pf-chip input:checked+span{background:#fafafa;color:#141416;border-color:#fafafa}.pf-chip input:focus-visible+span{outline:2px solid #fafafa;outline-offset:2px}
.pf-acts{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pf-msg{margin:0;font-size:var(--fs-sm);color:#fca5a5}
.pf-done{max-width:860px;padding:32px;border-radius:26px;background:#fafafa;color:#141416}.pf-done b{display:block;font:600 var(--fs-xl)/1.3 var(--fb);margin-bottom:6px}.pf-done p{margin:0;color:#3f3f46}
@media (max-width:760px){.pf{padding:20px;border-radius:22px}.pf-row3{grid-template-columns:1fr}}
/* ===== m2622 G1 (Austin msg 2622): no pill notes under the route cards; space kept so the cards keep their height ===== */
#journey .jl-x{visibility:hidden}
/* ===== m2622 G2: footer = the above-the-fold hero surface (solid charcoal, soft white glows top left and right), no diagonal light ===== */
.foot.ft54{background:radial-gradient(42% 70% at 0% 0%,rgba(255,255,255,.075),transparent 72%),radial-gradient(48% 85% at 100% 0%,rgba(255,255,255,.1),transparent 70%),#111113!important}
/* ===== m2622 G3: no divider under the top menu bar, in any state ===== */
.nav,.nav.scrolled,.nav.mg-on,.nav.open{border-bottom:0!important;box-shadow:none}

/* m85178 FC apply: choice steps (pill options, white ring on select), textarea */
.ap .ap-ch{display:grid;gap:10px;margin-top:6px}
.ap .ap-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:inherit;font:inherit;font-size:15px;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.ap .ap-opt:hover{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.06)}
.ap .ap-opt[aria-checked="true"]{border-color:#fff;background:rgba(255,255,255,.1)}
.ap .ap-rd{flex:0 0 18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);display:grid;place-items:center;transition:border-color .2s ease}
.ap .ap-opt[aria-checked="true"] .ap-rd{border-color:#fff}
.ap .ap-opt[aria-checked="true"] .ap-rd::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.ap textarea{width:100%;min-height:96px;resize:vertical;padding:14px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:inherit;font:inherit;font-size:15px}
.ap textarea:focus{outline:none;border-color:rgba(255,255,255,.5)}
@media (prefers-reduced-motion:reduce){.ap .ap-opt{transition:none}}
/* m85178 FC: video facade, reviews, builds grid, founder cards */
.vf{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#0d0d0f;border:1px solid rgba(255,255,255,.1);cursor:pointer;padding:0;color:#fff}
.vf img{width:100%;height:100%;object-fit:cover;opacity:.78;transition:opacity .3s ease,transform .6s ease}
.vf:hover img{opacity:.95;transform:scale(1.02)}
.vf .vf-p{position:absolute;inset:0;display:grid;place-items:center}
.vf .vf-p i{width:68px;height:68px;border-radius:50%;background:#fff;color:#141416;display:grid;place-items:center;box-shadow:0 10px 40px rgba(0,0,0,.45)}
.vf iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vf .vf-l{position:absolute;left:18px;bottom:16px;font-size:14px;font-weight:550;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.vgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.vgrid{grid-template-columns:1fr}}
.rs-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.rs-g{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.rs-g{grid-template-columns:1fr}}
.rs-c{padding:24px;border-radius:20px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}
.rs-c b{display:block;font-size:26px;letter-spacing:-.02em;color:#fff;margin:6px 0 8px}
.rs-c span{color:rgba(255,255,255,.62);font-size:15px;line-height:1.5}
.rs-c small{display:block;color:rgba(255,255,255,.85);font-size:15px;font-weight:550}
.senja-wrap{min-height:320px}
.fd-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.fd-g{grid-template-columns:1fr}}
.fd-c{display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:22px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));color:inherit;text-decoration:none;transition:border-color .25s ease,transform .25s ease}
.fd-c:hover{border-color:rgba(255,255,255,.26);transform:translateY(-2px)}
.fd-av{width:64px;height:64px;border-radius:50%;background:#26262b;display:grid;place-items:center;font-weight:600;font-size:20px;color:#fff;border:1px solid rgba(255,255,255,.14);filter:grayscale(1)}
.fd-c b{font-size:19px;color:#fff}.fd-c small{color:rgba(255,255,255,.6);font-size:14px}.fd-c p{color:rgba(255,255,255,.72);font-size:15px;line-height:1.55;margin:0}
.ph-slot{border:1px dashed rgba(255,255,255,.18);border-radius:20px;padding:28px;color:rgba(255,255,255,.5);font-size:14px;text-align:center}
.legal{max-width:760px}.legal h2{font-size:22px;margin:40px 0 12px}.legal p,.legal li{color:rgba(255,255,255,.74);line-height:1.7;font-size:16px}
/* m85178 FC: builds grid, careers list, 3-col includes, stat row */
.bd-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
@media (max-width:1000px){.bd-g{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.bd-g{grid-template-columns:1fr}}
.bd-c{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));color:inherit;text-decoration:none;transition:border-color .25s ease,transform .25s ease}
.bd-c:hover{border-color:rgba(255,255,255,.26);transform:translateY(-2px)}
.bd-i{display:block;aspect-ratio:16/10;overflow:hidden;background:#1b1b1f}
.bd-i img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s ease}
.bd-c:hover .bd-i img{transform:scale(1.03)}
.bd-b{display:flex;flex-direction:column;gap:4px;padding:18px 20px 22px}
.bd-b b{font-size:17px;color:#fff}.bd-b small{color:rgba(255,255,255,.5);font-size:13px}.bd-b span{color:rgba(255,255,255,.7);font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cr-l{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:800px){.cr-l{grid-template-columns:1fr}}
.inc.inc3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.inc.inc3{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.inc.inc3{grid-template-columns:1fr}}
.hstats.fc-st{grid-template-columns:repeat(4,1fr)}
@media (max-width:700px){.hstats.fc-st{grid-template-columns:1fr 1fr}}
.fd-c .mgo{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);color:#fff}
@media (prefers-reduced-motion:reduce){.bd-c,.fd-c,.bd-i img,.vf img{transition:none}}
.fd-c .ulnk2{display:inline-flex;align-items:center;gap:6px;width:auto;padding:0;border:0;background:none;box-shadow:none;margin-top:auto;padding-top:8px;color:#fff;font-weight:550;font-size:15px}
.fd-c .ulnk2 .mga{transition:transform .25s ease}.fd-c:hover .ulnk2 .mga{transform:translateX(3px)}
.rs-c b,.fd-c b,.bd-b b{font-family:var(--fb);font-weight:600;letter-spacing:-.01em}
/* TEAM85271 uniform headshots + events banner */
.fd-ph{width:80px;height:80px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.14);background:#26262b}
.ev-w{border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.09)}.ev-w img{display:block;width:100%;height:auto}
/* ===== m2630 /booked/ how we work + mistakes vs fixes ===== */
.hw5{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.12)}
.hw5-r{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.hw5-m{display:flex;flex-direction:column;gap:6px;padding-top:3px}.hw5-n{font-size:var(--fs-xs);color:var(--tx3)}.hw5-t{font-size:var(--fs-sm);color:var(--tx2)}
.hw5-r b{display:block;font:600 var(--fs-lg)/1.3 var(--fb);color:#fafafa;margin-bottom:10px}
.hw5-r ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.hw5-r ul li{position:relative;padding-left:18px;font-size:var(--fs-base);line-height:1.55;color:var(--tx2);max-width:680px}
.hw5-r ul li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55)}
.mx{display:grid;gap:14px}
.mx-r{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.14);border-radius:22px;overflow:hidden;background:#1b1b1f}
.mx-a,.mx-b{padding:26px 28px}.mx-b{background:#fafafa;color:#141416}
.mx-l{display:block;font-size:var(--fs-xs);color:var(--tx3);margin-bottom:12px}.mx-b .mx-l{color:#71717a}
.mx-a b{display:block;font:600 var(--fs-md)/1.3 var(--fb);color:#fafafa;margin-bottom:8px}.mx-a p{margin:0;font-size:var(--fs-sm);line-height:1.55;color:var(--tx2)}
.mx-b p{margin:0;font-size:var(--fs-base);line-height:1.55;color:#27272a}
@media (max-width:760px){.hw5-r{grid-template-columns:1fr;gap:8px;padding:22px 0}.hw5-m{flex-direction:row;gap:12px}.mx-r{grid-template-columns:1fr}.mx-a,.mx-b{padding:22px 20px}}
/* ===== m2645 Mobbin round 1 (Austin msg 2635/2645): M1 typography, M3 one card system + dark rules, M5 pills to labels, M10 one stats component.
   Scoped to main; the app preview (.appf) keeps the live portal look. Rules: work/m2622/mobbin/ANALYSIS.md sections 2.2, 2.4, 2.5, 2.9, 3. ===== */
main{--tx:#ededef;--tx2:#a0a0a8;--tx3:#6e6e76;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);--r:12px;
 --fs-2xs:13px;--fs-xs:13px;--fs-sm:13px;--fs-base:15px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:20px;--fs-3xl:28px;--fs-4xl:28px;--fs-lead:17px;--t-xs:13px;--t-sm:15px}
main .appf{--tx:#fafafa;--tx2:#a1a1aa;--tx3:#71717a;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.15);--r:18px;
 --fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-3xl:26px;--fs-4xl:30px;--fs-lead:clamp(16px,1.3vw,18px);--t-xs:12.5px;--t-sm:14px}
/* M1 typography: body 400, fixed scale 72/48/28/20/17/15/13, two-tone only in the hero and the final CTA */
main p,main li,main dd,main .lead,.cs-c p,.ml-l>p,.fo-c p,.cs-save,.fsrch input{font-weight:400}
main .sec-h .lead,main .hero .lead,main .phero .lead{font-size:17px;line-height:1.6;letter-spacing:0;color:var(--tx2);max-width:600px}
main .hero .lead,main .phero .lead{max-width:540px}
main p{letter-spacing:0}
main small:not(.appf *),main :is(.tl2-k,.foot-note,.fy-n,.on-t,.bl-n,.pc-open,.ap-hint,.pg6l,.fit-n,.st2-d,.hw5-t,.ag-t,.mx-l):not(.appf *){font-size:13px}
main :is(.hero,.phero) h1{font-size:clamp(40px,5vw,72px);line-height:1.05;letter-spacing:-.025em}
main .sec-h h2:not(.appf *),main .cta-band h2,main .ml h2,main .faq-g h2{font-size:clamp(32px,3.4vw,48px);line-height:1.08;letter-spacing:-.02em}
main h3:not(.appf *):not(.jy-h h3){font-size:20px;line-height:1.3;letter-spacing:-.01em}
main h2:not(.appf *) .soft,main h3:not(.appf *) .soft,main .jy-h h3 span{color:inherit!important}
main .cta-band h2 .soft{color:rgba(237,237,239,.5)!important}
/* M5 labels: only buttons are pills. Section labels, durations and tags are plain text */
main .chap:not(.appf *){display:inline-flex;align-items:center;gap:8px;min-height:0;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font:500 13px/1.4 var(--fb)!important;letter-spacing:0!important;text-transform:none!important;color:var(--tx2)!important}
main .chap .kd{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--tx2)!important;box-shadow:none!important}
main .chap b{display:inline!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:var(--tx)!important;font:500 13px/1.4 var(--fb)!important}
main :is(.st2-d,.tag,.tags i,.tags em,.rt-h em,.fy-k span,.ml-bar em,.hw5-t,.ag-t):not(.appf *){display:inline;min-height:0;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-style:normal;font-weight:400;font-size:13px;letter-spacing:0;color:var(--tx3)!important}
main .tags:not(.appf *){gap:4px 14px}
/* M3 one card system: 12px radius, one hairline, two flat surfaces, no glows, no textures, no nesting */
main :is(.vc,.pc,.rs-r,.rs-c,.rcase,.cs-big,.cs-chart,.cs-nx>a,.cta-band,.dt,.fit-no,.fit-yes,.flowcard,.fo,.fy-home,.j3c,.jl.j3,.ml,.mx-r,.pv,.rt-c:not(.ff),.tm-v,.vs,.yw3-p,form.pf,.box.embed.pf,.calc-in,.cl-img,.us,.st2>li,.hw5-r,.grow,.post,.role,.tc-i):not(.appf *){border-radius:12px!important;box-shadow:none!important;background-image:none!important;background-color:#1a1a1d!important;border:1px solid rgba(255,255,255,.08)!important}
main :is(.vc,.pc,.rs-r,.rs-c,.rcase,.cta-band,.fo,.pv,.vs,.rt-c,.post,.role,.jl.j3):not(.appf *):hover{border-color:rgba(255,255,255,.14)!important}
main :is(.vc,.pc,.rs-r,.rs-c,.rcase,.cta-band,.fit,.fit-no,.fit-yes,.ml,.pv,.vs,.rt-c,.post,.role,.jl.j3,.cs-big,.cs-chart,.tm-v,.fo,.dt,.flowcard,.yw3-p,.fy-home)::before,
main :is(.vc,.pc,.rs-r,.rs-c,.rcase,.cta-band,.fit,.fit-no,.fit-yes,.ml,.pv,.vs,.rt-c,.post,.role,.jl.j3,.cs-big,.cs-chart,.tm-v,.fo,.dt,.flowcard,.yw3-p,.fy-home)::after{box-shadow:none!important;background-image:none!important}
main .hw5-r{border-width:0 0 1px!important;border-radius:0!important;background:none!important}
main .tc-i{background-color:#202024!important}
/* one emphasis surface instead of scattered white cards: the fit card and the FF lane are dark with the stronger hairline */
main .fit-yes:not(.appf *),main .jl.j3.us{background-color:#202024!important;border-color:rgba(255,255,255,.14)!important;color:var(--tx)!important}
main .fit-yes :is(h3,b,li,p,span,.eyb){color:var(--tx)!important}main .fit-yes li{color:var(--tx2)!important;border-color:rgba(255,255,255,.08)!important}
main .fit-yes svg{color:var(--tx)}
/* inner panels lose their own box: content sits on the card */
main :is(.vzw,.st2-v):not(.appf *){background:none!important;box-shadow:none!important;border-radius:8px!important;-webkit-mask-image:none!important;mask-image:none!important}
main :is(.vzw,.st2-v)::before{display:none!important}
main .cfix:not(.appf *){border:0!important;border-top:1px solid rgba(255,255,255,.08)!important;border-radius:0!important;background:none!important;padding-left:0!important;padding-right:0!important}
main :is(.node,.ui-shot,.dg-ph):not(.appf *){border-radius:8px!important;box-shadow:none!important}
main .cta-band:not(.appf *){background-color:transparent!important}
main .glow{display:none}main .hero .glow,main .phero .glow{display:block}
main *:not(.appf):not(.appf *):not(.btn):not(.btn *):not(button):not(input):not(textarea):not(select):not(.vmod *){box-shadow:none!important}
/* M10 one stats component: hairline columns, regular-weight numbers, small label, live footnote, no green dots */
main :is(.hstats,.kpis):not(.appf *){display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;margin-top:56px;border-top:1px solid rgba(255,255,255,.08)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
main :is(.hstats,.kpis):not(.appf *)>:is(div,li){padding:28px 32px 30px!important;border:0!important;border-left:1px solid rgba(255,255,255,.08)!important;grid-column:auto!important}
main :is(.hstats,.kpis):not(.appf *)>:is(div,li):first-child{padding-left:0!important;border-left:0!important}
main :is(.hstats,.kpis,.cfix,.cs-ba,.calc-out .rows) b,main .cs-ba s{display:block;font-family:var(--fb)!important;font-weight:400!important;font-size:clamp(36px,3.4vw,48px)!important;line-height:1!important;letter-spacing:-.02em!important;font-variant-numeric:tabular-nums;white-space:nowrap}
main .calc-out .rows b{font-size:28px!important}
main .cs-ba{font-family:var(--fb)!important;font-weight:400!important}
main :is(.hstats .lb,.hstats span,.kpis span,.cfix span){display:block;margin-top:12px!important;font:400 13px/1.45 var(--fb)!important;letter-spacing:0!important;color:var(--tx3)!important}
main .hstats .dot{display:none!important}
main .hstats[data-stats]::after{content:"Live data from our platform";grid-column:1/-1;padding:14px 0 0;font:400 13px/1.4 var(--fb);color:var(--tx3);border-top:1px solid rgba(255,255,255,.08)}
main .hero .hstats{margin-top:72px!important}
@media (max-width:760px){
 main :is(.hstats,.kpis):not(.appf *){grid-template-columns:1fr!important;margin-top:40px}
 main :is(.hstats,.kpis):not(.appf *)>:is(div,li){padding:20px 0!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.08)!important}
 main :is(.hstats,.kpis):not(.appf *)>:is(div,li):first-child{border-top:0!important}
 main .hero .hstats{margin-top:40px!important}
 main :is(.hstats,.kpis,.cfix,.cs-ba) b,main .cs-ba s{font-size:36px!important}
 main .sec-h .lead,main .hero .lead,main .phero .lead{font-size:16px}
}
/* r1b: no card inside a card on the fit block; no glow on buttons */
main .fit:not(.appf *){border:0!important;background:none!important;padding:0!important}
main .fit-n{margin:16px 0 0!important}
main .btn,main .btn:hover{box-shadow:none!important}
/* r1c: lead weight beats the older .sec-h .lead 300 rule; product mock frames share the 12px radius */
main .sec-h .lead,main .hero .lead,main .phero .lead,main p.lead{font-weight:400!important}
main :is(.fy,.paper,.fp,.ldg,.ml-r,.fyh-r,.calc-out,.box.ap,.rt-c.ff):not(.appf *){border-radius:12px!important}

/* ===== m2645 deploy 1 gap-fill (brief 21:48 Dubai): three greys at >=4.5:1, 65ch, small-caps labels incl. diagram chips, footer/mega quiet, one glow, 8.8% uses the stats component ===== */
/* greys: #EDEDEF / #A0A0A8 / #86868E (#6E6E76 is only 3.6:1 on #141416, so meta is lifted to #86868E = 5.1:1 base, 4.5:1 on #202024) */
main{--tx3:#86868e}
main :is(p,li,dd):not(:is(.appf,.calc-out,.ml-r,.fy,.paper,.fp,.ldg,.box,.rt-c.ff,.dg-sc,.ci-b,.node,.fy-m,.vmod) *){color:var(--tx2)!important}
main :is(small,.foot-note,.note,.fit-n,.jn small,.jl-m small,.hstats .lb,.kpis span,.cfix span):not(:is(.appf,.calc-out,.ml-r,.fy,.paper,.fp,.ldg,.box,.rt-c.ff,.dg-sc,.ci-b,.vmod) *){color:var(--tx3)!important}
main :is(h1,h2,h3,h4):not(:is(.appf,.calc-out,.ml-r,.fy,.paper,.fp,.ldg,.box,.rt-c.ff,.dg-sc,.ci-b,.vmod) *){color:var(--tx)}
main p:not(:is(.appf,.calc-out,.ml-r,.fy,.paper,.fp,.ldg,.box,.dg-sc,.ci-b,.vmod) *){max-width:65ch}
/* M5 labels: plain small caps, no box (eyebrows, kicks, durations, tags, chips inside diagrams) */
main :is(.chap,.kick):not(.appf *){font:500 15px/1.4 var(--fb)!important;font-variant-caps:all-small-caps!important;letter-spacing:.06em!important;color:var(--tx2)!important;padding:0!important;border:0!important;background:none!important}
main :is(.kick):not(.appf *){display:inline-flex;align-items:center;gap:8px}
main :is(.kick)::before{width:6px!important;height:6px!important;box-shadow:none!important;background:var(--tx2)!important}
main :is(.st2-d,.tag,.tags i,.tags em,.rt-h em,.fy-k span,.ml-bar em,.hw5-t,.ag-t,.fp-tg,.pill,.p.g,.p.b,.p.y,.p.n,.p.r):not(.appf *){display:inline!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-style:normal!important;font-weight:500!important;font-size:15px!important;font-variant-caps:all-small-caps!important;letter-spacing:.05em!important;color:var(--tx3)!important}
main .ci-b :is(.pill,.tag,.p.g,.p.b,.p.y,.p.n,.p.r){color:#52525b!important}
.vz g.chip>rect{fill:none!important;stroke:none!important;opacity:0!important}
.vz g.chip text{fill:#a0a0a8!important;font-variant-caps:all-small-caps;letter-spacing:.05em;font-weight:500}
.vz g.chip circle.f{fill:#a0a0a8!important}
/* M3: one glow per page (hero). Footer and mega vignettes go flat; page-background texture at 3% */
.foot.ft54{background:#111113!important}.foot.ft54::before,.foot.ft54::after{display:none!important}
.mgv,.nav.scrolled .mgv{background-image:none!important}
.topo{opacity:.03!important}
.btn,.btn:hover,.nav .btn,.nav .btn:hover{box-shadow:none!important}
/* white surfaces: the Faye chat mock on home goes dark; the savings estimate stays the one white "answer" (the email preview is a product screenshot) */
main .fyh-r{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
main .fyh-r .fy-m.in{background:#202024!important;border:0!important}main .fyh-r .fy-m.in p{color:var(--tx)!important}main .fyh-r .fy-m small{color:var(--tx3)!important}
main .fyh-r .fy-m.out{background:transparent!important;border:1px solid rgba(255,255,255,.14)!important}main .fyh-r .fy-m.out p{color:var(--tx)!important}
/* M10: the 8.8% block is the same stats component (number, label, footnote) */
main .cfix>div{display:flex;flex-direction:column-reverse;gap:0}
main .cfix{padding:28px 0 0!important}main .cfix p{margin:16px 0 0!important;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);font-size:13px!important;color:var(--tx3)!important}

/* ===== m2645 deploy 2: M2 animated hero diagram, M6 three routes polish ===== */
/* M2: one 6s loop. Order pulse store -> FF -> packed -> delivered, nodes light in sequence, status ticks. transform/opacity only; visible without JS */
.hx2645 .hl{opacity:.22;stroke-dasharray:2 5}
.hx2645 .hp{opacity:0;animation:6s cubic-bezier(.45,0,.55,1) 1.4s infinite both}
.hx2645 .hp0{transform:translate(93.1px,160.8px);animation-name:hxp0}.hx2645 .hp1{transform:translate(220px,220px);animation-name:hxp1}.hx2645 .hp2{transform:translate(220px,220px);animation-name:hxp2}
@keyframes hxp0{0%{transform:translate(93.1px,160.8px);opacity:0}4%{opacity:1}22%{transform:translate(220px,220px);opacity:1}25%,100%{transform:translate(220px,220px);opacity:0}}
@keyframes hxp1{0%,30%{transform:translate(220px,220px);opacity:0}33%{opacity:1}48%{transform:translate(346.9px,160.8px);opacity:1}51%,100%{transform:translate(346.9px,160.8px);opacity:0}}
@keyframes hxp2{0%,55%{transform:translate(220px,220px);opacity:0}58%{opacity:1}75%{transform:translate(220px,360px);opacity:1}78%,100%{transform:translate(220px,360px);opacity:0}}
.hx2645 .hlit{opacity:0;animation:6s ease 1.4s infinite both}
.hx2645 .hl0{animation-name:hxl0}.hx2645 .hl1{animation-name:hxl1}.hx2645 .hl2{animation-name:hxl2}
@keyframes hxl0{0%{opacity:0}4%,14%{opacity:1}24%,100%{opacity:0}}
@keyframes hxl1{0%,46%{opacity:0}50%,62%{opacity:1}72%,100%{opacity:0}}
@keyframes hxl2{0%,73%{opacity:0}77%,92%{opacity:1}100%{opacity:0}}
.hx2645 .hr{opacity:0;transform-box:fill-box;transform-origin:center;animation:hxr 6s ease-out 1.4s infinite both}
@keyframes hxr{0%,21%{opacity:0;transform:scale(.85)}24%{opacity:.5;transform:scale(1)}42%,100%{opacity:0;transform:scale(1.9)}}
.hx2645 .hn{animation:hxin .8s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(.3s + var(--i) * .16s)}
@keyframes hxin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hv-vis{flex-direction:column;gap:18px}
.hv-tk{position:relative;width:100%;height:20px;text-align:center;font:500 15px/20px var(--fb);font-variant-caps:all-small-caps;letter-spacing:.06em;color:#a0a0a8}
.hv-tk span{position:absolute;inset:0;opacity:0;animation:hxt 6s ease 1.4s infinite both}
.hv-tk span:nth-child(1){opacity:1}.hv-tk span:nth-child(2){animation-delay:2.9s}.hv-tk span:nth-child(3){animation-delay:4.4s}.hv-tk span:nth-child(4){animation-delay:5.9s}
@keyframes hxt{0%{opacity:0;transform:translateY(6px)}4%,21%{opacity:1;transform:none}25%,100%{opacity:0;transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.hx2645 *,.hv-tk span{animation:none!important}.hx2645 .hn{opacity:1;transform:none}.hv-tk span:not(:first-child){opacity:0}}
@media (max-width:1020px){.hv-a .hv-vis{display:flex!important;margin:44px auto 0}.hv-vis .horb{max-width:340px}.hx2645 text{font-size:16px}}
/* M6 three routes: flatter cards, one node size, quiet 1px connectors, tighter rhythm, clear handoff numbers */
.j3-l{gap:12px!important}
main .jl.j3{padding:24px 28px 22px!important}
main .jl.j3.old{background-color:transparent!important}
.jl.j3 .jl-h{align-items:flex-start}
.jl.j3 .jl-m small{font:500 15px/1.2 var(--fb)!important;font-variant-caps:all-small-caps;letter-spacing:.05em;color:#86868e!important}
.jl.j3 .jl-m b{margin-top:6px;font:400 48px/1 var(--fb)!important;letter-spacing:-.02em!important;font-variant-numeric:tabular-nums;color:#a0a0a8!important}
.jl.j3.us .jl-m b{color:#ededef!important}
.jl.j3 .jt{margin:20px 0 4px!important}
.jl.j3 .ji,.jl.j3.old .ji{width:44px!important;height:44px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.1)!important;border-style:solid!important;background:#1a1a1d!important;box-shadow:none!important;color:#a0a0a8}
.jl.j3.us .ji{color:#ededef}.jl.j3 .jn.core .ji{background:#ededef!important;border-color:#ededef!important;color:#141416!important}
.jl.j3 .ji svg{width:20px;height:20px}
.jl.j3 .jn.bad .ji::after{width:6px;height:6px;right:-2px;top:-2px;background:#86868e;box-shadow:none}
.jl.j3 .jt-line,.jl.j3.old .jt-line{top:22px!important;height:1px!important;background:rgba(255,255,255,.18)!important}
.jl.j3.old .jt-line{background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 4px,transparent 4px 9px)!important}
.jl.j3 .jt-pk,.jl.j3.old .jt-pk{top:15px!important}
.jl.j3 .jn b{margin-top:10px;font:500 15px/1.3 var(--fb)!important;color:#ededef}.jl.j3 .jn small{font-size:13px!important;color:#86868e!important}
@media (max-width:760px){
 main .jl.j3{padding:20px 18px 16px!important}
 .jl.j3 .jl-m b{font-size:36px!important}
 .jl.j3 .jt{gap:14px!important;--pad:22px!important}
 .jl.j3 .jt-line,.jl.j3.old .jt-line{left:22px!important;top:var(--pad)!important;bottom:var(--pad)!important;width:1px!important;height:auto!important;background:rgba(255,255,255,.18)!important}
 .jl.j3.old .jt-line{background:repeating-linear-gradient(180deg,rgba(255,255,255,.18) 0 4px,transparent 4px 9px)!important}
 .jl.j3 .jt-pk,.jl.j3.old .jt-pk{left:15px!important;top:var(--pad)!important}
 .jl.j3 .jn b{margin:0}
}
/* m2645 stat weight (Austin 22:52 Dubai): 500 with -0.02em beats 400 next to the headline at 1440 and 390 */
html body main :is(.hstats,.kpis,.cfix,.cs-ba,.calc-out .rows) b,html body main .cs-ba s{font-weight:500!important;letter-spacing:-.02em!important}
/* m2645 M6 height hold (m2653): pill list removed from DOM; card bottom spacing replaces its height (35px desktop, ~63-104px phones) */
html body #journey .jl.j3{padding-bottom:57px!important}
@media (max-width:767px){html body #journey .jl.j3{padding-bottom:calc(16px + clamp(35px,189px - 30vw,93px))!important}}
/* m2654 careers: "View role" pill -> plain text link with arrow (matches .mx link style; no pill, no white hover fill) */
html body .role .role-a{display:inline-flex;align-items:center;gap:6px;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:#EDEDEF!important;font:500 15px/1.4 var(--fbtn);text-decoration:underline;text-decoration-color:rgba(255,255,255,.2);text-underline-offset:4px;transition:text-decoration-color .2s}
html body .role .role-a .mga{display:block;color:#A0A0A8;transition:transform .25s var(--ease)}
html body .role:hover .role-a{background:none!important;color:#EDEDEF!important;text-decoration-color:rgba(255,255,255,.6)}
html body .role:hover .role-a .mga{transform:translate(2px,-2px);color:#EDEDEF}

/* ===== m2658 batch 1 (Austin msg 2658): S2 no "live data" footnote, S6 readable country tiles + flow tags, S7 demo welcome + chart, S8 results heights, S10 one type scale + leftovers ===== */
/* S2/S12: remove the "Live data from our platform" footnote under the stats (home, About) */
html body main .hstats[data-stats]::after{content:none!important;display:none!important}
/* S6: country tiles with a visible border and full-contrast 13px text */
.vz rect.ctile{fill:#202024!important;stroke:rgba(255,255,255,.28)!important;stroke-width:1!important;opacity:1!important}
/* S6: the benefits flow card's FF node lists its four jobs one per line, not run together */
html body main .flowcard .node .tags{display:flex!important;flex-direction:column;gap:4px;margin-top:8px}
html body main .flowcard .node .tags i{display:block!important}
/* S7 demo: welcome card text dark on white; daily-orders date labels are plain text (the .dt card rule had turned them into blobs) */
html body main #ffdemo .dm-wel h3{color:#141416!important}
html body main #ffdemo .dm-wel p{color:#52525b!important}
html body main .obars .bc .dt{display:block!important;width:auto!important;height:auto!important;padding:0!important;margin:6px 0 0!important;border:0!important;border-radius:0!important;background:none!important;background-color:transparent!important;box-shadow:none!important;font-size:10px!important;line-height:1.2!important;color:#9ca3af!important}
html body main .dm:fullscreen{background:#141416;padding:0}
/* S8: the big results card is exactly as tall as the three cards beside it */
html body main .rs-g{align-items:stretch}
html body main .rs-c{display:flex;flex-direction:column;color:inherit;text-decoration:none}
html body main .rs-c .chart,html body main .rs-c>svg{margin-top:auto}
html body main .rs-l{grid-template-rows:repeat(3,1fr);align-content:stretch}
html body main .rs-l .rs-r{height:100%}
/* S10: one type scale 72 / 48 / 28 / 20 / 17 / 16 / 13 for marketing text (app mock-ups keep their UI sizes) */
html body main .fq button{font-size:17px!important}
html body main p:not(.lead):not(.foot-note):not(.fy-n):not(.note):not(.fit-n):not(.cs-save):not(:is(.appf,.dm,.calc-out,.ml-r,.fy,.paper,.fp,.ldg,.box,.dg-sc,.ci-b,.vmod,.fyh-r,.hstats,.cfix) *){font-size:16px!important;line-height:1.65!important}
html body main :is(.ck3,.ck2,.vc-l,.cs5-b ul,.kp3) li{font-size:16px!important}
html body main :is(.pg6p,.role-p){font-size:15px!important}
html body main :is(.j3c,.cmp) :is(td,th){font-size:15px!important}
html body main :is(.rs-h b,.rcase b.fig,.calc-out b.big,.cs-ba b){font-size:clamp(36px,3.4vw,48px)!important;letter-spacing:-.02em!important}
html body main .rs-r b{font-size:28px!important}
html body main .vs-l h2{font-size:clamp(32px,3.4vw,48px)!important}
html body main .ab-two b{font-size:20px!important}
html body main :is(.jl-n,.tl2 b,.inc-i b,.pg6h b,.role-t b,.pts b){font-size:17px!important}
html body main :is(.jl-h small,.cs5-n,.s5n,.fy-st span){font-size:13px!important}
html body main :is(.ulnk2){font-size:15px!important}
html body main .calc-in small{font-weight:400!important}
/* leftovers from the Mobbin pass: grain at 2.5%, no shadows on the demo card buttons */
html body::before{opacity:.025!important}
html body main :is(.pc-w,.pct){box-shadow:none!important}

/* ===== m2658 batch 2: S1 hero story, S3 transparent menu bar, S4 softer hero edge (lines in ff.js) ===== */
/* S1: 8s loop in 4 beats. Store -> FF (order), FF -> supplier (we pay), supplier -> FF (stock), FF -> customer (parcel). transform/opacity only, CSS only */
.hx2658 .hl{opacity:.22;stroke-dasharray:2 5}
.hx2658 .tl{fill:#a0a0a8;font-weight:500}
.hx2658 .pay{fill:#111113}
.hx2658 .pk{fill:none;stroke:#111113;stroke-width:1.4;opacity:.5}
.hx2658 .hm{opacity:0;animation:8s cubic-bezier(.45,0,.55,1) infinite both}
.hx2658 .hm0{transform:translate(84px,84px);animation-name:h58m0}
.hx2658 .hm1{transform:translate(220px,205px);animation-name:h58m1}
.hx2658 .hm2{transform:translate(356px,84px);animation-name:h58m2}
.hx2658 .hm3{transform:translate(220px,205px);animation-name:h58m3}
@keyframes h58m0{0%,2%{transform:translate(84px,84px);opacity:0}5%{opacity:1}19%{transform:translate(220px,205px);opacity:1}22%,100%{transform:translate(220px,205px);opacity:0}}
@keyframes h58m1{0%,26%{transform:translate(220px,205px);opacity:0}29%{opacity:1}44%{transform:translate(356px,84px);opacity:1}47%,100%{transform:translate(356px,84px);opacity:0}}
@keyframes h58m2{0%,51%{transform:translate(356px,84px);opacity:0}54%{opacity:1}69%{transform:translate(220px,205px);opacity:1}72%,100%{transform:translate(220px,205px);opacity:0}}
@keyframes h58m3{0%,76%{transform:translate(220px,205px);opacity:0}79%{opacity:1}94%{transform:translate(220px,362px);opacity:1}97%,100%{transform:translate(220px,362px);opacity:0}}
.hx2658 .hlit{opacity:0;animation:8s ease infinite both}
.hx2658 .hk0{animation-name:h58k0}.hx2658 .hk1{animation-name:h58k1}.hx2658 .hk2{animation-name:h58k2}
@keyframes h58k0{0%{opacity:0}3%,12%{opacity:1}20%,100%{opacity:0}}
@keyframes h58k1{0%,42%{opacity:0}46%,58%{opacity:1}66%,100%{opacity:0}}
@keyframes h58k2{0%,92%{opacity:0}95%,99%{opacity:1}100%{opacity:0}}
.hx2658 .hr{opacity:0;transform-box:fill-box;transform-origin:center;animation:h58r 8s ease-out infinite both}
@keyframes h58r{0%,18%{opacity:0;transform:scale(.85)}20%{opacity:.5;transform:scale(1)}32%{opacity:0;transform:scale(1.9)}33%,68%{opacity:0;transform:scale(.85)}70%{opacity:.5;transform:scale(1)}82%,100%{opacity:0;transform:scale(1.9)}}
.hx2658 .hn{animation:hxin .7s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(.1s + var(--i) * .12s)}
html body .hv-vis .horb.hx2658{animation-delay:0s;animation-duration:.6s}
/* status line: line 1 is readable from frame 0, each line has its own 2s window */
html body .hv-tk.t58{height:22px}
html body .hv-tk.t58 span{opacity:0;animation:8s ease infinite both;animation-delay:0s!important}
html body .hv-tk.t58 span:nth-child(1){opacity:1;animation-name:h58t0}
html body .hv-tk.t58 span:nth-child(2){animation-name:h58t1}
html body .hv-tk.t58 span:nth-child(3){animation-name:h58t2}
html body .hv-tk.t58 span:nth-child(4){animation-name:h58t3}
@keyframes h58t0{0%,21%{opacity:1;transform:none}24%,97%{opacity:0;transform:translateY(-6px)}100%{opacity:1;transform:none}}
@keyframes h58t1{0%,24%{opacity:0;transform:translateY(6px)}27%,46%{opacity:1;transform:none}49%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes h58t2{0%,49%{opacity:0;transform:translateY(6px)}52%,71%{opacity:1;transform:none}74%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes h58t3{0%,74%{opacity:0;transform:translateY(6px)}77%,95%{opacity:1;transform:none}98%,100%{opacity:0;transform:translateY(-6px)}}
@media (max-width:760px){.hx2658 text.tl{font-size:17px}}
@media (prefers-reduced-motion:reduce){.hx2658 *,html body .hv-tk.t58 span{animation:none!important}
 .hx2658 .hn{opacity:1;transform:none}.hx2658 .hm,.hx2658 .hr,.hx2658 .hlit{opacity:0}
 html body .hv-tk.t58 span:not(:first-child){opacity:0}html body .hv-tk.t58 span:first-child{opacity:1}}
/* S3: the menu bar is transparent at the top of every page, so the hero glow shows behind it. It turns solid once you scroll, open the menu or a mega panel */
html body .nav:not(.scrolled):not(.open):not(.mg-on){background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body main>.hero:first-child,html body main>.phero:first-child{margin-top:-78px;padding-top:calc(var(--hero-top) + 78px)!important}
@media (max-width:760px){html body main>.hero:first-child,html body main>.phero:first-child{margin-top:-68px;padding-top:calc(var(--hero-top) + 68px)!important}}
/* S4: the hero fades into the page instead of ending on a hard edge and a hairline */
html body main .hero,html body main .phero{border-bottom:0!important;background:radial-gradient(42% 70% at 0% 0%,rgba(255,255,255,.075),transparent 72%),radial-gradient(48% 85% at 100% 0%,rgba(255,255,255,.1),transparent 70%),linear-gradient(180deg,#111113 0%,#111113 62%,rgba(17,17,19,0) 100%)!important}

/* m2658 S10 stragglers: last marketing sizes onto the one scale (72/48/28/20/17/16/13) */
html body main :is(.fyh-l,.apply-l) h2{font-size:clamp(32px,3.4vw,48px)!important}
html body main .cs-nx b{font-size:28px!important}
html body main .tc figcaption span{font-size:13px!important}
html body main p.cs-save{font-size:16px!important}

/* ===== m2659 (Austin msg 2659): G3/G4/G5 changelog images, G1 global routes, G2 movers end behind their node ===== */
/* G4: the real Freedom Fulfilment logo on every changelog image (white on the dark frame, as in the header) */
.cl-img .ci-logo img{display:block;height:18px;width:auto;filter:invert(1) brightness(1.1)}
/* G3: proposal image = a flat box with the brand printed on it, next to the unit costs */
.ci-pkg2{display:flex;align-items:center;justify-content:center;gap:22px;height:100%}
.ci-pkg2 .bx2{position:relative;flex:0 0 118px;height:96px;border-radius:8px;background:#f4f4f5;border:1.5px solid #141416;display:grid;place-items:center}
.ci-pkg2 .bx2 .lid{position:absolute;left:0;right:0;top:20px;border-top:1.5px solid #141416}
.ci-pkg2 .bx2 img{width:84px;height:auto;margin-top:16px}
.ci-pkg2 .uc{display:flex;flex-direction:column;gap:6px;min-width:150px;font-size:13px;color:#52525b}
.ci-pkg2 .uc .lab{font-weight:600;color:#141416}
.ci-pkg2 .uc div{display:flex;justify-content:space-between;gap:12px}
.ci-pkg2 .uc s{color:#71717a}.ci-pkg2 .uc .nw b{color:#141416;font-weight:700}
.ci-pkg2 .pill{align-self:flex-start;margin-top:4px!important}
/* G5: one row per product: name, sparkline, trend with an arrow from one icon family */
.ci-trend2{display:flex;flex-direction:column}
.ci-trend2 .tr{display:grid;grid-template-columns:1fr 64px 108px;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid #f0f0f1;font-size:13px}
.ci-trend2 .tr:last-child{border-bottom:0}
.ci-trend2 b{font-weight:500;color:#141416;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci-trend2 .sp{width:64px;height:20px;fill:none;stroke:#141416;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ci-trend2 .p{display:inline-flex!important;align-items:center;gap:5px;justify-self:start;padding:4px 9px!important;font-size:12px!important;border-radius:999px;background:#f4f4f5;color:#141416!important}
.ci-trend2 .p svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){.ci-pkg2{gap:14px}.ci-pkg2 .bx2{flex-basis:92px;height:78px}.ci-pkg2 .bx2 img{width:66px}.ci-pkg2 .uc{min-width:0;font-size:12px}
 .ci-trend2 .tr{grid-template-columns:1fr 44px auto;gap:8px;padding:5px 0;font-size:12px}.ci-trend2 .sp{width:44px}}
/* G2: movers keep going into the centre of the tile they travel to and fade as they enter; they are drawn under the tile, so they read as going in */
@keyframes mvr{0%{transform:translateX(var(--x0));opacity:0}12%{opacity:1}68%{opacity:1}96%,100%{transform:translateX(var(--x1));opacity:0}}
/* G1: /global-fulfilment/ route cards keep their height with padding now the tick lists are gone (same as home) */
html body #routes .jl.j3{padding-bottom:57px!important}
@media (max-width:767px){html body #routes .jl.j3{padding-bottom:calc(16px + clamp(35px,189px - 30vw,93px))!important}}
.ci-mail img.b{display:block;height:22px;width:auto;margin:0 auto}


/* ===== m2677 (Austin voice 4 Oct): option B colour (row 3), KPI band continuous with the hero, calmer background ===== */
/* Tokens: blue-violet light rgb(214,178,120), soft mint light rgb(236,200,170), lit accent #EAD7B0. Text never changes colour. */
:root{--tint-v:214,178,120;--tint-m:236,200,170;--lit:#EAD7B0;--lit-rgb:234,215,176}
/* C1 option B: the hero glow is tinted (blue-violet top left, mint top right); one emphasis surface per section gets a faint blue wash */
html body main .hero,html body main .phero{background:radial-gradient(45% 75% at 0% 0%,rgba(var(--tint-v),.16),transparent 72%),radial-gradient(50% 85% at 100% 0%,rgba(var(--tint-m),.11),transparent 70%),linear-gradient(180deg,#111113 0%,#111113 62%,rgba(17,17,19,0) 100%)!important}
.hx2658 circle[fill="url(#ffglo)"]{opacity:.55}
.hx2658 .hlit{stroke:var(--lit)!important;fill:var(--lit)!important;fill-opacity:.1!important}
html body main .kick::before{background:var(--lit)!important}
html body main :is(.jl.j3.us,.jl.j3:first-child,.fit-yes,.vc.em){background:radial-gradient(80% 120% at 0% 0%,rgba(var(--tint-v),.09),transparent 60%),#202024!important}
/* C2 KPI band = part of the hero surface: the hero stays solid charcoal under the numbers and fades out only below them; no band edges */
html body main>.hero.hv-a{padding-bottom:112px!important;background:radial-gradient(45% 75% at 0% 0%,rgba(var(--tint-v),.16),transparent 72%),radial-gradient(50% 85% at 100% 0%,rgba(var(--tint-m),.11),transparent 70%),linear-gradient(180deg,#111113 0,#111113 calc(100% - 112px),rgba(17,17,19,0) 100%)!important}
html body main>.hero.hv-a+.flw>.sec:first-child{padding-top:40px!important}
html body main .hero .hstats{position:relative;isolation:isolate;border-top:0!important;border-bottom:0!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.09) 16%,rgba(255,255,255,.09) 84%,transparent) top/100% 1px no-repeat}
html body main .hero .hstats>div:not(:first-child){border-left:0!important;background:linear-gradient(180deg,transparent,rgba(255,255,255,.08) 30%,rgba(255,255,255,.08) 70%,transparent) left/1px 100% no-repeat}
/* the same tinted light, low behind the numbers, drifting very slowly (transform + opacity only); gradients end inside their box so there is no edge */
html body main .hero .hstats::before{content:"";position:absolute;z-index:-1;left:-6%;right:-6%;top:-48px;bottom:-56px;pointer-events:none;
 background:radial-gradient(30% 50% at 30% 50%,rgba(var(--tint-v),.10),rgba(var(--tint-v),.035) 55%,transparent),radial-gradient(28% 50% at 72% 50%,rgba(var(--tint-m),.07),rgba(var(--tint-m),.025) 55%,transparent);
 animation:k77drift 14s ease-in-out infinite alternate;will-change:transform,opacity}
@keyframes k77drift{0%{transform:translate3d(-2.5%,0,0);opacity:.7}100%{transform:translate3d(2.5%,0,0);opacity:1}}
/* a soft light runs along the top hairline now and then */
html body main .hero .hstats[data-stats]::after{content:""!important;display:block!important;position:absolute;top:0;left:0;width:30%;height:1px;padding:0!important;border:0!important;pointer-events:none;
 background:linear-gradient(90deg,transparent,rgba(var(--lit-rgb),.55) 45%,rgba(var(--tint-m),.45) 60%,transparent);opacity:0;transform:translate3d(-20%,0,0);animation:k77sheen 9s cubic-bezier(.45,0,.55,1) 1.2s infinite}
@keyframes k77sheen{0%{transform:translate3d(-20%,0,0);opacity:0}8%{opacity:.9}36%{opacity:.9}44%{transform:translate3d(253%,0,0);opacity:0}100%{transform:translate3d(253%,0,0);opacity:0}}
@media (max-width:760px){
 html body main>.hero.hv-a{padding-bottom:80px!important;background:radial-gradient(45% 75% at 0% 0%,rgba(var(--tint-v),.16),transparent 72%),radial-gradient(50% 85% at 100% 0%,rgba(var(--tint-m),.11),transparent 70%),linear-gradient(180deg,#111113 0,#111113 calc(100% - 80px),rgba(17,17,19,0) 100%)!important}
 html body main>.hero.hv-a+.flw>.sec:first-child{padding-top:32px!important}
 html body main .hero .hstats>div:not(:first-child){border-top:0!important;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.08) 60%,transparent) top/100% 1px no-repeat}
 html body main .hero .hstats::before{left:-4%;right:-4%;top:-32px;bottom:-40px;background:radial-gradient(46% 34% at 40% 40%,rgba(var(--tint-v),.10),rgba(var(--tint-v),.035) 55%,transparent),radial-gradient(44% 30% at 62% 70%,rgba(var(--tint-m),.07),rgba(var(--tint-m),.025) 55%,transparent)}
}
@media (prefers-reduced-motion:reduce){html body main .hero .hstats::before{animation:none!important;opacity:.85}html body main .hero .hstats[data-stats]::after{animation:none!important;opacity:0!important}}
/* C3 background: the canvas now draws 3 to 4 tapered hairlines (ff.js), so it sits at the same quiet level as the card hairlines */
/* C5 careers: text link everywhere, including focus/active and JS-rendered role cards */
html body .role .role-a,html body .role:is(:hover,:focus-visible,:active) .role-a{box-shadow:none!important;min-height:0!important;outline:0}
html body .role:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}

/* ===== m2679 (Austin msg 2679) ===== */
/* H1 hero diagram: the real sequence in five 2s beats (10s loop): we buy the stock from the manufacturer, stock arrives, an order comes in, we pick and pack, we ship */
.hx2679 .hm{animation-duration:10s!important}
.hx2679 .hm0{transform:translate(220px,205px);animation-name:h79m0!important}
.hx2679 .hm1{transform:translate(84px,84px);animation-name:h79m1!important}
.hx2679 .hm2{transform:translate(356px,84px);animation-name:h79m2!important}
.hx2679 .hm3{transform:translate(220px,205px);animation-name:h79m3!important}
@keyframes h79m0{0%,1%{transform:translate(220px,205px);opacity:0}3%{opacity:1}15%{transform:translate(84px,84px);opacity:1}18%,100%{transform:translate(84px,84px);opacity:0}}
@keyframes h79m1{0%,21%{transform:translate(84px,84px);opacity:0}23%{opacity:1}34%{opacity:1}37%,100%{transform:translate(220px,205px);opacity:0}}
@keyframes h79m2{0%,41%{transform:translate(356px,84px);opacity:0}43%{opacity:1}54%{opacity:1}57%,100%{transform:translate(220px,205px);opacity:0}}
@keyframes h79m3{0%,81%{transform:translate(220px,205px);opacity:0}83%{opacity:1}95%{transform:translate(220px,362px);opacity:1}98%,100%{transform:translate(220px,362px);opacity:0}}
.hx2679 .hlit{animation-duration:10s!important}
.hx2679 .hk0{animation-name:h79k0!important}.hx2679 .hk1{animation-name:h79k1!important}.hx2679 .hk2{animation-name:h79k2!important}
@keyframes h79k0{0%,10%{opacity:0}14%,32%{opacity:1}38%,100%{opacity:0}}
@keyframes h79k1{0%,40%{opacity:0}43%,52%{opacity:1}58%,100%{opacity:0}}
@keyframes h79k2{0%,92%{opacity:0}95%,99%{opacity:1}100%{opacity:0}}
.hx2679 .hr{animation:h79r 10s ease-out infinite both!important}
@keyframes h79r{0%,34%{opacity:0;transform:scale(.85)}37%{opacity:.5;transform:scale(1)}46%{opacity:0;transform:scale(1.8)}47%,59%{opacity:0;transform:scale(.85)}62%{opacity:.6;transform:scale(1)}70%{opacity:0;transform:scale(1.9)}71%,72%{opacity:0;transform:scale(.85)}74%{opacity:.45;transform:scale(1)}80%,100%{opacity:0;transform:scale(1.7)}}
html body .hv-tk.t79 span{animation-duration:10s!important}
html body .hv-tk.t79 span:nth-child(1){opacity:1;animation-name:h79t0!important}
html body .hv-tk.t79 span:nth-child(2){animation-name:h79t1!important}
html body .hv-tk.t79 span:nth-child(3){animation-name:h79t2!important}
html body .hv-tk.t79 span:nth-child(4){animation-name:h79t3!important}
html body .hv-tk.t79 span:nth-child(5){animation-name:h79t4!important}
@keyframes h79t0{0%,17%{opacity:1;transform:none}20%,97%{opacity:0;transform:translateY(-6px)}100%{opacity:1;transform:none}}
@keyframes h79t1{0%,20%{opacity:0;transform:translateY(6px)}23%,37%{opacity:1;transform:none}40%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes h79t2{0%,40%{opacity:0;transform:translateY(6px)}43%,57%{opacity:1;transform:none}60%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes h79t3{0%,60%{opacity:0;transform:translateY(6px)}63%,77%{opacity:1;transform:none}80%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes h79t4{0%,80%{opacity:0;transform:translateY(6px)}83%,95%{opacity:1;transform:none}98%,100%{opacity:0;transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.hx2679 *,html body .hv-tk.t79 span{animation:none!important}.hx2679 .hm,.hx2679 .hr,.hx2679 .hlit{opacity:0}.hx2679 .hn{opacity:1;transform:none}
 html body .hv-tk.t79 span:not(:first-child){opacity:0}html body .hv-tk.t79 span:first-child{opacity:1}}
/* N3: one header size in every state. The top-state bar is the same pill as the scrolled one (section content width, 62px tall, 16px below the top), so nothing shrinks on scroll; only the fill changes */
@media (min-width:761px){
 html body .nav .wrap,html body .nav.scrolled .wrap{max-width:calc(var(--wrap) - 48px)!important;height:62px!important;margin-top:16px!important;border-radius:31px!important;padding:0 10px 0 22px!important;border-width:1px!important;border-style:solid!important}
 html body .nav .brand{margin-left:14px}
 /* N2: at the top the pill is a faint glass hairline over the hero light, not a block */
 html body .nav:not(.scrolled) .wrap{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015))!important;border-color:rgba(255,255,255,.10)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
 /* N1: opening a mega panel at the top keeps the bar transparent; the panel floats 8px under the pill as its own card */
 html body .nav.mg-on:not(.scrolled),html body .nav:not(.scrolled){background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
 html body .nav:not(.scrolled) .wrap::after{top:calc(100% + 8px)!important;left:0!important;right:0!important;height:calc(var(--mgh,206px) + 24px)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:22px!important;
  background:radial-gradient(60% 90% at 0% 0%,rgba(var(--tint-v),.10),transparent 70%),radial-gradient(50% 80% at 100% 0%,rgba(var(--tint-m),.07),transparent 70%),#141417!important;box-shadow:none!important}
 html body .nav:not(.scrolled) .mgp{top:calc(100% + 8px)!important;left:0!important;right:0!important;border-radius:22px}
}
/* phones: the bar is a pill at section width in both states (no shrink); the open full-screen menu keeps its own layout */
@media (max-width:760px){
 html body .nav:not(.open) .wrap,html body .nav.scrolled:not(.open) .wrap{height:56px!important;margin:12px 24px 0!important;max-width:none!important;border-radius:28px!important;padding:0 6px 0 16px!important;border-width:1px!important;border-style:solid!important}
 html body .nav:not(.scrolled):not(.open) .wrap{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015))!important;border-color:rgba(255,255,255,.10)!important;box-shadow:none!important}
 html body .nav:not(.scrolled):not(.open){background:transparent!important}
}
@media (max-width:380px){html body .nav:not(.open) .wrap,html body .nav.scrolled:not(.open) .wrap{margin:12px 12px 0!important}}
/* N4: "Client login" hover is a pill (or a text darken), never a square box */
html body .nav .login{border-radius:999px!important;padding:9px 14px!important;transition:color .2s,background-color .2s}
html body .nav:not(.scrolled) .login:hover{color:#fff!important;background:rgba(255,255,255,.07)!important}
html body .nav.scrolled .login:hover{color:#141416!important;background:#f4f4f5!important}
/* K1: more room between the orders number and its stepper arrows */
html body main [data-calc] .cf-h input[type=number]{padding-right:12px!important}
html body main [data-calc] .cf-h input[type=number]::-webkit-inner-spin-button{margin-left:12px}
/* D1: tab change matches the live portal (A1): out .15s ease-in, in .3s with a .07s delay */
@keyframes ap79in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes ap79out{to{opacity:0;transform:translateY(-6px)}}
html body .app-pane.on{animation:ap79in .3s cubic-bezier(.2,.7,.2,1) .07s both}
html body .app-pane.on.out{animation:ap79out .15s ease-in both}
@media (prefers-reduced-motion:reduce){html body .app-pane.on,html body .app-pane.on.out{animation:none}}
/* D2: Customer support (Faye) tab, portal look */
.app-grid.st3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.cs-eb{display:block;font-size:12px;font-weight:600;color:#71717a;margin-bottom:2px}
.cs-h{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;color:#141416}
.cs-st{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.cs-tabs{display:inline-flex;gap:2px;padding:3px;margin:0 0 14px;border-radius:999px;background:#f1f1f3}
.cs-tabs button{height:30px;padding:0 13px;border:0;border-radius:999px;background:none;font:500 12.5px/1 var(--fb);color:#52525b;cursor:pointer;white-space:nowrap}
.cs-tabs button.on{background:#fff;color:#141416;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.cs-p{display:none}.cs-p.on{display:block;animation:ap79in .3s cubic-bezier(.2,.7,.2,1) both}
.cs-k small{display:block;margin-top:4px;font-size:11.5px;color:#71717a}
.cs-bar{margin:4px 0 10px}.cs-bar h5{margin:0}
.cs-ch{display:flex;align-items:flex-end;gap:5px;height:90px;margin-top:10px}.cs-ch i{flex:1;border-radius:3px 3px 0 0;background:#141416;opacity:.85}
.app-pane[data-p="cs"] .app-card{margin-bottom:12px}
.app-pane[data-p="cs"] td.w{white-space:normal;min-width:220px}
@media (max-width:760px){.app-grid.st3{grid-template-columns:1fr 1fr}.cs-head{flex-direction:column}.cs-tabs{max-width:100%;overflow-x:auto}}
/* D4: the tour and the help both dim everything except the popup and the part being explained (the live portal's 52% veil) */
html body #ffdemo .tour.on .tour-ring{box-shadow:0 0 0 2px rgba(255,255,255,.95),0 0 0 9999px rgba(10,10,10,.52)!important}
html body .dm-wel{background:rgba(10,10,10,.5)!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
html body .app-dr.on{box-shadow:0 0 0 9999px rgba(10,10,10,.42)!important}
/* D5: "Next" and its chevron on one line, centred */
html body .tour-nx,html body .tour-b{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;line-height:1}
html body .tour-nx span{display:inline-flex;align-items:center}html body .tour-nx svg{display:block}
@media (max-width:760px){.app-grid.st3>:last-child:nth-child(3){grid-column:span 2}}
/* F1 footer = echo of the hero (variant A, see work/m2679/footer/CHOICE.md): the same option B light in the same corners, and a hairline top that fades at both ends */
html body footer.foot.ft54{border-top:0!important;background:radial-gradient(45% 75% at 0% 0%,rgba(var(--tint-v),.13),transparent 72%),radial-gradient(50% 85% at 100% 0%,rgba(var(--tint-m),.09),transparent 70%),#111113!important}
html body footer.foot.ft54::before{content:""!important;display:block!important;position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12) 16%,rgba(255,255,255,.12) 84%,transparent)}
@media (max-width:760px){html body footer.foot.ft54{background:radial-gradient(80% 40% at 0% 0%,rgba(var(--tint-v),.13),transparent 72%),radial-gradient(80% 40% at 100% 0%,rgba(var(--tint-m),.09),transparent 70%),#111113!important}}
/* R3 (Austin msg 2681): sticky Apply bar, phones only (<=768). Hairline top, blurred option B tint, safe-area aware; the body gets matching bottom padding while it shows so it never covers the footer */
.stk{display:none}
@media (max-width:768px){
 .stk{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:35;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
  background:radial-gradient(70% 140% at 0% 100%,rgba(var(--tint-v),.16),transparent 70%),radial-gradient(60% 140% at 100% 100%,rgba(var(--tint-m),.10),transparent 70%),rgba(17,17,19,.78);
  -webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px);
  transform:translate3d(0,110%,0);opacity:0;visibility:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s ease,visibility 0s linear .35s}
 .stk::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14) 16%,rgba(255,255,255,.14) 84%,transparent)}
 .stk.on{transform:none;opacity:1;visibility:visible;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s ease,visibility 0s}
 .stk p{margin:0;font:400 14px/1.35 var(--fb);color:#a0a0a8;min-width:0}
 .stk .btn{flex:0 0 auto;min-height:44px;padding:0 18px;display:inline-flex;align-items:center;gap:6px}
 html.stk-on body{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:340px){.stk p{font-size:13px}}
@media (prefers-reduced-motion:reduce){.stk,.stk.on{transition:opacity .01s,visibility 0s}}
html body .nav .login,html body .mt{white-space:nowrap}
@media (min-width:761px) and (max-width:900px){html body .nav .wrap{gap:12px!important}html body .nav .login{padding:9px 10px!important}}
/* m2687 (Austin msg 2687): demo sidebar is one list with no headings; a single hairline before the account items (Receipts, Team) */
.app-side .app-div{height:0;margin:10px 24px;border:0;border-top:1px solid #ececee}
@media (max-width:760px){.app-side .app-div{display:none}}
/* m2679 X4 (Austin: footer should look more like the above-the-fold section): glow at about 65% of the hero-top intensity, measured (work/m2679/x/meas3.py, variant c6) */
html body footer.foot.ft54{background:radial-gradient(55% 100% at 0% 0%,rgba(var(--tint-v),.15),transparent 72%),radial-gradient(65% 120% at 100% 0%,rgba(var(--tint-m),.19),transparent 70%),#111113!important}
@media (max-width:760px){html body footer.foot.ft54{background:radial-gradient(100% 60% at 0% 0%,rgba(var(--tint-v),.30),transparent 72%),radial-gradient(100% 60% at 100% 0%,rgba(var(--tint-m),.26),transparent 70%),#111113!important}}

/* ===== m2693 T1 (Austin msg 2698): Option C, Switzer 500, one family. Tokens from work/m2693/RECOMMENDATION.md ===== */
:root{--fd:"Switzer",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--fb:var(--fd);--fbtn:var(--fd);--fs-h1:clamp(40px,4.6vw,64px);--fs-h2:clamp(28px,2.9vw,40px);--fs-stat:clamp(36px,3.4vw,48px)}
html,body{font-family:var(--fb)}
html body main h1:not(.appf *):not(.dm *):not(#z):not(#y){font-family:var(--fd)!important;font-weight:500!important;font-size:clamp(40px,4.6vw,64px)!important;line-height:1.02!important;letter-spacing:-.04em!important;text-wrap:balance}
html body main h2:not(.appf *):not(.dm *):not(#z):not(#y){font-family:var(--fd)!important;font-weight:500!important;font-size:clamp(28px,2.9vw,40px)!important;line-height:1.08!important;letter-spacing:-.03em!important;text-wrap:balance}
html body main h3:not(.appf *):not(.dm *):not(#z):not(#y){font-family:var(--fd);font-weight:600!important;letter-spacing:-.01em!important;text-wrap:balance}
html body main :is(.vct,.inc-i,.st2,.cs5-h,.pc,.tc,.bl3,.ab-two,.s5) h3:not(.appf *):not(.dm *):not(#z):not(#y){font-size:19px!important;line-height:1.3!important}
html body main .bn-t h3:not(.appf *):not(.dm *):not(#z):not(#y){font-weight:500!important;letter-spacing:-.02em!important}
html body main :is(h1,h2) .soft{text-wrap:balance}
html body main .lead:not(.appf *):not(.dm *):not(#z):not(#y){font-family:var(--fb)!important;font-weight:400!important;font-size:17px!important;line-height:1.55!important;letter-spacing:0!important;max-width:60ch}
html body main p:not(.appf *):not(.dm *):not(#z):not(#y){max-width:60ch}
html body main :is(.hero,.phero) .lead,html body main .cta-band .lead,html body main .sec-h .lead{max-width:60ch}
html body main :is(.hstats b,.cs .fig,.rs-h b,.rcase .fig,.gstats b,.calc-out .big,.jl-m b,.rt-big b,.csm b,.cs-nx b,.rs-r b,.cs-ba b){font-weight:500!important;letter-spacing:-.03em!important;font-variant-numeric:tabular-nums;line-height:1}
html body main .hstats b{font-size:clamp(36px,3.4vw,48px)!important}
.btn,.btn *{font-family:var(--fbtn)!important;font-weight:500!important;font-size:15px!important;letter-spacing:0!important}
html body main :is(.chap,.kick,.cat,.foot-note,.lb,small):not(.appf *):not(.dm *):not(#z):not(#y){font-family:var(--fb)}
html body main :is(.chap,.kick):not(.appf *):not(.dm *):not(#z):not(#y){font-size:13px!important;font-weight:500!important;letter-spacing:.04em!important}
@media (max-width:760px){html body main h1:not(.appf *):not(.dm *):not(#z):not(#y){font-size:40px!important}html body main h2:not(.appf *):not(.dm *):not(#z):not(#y){font-size:28px!important}html body main .lead:not(.appf *):not(.dm *):not(#z):not(#y){font-size:16px!important}html body main .hstats b{font-size:30px!important}}

/* ===== m2693 T5/T7/T9 blocks: founder quote, routes as numbers, Relay/Faye link row, steps in the /how-it-works/ hero ===== */
html body main .fq1{margin:var(--sp-7,48px) 0 0;padding:28px 0 0;border-top:1px solid rgba(255,255,255,.1);max-width:60ch}
html body main #voice .fq1{margin:0 auto;border-top:0;padding:0;text-align:left}
html body main .fq1 blockquote{margin:0}
html body main .fq1 blockquote p{margin:0;max-width:60ch;font:500 clamp(20px,1.9vw,24px)/1.4 var(--fd);letter-spacing:-.015em;color:#fff;text-wrap:pretty}
html body main .fq1 figcaption{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:18px;font:400 14px/1.4 var(--fb);color:var(--tx2)}
html body main .fq1 figcaption b{font-weight:600;color:#fff}
html body main #voice{padding-top:40px;padding-bottom:40px}
html body main .rn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:8px}
html body main .rn-i{padding:28px 26px;border-radius:22px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025)}
html body main .rn-i.us{border-color:rgba(234,215,176,.35);background:radial-gradient(90% 120% at 0% 0%,rgba(214,178,120,.12),transparent 60%),rgba(255,255,255,.035)}
html body main .rn-i b{display:block;font:500 clamp(44px,4.4vw,64px)/1 var(--fd);letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums}
html body main .rn-i span{display:block;margin-top:14px;font:600 17px/1.3 var(--fd);color:#fff}
html body main .rn-i small{display:block;margin-top:6px;font:400 14px/1.5 var(--fb);color:var(--tx2)}
html body main .rn-i:not(.us) b{color:rgba(255,255,255,.55)}
html body main .rn-n{margin:14px 0 0;font:400 13px/1.45 var(--fb);color:var(--tx3)}
html body main .lrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
html body main .lr{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 22px;border-radius:18px;border:1px solid rgba(255,255,255,.1);color:#fff;text-decoration:none;transition:border-color .2s,background .2s}
html body main .lr:hover{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.04)}
html body main .lr b{display:block;font:600 16px/1.3 var(--fd)}
html body main .lr small{display:block;margin-top:2px;font:400 14px/1.4 var(--fb);color:var(--tx2)}
html body main .lr .mga{flex:0 0 auto;opacity:.6}
html body main .hst{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.1)}
html body main .hst li{display:grid;grid-template-columns:44px 1fr auto;align-items:baseline;gap:4px 14px;padding:18px 4px;border-bottom:1px solid rgba(255,255,255,.1)}
html body main .hst-n{font:500 13px/1 var(--fd);color:var(--tx3);font-variant-numeric:tabular-nums}
html body main .hst b{font:500 20px/1.25 var(--fd);letter-spacing:-.015em;color:#fff}
html body main .hst small{font:400 14px/1.3 var(--fb);color:var(--tx2);text-align:right}
html body main .hiw-st{padding-top:56px}
@media (max-width:760px){html body main .rn,html body main .lrow{grid-template-columns:1fr}html body main .rn-i{padding:22px 20px}html body main .hst li{grid-template-columns:36px 1fr;padding:14px 2px}html body main .hst small{grid-column:2;text-align:left}html body main .fq1 blockquote p{font-size:19px}}

/* m2693 T3: very small phones keep hero H1s to two lines */
@media (max-width:360px){html body main h1:not(.appf *):not(.dm *):not(#z):not(#y){font-size:31px!important}}
/* m2693 T5: the founder quote beats the generic paragraph rules */
html body main .fq1 blockquote p:not(#z):not(#y):not(#x){font:500 clamp(20px,1.9vw,24px)/1.4 var(--fd)!important;letter-spacing:-.015em!important;color:#fff!important;max-width:60ch!important}
@media (max-width:760px){html body main .fq1 blockquote p:not(#z):not(#y):not(#x){font-size:19px!important}}
/* m2693 T10: text lines capped at 60 characters, beating the older per-component max-widths */
/* 60 real characters: Switzer's '0' (the ch unit) is wider than an average letter, so 60 characters = about 46ch */
html body main :is(p,dd):not(.appf *):not(.dm *):not(#z):not(#y):not(#x){max-width:44ch!important}
html body main .cta-band :is(p):not(#z):not(#y):not(#x){margin-left:auto;margin-right:auto}

/* ===== m2707 (Austin msg 2713): home hero diagram "The collapse". Five suppliers and five bills fold into one partner (the FF mark), then clean lines run store -> FF -> customers.
   Colour B tokens only (--tint-v, --tint-m, --lit, --lit-rgb). Pairs with /assets/hero-collapse.js. ===== */
.hv-vis.hc{position:relative;flex-direction:column;align-items:stretch;gap:14px;width:100%}
.hc-st{position:relative;width:100%;height:420px}
.hc-cv{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);display:block;pointer-events:none}
.hc-n{position:absolute;z-index:1;display:flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 8px;border-radius:999px;white-space:nowrap;
 font:400 13px/1 var(--fb);color:rgba(255,255,255,.62);background:rgba(27,27,31,.94);border:1px solid rgba(255,255,255,.10);
 transform:translate(-50%,-50%);will-change:transform,opacity}
.hc-n i{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:999px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.6)}
.hc-n i svg{width:13px;height:13px}
.hc-store{color:#fff;border-color:rgba(255,255,255,.16)}
.hc-store i{color:#fff;background:rgba(255,255,255,.09)}
/* the bills node reads as a pile: a second hairline edge under it */
.hc-bills{box-shadow:3px 3px 0 -1px #141417,3px 3px 0 0 rgba(255,255,255,.09),6px 6px 0 -1px #141417,6px 6px 0 0 rgba(255,255,255,.05)}
.hc-cu{position:absolute;z-index:1;right:0;font:400 13px/1 var(--fb);color:rgba(255,255,255,.82);white-space:nowrap}
/* the one partner: the real FF mark on a lit tile */
.hc-ff{position:absolute;z-index:2;left:50%;top:50%;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:28px;display:grid;place-items:center;opacity:0;transform:scale(.4);
 background:radial-gradient(80% 80% at 28% 22%,rgba(var(--tint-v),.34),rgba(var(--tint-v),.07) 72%),#17171c;border:1px solid rgba(var(--lit-rgb),.5);
 box-shadow:0 0 0 1px rgba(var(--lit-rgb),.08),0 0 40px rgba(var(--tint-v),.42),0 0 110px rgba(var(--tint-v),.20),inset 0 1px 0 rgba(255,255,255,.14)}
.hc-ff svg{width:40px;height:40px;fill:#fff;filter:drop-shadow(0 0 7px rgba(var(--lit-rgb),.85))}
.hc-sub{position:absolute;z-index:1;left:50%;transform:translateX(-50%);white-space:nowrap;font:400 13px/1 var(--fb);color:rgba(255,255,255,.5);opacity:0}
/* caption: three beats, sentence case, the payoff line is the brightest */
.hc-cap{position:relative;height:22px;margin:0;text-align:center;font:500 15px/22px var(--fb);color:#a1a1aa}
.hc-cap span{position:absolute;inset:0;opacity:0}
.hc-cap span.on{opacity:1}
.hc-cap span:last-child{color:#fff}
.hc-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;margin:0}
/* tablet: the diagram sits under the copy, centred */
@media (max-width:1020px){html body .hv-a .hv-vis.hc{display:flex!important;max-width:560px;margin:40px auto 0}.hc-st{height:400px}}
/* phones */
@media (max-width:760px){
 html body .hv-a .hv-vis.hc{margin-top:32px;max-width:none}
 .hc-st{height:316px}
 .hc-n{height:32px;gap:7px;padding:0 11px 0 6px;font-size:12px}
 .hc-n i{width:20px;height:20px}.hc-n i svg{width:12px;height:12px}
 .hc-ff{width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:22px}.hc-ff svg{width:31px;height:31px}
 .hc-cu,.hc-sub{font-size:12px}
 .hc-cap{font-size:14px}
}
/* m2713 integration: Switzer tokens (one family). Chips and labels = meta 13px/400, caption = 15px/500 like buttons; the payoff beat no longer repeats the H1 */
html body .hc-n,html body .hc-cu,html body .hc-sub{font-family:var(--fb);letter-spacing:0}
html body .hc-cap{font-family:var(--fb);font-weight:500;letter-spacing:0}
html body .hc-ff{z-index:2}html body .hc-n,html body .hc-cu{z-index:1}html body .hc-cv{z-index:0}
html body main .hv-vis.hc p.hc-cap:not(#z):not(#y):not(#x){max-width:none!important;width:100%;margin:0!important;font-size:15px!important;line-height:22px!important;color:#a1a1aa!important}
@media (max-width:760px){html body main .hv-vis.hc p.hc-cap:not(#z):not(#y):not(#x){font-size:14px!important}}

/* ===== m2726 N1-N4 (Austin msg 2726): header states ===== */
/* N1: at the top of the page there is no pill at all: no fill, no border, no shadow. The pill appears only once scrolled (white) */
html body .nav:not(.scrolled):not(.open) .wrap{background:none!important;border-color:transparent!important;box-shadow:none!important}
/* N2: the logo keeps its real 750x142 (5.28:1) shape everywhere: height drives, width follows */
html body .brand img,html body .ft-brand img,html body .app-logo img,html body .dmw-c img,html body .ci-logo img{width:auto!important;aspect-ratio:750/142;object-fit:contain}
html body .nav .brand img{height:24px!important}
@media (max-width:760px){html body .nav .brand img{height:22px!important}}
/* N3: scrolled + dropdown open: the bar's bottom corners go square so bar and panel read as one white shape, then ease back to the pill */
html body .nav.scrolled .wrap{transition:max-width .6s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1),margin .5s cubic-bezier(.22,1,.36,1),background-color .4s,box-shadow .5s,border-color .4s,border-radius .28s cubic-bezier(.22,1,.36,1)!important}
html body .nav.scrolled.mg-on .wrap{border-radius:31px 31px 0 0!important;box-shadow:none!important}
html body .nav.scrolled .wrap::after{border-radius:0 0 26px 26px!important;box-shadow:0 30px 50px -18px rgba(0,0,0,.45)!important}
/* N4: the option-B violet/mint light inside both dropdown panels */
html body .nav.scrolled .wrap::after{background:radial-gradient(55% 80% at 0% 0%,rgba(var(--tint-v),.09),transparent 70%),radial-gradient(45% 75% at 100% 100%,rgba(var(--tint-m),.08),transparent 70%),#fff!important}
html body .nav:not(.scrolled) .wrap::after{background:radial-gradient(60% 90% at 0% 0%,rgba(var(--tint-v),.16),transparent 70%),radial-gradient(50% 80% at 100% 0%,rgba(var(--tint-m),.11),transparent 70%),#141417!important}
html body .nav.scrolled .mgf{background:radial-gradient(90% 80% at 100% 0%,rgba(var(--tint-v),.30),transparent 60%),radial-gradient(70% 70% at 0% 100%,rgba(var(--tint-m),.16),transparent 65%),#141416!important}
html body .nav:not(.scrolled) .mgf{background:radial-gradient(90% 80% at 100% 0%,rgba(var(--tint-v),.16),transparent 60%),radial-gradient(70% 70% at 0% 100%,rgba(var(--tint-m),.12),transparent 65%),#fafafa!important}
html body .nav.scrolled .mgc:hover,html body .nav.scrolled .mgc.on{border-color:rgba(var(--tint-v),.55)!important;box-shadow:0 10px 26px -14px rgba(var(--tint-v),.55)}
html body .nav:not(.scrolled) .mgc:hover,html body .nav:not(.scrolled) .mgc.on{border-color:rgba(234,215,176,.40)!important}
@media (max-width:760px){html body .nav.open{background:radial-gradient(80% 40% at 0% 0%,rgba(var(--tint-v),.14),transparent 70%),radial-gradient(70% 35% at 100% 8%,rgba(var(--tint-m),.09),transparent 70%),#0e0e10!important}}

/* ===== m2726 R1: three routes, three small Collapse-style diagrams (pairs with routes3.js). Same tokens and motion rules as the hero ===== */
html body main .rt3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:8px}
html body main .rt-col{display:flex;flex-direction:column;padding:24px 22px 22px;border-radius:22px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);min-width:0}
html body main .rt-col.us{border-color:rgba(234,215,176,.35);background:radial-gradient(90% 60% at 50% 45%,rgba(214,178,120,.12),transparent 70%),rgba(255,255,255,.035)}
html body main .rt-h{display:flex;flex-direction:column;gap:10px}
html body main .rt-k{font:600 17px/1.3 var(--fd);color:#fff}
html body main .rt-num{display:flex;align-items:baseline;gap:10px;font:500 44px/1 var(--fd);letter-spacing:-.04em;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
html body main .rt-col.us .rt-num{color:#fff}
html body main .rt-num small{font:400 13px/1.3 var(--fb);letter-spacing:0;color:var(--tx3)}
html body main .rt-st{position:relative;height:300px;margin:18px 0 16px}
html body main .rt-cv{position:absolute;inset:-16px;width:calc(100% + 32px);height:calc(100% + 32px);display:block;pointer-events:none;z-index:0}
html body main .rt-n{position:absolute;z-index:1;transform:translate(-50%,-50%);display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;white-space:nowrap;
 font:400 12.5px/1 var(--fb);color:rgba(255,255,255,.66);background:rgba(27,27,31,.96);border:1px solid rgba(255,255,255,.10);transition:border-color .25s,box-shadow .25s}
html body main .rt-you{color:#fff;border-color:rgba(255,255,255,.18)}
html body main .rt-cu{color:rgba(255,255,255,.85)}
html body main .rt-s{height:26px;padding:0 10px;font-size:12px;color:rgba(255,255,255,.58);background:rgba(23,23,28,.96)}
html body main .rt-ff{position:absolute;z-index:2;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:20px;display:grid;place-items:center;
 background:radial-gradient(80% 80% at 28% 22%,rgba(var(--tint-v),.34),rgba(var(--tint-v),.07) 72%),#17171c;border:1px solid rgba(var(--lit-rgb),.5);
 box-shadow:0 0 0 1px rgba(var(--lit-rgb),.08),0 0 30px rgba(var(--tint-v),.40),inset 0 1px 0 rgba(255,255,255,.14)}
html body main .rt-ff svg{width:28px;height:28px;fill:#fff;filter:drop-shadow(0 0 6px rgba(var(--lit-rgb),.8))}
html body main p.rt-d:not(#z):not(#y):not(#x){margin:auto 0 0!important;font:400 14px/1.5 var(--fb)!important;color:var(--tx2)!important;max-width:none!important}
@media (max-width:1020px) and (min-width:761px){html body main .rt3{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}}
@media (max-width:760px){html body main .rt3{grid-template-columns:1fr}html body main .rt-col{padding:20px 16px 18px}html body main .rt-st{height:290px}html body main .rt-num{font-size:38px}}

/* ===== m2726 S2 (Austin msg 2726): every page hero gets the home above-the-fold treatment: solid charcoal under all the copy,
   the same violet (top left) and mint (top right) glow, fading into the page only below the content (was fading from 62% down, so inner heroes went grey mid-hero) ===== */
html body main>.phero{padding-bottom:calc(var(--sp-8,64px) + 56px)!important;background:radial-gradient(45% 75% at 0% 0%,rgba(var(--tint-v),.16),transparent 72%),radial-gradient(50% 85% at 100% 0%,rgba(var(--tint-m),.11),transparent 70%),linear-gradient(180deg,#111113 0,#111113 calc(100% - 96px),rgba(17,17,19,0) 100%)!important}
@media (max-width:760px){html body main>.phero{padding-bottom:calc(var(--sp-8,48px) + 32px)!important;background:radial-gradient(45% 75% at 0% 0%,rgba(var(--tint-v),.16),transparent 72%),radial-gradient(50% 85% at 100% 0%,rgba(var(--tint-m),.11),transparent 70%),linear-gradient(180deg,#111113 0,#111113 calc(100% - 64px),rgba(17,17,19,0) 100%)!important}}

/* ===== m2726 M1 (Austin msg 2726): mobile polish from the 320/360/390/768 sweep ===== */
/* tap targets at least 40px: changelog filter chips and the "Read the story" links */
html body main .cl-f button,html body main [data-t]{min-height:40px}
html body main a.ulnk{display:inline-flex;align-items:center;min-height:40px}
/* nothing under 12px: the mock browser URL bars */
html body main .url{font-size:12px!important}
html body main .fy-k span,html body main .fp-k span,html body main .cs-k small,html body main .chip{font-size:12px!important}

/* ===== DS85282c (Austin TG 85282: Freddy replication guide sec 1, 10) ===== */
button,input,select,textarea{font-family:inherit}
h1,h2,h3{text-wrap:balance}
html body main>.phero h1{max-width:none}
@media (max-width:360px){html body h1{font-size:31px!important}}
/* DS85282d: long legal strings wrap; nothing wider than the phone */
.legal,.legal *{overflow-wrap:anywhere}
@media (max-width:760px){html,body{overflow-x:clip}}
/* DS85282f: FC hero has four stats, all in one row on desktop (Austin rule: stats in one row), 2x2 on phones */
html body main .hstats.fc-st{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media (max-width:760px){html body main .hstats.fc-st{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* ===== QW85285 (Austin TG 85285) ===== */
/* FC logo is 522x122: its own ratio, so no letterbox space before the logo in the pill */
html body .brand img[src^="/fc-logo"],html body .ft-brand img[src^="/fc-logo"]{aspect-ratio:522/122!important}
/* smaller play button, video opens in a lightbox */
html body .vf .vf-p i{width:52px;height:52px}html body .vf .vf-p i svg{width:18px;height:18px}
.vlb{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(8,8,10,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .25s cubic-bezier(.22,1,.36,1)}
.vlb.on{opacity:1}
.vlb-f{width:min(1100px,100%);aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;transform:scale(.97);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.vlb.on .vlb-f{transform:none}.vlb-f iframe{width:100%;height:100%;border:0;display:block}
.vlb-x{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;cursor:pointer}
.vlb-x:hover{background:rgba(255,255,255,.14)}
/* builds: whole screenshot visible, fades in when loaded */
html body .bd-i{aspect-ratio:1440/760;background:#1b1b1f}
html body .bd-i img{object-fit:cover;object-position:top;opacity:0;transition:opacity .5s ease,transform .6s ease}
html body .bd-i img.ld{opacity:1}
@media (prefers-reduced-motion:reduce){.vlb,.vlb-f{transition:none}html body .bd-i img{opacity:1;transition:none}}
/* QW85285b: play circle 52px (beats the earlier 68px rule); logo sits 22px from the pill edge like FF */
html body .vf .vf-p i{width:52px!important;height:52px!important}
html body .nav .brand,html body .nav.scrolled .brand{margin-left:0!important}
/* ===== HOME85285: centred hero (Trustpilot, title, sub, video, CTA, then KPIs) + ecosystem track ===== */
.tp-row{height:20px;max-width:420px;margin:0 auto 22px}
.hv-b .hb-vid{width:100%;max-width:880px;margin:0 auto}
.hv-b .hb-vid .vf{border-radius:22px}
.hv-b .hero-in>.ctas{display:flex;justify-content:center;margin-top:0}
.eco{list-style:none;margin:0;padding:28px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;position:relative}
.eco::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.22),rgba(255,255,255,.04))}
.eco::after{content:"";position:absolute;top:0;left:0;width:30%;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--lit-rgb,234,215,176),.7),transparent);animation:ecoSh 9s 1.2s cubic-bezier(.22,1,.36,1) infinite}
@keyframes ecoSh{0%{transform:translateX(-100%);opacity:0}10%{opacity:1}60%{transform:translateX(340%);opacity:1}61%,100%{opacity:0}}
.eco li{position:relative;padding:24px 22px 26px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#1a1a1d;transition:border-color .25s cubic-bezier(.22,1,.36,1)}
.eco li:hover{border-color:rgba(255,255,255,.24)}
.eco li::before{content:"";position:absolute;top:-33px;left:22px;width:9px;height:9px;border-radius:50%;background:#2a2a30;border:1px solid rgba(255,255,255,.3)}
.eco li:last-child{border-color:rgba(234,215,176,.35);background:radial-gradient(90% 80% at 0% 0%,rgba(var(--tint-v,214,178,120),.09),transparent 70%),#1a1a1d}
.eco li:last-child::before{background:#EAD7B0;box-shadow:0 0 12px rgba(234,215,176,.6)}
.eco-n{display:block;font-size:13px;color:#86868e;font-variant-numeric:tabular-nums}
.eco-k{display:block;margin:18px 0 6px;font-size:13px;letter-spacing:.04em;font-variant-caps:all-small-caps;color:#a0a0a8}
.eco b{display:block;font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.01em;color:#ededef;margin-bottom:8px;text-wrap:balance}
.eco p{margin:0;font-size:14px;line-height:1.55;color:#a0a0a8}
@media (max-width:1020px){.eco{grid-template-columns:repeat(2,minmax(0,1fr))}.eco::before,.eco::after,.eco li::before{display:none}.eco{padding-top:0}}
@media (max-width:760px){.eco{grid-template-columns:1fr}.tp-row{margin-bottom:18px}}
@media (prefers-reduced-motion:reduce){.eco::after{animation:none;display:none}}
/* ===== m2729 (design-guide audit, sections 14.1 / 16 / 19): three live fixes ===== */
/* F1 header pill: keep the section width (1132 max) with 24px gutters between 761 and 1180px; it used to run edge to edge */
@media (min-width:761px){html body .nav .wrap,html body .nav.scrolled .wrap{max-width:min(calc(var(--wrap) - 48px),calc(100% - 48px))!important;margin-left:auto!important;margin-right:auto!important}}
/* F2 diagonal "go" arrows: the menu rule hid every svg.mga from 761px up; only the menu's own arrows stay hidden on desktop */
body>:not(.nav) .mga{display:block;flex:0 0 auto}
/* F3 focus ring: colour-B token. Lit violet (#EAD7B0, 9.2:1 on #141416) on dark; deep violet (#7A5C28, 6.2:1 on white) on light surfaces */
:root{--ring:var(--lit)}
html body .nav.scrolled:not(.open),html body .dm,html body .ov .box{--ring:#7A5C28}
html body :is(.btn,.ulnk,.ulnk2,.lr,.login,.ft-cta,.burger,.fq button,.pct,.pg6c,.dm-fs,.dm-x,.dmw-go,.dmw-own,.tour-nx,.tour-b,.tour-x,.cf-yes,.cf-no,.stk a,.ov .x):focus-visible{outline:2px solid var(--ring)!important;outline-offset:3px!important}
html body :is(.btn,.ulnk2,.login,.burger,.dm-fs,.dm-x,.stk a):focus-visible{border-radius:999px}
html body .fq button:focus-visible{outline-offset:-2px!important;border-radius:6px}

/* SHEEN85285: FC hero stats get the same KPI light and sheen as FF (FF scopes it to [data-stats]) */
html body main .hero .hstats.fc-st::after{content:""!important;display:block!important;position:absolute;top:0;left:0;width:30%;height:1px;padding:0!important;border:0!important;pointer-events:none;
 background:linear-gradient(90deg,transparent,rgba(var(--lit-rgb),.55) 45%,rgba(var(--tint-m),.45) 60%,transparent);opacity:0;transform:translate3d(-20%,0,0);animation:k77sheen 9s cubic-bezier(.45,0,.55,1) 1.2s infinite}
@media (prefers-reduced-motion:reduce){html body main .hero .hstats.fc-st::after{animation:none!important;opacity:0!important}}

/* ===== JOURNEY85290: About "Our journey" timeline (champagne light only, no fills) ===== */
.jr-why{max-width:720px}.jr-why p{font-size:17px;line-height:1.65;color:rgba(255,255,255,.72);margin:0 0 16px}
.jr{list-style:none;margin:0;padding:0;position:relative;max-width:820px}
.jr::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:linear-gradient(180deg,rgba(var(--lit-rgb),.45),rgba(255,255,255,.08) 70%,transparent)}
.jr-i{position:relative;padding:0 0 40px 48px}
.jr-i::before{content:"";position:absolute;left:0;top:5px;width:15px;height:15px;border-radius:50%;background:#141416;border:1px solid rgba(var(--lit-rgb),.6);box-shadow:0 0 18px rgba(var(--tint-v),.35)}
.jr-d{display:block;font-size:13px;letter-spacing:.04em;color:var(--lit);margin-bottom:8px}
.jr-i b{display:block;font-size:20px;font-weight:500;line-height:1.3;color:#fff;margin-bottom:8px}
.jr-i p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.62);margin:0;max-width:640px}
.jr-i.jr-nx{padding-bottom:0}.jr-i.jr-nx::before{background:radial-gradient(circle,rgba(var(--lit-rgb),.9),rgba(var(--tint-v),.4) 60%,#141416)}
@media (max-width:760px){.jr-i{padding-left:36px;padding-bottom:32px}.jr-why p{font-size:16px}}

/* TP85290: Trustpilot iframe page is light-scheme; matching scheme stops the browser painting a white bar behind it on the dark hero */
html body .trustpilot-widget iframe{color-scheme:normal}

/* ===== LG85298: original logos on the timeline + brand animation strip ===== */
.jr-img{display:block;width:100%;max-width:360px;height:auto;margin-top:16px;border-radius:14px;border:1px solid rgba(255,255,255,.08)}
.ba-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ba-c{margin:0;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;transition:border-color .3s ease}
.ba-c:hover{border-color:rgba(255,255,255,.14)}
.ba-v{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#111}
.ba-c figcaption{padding:16px 20px 20px}.ba-c b{display:block;font-size:17px;font-weight:500;color:#fff}.ba-c small{display:block;font-size:13px;color:rgba(255,255,255,.55);margin-top:4px}
@media (max-width:760px){.ba-g{grid-template-columns:1fr}}

/* ===== QF85300 (Austin TG 85300) ===== */
/* inline Wistia hero video, same as live */
.hvw{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#000}
.hvw iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
/* no glow inside the KPI band: it sits just under the fold */
html body main .hero .hstats::before,html body main .hero .hstats.fc-st::before{display:none!important;background:none!important}
/* footer links stay on one line */
html body .ft-cta{white-space:nowrap}

/* ===== SJ85300: own Senja results wall, 4 columns (Austin TG 85300) ===== */
.sj{columns:4 240px;column-gap:16px}
.sj-c{break-inside:avoid;margin:0 0 16px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;transition:border-color .3s ease}
.sj-c:hover{border-color:rgba(255,255,255,.16)}
.sj-b{display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:zoom-in}
.sj-b img{display:block;width:100%;height:auto}
.sj-c figcaption{padding:12px 14px 14px;font-size:13px;line-height:1.4;color:rgba(255,255,255,.72)}
@media (max-width:1020px){.sj{columns:3}}@media (max-width:760px){.sj{columns:2;column-gap:12px}.sj-c{margin-bottom:12px}}
.vlb-img{max-width:min(900px,100%);max-height:88vh;border-radius:14px;display:block;transform:scale(.97);transition:transform .35s cubic-bezier(.22,1,.36,1)}.vlb.on .vlb-img{transform:none}
/* results videos: caption under the thumbnail, nothing over it */
.vgc .vf .vf-l{display:none}
.vfc{margin:0}.vfc figcaption{margin-top:12px;font-size:15px;font-weight:500;line-height:1.4;color:rgba(255,255,255,.86)}

/* ===== EC85300: footer arrow stays on the link's line (m2729 made .mga block outside the nav) ===== */
html body .ft-cta{display:inline-flex!important;align-items:center;white-space:nowrap}
html body .ft-cta .mga{display:inline-block!important}
/* ecosystem line: light travels the full line and fades out before the end, no hard cut */
html body .eco{overflow:hidden}
html body .eco::after{animation:ecoSh2 9s linear 1.2s infinite!important;will-change:transform,opacity}
@keyframes ecoSh2{0%{transform:translateX(-100%);opacity:0}8%{opacity:1}48%{opacity:1}62%{transform:translateX(333%);opacity:0}100%{transform:translateX(333%);opacity:0}}
@media (prefers-reduced-motion:reduce){html body .eco::after{animation:none!important;opacity:0}}

/* ===== CF85300: program inclusions from the join pages ===== */
.svc{margin:0 0 24px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:radial-gradient(70% 90% at 50% 0%,rgba(var(--tint-v),.10),transparent 70%),#18181c;padding:32px 32px 0;text-align:center}
.svc img{display:block;width:100%;max-width:900px;height:auto;margin:0 auto}
.svc figcaption{padding:16px 0 24px;font-size:13px;color:rgba(255,255,255,.55)}
.gc-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gc{border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;padding:28px;transition:border-color .3s ease}
.gc:hover{border-color:rgba(255,255,255,.14)}
.gc-k{display:block;font-size:13px;color:var(--lit);margin-bottom:8px}.gc>b{display:block;font-size:20px;font-weight:500;color:#fff;margin-bottom:16px}
.gc ul{list-style:none;margin:0;padding:0}.gc li{font-size:16px;line-height:1.5;color:rgba(255,255,255,.72);padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}
.st3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media (max-width:760px){.gc-g,.st3{grid-template-columns:1fr!important}.svc{padding:16px 16px 0}}

/* ===== ECOANIM85300: the ecosystem journey, animated (Austin TG 85300). Plays only on screen; static and fully lit under reduced motion ===== */
.eco-tr{position:relative;height:24px;margin:0 0 20px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.eco-tr::before{content:"";position:absolute;left:10%;right:10%;top:11px;height:1px;background:rgba(255,255,255,.12)}
.eco-fill{position:absolute;left:10%;top:11px;height:1px;width:0;max-width:80%;background:linear-gradient(90deg,rgba(var(--lit-rgb),.2),rgba(var(--lit-rgb),.95));box-shadow:0 0 10px rgba(var(--tint-v),.55)}
.eco-fill::after{content:"";position:absolute;right:-4px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--lit);box-shadow:0 0 14px 3px rgba(var(--tint-v),.7)}
.eco-dot{position:relative;justify-self:center;width:11px;height:11px;margin-top:6px;border-radius:50%;background:#141416;border:1px solid rgba(255,255,255,.28);z-index:1}
.eco-dot.d0{grid-column:1}.eco-dot.d1{grid-column:2}.eco-dot.d2{grid-column:3}.eco-dot.d3{grid-column:4}.eco-dot.d4{grid-column:5}
.eco-on .eco-fill{animation:ecoFill 10s cubic-bezier(.45,0,.55,1) infinite}
@keyframes ecoFill{0%{width:0;opacity:1}60%{width:80%;opacity:1}86%{width:80%;opacity:1}96%,100%{width:80%;opacity:0}}
@keyframes ecoD0{0%,6.0%{background:#141416;border-color:rgba(255,255,255,.28);box-shadow:none}9.0%,86%{background:var(--lit);border-color:var(--lit);box-shadow:0 0 14px rgba(var(--tint-v),.65)}96%,100%{background:#141416;border-color:rgba(255,255,255,.28);box-shadow:none}}
@keyframes ecoC0{0%,6.0%{border-color:rgba(255,255,255,.1)}9.0%,86%{border-color:rgba(var(--lit-rgb),.42)}96%,100%{border-color:rgba(255,255,255,.1)}}
.eco-on .eco-dot.d0{animation:ecoD0 10s linear infinite}html body .eco-on .eco>li:nth-child(1){animation:ecoC0 10s linear infinite}
@keyframes ecoD1{0%,18.0%{background:#141416;border-color:rgba(255,255,255,.28);box-shadow:none}21.0%,86%{background:var(--lit);border-color:var(--lit);box-shadow:0 0 14px rgba(var(--tint-v),.65)}96%,100%{background:#141416;border-color:rgba(255,255,255,.28);box-shadow:none}}
@keyframes ecoC1{0%,18.0%{border-color:rgba(255,255,255,.1)}21.0%,86%{border-color:rgba(var(--lit-rgb),.42)}96%,100%{border-color:rgba(255,255,255,.1)}}
.eco-on .eco-dot.d1{animation:ecoD1 10s linear infinite}html body .eco-on .eco>li:nth-child(2){animation:ecoC1 10s linear infinite}
@keyframes ecoD2{0%,30.0%{background:#141416;border-color:rgba(255,255,255,.28);box-shadow:none}33.0%,86%{background:var(--lit);border-color:var(--lit);box-shadow:0 0 14px rgba(var(--tint-v),.65)}96%,100%{background:#141416;border-color:rgba(255,255,255,.28);box-shadow:none}}
@keyframes ecoC2{0%,30.0%{border-color:rgba(255,255,255,.1)}33.0%,86%{border-color:rgba(var(--lit-rgb),.42)}96%,100%{border-color:rgba(255,255,255,.1)}}
.eco-on .eco-dot.d2{animation:ecoD2 10s linear infinite}html body .eco-on .eco>li:nth-child(3){animation:ecoC2 10s linear infinite}
@keyframes ecoD3{0%,42.0%{background:#141416;border-color:rgba(255,255,255,.28);box-shadow:none}45.0%,86%{background:var(--lit);border-color:var(--lit);box-shadow:0 0 14px rgba(var(--tint-v),.65)}96%,100%{background:#141416;border-color:rgba(255,255,255,.28);box-shadow:none}}
@keyframes ecoC3{0%,42.0%{border-color:rgba(255,255,255,.1)}45.0%,86%{border-color:rgba(var(--lit-rgb),.42)}96%,100%{border-color:rgba(255,255,255,.1)}}
.eco-on .eco-dot.d3{animation:ecoD3 10s linear infinite}html body .eco-on .eco>li:nth-child(4){animation:ecoC3 10s linear infinite}
@keyframes ecoD4{0%,54.0%{background:#141416;border-color:rgba(255,255,255,.28);box-shadow:none}57.0%,86%{background:var(--lit);border-color:var(--lit);box-shadow:0 0 14px rgba(var(--tint-v),.65)}96%,100%{background:#141416;border-color:rgba(255,255,255,.28);box-shadow:none}}
@keyframes ecoC4{0%,54.0%{border-color:rgba(255,255,255,.1)}57.0%,86%{border-color:rgba(var(--lit-rgb),.42)}96%,100%{border-color:rgba(255,255,255,.1)}}
.eco-on .eco-dot.d4{animation:ecoD4 10s linear infinite}html body .eco-on .eco>li:nth-child(5){animation:ecoC4 10s linear infinite}
.eco-wrap:not(.eco-on) .eco-fill,.eco-wrap:not(.eco-on) .eco-dot{animation-play-state:paused}
@media (max-width:1020px){.eco-tr{display:none}}
@media (prefers-reduced-motion:reduce){.eco-on .eco-fill,.eco-on .eco-dot,html body .eco-on .eco>li{animation:none!important}.eco-fill{width:80%}.eco-dot{background:var(--lit);border-color:var(--lit)}}

/* ===== PA85300: "The path" five phases animated like the ecosystem: light runs along the hairline, each phase lights as it arrives. Home + DWY. Only on screen; static under reduced motion ===== */
html body .s5:not(.st3){position:relative}
html body .s5:not(.st3)::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:linear-gradient(90deg,rgba(var(--lit-rgb),.15),rgba(var(--lit-rgb),.95));box-shadow:0 0 10px rgba(var(--tint-v),.55);pointer-events:none}
html body .s5.pa-on::after{animation:paFill 10s cubic-bezier(.45,0,.55,1) infinite}
@keyframes paFill{0%{width:0;opacity:1}60%{width:100%;opacity:1}86%{width:100%;opacity:1}96%,100%{width:100%;opacity:0}}
@keyframes paD0{0%,2.0%{background:#fafafa;box-shadow:none}5.0%,86%{background:var(--lit);box-shadow:0 0 12px rgba(var(--tint-v),.7)}96%,100%{background:#fafafa;box-shadow:none}}
@keyframes paN0{0%,2.0%{color:#86868e}5.0%,86%{color:var(--lit)}96%,100%{color:#86868e}}
html body .s5.pa-on>li:nth-child(1)::before{animation:paD0 10s linear infinite}html body .s5.pa-on>li:nth-child(1) .s5n{animation:paN0 10s linear infinite}
@keyframes paD1{0%,14.0%{background:#fafafa;box-shadow:none}17.0%,86%{background:var(--lit);box-shadow:0 0 12px rgba(var(--tint-v),.7)}96%,100%{background:#fafafa;box-shadow:none}}
@keyframes paN1{0%,14.0%{color:#86868e}17.0%,86%{color:var(--lit)}96%,100%{color:#86868e}}
html body .s5.pa-on>li:nth-child(2)::before{animation:paD1 10s linear infinite}html body .s5.pa-on>li:nth-child(2) .s5n{animation:paN1 10s linear infinite}
@keyframes paD2{0%,26.0%{background:#fafafa;box-shadow:none}29.0%,86%{background:var(--lit);box-shadow:0 0 12px rgba(var(--tint-v),.7)}96%,100%{background:#fafafa;box-shadow:none}}
@keyframes paN2{0%,26.0%{color:#86868e}29.0%,86%{color:var(--lit)}96%,100%{color:#86868e}}
html body .s5.pa-on>li:nth-child(3)::before{animation:paD2 10s linear infinite}html body .s5.pa-on>li:nth-child(3) .s5n{animation:paN2 10s linear infinite}
@keyframes paD3{0%,38.0%{background:#fafafa;box-shadow:none}41.0%,86%{background:var(--lit);box-shadow:0 0 12px rgba(var(--tint-v),.7)}96%,100%{background:#fafafa;box-shadow:none}}
@keyframes paN3{0%,38.0%{color:#86868e}41.0%,86%{color:var(--lit)}96%,100%{color:#86868e}}
html body .s5.pa-on>li:nth-child(4)::before{animation:paD3 10s linear infinite}html body .s5.pa-on>li:nth-child(4) .s5n{animation:paN3 10s linear infinite}
@keyframes paD4{0%,50.0%{background:#fafafa;box-shadow:none}53.0%,86%{background:var(--lit);box-shadow:0 0 12px rgba(var(--tint-v),.7)}96%,100%{background:#fafafa;box-shadow:none}}
@keyframes paN4{0%,50.0%{color:#86868e}53.0%,86%{color:var(--lit)}96%,100%{color:#86868e}}
html body .s5.pa-on>li:nth-child(5)::before{animation:paD4 10s linear infinite}html body .s5.pa-on>li:nth-child(5) .s5n{animation:paN4 10s linear infinite}
@media (max-width:760px){html body .s5:not(.st3)::after{display:none}}
@media (prefers-reduced-motion:reduce){html body .s5.pa-on::after,html body .s5.pa-on>li::before,html body .s5.pa-on .s5n{animation:none!important}}

/* ===== DP85309: diagrams inside home cards (Freddy .vz system) ===== */
html body .fd-c>.vzw{margin:-6px -6px 14px;min-height:170px;padding:12px}
html body .fd-c>.vzw .vz{max-width:340px}
html body .vz .bar[style*="transform-origin:0"]{transform:scaleX(0);transition:transform 2.4s var(--e2) .5s}
html body .in .vz .bar[style*="transform-origin:0"]{transform:scaleX(.62)}
@media (prefers-reduced-motion:reduce){html body .vz .pop{opacity:1!important;transform:none!important;transition:none!important}html body .vz .draw{stroke-dashoffset:0!important;transition:none!important}html body .vz .bar{transform:scaleX(.62)!important;transition:none!important}}

/* ===== JY85313: journey grouped by year, milestone tags ===== */
.jr-w{max-width:900px}
.jr-y{display:grid;grid-template-columns:140px 1fr;gap:32px;padding:32px 0;border-top:1px solid rgba(255,255,255,.08)}
.jr-y:first-child{border-top:0;padding-top:0}
.jr-yn{font-size:48px;line-height:1;font-weight:500;letter-spacing:-.02em;color:#fff;position:sticky;top:110px;align-self:start}
.jr-y:last-child .jr-yn{font-size:28px;color:var(--lit)}
.jr-y .jr{max-width:none}.jr-y .jr-i:last-child{padding-bottom:0}
.jr-d:empty{display:none}
.jr-t{display:inline-block;margin:0 0 10px;padding:4px 10px;border-radius:999px;border:1px solid rgba(var(--lit-rgb),.35);font-size:13px;line-height:1.2;color:var(--lit)}
@media (max-width:760px){.jr-y{grid-template-columns:1fr;gap:16px;padding:24px 0}.jr-yn{position:static;font-size:28px}}

/* ===== PH85314: Inside Freedom Club photo gallery (Austin's photos) ===== */
.gal{columns:3 280px;column-gap:16px}
.gal-c{break-inside:avoid;margin:0 0 16px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;transition:border-color .3s ease}
.gal-c:hover{border-color:rgba(255,255,255,.16)}
.gal-c img{display:block;width:100%;height:auto;transition:transform .6s var(--e2,ease)}
.gal-c:hover img{transform:scale(1.02)}
.gal-c figcaption{padding:12px 14px 14px;font-size:13px;color:rgba(255,255,255,.65)}
html body .jr-img{max-width:420px}
@media (max-width:760px){.gal{columns:2;column-gap:12px}.gal-c{margin-bottom:12px}}
@media (prefers-reduced-motion:reduce){.gal-c img{transition:none}}

/* ===== HF85327 (Austin voice 18:24, m85327) ===== */
/* #1 Trustpilot: the TrustBox page is light-scheme; a dark page scheme made Chrome paint an opaque white box behind the dark widget */
html body .trustpilot-widget iframe{color-scheme:light!important}
html body .tp-row{height:24px;max-width:460px}
/* #2 logo size: reverted to the pre-HF85327 24px / 22px by S85355 #20 (Austin: "it was actually better when it was a little bit smaller") */
/* #3 hero subheadline on two lines */
html body main .hero.hv-b .hb-copy .lead{max-width:640px!important;text-wrap:balance}
/* #16 hero video: champagne-white edge all the way round (same glow as the live site), sharp poster until the player paints */
html body .hvw{border:0!important;border-radius:20px;box-shadow:0 0 18px -4px rgba(255,255,255,.5);isolation:isolate}
html body .hvw::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,255,255,.42);pointer-events:none;z-index:3}
.hvw-p{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;pointer-events:none;transition:opacity .7s ease}
.hvw.ready .hvw-p{opacity:0}
/* #6 ecosystem: the old hairline, shimmer and per-card dots are gone; one track, light starts under the first dot and stops under the last */
html body .eco::before,html body .eco::after,html body .eco li::before{display:none!important;content:none!important;animation:none!important}
html body .eco{padding-top:0;overflow:visible}
html body .eco-tr::before{left:var(--x0,10%)!important;right:auto!important;width:var(--len,80%)}
html body .eco-tr .eco-fill{left:var(--x0,10%)!important;width:min(var(--w,0px),var(--len,0px))!important;max-width:none!important;opacity:var(--a,1);animation:none!important}
html body .eco-tr .eco-fill::after{right:-4px}
html body .eco-tr .eco-dot{animation:none!important;transition:background-color .25s ease,border-color .25s ease,box-shadow .35s ease}
html body .eco-tr .eco-dot.lit{background:var(--lit);border-color:var(--lit);box-shadow:0 0 14px rgba(var(--tint-v),.65)}
html body .eco-wrap .eco>li,html body .trk-on .eco>li{animation:none!important;transition:border-color .35s ease}
html body .eco>li.lit{border-color:rgba(var(--lit-rgb),.42)}
/* #7 the path: same engine, exact sync (old CSS timeline off) */
html body ol.s5.trk{position:relative}
html body ol.s5.trk::after{display:none!important;animation:none!important}
html body ol.s5.trk>li::before{display:none!important}
html body ol.s5.trk>li{animation:none!important}
.s5d{position:absolute;left:0;top:-4px;width:7px;height:7px;border-radius:50%;background:#fafafa;transition:background-color .25s ease,box-shadow .35s ease}
html body ol.trk>li.lit .s5d{background:var(--lit);box-shadow:0 0 12px rgba(var(--tint-v),.7)}
html body ol.trk>li .s5n{transition:color .25s ease}html body ol.trk>li.lit .s5n{color:var(--lit)!important}
.trk-line{position:absolute;top:-1px;left:var(--x0,0);height:1px;width:min(var(--w,0px),var(--len,0px));opacity:var(--a,1);background:linear-gradient(90deg,rgba(var(--lit-rgb),.15),rgba(var(--lit-rgb),.95));box-shadow:0 0 10px rgba(var(--tint-v),.55);pointer-events:none}
.trk-line::after{content:"";position:absolute;right:-3px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--lit);box-shadow:0 0 14px 3px rgba(var(--tint-v),.7)}
html body .trk-static .trk-line{display:none}
/* #11 menu cards: real images edge to edge, no light strip under the image */
html body .nav .mgimg,html body .nav.scrolled .mgimg{background:#1a1a1e!important;border-bottom:0!important;height:128px!important}
html body .nav .mgimg img{object-position:50% 40%!important}
html body .nav .mgc{overflow:hidden}
/* #8 see it first: the live site's images */
.fd-im{display:block;margin:-6px -6px 18px;border-radius:16px;overflow:hidden;aspect-ratio:776/440;background:#1a1a1e}
.fd-im img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--e2,ease)}
.fd-c:hover .fd-im img{transform:scale(1.03)}
/* #17 who we are */
.wwa{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center}
.wwa-ph{margin:0;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.wwa-ph img{display:block;width:100%;height:auto}
.wwa-ph figcaption{padding:12px 16px;font-size:13px;color:rgba(255,255,255,.6);background:#18181b}
.wwa-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.wwa-i{padding:24px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(90% 80% at 0% 0%,rgba(var(--tint-v),.07),transparent 70%),#1a1a1d}
.wwa-i .gc-k{margin-bottom:10px}.wwa-i b{display:block;font-size:18px;font-weight:500;line-height:1.35;color:#fff;margin-bottom:8px}.wwa-i p{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.66)}
.wwa-tp{margin-top:20px;height:24px;max-width:340px}
@media (max-width:1020px){.wwa{grid-template-columns:1fr;gap:32px}.wwa-g{grid-template-columns:1fr}}
/* #22 guarantee block on DWY + BFY */
.gu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.gu-h{grid-column:1/-1;padding:32px;border-radius:22px;border:1px solid rgba(var(--lit-rgb),.32);background:radial-gradient(70% 90% at 0% 0%,rgba(var(--tint-v),.12),transparent 70%),#1a1a1d}
.gu-h b{display:block;font-size:24px;line-height:1.3;font-weight:500;color:#fff;margin:0 0 10px;text-wrap:balance}.gu-h p{margin:0;font-size:16px;line-height:1.6;color:rgba(255,255,255,.72);max-width:760px}
.gu-c{padding:28px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e}
.gu-c ul{list-style:none;margin:0;padding:0}.gu-c li{position:relative;padding:11px 0 11px 26px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.74);border-top:1px solid rgba(255,255,255,.06)}
.gu-c li::before{content:"";position:absolute;left:2px;top:18px;width:8px;height:8px;border-radius:50%;border:1px solid var(--lit)}
.gu-ps{grid-column:1/-1;font-size:14px;color:rgba(255,255,255,.55);margin:4px 0 0}
@media (max-width:760px){.gu{grid-template-columns:1fr}.gu-h{padding:24px}.gu-h b{font-size:20px}}
/* #25 walkthrough: video sits right under the Apply button, sharp poster while it loads */
html body .flw:has(.wt-v)>.sec:first-child{padding-top:8px!important}
.wt-v{position:relative;padding-top:56.25%;border-radius:20px;overflow:hidden;box-shadow:0 0 18px -4px rgba(255,255,255,.45);background:#000}
.wt-v iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.wt-v::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,255,255,.4);pointer-events:none;z-index:3}
/* #10 background: the hero's champagne carries down the page as soft light, no hairline wave canvas */
html,html body{background-color:#121214!important}
html body canvas.ffbg{display:none!important}
html body main .flw{background:radial-gradient(60% 900px at 0% 0%,rgba(var(--tint-v),.07),transparent 70%)}
html body main .hero,html body main .phero{background:radial-gradient(45% 75% at 0% 0%,rgba(var(--tint-v),.16),transparent 72%),radial-gradient(50% 85% at 100% 0%,rgba(var(--tint-m),.11),transparent 70%),linear-gradient(180deg,#111113 0%,#121214 100%)!important}
@media (prefers-reduced-motion:reduce){.hvw-p,.s5d,.eco-dot{transition:none!important}}
.wt-v.ready .hvw-p{opacity:0}
html body ol.s5.trk>li.trk-li{position:absolute;inset:0;padding:0!important;margin:0;border:0!important;pointer-events:none;list-style:none}
html body ol.s5.trk>li.trk-li::before{display:none!important}
/* HF85327b: beat the ID-weighted global caps (p 44ch, box-shadow none) for the hero lead and video glow */
html body main .hero.hv-b .hb-copy p.lead:not(#z):not(#y):not(#x):not(#w){max-width:640px!important}
html body main .hvw:not(#z):not(#y),html body main .wt-v:not(#z):not(#y){box-shadow:0 0 18px -4px rgba(255,255,255,.5)!important}
html body main .gu-h p:not(#z):not(#y):not(#x):not(#w){max-width:760px!important}
/* HF85327c: no seam under the hero (glow fades in below the stats), TP micro widget aligned to the copy */
html body main .flw{background:radial-gradient(60% 900px at 0% 520px,rgba(var(--tint-v),.06),transparent 70%)!important}
html body .wwa-tp{max-width:232px;margin-left:-6px}
html body main .flw>.sec:nth-child(4n+2){background:radial-gradient(38% 42% at 100% 50%,rgba(var(--tint-m),.06),transparent 100%)!important}
html body main .flw>.sec:nth-child(4n){background:radial-gradient(38% 42% at 0% 50%,rgba(var(--tint-v),.07),transparent 100%)!important}
/* HF85327e: mobile menu featured card was a light card with light text; dark card like the rest of the sheet */
@media (max-width:1020px){html body .nav .mgf.mgf-s:not(#z):not(#y){background:radial-gradient(90% 80% at 100% 0%,rgba(var(--tint-v),.16),transparent 70%),#1c1c1f!important;border:1px solid rgba(255,255,255,.1)!important;color:#fafafa}
html body .nav .mgf.mgf-s:not(#z):not(#y) .mgf-c{background:#fafafa!important;color:#141416!important}}
/* HF85327f #25: walkthrough video sits close under the Apply button */
html body main .phero:has(+ .flw .wt-v):not(#z){padding-bottom:40px!important}
html body main:has(.wt-v) .phero:not(#z){padding-bottom:40px!important}
/* MO85327 flow tracks on program pages (Q-3BDFDF35) */
.flt{padding:44px 40px 36px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(60% 120% at 0% 0%,rgba(var(--tint-v),.09),transparent 70%),radial-gradient(50% 120% at 100% 100%,rgba(var(--tint-m),.06),transparent 70%),#18181b;margin-bottom:8px}
html body .flt ol.flt-l{grid-template-columns:repeat(var(--n),minmax(0,1fr))!important;gap:20px!important;margin:0}
html body .flt ol.flt-l>li:not(.trk-li){padding-top:26px;border-top:1px solid rgba(255,255,255,.12)}
html body .flt ol.flt-l>li b{display:block;font-size:16px;font-weight:500;color:#fff;margin:10px 0 6px;transition:color .3s ease}
html body .flt ol.flt-l>li p{font-size:14px;line-height:1.5;color:rgba(255,255,255,.58);margin:0}
html body .flt ol.flt-l>li.lit b{color:#fff}
html body .flt ol.flt-l>li:not(.lit) b{color:rgba(255,255,255,.62)}
@media (max-width:1020px){html body .flt ol.flt-l{grid-template-columns:1fr!important;gap:0!important}.flt{padding:28px 22px}html body .flt ol.flt-l>li:not(.trk-li){padding:18px 0 16px 22px}html body .flt ol.flt-l .s5d{top:24px}}
html body ol.s5.s8{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin-top:40px!important;row-gap:36px!important}
@media (max-width:1020px){html body ol.s5.s8{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){html body ol.s5.s8{grid-template-columns:1fr!important}}
/* PV85327 program heroes: real visual on the right, FF-style */
.ph-img{margin:0;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 18px -4px rgba(255,255,255,.35),0 40px 80px -40px rgba(0,0,0,.8);background:#1a1a1e}
.ph-img img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
/* CP85327 path finder */
.pick{margin-top:16px;padding:28px 32px;border-radius:22px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(70% 120% at 100% 0%,rgba(var(--tint-v),.1),transparent 70%),#18181b;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px 40px;align-items:center}
.pick-h b{display:block;font-size:22px;font-weight:500;color:#fff;margin-top:8px}
.pick-q>span{display:block;font-size:15px;color:rgba(255,255,255,.7);margin-bottom:12px}
.pick-o{display:flex;flex-wrap:wrap;gap:10px}
.pick-o button{font:inherit;font-size:15px;padding:12px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.pick-o button:hover{border-color:rgba(var(--lit-rgb),.7);background:rgba(255,255,255,.04)}
.pick-r b{display:block;font-size:20px;font-weight:500;color:#fff}.pick-r p{margin:6px 0 14px;color:rgba(255,255,255,.66);font-size:15px}
.pick-x{grid-column:2;justify-self:start;font:inherit;font-size:13px;color:rgba(255,255,255,.55);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
@media (max-width:760px){.pick{grid-template-columns:1fr;padding:24px}.pick-x{grid-column:1}.pick-o button{width:100%;text-align:left}}
/* HF85327n: two-path cards stack on phones (inline 1fr 1fr squeezed them side by side at 390) */
@media (max-width:760px){html body .fd-g[style]{grid-template-columns:1fr!important}}

/* ===== ROAS85333: tool calculators ===== */
.calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;align-items:start}
.calc-in{display:grid;gap:12px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;padding:28px}
.cf{display:grid;gap:6px}.cf>span:first-child{font-size:15px;font-weight:500;color:#fff}.cf small{font-size:13px;color:rgba(255,255,255,.5)}
.cf-w{display:flex;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#141416;transition:border-color .2s ease}
.cf-w:focus-within{border-color:rgba(var(--lit-rgb),.7)}
.cf-w i{font-style:normal;padding:0 0 0 14px;color:rgba(255,255,255,.5);font-size:16px;min-width:28px}
.cf-w input,.cf-w select,.cf-w textarea{flex:1;min-width:0;background:none;border:0;outline:0;color:#fff;font:inherit;font-size:16px;padding:13px 14px 13px 6px}
.calc-out{position:sticky;top:110px;border-radius:22px;border:1px solid rgba(var(--lit-rgb),.25);background:radial-gradient(80% 70% at 50% 0%,rgba(var(--tint-v),.14),transparent 70%),#1a1a1e;padding:28px}
.co-main span,.co-g span{display:block;font-size:13px;color:rgba(255,255,255,.6)}
.co-main b{display:block;font-size:72px;line-height:1.05;font-weight:500;letter-spacing:-.03em;color:#fff;margin:6px 0}
.co-main small{font-size:13px;color:rgba(255,255,255,.5)}
.co-g{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}
.co-g b{display:block;font-size:20px;font-weight:500;color:#fff;margin-top:4px}
.co-bad b#o-roas{color:#f3a6a6}
.osp{display:flex;gap:24px;align-items:center;justify-content:space-between;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;padding:32px}
.osp h3{font-size:28px;font-weight:500;margin:8px 0}.osp p{color:rgba(255,255,255,.65);max-width:620px;margin:0}
@media (max-width:900px){.calc{grid-template-columns:1fr}.calc-out{position:static}.osp{flex-direction:column;align-items:flex-start}.co-main b{font-size:48px}}

/* ===== DL85333: Dream Life calculator ===== */
.dl-up{display:grid;gap:16px;max-width:720px;margin:0 auto}
.dl-drop{position:relative;display:grid;justify-items:center;gap:8px;text-align:center;padding:40px 24px;border-radius:22px;border:1px dashed rgba(var(--lit-rgb),.45);background:radial-gradient(70% 80% at 50% 0%,rgba(var(--tint-v),.10),transparent 70%),#1a1a1e;cursor:pointer;transition:border-color .25s ease,background-color .25s ease}
.dl-drop:hover,.dl-drop.over{border-color:rgba(var(--lit-rgb),.9)}
.dl-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid rgba(var(--lit-rgb),.4);color:var(--lit)}
.dl-drop b{font-size:20px;font-weight:500;color:#fff}.dl-drop small{font-size:13px;color:rgba(255,255,255,.55)}
.dl-pv{max-width:100%;max-height:280px;border-radius:14px;margin-top:12px}
.dl-go{justify-self:start}.dl-go[disabled]{opacity:.45;cursor:not-allowed}
.dl-go.busy{pointer-events:none;opacity:.7}
.dl-err{color:#f3a6a6;font-size:15px;margin:0}
.dl-out{margin-top:40px;display:grid;gap:24px}
.dl-sum{font-size:17px;line-height:1.65;color:rgba(255,255,255,.78);max-width:760px}
.dl-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dl-it{border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:4px 16px}
.dl-it b{font-size:17px;font-weight:500;color:#fff}.dl-it span{font-size:17px;color:var(--lit);white-space:nowrap}.dl-it small{grid-column:1/-1;font-size:13px;color:rgba(255,255,255,.55)}
.dl-tot{border-radius:22px;border:1px solid rgba(var(--lit-rgb),.25);background:radial-gradient(80% 70% at 50% 0%,rgba(var(--tint-v),.14),transparent 70%),#1a1a1e;padding:28px;text-align:center}
.dl-tot span,.dl-tot small{display:block;font-size:13px;color:rgba(255,255,255,.6)}.dl-tot b{display:block;font-size:72px;line-height:1.05;font-weight:500;letter-spacing:-.03em;color:#fff;margin:8px 0}
.dl-adj{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dl-g{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0;border-top:0;padding-top:0}
.dl-g>div{border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;padding:16px 18px}
.dl-note{font-size:13px;color:rgba(255,255,255,.5);margin:0}
@media (max-width:900px){.dl-items{grid-template-columns:1fr}.dl-adj,.dl-g{grid-template-columns:1fr 1fr}.dl-tot b{font-size:48px}}

/* ===== CHAT85333: site assistant ===== */
.lnk{background:none;border:0;padding:0;font:inherit;color:var(--lit);text-decoration:underline;cursor:pointer}
.cht-b{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;gap:10px;height:52px;padding:0 20px 0 16px;border-radius:999px;border:1px solid rgba(var(--lit-rgb),.45);background:#1a1a1e;color:#fff;font:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .25s ease,opacity .3s ease}
.cht-b:hover{transform:translateY(-2px);border-color:var(--lit)}.cht-b svg{color:var(--lit)}
.cht-b.hide{opacity:0;pointer-events:none;transform:translateY(8px)}
.cht{position:fixed;right:20px;bottom:20px;z-index:95;width:min(380px,calc(100vw - 24px));height:min(560px,calc(100vh - 110px));display:flex;flex-direction:column;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:#141416;overflow:hidden;opacity:0;transform:translateY(16px) scale(.98);pointer-events:none;transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.cht.on{opacity:1;transform:none;pointer-events:auto}
.cht-h{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(90% 140% at 0% 0%,rgba(var(--tint-v),.16),transparent 70%)}
.cht-h b{display:block;font-size:16px;font-weight:500;color:#fff}.cht-h small{font-size:13px;color:rgba(255,255,255,.55)}
.cht-x{background:none;border:0;color:rgba(255,255,255,.7);cursor:pointer;padding:6px;border-radius:8px}.cht-x:hover{color:#fff}
.cht-l{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.cht-m{max-width:86%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.cht-m.a{align-self:flex-start;background:#1f1f24;color:rgba(255,255,255,.88);border-bottom-left-radius:6px}
.cht-m.u{align-self:flex-end;background:rgba(var(--lit-rgb),.16);color:#fff;border:1px solid rgba(var(--lit-rgb),.3);border-bottom-right-radius:6px}
.cht-m a{color:var(--lit)}
.cht-m.t{color:rgba(255,255,255,.5)}.cht-m.t i{display:inline-block;width:6px;height:6px;margin:0 2px;border-radius:50%;background:currentColor;animation:chtDot 1.2s infinite}.cht-m.t i:nth-child(2){animation-delay:.2s}.cht-m.t i:nth-child(3){animation-delay:.4s}
@keyframes chtDot{0%,80%,100%{opacity:.25}40%{opacity:1}}
.cht-q{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}.cht-q button{border:1px solid rgba(255,255,255,.14);background:none;color:rgba(255,255,255,.8);border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;cursor:pointer}.cht-q button:hover{border-color:var(--lit);color:#fff}
.cht-f{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.08)}
.cht-f textarea{flex:1;resize:none;min-height:44px;max-height:120px;background:#1a1a1e;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font:inherit;font-size:16px;padding:11px 12px;outline:0}
.cht-f textarea:focus{border-color:rgba(var(--lit-rgb),.7)}
.cht-f button{width:44px;height:44px;border-radius:12px;border:0;background:var(--lit);color:#141416;cursor:pointer;display:grid;place-items:center}.cht-f button[disabled]{opacity:.5}
@media (max-width:600px){.cht{right:12px;bottom:12px;height:calc(100dvh - 90px)}.cht-b{right:14px;bottom:14px;height:48px}.cht-b span{display:none}.cht-b{padding:0 14px}}
@media (prefers-reduced-motion:reduce){.cht,.cht-b{transition:none}.cht-m.t i{animation:none}}

/* ===== SM85333: opt-in form (summit and future opt-ins) ===== */
.opt-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.opt{display:grid;gap:14px;border-radius:22px;border:1px solid rgba(var(--lit-rgb),.25);background:radial-gradient(80% 70% at 50% 0%,rgba(var(--tint-v),.14),transparent 70%),#1a1a1e;padding:32px}
.opt-h b{display:block;font-size:28px;font-weight:500;color:#fff;margin:6px 0 8px}.opt-h p{margin:0;color:rgba(255,255,255,.65)}
.opt .btn{justify-self:stretch;justify-content:center}.opt .btn.busy{opacity:.7;pointer-events:none}
.opt-m{margin:0;font-size:15px;color:var(--lit)}.opt-m.err{color:#f3a6a6}.opt-s{font-size:13px;color:rgba(255,255,255,.45)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.opt-g .inc{grid-template-columns:1fr!important}
@media (max-width:900px){.opt-g{grid-template-columns:1fr}}
/* DL85333b: results stay hidden until a vision board is read */
.dl-out[hidden],.dl-pv[hidden],.dl-err[hidden],.opt-m[hidden]{display:none!important}

/* ===== TL85338: product idea checker + brand name finder ===== */
.tl-f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:820px;margin:0 auto;border-radius:22px;border:1px solid rgba(var(--lit-rgb),.25);background:radial-gradient(80% 70% at 50% 0%,rgba(var(--tint-v),.14),transparent 70%),#1a1a1e;padding:32px}
.tl-w{grid-column:1/-1}.tl-go{justify-self:start;grid-column:1/-1}.tl-go.busy{pointer-events:none;opacity:.7}
.tl-err{grid-column:1/-1;color:#f3a6a6;font-size:15px;margin:0}.tl-err[hidden],.tl-out[hidden],.pic-b[hidden]{display:none!important}
.tl-out{margin-top:40px;display:grid;gap:24px}
.pic-top{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;padding:28px}
.pic-top h3{font-size:28px;line-height:1.25;font-weight:500;color:#fff;margin:8px 0}.pic-top p{margin:0;color:rgba(255,255,255,.65)}
.pic-ring{position:relative;width:148px;height:148px;display:grid;place-items:center;align-content:center;text-align:center}
.pic-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.pic-ring circle{fill:none;stroke:rgba(255,255,255,.08);stroke-width:8}
.pic-ring .pic-arc{stroke:var(--lit);stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:326.7;transition:stroke-dashoffset 1s ease}
.pic-ring.hi .pic-arc{stroke:rgb(var(--tint-m))}.pic-ring.lo .pic-arc{stroke:#f3a6a6}
.pic-ring b{position:relative;font-size:48px;line-height:1;font-weight:500;color:#fff}.pic-ring small{position:relative;font-size:13px;color:rgba(255,255,255,.55)}
.pic-sc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pic-i{border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;padding:16px 18px;display:grid;gap:8px}
.pic-i>div{display:flex;justify-content:space-between;gap:12px}.pic-i b{font-size:16px;font-weight:500;color:#fff}.pic-i span{font-size:16px;color:var(--lit)}
.pic-i i{display:block;height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}.pic-i u{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--lit),rgb(var(--tint-m)))}
.pic-i small{font-size:13px;color:rgba(255,255,255,.55)}
.pic-e{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;border-top:0;padding-top:0}
.pic-e>div{border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;padding:16px 18px}.pic-e small{display:block;font-size:13px;color:rgba(255,255,255,.5);margin-top:4px}
.pic-b{margin:0;font-size:16px;line-height:1.6;color:rgba(255,255,255,.75);border-left:2px solid var(--lit);padding:4px 0 4px 16px}.pic-b b{color:#fff;font-weight:500}
.pic-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pic-l{border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;padding:20px}.pic-l h4{font-size:17px;font-weight:500;color:#fff;margin:0 0 8px}
.pic-l p{margin:8px 0 0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.7)}
.bng-v{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.bng-v legend{font-size:15px;font-weight:500;color:#fff;margin-bottom:8px;padding:0}
.bng-v label{cursor:pointer}.bng-v input{position:absolute;opacity:0;pointer-events:none}
.bng-v span{display:inline-block;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 16px;font-size:15px;color:rgba(255,255,255,.8);transition:border-color .2s,color .2s}
.bng-v input:checked+span{border-color:var(--lit);color:#fff;background:rgba(var(--lit-rgb),.12)}.bng-v input:focus-visible+span{outline:2px solid var(--lit);outline-offset:2px}
.bng-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bng-c{border-radius:18px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(90% 90% at 0% 0%,rgba(var(--tint-v),.08),transparent 70%),#1a1a1e;padding:22px;display:grid;gap:8px;align-content:start}
.bng-c b{font-size:28px;line-height:1.2;font-weight:500;color:#fff;letter-spacing:-.01em}.bng-c p{margin:0;font-size:15px;color:rgba(255,255,255,.65)}
.bng-c>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.bng-d{font-size:13px;border-radius:8px;padding:6px 10px;border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.75);text-decoration:none}
.bng-d em{font-style:normal;color:rgba(255,255,255,.5);margin-left:4px}
.bng-d.ok{border-color:rgba(var(--tint-m),.5);color:#fff}.bng-d.ok em{color:rgb(var(--tint-m))}.bng-d.ok:hover{border-color:rgb(var(--tint-m))}
.bng-d.no{opacity:.55;text-decoration:line-through}
@media (max-width:900px){.tl-f{grid-template-columns:1fr;padding:24px}.pic-top{grid-template-columns:1fr;justify-items:center;text-align:center}.pic-sc,.pic-two,.bng-g{grid-template-columns:1fr}.pic-e{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.pic-ring .pic-arc{transition:none}}
/* TL85338b: verdict is a sentence, not a headline */
.pic-top h3{font-size:20px;line-height:1.45}
@media (max-width:900px){.pic-top h3{font-size:17px}}

/* ===== S85355 (Austin voice 22:22, m85355) ===== */
/* #36 smaller gap from the subheadline to the content, every inner page incl. FAQ and tools */
html body main>.phero:not(#z){padding-bottom:56px!important}
html body main>.phero+.flw>.sec:first-child:not(#z){padding-top:32px!important}
@media (max-width:760px){html body main>.phero:not(#z){padding-bottom:36px!important}html body main>.phero+.flw>.sec:first-child:not(#z){padding-top:20px!important}}
/* #31 fields: real inner padding, no spinner arrows anywhere, forms flush left with the headline */
input[type=number]{-moz-appearance:textfield;appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
html body .cf-w input,html body .cf-w textarea,html body .cf-w select{padding:14px 18px!important;text-align:left}
html body .cf-w i+input{padding-left:4px!important}
html body .cf-w i{padding-left:18px;min-width:0;margin-right:2px}
html body .tl-f:not(#z){margin:0;max-width:820px;padding:0;border:0;background:none;border-radius:0}
html body .calc-in:not(#z){padding:0;border:0;background:none;border-radius:0;gap:18px}
html body .dl-up:not(#z){margin:0}
.cf-x{border-top:1px solid rgba(255,255,255,.08);padding-top:14px}
.cf-x summary{cursor:pointer;font-size:15px;color:var(--lit);list-style:none;display:inline-flex;align-items:center;gap:8px}
.cf-x summary::-webkit-details-marker{display:none}.cf-x summary::before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid rgba(var(--lit-rgb),.5);font-size:14px;line-height:1}
.cf-x[open] summary::before{content:"\2212"}
.cf-xg{display:grid;gap:18px;margin-top:16px}
/* #32 ROAS: FreedomOS block with a screenshot, button under the text */
html body .osp.osp-s{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center}
.osp-s .btn{margin-top:22px}
.osp-im{margin:0;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.osp-im img{display:block;width:100%;height:auto}
@media (max-width:900px){html body .osp.osp-s{grid-template-columns:1fr;gap:24px}}
/* #33 Dream Life: loading state while the board is read, then the income target fades in, then the ecommerce goals */
.dl-load{margin-top:32px;display:grid;justify-items:start;gap:14px;padding:28px;border-radius:22px;border:1px solid rgba(var(--lit-rgb),.25);background:radial-gradient(80% 70% at 50% 0%,rgba(var(--tint-v),.12),transparent 70%),#1a1a1e;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.dl-load.on{opacity:1;transform:none}.dl-load[hidden]{display:none!important}
.dl-lt{font-size:20px;font-weight:500;color:#fff}
.dl-spin{display:flex;gap:6px}.dl-spin i{width:9px;height:9px;border-radius:50%;background:var(--lit);animation:dlP 1.1s ease-in-out infinite}.dl-spin i:nth-child(2){animation-delay:.15s}.dl-spin i:nth-child(3){animation-delay:.3s}
@keyframes dlP{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
.dl-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dl-steps li{font-size:15px;color:rgba(255,255,255,.4);padding-left:26px;position:relative;transition:color .3s ease}
.dl-steps li::before{content:"";position:absolute;left:0;top:5px;width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}
.dl-steps li.on{color:#fff}.dl-steps li.on::before{border-color:var(--lit);box-shadow:0 0 10px rgba(var(--tint-v),.6)}
.dl-steps li.done{color:rgba(255,255,255,.7)}.dl-steps li.done::before{background:var(--lit);border-color:var(--lit)}
.dl-out>*{opacity:0;transform:translateY(14px)}
.dl-out.rv-on>*{opacity:1;transform:none;transition:opacity .7s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.dl-out.rv-on>:nth-child(2){transition-delay:.55s}.dl-out.rv-on>:nth-child(3){transition-delay:.8s}.dl-out.rv-on>:nth-child(4){transition-delay:1.05s}.dl-out.rv-on>:nth-child(5){transition-delay:1.25s}.dl-out.rv-on>:nth-child(n+6){transition-delay:1.4s}
@media (prefers-reduced-motion:reduce){.dl-out>*{opacity:1;transform:none}.dl-spin i{animation:none}}
/* #14 chat: replies fade in and type out, no jarring pop */
.cht-m.in{animation:chtIn .45s cubic-bezier(.22,1,.36,1) both}
@keyframes chtIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cht-m.u{animation:chtIn .3s ease both}
@media (prefers-reduced-motion:reduce){.cht-m.in,.cht-m.u{animation:none}}
/* #15 page changes: the page fades out, the next one fades in (every link, back to home too) */
main{transition:opacity .34s ease,transform .42s cubic-bezier(.22,1,.36,1)}
html.fc-leave main{opacity:0;transform:translateY(-4px);transition:opacity .24s ease,transform .24s ease}
html.fc-pre main{opacity:0;transform:translateY(8px);transition:none}
@media (prefers-reduced-motion:reduce){main,html.fc-leave main,html.fc-pre main{transition:none;opacity:1;transform:none}}
/* Coming soon buttons (FreedomOS) */
.btn.cs{cursor:default;pointer-events:none}.btn.cs .cs-d{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.5}
html body .calc .calc-in:not(#z):not(#y){border:0!important;background:none!important;padding:0!important;box-shadow:none!important}
html body .calc-in .cf+.cf:not(#z){margin-top:0;padding-top:0;border-top:0}
html body .calc-in .cf-xg .cf+.cf:not(#z){margin-top:0;padding-top:0;border-top:0}
/* ===== S85355 #10-13 FreedomOS opt-in page ===== */
.fos-h .kick{justify-content:center;margin-bottom:4px}
.fos-v{display:block}.fos-v img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;filter:saturate(.9)}
.fos-vl{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;font-size:15px;color:#fff;z-index:3;background:radial-gradient(60% 60% at 50% 50%,rgba(0,0,0,.25),rgba(0,0,0,.55))}
.fos-vl i{width:68px;height:68px;border-radius:50%;background:#fff;color:#141416;display:grid;place-items:center;box-shadow:0 10px 40px rgba(0,0,0,.45)}
.fos-h .hero-in>.ctas{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}
.fos-pb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.fos-pt{font-size:17px;line-height:1.65;color:rgba(255,255,255,.78);max-width:56ch;margin:0}
.fos-rs{display:grid;gap:72px}
.fos-r{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center}
.fos-rr .fos-rc{order:2}
.fos-rc h3{font-size:28px;line-height:1.2;font-weight:500;color:#fff;margin:10px 0 12px;letter-spacing:-.01em}.fos-rc p{color:rgba(255,255,255,.68);margin:0 0 18px;font-size:16px;line-height:1.65}
.fos-ri{margin:0;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 80px -40px rgba(0,0,0,.95),0 0 0 6px rgba(255,255,255,.02)}
.fos-ri img{display:block;width:100%;height:auto}
html body .fos-st{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.fos-pr{display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:22px;border:1px solid rgba(var(--lit-rgb),.25);background:radial-gradient(80% 90% at 0% 0%,rgba(var(--tint-v),.14),transparent 70%),#1a1a1e;padding:36px}
.fos-pr h3{font-size:28px;font-weight:500;color:#fff;margin:8px 0}.fos-pr p{margin:0;color:rgba(255,255,255,.65);max-width:600px}
.btn.cs{background:rgba(255,255,255,.92)!important;color:#141416!important}
@media (max-width:1020px){.fos-pb,.fos-r{grid-template-columns:1fr;gap:28px}.fos-rr .fos-rc{order:0}html body .fos-st{grid-template-columns:1fr 1fr!important}.fos-rs{gap:56px}}
@media (max-width:760px){html body .fos-st{grid-template-columns:1fr!important}.fos-pr{flex-direction:column;align-items:flex-start;padding:26px}.fos-rc h3{font-size:24px}}
html body .calc .calc-in:not(#z):not(#y){border:0!important;background:none!important;padding:0!important}
html body .btn.cs:not(#z){display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center;gap:10px;white-space:nowrap;line-height:1}
html body .btn.cs .cs-d{display:block;flex:0 0 8px;margin:0}
/* ===== S85355 #23-29 About Us: balanced layout, line timeline, logos row, client grid, founders, Freedom Fridays, founder pages ===== */
.ab-st2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.ab-fd{margin:0;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.ab-fd img{display:block;width:100%;height:auto}
.ab-fd figcaption{padding:12px 16px;font-size:13px;color:rgba(255,255,255,.6);background:#18181b}
.jt{list-style:none;margin:0;padding:0;position:relative;max-width:1080px}
.jt::before{content:"";position:absolute;left:50%;top:6px;bottom:6px;width:1px;transform:translateX(-.5px);background:linear-gradient(180deg,rgba(var(--lit-rgb),.7),rgba(255,255,255,.12) 85%,rgba(var(--lit-rgb),.5))}
.jt-i{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:0 0 48px}
.jt-d{position:absolute;left:50%;top:4px;width:13px;height:13px;margin-left:-6.5px;border-radius:50%;background:#141416;border:2px solid var(--lit);box-shadow:0 0 0 6px rgba(var(--lit-rgb),.08),0 0 14px rgba(var(--tint-v),.45);z-index:1}
.jt-c{grid-column:1;text-align:right;display:grid;justify-items:end;gap:6px}
.jt-i:nth-child(even) .jt-c{grid-column:2;text-align:left;justify-items:start}
.jt-dt{font-size:13px;letter-spacing:.04em;color:var(--lit)}
.jt-c .jr-t{margin:0}
.jt-c b{font-size:20px;font-weight:500;line-height:1.3;color:#fff}
.jt-c p{margin:0;font-size:16px;line-height:1.6;color:rgba(255,255,255,.65);max-width:460px}
.jt-im{margin-top:10px;max-width:420px;width:100%;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.jt-im img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.jt-vs{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;width:100%;max-width:420px;margin-top:10px}
.jt-vs .vf{border-radius:12px}.jt-vs .vf .vf-p i{width:44px;height:44px}
.jt-nx b{color:var(--lit)}.jt-i:last-child{padding-bottom:0}
.jt-s{max-width:900px}
@media (max-width:860px){.jt::before{left:6px}.jt-d{left:6px}.jt-i{grid-template-columns:1fr;gap:0;padding:0 0 36px 36px}.jt-c,.jt-i:nth-child(even) .jt-c{grid-column:1;text-align:left;justify-items:start}}
.lg3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lg3-c{margin:0;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#1a1a1e}
.lg3-c img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
.lg3-c figcaption{padding:14px 18px 16px;display:flex;justify-content:space-between;gap:12px}.lg3-c b{font-size:16px;font-weight:500;color:#fff}.lg3-c small{font-size:13px;color:var(--lit)}
@media (max-width:760px){.lg3{grid-template-columns:1fr}}
.evg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.evg-c{margin:0;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#1a1a1e}
.evg-b{position:relative;display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:zoom-in}
.evg-b[data-vf]{cursor:pointer}
.evg-b img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .6s var(--e2,ease)}
.evg-c:hover .evg-b img{transform:scale(1.03)}
.evg-p{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;color:#141416;font-size:13px;font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.evg-c figcaption{padding:12px 14px 14px;font-size:14px;color:rgba(255,255,255,.8)}
.evg-n{display:grid;align-content:center;gap:8px;padding:24px;background:radial-gradient(90% 90% at 0% 0%,rgba(var(--tint-v),.12),transparent 70%),#1a1a1e}
.evg-n b{font-size:20px;font-weight:500;color:#fff}.evg-n p{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.65)}
@media (max-width:900px){.evg{grid-template-columns:1fr 1fr}}@media (max-width:520px){.evg{grid-template-columns:1fr}}
.fdx-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.fdx-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fdx{display:grid;gap:6px;align-content:start;padding:18px 18px 24px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;text-decoration:none;transition:border-color .3s ease}
.fdx:hover{border-color:rgba(var(--lit-rgb),.45)}
.fdx-i{display:block;border-radius:14px;overflow:hidden;margin-bottom:10px;background:#111}.fdx-i img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.fdx b{font-size:20px;font-weight:500;color:#fff}.fdx small{font-size:14px;color:var(--lit)}.fdx p{margin:4px 0 8px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.65)}
@media (max-width:900px){.fdx-g,.fdx-2{grid-template-columns:1fr}.fdx{grid-template-columns:120px 1fr;column-gap:18px}.fdx-i{grid-row:span 4;margin:0}}
@media (max-width:520px){.fdx{grid-template-columns:1fr}.fdx-i{grid-row:auto;max-width:200px}}
.ffr-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ffr-c{margin:0;display:grid;gap:12px;align-content:start}.ffr-c .vf{border-radius:16px}
.ffr-c figcaption{display:grid;gap:4px}.ffr-c b{font-size:16px;font-weight:500;line-height:1.35;color:#fff}.ffr-c small{font-size:14px;line-height:1.55;color:rgba(255,255,255,.6)}
@media (max-width:900px){.ffr-g{grid-template-columns:1fr 1fr}}@media (max-width:560px){.ffr-g{grid-template-columns:1fr}}
.fdp{display:grid;grid-template-columns:280px minmax(0,1fr);gap:64px;align-items:start}
.fdp-a{position:sticky;top:110px;display:grid;gap:6px;padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e}
.fdp-a img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:14px;margin-bottom:8px}
.fdp-a b{font-size:20px;font-weight:500;color:#fff}.fdp-a small{font-size:14px;color:var(--lit)}
.fdp-ss{display:grid;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.fdp-s{font-size:14px;color:rgba(255,255,255,.75);text-decoration:none;display:flex;justify-content:space-between}.fdp-s:hover{color:#fff}
.fdp-b{max-width:720px}.fdp-l{font-size:20px;line-height:1.55;color:#fff;margin:0 0 40px}
.fdp-sec{margin-bottom:40px}.fdp-sec h2{font-size:28px;font-weight:500;letter-spacing:-.01em;margin:0 0 14px;color:#fff}
.fdp-sec p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.72);margin:0 0 14px}
.fdp-q{margin:8px 0 0;padding:28px 32px;border-radius:22px;border:1px solid rgba(var(--lit-rgb),.25);background:radial-gradient(80% 90% at 0% 0%,rgba(var(--tint-v),.14),transparent 70%),#1a1a1e}
.fdp-q p{font-size:22px;line-height:1.45;color:#fff;margin:0 0 12px}.fdp-q cite{font-style:normal;font-size:14px;color:var(--lit)}
@media (max-width:900px){.fdp{grid-template-columns:1fr;gap:32px}.fdp-a{position:static;max-width:360px}.fdp-sec h2{font-size:24px}.fdp-q p{font-size:19px}}
@media (max-width:1020px){.ab-st2{grid-template-columns:1fr;gap:32px}}
/* #26 timeline balance: text on one side of the line, photo or film on the other */
.jt-i{align-items:start}
.jt-m{grid-column:2;grid-row:1;display:grid;justify-items:start;align-content:start}
.jt-c{grid-row:1}
.jt-i:nth-child(even) .jt-m{grid-column:1;justify-items:end}
.jt-m .jt-im,.jt-m .jt-vs{margin-top:0}
.jt-ghost{font-size:44px;font-weight:500;letter-spacing:-.02em;line-height:1;color:rgba(255,255,255,.07);padding-top:2px}
@media (max-width:860px){.jt-m,.jt-i:nth-child(even) .jt-m{grid-column:1;grid-row:auto;justify-items:start;margin-top:12px}.jt-ghost{display:none}.jt-m:empty{display:none}}
/* ===== S85355 #34 product finder ===== */
.pf-out>*{opacity:0;transform:translateY(14px)}
.pf-out.rv-on>*{opacity:1;transform:none;transition:opacity .7s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.pf-out.rv-on>:nth-child(2){transition-delay:.3s}.pf-out.rv-on>:nth-child(n+3){transition-delay:.5s}
.pf-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start;margin-top:32px}
.pf-hero{display:grid;gap:12px}.pf-uses{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pf-im{position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:linear-gradient(110deg,#1a1a1e 30%,#232328 50%,#1a1a1e 70%);background-size:200% 100%;animation:pfSh 1.6s linear infinite;display:grid;place-items:center}
.pf-h{aspect-ratio:1}.pf-u{aspect-ratio:4/3}
.pf-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease}
.pf-im.ok{animation:none;background:#1a1a1e}.pf-im.ok img{opacity:1}
.pf-sk{font-size:13px;color:rgba(255,255,255,.45);padding:12px;text-align:center}
@keyframes pfSh{to{background-position:-200% 0}}
.pf-ai{font-size:12px;color:rgba(255,255,255,.45)}
.pf-sum h3{font-size:26px;font-weight:500;color:#fff;margin:8px 0 10px;line-height:1.25}.pf-sum>p{color:rgba(255,255,255,.68);margin:0 0 18px}
html body .pf-e{grid-template-columns:1fr 1fr!important}
.pf-note{margin:16px 0 0;padding:14px 16px;border-radius:14px;font-size:15px;line-height:1.55}
.pf-note.warn{background:rgba(255,190,90,.08);border:1px solid rgba(255,190,90,.3);color:#f3d9a8}.pf-note.ok{background:rgba(90,220,140,.08);border:1px solid rgba(90,220,140,.3);color:#bfeccd}
.pf-sh{font-size:18px;font-weight:500;color:#fff;margin:40px 0 14px}
.pf-sup{display:grid;gap:10px}
.pf-c{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px 16px 12px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#1a1a1e;text-decoration:none;transition:border-color .3s ease}
.pf-c:hover{border-color:rgba(var(--lit-rgb),.45)}
.pf-ci{width:64px;height:64px;border-radius:10px;overflow:hidden;background:#fff}.pf-ci img{width:100%;height:100%;object-fit:contain}
.pf-ct{display:grid;gap:4px;min-width:0}.pf-ct b{font-size:15px;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-ct small{font-size:13px;color:rgba(255,255,255,.55)}
.pf-cp{font-size:17px;font-weight:500;color:var(--lit)}
.pf-rules{margin-top:22px}.pf-rules summary{cursor:pointer;color:var(--lit);font-size:15px}.pf-rules ul{margin-top:12px}
@media (max-width:900px){.pf-top{grid-template-columns:1fr;gap:28px}}
@media (max-width:520px){.pf-c{grid-template-columns:52px minmax(0,1fr);}.pf-ci{width:52px;height:52px}.pf-cp{grid-column:2}.pf-ct b{white-space:normal}}
@media (prefers-reduced-motion:reduce){.pf-out>*{opacity:1;transform:none}.pf-im{animation:none}}
/* #27 whole team, matching AI headshots */
.tmx{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:20px}
.tmx-c{margin:0;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#1a1a1e}
.tmx-c img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.tmx-c figcaption{padding:10px 12px 12px;display:grid;gap:2px}.tmx-c b{font-size:14px;font-weight:500;color:#fff}.tmx-c small{font-size:12px;color:var(--lit)}
@media (max-width:1020px){.tmx{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:600px){.tmx{grid-template-columns:repeat(2,minmax(0,1fr))}}
html body .tmx-c img:not(#z){height:auto!important;aspect-ratio:1/1;width:100%}
/* FOS v3 (Alfie 00:35): new logo in hero + explainer video right after hero */
.fos-logo{display:block;height:44px;width:auto;margin:0 auto 22px}
.fos-ex{padding-top:0}
.fos-xv{position:relative;max-width:1080px;margin:0 auto;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#0e0e10;aspect-ratio:16/9;box-shadow:0 30px 80px -30px rgba(0,0,0,.7)}
.fos-xv video{display:block;width:100%;height:100%;object-fit:cover;background:#fff}
.fos-xp{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;border:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.35));color:#fff;font:500 16px/1.2 inherit;cursor:pointer}
.fos-xp i{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#111;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .25s}
.fos-xp:hover i{transform:scale(1.06)}
.fos-xp span{position:absolute;bottom:22px;left:0;right:0;text-align:center;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.fos-xv.on .fos-xp{display:none}
@media (max-width:600px){.fos-logo{height:32px;margin-bottom:16px}.fos-xv{border-radius:16px}.fos-xp i{width:58px;height:58px}.fos-xp span{bottom:12px;font-size:13px}}

/* MATHS85379 (Freddy m2875 #2): ROAS maths text runs the full width of its column */
.faq-w .prose,.faq-w .prose p{max-width:none}
@media(min-width:981px){.faq-w{grid-template-columns:.6fr 1.4fr}}

html body main .faq-w .prose p:not(#z):not(#y):not(#x){max-width:none!important}

/* STORY85379 (Austin via Freddy m2875 #11): founder story pages, wider measure and fuller layout */
.fdp{grid-template-columns:300px minmax(0,1fr);gap:72px}
.fdp-b{max-width:800px}
html body main .fdp-b p:not(#z):not(#y):not(#x):not(#w),html body main .fdp-sec p:not(#z):not(#y):not(#x):not(#w){max-width:660px!important}
.fdp-l{font-size:22px;line-height:1.5;margin-bottom:48px}
.fdp-sec{margin-bottom:48px;padding-top:28px;border-top:1px solid rgba(255,255,255,.07)}
.fdp-sec:first-of-type{border-top:0;padding-top:0}
.fdp-sec p{font-size:18px;line-height:1.7}
html body main .ph-c p.lead:not(#z):not(#y):not(#x):not(#w){max-width:640px!important}
@media (max-width:900px){.fdp{grid-template-columns:1fr;gap:32px}.fdp-sec p{font-size:17px}.fdp-l{font-size:19px}}

/* TEAM85379 (Austin #16): whole team grouped by area, compact rows */
.tg{display:grid;gap:44px;margin-top:8px}
.tg-s{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;padding-top:32px;border-top:1px solid rgba(255,255,255,.08)}
.tg-h h3{font-size:22px;font-weight:500;color:#fff;margin:0;display:inline}
.tg-n{display:inline-block;margin-left:10px;font-size:13px;color:var(--lit);vertical-align:3px}
html body main .tg-h p:not(#z):not(#y):not(#x):not(#w){margin:10px 0 0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.6);max-width:240px!important}
.tg-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px 20px}
.tg-c{display:flex;align-items:center;gap:14px;min-width:0}
.tg-c img,.tg-in{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;background:#26262b}
.tg-in{display:grid;place-items:center;font-size:16px;font-weight:500;color:rgba(255,255,255,.7)}
.tg-c span{display:grid;gap:2px;min-width:0}
.tg-c b{font-size:16px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg-c small{font-size:13px;color:rgba(255,255,255,.55)}
@media (max-width:900px){.tg-s{grid-template-columns:1fr;gap:18px}.tg-g{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
@media (max-width:600px){.tg-g{grid-template-columns:1fr 1fr;gap:14px 12px}.tg-c{gap:10px;align-items:flex-start}.tg-c img,.tg-in{width:42px;height:42px}.tg-c b{white-space:normal;overflow:visible;font-size:15px;line-height:1.25}.tg-c small{font-size:12px;line-height:1.3}}
/* M85405 FreedomOS: tighter hero, five-places animation, pre-registration lightbox */
.fos-h .hero-in{gap:0}.fos-h .hero-in>.ctas{margin-top:26px}.fos-h .fos-logo{margin-bottom:18px}
.fos5{position:relative;width:100%;max-width:520px;margin-left:auto;aspect-ratio:46/30;border:1px solid var(--card-line,rgba(255,255,255,.08));border-radius:22px;background:radial-gradient(60% 70% at 57% 50%,rgba(var(--tint-v),.10),transparent 70%),#151518;overflow:hidden}
.fos5 svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.fos5-ln{fill:none;stroke:rgba(255,255,255,.12);stroke-width:1.3}.fos5-lo{stroke:rgba(74,222,128,.35)}
.fos5-t{fill:#fff;filter:drop-shadow(0 8px 14px rgba(0,0,0,.55))}
.fos5-on{font:500 13px/1 var(--fb,inherit);fill:#fafafa;letter-spacing:-.01em}
.fos5-c{fill:#1f1f23;stroke:rgba(74,222,128,.45);stroke-width:1}
.fos5-ck{font:600 12px/1 var(--fb,inherit);fill:#fafafa}.fos5-cv{font:400 10.5px/1 var(--fb,inherit);fill:#a1a1aa}
.fos5-gl{animation:fos5p 2.6s ease-in-out infinite;transform-origin:262px 150px}
.fos5-dot{animation:fos5d 1.3s ease-in-out infinite}
@keyframes fos5p{50%{opacity:.55;transform:scale(.92)}}@keyframes fos5d{50%{opacity:.35}}
@media (max-width:760px){.fos5{margin:0 auto}}
@media (prefers-reduced-motion:reduce){.fos5-mv{display:none}.fos5-gl,.fos5-dot{animation:none}}
.fosr{border:0;padding:0;background:transparent;max-width:min(460px,calc(100vw - 32px));width:100%;color:inherit;overflow:visible}
.fosr::backdrop{background:rgba(8,8,10,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.fosr[open]{animation:fosrIn .32s cubic-bezier(.22,1,.36,1)}@keyframes fosrIn{from{opacity:0;transform:translateY(10px) scale(.98)}}
.fosr .opt{position:relative;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.fosr-l{display:block;height:28px;width:auto;margin:0 0 14px}
.fosr-x{position:absolute;top:14px;right:14px;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#d4d4d8;cursor:pointer}
.fosr-x:hover{background:rgba(255,255,255,.09);color:#fff}
.opt .cf+.cf{margin-top:0;padding-top:0;border-top:0}
/* M85405: FreedomOS demo = the real app (static sample data) in a lightbox */
.fapp{border:0;padding:0;margin:auto;width:min(1360px,calc(100vw - 32px));height:min(860px,calc(100vh - 32px));max-width:none;max-height:none;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 40px 120px -20px rgba(0,0,0,.85)}
.fapp::backdrop{background:rgba(8,8,10,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.fapp[open]{animation:fosrIn .32s cubic-bezier(.22,1,.36,1)}
.fapp[open]{display:flex;flex-direction:column}.fapp iframe{display:block;width:100%;flex:1;min-height:0;border:0;background:#fff}.fapp-bar{flex:none;height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 18px;background:#111113;color:#a1a1aa;font-size:13px}.fapp-bar b{color:#fafafa;font-weight:500}
.fapp-x{height:32px;padding:0 12px;display:flex;align-items:center;gap:6px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff;font:500 13px/1 inherit;cursor:pointer}
.fapp-x:hover{background:rgba(255,255,255,.14)}
@media (max-width:760px){.fapp{width:100vw;height:100dvh;border-radius:0}.fapp-bar span{display:none}}

/* M85405: premium word fade-in for chat replies */
.cht-m .cw{display:inline;opacity:0;filter:blur(5px);animation:cwIn .55s cubic-bezier(.22,1,.36,1) forwards}
@keyframes cwIn{to{opacity:1;filter:blur(0)}}
@media (prefers-reduced-motion:reduce){.cht-m .cw{animation:none;opacity:1;filter:none}}

/* M85405 #31 (Austin 11:38 "Make the FreedomOS logo a bit smaller"): 44px -> 36px, mobile 32px -> 27px */
.fos-h .fos-logo{height:36px}
@media (max-width:760px){.fos-h .fos-logo{height:27px}}

/* M85421 #4 (Austin: embedded video border gold, not white): champagne edge + glow on every embedded video frame */
html body main .hvw:not(#z):not(#y):not(#x),html body main .wt-v:not(#z):not(#y):not(#x){box-shadow:0 0 0 1px rgba(214,178,120,.42),0 0 24px -4px rgba(214,178,120,.55)!important}

/* M85421: comparison tables highlight the Freedom Club column (last), not the first competitor column */
.j3c td:nth-child(2){background:transparent;color:var(--tx2)}
.j3c td:last-child{background:rgba(214,178,120,.07);color:#fff}
.j3c thead th:last-child{background:rgba(214,178,120,.10);color:#fff}

/* M85428 (Liam Loom): service overlays on the home cards, so Explore never leaves the page */
dialog.sov{padding:0;border:0;background:transparent;max-width:min(760px,calc(100vw - 32px));width:100%;max-height:calc(100vh - 48px);color:var(--tx)}
dialog.sov::backdrop{background:rgba(8,8,10,.78);backdrop-filter:blur(6px)}
.sov-in{position:relative;background:#141416;border:1px solid rgba(214,178,120,.28);border-radius:22px;padding:34px 34px 30px;box-shadow:0 0 40px -10px rgba(214,178,120,.35);overflow:auto;max-height:calc(100vh - 48px)}
.sov-x{position:absolute;top:14px;right:16px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer}
.sov-h{display:block;font-size:28px;line-height:1.2;margin:8px 0 20px;font-weight:600}
.sov-v{position:relative;display:block;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;cursor:pointer;background:#000;box-shadow:0 0 0 1px rgba(214,178,120,.42),0 0 24px -4px rgba(214,178,120,.55)}
.sov-v img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;opacity:.85}
.sov-v span{position:absolute;left:16px;bottom:14px;padding:8px 14px;border-radius:99px;background:rgba(0,0,0,.6);color:#fff;font-size:13px}
.sov-c{margin-top:22px}.sov-c ul{margin:10px 0 0;padding-left:18px;columns:2;column-gap:28px}.sov-c li{margin:0 0 6px;font-size:15px;color:var(--tx2)}.sov-c p{margin:8px 0 0;color:var(--tx2);font-size:15px}
.sov-a{display:flex;gap:18px;align-items:center;margin-top:26px;flex-wrap:wrap}.sov-l{color:var(--tx2);font-size:15px;text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){.sov-in{padding:26px 20px 22px}.sov-c ul{columns:1}.sov-h{font-size:22px}}
dialog.sov:focus,dialog.sov:focus-visible{outline:none}.sov-in{outline:none}.sov-v img{max-height:300px}
/* M85470 (Austin TG 85470 "Headspacing still a bit too much"): crop Guides menu photos so the head sits near the top edge */
html body .nav .mgimg img[src*="fc-m-training-hd"]{object-position:50% 8%!important}
html body .nav .mgimg img[src*="fc-m-challenge"]{object-position:50% 10%!important}
html body .nav .mgimg img[src*="fc-m-walk"]{object-position:50% 12%!important}
html body .nav .mgimg img[src*="fc-m-summit"]{object-position:50% 30%!important}

/* ===== M85478 (Austin voice 85478): mobile menu, smooth open AND close, staggered items, smoother page swaps ===== */
@keyframes mgout85478{to{opacity:0;transform:translateY(-8px)}}
@keyframes mgitem85478{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:980px){
  .nav.open .mgm{animation:mgin .26s cubic-bezier(.22,1,.36,1) both}
  .nav.mclosing .mgm{animation:mgout85478 .2s ease both!important;pointer-events:none}
  .nav.open:not(.mclosing) .mgm>*{animation:mgitem85478 .38s cubic-bezier(.22,1,.36,1) both}
  .nav.open .mgm>*:nth-child(2){animation-delay:.03s}.nav.open .mgm>*:nth-child(3){animation-delay:.06s}
  .nav.open .mgm>*:nth-child(4){animation-delay:.09s}.nav.open .mgm>*:nth-child(5){animation-delay:.12s}
  .nav.open .mgm>*:nth-child(6){animation-delay:.15s}.nav.open .mgm>*:nth-child(n+7){animation-delay:.18s}
  .burger svg,.burger span{transition:transform .25s ease,opacity .2s ease}
  .mgm{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .mgc,.mgt,.mgh{-webkit-tap-highlight-color:transparent}
  .mgc:active,.mgh:active,.mgt:active{transform:scale(.985);transition:transform .12s ease}
}
html{-webkit-tap-highlight-color:transparent}
@media (prefers-reduced-motion:reduce){.nav.open .mgm,.nav.open .mgm>*,.nav.mclosing .mgm{animation:none!important}}
/* M85484 (Austin voice 85484): /apply/?embed=1 renders only the application card, for the VSL video page and FSC thank-you pages */
html.ap-embed,html.ap-embed body{background:transparent!important}
html.ap-embed body>header.nav,html.ap-embed body>footer,html.ap-embed canvas.ffbg,html.ap-embed .stk,html.ap-embed .cht-b,html.ap-embed .cht,html.ap-embed main>.flw>*:not(.apply-sec),html.ap-embed main>*:not(.flw),html.ap-embed .apply-g>*:not(#apply-slot){display:none!important}
html.ap-embed main,html.ap-embed .flw,html.ap-embed .apply-sec,html.ap-embed .apply-sec>.wrap,html.ap-embed .apply-g{display:block!important;padding:0!important;margin:0!important;max-width:none!important;min-height:0!important}
html.ap-embed #apply-slot{display:block!important;margin:0!important}
/* M85484 G7 /sales */
.sal-copy{max-width:720px}.sal-copy p{color:var(--tx2);font-size:var(--fs-lead);line-height:1.6;margin:0 0 16px}
.sal-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.sal-c{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px}.sal-c b{display:block;font-size:26px;letter-spacing:-.02em;margin:6px 0 8px;font-weight:600}.sal-c p{margin:0;color:var(--tx2)}
.sal-v{position:relative;aspect-ratio:16/9;max-width:880px;margin:28px auto 0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line2);background:#000}.sal-v iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:900px){.sal-g{grid-template-columns:1fr 1fr}}@media(max-width:560px){.sal-g{grid-template-columns:1fr}.sal-c b{font-size:22px}}
/* M85482 A7 private BFY plan */
.gp-tl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:26px 0 18px}.gp-tl>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}.gp-tl b{display:block;font-size:13px;color:#C9A96E}.gp-tl span{font-size:15px}
.gp-ph{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;margin-top:14px}.gp-h{display:flex;gap:14px;align-items:center}.gp-n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#C9A96E;color:#141416;font-weight:700}.gp-h b{display:block;font-size:20px;letter-spacing:-.02em}.gp-h small{color:var(--tx2)}
.gp-lead{color:var(--tx2);margin:14px 0 18px;line-height:1.6}.gp-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.gp-cols h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--tx2)}.gp-cols ul{margin:0;padding-left:18px;line-height:1.7}
.gp-faq details{border-bottom:1px solid var(--line);padding:16px 0}.gp-faq summary{cursor:pointer;font-weight:550;font-size:17px}.gp-faq p{color:var(--tx2);margin:10px 0 0;line-height:1.6}
@media(max-width:800px){.gp-tl{grid-template-columns:1fr 1fr}.gp-cols{grid-template-columns:1fr}}

/* M85503 W17: 2024 founders photo below the story */
.ab-trees{margin:28px 0 0;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.ab-trees img{display:block;width:100%;height:auto}.ab-trees figcaption{padding:12px 16px;font-size:13px;color:rgba(255,255,255,.6);background:#18181b}
/* M85503 W21: ecommerce growth chart + slice of the pie */
.gr-w{align-items:center}.gr{margin:0;padding:18px 18px 12px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:#141416}
.gr svg{display:block;width:100%;height:auto}.gr .gr-v{font:600 12px/1 inherit;fill:#e4e4e7}.gr .gr-y{font:500 12px/1 inherit;fill:#a1a1aa}
.gr figcaption{margin-top:8px;font-size:12px;color:rgba(255,255,255,.5)}
.gr-b{transform-origin:center bottom;transform-box:fill-box}.gr.in .gr-b,.rv.in .gr-b{animation:grUp .7s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i)*90ms)}
@keyframes grUp{from{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:none}}
.gr-pie{display:flex;gap:18px;align-items:center;margin:22px 0 18px}.gr-pie svg{flex:0 0 96px;width:96px;height:96px}
.gr-pie p{margin:0;color:rgba(255,255,255,.7);font-size:15px;line-height:1.5}.gr-pie b{color:#fff;display:block;margin-bottom:4px}
.gr-sl{transform-origin:60px 60px;animation:grSl 3.2s ease-in-out infinite}@keyframes grSl{0%,100%{transform:translate(0,0)}50%{transform:translate(5px,-5px)}}
.gr-ts small{display:block;color:rgba(255,255,255,.5);font-size:12px;margin-bottom:10px}.gr-ts div{display:flex;flex-wrap:wrap;gap:8px}
.gr-t{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);font-size:13px;color:#fff;background:rgba(255,255,255,.04)}
@media (max-width:760px){.gr-pie svg{flex-basis:72px;width:72px;height:72px}.gr .gr-v{font-size:14px}}
@media (prefers-reduced-motion:reduce){.gr-b,.gr-sl{animation:none!important}}
/* M85518 X14/X15/X16: animated growth chart + results button + 3-col see it first */
.gr-b rect{transition:none}.gr:not(.in) .gr-b{opacity:0}
.gr.in .gr-v{animation:grFade .5s ease both;animation-delay:calc(var(--i)*90ms + .5s)}@keyframes grFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.gr-line{fill:none;stroke:#f4f4f5;stroke-width:2;stroke-dasharray:900;stroke-dashoffset:900;opacity:.55}.gr.in .gr-line{animation:grDraw 1.6s .4s ease forwards}@keyframes grDraw{to{stroke-dashoffset:0}}
.gr-pie:not(.in) .gr-sl{transform:rotate(-60deg) scale(.6);opacity:0}.gr-pie.in .gr-sl{animation:grSlIn .9s cubic-bezier(.22,1,.36,1) both,grSl 3.2s 1s ease-in-out infinite}
@keyframes grSlIn{from{transform:rotate(-60deg) scale(.6);opacity:0}to{transform:none;opacity:1}}
.gr-t.rv.in{animation:grFade .45s ease both;animation-delay:calc(var(--i)*110ms)}
.gr-btn{margin-top:16px;display:inline-flex;gap:8px;align-items:center}
@media (max-width:900px){#start .fd-g{grid-template-columns:1fr!important}}
@media (prefers-reduced-motion:reduce){.gr-line,.gr-v,.gr-t{animation:none!important;stroke-dashoffset:0}}
/* M85513 X4: About, founders photo right half of Why we started */
.ab-why2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.ab-why2 .ab-trees{margin:0;max-width:none}.ab-why2 .ab-trees img{width:100%;height:auto;border-radius:20px;display:block}
@media (max-width:900px){.ab-why2{grid-template-columns:1fr;gap:28px}}
.ab-why2 .ab-st2{display:block;grid-template-columns:none;max-width:none}.ab-why2 .jr-why{max-width:none;columns:auto;width:auto}

/* X7 X10 (Austin 85513): CTA to video gap reduced; logo to headline gap matches freedomfulfilment.com */
body .flw section.sec.fos-ex{padding-top:56px}
body .fos-h .hb-copy .fos-logo{height:33px;margin-bottom:42px}
@media (max-width:760px){body .flw section.sec.fos-ex{padding-top:40px}body .fos-h .hb-copy .fos-logo{height:27px;margin-bottom:30px}}
/* X19 (Austin 85513): Scale With You path chart, stage staircase, where-are-you slider */
.sp-l{fill:none;stroke:#f4f4f5;stroke-width:3;stroke-linecap:round;stroke-dasharray:1200;stroke-dashoffset:1200}.sp.in .sp-l{animation:grDraw 1.8s .2s cubic-bezier(.22,1,.36,1) forwards}
.sp-d{opacity:0}.sp.in .sp-d{animation:grFade .5s ease both;animation-delay:calc(var(--i)*380ms + .4s)}
.ss-g{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:end;margin-top:8px}
.ss-s{display:flex;flex-direction:column}.ss-b{position:relative;height:200px;display:flex;align-items:flex-end;margin-bottom:16px}
.ss-b::before{content:"";display:block;width:100%;height:var(--h);border-radius:16px 16px 6px 6px;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.14);transform-origin:bottom;transform:scaleY(.05);transition:transform .9s cubic-bezier(.22,1,.36,1),background .3s;transition-delay:calc(var(--i)*140ms)}
.ss-s.in .ss-b::before{transform:none}.ss-n{position:absolute;left:14px;bottom:12px;font-weight:600;font-size:13px;color:rgba(255,255,255,.75)}
.ss-s b{font-size:19px;color:#fff}.ss-s p{margin:6px 0 0;color:rgba(255,255,255,.65);font-size:15px;line-height:1.5}
.ss-s.on .ss-b::before{background:linear-gradient(180deg,#f4f4f5,rgba(244,244,245,.35))}.ss-s.on .ss-n{color:#111}
.ss-r{margin-top:36px;padding:22px 24px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:#141416}
.ss-r label{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:14px;color:rgba(255,255,255,.7)}.ss-r label b{color:#fff;font-size:20px}
.ss-r input{width:100%;accent-color:#f4f4f5}.ss-ax{display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.5);margin-top:6px}
.ss-o{margin:14px 0 0;color:#fff;font-size:16px;line-height:1.5;min-height:48px}
@media (max-width:860px){.ss-g{grid-template-columns:1fr 1fr}.ss-b{height:120px}}
@media (prefers-reduced-motion:reduce){.sp-l{stroke-dashoffset:0;animation:none!important}.sp-d{opacity:1;animation:none!important}.ss-b::before{transform:none;transition:none}}
/* W16 (Austin 85496): home "What you get" image cards */
@media (max-width:1000px){.gt-g{grid-template-columns:1fr 1fr!important}}@media (max-width:560px){.gt-g{grid-template-columns:1fr!important}}
/* W7/W9 (Austin 85496/85513): FreedomOS-style tabbed feature cards with mock app windows */
.ft{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:28px;align-items:start;margin-top:8px}
.ft-l{display:flex;flex-direction:column;gap:8px}
.ft-t{position:relative;overflow:hidden;text-align:left;padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:transparent;color:#fff;cursor:pointer;font:inherit;transition:background .25s,border-color .25s}
.ft-t b{display:block;font-size:17px;font-weight:600}.ft-t span{display:block;margin-top:4px;color:rgba(255,255,255,.55);font-size:14px;line-height:1.45}
.ft-t:hover{background:rgba(255,255,255,.03)}.ft-t.on{background:#18181b;border-color:rgba(255,255,255,.18)}.ft-t.on span{color:rgba(255,255,255,.75)}
.ft-tm{position:absolute;left:0;bottom:0;height:2px;width:0;background:#f4f4f5}.ft.auto .ft-t.on .ft-tm{animation:ftTm 6s linear forwards}@keyframes ftTm{to{width:100%}}
.ft-r{position:relative;min-height:440px}.ft-p{display:none}.ft-p.on{display:block;animation:ftIn .45s cubic-bezier(.22,1,.36,1)}@keyframes ftIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ft-win{border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#111113;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.ft-bar{display:flex;align-items:center;gap:6px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:#18181b}.ft-bar i{width:10px;height:10px;border-radius:50%;background:#3f3f46}.ft-bar span{margin-left:10px;font-size:12px;color:rgba(255,255,255,.55)}
.ft-bd{display:block;padding:18px}.ft-bd.ft-has-nav{display:grid;grid-template-columns:130px 1fr;gap:18px}
.ft-nav{display:flex;flex-direction:column;gap:4px;border-right:1px solid rgba(255,255,255,.06);padding-right:12px}.ft-nav span{padding:8px 10px;border-radius:9px;font-size:13px;color:rgba(255,255,255,.5)}.ft-nav span.on{background:rgba(255,255,255,.08);color:#fff}
.ft-main{min-width:0}.ft-h{margin:16px 0 8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.ft-rows{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.ft-rows li{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05)}
.ft-rows li span b{display:block;font-size:14px;font-weight:600}.ft-rows li small{display:block;font-size:12px;color:rgba(255,255,255,.5);margin-top:2px}.ft-rows li.lock{opacity:.5}
.ft-rows em{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px}.ft-ok{background:#22c55e;color:#062}.ft-now{border:2px solid #f4f4f5;position:relative}.ft-now::after{content:"";width:8px;height:8px;border-radius:50%;background:#f4f4f5}.ft-lk{border:2px dashed rgba(255,255,255,.3)}
.ft-pr{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:14px;font-size:13px;color:rgba(255,255,255,.65)}.ft-pr b{color:#fff}.ft-pr i{grid-column:1/-1;height:6px;border-radius:9px;background:rgba(255,255,255,.08);position:relative;overflow:hidden}.ft-pr i::after{content:"";position:absolute;inset:0;width:var(--p);background:#f4f4f5;border-radius:9px}
.ft-vid{position:relative;aspect-ratio:16/7;border-radius:14px;background:linear-gradient(135deg,#27272a,#3f3f46);display:flex;flex-direction:column;justify-content:flex-end;padding:14px}.ft-vid small{color:rgba(255,255,255,.6);font-size:12px}.ft-vid b{font-size:16px}
.ft-play{position:absolute;left:50%;top:42%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#f4f4f5}.ft-play::after{content:"";position:absolute;left:18px;top:14px;border-left:14px solid #111;border-top:9px solid transparent;border-bottom:9px solid transparent}
.ft-live{display:grid;gap:4px;padding:16px;border-radius:14px;background:linear-gradient(135deg,#1f2937,#27272a);font-size:12px;color:#fca5a5}.ft-live b{color:#fff;font-size:18px}.ft-live small{color:rgba(255,255,255,.6);font-size:13px}
.ft-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef4444;margin-right:6px;animation:ftPulse 1.4s infinite}@keyframes ftPulse{50%{opacity:.3}}
.ft-btn{justify-self:start;display:inline-block;margin-top:8px;padding:8px 14px;border-radius:999px;background:#f4f4f5;color:#111;font-size:13px;font-weight:600}
.ft-recs{display:flex;gap:8px;flex-wrap:wrap}.ft-recs span{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.7)}
.ft-chat{display:flex;flex-direction:column;gap:10px}.ft-chat p{margin:0;max-width:78%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.45}.ft-chat .me{align-self:flex-end;background:#f4f4f5;color:#111;border-bottom-right-radius:4px}.ft-chat .them{background:#27272a;border-bottom-left-radius:4px}
.ft-p.on .ft-chat p{animation:ftIn .4s both}.ft-p.on .ft-chat p:nth-child(2){animation-delay:.5s}.ft-p.on .ft-chat p:nth-child(3){animation-delay:1s}.ft-p.on .ft-chat p:nth-child(4){animation-delay:1.5s}
.ft-type{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);font-size:13px;color:rgba(255,255,255,.45)}.ft-type i{width:26px;height:26px;border-radius:50%;background:#f4f4f5}
.ft-ev{display:grid;gap:10px}.ft-ev figure{margin:0;display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;padding:8px;border-radius:12px;background:rgba(255,255,255,.035)}.ft-ev img{width:120px;height:68px;object-fit:cover;border-radius:8px;display:block}.ft-ev b{display:block;font-size:14px}.ft-ev small{color:rgba(255,255,255,.55);font-size:12px}
.ft-zoom{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ft-cam{aspect-ratio:16/10;border-radius:12px;background:linear-gradient(135deg,#3f3f46,#27272a);position:relative}.ft-cam.me{background:#1f1f23}.ft-cam span{position:absolute;left:8px;bottom:8px;font-size:11px;padding:3px 8px;border-radius:6px;background:rgba(0,0,0,.55)}
.ft-prod,.ft-ads{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ft-prod>div,.ft-ads>div{padding:8px;border-radius:12px;background:rgba(255,255,255,.035)}.ft-img{display:block;aspect-ratio:1;border-radius:9px;margin-bottom:8px;position:relative}
.ft-prod b,.ft-ads b{display:block;font-size:13px}.ft-prod small,.ft-ads small{display:block;font-size:11px;color:rgba(255,255,255,.5)}.ft-prod em{display:inline-block;margin-top:6px;font-style:normal;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(34,197,94,.15);color:#86efac}
.ft-ads .ft-img{aspect-ratio:4/5}.ft-ads em{position:absolute;left:6px;top:6px;font-style:normal;font-size:10px;padding:2px 6px;border-radius:6px;background:rgba(0,0,0,.5)}
.ft-brand{display:grid;gap:12px}.ft-logo{display:flex;align-items:center;gap:12px;padding:18px;border-radius:14px;background:#f4ede4;color:#2b2b2b}.ft-logo span{width:44px;height:44px;border-radius:12px;background:#b87333;color:#fff;display:grid;place-items:center;font-weight:700}.ft-logo b{font-size:22px}
.ft-sw{display:flex;gap:8px}.ft-sw i{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.15)}.ft-brand p{margin:0;font-size:14px;color:rgba(255,255,255,.7)}
.ft-store{border-radius:12px;overflow:hidden;background:#f4ede4;color:#2b2b2b}.ft-sh{display:flex;gap:14px;align-items:center;padding:10px 14px;font-size:12px;border-bottom:1px solid rgba(0,0,0,.08)}.ft-sh b{margin-right:auto;font-size:14px}
.ft-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:center;padding:16px}.ft-hero b{display:block;font-size:20px;line-height:1.2}.ft-hero .ft-btn{background:#2b2b2b;color:#fff}.ft-hero .ft-img{margin:0}
.ft-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 16px 16px}.ft-grid span{aspect-ratio:1;border-radius:8px;background:linear-gradient(135deg,#d9c3a5,#b87333)}
.ft-appr{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06);font-size:14px}.ft-appr .ft-btn{margin:0}
@media (max-width:900px){.ft{grid-template-columns:1fr}.ft-l{flex-direction:row;overflow-x:auto;scrollbar-width:none}.ft-t{flex:0 0 220px}.ft-r{min-height:0}.ft-bd.ft-has-nav{grid-template-columns:1fr}.ft-nav{display:none}}
@media (prefers-reduced-motion:reduce){.ft-p.on,.ft-p.on .ft-chat p{animation:none}.ft.auto .ft-t.on .ft-tm{animation:none}}

/* W7 fix: page p colour overrode chat bubble text */
.ft .ft-chat p.me{color:#111!important}.ft .ft-chat p.them{color:#f4f4f5!important}.ft .ft-brand p{color:rgba(255,255,255,.7)!important}
/* W6/W8: Built For You flow diagram */
.bf{display:grid;grid-template-columns:repeat(11,auto);align-items:stretch;gap:0;margin-top:8px}
.bf-n{padding:18px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#141416;min-width:0}
.bf-k{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.08);font-size:12px;font-weight:600;margin-bottom:12px}
.bf-n b{display:block;font-size:16px;color:#fff}.bf-n p{margin:6px 0 0;font-size:13px;line-height:1.45;color:rgba(255,255,255,.6)}
.bf-a{display:flex;align-items:center;width:28px}.bf-a i{position:relative;display:block;width:100%;height:2px;background:rgba(255,255,255,.12);overflow:hidden}
.bf-a i::after{content:"";position:absolute;left:-40%;top:0;width:40%;height:100%;background:#f4f4f5;animation:bfRun 2.4s linear infinite}@keyframes bfRun{to{left:100%}}
.bf.in .bf-n{animation:grFade .5s ease both;animation-delay:calc(var(--i)*140ms)}
.bf-l{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.bf-l span{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.035);font-size:14px;color:rgba(255,255,255,.65)}.bf-l b{display:block;color:#fff;margin-bottom:4px}
@media (max-width:1100px){.bf{grid-template-columns:1fr}.bf-a{width:auto;height:22px;justify-content:center}.bf-a i{width:2px;height:100%}.bf-a i::after{left:0;top:-40%;width:100%;height:40%;animation-name:bfRunV}@keyframes bfRunV{to{top:100%}}.bf-l{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.bf-a i::after{animation:none}}
/* W15: FF three routes */
.fr{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.fr>div{padding:22px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:#141416;display:flex;flex-direction:column}
.fr>div>b{font-size:18px;color:#fff}.fr-n{display:flex;align-items:baseline;gap:8px;margin:10px 0 14px;color:rgba(255,255,255,.55);font-size:13px}.fr-n span{font-size:40px;font-weight:600;color:#fff;line-height:1}
.fr ol{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.fr li{font-size:12px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.75)}
.fr li:not(:last-child)::after{content:" \2192";opacity:.5}.fr p{margin:auto 0 0;font-size:14px;line-height:1.5;color:rgba(255,255,255,.65)}
.fr .fr-c.us{border-color:rgba(255,255,255,.35);background:#1b1b1f}.fr .fr-c.us .fr-n span{color:#86efac}
@media (max-width:960px){.fr{grid-template-columns:1fr}}
/* W2: explainer video block */
.xv{border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 100px rgba(0,0,0,.5);background:#0a0a0b;aspect-ratio:16/9}.xv video{display:block;width:100%;height:100%;object-fit:cover}

/* ===== M85535 Z mobile layer (Austin voice 22:18: "mobile needs to be very optimized, very smooth, very simple") ===== */
.stk{display:none!important}html.stk-on body{padding-bottom:0!important}
.tp-row .tp-st{display:inline-flex;align-items:center;gap:8px;color:#fafafa;text-decoration:none;font:500 15px/20px var(--fb,inherit);height:24px}
.tp-row .tp-st b{font-weight:600}.tp-row .tp-st span{color:#d4d4d8}.tp-row .tp-st svg{flex:0 0 18px;margin-left:2px}.tp-row .tp-st em{font-style:normal;font-weight:600;letter-spacing:-.01em}
.ph-v.ph-vid{margin:0;border-radius:20px;overflow:hidden;background:#000;aspect-ratio:16/9;box-shadow:0 0 0 1px rgba(214,178,120,.42),0 0 24px -4px rgba(214,178,120,.55)}
.ph-v.ph-vid video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
@media (max-width:760px){
 main .sec:not(#z){padding-top:56px;padding-bottom:24px}
 main .sec-h:not(#z){margin-bottom:28px}
 main .wwa:not(#z){gap:20px}
 .hero .hero-in:not(#z){gap:24px}
 .phero .ph-in:not(#z){gap:24px}
 .phero:not(#z){padding-bottom:16px}
 .apply-sec:not(#z){padding-top:8px}
 #apply-slot .ap-s .err:empty{min-height:0;margin-top:4px}#apply-slot #f>.err:empty{display:none}#apply-slot .ap-acts{margin-top:16px}
 main .ctas:not(#z){flex-wrap:nowrap;gap:10px}
 main .ctas:not(#z)>.btn{flex:1 1 0;min-width:0;justify-content:center;padding:0 12px;font-size:14px;white-space:nowrap}
 main .ctas:not(#z)>.btn:only-child{flex:0 1 auto;padding:0 24px}
 .gr-w:not(#z){display:flex;flex-direction:column;gap:20px}
 .gr-w>div:first-child{display:contents}
 .gr-w .sec-h{order:1;margin-bottom:0}.gr-w>div:last-child{order:2}.gr-w .gr-ts{order:3}
 .gr-w .gr-pie{display:none!important}
 .gr-ts>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gr-ts .gr-t{text-align:center;justify-content:center}.gr-ts .gr-t:last-child{grid-column:1/-1}
 .gr .gr-v{font-size:19px}.gr .gr-y{font-size:19px}.gr{padding:14px 10px 10px}
 .j3c:not(#z){overflow:visible}
 .j3c table{width:100%;min-width:0!important;table-layout:fixed;font-size:13px}
 .j3c th:nth-child(3),.j3c td:nth-child(3){display:none}
 .j3c th,.j3c td{padding:12px 10px!important;word-break:normal;overflow-wrap:anywhere}
 .j3c thead th:first-child,.j3c tbody th{width:34%}
}
@media (max-width:760px){.j3c thead th{overflow-wrap:normal!important;word-break:keep-all;hyphens:none;font-size:12px;line-height:1.3}.j3c th,.j3c td{overflow-wrap:break-word!important}}
/* Z9: feature tabs stack vertically on mobile, no side scroll */
@media (max-width:760px){main .ft-l:not(#z){flex-direction:column;overflow-x:visible;gap:8px}main .ft-l .ft-t:not(#z){flex:0 0 auto;width:100%;min-width:0;max-width:none}}
/* Z9: BFY demo tabs wrap on mobile instead of side scroll */
@media (max-width:760px){.pd-tabs:not(#z){flex-wrap:wrap;overflow-x:visible;justify-content:flex-start}.pd-tabs button:not(#z){padding:7px 11px;font-size:13px}}
/* Z7: Test First table simplified on mobile: 4 core rows only */
@media (max-width:760px){.j3c tbody tr:nth-child(4),.j3c tbody tr:nth-child(5),.j3c tbody tr:nth-child(6),.j3c tbody tr:nth-child(7){display:none}.j3c td,.j3c th{padding:12px 10px!important}}
/* Z3 (Freddy m3062b parity): phones = transform-only entrances, content never hidden; no blur on open menu/sticky header */
@media (max-width:760px) and (prefers-reduced-motion:no-preference){.rv:not(#z){opacity:1!important;transform:translateY(12px);transition:transform .6s cubic-bezier(.22,1,.36,1)!important}.rv.in:not(#z){transform:none}.hero .rv:not(#z),.phero .rv:not(#z){transform:none;transition:none!important}}
@media (max-width:760px){.nav.open,.nav.open *,.mnav,.menu-sheet{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}

/* Y6 inline booking */
.cal-in{margin-top:20px;border-radius:16px;overflow:hidden;background:#141414;border:1px solid rgba(255,255,255,.1)}.cal-in iframe{display:block;width:100%;height:700px;border:0}@media (max-width:760px){.cal-in iframe{height:1000px}}
/* W3 (Austin 85578 + screenshot): mobile header. Champagne glow starts below the header so the top edge is one flat colour,
   continuous with the phone status bar (theme-color). */
@media (max-width:760px){
html body main .hero,html body main .phero{background:radial-gradient(70% 420px at 0% 300px,rgba(var(--tint-v),.16),transparent 72%),radial-gradient(70% 460px at 100% 320px,rgba(var(--tint-m),.11),transparent 70%),linear-gradient(180deg,#141416 0,#111113 160px,#111113 62%,rgba(17,17,19,0) 100%)!important}
html body main>.hero.hv-a{background:radial-gradient(70% 420px at 0% 300px,rgba(var(--tint-v),.16),transparent 72%),radial-gradient(70% 460px at 100% 320px,rgba(var(--tint-m),.11),transparent 70%),linear-gradient(180deg,#141416 0,#111113 160px,#111113 calc(100% - 80px),rgba(17,17,19,0) 100%)!important}
}
/* W5 (Austin TG voice 09:51): mobile footer. "The next step" sits straight under the brand line as its own card, not after the link columns. */
@media (max-width:760px){
.ft54 .ft-brand{order:-2}
.ft54 .ft-next{order:-1;grid-column:1/-1;padding:22px 20px;border:1px solid rgba(var(--lit-rgb),.18);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))}
.ft54 .ft-next h4{color:var(--lit)}
.ft54 .ft-next p{margin:6px 0 14px}
.ft54 .ft-next .ft-cta{display:inline-flex;margin:0 18px 6px 0}
}
/* V10 (Austin TG voice 10:52): desktop footer logo sat mid-column because the brand grid rows stretched. Pin to top. */
.ft54 .ft-brand{align-content:start;align-items:start;grid-template-rows:auto auto}
.ft54 .ft-brand .brand{height:auto;align-self:start}
.ft54 .ft-brand p{margin-top:4px}
/* V8 (Austin TG voice 10:52): monthly profit tiers on one line, desktop and mobile. Home page only (.gr-w without .sp). */
.gr-w .gr-ts>div{display:flex!important;flex-wrap:nowrap!important;gap:8px}
.gr-w .gr-ts .gr-t{white-space:nowrap;flex:0 0 auto}
@media (max-width:760px){.gr-w .gr-ts>div{gap:5px;justify-content:space-between}.gr-w .gr-ts .gr-t{font-size:11px;padding:6px 8px;letter-spacing:0}}
/* V4: inner app nav is clickable */
.ft-nav span{cursor:pointer;transition:background .2s,color .2s}.ft-nav span:hover{color:#fafafa;background:rgba(255,255,255,.06)}
/* V9: Trustpilot embed on results */
.tp-emb{max-width:520px;margin:0 auto 28px;padding:16px 20px;border:1px solid rgba(var(--lit-rgb,234,215,176),.18);border-radius:16px;background:rgba(255,255,255,.03)}
.tp-emb .trustpilot-widget{min-height:24px}
