@font-face{font-family:"Mona Sans";src:url(/assets/fonts/MonaSans-var.woff2) format("woff2");font-weight:600 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist";src:url(/assets/fonts/Geist-var.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/assets/fonts/GeistMono-var.woff2) format("woff2");font-weight:500 600;font-style:normal;font-display:swap}
:root{
  --brand:#9B2335;--on-brand:#fff;--brand-rgb:155,35,53;--brand-deep-rgb:57,25,29;--brand-hi:#D93A4F;--pink:#F6C9D0;
  --b50:#F9EEED;--b100:#F1D8D8;--b200:#E1B1B2;--b300:#CC8385;--b700:#6D212A;--b900:#39191D;
  --ink:#0B0D10;--ink2:#15181D;--ink3:#23262C;--white:#fff;--slate:#8A9099;--gray:#50565F;--line:#E3E5E9;--mist:#F4F5F7;
  --display:"Mona Sans",system-ui,sans-serif;--body:"Geist",system-ui,sans-serif;--mono:"Geist Mono",ui-monospace,monospace;
  --pad:clamp(20px,4vw,48px);--max:1344px;--r:10px;--ease:cubic-bezier(.2,.8,.2,1);
}
/* 8th replay SaaS site kit. Brand colors come from tokens-<brand>.css */
/* lightbreak.ai · SaaS sales page v2 */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--white);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{text-wrap:balance}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* buttons: rounded rectangles, never pills, no arrows */
.btn{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 26px;border-radius:var(--r);font-weight:600;font-size:16px;line-height:1;white-space:nowrap;transition:transform .15s ease,background .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#23262c}
.btn-line{box-shadow:inset 0 0 0 1.5px var(--ink)}.btn-line:hover{background:rgba(11,13,16,.06)}
.btn-white{background:#fff;color:var(--ink)}
.btn-brand{background:var(--brand);color:var(--ink)}
.btn-ghost-w{box-shadow:inset 0 0 0 1.5px #3A3F47;color:#fff}.btn-ghost-w:hover{background:rgba(255,255,255,.06)}
.btn-sm{height:42px;padding:0 18px;font-size:14.5px;border-radius:9px}

/* nav: logo | centered links | actions */
.nav{position:relative;z-index:20;height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.logo{display:flex;align-items:center;gap:10px;flex:none;justify-self:start}
.logo .ic{height:38px;width:auto}.logo .wm{height:24px;width:auto}
.nav .links{display:flex;gap:34px;font-size:15px;font-weight:500}
.nav .links a{position:relative;padding:6px 0}
.nav .links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav .links a:hover::after{transform:scaleX(1)}
.nav .r{justify-self:end;display:flex;gap:22px;align-items:center;font-size:15px;font-weight:500}
.menu-btn{display:none;width:42px;height:42px;border-radius:9px;box-shadow:inset 0 0 0 1.5px var(--ink);place-items:center}
.menu-btn span{display:block;width:18px;height:2px;background:var(--ink);box-shadow:0 -6px 0 var(--ink),0 6px 0 var(--ink)}
.mobile-menu{display:none}

/* hero */
.hero-top{background:var(--brand);position:relative;z-index:20}
.hero{background:var(--brand);position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,760px);gap:40px;padding-top:20px;padding-bottom:40px;align-items:start}
.hero .eyebrow{margin:28px 0 22px}
.hero h1{font-family:var(--display);font-weight:900;font-size:clamp(52px,6.3vw,94px);line-height:.9;letter-spacing:-.04em}
.hero h1 .ln{display:block;white-space:nowrap}
.hero h1 .w{color:#fff}
.hero .sub{margin-top:34px;max-width:490px;font-size:20px;line-height:1.5}
.hero .sub b{font-weight:650}
.hero .ctas{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}
.hero .fine{margin-top:18px;font-size:14px;opacity:.85}

.flow{position:relative;display:grid;grid-template-columns:282px 1fr 362px;min-height:760px;margin-top:4px}
.flow .lbl{position:absolute;top:0;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.cards{grid-column:1;display:flex;flex-direction:column;gap:22px;padding-top:26px;position:relative;z-index:4}
.src{height:94px;background:#fff;border-radius:14px;display:flex;align-items:center;gap:14px;padding:10px 14px 10px 10px;box-shadow:0 1px 0 rgba(0,0,0,.05),0 16px 32px -18px rgba(80,20,0,.55);opacity:0;transform:translateX(-14px);animation:cardIn .6s var(--ease) forwards;position:relative;transition:box-shadow .35s,transform .35s}
.src img{width:74px;height:74px;border-radius:9px;object-fit:cover;flex:none}
.src .cat{font-family:var(--display);font-weight:900;font-size:19px;letter-spacing:-.03em;line-height:1;display:flex;align-items:center;gap:8px}
.src .cat i{width:8px;height:8px;border-radius:2px;background:var(--brand)}
.src .t{font-size:12.5px;line-height:17px;color:var(--gray);margin-top:5px}
.src .from{position:absolute;right:10px;top:9px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.src .ok{position:absolute;right:10px;bottom:9px;font-size:11px;font-weight:700;color:#fff;background:var(--ink);border-radius:5px;padding:3px 7px;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s}
.src.on{transform:translateX(6px) !important;box-shadow:0 0 0 2.5px var(--ink),0 22px 40px -18px rgba(80,20,0,.6)}
.src.on .ok{opacity:1;transform:none}
@keyframes cardIn{to{opacity:1;transform:none}}
svg.wires{position:absolute;inset:0;width:100%;height:100%;z-index:3;overflow:visible;pointer-events:none}
svg.wires .base{fill:none;stroke:var(--ink);stroke-width:2;opacity:.9}
svg.wires .pulse{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:6 120;animation:flow 2.4s linear infinite}
svg.wires .hot{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;opacity:0;transition:opacity .3s}
svg.wires .hot.on{opacity:1}
@keyframes flow{to{stroke-dashoffset:-126}}
.hub{position:absolute;z-index:5;width:22px;height:22px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 5px var(--brand),0 0 0 7px var(--ink);transform:translate(-50%,-50%)}
.hub.ping{animation:ping .6s var(--ease)}
@keyframes ping{50%{box-shadow:0 0 0 9px var(--brand),0 0 0 11px var(--ink)}}
.issue{grid-column:3;position:relative;z-index:5;margin-top:26px;border-radius:18px;background:var(--ink);padding:10px;box-shadow:0 50px 100px -40px rgba(var(--brand-deep-rgb),.8);align-self:start}
.issue .bar{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;color:#fff}
.issue .bar b{font-size:13.5px;font-weight:600;display:flex;gap:9px;align-items:center}
.issue .bar b img{height:20px;width:auto}
.issue .bar span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:#9AA0A8}
.issue .scr{height:674px;border-radius:10px;overflow:hidden;background:#fff;position:relative}
.issue .scr img{width:100%;height:auto;will-change:transform}
.issue .scr .fade{position:absolute;inset:0;background:#fff;opacity:0;transition:opacity .6s;pointer-events:none}
.issue .built{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);background:#fff;border-radius:10px;padding:9px 14px;font-size:13px;font-weight:600;white-space:nowrap;box-shadow:0 14px 30px -12px rgba(0,0,0,.45);display:flex;gap:8px;align-items:center}
.issue .built i{width:8px;height:8px;border-radius:50%;background:#16A34A;box-shadow:0 0 0 4px rgba(22,163,74,.18)}
.hero-meta{display:flex;justify-content:space-between;gap:20px;border-top:1.5px solid var(--ink);padding:14px 0 36px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}

/* proof bar */
.proof{background:var(--ink);color:#fff}
.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:44px 0 40px 28px;border-left:1px solid #23262c}
.stat:first-child{border-left:0;padding-left:0}
.stat .n{font-family:var(--display);font-weight:900;font-size:clamp(44px,5vw,68px);letter-spacing:-.04em;line-height:1}
.stat .n em{font-style:normal;color:var(--brand)}
.stat .l{margin-top:10px;color:#9AA0A8;font-size:15px}

/* shared section heads */
section.s{padding:clamp(80px,10vw,140px) 0}
.kick{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.kick i{width:9px;height:9px;border-radius:2px;background:var(--brand)}
h2.big{font-family:var(--display);font-weight:900;font-size:clamp(42px,5.6vw,80px);line-height:.95;letter-spacing:-.04em;max-width:14ch}
.lede{font-size:20px;line-height:1.5;color:var(--gray);max-width:560px}
.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:end;gap:40px;margin-bottom:64px}
.head .lede{padding-bottom:8px}

/* ===== demo player ===== */

.player{position:relative;border-radius:22px;background:var(--ink);padding:12px;box-shadow:0 60px 120px -50px rgba(11,13,16,.55)}
.screen{--z:1.22;position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#F4F5F7;color:var(--ink);font-size:14px}
.app{position:absolute;inset:0;zoom:var(--z,1);display:grid;grid-template-columns:200px 1fr;grid-template-rows:54px 1fr}
.app .side{grid-row:1/3;background:#fff;border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:4px}
.app .side .brand{display:flex;align-items:center;gap:8px;padding:2px 8px 16px}
.app .side .brand img{height:26px;width:auto}
.app .side .brand b{font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.04em}
.app .side .brand b span{color:var(--brand)}
.app .side a{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:8px;font-weight:550;font-size:13.5px;color:var(--gray);transition:background .3s,color .3s}
.app .side a i{width:16px;height:16px;border-radius:4px;background:var(--line);transition:background .3s}
.app .side a.on{background:var(--b50);color:var(--ink)}
.app .side a.on i{background:var(--brand)}
.app .top{display:flex;align-items:center;gap:14px;padding:0 20px;background:#fff;border-bottom:1px solid var(--line)}
.app .top b{font-weight:650;font-size:14px}
.app .top .pill{font-size:11.5px;font-weight:600;padding:4px 8px;border-radius:6px;background:var(--mist);color:var(--gray)}
.app .top .timer{margin-left:auto;font-family:var(--mono);font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}
.app .top .timer i{width:8px;height:8px;border-radius:50%;background:var(--brand);animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:.2}}
.app .main{position:relative;padding:18px 20px;overflow:hidden}
.scene{position:absolute;inset:18px 20px;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none}
.scene.on{opacity:1;transform:none}
.rows{display:flex;flex-direction:column;gap:8px}
.row{display:grid;grid-template-columns:22px 48px 1fr auto;gap:12px;align-items:center;background:#fff;border-radius:10px;padding:8px 12px;box-shadow:0 1px 0 rgba(0,0,0,.04);opacity:0;transform:translateX(-10px);transition:opacity .4s,transform .4s,box-shadow .3s}
.scene.on .row{opacity:1;transform:none}
.row .ck{width:18px;height:18px;border-radius:5px;box-shadow:inset 0 0 0 1.5px #C9CDD3;display:grid;place-items:center;transition:background .2s}
.row.sel .ck{background:var(--ink);box-shadow:none}
.row.sel .ck::after{content:"";width:8px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.row.sel{box-shadow:0 0 0 2px var(--ink)}
.row img{width:48px;height:36px;border-radius:6px;object-fit:cover}
.row b{display:block;font-size:13.5px;line-height:1.25}
.row small{font-size:11.5px;color:var(--slate)}
.tag{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:4px 7px;border-radius:5px;background:var(--mist);color:var(--gray);white-space:nowrap}
.compose{display:grid;grid-template-columns:1fr 1fr;gap:16px;height:100%}
.doc{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.doc .sec{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--brand);font-weight:600}
.doc h5{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em;line-height:1.15;margin:8px 0 10px}
.doc p{font-size:13px;line-height:1.55;color:#3A3F47}
.doc p b{color:var(--ink)}
.type::after{content:"";display:inline-block;width:2px;height:14px;background:var(--brand);margin-left:2px;vertical-align:-2px;animation:blink .8s steps(2) infinite}
.voice{display:flex;flex-direction:column;gap:10px}
.voice .opt{background:#fff;border-radius:10px;padding:12px 14px;font-size:13px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.voice .opt.on{box-shadow:0 0 0 2px var(--ink)}
.ledger2{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.ledger2 .lr{display:grid;grid-template-columns:1.1fr 1.4fr .8fr .6fr;gap:10px;padding:13px 16px;border-top:1px solid var(--line);align-items:center;font-size:13.5px}
.ledger2 .lr:first-child{border-top:0;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);background:var(--mist)}
.ledger2 .lr span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.st{font-size:11.5px;font-weight:700;padding:4px 8px;border-radius:5px;background:var(--mist);color:var(--gray);transition:all .3s}
.st.bk{background:var(--b100);color:var(--b700)}
.ledger2 .tot{display:flex;justify-content:space-between;padding:14px 16px;font-weight:700;background:var(--b50)}
.ledger2 .tot b{font-family:var(--display);font-size:20px;color:var(--b700)}
.publish{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;align-items:start}
.plist{display:flex;flex-direction:column;gap:8px}
.plist .p{background:#fff;border-radius:10px;height:54px;display:flex;align-items:center;gap:12px;padding:0 14px;font-weight:650;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.plist .p .lg{width:30px;height:30px;border-radius:7px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:12px}
.plist .p.on{box-shadow:0 0 0 2px var(--ink)}
.plist .p em{margin-left:auto;font-style:normal;font-size:12px;color:var(--slate);font-weight:500}
.sendcard{background:var(--ink);color:#fff;border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:14px}
.sendcard .big{font-family:var(--display);font-weight:900;font-size:44px;letter-spacing:-.04em;line-height:1}
.sendcard .big em{font-style:normal;color:var(--brand)}
.sendbtn{height:46px;border-radius:9px;background:var(--brand);color:var(--ink);font-weight:700;display:grid;place-items:center;transition:transform .15s}
.sendbtn.press{transform:scale(.96)}
.toast{position:absolute;right:22px;bottom:22px;background:var(--ink);color:#fff;border-radius:12px;padding:14px 16px;display:flex;gap:12px;align-items:center;font-size:13.5px;box-shadow:0 20px 40px -12px rgba(0,0,0,.5);opacity:0;transform:translateY(12px);transition:all .4s var(--ease)}
.toast.on{opacity:1;transform:none}
.toast i{width:26px;height:26px;border-radius:50%;background:#16A34A;display:grid;place-items:center;flex:none}
.toast i::after{content:"";width:10px;height:6px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.cursor{position:absolute;width:22px;height:22px;z-index:9;pointer-events:none;transition:left .7s var(--ease),top .7s var(--ease);left:60%;top:60%}
.cursor svg{filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
.cursor.click::after{content:"";position:absolute;left:-10px;top:-10px;width:30px;height:30px;border-radius:50%;background:rgba(var(--brand-rgb),.35);animation:clk .45s ease-out}
@keyframes clk{from{transform:scale(.3);opacity:1}to{transform:scale(1.4);opacity:0}}
.caption{position:absolute;left:24px;bottom:24px;z-index:8;max-width:62%;pointer-events:none}
.caption .cap{display:inline-block;background:var(--brand);color:var(--ink);font-family:var(--display);font-weight:900;font-size:clamp(20px,2.6vw,38px);letter-spacing:-.04em;line-height:1;padding:12px 16px;border-radius:10px;box-shadow:0 20px 40px -14px rgba(0,0,0,.45);opacity:0;transform:translateY(14px) rotate(-1.5deg);transition:all .45s var(--ease)}
.caption .cap.on{opacity:1;transform:rotate(-1.5deg)}
.chapters{display:grid;grid-template-columns:auto repeat(5,1fr);gap:8px;margin-top:14px;align-items:stretch}
.chapters .pp{width:54px;border-radius:10px;background:#1A1D22;box-shadow:inset 0 0 0 1px #2A2E35;display:grid;place-items:center}
.chapters .pp svg{width:16px;height:16px}
.chap{position:relative;text-align:left;border-radius:10px;background:#1A1D22;box-shadow:inset 0 0 0 1px #2A2E35;padding:12px 14px 14px;color:#A3A9B2;overflow:hidden;transition:color .2s}
.chap b{display:block;color:#fff;font-weight:600;font-size:14.5px;margin-top:2px}
.chap .mono{font-size:10.5px}
.chap .bar{position:absolute;left:0;bottom:0;height:3px;background:var(--brand);width:0}
.chap.on{color:#fff}
.chap.done .bar{width:100%}
.demo-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:40px;flex-wrap:wrap}
.demo-foot p{color:var(--gray);font-size:17px}
.demo-foot p b{color:var(--ink)}

/* ===== section backgrounds: every section differs from its neighbors ===== */
.demo{background:#fff}
.build{background:var(--mist)}
.gifs{background:var(--ink);color:#fff}
.sources{background:#fff}
.tech{background:var(--ink);color:#fff}
.tech .kick{color:#fff}.tech .lede{color:#A3A9B2}
.cust{background:#fff}
.pricing{background:var(--ink);color:#fff}
.about-sec{background:var(--mist)}

/* ===== pinned drag-and-drop builder ===== */
.pin{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:64px;position:relative}
.pin-left{align-self:start;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;gap:28px}
.pin-left h2{font-family:var(--display);font-weight:900;font-size:clamp(40px,4.4vw,64px);line-height:.95;letter-spacing:-.04em}
.steps2{list-style:none;display:flex;flex-direction:column;gap:6px}
.step2{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:14px 18px;border-radius:14px;transition:background .35s,opacity .35s,box-shadow .35s;opacity:.4;cursor:pointer}
.step2 .num{font-family:var(--display);font-weight:900;font-size:42px;line-height:.9;letter-spacing:-.04em;color:var(--slate)}
.step2 b{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.03em;display:block;line-height:1.15}
.step2 p{font-size:15.5px;color:var(--gray);margin-top:4px;max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.step2.on{opacity:1;background:#fff;box-shadow:0 20px 40px -26px rgba(11,13,16,.35)}
.step2.on .num{color:var(--brand)}
.step2.on p{max-height:120px}
.pin-stage{position:sticky;top:0;height:100vh;display:flex;align-items:center}
.builder{position:relative;width:100%;background:#fff;border-radius:22px;box-shadow:0 50px 100px -50px rgba(11,13,16,.45),0 0 0 1px var(--line);overflow:hidden;font-size:14px}
.b-top{height:50px;display:flex;align-items:center;gap:14px;padding:0 18px;border-bottom:1px solid var(--line)}
.b-dots{display:flex;gap:6px}.b-dots i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.b-top b{font-size:14px}
.b-save{margin-left:auto;font-size:12px;font-weight:600;color:#16A34A}
.b-body{display:grid;grid-template-columns:250px 1fr;height:min(66vh,600px)}
.rail{background:var(--mist);border-right:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.tabs{display:flex;flex-wrap:wrap;gap:5px}
.tabs span{font-size:11.5px;font-weight:600;padding:5px 9px;border-radius:7px;background:#fff;color:var(--gray);transition:all .3s}
.builder[data-step="0"] .t0,.builder[data-step="1"] .t1,.builder[data-step="2"] .t2,.builder[data-step="3"] .t2{background:var(--ink);color:#fff}
.rl{display:none;flex-direction:column;gap:8px}
.builder[data-step="0"] .rl[data-for="0"],.builder[data-step="1"] .rl[data-for="1"],.builder[data-step="2"] .rl[data-for="2"],.builder[data-step="3"] .rl[data-for="2"]{display:flex;animation:gfIn .4s var(--ease)}
.it{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;background:#fff;border-radius:10px;padding:7px;box-shadow:0 1px 0 rgba(0,0,0,.05)}
.it img{width:44px;height:44px;border-radius:7px;object-fit:cover}
.it b{display:block;font-size:12.5px;line-height:1.25}.it small{font-size:11px;color:var(--slate)}
.it.lift{box-shadow:0 0 0 2px var(--ink);opacity:.35}
.canvas{padding:16px 22px 16px;display:flex;flex-direction:column;gap:12px;overflow:hidden;background:#fff}
.mast{font-family:var(--display);font-weight:900;font-size:26px;letter-spacing:-.03em;color:#1E4FA8;border-bottom:2px solid #1E4FA8;padding-bottom:8px;display:flex;justify-content:space-between;align-items:baseline}
.mast small{font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:0;color:var(--gray)}
.blk{border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--line);padding:12px 14px;display:none;position:relative}
.blk .sec{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;color:var(--brand);font-weight:600}
.blk h5{font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:-.02em;line-height:1.2;margin:3px 0 5px}
.blk p{font-size:12px;line-height:1.5;color:#3A3F47}
.blk.media{grid-template-columns:150px 1fr;gap:12px;align-items:center}
.blk.media img{width:130px;height:84px;border-radius:8px;object-fit:cover}
.blk.home{padding:0;overflow:hidden}
.blk.home img{width:100%;height:118px;object-fit:cover}
.blk.home .hp{display:flex;align-items:baseline;gap:12px;padding:10px 14px}
.blk.home .hp b{font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:-.03em}
.blk.home .hp span{font-size:12.5px;color:var(--gray)}.blk.home .hp em{margin-left:auto;font-style:normal;font-size:12px;font-weight:600}
.gifb{position:absolute;right:10px;top:10px;font-size:10.5px;font-weight:800;padding:3px 7px;border-radius:5px;background:var(--brand);color:var(--ink)}
.blk.show{display:block;animation:land .55s var(--ease)}
.blk.media.show{display:grid}
@keyframes land{from{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:none}}
.drop{border:2px dashed #C9CDD3;border-radius:12px;min-height:56px;display:grid;place-items:center;color:var(--slate);font-size:12.5px;font-weight:600;transition:all .3s;flex:none}
.drop.hot{border-color:var(--brand);background:var(--b50);color:var(--b700)}
.b-send{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid var(--line);background:var(--ink);color:#fff;transform:translateY(100%);transition:transform .5s var(--ease);position:absolute;left:0;right:0;bottom:0}
.b-send .mono{font-size:10px;color:#9AA0A8;display:block;margin-bottom:3px}
.b-send b{font-size:15px}
.builder[data-step="3"] .b-send{transform:none}
.builder[data-step="2"] .drop,.builder[data-step="3"] .drop{display:none}
.builder[data-step="3"] .b-send .btn{animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(var(--brand-rgb),.25)}}
.ghost{position:absolute;z-index:5;pointer-events:none;border-radius:10px;background:#fff;box-shadow:0 24px 50px -16px rgba(11,13,16,.55),0 0 0 2px var(--ink);display:none;grid-template-columns:44px 1fr;gap:10px;align-items:center;padding:7px;width:222px}
.ghost img{width:44px;height:44px;border-radius:7px;object-fit:cover}
.ghost b{font-size:12.5px;line-height:1.25}

/* ===== auto GIFs (signature feature) ===== */
.gif-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:40px;align-items:end;margin-bottom:64px}
.gifs .kick{color:#fff}.gifs .lede{color:#A3A9B2}
.gifs h2.big{max-width:13ch}
.gif-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.gcard{background:#fff;color:var(--ink);border-radius:20px;padding:14px 14px 18px;box-shadow:0 40px 80px -40px rgba(var(--brand-rgb),.55)}
.gcard:nth-child(2){margin-top:56px}.gcard:nth-child(3){margin-top:112px}
.gsec{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--brand);font-weight:600;padding:4px 4px 10px}
.gcard img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px}
.gcard figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 4px 0}
.gcard figcaption b{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em}
.gcard figcaption span{font-size:13px;color:var(--slate)}

/* ===== sources mosaic ===== */
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px}
.mt{border-radius:18px;position:relative;overflow:hidden;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center}
.mt.big{grid-column:span 2;grid-row:span 2}
.mt.photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,16,0) 35%,rgba(11,13,16,.82))}
.mt.photo{color:#fff;transition:transform .5s var(--ease)}
.mt.photo:hover{transform:scale(1.015)}
.mtx{position:relative;z-index:1}
.mtx b{display:block;font-family:var(--display);font-weight:900;font-size:26px;letter-spacing:-.035em;line-height:1}
.mt.big .mtx b{font-size:46px}
.mtx span{font-size:14px;opacity:.85}
.mt em{position:absolute;z-index:1;right:14px;top:14px;font-style:normal;font-size:12px;font-weight:700;padding:5px 9px;border-radius:7px;background:#fff;color:var(--ink);display:flex;align-items:center;gap:6px}
.mt em::before{content:"";width:7px;height:7px;border-radius:50%;background:#16A34A}
.mt.ink{background:var(--ink);color:#fff}
.mt.orange{background:var(--brand);color:var(--ink)}
.mt.tint{background:var(--b100);color:var(--ink)}
.jobs{display:flex;flex-direction:column;gap:6px;margin-bottom:auto;margin-top:26px}
.jobs div{background:#1A1D22;border-radius:8px;padding:7px 10px;font-size:12px;display:flex;flex-direction:column}
.jobs b{font-size:12.5px}.jobs span{color:#9AA0A8;font-size:11px}
.yt,.docs{margin-bottom:auto;margin-top:22px}
.docs{display:flex;gap:8px}.docs i{width:46px;height:58px;border-radius:6px;background:#fff;box-shadow:0 8px 16px -8px rgba(81,42,32,.5);position:relative}
.docs i::after{content:"";position:absolute;left:8px;right:8px;top:12px;height:28px;background:repeating-linear-gradient(var(--b200) 0 3px,transparent 3px 8px)}

/* ===== money: sponsors + send ===== */
.money-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,600px);gap:64px;align-items:center}
.money h2.big{max-width:12ch}
.sendto{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}
.stt{background:#fff;border-radius:14px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 14px 30px -20px rgba(81,42,32,.4)}
.stt .lg{width:42px;height:42px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:15px;flex:none}
.stt b{display:block;font-size:16px}.stt small{font-size:13px;color:var(--gray)}
.stt em{margin-left:auto;font-style:normal;font-size:12px;font-weight:700;color:#16A34A}
.ledger{background:var(--ink);color:#fff;border-radius:22px;padding:10px 0 6px;font-size:15px;box-shadow:0 50px 100px -40px rgba(81,42,32,.55)}
.lhead{display:flex;justify-content:space-between;align-items:center;padding:14px 22px 12px}
.lhead b{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em}.lhead .mono{color:#7C838D;font-size:11px}
.ledger .row3{display:grid;grid-template-columns:1.1fr 1.4fr .8fr .6fr;gap:10px;padding:13px 22px;border-top:1px solid #23262c;align-items:center}
.ledger .row3:nth-child(2){font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#7C838D}
.ledger .row3 span:last-child{text-align:right;font-variant-numeric:tabular-nums}
.pill-s{display:inline-block;font-size:12px;font-weight:600;padding:3px 8px;border-radius:5px;background:#23262c;font-style:normal;transition:all .4s}
.pill-s.bk{background:rgba(var(--brand-rgb),.2);color:#FF8A5E}
.ledger .tot{display:flex;justify-content:space-between;align-items:center;padding:16px 22px 12px;border-top:1px solid #23262c;font-weight:700}
.ledger .tot b{font-family:var(--display);font-size:30px;letter-spacing:-.03em;color:var(--brand);font-variant-numeric:tabular-nums}

/* ===== customers ===== */
.quotes{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;align-items:stretch}
.q{border-radius:22px;padding:36px;display:flex;flex-direction:column;gap:22px;position:relative;overflow:hidden}
.q.feat{background:var(--brand)}
.q.dark{background:var(--ink);color:#fff}
.q.soft{background:var(--b100)}
.q .qm{font-family:var(--display);font-weight:900;font-size:180px;line-height:.6;height:78px;letter-spacing:-.04em;color:var(--brand)}
.q.feat .qm{color:#fff}.q.soft .qm{color:var(--b700)}
.q blockquote{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1.18;font-size:23px}
.q.feat blockquote{font-size:clamp(30px,3.2vw,44px);line-height:1.08;letter-spacing:-.04em}
.q .res{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.q .res span{font-size:14px;font-weight:650;padding:8px 12px;border-radius:9px;background:#fff;color:var(--ink)}
.q .res span.was{color:var(--slate);text-decoration:line-through;text-decoration-thickness:2px}
.q.dark .res span{background:#23262C;color:#fff}.q.dark .res span.was{color:#7C838D}
.q .res em{font-style:normal;font-family:var(--display);font-weight:900;font-size:18px}
.q .who{margin-top:auto;display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1.5px solid rgba(11,13,16,.14)}
.q.dark .who{border-color:#2A2E35}
.q .mast{display:flex;flex-direction:column;align-items:center;font-family:var(--display);font-weight:900;font-size:15px;letter-spacing:-.02em;background:var(--ink);color:#fff;border-radius:10px;padding:10px 12px;line-height:1.05;text-align:center;min-width:92px}
.q.dark .mast{background:var(--brand);color:var(--ink)}
.q .mast small{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;font-weight:500;opacity:.7;margin-top:4px}
.q .who b{display:block;font-weight:650;font-size:16px}
.q .who div span{font-size:14px;opacity:.75}

/* ===== pricing ===== */
.pr-head{margin-bottom:48px}
.pr-head h2{font-family:var(--display);font-weight:900;font-size:clamp(42px,5.4vw,78px);line-height:.95;letter-spacing:-.04em;max-width:16ch}
.pricing .kick{color:#fff}
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.receipt{background:#FFFDF9;color:var(--ink);border-radius:18px 18px 0 0;padding:34px 34px 30px;position:relative;display:flex;flex-direction:column;gap:22px;transform:rotate(-1deg);box-shadow:0 40px 80px -40px rgba(var(--brand-rgb),.5)}
.receipt::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:14px;background:linear-gradient(-45deg,transparent 10px,#FFFDF9 0) 0 0/20px 14px repeat-x,linear-gradient(45deg,transparent 10px,#FFFDF9 0) 10px 0/20px 14px repeat-x}
.rc-top{display:flex;justify-content:space-between;align-items:center;border-bottom:2px dashed #C9CDD3;padding-bottom:18px}
.rc-top img{height:28px;width:auto}
.rc-lines{display:flex;flex-direction:column;gap:13px;font-size:16.5px}
.rc-lines div{display:flex;align-items:baseline;gap:10px}
.rc-lines i{flex:1;border-bottom:2px dotted #C9CDD3;transform:translateY(-4px)}
.rc-lines b{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--b700)}
.rc-lines .z b{font-family:var(--display);font-size:24px;letter-spacing:-.03em;color:var(--brand);text-transform:none}
.rc-total{margin-top:auto;border-top:2px solid var(--ink);padding-top:16px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.rc-total span{font-weight:650}
.rc-total b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em;text-align:right;max-width:18ch;line-height:1.15}
.rc-foot{font-size:10.5px;color:var(--slate);text-align:center}
.gf{background:#fff;color:var(--ink);border-radius:22px;padding:34px;display:flex;flex-direction:column;box-shadow:0 50px 100px -40px rgba(var(--brand-rgb),.45)}
.gf-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.gf-top b{font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.03em}
.gf-prog{display:flex;gap:6px}.gf-prog i{width:30px;height:5px;border-radius:3px;background:var(--line);transition:background .3s}.gf-prog i.on{background:var(--ink)}
.gf-step{display:none;flex-direction:column;gap:14px;animation:gfIn .45s var(--ease)}
.gf-step.on{display:flex;flex:1}
.gf-step[data-s="0"] .chips{flex:1;grid-auto-rows:minmax(64px,1fr)}
.gf-step[data-s="0"] .chip{height:auto;font-size:19px;font-family:var(--display);font-weight:800;letter-spacing:-.02em}
@keyframes gfIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.gf-q{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1.2}
.gf-hint{font-size:14px;color:var(--gray);margin-top:-8px}
.chips{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chip{height:64px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--line);font-weight:650;font-size:17px;text-align:left;padding:0 18px;display:flex;align-items:center;transition:box-shadow .2s,background .2s}
.chip:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.chip.on{box-shadow:inset 0 0 0 2.5px var(--ink);background:var(--b50)}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:13.5px;font-weight:600}
.field input{height:52px;border-radius:12px;border:0;box-shadow:inset 0 0 0 1.5px var(--line);padding:0 16px;font:inherit;font-size:16px;outline:none;transition:box-shadow .2s}
.field input:focus{box-shadow:inset 0 0 0 2px var(--ink)}
.dd{position:relative}
.dd-btn{width:100%;height:56px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--line);padding:0 14px 0 16px;display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:500;text-align:left}
.dd-btn:hover,.dd.open .dd-btn{box-shadow:inset 0 0 0 2px var(--ink)}
.dd-btn svg{transition:transform .2s}.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd-btn .ph{color:var(--slate)}
.dd-list{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border-radius:12px;padding:6px;box-shadow:0 24px 50px -18px rgba(11,13,16,.4),inset 0 0 0 1px var(--line);z-index:30;display:none;list-style:none}
.dd.open .dd-list{display:block;animation:gfIn .2s var(--ease)}
.dd-list li{height:44px;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 12px;font-size:15px;cursor:pointer}
.dd-list li:hover,.dd-list li.act{background:var(--mist)}
.dd-list li i{width:8px;height:8px;border-radius:2px;background:transparent}
.dd-list li[aria-selected="true"]{font-weight:650}
.dd-list li[aria-selected="true"] i{background:var(--brand)}
.gf-nav{display:flex;justify-content:space-between;align-items:center;margin-top:18px}
.gf-nav .back{font-weight:600;font-size:15px;color:var(--gray)}
.gf-nav .btn[disabled]{opacity:.35;pointer-events:none}
.gf-done .big{font-family:var(--display);font-weight:900;font-size:36px;letter-spacing:-.04em;line-height:1}
.gf-done .btn{align-self:flex-start}
.gf-trust{margin-top:auto;padding-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gf-trust div{background:var(--mist);border-radius:12px;padding:12px 14px}
.gf-trust b{display:block;font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.02em}
.gf-trust span{font-size:13px;color:var(--gray)}

/* ===== about + faq ===== */
.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.about p{font-size:19px;line-height:1.6;color:var(--gray);margin-top:22px;max-width:52ch}
.about p b{color:var(--ink);font-weight:600}
.faq details{border-top:1.5px solid var(--ink)}
.faq details:last-child{border-bottom:1.5px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.025em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:28px;height:28px;border-radius:7px;box-shadow:inset 0 0 0 1.5px var(--ink);position:relative;flex:none;transition:background .15s}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--ink);transform:translate(-50%,-50%)}
.faq summary .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq details[open] .pm{background:var(--brand);box-shadow:none}
.faq details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq .a{padding:0 48px 24px 0;color:var(--gray);font-size:17px}

/* ===== final cta ===== */
.final{background:var(--brand);position:relative;overflow:hidden}
.final .wrap{padding-top:clamp(90px,11vw,150px);padding-bottom:clamp(90px,11vw,150px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:48px;align-items:center}
.final h2{font-family:var(--display);font-weight:900;font-size:clamp(56px,8vw,124px);line-height:.88;letter-spacing:-.04em}
.final h2 span{color:#fff}
.final p{font-size:20px;max-width:480px;margin-top:30px}
.final .ctas{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}
.stack{position:relative;height:520px}
.pg{position:absolute;width:300px;height:auto;border-radius:12px;box-shadow:0 40px 80px -30px rgba(81,42,32,.7);border:8px solid #fff;background:#fff;transition:transform .8s var(--ease)}
.p0{left:0;top:50px;transform:rotate(-9deg)}
.p1{left:110px;top:20px;transform:rotate(-2deg)}
.p2{left:220px;top:40px;transform:rotate(6deg)}
.final.in .p0{transform:rotate(-12deg) translateX(-14px)}
.final.in .p2{transform:rotate(9deg) translateX(14px)}
.stamp{position:absolute;right:-6px;bottom:30px;width:128px;height:128px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;text-align:center;font-size:13px;font-weight:600;line-height:1.1;transform:rotate(-10deg);box-shadow:0 20px 40px -12px rgba(0,0,0,.5)}
.stamp b{display:block;font-family:var(--display);font-weight:900;font-size:32px;letter-spacing:-.04em;color:var(--brand)}

/* ===== 8th replay family ===== */
.family{background:var(--mist);color:var(--ink);padding:clamp(90px,10vw,140px) 0}
.fam-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;margin-bottom:56px}
.fam-logo{height:88px;width:auto;margin-bottom:22px}
.fam-head h2{font-family:var(--display);font-weight:900;font-size:clamp(32px,3.6vw,48px);letter-spacing:-.04em;line-height:1}
.fam-head p{color:var(--gray);font-size:19px;max-width:620px}
.fam-site{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.035em;border-bottom:3px solid var(--ink);padding-bottom:2px;margin-top:6px}
.fam-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.fam-card{background:#fff;color:var(--ink);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease);box-shadow:0 30px 60px -40px rgba(11,13,16,.4)}
.fam-card:hover{transform:translateY(-4px)}
.fam-art{height:230px;position:relative;overflow:hidden}
.fam-body{padding:28px 30px 30px;display:flex;flex-direction:column;gap:16px;flex:1}
.fam-lock{height:44px;width:auto;align-self:flex-start}
.fam-pitch{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.025em;line-height:1.2}
.fam-body ul{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:16px;color:#3A3F47}
.fam-body li{display:flex;gap:10px;align-items:baseline}
.fam-body li i{width:8px;height:8px;border-radius:2px;flex:none;transform:translateY(-1px)}
.fam-body .btn{margin-top:auto;align-self:flex-start;height:48px;font-size:15.5px}

/* footer */
footer{background:var(--ink);color:#fff;padding:0 0 36px}
footer .wrap{border-top:1px solid #23262c;padding-top:64px}
.f-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.f-top .logo .wm{height:26px}
.f-top .ftag{color:#A3A9B2;margin-top:18px;max-width:34ch;font-size:15.5px}
.f-col h4{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#7C838D;font-weight:500;margin-bottom:16px}
.f-col a{display:block;font-size:15.5px;padding:5px 0;color:#E3E5E9}
.f-col a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.f-bot{margin-top:56px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#7C838D;font-size:14px}
.f-bot a:hover{color:#fff}

/* modal (walkthrough) */
.modal{position:fixed;inset:0;z-index:200;background:rgba(11,13,16,.85);display:none;place-items:center;padding:24px}
.modal.open{display:grid}
.modal .box{width:min(1100px,100%);aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden;position:relative}
.modal iframe,.modal video{width:100%;height:100%;border:0}
.modal .x{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:9px;background:#fff;color:var(--ink);font-weight:700;z-index:2}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .src,.rv,.snd{opacity:1;transform:none}
  .feed-in{transform:none}
}

/* legal pages */
.lg-hero{background:var(--brand)}
.lg-hero .t{padding-top:56px;padding-bottom:64px}
.lg-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(52px,7vw,96px);letter-spacing:-.04em;line-height:.92;margin:18px 0 16px}
.legal-body{padding:64px 0 120px}
.legal-body .page{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:240px minmax(0,720px);column-gap:72px;align-items:start}
.legal-body .page>*:not(.legal-nav){grid-column:2;min-width:0}
.legal-nav{grid-column:1;grid-row:1 / span 999;align-self:start;position:sticky;top:28px;display:flex;flex-direction:column;border-top:1.5px solid var(--ink)}
.legal-body .legal-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-weight:550;font-size:15px;text-decoration:none}
.legal-nav a:hover{color:var(--brand)}
.tldr{background:var(--b50);border-radius:16px;padding:28px 30px;margin-bottom:40px}
.tldr .ctag,.legal-contact .label{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:10px}
.tldr p{font-size:18px;color:var(--ink)}
.tldr p+p{margin-top:12px}
.legal-body h2{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.035em;line-height:1.1;margin:52px 0 14px;scroll-margin-top:24px}
.legal-body h3{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em;margin:28px 0 8px}
.legal-body p,.legal-body li{color:#2B2F35;font-size:17px;line-height:1.65}
.legal-body p+p{margin-top:12px}
.legal-body ul,.legal-body ol{padding-left:22px;margin:10px 0 14px}
.legal-body li{margin:5px 0}
.legal-body a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--brand)}
.callout-strong{background:var(--ink);color:#fff!important;border-radius:12px;padding:20px 22px;margin:16px 0}
.callout-strong *{color:#fff!important}
.legal-contact{margin-top:18px;border:1.5px solid var(--ink);border-radius:14px;padding:22px 24px}
.legal-contact .who{font-weight:650;color:var(--ink)}
.legal-contact p{margin:2px 0!important}

/* responsive */
@media (max-width:1240px){
  .screen{--z:1}
  .hero-grid{grid-template-columns:1fr}
  .flow{max-width:760px}
  .hero h1{max-width:12ch}.hero h1 br{display:none}
  .nav{grid-template-columns:auto 1fr auto}.nav .links{justify-self:center;gap:24px}
}
@media (max-width:1060px){
  .nav .links{display:none}
  .pin{grid-template-columns:1fr}
  .pin-left{position:static;height:auto;padding-bottom:10px}
  .pin-stage{position:static;height:auto;display:block}
  .step2 p{max-height:none}
  .step2{opacity:1}
  .panel-wrap{aspect-ratio:auto;max-height:none;height:auto;display:flex;flex-direction:column;gap:14px}
  .panel{position:relative;opacity:1;transform:none;inset:auto}
  .app{grid-template-columns:150px 1fr}
}
@media (max-width:980px){
  .head{grid-template-columns:1fr;gap:22px}
  .tile.a,.tile.b,.tile.c,.tile.d{grid-column:span 12}
  .quotes{grid-template-columns:1fr}.q.feat{grid-row:auto}
  .about{grid-template-columns:1fr;gap:48px}
  .price-grid{grid-template-columns:1fr}
  .ba{grid-template-columns:1fr}
  .final .wrap{grid-template-columns:1fr}
  .fam-cards{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr 1fr}
  .chapters{grid-template-columns:auto repeat(5,minmax(120px,1fr));overflow-x:auto}
}
@media (max-width:760px){
  body{font-size:16px}
  .nav{height:72px;display:flex;justify-content:space-between}
  .nav .r .signin,.nav .r .btn{display:none}
  .menu-btn{display:grid}
  .mobile-menu.open{display:flex;flex-direction:column;gap:4px;position:absolute;left:var(--pad);right:var(--pad);top:70px;background:#fff;border-radius:14px;padding:12px;z-index:30;box-shadow:0 30px 60px -20px rgba(0,0,0,.4)}
  .mobile-menu a{padding:12px;font-weight:600;border-radius:8px}
  .mobile-menu a:hover{background:var(--mist)}
  .mobile-menu .btn{margin-top:6px}
  .hero .eyebrow{margin:12px 0 18px}
  .hero .sub{font-size:18px;margin-top:24px}
  .hero .ctas .btn{flex:1}
  .flow{display:block;min-height:0;margin-top:20px}
  .flow .lbl,.hub,svg.wires{display:none}
  .cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:0}
  .src{height:auto;flex-direction:column;align-items:flex-start;padding:10px;gap:10px}
  .src img{width:100%;height:84px}
  .src .from,.src .ok{display:none}
  .src .cat{font-size:17px}
  .src .t{font-size:12.5px;line-height:17px;margin-top:4px}
  .issue{margin:26px auto 30px;max-width:362px}
  .issue .scr{height:560px}
  .hero-meta{flex-direction:column;gap:6px}
  .hero-meta span:nth-child(2){display:none}
  .proof .wrap{grid-template-columns:1fr 1fr}
  .stat{padding:30px 0;border-left:0;padding-left:0!important;border-top:1px solid #23262c}
  .stat:nth-child(-n+2){border-top:0}
  .stat:nth-child(even){padding-left:20px!important;border-left:1px solid #23262c}
  .player{padding:6px;border-radius:14px}
  .screen{aspect-ratio:4/5}
  .app{grid-template-columns:1fr;grid-template-rows:48px 1fr}
  .app .side{display:none}
  .compose,.publish{grid-template-columns:1fr}
  .compose .voice{display:none}
  .publish .plist{display:none}
  .ledger2 .lr{grid-template-columns:1fr 1.2fr .7fr;font-size:12.5px}
  .ledger2 .lr span:nth-child(3){display:none}
  .caption{left:12px;bottom:12px;max-width:90%}
  .chapters{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
  .chapters .pp{width:auto;min-height:52px}
  .chap{padding:10px 12px 12px}.chap b{font-size:13.5px}
  .srcgrid{grid-template-columns:1fr 1fr}
  .tplpick{grid-template-columns:1fr 1fr}.tplpick .tp:nth-child(3){display:none}
  .pub{grid-template-columns:1fr}
  .story{grid-template-columns:1fr}.story img{width:100%;height:140px}
  .bacard{padding:24px}
  .bacard .t .dur{font-size:40px}
  .tile{padding:24px}
  .ledger .row3{grid-template-columns:1fr 1.2fr .7fr;font-size:13px;padding:10px 14px}
  .ledger .row3 span:nth-child(3){display:none}
  .plats{grid-template-columns:1fr}
  .q{padding:26px}.q .qm{font-size:130px;height:58px}
  .incl{grid-template-columns:1fr}
  .gf{padding:22px}
  .chips{grid-template-columns:1fr}
  .snd:nth-child(2),.snd:nth-child(3){margin-left:0}
  .faq summary{font-size:18px}
  .f-top>div:first-child{grid-column:1 / -1}
  .fam-art{height:190px}
  .legal-body .page{grid-template-columns:1fr;gap:0}
  .legal-body .page>*{grid-column:1!important}
  .legal-nav{position:static;grid-row:auto;margin-bottom:36px}
}

/* demo publish: subject line */
.subj{background:#fff;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;box-shadow:0 0 0 2px var(--brand)}
.subj .mono{font-size:9.5px;color:var(--b700)}
.subj b{font-size:14px}.subj small{font-size:12px;color:var(--slate)}

/* ===== responsive for v3 sections ===== */
@media (max-width:1240px){
  .gif-head{grid-template-columns:1fr;gap:22px}
  .money-grid{grid-template-columns:1fr;gap:40px}
  .final .wrap{grid-template-columns:1fr}
  .stack{height:460px;max-width:540px}
}
@media (max-width:1060px){
  .pin{grid-template-columns:1fr;gap:24px}
  .pin-left,.pin-stage{position:static;height:auto;display:block}
  .pin-left{padding-top:80px}
  .pin-stage{padding-bottom:80px}
  .steps2{margin-top:22px}
  .step2{opacity:1}.step2 p{max-height:none}.step2 .num{color:var(--brand)}
  .blk{display:block}.blk.media{display:grid}
  .b-send{position:static;transform:none}
  .b-body{height:auto}
  .drop{display:none}
  .mosaic{grid-template-columns:repeat(2,1fr)}
  .price-grid{grid-template-columns:1fr}
  .receipt{transform:none}
}
@media (max-width:760px){
  .hero h1{font-size:clamp(44px,12.5vw,60px)}
  .b-body{grid-template-columns:1fr}
  .rail{display:none}
  .blk.media{grid-template-columns:1fr}.blk.media img{width:100%;height:140px}
  .b-send{flex-direction:column;align-items:flex-start}
  .gif-row{grid-template-columns:1fr}
  .gcard:nth-child(2),.gcard:nth-child(3){margin-top:0}
  .mosaic{grid-auto-rows:170px}
  .mt.big{grid-column:span 2;grid-row:span 1}
  .mt.big .mtx b{font-size:32px}
  .mtx b{font-size:21px}
  .jobs div:nth-child(n+2){display:none}
  .sendto{grid-template-columns:1fr}
  .ledger .row3{grid-template-columns:1fr 1.2fr .7fr;font-size:13px;padding:11px 16px}
  .ledger .row3 span:nth-child(3){display:none}
  .lhead{padding:12px 16px}
  .receipt{padding:26px 22px}
  .rc-lines{font-size:15px}
  .rc-total{flex-direction:column;gap:6px}.rc-total b{text-align:left}
  .gf{padding:24px}
  .gf-trust{grid-template-columns:1fr 1fr 1fr;gap:6px}.gf-trust div{padding:10px}.gf-trust b{font-size:14px}.gf-trust span{font-size:11.5px}
  .stack{height:380px}
  .pg{width:190px;border-width:5px}
  .p1{left:70px}.p2{left:140px}
  .stamp{width:96px;height:96px;font-size:11px;right:0}.stamp b{font-size:24px}
  .fam-logo{height:56px}
}

/* demo: review scene */
.review{background:#fff;border-radius:12px;padding:6px 16px 10px;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.rv-head{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.rv-head b{font-size:15px}
.chk{display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);opacity:.45;transition:opacity .3s}
.chk:last-child{border-bottom:0}
.chk i{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 2px #C9CDD3;display:grid;place-items:center;transition:all .3s}
.chk b{display:block;font-size:14px}.chk small{font-size:12px;color:var(--slate)}
.chk em{font-style:normal;font-size:12px;font-weight:700;color:var(--slate)}
.chk.done{opacity:1}
.chk.done i{background:#16A34A;box-shadow:none}
.chk.done i::after{content:"";width:9px;height:5px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.chk.done em{color:#16A34A}
.chk.fix.done i{background:var(--brand)}.chk.fix.done em{color:var(--b700)}

/* sources: designed cards, no photos */
.mt{justify-content:space-between}
.mt .mtx b{font-size:24px}
.mt.big .mtx b{font-size:44px}
.c-ink{background:var(--ink);color:#fff}
.c-orange{background:var(--brand);color:var(--ink)}
.c-tint{background:var(--b100);color:var(--ink)}
.c-tint2{background:#FFF3EF;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--b200)}
.c-line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.mt em{box-shadow:0 1px 0 rgba(0,0,0,.06)}
.c-line em,.c-tint2 em{background:var(--mist)}
.art{margin-top:30px;display:flex;flex-direction:column;gap:4px}
.art .nm{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.03em;line-height:1.05}
.art small{font-size:13px;opacity:.75}
.art .price{font-family:var(--display);font-weight:900;font-size:48px;letter-spacing:-.04em;line-height:.9;color:var(--b700)}
.badge{align-self:flex-start;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 8px;border-radius:6px;background:var(--ink);color:#fff;margin-bottom:6px}
.c-orange .badge{background:#fff;color:var(--ink)}
.badge.dk{background:var(--brand);color:var(--ink)}
.art.news{gap:10px;margin-top:40px}
.nl{background:#1A1D22;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.nl b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em;line-height:1.15}
.tg{align-self:flex-start;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);font-weight:600}
.art.cal{flex-direction:row;align-items:center;gap:12px}
.dt{width:58px;height:62px;border-radius:10px;background:var(--brand);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}
.dt small{font-family:var(--mono);font-size:10px;font-weight:600;opacity:1}.dt b{font-family:var(--display);font-weight:900;font-size:28px;line-height:.9}
.art.cal div b{font-size:15px}
.art.pet{flex-direction:row;align-items:center;gap:12px}
.docs i{box-shadow:0 8px 16px -8px rgba(11,13,16,.3),inset 0 0 0 1px var(--line)}

/* tech section */
.tech-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:stretch}
.agent{background:#fff;color:var(--ink);border-radius:22px;padding:26px 28px;display:flex;flex-direction:column;box-shadow:0 50px 100px -40px rgba(var(--brand-rgb),.45)}
.ag-top{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.ag-ic{width:46px;height:46px;border-radius:12px;background:var(--brand);display:grid;place-items:center;flex:none}
.ag-ic img{height:30px;width:auto}
.ag-top b{display:block;font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em}
.ag-top small{font-size:13px;color:var(--slate)}
.ag-st{margin-left:auto;font-size:12.5px;font-weight:700;padding:6px 10px;border-radius:8px;background:var(--mist);color:var(--gray)}
.ag-st.ok{background:#DCFCE7;color:#166534}
.ag-row{display:grid;grid-template-columns:28px 1fr auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);opacity:.4;transition:opacity .4s}
.ag-row i{width:24px;height:24px;border-radius:50%;box-shadow:inset 0 0 0 2px #C9CDD3;display:grid;place-items:center;transition:all .3s}
.ag-row b{display:block;font-size:16px}.ag-row span{font-size:14px;color:var(--gray)}
.ag-row em{font-style:normal;font-size:13px;font-weight:700;color:var(--slate)}
.ag-row.done{opacity:1}.ag-row.done i{background:#16A34A;box-shadow:none}
.ag-row.done i::after{content:"";width:10px;height:5px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.ag-row.done em{color:#16A34A}
.ag-note{margin-top:18px;background:var(--b50);border-radius:12px;padding:14px 16px;font-size:14.5px;opacity:0;transform:translateY(8px);transition:all .5s}
.agent.fin .ag-note{opacity:1;transform:none}
.dev{background:#15181D;border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:18px;box-shadow:inset 0 0 0 1px #2A2E35}
.dev-top{display:flex;justify-content:space-between;align-items:center}
.dev-top b{font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.03em}
.dev-top .mono{color:var(--brand)}
.dev p{color:#A3A9B2;font-size:16.5px}
.code{background:#0B0D10;border-radius:14px;padding:18px;font-family:var(--mono);font-size:13.5px;line-height:1.5;display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 0 0 1px #23262C}
.cl{color:#E3E5E9}
.cl span{display:inline-block;min-width:54px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin-right:6px}
.c1{color:#9AA0A8}.c2{color:#FEA88C}.c3{color:var(--brand)}
.cl.ok{color:#4ADE80}
.dev-stats{margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dev-stats div{background:#1E2127;border-radius:12px;padding:14px}
.dev-stats b{display:block;font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:-.04em;color:#fff}
.dev-stats span{font-size:13px;color:#9AA0A8}
@media (max-width:980px){.tech-grid{grid-template-columns:1fr}}
@media (max-width:760px){.art.news .nl:nth-child(3){display:none}.nl b{font-size:16px}.art .price{font-size:36px}.dev-stats b{font-size:22px}.code{font-size:12px}}
.art.cal>div:last-child,.art.pet>div{display:flex;flex-direction:column;gap:2px}
.art.pet .nm{font-size:22px}
.acts{display:flex;flex-wrap:wrap;gap:6px}
.acts span{font-family:var(--mono);font-size:12px;padding:6px 9px;border-radius:7px;background:#1E2127;color:#C9CDD3}
.acts span.hl{background:rgba(var(--brand-rgb),.18);color:#FEA88C}
.gif-note{margin-top:64px;text-align:center;color:#A3A9B2;font-size:15px}
.ag-note span{display:block;margin-top:6px;font-weight:700;color:var(--b700)}

/* ===== v4: real app screens, real sections, one-thing feeds, human review ===== */
/* hero: keep the headline clear of the flow */
@media (min-width:1061px){
  .hero-grid{gap:72px;grid-template-columns:minmax(0,1fr) minmax(0,740px)}
  .hero h1{font-size:clamp(50px,5.2vw,80px)}
  .flow{grid-template-columns:262px 1fr 362px}
}
@media (min-width:1061px) and (max-width:1240px){.hero-grid{gap:48px}}

/* browser frame used by the demo and how-it-works */
.browser{position:relative;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px var(--line),0 60px 120px -60px rgba(11,13,16,.55)}
.browser .bb{height:44px;display:flex;align-items:center;gap:14px;padding:0 16px;background:var(--mist);border-bottom:1px solid var(--line)}
.browser .b-dots{display:flex;gap:6px}.browser .b-dots i{width:11px;height:11px;border-radius:50%;background:#D6D9DE}
.browser .url{flex:1;max-width:340px;margin:0 auto;height:28px;border-radius:8px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--gray)}
.browser .real{font-size:10.5px;color:var(--b700);background:var(--b50);padding:5px 9px;border-radius:6px}
.browser .timer{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink);background:#fff;padding:5px 10px;border-radius:7px;box-shadow:inset 0 0 0 1px var(--line)}
.browser .timer i{width:8px;height:8px;border-radius:50%;background:var(--brand);animation:pulse 1.4s ease-in-out infinite}
.stage{position:relative;aspect-ratio:2192/888;overflow:hidden;background:#F5F1E8}
.screen.browser{aspect-ratio:auto;border-radius:16px}
.shot{position:absolute;inset:0;opacity:0;transition:opacity .5s ease}
.shot.on{opacity:1}
.cam{position:absolute;left:0;top:0;transform-origin:0 0;transition:transform 2s cubic-bezier(.45,0,.2,1);will-change:transform}
.cam img{width:100%;height:100%;display:block}
.hl{position:absolute;border-radius:8px;box-shadow:0 0 0 3px var(--brand),0 0 0 9999px rgba(11,13,16,0);opacity:0;transition:opacity .4s,box-shadow .6s}
.shot.hot .hl{opacity:1;box-shadow:0 0 0 3px var(--brand),0 0 0 9999px rgba(11,13,16,.28);animation:hlp 1.6s ease-in-out infinite}
@keyframes hlp{50%{box-shadow:0 0 0 6px rgba(var(--brand-rgb),.55),0 0 0 9999px rgba(11,13,16,.28)}}
.stage .caption{left:22px;bottom:22px;max-width:70%}
.stage .caption .cap{font-size:clamp(18px,2vw,30px)}
.stage .toast{right:22px;top:22px;bottom:auto}
.stage .toast span{color:#A3A9B2}
.pin-stage .browser{width:100%}
.bshots .stage{aspect-ratio:16/11}

/* GIFs: the real sections, as sent */
.gif-row2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:center}
.gm .mail{position:relative;background:#fff;border-radius:4px;box-shadow:0 0 0 12px #fff,0 50px 90px -40px rgba(var(--brand-rgb),.55);margin:12px}
.gm .mail .base{width:100%;height:auto}
.gm .mail .gif{position:absolute;object-fit:cover;border-radius:6px}
.gm figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:26px 12px 0}
.gm figcaption b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em;color:#fff}
.gm figcaption span{font-size:14px;color:#A3A9B2}
.gif-note{margin-top:34px;color:#A3A9B2;font-size:14.5px;text-align:center}

/* feeds: one big word, one small line */
.feeds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.feed{border-radius:18px;padding:30px 28px 26px;min-height:210px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px}
.feed b{font-family:var(--display);font-weight:900;font-size:clamp(40px,4.2vw,62px);line-height:.9;letter-spacing:-.04em}
.feed span{font-size:16px;line-height:1.35}
/* every feed tile its own color; dark and light alternate like a checkerboard at every width */
.f1{background:var(--ink);color:#fff}.f1 span{color:#A3A9B2}
.f2{background:var(--brand);color:var(--ink)}
.f3{background:var(--b900);color:#fff}.f3 span{color:var(--b200)}
.f4{background:var(--b100);color:var(--ink)}.f4 span{color:var(--b700)}
.f5{background:var(--b300);color:var(--ink)}.f5 span{color:var(--b900)}
.f6{background:var(--b700);color:#fff}.f6 span{color:var(--b100)}
.f7{background:var(--mist);color:var(--ink)}.f7 span{color:var(--gray)}
.f8{background:var(--gray);color:#fff}.f8 span{color:#DADDE2}
@media (max-width:1060px){.feeds .f3{order:5}.feeds .f4{order:6}.feeds .f5{order:3}.feeds .f6{order:4}.feeds .f7{order:7}.feeds .f8{order:8}}

/* review agent, for humans */
.tech2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:72px;align-items:center}
.tech2 .big{margin-top:14px}
.tech2 .lede{margin-top:22px;max-width:520px}
.t2-nums{display:flex;gap:44px;margin-top:40px}
.t2-nums b{display:block;font-family:var(--display);font-weight:900;font-size:64px;line-height:.9;letter-spacing:-.04em;color:var(--brand)}
.t2-nums span{display:block;margin-top:8px;font-size:14.5px;color:#A3A9B2}
.t2-link{display:inline-block;margin-top:40px;font-size:15.5px;color:#fff;border-bottom:2px solid var(--brand);padding-bottom:3px}
.catch{background:#fff;color:var(--ink);border-radius:22px;padding:30px 32px 32px;transform:rotate(1.2deg);box-shadow:0 60px 120px -50px rgba(var(--brand-rgb),.6)}
.c-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.c-top .mono{font-size:11px;color:var(--slate)}
.c-badge{background:var(--brand);color:var(--ink);font-weight:700;font-size:13.5px;padding:7px 12px;border-radius:8px}
.c-sec{margin-top:30px;font-size:11.5px;color:var(--b700);letter-spacing:.16em}
.c-job{font-family:var(--display);font-weight:900;font-size:40px;letter-spacing:-.04em;line-height:1;margin-top:8px}
.c-job small{display:block;font-family:var(--body);font-weight:400;font-size:15px;letter-spacing:0;color:var(--gray);margin-top:10px}
.c-fix{display:flex;flex-direction:column;gap:6px;margin-top:26px}
.c-fix .was{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.03em;color:var(--slate);position:relative;width:max-content}
.c-fix .was::after{content:"";position:absolute;left:-4px;right:-4px;top:52%;height:4px;background:#DC2626;border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.c-fix .now{font-family:var(--display);font-weight:900;font-size:44px;letter-spacing:-.04em;color:#15803D;opacity:0;transform:translateY(8px);transition:all .5s var(--ease) .5s}
.catch.fixed .was::after{transform:scaleX(1)}.catch.fixed .now{opacity:1;transform:none}
.c-src{display:flex;gap:14px;align-items:flex-start;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.c-src i{flex:none;width:28px;height:28px;border-radius:50%;background:#16A34A;display:grid;place-items:center}
.c-src i::after{content:"";width:10px;height:6px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.c-src b{display:block;font-size:16px}.c-src span{font-size:14px;color:var(--gray)}
.catch:not(.fixed) .now{visibility:visible}

@media (max-width:1060px){
  .tech2{grid-template-columns:1fr;gap:48px}
  .catch{transform:none;max-width:560px}
  .feeds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gif-row2{grid-template-columns:1fr;max-width:460px;margin:0 auto}
}
@media (max-width:760px){
  .stage{aspect-ratio:4/3}
  .bshots .stage{aspect-ratio:4/3}
  .browser .url{display:none}
  .stage .caption{left:12px;bottom:12px;max-width:88%}
  .feed{min-height:150px;padding:22px 20px}
  .t2-nums{gap:24px}.t2-nums b{font-size:46px}
  .c-job{font-size:32px}.c-fix .now{font-size:34px}.c-fix .was{font-size:24px}
}

/* ===== /agents page ===== */
.ag-sub{font-size:21px;max-width:620px;line-height:1.45}
.ag-intro{background:#fff;padding:96px 0}
.ag-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:72px;align-items:center}
.ag-intro h2,.ag-connect h2,.ag-tools h2{font-family:var(--display);font-weight:900;font-size:clamp(36px,4vw,56px);letter-spacing:-.04em;line-height:.95}
.ag-intro p{margin-top:20px;font-size:19px;color:var(--gray);max-width:560px}
.ag-say{background:var(--ink);color:#fff;border-radius:20px;padding:30px 32px}
.ag-say .mono{font-size:11px;color:var(--brand)}
.ag-say p{color:#fff!important;font-size:21px!important;margin:10px 0 26px!important;font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.25}
.ag-say p:last-child{margin-bottom:0!important}
.ag-say code,.ag-group code{font-family:var(--mono);font-size:13px}
.ag-say .flow2{display:flex;gap:8px;flex-wrap:wrap}
.ag-say .flow2 code{background:#23262C;padding:6px 10px;border-radius:7px;font-size:14px;font-weight:500}
.ag-connect{background:var(--mist);padding:96px 0}
.ag-steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:1fr 1.4fr;gap:20px;margin-top:40px}
.ag-steps li{counter-increment:s;background:#fff;border-radius:18px;padding:28px}
.ag-steps li::before{content:counter(s);display:block;font-family:var(--display);font-weight:900;font-size:48px;line-height:1;color:var(--brand);letter-spacing:-.04em;margin-bottom:14px}
.ag-steps b{display:block;font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.03em}
.ag-steps span{display:block;margin-top:6px;color:var(--gray)}
.ag-steps pre{margin-top:18px;background:var(--ink);color:#fff;border-radius:12px;padding:18px 20px;font-family:var(--mono);font-size:14px;line-height:1.7;overflow-x:auto}
.ag-tools{background:#fff;padding:96px 0 120px}
.ag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:40px}
.ag-group{border-radius:18px;padding:26px;box-shadow:inset 0 0 0 1.5px var(--line)}
.ag-group h3{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.03em}
.ag-group p{margin-top:6px;color:var(--gray);font-size:15.5px}
.ag-group ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.ag-group li code{display:block;background:var(--mist);padding:5px 9px;border-radius:6px;font-size:12.5px}
@media (max-width:980px){.ag-2,.ag-steps{grid-template-columns:1fr;gap:28px}.ag-intro,.ag-connect,.ag-tools{padding:64px 0}}

/* ===== family: living icons (lightning strikes, bird pecks and takes off, hand pops up and waves) ===== */
.fam-art .fam-ic{position:absolute;display:block}
.fam-art .fam-ic img{display:block;height:100%;width:auto;max-width:none}
/* bolt: three strikes in three places, each drops from the sky, holds, and vanishes */
.a-bolt .flash{position:absolute;inset:0;background:#fff;opacity:0;animation:sky 3.6s linear infinite}
.a-bolt .fam-ic{top:-6px;height:230px;opacity:0;transform-origin:50% 0;animation:strike 3.6s linear infinite}
.a-bolt .s1{left:12%}
.a-bolt .s2{left:62%;height:200px;animation-delay:1.2s}
.a-bolt .s3{left:38%;height:250px;animation-delay:2.4s}
.a-bolt .s2 img{transform:scaleX(-1)}
@keyframes strike{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-10px)}
  2%{opacity:1;clip-path:inset(0 0 45% 0);transform:none}4%{clip-path:inset(0 0 0 0)}
  6%{opacity:.25}8%{opacity:1}14%{opacity:1;transform:translate(0,0)}15%{transform:translate(-2px,1px)}16%{transform:translate(2px,-1px)}
  24%{opacity:1;transform:none}32%,100%{opacity:0;clip-path:inset(0 0 0 0)}}
@keyframes sky{0%,100%{opacity:0}2%{opacity:.5}4%{opacity:0}6%{opacity:.25}9%{opacity:0}
  33.3%{opacity:0}35.3%{opacity:.5}37.3%{opacity:0}39.3%{opacity:.25}42.3%{opacity:0}
  66.6%{opacity:0}68.6%{opacity:.5}70.6%{opacity:0}72.6%{opacity:.25}75.6%{opacity:0}}
/* bird: walks in from the right, stops, pecks twice, looks around, then takes off to the left */
.a-bird .fam-ic{bottom:18px;height:170px;left:100%;animation:bird 10s linear infinite}
.a-bird .fam-ic img{transform-origin:40% 95%;animation:birdbody 10s linear infinite}
@keyframes bird{0%{left:100%;bottom:18px}30%{left:52%;bottom:18px}62%{left:52%;bottom:18px}72%{left:34%;bottom:40px}100%{left:-240px;bottom:260px}}
@keyframes birdbody{0%,4%,8%,12%,16%,20%,24%,28%{transform:translateY(0) rotate(-3deg)}2%,6%,10%,14%,18%,22%,26%{transform:translateY(-9px) rotate(3deg)}
  30%{transform:none}34%{transform:rotate(22deg)}37%{transform:none}40%{transform:rotate(22deg)}43%{transform:none}
  47%{transform:rotate(-10deg)}51%{transform:rotate(-10deg)}53%{transform:rotate(6deg)}57%{transform:none}62%{transform:translateY(4px) scaleY(.94)}
  66%{transform:translateY(-6px) rotate(-12deg)}100%{transform:rotate(-18deg)}}
/* hand: pops up from the bottom, throws a shaka, drops back down */
.a-hand .fam-ic{right:40px;bottom:-26px;height:220px;transform-origin:62% 92%;animation:shaka 3.8s var(--ease) infinite}
@keyframes shaka{0%{transform:translateY(110%) rotate(0)}14%{transform:translateY(-6%) rotate(0)}18%{transform:translateY(0)}
  24%{transform:rotate(-16deg)}30%{transform:rotate(13deg)}36%{transform:rotate(-12deg)}42%{transform:rotate(10deg)}48%{transform:rotate(-6deg)}54%{transform:rotate(3deg)}58%,74%{transform:rotate(0)}
  88%,100%{transform:translateY(110%) rotate(8deg)}}
.fam-card:hover .a-hand .fam-ic{animation-duration:2.4s}
@media (max-width:760px){.a-hand .fam-ic{height:170px;right:24px}.a-bird .fam-ic{height:130px}.a-bolt .fam-ic{height:180px}.a-bolt .s2{height:150px}.a-bolt .s3{height:200px}}
@media (prefers-reduced-motion:reduce){.fam-art .fam-ic,.fam-art .fam-ic img,.a-bolt .flash{animation:none!important}.a-bird .fam-ic{left:auto;right:40px}.a-bolt .fam-ic{opacity:0}.a-bolt .s3{opacity:1}.a-hand .fam-ic{transform:none}}

/* ===== proof numbers: rise in one by one, count up, settle ===== */
.proof .stat{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .9s cubic-bezier(.34,1.56,.64,1)}
.proof .stat:nth-child(2){transition-delay:.12s}.proof .stat:nth-child(3){transition-delay:.24s}.proof .stat:nth-child(4){transition-delay:.36s}
.proof.in .stat{opacity:1;transform:none}
.proof .stat .n{display:inline-block}
.proof.in .stat .n{animation:settle 1.4s cubic-bezier(.34,1.56,.64,1) both}
.proof.in .stat:nth-child(2) .n{animation-delay:.12s}.proof.in .stat:nth-child(3) .n{animation-delay:.24s}.proof.in .stat:nth-child(4) .n{animation-delay:.36s}
@keyframes settle{0%{transform:scale(.86)}60%{transform:scale(1.04)}100%{transform:none}}
@media (prefers-reduced-motion:reduce){.proof .stat{opacity:1;transform:none;transition:none}.proof.in .stat .n{animation:none}}

/* ===== alternate sides: .flip puts the text on the right on wide screens ===== */
@media (min-width:1061px){
  .flip .pin{grid-template-columns:minmax(0,1fr) minmax(0,420px)}
  .flip .pin-left{order:2}
  .flip .pin-left > *{max-width:460px}
  .flip .pin-stage{justify-content:center}
}
@media (min-width:981px){
  .about.flip > :first-child{order:2}
  .tech2.flip{grid-template-columns:minmax(0,560px) minmax(0,1fr)}
  .tech2.flip > :first-child{order:2}
  .head.flip{grid-template-columns:minmax(0,440px) minmax(0,1fr)}
  .head.flip > :first-child{order:2;justify-self:end;text-align:right}
  .head.flip > :first-child .kick{justify-content:flex-end}
  .head.flip h2.big{margin-left:auto}
}

/* agents page: long commands never push the page sideways on a phone */
.ag-steps li,.ag-grid > *,.ag-2 > *{min-width:0}
.ag-steps pre{max-width:100%}
.ag-group li code{white-space:normal;word-break:break-word}
/* ================= articles (SaaS family template) =================
 /articles index, article pages (basic + rich) and their blocks. Built by _kit/articles.py.
 Brand colors come from tokens-<brand>.css; --on-brand is the text color that sits on the brand color. */

/* ---- art: the illustration (or the icon panel) with a second version that shows on hover ---- */
.ax-art{position:relative;display:block;overflow:hidden;background:var(--brand);aspect-ratio:16/10}
.ax-art > .v1,.ax-art > .v2{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease,transform .8s var(--ease)}
.ax-art > .v2{opacity:0;transform:scale(1.04)}
a:hover .ax-art > .v1{opacity:0;transform:scale(1.04)}a:hover .ax-art > .v2{opacity:1;transform:none}
.ar-fb{display:flex;align-items:center;justify-content:center;overflow:hidden}
.ar-fb{position:relative}
.ar-fb::before{content:"";position:absolute;right:-8%;bottom:-22%;width:62%;height:100%;background:var(--ic) no-repeat center/contain;opacity:.13;transform:rotate(16deg)}
.ar-fb.fp2::before,.ar-fb.fp4::before{right:auto;left:-10%;transform:rotate(-14deg)}
.ar-fb.fb-light::before{opacity:.1}
.ar-fb.fb-reverse{background:var(--brand)}
.ar-fb.fb-light{background:var(--b50)}
.ar-fb img{height:64%;width:auto;max-width:none;filter:drop-shadow(0 18px 24px rgba(11,13,16,.18))}
.ar-fb.fp1 img{transform:translate(-14%,6%) rotate(-9deg)}
.ar-fb.fp2 img{transform:translate(16%,-3%) rotate(7deg)}
.ar-fb.fp3 img{transform:translate(0,10%) rotate(-4deg) scale(1.14)}
.ar-fb.fp4 img{transform:translate(-6%,-6%) rotate(11deg)}

/* ---- /articles ---- */
.art-list-head{background:var(--brand);color:var(--on-brand);padding:56px 0 72px}
.art-list-head h1{font-family:var(--display);font-weight:900;font-size:clamp(48px,6vw,88px);line-height:.93;letter-spacing:-.04em;max-width:16ch}
.art-list-head p{font-size:20px;line-height:1.5;opacity:.9;margin-top:22px;max-width:56ch}
.art-list-head .kick i{background:var(--ink)}
.art-list{background:var(--mist)}
section.s.art-list{padding-top:clamp(48px,6vw,80px)}
.ax-k{display:block;font-size:11px;color:var(--b700)}
.ax-dek{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--gray)}
.ax-by{display:flex;align-items:center;gap:10px}
.ax-by strong{font-size:13.5px;font-weight:650}
.ax-by i{margin-left:auto;font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--b700);background:var(--b50);padding:6px 8px;border-radius:6px}
.ar-av{display:block;flex:none;width:32px;height:32px;border-radius:50%;overflow:hidden}
.ar-av img{width:100%;height:100%;object-fit:cover;transform:scale(1.3)}

/* lead: one big story */
.ax-lead{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;background:#fff;color:var(--ink);border-radius:28px;padding:12px;box-shadow:0 1px 0 rgba(11,13,16,.05),0 40px 70px -50px rgba(var(--brand-deep-rgb),.6);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.ax-lead:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(11,13,16,.05),0 56px 90px -50px rgba(var(--brand-deep-rgb),.7)}
.ax-lead .ax-art{border-radius:20px}
.ax-lb{display:flex;flex-direction:column;padding:20px 28px 20px 0}
.ax-lb > b{display:block;margin-top:14px;font-family:var(--display);font-weight:900;font-size:clamp(32px,3.4vw,50px);line-height:1;letter-spacing:-.04em;text-wrap:balance}
.ax-lb .ax-dek{margin-top:16px;font-size:18px;line-height:1.5}
.ax-lb .ax-by{margin-top:30px;padding-top:16px;border-top:1.5px dashed var(--line)}

/* medium row: every card its own color */
.ax-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;align-items:stretch}
.ax-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ax-row.one{grid-template-columns:1fr}
.ax-card.wide{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:1fr auto;column-gap:clamp(20px,3vw,44px)}
.ax-card.wide .ax-art{grid-column:2;grid-row:1 / span 2}
.ax-card.wide .ax-cb{grid-column:1;grid-row:1;align-self:center;padding:24px 0 0 20px}
.ax-card.wide .ax-by{grid-column:1;grid-row:2;margin-left:16px}
.ax-card.wide .ax-cb > b{font-size:clamp(26px,2.6vw,38px)}
.ax-card{display:flex;flex-direction:column;border-radius:24px;padding:10px;background:#fff;color:var(--ink);box-shadow:0 1px 0 rgba(11,13,16,.05),0 34px 60px -46px rgba(var(--brand-deep-rgb),.55);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.ax-card:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 1px 0 rgba(11,13,16,.05),0 50px 80px -46px rgba(var(--brand-deep-rgb),.7)}
.ax-card .ax-art{border-radius:16px}
.ax-cb{display:block;flex:1;padding:18px 12px 0}
.ax-cb > b{display:block;margin-top:10px;font-family:var(--display);font-weight:900;font-size:clamp(22px,1.9vw,27px);line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.ax-cb .ax-dek{margin-top:10px;font-size:15px;line-height:1.5}
.ax-card .ax-by{margin:20px 4px 4px;padding:12px 8px 6px;border-top:1.5px dashed var(--line)}
.ax-card.t1{background:var(--ink);color:#fff}.ax-card.t1 .ax-k{color:var(--b300)}.ax-card.t1 .ax-dek{color:#C9CDD3}
.ax-card.t1 .ax-by{border-top-color:#2E333B}.ax-card.t1 .ax-by i{background:#23262C;color:var(--b200)}
.ax-card.t3{background:var(--b100)}.ax-card.t3 .ax-k{color:var(--b700)}.ax-card.t3 .ax-dek{color:var(--b900)}
.ax-card.t3 .ax-by{border-top-color:var(--b200)}.ax-card.t3 .ax-by i{background:#fff}

/* dense list for the long tail */
.ax-list{margin-top:56px;background:#fff;border-radius:28px;padding:6px clamp(18px,3vw,32px) 10px}
.ax-lh{padding:20px 0 14px;border-bottom:1.5px solid var(--ink)}
.ax-lh .mono{font-size:11px}
.ax-item{display:grid;grid-template-columns:176px minmax(0,1fr) auto;gap:26px;align-items:center;padding:18px 0;border-bottom:1.5px solid var(--line)}
.ax-item:last-child{border-bottom:0}
.ax-item .ax-art{border-radius:12px}
.ax-ib > b{display:block;margin-top:6px;font-family:var(--display);font-weight:800;font-size:22px;line-height:1.1;letter-spacing:-.025em;transition:color .2s}
.ax-ib .ax-dek{-webkit-line-clamp:2;margin-top:6px;font-size:15px;line-height:1.5}
.ax-item:hover .ax-ib > b{color:var(--b700)}
.ax-rt{font-size:10.5px;color:var(--b700);background:var(--b50);padding:6px 8px;border-radius:6px;white-space:nowrap}
.ax-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:36px}
.ax-pager > :last-child{justify-self:end}
.ax-pgs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.ax-pg{display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border-radius:9px;font-weight:600;font-size:14.5px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line)}
.ax-pg:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.ax-pg.on{background:var(--ink);color:#fff;box-shadow:none}

/* ---- article pages ---- */
.art-shell{max-width:860px;margin:0 auto;padding:0 var(--pad) 88px}
.art-shell.has-rail{max-width:1240px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:stretch}
.art-main{min-width:0}
.art-head{padding-top:56px;padding-bottom:20px}
.art-back{display:inline-block;margin-bottom:28px;color:var(--b700);font-size:11px}
.art-head h1{font-family:var(--display);font-weight:900;font-size:clamp(40px,5.4vw,68px);line-height:.98;letter-spacing:-.04em}
.art-dek{font-size:21px;line-height:1.5;color:var(--gray);margin-top:20px}
.art-by{display:flex;gap:14px;align-items:baseline;margin-top:26px;padding-top:18px;border-top:1.5px solid var(--line);font-size:15px}
.art-by span{color:var(--slate)}
.art-by.rich{align-items:center;gap:12px}
.art-by.rich .ar-av{width:44px;height:44px}
.art-by.rich > span:not(.ar-av):not(.ar-when){display:flex;flex-direction:column;line-height:1.25}
.art-by.rich b{color:var(--ink)}.art-by.rich em{font-style:normal;font-size:14px;color:var(--slate)}
.art-by .ar-when{margin-left:auto;font-size:14.5px}
.art-hero{margin-top:8px}
.art-hero .ax-art{border-radius:20px}
.art-body{font-size:19px;line-height:1.7;color:var(--ink2)}
.art-body p{margin-top:22px}
.art-body h2{font-family:var(--display);font-weight:900;font-size:32px;letter-spacing:-.035em;line-height:1.05;margin-top:48px;color:var(--ink);scroll-margin-top:20px}
.art-body h3{font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.02em;line-height:1.15;margin-top:34px;color:var(--ink)}
.art-body > ul,.art-body > ol{margin-top:18px;padding-left:22px}.art-body > ul li,.art-body > ol li{margin-top:8px}
.art-body a{color:var(--b700);text-decoration:underline;text-underline-offset:3px}
.art-body code{font-family:var(--mono);font-size:.82em;background:var(--mist);padding:2px 6px;border-radius:5px}
.art-body > blockquote{margin-top:30px;padding:22px 26px;border-radius:16px;background:var(--b50);font-family:var(--display);font-weight:800;font-size:24px;line-height:1.25;letter-spacing:-.025em;color:var(--ink)}
.art-more{background:var(--mist)}
.art-cta{background:var(--mist);padding:0 0 clamp(56px,7vw,96px)}
.btn-onbrand{background:var(--brand);color:var(--on-brand)}.btn-onbrand:hover{filter:brightness(1.06)}

/* rich: the quick hit */
.ar-qh{margin-top:32px;background:var(--ink);color:#fff;border-radius:22px;padding:28px 32px 30px}
.ar-qh > .mono{display:block;font-size:11px;color:var(--b300)}
.ar-qh ul{list-style:none;margin-top:14px;display:grid;gap:12px}
.ar-qh li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;font-size:17.5px;line-height:1.5;color:#E3E5E9}
.ar-qh li::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--brand);margin-top:10px}
.ar-qh b{color:#fff}

/* rich: by the numbers */
.ar-nums{margin-top:44px}
.ar-nums > .mono{display:block;font-size:11px;color:var(--b700);margin-bottom:12px}
.ar-nums-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ar-nums-g.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.ar-nums-g.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.ar-nums-g.n1{grid-template-columns:1fr}
.ar-num{display:flex;flex-direction:column;border-radius:18px;padding:22px 20px 20px;min-height:150px}
.ar-num b{font-family:var(--display);font-weight:900;font-size:clamp(30px,3.1vw,42px);line-height:1;letter-spacing:-.04em}
.ar-num span{margin-top:auto;padding-top:18px;font-size:14.5px;line-height:1.4}
.ar-num.t1{background:var(--ink);color:#fff}.ar-num.t1 b{color:var(--b300)}.ar-num.t1 span{color:#C9CDD3}
.ar-num.t2{background:var(--brand);color:var(--on-brand)}
.ar-num.t3{background:var(--b100)}.ar-num.t3 b{color:var(--b700)}.ar-num.t3 span{color:var(--b900)}
.ar-num.t4{background:var(--b50)}.ar-num.t4 span{color:var(--gray)}

/* rich: pull quote */
.ar-pq{margin:52px 0 12px}
.ar-pq-mk{display:block;height:46px;font-family:var(--display);font-weight:900;font-size:120px;line-height:.9;color:var(--brand)}
.art-body .ar-pq blockquote{margin-top:6px;font-family:var(--display);font-weight:900;font-size:clamp(28px,3vw,38px);line-height:1.12;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.ar-pq figcaption{margin-top:18px;font-size:11px;color:var(--b700)}

/* rich: numbered steps */
.ar-steps{margin-top:40px}
.ar-steps > .mono{display:block;font-size:11px;color:var(--b700);margin-bottom:10px}
.art-body .ar-steps ol{list-style:none;padding:0;margin:0}
.ar-steps li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:baseline;padding:22px 0;border-top:1.5px solid var(--line)}
.ar-steps li:last-child{border-bottom:1.5px solid var(--line)}
.ar-nx{font-family:var(--display);font-weight:900;font-size:56px;line-height:.9;letter-spacing:-.04em;color:var(--brand)}
.ar-steps b{display:block;font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.025em;line-height:1.15;color:var(--ink)}
.art-body .ar-steps p{margin-top:6px;font-size:17px;line-height:1.55;color:var(--gray)}

/* screenshots: framed like the site's screens, caption below, never on the image */
.ar-fig{margin-top:40px}
.ar-frame{background:var(--ink);border-radius:18px;padding:0 8px 8px;box-shadow:0 50px 90px -60px rgba(var(--brand-deep-rgb),.8)}
.ar-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 6px}
.ar-bar i{width:9px;height:9px;border-radius:50%;background:#3A3F47}
.ar-frame img{width:100%;height:auto;max-height:560px;object-fit:cover;object-position:50% 0;border-radius:10px;background:#fff}
.ar-fig.ar-tall{max-width:440px;margin-left:auto;margin-right:auto}
.ar-fig.ar-tall .ar-frame img{max-height:none}
.ar-fig.ar-phone{max-width:320px;margin-left:auto;margin-right:auto}
.ar-fig.ar-phone .ar-frame{border-radius:44px;padding:10px}
.ar-fig.ar-phone .ar-bar{display:none}
.ar-fig.ar-phone .ar-frame img{max-height:none;border-radius:34px}
.ar-fig.ar-phone figcaption{text-align:center}
.ar-fig figcaption{margin-top:12px;font-size:14.5px;line-height:1.5;color:var(--gray)}

/* the product CTA card: one design for every brand. Brand (or ink) field, the brand lockup, a strong headline,
   one button, an optional "works with" row, and a real product screen scrolling in a full phone. */
.cc{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;align-items:center;margin:48px 0;padding:26px 0 26px 36px;border-radius:24px;overflow:hidden;isolation:isolate;box-shadow:0 34px 60px -44px rgba(11,13,16,.55)}
.cc-brand{background:var(--brand);color:var(--on-brand)}
.cc-ink{background:var(--ink);color:#fff}
.cc-copy{position:relative;z-index:2;min-width:0}
.cc-logo{display:block;height:30px;width:auto;max-width:100%}
.cc-k{display:inline-block;font-size:11px;letter-spacing:.06em;text-transform:none;padding:7px 11px;border-radius:999px;background:rgba(11,13,16,.12)}
.cc-ink .cc-k{background:#23262C;color:var(--b300)}
.cc .cc-h{display:block;margin-top:16px;font-family:var(--display);font-weight:900;font-size:clamp(26px,2.6vw,34px);line-height:1;letter-spacing:-.04em;text-wrap:balance;max-width:26ch}
.cc .cc-p{margin:10px 0 0;font-size:16px;line-height:1.45;max-width:40ch;opacity:.9;color:inherit}
.cc .cc-btn{margin-top:20px;gap:12px;height:50px;padding:0 22px;font-size:16px;border-radius:11px;text-decoration:none}
.cc-brand .cc-btn{background:var(--ink);color:#fff}.cc-brand .cc-btn:hover{background:#23262C}
.cc-ink .cc-btn{background:var(--brand);color:var(--on-brand)}.cc-ink .cc-btn:hover{filter:brightness(1.06)}
.cc .cc-btn svg{transition:transform .2s var(--ease)}.cc .cc-btn:hover svg{transform:translateX(4px)}
.cc-works{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.cc-works .mono{font-size:10.5px;margin-right:4px}
.cc .cc-works b{font-family:var(--display);font-weight:800;font-size:13.5px;letter-spacing:-.01em;padding:6px 11px;border-radius:999px;background:#fff;color:var(--ink)}
.cc-ink .cc-works b{background:#23262C;color:#fff}
.cc-art{position:relative;align-self:stretch;min-height:300px;margin:-26px 0}
.cc-phone{--h:276px;position:absolute;left:50%;top:50%;width:136px;height:var(--h);margin-left:-68px;padding:6px;border-radius:28px;background:var(--ink);transform:translateY(-50%) rotate(4deg);box-shadow:0 26px 40px -18px rgba(11,13,16,.6),inset 0 0 0 1.5px #2E333B;transition:transform .6s var(--ease)}
.cc:hover .cc-phone{transform:translateY(-50%) rotate(1deg)}
.cc-ink .cc-phone{background:#1B1E23}
.cc-phone::before{content:"";position:absolute;top:11px;left:50%;width:40px;height:10px;margin-left:-20px;border-radius:8px;background:var(--ink);z-index:2}
.cc-screen{height:100%;border-radius:22px;overflow:hidden;background:#fff}
.cc-screen img{display:block;width:100%;height:auto;animation:cc-scroll 46s linear infinite alternate}
@keyframes cc-scroll{from{transform:translateY(0)}to{transform:translateY(calc(-100% + var(--h) - 12px))}}
@media (prefers-reduced-motion:reduce){.cc-screen img{animation:none}.cc-phone{transition:none}}
.cc-noshot{grid-template-columns:1fr;padding-right:36px}
.cc-end{margin:0;padding-left:clamp(28px,5vw,64px);grid-template-columns:minmax(0,1fr) 300px}
.cc-end .cc-logo{height:34px}
.cc-end .cc-h{font-size:clamp(30px,3.4vw,46px)}

/* right rail (publisher sites) */
.ar-rail{min-width:0}
.ar-rail-in{position:sticky;top:24px;padding-top:56px}
.ar-rail-ad{background:var(--brand);color:var(--on-brand);border-radius:22px;padding:24px 24px 26px;display:flex;flex-direction:column}
.ar-rail-ad img{height:96px;width:auto;align-self:flex-start;transform:rotate(-6deg);margin-bottom:22px}
.ar-rail-ad .mono{font-size:11px;opacity:.8}
.ar-rail-ad b{margin-top:10px;font-family:var(--display);font-weight:900;font-size:26px;line-height:1.05;letter-spacing:-.035em}
.ar-rail-ad p{margin-top:10px;font-size:15.5px;line-height:1.5;opacity:.92}
.ar-rail-ad .btn{margin-top:20px}
.ar-rail-inline{display:none}

/* rich: FAQ and the author */
.ar-faq{margin-top:56px}
.ar-faq h2{font-family:var(--display);font-weight:900;font-size:32px;letter-spacing:-.035em;line-height:1.05;margin-bottom:22px}
.ar-author{margin-top:56px;display:grid;grid-template-columns:104px minmax(0,1fr);gap:26px;align-items:start;background:var(--mist);border-radius:22px;padding:30px}
.ar-ph{display:block;width:104px;height:104px;border-radius:50%;overflow:hidden}
.ar-ph img{width:100%;height:100%;object-fit:cover}
.ar-author .mono{display:block;font-size:11px;color:var(--b700)}
.ar-author b{display:block;margin-top:8px;font-family:var(--display);font-weight:900;font-size:28px;letter-spacing:-.035em;line-height:1}
.ar-author em{display:block;margin-top:6px;font-style:normal;font-size:15px;color:var(--slate)}
.ar-author p{margin-top:14px;font-size:16.5px;line-height:1.6;color:var(--ink2);max-width:60ch}
.ar-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;font-size:15px}
.ar-meta a{color:var(--b700);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ar-meta span{color:var(--slate)}

@media (max-width:1100px){
  .art-shell.has-rail{grid-template-columns:1fr;max-width:860px;gap:0}
  .ar-rail{display:none}
  .ar-rail-inline{display:block}
  .cc-end{grid-template-columns:minmax(0,1fr) 240px}
}
@media (max-width:980px){
  .ax-lead{grid-template-columns:1fr;gap:0}
  .ax-lb{padding:20px 14px 10px}
  .ax-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ax-row:not(.two):not(.one) .ax-card:nth-child(3){grid-column:1 / -1}
  .ax-row:not(.two):not(.one) .ax-card:nth-child(3) .ax-art{aspect-ratio:21/9}
  .ar-nums-g{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .art-list-head{padding:36px 0 52px}
  .art-list-head p{font-size:18px}
  .ax-row,.ax-row.two,.ax-row.one{grid-template-columns:1fr}
  .ax-row:not(.two):not(.one) .ax-card:nth-child(3) .ax-art{aspect-ratio:16/10}
  .ax-card.wide{display:flex}
  .ax-card.wide .ax-cb{padding:18px 12px 0}.ax-card.wide .ax-by{margin-left:4px}
  .ax-lb .ax-dek{font-size:16px}
  .ax-list{margin-top:36px;padding:4px 16px 6px;border-radius:22px}
  .ax-item{grid-template-columns:104px minmax(0,1fr);gap:16px;padding:16px 0}
  .ax-rt{display:none}
  .ax-ib > b{font-size:18px}
  .ax-ib .ax-dek{display:none}
  .ax-pager{grid-template-columns:1fr 1fr}
  .ax-pgs{grid-column:1 / -1;order:-1}
  .art-head{padding-top:36px}
  .art-dek{font-size:19px}
  .art-body{font-size:18px}
  .art-by.rich{flex-wrap:wrap}
  .art-by .ar-when{margin-left:0;flex-basis:100%}
  .ar-qh{padding:22px 20px 24px}
  .ar-qh li{font-size:16.5px}
  .ar-num{min-height:124px;padding:18px 16px}
  .ar-nx{font-size:42px}
  .ar-steps li{grid-template-columns:60px minmax(0,1fr)}
  .cc,.cc-end{grid-template-columns:1fr;gap:0;padding:26px 22px 0}
  .cc .cc-h,.cc-end .cc-h{font-size:28px}
  .cc-logo,.cc-end .cc-logo{height:26px}
  .cc-art{min-height:316px;margin:8px -22px 0}
  .ar-author{grid-template-columns:1fr;gap:16px;padding:24px 22px}
  .ar-ph{width:76px;height:76px}
  .ar-faq h2{font-size:28px}
}
.art-body a.btn{text-decoration:none}.art-body a.btn-ink{color:#fff}.art-body a.btn-onbrand{color:var(--on-brand)}

/* ---------- video articles (podcast / YouTube): same template, plus a near-full-width player ---------- */
.ax-art .vthumb{width:100%;height:100%;object-fit:cover}
.art-shell-top{padding-bottom:0}
.art-video{width:100%;max-width:1240px;margin:8px auto 0;padding:0 var(--pad);box-sizing:border-box}
.art-yt{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:var(--ink);cursor:pointer;box-shadow:0 60px 100px -60px rgba(11,13,16,.6)}
.art-yt img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),filter .4s}
.art-yt:hover img{transform:scale(1.02);filter:brightness(.85)}
.art-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.art-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;height:74px;padding:0 28px 0 22px;border-radius:16px;background:var(--brand);color:var(--on-brand,var(--ink));font-weight:700;font-size:17px;box-shadow:0 0 0 5px var(--ink),0 24px 40px -14px rgba(0,0,0,.7);transition:transform .25s var(--ease)}
.art-play svg{width:30px;height:30px}
.art-yt:hover .art-play{transform:translate(-50%,-50%) scale(1.05)}
.ar-chap{margin-top:32px;background:var(--mist);border-radius:22px;padding:24px 26px}
.ar-chap > .mono{display:block;font-size:11px;color:var(--gray)}
.ar-chap ol{list-style:none;margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
.art-body .ar-chap a,.ar-chap a{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:baseline;padding:8px 6px;border-radius:9px;font-size:15.5px;line-height:1.35;color:var(--ink);text-decoration:none}
.ar-chap a:hover{background:#fff}
.ar-ts{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--b700)}
.ar-guest{margin-top:36px;background:var(--brand);color:var(--on-brand,var(--ink));border-radius:24px;padding:28px 30px 30px}
.ar-g-top{display:flex;gap:20px;align-items:center}
.ar-g-ph{flex:none;width:96px;height:96px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px var(--ink)}
.ar-g-ph img{width:100%;height:100%;object-fit:cover}
.ar-guest .mono{display:block;font-size:11px}
.ar-guest b{display:block;margin-top:6px;font-family:var(--display);font-weight:900;font-size:32px;letter-spacing:-.04em;line-height:1}
.ar-guest em{display:block;margin-top:6px;font-style:normal;font-size:15.5px;font-weight:600}
.ar-g-place{display:block;margin-top:2px;font-size:14px;opacity:.8}
.art-body .ar-guest p,.ar-guest p{margin-top:16px;font-size:16.5px;line-height:1.6;color:var(--ink)}
.ar-g-facts{list-style:none;margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.art-body .ar-g-facts li,.ar-g-facts li{background:#fff;border-radius:14px;padding:14px 16px;font-size:14.5px;line-height:1.4;margin:0;display:flex;flex-direction:column;gap:4px}
.ar-guest .ar-g-facts b{margin:0;font-size:21px;letter-spacing:-.03em;line-height:1.1}
.ar-g-facts span{color:var(--gray)}
.ar-g-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.art-body .ar-g-links a,.ar-g-links a{background:var(--ink);color:#fff;text-decoration:none;font-weight:650;font-size:14px;padding:9px 13px;border-radius:9px}
.ar-g-links a:hover{background:#23262c}
@media (max-width:760px){
  .art-yt{border-radius:16px}
  .art-play{height:58px;padding:0 18px 0 14px;font-size:15px}.art-play svg{width:24px;height:24px}
  .ar-chap ol{grid-template-columns:1fr}
  .ar-guest{padding:22px 20px 24px}.ar-g-ph{width:72px;height:72px}.ar-guest b{font-size:26px}
  .ar-g-facts{grid-template-columns:1fr}
}

/* ---------- author card: dark, with a slowly circling brand-color border ---------- */
@property --arA{syntax:'<angle>';inherits:false;initial-value:0deg}
.ar-author{position:relative;background:var(--ink);color:#fff;border-radius:24px;padding:32px;isolation:isolate}
.ar-author::before{content:"";position:absolute;inset:-4px;border-radius:28px;z-index:-1;background:conic-gradient(from var(--arA),var(--brand),transparent 25%,var(--brand) 50%,transparent 75%,var(--brand));animation:arSpin 6s linear infinite}
.ar-author::after{content:"";position:absolute;inset:0;border-radius:24px;z-index:-1;background:var(--ink)}
@keyframes arSpin{to{--arA:360deg}}
.ar-author .mono{color:var(--brand)}
.ar-author b{color:#fff}
.ar-author em{color:#9AA0A8}
.ar-author p{color:#D5D9DF}
.ar-author .ar-meta span{color:#9AA0A8}
.ar-author .ar-meta a{color:var(--brand)}
.ar-ph{box-shadow:0 0 0 4px var(--brand)}
@media (prefers-reduced-motion:reduce){.ar-author::before{animation:none;background:var(--brand)}}

/* tables (| a | b | in Markdown): scroll sideways inside the frame on small screens, never the page */
.ar-table{margin-top:28px;overflow-x:auto;border-radius:18px;box-shadow:inset 0 0 0 1.5px var(--line);-webkit-overflow-scrolling:touch}
.ar-table table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45;min-width:520px}
.ar-table th{background:var(--ink);color:#fff;text-align:left;font-family:var(--display);font-weight:800;font-size:14.5px;letter-spacing:-.01em;padding:13px 16px}
.ar-table td{padding:12px 16px;border-top:1px solid var(--line);vertical-align:top;color:#2A2E35}
.ar-table tbody tr:nth-child(even) td{background:var(--mist)}
.ar-table td:first-child{font-weight:650;color:var(--ink)}
/* service brands: the hand-drawn icon in the phone's slot */
.cc-art-ic{display:flex;align-items:center;justify-content:center;min-height:240px}
.cc-art-ic img{width:min(100%,250px);height:auto;transform:rotate(-8deg);filter:drop-shadow(0 22px 30px rgba(0,0,0,.35));transition:transform .6s var(--ease)}
.cc:hover .cc-art-ic img{transform:rotate(-2deg) translateY(-6px)}
@media (max-width:760px){.cc-art-ic{min-height:0;margin:0;padding:6px 0 22px;justify-content:flex-start}.cc-art-ic img{width:150px}}
.art > .art-shell{min-width:0;width:100%;box-sizing:border-box}
:where(img){height:auto}

/* ================= texas AI lab homepage =================
 Brick is dark, so text on the brand color is white (the SaaS sites use ink on brand).
 Section backgrounds, top to bottom: brick · white · ink · white · brick-50 · mist · brick · white · ink · brick-50 · white · brick · ink */

/* nav + hero on brick */
.hero-top,.hero{color:#fff}
.hero-top .nav .links a::after{background:#fff}
.hero-top .menu-btn{box-shadow:inset 0 0 0 1.5px #fff}
.hero-top .menu-btn span{background:#fff;box-shadow:0 -6px 0 #fff,0 6px 0 #fff}
.logo .ic{height:34px}
.btn-brand{background:var(--brand);color:#fff}.btn-brand:hover{background:var(--b700)}
.btn-white:hover{background:var(--pink)}
.kick i{background:var(--brand)}

.tal-hero{padding-bottom:clamp(40px,6vw,90px)}
.th-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,600px);gap:56px;align-items:center;padding-top:28px}
.tal-hero h1{font-size:clamp(50px,6.2vw,96px)}
.tal-hero h1 .w{color:var(--pink)}
.tal-hero .sub{max-width:520px}
.tal-hero .sub b{color:#fff;font-weight:650}
.tal-hero .fine{opacity:.8}

/* the sorter: AI news lands, gets stamped, files itself */
.sorter{position:relative;background:#fff;color:var(--ink);border-radius:24px;padding:22px 22px 18px;box-shadow:0 70px 120px -50px rgba(57,25,29,.9),0 0 0 6px rgba(255,255,255,.08);transform:rotate(1deg);margin-top:30px}
.s-hat{position:absolute;width:150px;top:-74px;right:34px;transform:rotate(9deg);transform-origin:50% 100%;filter:drop-shadow(0 14px 18px rgba(57,25,29,.45));z-index:3}
.sorter.thud .s-hat{animation:hatJump .5s var(--ease)}
@keyframes hatJump{0%{transform:rotate(9deg)}30%{transform:translateY(-14px) rotate(2deg)}60%{transform:translateY(0) rotate(12deg)}100%{transform:rotate(9deg)}}
.s-top{display:flex;flex-direction:column;gap:4px;padding:0 160px 14px 4px;border-bottom:1.5px solid var(--ink)}
.s-top .mono{font-size:10.5px;color:var(--gray)}
.s-top b{font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:-.03em}.s-top b em{font-style:normal;color:var(--brand)}
.s-count{font-size:10.5px!important}.s-count em{font-style:normal;color:var(--brand);font-weight:600}
.s-desk{position:relative;height:150px;display:grid;place-items:center}
.news{position:absolute;left:50%;top:50%;width:min(360px,82%);background:var(--mist);border-radius:14px;padding:14px 16px 14px 16px;box-shadow:inset 0 0 0 2px var(--ink),0 18px 30px -18px rgba(11,13,16,.5);transform:translate(-50%,-160%) rotate(-6deg);opacity:0;transition:transform .55s var(--ease),opacity .3s}
.news.in{transform:translate(-50%,-50%) rotate(-1.5deg);opacity:1}
.news .mono{font-size:10px;color:var(--gray)}
.news b{display:block;font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.025em;line-height:1.15;margin-top:4px}
.nstamp{position:absolute;right:-12px;bottom:-16px;font-family:var(--display);font-weight:900;font-size:18px;letter-spacing:.02em;text-transform:uppercase;padding:4px 12px;border-radius:8px;border:3px solid currentColor;transform:rotate(-12deg) scale(2.4);opacity:0;background:#fff}
.nstamp.hit{animation:stampHit .35s cubic-bezier(.3,1.6,.5,1) forwards}
@keyframes stampHit{to{transform:rotate(-12deg) scale(1);opacity:1}}
.st-use{color:var(--brand)}.st-watch{color:var(--ink)}.st-ignore{color:var(--slate)}
.news.go{transition:transform .6s var(--ease),opacity .45s .15s;opacity:0}
.s-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.s-col{border-radius:14px;padding:10px 10px 12px;min-height:178px;display:flex;flex-direction:column;gap:8px}
.c-use{background:var(--brand);color:#fff}
.c-watch{background:var(--pink)}
.c-ignore{background:var(--mist);box-shadow:inset 0 0 0 1.5px var(--line)}
.s-lab{font-family:var(--display);font-weight:900;font-size:17px;letter-spacing:-.02em;text-transform:uppercase}
.s-stack{display:flex;flex-direction:column;gap:6px}
.mini{font-size:12.5px;line-height:1.3;font-weight:500;padding:7px 9px;border-radius:8px;animation:miniIn .45s var(--ease) both}
.c-use .mini{background:rgba(255,255,255,.14);color:#fff}
.c-watch .mini{background:rgba(255,255,255,.65)}
.c-ignore .mini{color:var(--slate);text-decoration:line-through;text-decoration-thickness:1.5px;background:#fff}
@keyframes miniIn{from{opacity:0;transform:translateY(-14px) scale(.9)}to{opacity:1;transform:none}}
.s-col.bump{animation:colBump .4s var(--ease)}
@keyframes colBump{40%{transform:translateY(4px)}}
.s-note{position:absolute;left:-58px;bottom:-26px;width:210px;background:#FFF3B0;color:var(--ink);font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:-.02em;line-height:1.2;padding:14px 14px 16px;border-radius:4px;box-shadow:0 22px 34px -18px rgba(11,13,16,.55);transform:rotate(-7deg) scale(.6);opacity:0;transition:transform .45s cubic-bezier(.3,1.5,.5,1),opacity .25s;z-index:4;pointer-events:none}
.s-note .mono{display:block;font-size:10px;color:var(--gray);margin-bottom:6px;font-weight:500}
.s-note.on{transform:rotate(-7deg) scale(1);opacity:1}
.s-fine{margin-top:12px;font-size:12px;color:var(--slate);text-align:right}

/* proof: white, ink numbers */
.tal-proof{background:#fff;color:var(--ink)}
.tal-proof .stat{border-left-color:var(--line)}
.tal-proof .stat .n em{color:var(--brand)}
.tal-proof .stat .l{color:var(--gray)}

/* offers: ink section, brick card + white card */
.offers{background:var(--ink);color:#fff}
.offers .lede{color:#A3A9B2}
.off-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.offer{position:relative;border-radius:26px;padding:40px 40px 34px;display:flex;flex-direction:column;gap:18px;overflow:hidden}
.o-con{background:var(--brand);color:#fff}
.o-train{background:#fff;color:var(--ink)}
.o-ic{position:absolute;right:26px;top:24px;width:150px;transform:rotate(8deg);transition:transform .5s var(--ease)}
.o-board{width:120px;top:30px}
.offer:hover .o-ic{transform:rotate(-4deg) translateY(-6px)}
.o-tag{font-size:11px;opacity:.85}
.offer h3{font-family:var(--display);font-weight:900;font-size:clamp(36px,3.6vw,52px);letter-spacing:-.04em;line-height:.95;max-width:9ch}
.o-pitch{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;line-height:1.25;max-width:30ch}
.o-list{list-style:none;display:grid;gap:0;margin-top:6px}
.o-list li{display:grid;grid-template-columns:22px 1fr;column-gap:12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.22)}
.o-train .o-list li{border-top-color:var(--line)}
.o-list li::before{content:"";grid-row:span 2;width:18px;height:18px;margin-top:3px;border-radius:5px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%239B2335' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.o-train .o-list li::before{background-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.o-list b{font-weight:650;font-size:17px}
.o-list span{font-size:15.5px;opacity:.82}
.o-foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.o-foot span{font-size:14.5px;opacity:.8}
.off-rule{margin-top:34px;max-width:880px;font-size:18px;color:#C9CDD3;line-height:1.5}
.off-rule b{color:#fff}

/* first month: white, timeline right */
.month{background:#fff}
.mo-grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:80px;align-items:start}
.mo-copy{position:sticky;top:40px}
.mo-copy .lede{margin:22px 0 30px}
.mo-line{list-style:none;position:relative;display:grid;gap:14px;counter-reset:wk}
.mo-line::before{content:"";position:absolute;left:23px;top:30px;bottom:30px;width:3px;background:repeating-linear-gradient(var(--b200) 0 8px,transparent 8px 14px)}
.mo-line li{position:relative;padding:22px 26px 24px 74px;border-radius:18px;background:var(--b50);counter-increment:wk}
.mo-line li:nth-child(2){background:var(--mist)}.mo-line li:nth-child(3){background:var(--brand);color:#fff}.mo-line li:nth-child(4){background:var(--b100)}.mo-line li:nth-child(5){background:var(--ink);color:#fff}
.mo-line li::before{content:counter(wk);position:absolute;left:8px;top:20px;width:34px;height:34px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:17px}
.mo-line li:nth-child(3)::before{background:#fff;color:var(--brand)}.mo-line li:nth-child(5)::before{background:var(--brand)}
.mo-line .wk{font-size:11px;opacity:.75}
.mo-line b{display:block;font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.03em;margin:4px 0 6px}
.mo-line p{font-size:16px;line-height:1.5;opacity:.88;max-width:56ch}

/* context demo: brick-50, art left, copy right */
.ctx{background:var(--b50)}
.ctx-grid{display:grid;grid-template-columns:minmax(0,620px) minmax(0,1fr);gap:80px;align-items:center}
.ctx-copy .lede{margin-top:22px}
.ticks{list-style:none;display:grid;gap:14px;margin-top:30px}
.ticks li{display:grid;grid-template-columns:200px 1fr;gap:14px;padding-top:14px;border-top:1.5px solid var(--ink)}
.ticks b{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em}
.ticks span{color:var(--gray)}

/* training: mist */
.train{background:var(--mist)}
.head.flip{grid-template-columns:minmax(0,440px) minmax(0,1fr)}
.head.flip > div{order:2;justify-self:end;text-align:right}
.head.flip h2.big{margin-left:auto}
.head.flip .kick{justify-content:flex-end}

/* free tools: brick */
.free{background:var(--brand);color:#fff}
.free .kick i{background:#fff}
.free-head{margin-bottom:48px}
.free-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;align-items:stretch}
.quiz{background:var(--ink);color:#fff;border-radius:26px;padding:36px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:transform .3s var(--ease)}
.quiz:hover{transform:translateY(-4px)}
.q-tag{font-size:11px;color:var(--pink)}
.q-h{font-family:var(--display);font-weight:900;font-size:clamp(30px,3vw,42px);letter-spacing:-.04em;line-height:1}
.q-p{color:#C9CDD3;font-size:17px;max-width:44ch}
.q-meter{position:relative;width:200px;height:110px;margin:10px 0 6px;align-self:flex-start}
.q-meter::before{content:"";position:absolute;inset:0;border-radius:200px 200px 0 0;background:conic-gradient(from 270deg at 50% 100%,var(--brand-hi) 0 calc(var(--v,0)*180deg),#2B2F36 0 180deg,transparent 0)}
.q-meter i{position:absolute;inset:0;--v:.62}
.q-meter::after{content:"";position:absolute;left:22px;right:22px;top:22px;bottom:0;border-radius:200px 200px 0 0;background:var(--ink)}
.q-meter em{position:absolute;z-index:2;left:0;right:0;bottom:10px;text-align:center;font-style:normal;font-family:var(--display);font-weight:900;font-size:40px;letter-spacing:-.04em;line-height:1}
.q-meter span{position:absolute;z-index:2;left:0;right:0;bottom:-16px;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9AA0A8}
.quiz .btn{align-self:flex-start;margin-top:auto}
.pack{background:#fff;color:var(--ink);border-radius:26px;padding:36px;display:flex;flex-direction:column;gap:14px;position:relative}
.p-tag{font-size:11px;color:var(--brand)}
.p-h{font-family:var(--display);font-weight:900;font-size:clamp(30px,3vw,42px);letter-spacing:-.04em;line-height:1;max-width:12ch}
.p-p{color:var(--gray);font-size:17px;max-width:40ch}
.p-pages{position:absolute;right:30px;top:30px;width:190px;height:170px}
.p-pages i{position:absolute;width:150px;height:170px;border-radius:10px;background:var(--b50);box-shadow:inset 0 0 0 1.5px var(--ink),0 16px 30px -18px rgba(11,13,16,.5);padding:12px;display:flex;flex-direction:column;gap:6px;font-style:normal;transition:transform .45s var(--ease)}
.p-pages i b{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:-.01em;color:var(--brand)}
.p-pages i span{font-size:9.5px;line-height:1.35;color:var(--gray)}
.p-pages .pg1{right:0;top:0;transform:rotate(7deg);background:#fff}
.p-pages .pg2{right:38px;top:10px;transform:rotate(-6deg)}
.pack:hover .pg1{transform:rotate(11deg) translate(8px,-6px)}.pack:hover .pg2{transform:rotate(-10deg) translate(-8px,2px)}
.p-lab{font-size:13px;font-weight:600;margin-top:8px}
.pack .dd-btn{box-shadow:inset 0 0 0 1.5px var(--ink)}
.dd-list li[aria-selected="true"] i{background:var(--brand)}
.p-row{display:flex;gap:10px}
.p-row input{flex:1;min-width:0;height:54px;border-radius:12px;border:0;box-shadow:inset 0 0 0 1.5px var(--ink);padding:0 16px;font:inherit;font-size:16px}
.p-row input:focus{outline:none;box-shadow:inset 0 0 0 2.5px var(--brand)}
.p-status{font-size:14.5px;min-height:20px}
.p-status.is-success{color:#137A3F}.p-status.is-error{color:var(--brand)}
.p-status a{text-decoration:underline;font-weight:600}

/* where: white, map left */
.where{background:#fff}
.wh-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:64px;align-items:center}
.wh-copy .lede{margin-top:22px}
.tx{width:100%;height:auto;overflow:visible}
.tx-shadow{fill:var(--b100)}
.tx-land{fill:#fff;stroke:var(--ink);stroke-width:5;stroke-linejoin:round}
.route{fill:none;stroke:var(--brand);stroke-width:3;stroke-dasharray:7 9;stroke-linecap:round;opacity:0}
.where .in .route,.wh-map.in .route{animation:routeIn 1s var(--ease) forwards;animation-delay:var(--d)}
@keyframes routeIn{from{opacity:0;stroke-dashoffset:120}to{opacity:1;stroke-dashoffset:0}}
.mpin circle{fill:var(--brand);stroke:#fff;stroke-width:3;transition:r .2s}
.mpin.home circle{fill:var(--ink)}
.mpin text{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.02em;fill:var(--ink)}
.mpin{opacity:0;transform-box:fill-box}
.wh-map.in .mpin{animation:pinIn .5s var(--ease) forwards;animation-delay:var(--d)}
@keyframes pinIn{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
.mpin:hover circle{fill:var(--brand-hi)}
.map-hat{transform-box:fill-box;transform-origin:50% 100%;animation:hatBob 3.2s ease-in-out infinite}
@keyframes hatBob{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg) translateY(-4px)}}
.cities{list-style:none;margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cities a{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border-radius:14px;background:var(--mist);transition:background .2s,transform .2s var(--ease);height:100%}
.cities li:first-child a{background:var(--brand);color:#fff}
.cities li:first-child span{color:var(--pink)}
.cities a:hover{transform:translateY(-2px);background:var(--b100)}
.cities li:first-child a:hover{background:var(--b700)}
.cities b{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em}
.cities span{font-size:13.5px;color:var(--gray);line-height:1.35}

/* about TJ: ink */
.about-tj{background:var(--ink);color:#fff}
.ab-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:72px;align-items:center;margin-bottom:64px}
.ab-photo{position:relative}
.ab-photo img{width:100%;height:auto}
.ab-tag{position:absolute;left:50%;bottom:6px;transform:translateX(-50%) rotate(-3deg);white-space:nowrap;background:var(--brand);color:#fff;font-size:11px;padding:8px 12px;border-radius:8px}
.ab-copy h2.big{max-width:16ch}
.ab-copy p{font-size:19px;line-height:1.55;color:#C9CDD3;margin-top:22px;max-width:60ch}
.ab-sign{display:flex;align-items:center;gap:18px;margin-top:34px;padding-top:24px;border-top:1px solid #23262C;color:#9AA0A8;font-size:15px}
.ab-sign img{height:40px;width:auto}
.ab-sibs{grid-template-columns:repeat(3,1fr)}
.ab-sibs .fam-art{height:200px}
.ab-sibs .fam-card{box-shadow:none}

/* articles: brick-50, designed thumbnails */
.arts{background:var(--b50)}
.ar-all{display:inline-block;margin-top:12px;color:var(--ink);font-weight:600;border-bottom:2px solid var(--brand)}
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tcard{background:#fff;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s;box-shadow:0 30px 60px -44px rgba(57,25,29,.6)}
.tcard:hover{transform:translateY(-5px)}
.tc-art{position:relative;aspect-ratio:16/10;padding:22px;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.t1 .tc-art{background:var(--brand);color:#fff}
.t2 .tc-art{background:var(--ink);color:#fff}
.t3 .tc-art{background:var(--pink);color:var(--ink)}
.tc-sec{font-size:10.5px;opacity:.85}
.tc-big{font-family:var(--display);font-weight:900;font-size:clamp(22px,2.1vw,30px);letter-spacing:-.04em;line-height:.98;max-width:13ch;position:relative;z-index:2}
.tc-pin{margin-top:auto;font-size:10.5px;display:flex;align-items:center;gap:7px;position:relative;z-index:2}
.tc-pin i{width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.tc-art img{position:absolute;right:-14px;bottom:-12px;width:150px;transform:rotate(-10deg);opacity:.95;transition:transform .5s var(--ease)}
.t3 .tc-art img{filter:brightness(0) saturate(100%) invert(16%) sepia(53%) saturate(3480%) hue-rotate(335deg) brightness(88%) contrast(93%)}
.tcard:hover .tc-art img{transform:rotate(-2deg) translateY(-6px)}
.tc-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:16px;flex:1}
.tc-dek{font-size:16px;line-height:1.45;color:#3A3F47}
.tc-foot{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:13.5px}
.tc-foot img{width:30px;height:30px;border-radius:50%}
.tc-foot i{font-style:normal;color:var(--slate);margin-left:auto}

/* faq: white */
.faq-sec{background:#fff}
.faq-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:80px;align-items:start}
.faq-grid .lede{margin-top:22px}
.faq details[open] .pm{background:var(--brand)}
.faq details[open] .pm::before,.faq details[open] .pm::after{background:#fff}

/* final: brick */
.tal-final{color:#fff}
.tal-final h2 span{color:var(--pink)}
.tal-final p{color:#fff;opacity:.9}
.fin-art{position:relative;display:grid;place-items:center;min-height:320px}
.fin-art img{width:min(100%,440px);transform:rotate(-6deg);filter:drop-shadow(0 30px 40px rgba(57,25,29,.6))}
.fin-stamp{position:absolute;right:8%;top:14%;font-family:var(--display);font-weight:900;font-size:42px;text-transform:uppercase;color:#fff;border:5px solid #fff;border-radius:12px;padding:4px 18px;transform:rotate(-14deg) scale(2.2);opacity:0}
.tal-final.in .fin-stamp,.fin-art.in .fin-stamp{animation:finStamp .5s .5s cubic-bezier(.3,1.6,.5,1) forwards}
@keyframes finStamp{to{transform:rotate(-14deg) scale(1);opacity:1}}

footer .f-logo .ic{height:34px}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .th-grid{grid-template-columns:1fr;gap:70px}
  .sorter{max-width:620px;margin:40px auto 0}
  .ctx-grid,.wh-grid,.mo-grid,.ab-grid,.faq-grid{grid-template-columns:1fr;gap:48px}
  .mo-copy{position:static}
  .ctx-file{right:0}
  .free-grid{grid-template-columns:1fr}
  .ab-photo{max-width:340px}
  .ab-sibs{grid-template-columns:1fr 1fr}
  .ab-sibs .fam-card:last-child{grid-column:1 / -1}
}
@media (max-width:980px){
  .off-grid,.tcards{grid-template-columns:1fr}
  .formats{grid-template-columns:1fr 1fr}
  .agc{grid-template-columns:1fr;gap:6px}
  .ag-cards{min-height:0}.agc{position:relative;display:none}.agc.on{display:grid}
  .head.flip{grid-template-columns:1fr}.head.flip > div{order:0;justify-self:start;text-align:left}.head.flip .lede{order:2}.head.flip h2.big{margin-left:0}.head.flip .kick{justify-content:flex-start}
}
@media (max-width:760px){
  .tal-hero h1 .ln{white-space:normal}
  .sorter{padding:16px 12px 14px;transform:none}
  .s-hat{width:104px;top:-52px;right:18px}
  .s-top{padding-right:100px}.s-top b{font-size:19px}
  .s-desk{height:140px}
  .news b{font-size:16px}
  .s-col{min-height:150px;padding:8px}
  .s-lab{font-size:13px}
  .mini{font-size:11px;padding:6px 7px}
  .s-note{left:auto;right:6px;bottom:-30px;width:170px;font-size:14px}
  .offer{padding:28px 22px 26px}
  .o-ic{width:96px;right:14px;top:16px}.o-board{width:80px}
  .offer h3{max-width:8ch}
  .mo-line li{padding:18px 18px 20px 62px}
  .mo-line li::before{left:12px}
  .mo-line::before{left:27px}
  .ticks li{grid-template-columns:1fr;gap:4px}
  .ctx-file{position:relative;right:auto;bottom:auto;width:auto;transform:none}
  .ctx-out{min-height:330px}
  .cs-b{padding:0 10px;font-size:13px}
  .agenda{padding:18px}
  .ag-seg{height:44px}.ag-seg b{display:none}
  .formats{grid-template-columns:1fr}
  .quiz,.pack{padding:26px 20px}
  .p-pages{display:none}
  .p-row{flex-direction:column}.p-row input{flex:none;width:100%;height:54px}
  .cities{grid-template-columns:1fr}
  .ab-sibs{grid-template-columns:1fr}
  .ab-sign{flex-direction:column;align-items:flex-start}
  .tal-proof .wrap{grid-template-columns:1fr 1fr}
  .tal-proof .stat:nth-child(3){border-left:0;padding-left:0}
  .fin-art{min-height:220px}
  .mpin text{font-size:30px}
}
@media (prefers-reduced-motion:reduce){.map-hat,.route,.mpin{animation:none!important;opacity:1}.news,.nstamp,.s-note{transition:none}}

.mo-copy h2.big,.ctx-copy h2.big,.wh-copy h2.big,.ab-copy h2.big,.faq-grid h2.big,.free-head h2.big{font-size:clamp(40px,4.6vw,66px);max-width:15ch}
.offer h3{max-width:12ch}
.head.flip .lede{text-align:left}
.p-p{max-width:28ch}

/* 2026-10 redesign fixes: the context file hangs below the answer card instead of covering its words; the founder tag sits under the ring */
.ab-tag{bottom:-16px}
@media (max-width:760px){.ctx-art{padding-bottom:0}.ctx-file{right:auto;bottom:auto}}
footer .f-top{grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:32px}
@media (max-width:1180px){footer .f-top{grid-template-columns:1fr 1fr 1fr}footer .f-brand{grid-column:1 / -1}}
@media (max-width:760px){footer .f-top{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.offer .o-tag{padding-right:96px}.ctx-art.off .ctx-file{display:none}}
.final h2{font-size:clamp(56px,6.6vw,96px)}

/* ================= texas AI lab: chapter, city, form, pack, quiz pages =================
 Every section has its own background, never the same as its neighbors:
 chapter: brick hero · white offers · ink local · mist towns · brick-50 articles · white FAQ · brick-100 switcher · brick final · ink footer
 city:    ink hero · white market · brick-50 use cases · ink offers · white FAQ · mist nearby · brick final · ink footer */

.btn-ghost-w{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.btn-ghost-w:hover{background:rgba(255,255,255,.1)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ar-all{display:inline-block;margin-top:12px;color:var(--ink);font-weight:600;border-bottom:2px solid var(--brand)}

/* breadcrumb */
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px 0;font-size:11px;margin:24px 0 26px}
.crumb li{display:flex;align-items:center}
.crumb li+li::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5;margin:0 10px}
.crumb a{opacity:.82}.crumb a:hover{opacity:1;text-decoration:underline}

/* chapter wordmarks: the real chapter logos where they exist, the same lockup style set in type for the rest */
.ch-wm{display:block;height:var(--wh,34px);width:auto}
.ch-wm-t{height:auto;font-family:var(--display);font-weight:900;letter-spacing:-.04em;line-height:1;font-size:var(--wh,34px);text-transform:none}
.ch-wm-t b{font-weight:900}
.ch-wm-t.t-on-color{color:#fff}.ch-wm-t.t-on-color b{color:var(--pink)}
.ch-wm-t.t-primary{color:var(--ink)}.ch-wm-t.t-primary b{color:var(--brand)}

/* ---------- chapter hero: brick, the map with this city lit ---------- */
.ch-hero{color:#fff;padding-bottom:clamp(40px,6vw,90px)}
.ch-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:56px;align-items:center}
.ch-logo{--wh:40px;margin-bottom:24px}
.ch-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(46px,5.6vw,84px);line-height:.92;letter-spacing:-.04em;max-width:13ch;text-wrap:balance}
.ch-hero .sub{max-width:540px}
.ch-hero .fine{margin-top:22px;font-size:11px;opacity:.82;line-height:1.7;max-width:520px}
.ch-map{background:#fff;border-radius:28px;padding:26px 18px 14px;box-shadow:0 70px 120px -50px rgba(57,25,29,.9);transform:rotate(-1deg)}
.ch-map .mpin.dim circle{fill:var(--b200)}
.ch-map .mpin.dim text{fill:var(--slate);font-size:18px}
.ch-map .mpin.focus circle{fill:var(--brand)}
.ch-map .mpin.focus text{font-size:28px}
.ch-map .mpin.home.dim circle{fill:var(--ink)}
.mpin .ring{fill:none!important;stroke:var(--brand);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:ringPulse 2s ease-out infinite}
@keyframes ringPulse{from{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}

/* the two offers, compact (chapter + city pages) */
.ch-offers{background:#fff}
.om-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.om{position:relative;display:flex;flex-direction:column;gap:12px;border-radius:26px;padding:36px 36px 32px;overflow:hidden;min-height:330px;transition:transform .35s var(--ease)}
.om:hover{transform:translateY(-5px)}
.om-con{background:var(--brand);color:#fff}
.om-train{background:var(--ink);color:#fff}
.om .mono{font-size:11px;opacity:.85}
.om b{font-family:var(--display);font-weight:900;font-size:clamp(34px,3.4vw,50px);letter-spacing:-.04em;line-height:.95;max-width:11ch}
.om-p{font-size:18px;line-height:1.45;max-width:36ch;opacity:.92}
.om-go{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-weight:650;font-size:16px}
.om-go::after{content:"";width:26px;height:2px;background:currentColor;transition:width .3s var(--ease)}
.om:hover .om-go::after{width:44px}
.om-ic{position:absolute;right:24px;top:22px;width:140px;transform:rotate(8deg);transition:transform .5s var(--ease)}
.om-board{width:110px;top:28px}
.om:hover .om-ic{transform:rotate(-4deg) translateY(-6px)}
.cy-offers .om-train{background:#fff;color:var(--ink)}

/* how it works locally: ink */
.ch-local{background:var(--ink);color:#fff}
.loc-grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:80px;align-items:start}
.ch-local .kick i{background:var(--brand-hi)}
.loc-list{list-style:none;display:grid;gap:14px;counter-reset:loc}
.loc-list li{display:grid;grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;padding:24px 26px;border-radius:20px;background:#15181D;counter-increment:loc}
.loc-list li:nth-child(2){background:var(--brand)}
.loc-list li:nth-child(3){background:#fff;color:var(--ink)}
.loc-list li::before{content:"0" counter(loc);grid-row:span 2;font-family:var(--display);font-weight:900;font-size:40px;letter-spacing:-.04em;line-height:1;color:var(--brand-hi)}
.loc-list li:nth-child(2)::before{color:var(--pink)}
.loc-list li:nth-child(3)::before{color:var(--brand)}
.loc-list b{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.03em}
.loc-list span{font-size:16.5px;line-height:1.5;opacity:.85;margin-top:4px}

/* towns: mist, a checkerboard of cards */
.ch-cities{background:var(--mist)}
.city-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cc-city{position:relative;display:flex;flex-direction:column;gap:8px;min-height:230px;padding:24px 22px 58px;border-radius:22px;transition:transform .3s var(--ease),box-shadow .3s}
.cc-city:hover{transform:translateY(-5px) rotate(-.5deg);box-shadow:0 30px 50px -36px rgba(57,25,29,.7)}
.cc-city .mono{font-size:10px;opacity:.8}
.cc-city b{font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:-.04em;line-height:1}
.cc-city > span:not(.mono){font-size:14.5px;line-height:1.45;opacity:.85}
.cc-city.k0{background:var(--brand);color:#fff}
.cc-city.k1{background:#fff;color:var(--ink)}
.cc-city.k2{background:var(--ink);color:#fff}
.cc-city.k3{background:var(--b100);color:var(--b900)}
.cc-go{position:absolute;left:22px;bottom:20px;width:34px;height:34px;border-radius:9px;background:currentColor;opacity:.95}
.cc-go::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='%239B2335' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.cc-city.k1 .cc-go::after,.cc-city.k3 .cc-go::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.cc-city:hover .cc-go{transform:translateX(4px);transition:transform .25s var(--ease)}

/* articles on brick-50 (chapter pages reuse the homepage look) */
.ch-arts{background:var(--b50)}

/* other chapters strip */
.ch-switch{background:var(--b100);padding:26px 0}
.ch-switch .wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.ch-switch .mono{font-size:11px;color:var(--b700)}
.ch-switch .wrap > div{display:flex;flex-wrap:wrap;gap:8px}
.ch-switch a{padding:10px 16px;border-radius:10px;background:#fff;font-weight:650;font-size:15px;transition:background .2s,color .2s}
.ch-switch a:hover{background:var(--ink);color:#fff}
.ch-switch a[aria-current]{background:var(--brand);color:#fff}

/* ---------- city hero: ink, with a ticket ---------- */
.ink-top{background:var(--ink)}
.city-hero{background:var(--ink);color:#fff;padding-bottom:clamp(50px,7vw,100px)}
.cy-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:64px;align-items:center}
.city-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(44px,5.4vw,80px);line-height:.93;letter-spacing:-.04em;max-width:14ch;text-wrap:balance}
.city-hero h1 em{font-style:normal;color:var(--brand-hi)}
.city-hero .sub{max-width:560px;color:#C9CDD3}
.ticket{position:relative;background:#FFF7EE;color:var(--ink);border-radius:22px;padding:24px 26px 0;transform:rotate(2deg);box-shadow:0 60px 100px -50px rgba(0,0,0,.9);transition:transform .5s var(--ease)}
.ticket:hover{transform:rotate(0) translateY(-4px)}
.ticket::before,.ticket::after{content:"";position:absolute;bottom:62px;width:26px;height:26px;border-radius:50%;background:var(--ink)}
.ticket::before{left:-13px}.ticket::after{right:-13px}
.tk-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.tk-top .mono{font-size:10px;color:var(--b700)}
.tk-top img{width:70px;transform:rotate(10deg)}
.tk-city{display:block;margin-top:10px;font-family:var(--display);font-weight:900;font-size:clamp(40px,4vw,58px);letter-spacing:-.04em;line-height:.95}
.tk-ch{display:block;margin-top:12px;--wh:22px}
.tk-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;padding-top:14px;border-top:1.5px dashed var(--b200)}
.tk-row span{display:flex;flex-direction:column;gap:4px;font-weight:650;font-size:15px}
.tk-row i{font-style:normal;font-size:9.5px;color:var(--gray);font-weight:500}
.tk-stub{display:flex;justify-content:space-between;align-items:center;margin:20px -26px 0;padding:16px 26px 18px;border-top:2px dashed var(--ink);background:var(--brand);color:#fff;border-radius:0 0 22px 22px}
.tk-stub .mono{font-size:10.5px}
.tk-bar{width:120px;height:26px;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 5px,#fff 5px 6px,transparent 6px 9px,#fff 9px 12px,transparent 12px 14px)}

/* market: white, heading left sticky, story right */
.cy-market{background:#fff}
.mk-grid{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:80px;align-items:start}
.mk-head{position:sticky;top:40px}
.cy-market h2.big em,.cy-ex h2.big em{font-style:normal;color:var(--brand)}
.mk-body p{font-size:19px;line-height:1.65;color:#2A2E35;max-width:62ch}
.mk-body p+p{margin-top:20px}
.mk-body p:first-child{font-family:var(--display);font-weight:700;font-size:24px;line-height:1.4;letter-spacing:-.02em;color:var(--ink)}

/* use cases: brick-50, numbered cards */
.cy-ex{background:var(--b50)}
.ex-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ex{position:relative;border-radius:22px;padding:28px 30px 30px;display:flex;flex-direction:column;gap:10px;transition:transform .3s var(--ease)}
.ex:hover{transform:translateY(-4px)}
.ex.k0{background:var(--ink);color:#fff}.ex.k1{background:#fff}.ex.k2{background:#fff}.ex.k3{background:var(--brand);color:#fff}
.ex-n{font-size:11px;opacity:.7}
.ex b{font-family:var(--display);font-weight:900;font-size:28px;letter-spacing:-.035em;line-height:1.02;max-width:20ch}
.ex p{font-size:16.5px;line-height:1.55;opacity:.88}
.ex-body p{font-size:18px;line-height:1.6;max-width:70ch}.ex-body p+p{margin-top:16px}

.cy-offers{background:var(--ink);color:#fff}
.cy-offers .lede{color:#A3A9B2}
.cy-offers .kick i{background:var(--brand-hi)}

/* nearby: mist */
.cy-near{background:var(--mist);padding:clamp(60px,7vw,96px) 0}
.nb-head{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.nb-head .kick{width:100%;margin-bottom:0}
.nb-head h2{font-family:var(--display);font-weight:900;font-size:clamp(34px,4vw,54px);letter-spacing:-.04em;line-height:1;margin-right:auto}
.nb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nb{display:flex;flex-direction:column;gap:6px;padding:20px 20px 22px;border-radius:18px;background:#fff;transition:transform .25s var(--ease),background .2s}
.nb:hover{transform:translateY(-3px);background:var(--b100)}
.nb b{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.03em}
.nb .mono{font-size:10px;color:var(--gray)}

/* ---------- forms ---------- */
.form-hero{color:#fff;padding-bottom:clamp(60px,8vw,110px)}
.fh-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:64px;align-items:start;padding-top:20px}
.form-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(44px,5vw,76px);line-height:.93;letter-spacing:-.04em;max-width:12ch;text-wrap:balance}
.form-hero .sub{max-width:500px}
.fsteps{list-style:none;margin-top:38px;display:grid;gap:12px;max-width:500px}
.fsteps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;padding:16px 18px;border-radius:16px;background:rgba(57,25,29,.32)}
.fs-n{width:44px;height:44px;border-radius:11px;background:#fff;color:var(--brand);display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:22px}
.fsteps b{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em}
.fsteps p{font-size:15.5px;line-height:1.45;opacity:.85;margin-top:2px}
.iform{position:relative;background:#fff;color:var(--ink);border-radius:26px;padding:30px 30px 26px;box-shadow:0 70px 120px -50px rgba(57,25,29,.95);display:grid;gap:16px;margin-top:10px}
.if-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:2px}
.if-top img{width:64px;transform:rotate(-8deg)}
.if-top .mono{font-size:10.5px;color:var(--b700);background:var(--b50);padding:7px 10px;border-radius:8px}
.if-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:flex;flex-direction:column;gap:7px;min-width:0}
.flab{font-size:13.5px;font-weight:650}
.flab i{font-style:normal;font-weight:500;color:var(--slate)}
.iform input:not([type=hidden]),.iform textarea{width:100%;height:50px;border-radius:11px;border:0;box-shadow:inset 0 0 0 1.5px var(--line);padding:0 14px;font:inherit;font-size:16px;background:#fff;color:var(--ink);transition:box-shadow .15s}
.iform textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical;line-height:1.45}
.iform input:not([type=hidden]):focus,.iform textarea:focus{outline:none;box-shadow:inset 0 0 0 2.5px var(--brand)}
.iform .bad,.iform .dd.bad .dd-btn{box-shadow:inset 0 0 0 2.5px var(--brand-hi)!important;background:#FFF5F6}
.iform .dd-btn{width:100%;height:50px;box-shadow:inset 0 0 0 1.5px var(--line)}
.iform .dd-btn .ph{color:var(--slate)}
.if-go{width:100%;margin-top:4px}
.if-go[disabled]{opacity:.7}
.if-status{font-size:14.5px;min-height:20px}
.if-status.is-error{color:var(--brand)}
.if-fine{font-size:12.5px;color:var(--slate);text-align:center}
.form-more{background:var(--mist)}
.fm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fmc{display:flex;flex-direction:column;gap:8px;padding:28px 26px;border-radius:22px;transition:transform .3s var(--ease)}
.fmc:hover{transform:translateY(-4px)}
.fmc .mono{font-size:10.5px;opacity:.8}
.fmc b{font-family:var(--display);font-weight:900;font-size:26px;letter-spacing:-.035em;line-height:1.05}
.fmc > span:last-child{font-size:15.5px;opacity:.85}
.fmc.k0{background:var(--ink);color:#fff}.fmc.k1{background:#fff}.fmc.k2{background:var(--brand);color:#fff}

/* thanks */
.thanks-hero{color:#fff}
.th2{position:relative;min-height:70vh;display:flex;flex-direction:column;justify-content:center;padding-top:40px;padding-bottom:90px}
.thanks-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(44px,6vw,92px);line-height:.92;letter-spacing:-.04em;max-width:14ch}
.th2-hat{position:absolute;right:var(--pad);top:30px;width:min(34vw,380px);transform:rotate(10deg);filter:drop-shadow(0 30px 40px rgba(57,25,29,.6))}
.th2-stamp{position:absolute;right:calc(var(--pad) + 40px);top:clamp(200px,26vw,330px);font-family:var(--display);font-weight:900;font-size:40px;text-transform:uppercase;border:5px solid #fff;border-radius:12px;padding:4px 18px;transform:rotate(-14deg) scale(2.2);opacity:0;animation:finStamp .5s .4s cubic-bezier(.3,1.6,.5,1) forwards}

/* ---------- prompt packs ---------- */
.pack-hero{color:#fff;padding-bottom:clamp(50px,7vw,100px)}
.ph-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:60px;align-items:center}
.pack-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(44px,5.4vw,82px);line-height:.92;letter-spacing:-.04em;max-width:12ch}
.pack-hero .sub{max-width:540px}
.ph-stack{position:relative;height:340px}
.ph-stack i{position:absolute;width:250px;height:300px;border-radius:14px;background:#fff;color:var(--ink);padding:20px;display:flex;flex-direction:column;gap:10px;font-style:normal;box-shadow:0 30px 60px -30px rgba(57,25,29,.8);transition:transform .5s var(--ease)}
.ph-stack i b{font-family:var(--display);font-weight:900;font-size:21px;letter-spacing:-.03em;color:var(--brand)}
.ph-stack i span{font-size:13px;line-height:1.5;color:var(--gray)}
.ph-stack .pg1{right:0;top:10px;transform:rotate(8deg)}
.ph-stack .pg2{right:110px;top:30px;transform:rotate(-6deg);background:var(--b50)}
.ph-stack .pg3{right:40px;top:200px;width:130px;height:auto;background:transparent;box-shadow:none;padding:0;transform:rotate(-10deg)}
.ph-grid:hover .pg1{transform:rotate(12deg) translate(10px,-8px)}.ph-grid:hover .pg2{transform:rotate(-10deg) translate(-10px,4px)}
.pk-tabs{background:var(--ink);color:#fff;padding:20px 0;position:sticky;top:0;z-index:15}
.pk-tabs .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.pk-tabs .mono{font-size:10.5px;color:var(--b300)}
.pk-tabs .wrap > div{display:flex;flex-wrap:wrap;gap:8px}
.pk-tabs a{padding:9px 14px;border-radius:9px;background:#1B1E23;font-weight:600;font-size:14.5px}
.pk-tabs a:hover{background:#2A2E35}
.pk-tabs a[aria-current]{background:var(--brand)}
.pk-sec{background:var(--mist)}
.pk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pk{display:flex;flex-direction:column;gap:14px;border-radius:24px;padding:28px;background:#fff}
.pk.k1,.pk.k2{background:#fff}
.pk.k0{background:var(--ink);color:#fff}.pk.k3{background:var(--ink);color:#fff}
.pk-top{display:flex;align-items:center;gap:14px}
.pk-n{flex:none;width:46px;height:46px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:19px}
.pk-top b{font-family:var(--display);font-weight:900;font-size:26px;letter-spacing:-.035em;line-height:1.05}
.pk-when{font-size:15.5px;line-height:1.45;opacity:.88}
.pk-when .mono{display:block;font-size:10px;color:var(--brand);margin-bottom:4px}
.pk.k0 .pk-when .mono,.pk.k3 .pk-when .mono{color:var(--b300)}
.pk-box{background:var(--b50);color:var(--ink);border-radius:14px;padding:16px 18px;font-size:15px;line-height:1.55;flex:1}
.pk.k0 .pk-box,.pk.k3 .pk-box{background:#15181D;color:#E3E5E9}
.pk-copy{align-self:flex-start;background:var(--brand);color:#fff}
.pk-copy.ok{background:#137A3F}

/* ---------- quiz ---------- */
.qz-hero{color:#fff;min-height:calc(100vh - 84px);padding-bottom:80px}
.qz-wrap{max-width:1100px}
.qz-main .screen{display:none}
.qz-main .screen.active{display:block;animation:qzIn .45s var(--ease)}
.qz-main .qz-land.active{display:grid}
@keyframes qzIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.qz-land{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:56px;align-items:center;padding-top:20px}
.qz-land h1{font-family:var(--display);font-weight:900;font-size:clamp(46px,5.8vw,88px);line-height:.92;letter-spacing:-.04em;max-width:12ch;text-wrap:balance}
.qz-land .sub{max-width:520px}
.ql-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.ql-pills span{font-size:13.5px;font-weight:600;padding:8px 12px;border-radius:9px;background:rgba(57,25,29,.35)}
.ql-art{position:relative;background:var(--ink);border-radius:28px;padding:40px 30px 30px;text-align:center;transform:rotate(2deg);box-shadow:0 70px 120px -50px rgba(57,25,29,.95)}
.ql-art > img{position:absolute;width:130px;top:-56px;right:20px;transform:rotate(12deg)}
.ql-meter{position:relative;width:240px;height:130px;margin:0 auto}
.qm-arc{position:absolute;inset:0;border-radius:240px 240px 0 0;background:conic-gradient(from 270deg at 50% 100%,var(--brand-hi) 0 112deg,#2B2F36 112deg 180deg,transparent 0)}
.qm-arc::after{content:"";position:absolute;left:26px;right:26px;top:26px;bottom:0;border-radius:240px 240px 0 0;background:var(--ink)}
.qm-needle{position:absolute;left:50%;bottom:0;width:4px;height:96px;margin-left:-2px;background:#fff;border-radius:4px;transform-origin:50% 100%;transform:rotate(-80deg);animation:needle 2.4s var(--ease) .3s forwards}
@keyframes needle{to{transform:rotate(22deg)}}
.ql-meter b{position:absolute;left:0;right:0;bottom:-6px;font-family:var(--display);font-weight:900;font-size:46px;letter-spacing:-.04em;z-index:2}
.ql-meter .mono{position:absolute;left:0;right:0;bottom:-30px;font-size:10px;color:#9AA0A8}
.ql-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:52px}
.ql-tiers span{font-size:12px;font-weight:600;padding:9px 4px;border-radius:8px;background:#1B1E23;color:#9AA0A8}
.ql-tiers .on{background:var(--brand);color:#fff}
.qz-card{max-width:760px;margin:30px auto 0;background:#fff;color:var(--ink);border-radius:28px;padding:34px 36px;box-shadow:0 70px 120px -50px rgba(57,25,29,.95)}
.progress-head{display:flex;justify-content:space-between;align-items:center}
.progress-head img{width:54px;transform:rotate(-8deg)}
.qnum{font-size:11px;color:var(--b700)}
.progress-track{height:8px;background:var(--b50);border-radius:8px;margin:14px 0 26px;overflow:hidden}
.progress-fill{height:100%;width:0;background:var(--brand);border-radius:8px;transition:width .4s var(--ease)}
.qz-card .question{font-family:var(--display);font-weight:900;font-size:clamp(26px,3vw,36px);letter-spacing:-.035em;line-height:1.08}
.qz-card .hint{margin-top:8px;font-size:14px;color:var(--gray)}
.qz-card .options{display:grid;gap:10px;margin-top:22px}
.qz-card .opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:15px 16px;border-radius:13px;background:var(--mist);font-size:16.5px;font-weight:550;line-height:1.35;transition:background .15s,transform .15s,box-shadow .15s}
.qz-card .opt:hover{background:var(--b50);transform:translateX(3px)}
.qz-card .opt .mark{flex:none;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--slate);position:relative;transition:background .15s,box-shadow .15s}
.qz-card .opt.multi .mark{border-radius:6px}
.qz-card .opt.selected{background:var(--b50);box-shadow:inset 0 0 0 2px var(--brand)}
.qz-card .opt.selected .mark{background:var(--brand);box-shadow:none}
.qz-card .opt.selected .mark::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.qz-card .writein{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.qz-card .writein label,.qz-card .writein span{font-size:13.5px;font-weight:600}
.qz-card textarea,.qz-card input[type=text],.qz-card input[type=email]{width:100%;border:0;border-radius:11px;box-shadow:inset 0 0 0 1.5px var(--line);padding:12px 14px;font:inherit;font-size:16px;color:var(--ink);background:#fff}
.qz-card input[type=text],.qz-card input[type=email]{height:52px;padding:0 14px}
.qz-card textarea:focus,.qz-card input:focus{outline:none;box-shadow:inset 0 0 0 2.5px var(--brand)}
.qz-card .error,.qz-card input.error{box-shadow:inset 0 0 0 2.5px var(--brand-hi)!important}
.qz-card .btn-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}
.backlink{font-weight:650;font-size:15px;color:var(--gray);padding:12px 4px}
.backlink:hover{color:var(--ink)}
.qz-card .btn[disabled]{opacity:.45;cursor:not-allowed}
.qz-kick{font-size:11px;color:var(--brand)}
.qz-h2{font-family:var(--display);font-weight:900;font-size:clamp(34px,4vw,52px);letter-spacing:-.04em;line-height:1;margin-top:10px}
.qz-sub{margin-top:12px;font-size:17px;color:var(--gray);max-width:46ch}
#email-form{margin-top:22px;display:grid;gap:14px}
#email-form .field{display:flex;flex-direction:column;gap:7px}
#email-form label{font-size:13.5px;font-weight:650}
#email-form .btn-row{justify-content:flex-start;margin-top:4px}
.finep{font-size:12.5px;color:var(--slate)}
.loading{text-align:center;padding:50px 0}
.spinner{width:38px;height:38px;border:4px solid var(--b100);border-top-color:var(--brand);border-radius:50%;margin:0 auto 18px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.qz-results{max-width:860px}
.report-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1.5px solid var(--ink)}
.report-brand img{height:28px;width:auto}
.report-meta{font-size:10.5px;color:var(--gray)}
.report-for{margin-top:16px;font-weight:650;color:var(--gray)}
.score-block{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-top:14px}
.score-num{font-family:var(--display);font-weight:900;font-size:clamp(72px,10vw,120px);letter-spacing:-.04em;line-height:.9;color:var(--brand)}
.score-num .denom{font-size:.35em;color:var(--slate);letter-spacing:-.02em}
.tier{font-family:var(--display);font-weight:800;font-size:22px;padding:8px 14px;border-radius:10px;background:var(--ink);color:#fff}
.tier.early{background:var(--b100);color:var(--b900)}.tier.momentum{background:var(--pink);color:var(--b900)}.tier.ready{background:var(--brand)}.tier.advanced{background:var(--ink)}
.meter{margin-top:22px}
.meter-track{position:relative;height:12px;border-radius:12px;background:linear-gradient(90deg,var(--b100),var(--pink) 40%,var(--brand) 75%,var(--b900))}
.meter-marker{position:absolute;top:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px var(--ink);left:0;transition:left 1s var(--ease)}
.meter-labels{display:grid;grid-template-columns:repeat(4,1fr);margin-top:10px;font-size:10px;color:var(--gray)}
.meter-labels span:nth-child(2),.meter-labels span:nth-child(3){text-align:center}.meter-labels span:last-child{text-align:right}
.summary-block{margin-top:28px}
.summary-label,.opportunity-label{font-size:10.5px;color:var(--brand)}
.summary{margin-top:8px;font-size:18px;line-height:1.6}
.opportunity{margin-top:22px;background:var(--ink);color:#fff;border-radius:18px;padding:22px 24px}
.opportunity-label{color:var(--b300)}
.opportunity-text{margin-top:8px;font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;line-height:1.35}
.recs-head{margin-top:34px;font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:-.04em}
.recs{display:grid;gap:12px;margin-top:14px}
.rec{border-radius:16px;background:var(--mist);padding:20px 22px;font-size:16.5px;line-height:1.5}
.rec h4,.rec b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em}
.rec .effort{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;border-radius:6px;background:#fff;color:var(--b700);margin-bottom:8px}
.rec .firststep{margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff}
.rec .fs-label{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.rec .fs-text{margin-top:4px;font-size:15.5px}
.prompt-card{margin-top:28px;border-radius:20px;background:var(--b50);padding:24px}
.prompt-kicker{font-size:10.5px;color:var(--brand)}
.prompt-title{margin-top:6px;font-family:var(--display);font-weight:900;font-size:26px;letter-spacing:-.035em}
.prompt-intro{margin-top:8px;font-size:16px;color:var(--gray);line-height:1.5}
.prompt-box{margin-top:14px;max-height:220px;overflow:auto;white-space:pre-wrap;font-family:var(--mono);font-size:12.5px;line-height:1.55;background:#fff;border-radius:12px;padding:14px;box-shadow:inset 0 0 0 1.5px var(--b200)}
.prompt-actions{display:flex;align-items:center;gap:12px;margin-top:14px}
.copy-note{font-size:14px;font-weight:650;color:#137A3F;opacity:0;transition:opacity .2s}
.copy-note.show{opacity:1}
.report-footer{margin-top:26px;padding-top:14px;border-top:1.5px solid var(--line);font-size:10px;color:var(--gray);text-align:center}
.results-cta{margin-top:26px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:22px;border-top:1.5px dashed var(--line)}
.cta-pair{display:flex;gap:10px;flex-wrap:wrap}
@media print{
  .hero-top,.foot,.loading,.results-cta,.no-print,.skip{display:none!important}
  .qz-hero{background:#fff;min-height:0;padding:0}
  .qz-card{box-shadow:none;padding:0;margin:0;max-width:none}
  #report,#report *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rec,.opportunity,.prompt-card{break-inside:avoid}
  .prompt-box{max-height:none;overflow:visible}
}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .ch-grid,.cy-grid,.fh-grid,.ph-grid,.loc-grid,.mk-grid{grid-template-columns:1fr;gap:48px}
  .ch-map{max-width:620px}
  .ticket{max-width:460px}
  .mk-head{position:static}
  .city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-grid .cc-city:nth-child(4n+3){order:0}
  .nb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .qz-main .qz-land.active{grid-template-columns:1fr}
  .ql-art{max-width:420px}
  .ph-stack{display:none}
  .th2-hat{width:200px;top:20px;opacity:.9}
}
@media (max-width:980px){
  .om-grid,.ex-grid,.pk-grid,.fm-grid{grid-template-columns:1fr}
  .ex.k1{background:var(--brand);color:#fff}.ex.k3{background:#fff;color:var(--ink)}
  .pk.k1{background:var(--ink);color:#fff}.pk.k3{background:#fff;color:var(--ink)}
  .pk.k1 .pk-box{background:#15181D;color:#E3E5E9}.pk.k3 .pk-box{background:var(--b50);color:var(--ink)}
  .pk.k1 .pk-when .mono{color:var(--b300)}.pk.k3 .pk-when .mono{color:var(--brand)}
  /* two-column town grid: keep dark and light alternating in both directions */
  .city-grid .cc-city.k2{background:var(--b100);color:var(--b900)}
  .city-grid .cc-city.k3{background:var(--ink);color:#fff}
  .city-grid .cc-city.k3 .cc-go::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='%239B2335' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
  .city-grid .cc-city.k2 .cc-go::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
}
@media (max-width:760px){
  .ch-hero h1,.city-hero h1,.form-hero h1,.pack-hero h1,.qz-land h1{font-size:clamp(40px,11vw,56px)}
  .ch-map{padding:16px 8px 6px;transform:none}
  .ch-map .mpin.focus text{font-size:34px}.ch-map .mpin.dim text{font-size:24px}
  .om{padding:28px 22px 26px;min-height:0}
  .om-ic{width:92px;right:14px;top:16px}.om-board{width:76px}
  .om b{max-width:9ch}
  .loc-list li{grid-template-columns:44px minmax(0,1fr);padding:20px 18px}
  .loc-list li::before{font-size:30px}
  .city-grid{grid-template-columns:1fr}
  .city-grid .cc-city.k0{background:var(--brand);color:#fff}.city-grid .cc-city.k1{background:#fff;color:var(--ink)}.city-grid .cc-city.k2{background:var(--ink);color:#fff}.city-grid .cc-city.k3{background:var(--b100);color:var(--b900)}
  .cc-city{min-height:0}
  .ticket{transform:none;padding:20px 20px 0}
  .tk-stub{margin:18px -20px 0;padding:14px 20px 16px}
  .tk-bar{width:80px}
  .mk-body p{font-size:17.5px}.mk-body p:first-child{font-size:20px}
  .ex{padding:22px 20px 24px}.ex b{font-size:24px}
  .nb-grid{grid-template-columns:1fr 1fr}
  .iform{padding:22px 18px 20px}
  .if-2{grid-template-columns:1fr}
  .fsteps li{padding:14px}
  .pk{padding:22px 18px}
  .pk-top b{font-size:22px}
  .th2-hat{position:relative;right:auto;top:auto;width:150px;margin-bottom:10px}
  .th2-stamp{right:auto;left:150px;top:40px;font-size:28px}
  .qz-card{padding:24px 18px;border-radius:22px}
  .ql-art{padding:34px 18px 22px;transform:none}
  .ql-art > img{width:96px;top:-40px}
  .ql-meter{width:200px;height:108px}
  .qm-needle{height:78px}
  .score-num{font-size:84px}
  .results-cta,.cta-pair{flex-direction:column;align-items:stretch}
  .ch-switch .wrap{gap:12px}
  .crumb ol{margin:14px 0 18px}
}
@media (prefers-reduced-motion:reduce){.mpin .ring,.qm-needle,.th2-stamp{animation:none!important}.qm-needle{transform:rotate(22deg)}.th2-stamp{opacity:1;transform:rotate(-14deg)}}
.ch-map.in .route{animation:routeIn 1s var(--ease) forwards;animation-delay:var(--d)}
.ch-map.in .mpin{animation:pinIn .5s var(--ease) forwards;animation-delay:var(--d)}
@media (prefers-reduced-motion:reduce){.ch-map .route,.ch-map .mpin{opacity:1}}
/* the quiz's screens share a class name with the kit's product-demo screen; undo that here */
.qz-main .screen{aspect-ratio:auto;overflow:visible;font-size:inherit;color:inherit;background:none;border-radius:0}
.qz-main .qz-card.screen{background:#fff;color:var(--ink);border-radius:28px}
@media (max-width:760px){.qz-main .qz-card.screen{border-radius:22px}}
.ql-meter b{bottom:-58px}.ql-meter .mono{bottom:-80px}.ql-tiers{margin-top:104px}
@media (max-width:760px){.om > .mono{padding-right:92px}.om b{max-width:none}}
@media (max-width:600px){.ch-map .mpin.dim text{display:none}}

/* ---------- 2026-10 round 2: Concierge price tag, pricing, greetforms everywhere ---------- */
/* price tag on the offer cards */
.o-price{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;column-gap:10px;row-gap:4px;padding:14px 16px;border-radius:14px;background:rgba(57,25,29,.35);transition:background .2s}
.o-price:hover{background:rgba(57,25,29,.5)}
.o-price s{font-family:var(--display);font-weight:800;font-size:22px;opacity:.7;text-decoration-thickness:2px}
.o-price b{font-family:var(--display);font-weight:900;font-size:40px;letter-spacing:-.04em;line-height:1}
.o-per{font-size:15px;opacity:.85}
.o-note{grid-column:1 / -1;font-size:13.5px;opacity:.85}
.o-quote{grid-template-columns:1fr;background:var(--mist)}
.o-quote:hover{background:var(--b50)}
.o-quote b{font-size:30px}
.o-more{font-weight:650;font-size:15.5px;border-bottom:2px solid currentColor;padding-bottom:2px}
.om-price{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em}
.om-price s{opacity:.65;margin-right:4px}

/* greetform embeds: a white card that holds the official inline form at its pinned 600px */
.gf-card{background:#fff;border-radius:22px;padding:8px;min-height:616px;box-shadow:0 60px 110px -50px rgba(57,25,29,.9)}
.gf-card > div{min-height:600px}
.gf-frame{margin-top:6px;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1.5px var(--line);min-height:600px}
.pack .gf-frame{background:#fff}
.fh-form{background:#fff;border-radius:26px;padding:20px 16px 12px;box-shadow:0 70px 120px -50px rgba(57,25,29,.95)}
.fh-form .if-top{padding:0 6px 10px}
.fh-form .gf-card{box-shadow:none;padding:0;min-height:600px}

/* final section: the pitch, a hat up in the corner, and the fit-call form right there */
.fin-form .wrap{grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:center}
.fin-copy{position:relative;padding-top:20px}
.fin-hat{display:block;width:clamp(120px,12vw,170px);margin:0 0 -4px -10px;transform:rotate(-12deg);transform-origin:30% 100%;filter:drop-shadow(0 18px 24px rgba(57,25,29,.55));animation:hatTip 4.5s ease-in-out infinite}
@keyframes hatTip{0%,82%,100%{transform:rotate(-12deg)}88%{transform:rotate(-20deg) translateY(-10px)}94%{transform:rotate(-8deg)}}
.fin-steps{list-style:none;margin-top:28px;display:grid;gap:10px;max-width:440px}
.fin-steps li{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:550}
.fin-steps b{flex:none;width:30px;height:30px;border-radius:8px;background:#fff;color:var(--brand);display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:15px}
.fin-quiz{display:inline-block;margin-top:24px;font-weight:650;font-size:15.5px;border-bottom:2px solid rgba(255,255,255,.6);padding-bottom:2px}
.fin-quiz:hover{border-bottom-color:#fff}

/* pricing: mist section, founding card brick, standard white, training ink */
.pricing-sec{background:var(--mist)}
.pr-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px;align-items:stretch}
.pr{position:relative;display:flex;flex-direction:column;gap:14px;border-radius:26px;padding:32px 30px 30px}
.pr-found{background:var(--brand);color:#fff;box-shadow:0 50px 90px -50px rgba(57,25,29,.9);transform:translateY(-10px)}
.pr-std{background:#fff;color:var(--ink)}
.pr-train{background:var(--ink);color:#fff}
.pr-badge{position:absolute;top:-14px;right:24px;background:#fff;color:var(--brand);font-family:var(--display);font-weight:900;font-size:15px;padding:8px 14px;border-radius:10px;box-shadow:0 12px 24px -10px rgba(57,25,29,.6);animation:badgePulse 2.6s ease-in-out infinite}
@keyframes badgePulse{0%,100%{transform:rotate(3deg)}50%{transform:rotate(3deg) scale(1.06)}}
.pr-k{font-size:11px;opacity:.85}
.pr-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pr-price s{font-family:var(--display);font-weight:800;font-size:30px;opacity:.6;text-decoration-thickness:3px}
.pr-price b{font-family:var(--display);font-weight:900;font-size:clamp(52px,5vw,72px);letter-spacing:-.04em;line-height:.9}
.pr-train .pr-price b,.pr-std .pr-price b{font-size:clamp(44px,4vw,60px)}
.pr-price span{font-size:17px;opacity:.85}
.pr-lock{font-size:16.5px;line-height:1.45;opacity:.92}
.pr-found .pr-lock{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.015em}
.pr-rows{list-style:none;display:grid;margin-top:4px}
.pr-rows li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid rgba(255,255,255,.22);font-size:15.5px}
.pr-std .pr-rows li{border-top-color:var(--line)}
.pr-rows span{opacity:.8}
.pr-rows b{font-weight:650;text-align:right}
.pr-rows s{opacity:.6;margin-right:6px;font-weight:500}
.pr-save{font-size:15.5px;padding:12px 14px;border-radius:12px;background:rgba(57,25,29,.35)}
.pr-save b{font-family:var(--display);font-weight:900;font-size:20px}
.pr-std .pr-save{background:var(--mist)}
.pr .btn{margin-top:auto;align-self:stretch}
.pr-inc{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:40px;margin-top:40px;padding:32px;border-radius:24px;background:#fff}
.pr-inc .mono{font-size:11px;color:var(--brand)}
.pr-inc p{margin-top:10px;font-size:16.5px;line-height:1.55;color:var(--gray)}
.pr-inc ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.pr-inc li{display:grid;grid-template-columns:22px 1fr;column-gap:10px}
.pr-inc li::before{content:"";grid-row:span 2;width:18px;height:18px;margin-top:3px;border-radius:5px;background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.pr-inc li b{font-weight:650;font-size:16px}
.pr-inc li span{font-size:14.5px;color:var(--gray)}
.pr-hero{color:#fff;padding-bottom:clamp(60px,8vw,110px)}
.pr-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(44px,5.6vw,84px);line-height:.93;letter-spacing:-.04em;max-width:15ch;margin-top:10px}
.pr-hero .sub{max-width:620px}
.pr-hero .eyebrow{margin-top:30px}

@media (max-width:1180px){
  .fin-form .wrap{grid-template-columns:1fr}
  .fin-form-wrap{max-width:560px}
  .pr-grid{grid-template-columns:1fr 1fr}
  .pr-found{grid-column:1 / -1;transform:none}
  .pr-inc{grid-template-columns:1fr;gap:20px}
}
@media (max-width:760px){
  .pr-grid{grid-template-columns:1fr}
  .pr{padding:26px 20px 22px}
  .pr-inc{padding:22px 18px}.pr-inc ul{grid-template-columns:1fr}
  .o-price b{font-size:34px}
  .gf-card{padding:4px;border-radius:18px}
  .fh-form{padding:16px 8px 8px}
  .fin-hat{width:110px}
}
@media (prefers-reduced-motion:reduce){.fin-hat,.pr-badge{animation:none}}
@media (max-width:760px){.fin-hat{margin-bottom:8px}}

/* ---------- round 3 ---------- */
.o-terms{font-size:15px;line-height:1.45;opacity:.95}.o-terms b{font-weight:700}
.pr-grid{grid-template-columns:1.25fr 1fr}
.pr-found{transform:none}
.pr-inc li{align-content:start}
@media (max-width:1180px){.pr-grid{grid-template-columns:1fr}}

/* workflow demo: a white board on brick-50, steps light up top to bottom */
.wf{background:#fff;border-radius:26px;padding:26px 26px 20px;box-shadow:0 50px 90px -56px rgba(57,25,29,.7)}
.wf-top{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 16px}
.wf-top .mono{grid-column:1 / -1;font-size:10.5px;color:var(--b700)}
.wf-top b{font-family:var(--display);font-weight:900;font-size:28px;letter-spacing:-.035em;line-height:1.05}
.wf-count{font-size:14px;color:var(--gray);font-weight:550}.wf-count em{font-style:normal;font-family:var(--display);font-weight:900;font-size:20px;color:var(--brand)}
.wf-bar{height:8px;border-radius:8px;background:var(--b50);margin:14px 0 16px;overflow:hidden}
.wf-bar i{display:block;height:100%;width:0;background:var(--brand);border-radius:8px;transition:width .6s var(--ease)}
.wf-list{list-style:none;display:grid;gap:6px}
.wf-list li{display:grid;grid-template-columns:34px minmax(0,1fr) 24px;gap:12px;align-items:center;padding:9px 12px;border-radius:13px;background:var(--mist);transition:background .35s,color .35s,transform .35s var(--ease),box-shadow .35s}
.wf-n{width:34px;height:34px;border-radius:9px;background:#fff;color:var(--ink);display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:15px;transition:background .3s,color .3s}
.wf-list b{display:block;font-weight:650;font-size:15.5px;line-height:1.25}
.wf-list div span{display:block;font-size:13.5px;line-height:1.35;color:var(--gray);max-height:0;opacity:0;overflow:hidden;transition:max-height .4s var(--ease),opacity .3s}
.wf-list li.on div span,.wf-list li.done div span{max-height:64px;opacity:1}
.wf-list li.on{background:var(--ink);color:#fff;transform:translateX(6px);box-shadow:0 18px 30px -18px rgba(11,13,16,.7)}
.wf-list li.on div span{color:#C9CDD3}
.wf-list li.on .wf-n{background:var(--brand);color:#fff}
.wf-list li.done{background:var(--b50)}
.wf-list li.done .wf-n{background:var(--brand);color:#fff}
.wf-ck{width:22px;height:22px;border-radius:50%;opacity:0;transform:scale(.4);transition:opacity .25s,transform .35s cubic-bezier(.3,1.6,.5,1);background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.wf-list li.done .wf-ck{opacity:1;transform:none}
.wf-list li.wf-you.on{background:var(--brand)}
.wf-list li.wf-you.on .wf-n{background:#fff;color:var(--brand)}
.wf-list li.wf-you.on div span{color:#fff}
.wf-list li.wf-you b::after{content:"Your tap";margin-left:8px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:6px;background:var(--pink);color:var(--b900);vertical-align:2px}
.wf-end{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding:14px 16px;border-radius:13px;background:var(--mist);color:var(--gray);transition:background .4s,color .4s}
.wf-end span{font-size:14px;font-weight:600;color:var(--gray);transition:color .4s}
.wf-end.on{background:var(--ink);color:#fff}
.wf-end.on span{color:var(--pink)}
.wf-end b{font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.02em}
.ctx-fine{margin-top:12px;font-size:12.5px;color:var(--gray)}

/* training timeline: one ink "now" panel with a 90-minute dial, and six plain steps beside it */
.tl{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:18px;align-items:stretch}
.tl-now{background:var(--ink);color:#fff;border-radius:26px;padding:34px 32px;display:flex;flex-direction:column;gap:8px}
.tl-dial{position:relative;width:170px;height:170px;margin-bottom:18px}
.tl-dial svg{width:100%;height:100%;transform:rotate(-90deg)}
.tl-track{fill:none;stroke:#23262C;stroke-width:12}
.tl-prog{fill:none;stroke:var(--brand-hi);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset 1s var(--ease)}
.tl-dial span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tl-dial b{font-family:var(--display);font-weight:900;font-size:52px;letter-spacing:-.04em;line-height:1}
.tl-dial em{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9AA0A8;margin-top:4px}
.tl-now > .mono{font-size:11px;color:var(--pink)}
.tl-title{font-family:var(--display);font-weight:900;font-size:clamp(28px,2.8vw,38px);letter-spacing:-.04em;line-height:1.02}
.tl-now p{font-size:17px;line-height:1.5;color:#C9CDD3;min-height:78px}
.tl-steps{list-style:none;display:grid;gap:8px}
.tl-step{position:relative;overflow:hidden;width:100%;height:100%;min-height:62px;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:14px;text-align:left;padding:0 20px;border-radius:16px;background:#fff;transition:transform .25s var(--ease),background .25s,color .25s}
.tl-step:hover{transform:translateX(4px)}
.tl-step b{position:relative;z-index:2;font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.025em}
.tl-t{position:relative;z-index:2;font-size:11px;color:var(--b700)}
.tl-step.past{background:var(--b100)}
.tl-step.on{background:var(--brand);color:#fff;transform:translateX(8px)}
.tl-step.on .tl-t{color:var(--pink)}
.tl-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--b700);z-index:1}
.tl-step:not(.on) .tl-fill{display:none}
.who{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;margin-top:18px;padding:22px 30px;border-radius:20px;background:var(--b100)}
.who > .mono{font-size:11px;color:var(--b700)}
.who ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.who li{display:flex;flex-direction:column;gap:2px}
.who b{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em}
.who li span{font-size:14.5px;color:var(--b900);opacity:.8}
@media (max-width:980px){
  .tl{grid-template-columns:1fr}
  .tl-now{padding:26px 22px}
  .tl-dial{width:130px;height:130px}.tl-dial b{font-size:40px}
  .tl-now p{min-height:0}
  .who{grid-template-columns:1fr;gap:12px;padding:20px}
  .who ul{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .wf{padding:18px 14px 14px}
  .wf-top b{font-size:23px}
  .wf-list li{grid-template-columns:30px minmax(0,1fr) 20px;gap:10px;padding:8px 10px}
  .wf-n{width:30px;height:30px}
  .wf-list li.on{transform:none}
  .tl-step{grid-template-columns:64px minmax(0,1fr);padding:0 14px}.tl-step b{font-size:17px}
  .tl-step.on{transform:none}
}
@media (prefers-reduced-motion:reduce){.wf-list li,.wf-bar i,.tl-prog{transition:none}}
.pr-train .pr-save{background:#1B1E23}
@media (max-width:760px){.wh-map .mpin text{font-size:24px}}
