/* Layout: white page, oversized grotesque headlines, one signal-orange accent taken from the mark's dot;
   dark bands only for the model section and footer; bracket labels echo the logo. */
:root{
  --bg:#FFFFFF; --bg-2:#F4F5F7; --fg:#0C0D10; --fg-2:#555B68; --fg-3:#8A90A0;
  --line:#E2E4EA; --line-2:#EEF0F3;
  --accent:#FF4A1C; --accent-2:#FF7A3D; --accent-ink:#FFFFFF; --accent-soft:#FFE9E2;
  --dark:#0C0D10; --dark-2:#16181E; --dark-fg:#F5F6F8; --dark-fg-2:#A3A8B5; --dark-line:#262932;
  --display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --body:"Figtree","Segoe UI",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
}
/* Theme is manual: light by default, dark only when the visitor switches (stored in localStorage). */
:root[data-theme="dark"]{
  --bg:#0C0D10; --bg-2:#15171C; --fg:#F5F6F8; --fg-2:#B0B5C1; --fg-3:#8A90A0;
  --line:#2A2E38; --line-2:#1D2027;
  --accent:#FF5A2E; --accent-2:#FF8A52; --accent-ink:#0C0D10; --accent-soft:#3A1C12;
  --dark:#050608; --dark-2:#111318; --dark-fg:#F5F6F8; --dark-fg-2:#A9AEBA; --dark-line:#262932;
  color-scheme:dark }
/* dark-mode contrast fixes: the dark cards need an edge against the dark page */
:root[data-theme="dark"] .plan{border:1px solid var(--dark-line);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
:root[data-theme="dark"] .band,:root[data-theme="dark"] footer{border-top:1px solid var(--dark-line)}
:root[data-theme="dark"] .btn.primary{color:#0C0D10}
:root[data-theme="dark"] .step.on{color:#0C0D10} :root[data-theme="dark"] .step.on .n{color:#0C0D10}
:root[data-theme="dark"] .cta-band{color:#0C0D10} :root[data-theme="dark"] .cta-band .btn{background:#0C0D10;color:#fff;border-color:#0C0D10}
:root[data-theme="dark"] .cta-band .btn:hover{background:#fff;border-color:#fff;color:#0C0D10}
:root[data-theme="dark"] .col.us{color:#0C0D10} :root[data-theme="dark"] .col.us dd{color:#0C0D10} :root[data-theme="dark"] .col.us dt,:root[data-theme="dark"] .col.us .tag{color:rgba(12,13,16,.75)}
:root[data-theme="dark"] .plan .top .dot{box-shadow:0 0 0 4px rgba(255,90,46,.3)}
html.pending body{visibility:hidden}

/* Chinese typography: no negative tracking on CJK, CJK fallbacks after the Latin faces */
html[lang="zh"]{
  --display:"Bricolage Grotesque","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC","Microsoft YaHei","Segoe UI",system-ui,sans-serif;
  --body:"Figtree","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC","Microsoft YaHei","Segoe UI",system-ui,sans-serif;
}
html[lang="zh"] h1,html[lang="zh"] h2,html[lang="zh"] h3,html[lang="zh"] h4,html[lang="zh"] .btn,html[lang="zh"] .facts b,html[lang="zh"] .step b,html[lang="zh"] .rule b,html[lang="zh"] .list b,html[lang="zh"] .ticker span,html[lang="zh"] .about .big,html[lang="zh"] .q button,html[lang="zh"] .ph .yr{letter-spacing:0}
html[lang="zh"] h1,html[lang="zh"] h2,html[lang="zh"] h3{line-height:1.15}
html[lang="zh"] .hero h1{font-size:clamp(40px,7vw,92px)}
html[lang="zh"] .cta-band h2{font-size:clamp(34px,5.4vw,72px)}
html[lang="zh"] .lab,html[lang="zh"] .card .k,html[lang="zh"] .col .tag,html[lang="zh"] .panel .cols h4,html[lang="zh"] form label,html[lang="zh"] .reg dt,html[lang="zh"] footer h4,html[lang="zh"] .plan th{letter-spacing:.04em}
html[lang="zh"] .about .big{max-width:30ch;font-weight:700}
html[lang="zh"] .facts b{font-size:23px}
html[lang="zh"] .plan th{letter-spacing:0}
html[lang="zh"] .lede,html[lang="zh"] .head p,html[lang="zh"] p{line-height:1.75}
html[lang="zh"] .col dl{grid-template-columns:120px 1fr}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.02;letter-spacing:-.03em;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.sec{padding-block:96px}
.lab{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);display:inline-flex;align-items:center;gap:8px;font-weight:500}
.lab::before{content:"(";color:var(--accent);font-weight:600} .lab::after{content:")";color:var(--accent);font-weight:600}
.head{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.head h2{font-size:clamp(34px,4.6vw,60px);margin-top:14px}
.head p{color:var(--fg-2);font-size:18px;max-width:52ch;line-height:1.5}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:16px;padding:15px 24px;border:2px solid var(--fg);border-radius:999px;text-decoration:none;cursor:pointer;background:transparent;color:var(--fg);transition:transform .15s,background .15s,color .15s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.btn.light{border-color:var(--dark-fg);color:var(--dark-fg)}
.btn.light:hover{background:var(--dark-fg);color:var(--dark)}
.btn .arr{font-family:var(--mono);font-weight:500}
.btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-2)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.logo{display:flex;align-items:center;color:var(--fg);text-decoration:none}
.logo svg{height:36px;width:auto;display:block}
.links{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.links a{display:block;padding:8px 12px;font-size:15px;font-weight:600;text-decoration:none;color:var(--fg-2);border-radius:999px;white-space:nowrap}
.links a:hover,.links a.on{color:var(--fg);background:var(--bg-2)}
.nav .btn{padding:10px 18px;font-size:15px}
.tools{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.lang{display:inline-flex;border:2px solid var(--fg);border-radius:999px;padding:2px;font-family:var(--mono);font-size:13px;font-weight:500}
.lang a{border:0;background:transparent;color:var(--fg-2);padding:6px 11px;border-radius:999px;cursor:pointer;font:inherit;line-height:1;min-width:38px;text-decoration:none;text-align:center}
.lang a.on{background:var(--fg);color:var(--bg)}
.lang a[data-lang="zh"]{font-family:var(--body);font-weight:600}
html.pending body{visibility:visible}
.theme,.burger{display:inline-flex;align-items:center;justify-content:center;background:none;border:2px solid var(--fg);border-radius:999px;width:40px;height:40px;cursor:pointer;color:var(--fg);padding:0}
.theme svg{width:18px;height:18px;display:block}
.theme .sun{display:none} .theme .moon{display:block}
:root[data-theme="dark"] .theme .sun{display:block} :root[data-theme="dark"] .theme .moon{display:none}
.burger{display:none;width:40px;height:40px}
.burger svg{width:20px;height:20px;display:block}
@media (max-width:1000px){
  .links{display:none;position:absolute;left:0;right:0;top:72px;flex-direction:column;background:var(--bg);border-bottom:1px solid var(--line);padding:8px max(16px,env(safe-area-inset-left,0px)) 16px}
  .links.open{display:flex} .burger{display:inline-flex} .nav .btn{display:none}
  .tools{gap:8px}
}
@media (max-width:420px){
  .logo svg{height:30px}
  .lang a{padding:6px 8px;min-width:32px}
}

/* hero */
.hero{padding-block:88px 0;position:relative;overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(46px,8vw,104px);letter-spacing:-.045em;margin:20px 0 24px;font-weight:800}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .lede{font-size:20px;color:var(--fg-2);max-width:54ch;line-height:1.5}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.plan{border-radius:18px;background:var(--dark);color:var(--dark-fg);overflow:hidden;min-width:0;box-shadow:0 30px 60px -30px rgba(12,13,16,.45)}
.plan .top{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--dark-line);font-family:var(--mono);font-size:12px;color:var(--dark-fg-2)}
.plan .top b{color:var(--dark-fg);font-weight:500}
.plan .top .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:8px;box-shadow:0 0 0 4px rgba(255,74,28,.25)}
.plan table{width:100%;border-collapse:collapse;font-size:14px}
.plan th{text-align:left;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dark-fg-2);padding:12px 22px 8px;border-bottom:1px solid var(--dark-line)}
.plan td{padding:12px 22px;border-bottom:1px solid var(--dark-line);vertical-align:top}
.plan td.num,.plan th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.plan tr:last-child td{border-bottom:0}
.plan .sum{display:grid;grid-template-columns:1fr auto;gap:6px 22px;padding:16px 22px;background:var(--dark-2);font-size:14px}
.plan .sum b{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent-2)}
.plan .note{padding:12px 22px;font-size:12px;color:var(--dark-fg-2);border-top:1px solid var(--dark-line)}
.ticker{margin-top:72px;border-top:2px solid var(--fg);border-bottom:2px solid var(--fg);overflow:hidden;white-space:nowrap;padding:14px 0}
.ticker .track{display:inline-flex;gap:0;animation:tick 42s linear infinite;will-change:transform}
.ticker span{font-family:var(--display);font-weight:700;font-size:22px;padding:0 28px;letter-spacing:-.01em}
.ticker span::after{content:"•";color:var(--accent);margin-left:56px}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-block:72px 0}
.facts div{background:var(--bg-2);border-radius:14px;padding:26px 24px;min-width:0}
.facts .lab{margin-bottom:12px}
.facts b{display:block;font-family:var(--display);font-size:26px;font-weight:700;line-height:1.05;letter-spacing:-.02em}
.facts span{display:block;color:var(--fg-2);font-size:14.5px;margin-top:10px;line-height:1.5}

/* services */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--bg-2);border-radius:16px;padding:30px 28px;min-width:0;position:relative;transition:transform .2s}
.card:hover{transform:translateY(-3px)}
.card .k{font-family:var(--mono);font-size:12px;color:var(--accent);margin-bottom:28px;display:block;letter-spacing:.06em;text-transform:uppercase}
.card h3{font-size:24px;margin-bottom:12px;letter-spacing:-.02em}
.card p{color:var(--fg-2);font-size:15.5px;line-height:1.55}
.models{margin-top:16px;display:grid;grid-template-columns:1fr 1.4fr;gap:32px;align-items:center;padding:36px;background:var(--fg);color:var(--bg);border-radius:16px}
.models h3{font-size:28px;letter-spacing:-.02em}
.models p{color:color-mix(in srgb,var(--bg) 70%,transparent);margin-top:10px;font-size:15.5px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{font-family:var(--mono);font-size:13px;padding:10px 16px;border-radius:999px;background:color-mix(in srgb,var(--bg) 12%,transparent);border:1px solid color-mix(in srgb,var(--bg) 25%,transparent)}
.chip.no{opacity:.55;border-style:dashed}
.chip b{font-weight:600;color:var(--accent-2)}
.chips.light .chip{background:var(--bg);border:1px solid var(--line);color:var(--fg)}

/* process */
.proc{display:grid;grid-template-columns:.9fr 1.4fr;gap:40px;align-items:start}
.steps{display:flex;flex-direction:column;gap:4px}
.step{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:14px 16px;border:0;background:transparent;border-radius:12px;cursor:pointer;text-align:left;font:inherit;color:var(--fg);transition:background .15s}
.step:hover{background:var(--bg-2)}
.step.on{background:var(--accent);color:#fff}
.step .n{font-family:var(--mono);font-size:13px;color:var(--fg-3)}
.step.on .n{color:#fff;opacity:.8}
.step b{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.01em}
.panel{position:sticky;top:96px;border-radius:18px;padding:36px;min-width:0;background:var(--bg-2)}
.panel h3{font-size:34px;margin:12px 0 10px;letter-spacing:-.025em}
.panel .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.panel .cols h4{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:10px}
.panel .cols p{font-size:14.5px;color:var(--fg-2);line-height:1.55}
.panel .gate{margin-top:24px;padding:14px 18px;border-radius:10px;background:var(--accent-soft);font-size:14.5px;color:var(--fg);border-left:4px solid var(--accent)}
.panel .gate b{font-weight:700;color:var(--accent)}

/* model (dark band) */
.band{background:var(--dark);color:var(--dark-fg)}
.band .lab{color:var(--dark-fg-2)}
.band .head p{color:var(--dark-fg-2)}
.model .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.col{border-radius:18px;padding:36px;min-width:0;background:var(--dark-2);border:1px solid var(--dark-line)}
.col.us{background:linear-gradient(160deg,var(--accent),var(--accent-2));color:#fff;border:0}
.col .tag{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dark-fg-2)}
.col.us .tag{color:rgba(255,255,255,.85)}
.col h3{font-size:32px;margin:10px 0 26px;letter-spacing:-.025em}
.col dl{margin:0;display:grid;grid-template-columns:140px 1fr;gap:12px 18px;font-size:15px}
.col dt{font-family:var(--mono);font-size:12px;padding-top:3px;color:var(--dark-fg-2)}
.col.us dt{color:rgba(255,255,255,.85)}
.col dd{margin:0;color:var(--dark-fg);line-height:1.5}
.col.us dd{color:#fff}
.rules{margin-top:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rule{padding:26px 24px;border-radius:14px;background:var(--dark-2);border:1px solid var(--dark-line)}
.rule .lab{margin-bottom:12px}
.rule b{display:block;font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.1}
.rule p{color:var(--dark-fg-2);font-size:14.5px;margin-top:10px;line-height:1.5}

/* why */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.why div{border:1px solid var(--line);border-radius:16px;padding:32px 28px;min-width:0}
.why h3{font-size:22px;margin-bottom:12px;letter-spacing:-.015em}
.why p{color:var(--fg-2);font-size:15.5px;line-height:1.55}
.why .m{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--accent-soft);color:var(--accent);margin-bottom:24px}
.why .m svg{width:28px;height:28px}

/* serve */
.serve{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
.list{list-style:none;margin:0;padding:0;border-top:2px solid var(--fg)}
.list li{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.list b{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.015em;line-height:1.1}
.list span{color:var(--fg-2);font-size:15.5px;line-height:1.5}
.mkt{border-radius:18px;padding:36px;background:var(--bg-2)}
.mkt h3{font-size:24px;margin-bottom:12px}
.mkt p{color:var(--fg-2);font-size:15.5px}
.mkt .chips{margin-top:18px}
.mkt .fine{margin-top:24px;font-size:13.5px;color:var(--fg-3);border-top:1px solid var(--line);padding-top:16px}

/* roadmap */
.road{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative}
.ph{position:relative;padding:28px 24px 24px;border-radius:16px;border:1px solid var(--line);min-width:0}
.ph.now{border:2px solid var(--accent)}
.ph .yr{font-family:var(--display);font-weight:800;font-size:34px;letter-spacing:-.03em;color:var(--fg-3);line-height:1}
.ph.now .yr{color:var(--accent)}
.ph h3{font-size:22px;margin:14px 0 12px;letter-spacing:-.015em}
.ph ul{margin:0;padding-left:18px;color:var(--fg-2);font-size:14.5px}
.ph li{margin:6px 0;line-height:1.45}
.road-note{margin-top:28px;font-size:14px;color:var(--fg-3);max-width:70ch}

/* about */
.about{display:grid;grid-template-columns:1fr;gap:48px;align-items:start;max-width:860px}
.about .big{font-family:var(--display);font-size:clamp(26px,3.4vw,40px);line-height:1.15;font-weight:600;letter-spacing:-.025em;max-width:26ch}
.about .story{margin-top:24px;color:var(--fg-2);font-size:16.5px;max-width:62ch;line-height:1.6}
.about .story+.story{margin-top:14px}

/* faq */
.faq{max-width:860px}
.q{border-top:1px solid var(--line)}
.q:last-child{border-bottom:1px solid var(--line)}
.q button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;background:none;border:0;cursor:pointer;text-align:left;font-family:var(--display);font-weight:700;font-size:21px;color:var(--fg);letter-spacing:-.015em}
.q button::after{content:"+";font-family:var(--mono);font-weight:500;color:var(--accent);font-size:24px;flex:0 0 auto}
.q.open button::after{content:"–"}
.q .a{display:none;padding:0 0 24px;color:var(--fg-2);font-size:16px;max-width:68ch;line-height:1.6}
.q.open .a{display:block}

/* cta + contact */
.cta-band{background:var(--accent);color:#fff;padding-block:80px}
.cta-band .in{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.cta-band h2{font-size:clamp(40px,6vw,84px);letter-spacing:-.04em;font-weight:800}
.cta-band p{font-size:19px;opacity:.9;max-width:40ch;line-height:1.5}
.cta-band .btn{background:#fff;color:var(--accent);border-color:#fff;font-size:18px;padding:18px 30px}
.cta-band .btn:hover{background:var(--dark);border-color:var(--dark);color:#fff}
.contact{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:start}
.contact h2{font-size:clamp(32px,4vw,48px);margin-top:14px}
.contact .lede{color:var(--fg-2);font-size:17px;margin-top:14px;max-width:40ch;line-height:1.55}
.addr{margin-top:36px;font-size:15px;color:var(--fg-2);line-height:1.55}
.addr b{display:block;color:var(--fg);font-weight:700;font-family:var(--display);font-size:19px}
.email{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-family:var(--mono);font-size:15px}
.email a{color:var(--fg);text-decoration:none;border-bottom:2px solid var(--accent)}
.email button{font:inherit;font-size:12px;padding:6px 12px;border:1px solid var(--line);background:var(--bg);border-radius:999px;cursor:pointer;color:var(--fg-2)}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;border-radius:18px;padding:36px;background:var(--bg-2)}
form label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--fg-2);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}
form label.full{grid-column:1/-1}
form input,form select,form textarea{font:15px/1.4 var(--body);padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);min-width:0;width:100%}
form textarea{min-height:120px;resize:vertical}
form .foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
form .foot small{color:var(--fg-3);font-size:12.5px;max-width:52ch;font-family:var(--body);text-transform:none;letter-spacing:0}
.sent{grid-column:1/-1;padding:16px 18px;background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:0 10px 10px 0;font-size:15px}
.err{color:var(--accent);font-size:12px;text-transform:none;letter-spacing:0}

/* footer */
footer{background:var(--dark);color:var(--dark-fg-2);padding-block:64px 36px;font-size:14px}
footer .row{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
footer .logo{color:var(--dark-fg)}
footer .logo svg{height:34px}
footer .tag{margin-top:14px;font-family:var(--mono);font-size:13px;color:var(--dark-fg-2);max-width:48ch;line-height:1.5}
footer .cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
footer h4{font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dark-fg-2);margin-bottom:12px}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:7px 0}
footer a{text-decoration:none;color:var(--dark-fg)}
footer a:hover{color:var(--accent-2)}
footer .legal{margin-top:56px;padding-top:22px;border-top:1px solid var(--dark-line);display:flex;flex-wrap:wrap;gap:8px 32px;font-size:13px;color:var(--dark-fg-2)}

@media (max-width:980px){
  .hero .grid,.head,.proc,.model .two,.serve,.about,.contact,footer .row,.models,.cta-band .in,.obj-panel .in{grid-template-columns:1fr}
  .objs{grid-template-columns:1fr 1fr}
  .facts,.rules,.road{grid-template-columns:1fr 1fr}
  .cards,.why{grid-template-columns:1fr 1fr}
  .panel{position:static}
  .sec{padding-block:64px}
  .head{margin-bottom:36px}
}
@media (max-width:620px){
  .facts,.rules,.road,.cards,.why,.panel .cols,footer .cols,.objs,.obj-panel .cols,.radios{grid-template-columns:1fr}
  form{grid-template-columns:1fr;padding:22px}
  .list li{grid-template-columns:1fr;gap:8px}
  .col dl{grid-template-columns:1fr;gap:2px 0} .col dt{padding-top:12px}
  .hero{padding-block:56px 0}
  .hero h1{font-size:46px}
  .ticker span{font-size:18px}
  /* media-plan card: tighter cells so all four columns fit a phone */
  .plan table{font-size:13px}
  .plan th,.plan td{padding:10px 10px}
  .plan th:first-child,.plan td:first-child{padding-left:16px}
  .plan th:last-child,.plan td:last-child{padding-right:16px}
  .plan th{font-size:10px;letter-spacing:.04em}
  .plan .top,.plan .sum,.plan .note{padding-left:16px;padding-right:16px}
  .plan .sum{grid-template-columns:1fr;gap:2px 0}
  .plan .sum b{margin-bottom:8px}
}

/* ---------- solutions by objective ---------- */
.objs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.obj{display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding:26px 24px;border:1px solid var(--line);border-radius:16px;background:var(--bg);cursor:pointer;text-align:left;font:inherit;color:var(--fg);min-width:0;transition:transform .15s,border-color .15s,background .15s}
.obj:hover{transform:translateY(-2px);border-color:var(--fg-3)}
.obj.on{border:2px solid var(--accent);padding:25px 23px}
.obj .k{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}
.obj b{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.obj span{color:var(--fg-2);font-size:14.5px;line-height:1.5}
.obj .go{margin-top:auto;font-family:var(--mono);font-size:12px;color:var(--fg-3)}
.obj.on .go{color:var(--accent)}
.obj-panel{margin-top:14px;border-radius:18px;background:var(--bg-2);padding:36px;min-width:0}
.obj-panel .in{display:grid;grid-template-columns:1fr 1.5fr;gap:32px;align-items:start}
.obj-panel h3{font-size:30px;letter-spacing:-.025em;margin:10px 0 12px}
.obj-panel .sum{color:var(--fg-2);font-size:16px;line-height:1.6;max-width:44ch}
.obj-panel .cols{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}
.obj-panel .cols h4{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:10px}
.obj-panel .cols p{font-size:15px;color:var(--fg);line-height:1.5}
.obj-panel .cols .chips{gap:8px}
.obj-panel .cols .chip{background:var(--bg);border:1px solid var(--line);color:var(--fg);font-size:12.5px;padding:8px 13px}
.obj-panel .act{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:6px;padding-top:22px;border-top:1px solid var(--line)}
.obj-panel .act small{color:var(--fg-3);font-size:13px;max-width:60ch}
.card .more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--display);font-weight:700;font-size:14.5px;color:var(--fg);text-decoration:none;border-bottom:2px solid var(--accent)}
.card .more .arr{font-family:var(--mono);font-weight:500}

/* ---------- three-step brief form ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
form .wiz-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px}
form .wiz-bar{display:flex;gap:6px}
form .wiz-bar span{width:34px;height:4px;border-radius:999px;background:var(--line)}
form .wiz-bar span.on{background:var(--accent)}
form .wiz-title{grid-column:1/-1;font-size:26px;letter-spacing:-.02em;margin:-4px 0 4px}
form fieldset.fs{display:none;grid-column:1/-1;margin:0;padding:0;border:0;min-width:0}
form fieldset.fs.on{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.radios{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.radio{display:flex;flex-direction:row;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);cursor:pointer;font-family:var(--display);font-weight:700;font-size:15.5px;color:var(--fg);letter-spacing:0;text-transform:none}
.radio input{appearance:none;width:18px;height:18px;border:2px solid var(--fg-3);border-radius:50%;margin:0;flex:0 0 auto;display:grid;place-content:center}
.radio input::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .12s}
.radio input:checked{border-color:var(--accent)} .radio input:checked::before{transform:scale(1)}
.radio:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
form .foot #back{padding:12px 18px;font-size:15px}
form .err.step{grid-column:1/-1}

/* ---------- subpages ---------- */
.page{padding-block:72px 96px;min-height:60vh}
.page .lab{margin-bottom:14px}
.page h1{font-size:clamp(34px,4.6vw,56px);margin-bottom:28px}
.page-body{max-width:70ch;color:var(--fg-2);font-size:17px;line-height:1.65}
.page-body p+p{margin-top:14px}
.page-body h2{font-size:24px;margin:36px 0 12px;color:var(--fg)}
.page-body a{color:var(--fg);border-bottom:2px solid var(--accent);text-decoration:none}
.page-body ul{padding-left:20px} .page-body li{margin:6px 0}
.page .note{display:inline-block;margin-bottom:24px;padding:10px 14px;border-radius:10px;background:var(--accent-soft);border-left:4px solid var(--accent);font-size:14px;color:var(--fg)}
@media (max-width:980px){ .objs{grid-template-columns:1fr 1fr} .obj-panel .in{grid-template-columns:1fr} }
@media (max-width:620px){ .objs{grid-template-columns:1fr} .radios{grid-template-columns:1fr} form fieldset.fs.on{grid-template-columns:1fr} .obj-panel{padding:24px} .obj-panel .cols{grid-template-columns:1fr} }
