/* Korasaka site v2 — base + sections (hero lives in hero-v2.css) */
@font-face{font-family:"Geist";src:url(/assets/v2/fonts/Geist-var.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/assets/v2/fonts/GeistMono-var.woff2) format("woff2");font-weight:400 600;font-display:swap}
@font-face{font-family:"Michroma";src:url(/Michroma-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
/* Michroma has no Cyrillic: RU headings use Unbounded (loaded only when Cyrillic is on screen) */
@font-face{font-family:"Unbounded";src:url(/assets/v2/fonts/Unbounded-var.woff2) format("woff2");font-weight:300 500;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root{
  --bg:#000;--s1:#0a0a0a;--s2:#141414;--card:#0d0d0d;
  --line:rgba(255,255,255,.10);--line-2:rgba(255,255,255,.16);
  --t1:#F5F5F5;--t2:#B8B8B8;--t3:#8A8A8A;
  --accent:#EB5600;--glow:rgba(235,86,0,.32);
  --display:"Michroma","Unbounded",system-ui,sans-serif;
  --sans:"Geist",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --pad:48px;--sec:128px;
}
html[lang="ru"]{--display:"Unbounded","Michroma",system-ui,sans-serif}
html[lang="ru"] h1,html[lang="ru"] h2,html[lang="ru"] .state-1,html[lang="ru"] .quote,html[lang="ru"] .t-big{font-weight:300}
*{box-sizing:border-box}
html{color-scheme:dark;-webkit-text-size-adjust:100%;scroll-padding-top:80px;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--t2);font:400 18px/30px var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:var(--t1);text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}
a:hover{text-decoration-color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
img{max-width:100%;height:auto;display:block}
h1,h2{font-family:var(--display);font-weight:400;color:var(--t1);margin:0;letter-spacing:0}
h1{font-size:64px;line-height:72px}
h2{font-size:40px;line-height:50px;text-wrap:balance}
h3{font:600 20px/28px var(--sans);color:var(--t1);margin:0 0 10px}
p{margin:0}
.skip{position:absolute;left:-999px;top:8px;background:var(--t1);color:#000;padding:12px 16px;z-index:100}
.skip:focus{left:8px}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px rgba(235,86,0,.7);flex:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:8px;font:600 16px/24px var(--sans);text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;white-space:nowrap;cursor:pointer}
.btn-primary{background:var(--accent);color:#000;border:1px solid var(--accent)}
.btn-primary:hover{background:#ff6a14;border-color:#ff6a14}
.btn-ghost{background:var(--s1);color:var(--t1);border:1px solid var(--line-2)}
.btn-ghost:hover{border-color:rgba(255,255,255,.4);background:var(--s2)}
.btn-sm{min-height:36px;padding:0 14px;font-size:14px;border-radius:6px}
.btn-block{width:100%}
.arrow-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:500 16px/24px var(--sans);color:var(--t1);text-decoration:none}
.arr{color:var(--accent);transition:transform .15s}
.arrow-link:hover .arr,.tile-link:hover .arr{transform:translateX(3px)}

/* nav */
.nav{position:sticky;top:0;z-index:10;background:rgba(0,0,0,.78);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.nav-in{max-width:1200px;margin:0 auto;height:64px;padding:0 24px;display:flex;align-items:center;gap:32px}
.nav-logo{display:flex;align-items:center;min-height:44px}
.nav-logo img{height:30px;width:auto}
.nav-links{display:flex;gap:24px;white-space:nowrap}
.nav-links a,.lang a{font:500 14px/20px var(--sans);color:var(--t2);text-decoration:none}
.nav-links a:hover,.lang a:hover{color:var(--t1)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.lang{display:flex;gap:2px;margin-right:4px}
.lang a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:0 6px;border-radius:6px}
.lang a[aria-current]{color:var(--t1);text-decoration:underline 2px var(--accent);text-underline-offset:6px}

/* page frame with Vercel-style guide lines + crosshairs */
.frame{max-width:1200px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);position:relative}
.frame main>section,.frame main>figure{border-top:1px solid var(--line);position:relative}
.frame main>section:first-of-type,.frame main>figure:first-child{border-top:0}
.frame main>section::before,.frame main>section::after{content:"";position:absolute;top:-7px;width:13px;height:13px;z-index:2;pointer-events:none;background:
  linear-gradient(var(--line-2),var(--line-2)) center/1px 13px no-repeat,
  linear-gradient(var(--line-2),var(--line-2)) center/13px 1px no-repeat}
.frame main>section::before{left:-7px}
.frame main>section::after{right:-7px}
/* crosshair at the top-left corner of every cell in a bordered grid */
.xc>*{position:relative}
.xc>*::after{content:"";position:absolute;top:-7px;left:-7px;width:13px;height:13px;z-index:2;pointer-events:none;background:
  linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)) center/1px 13px no-repeat,
  linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,.28)) center/13px 1px no-repeat}

/* eyebrows */
.eyebrow{font:500 13px/16px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin:0 0 16px}
.eyebrow .eb-n{color:var(--accent)}

/* scroll reveal (only when JS + motion allowed) */
html.rv-on .rv{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
html.rv-on .rv.in{opacity:1;transform:none}
.rv .bar-fill{transform-origin:left center}
html.rv-on .rv .bar-fill{transform:scaleX(0);transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .15s}
html.rv-on .rv.in .bar-fill{transform:scaleX(1)}

/* hero base (from v1; hero-v2.css builds on it) */
.hero{border-top:0!important;text-align:center;padding:32px 24px 48px;overflow:hidden}
.orbit-wrap{position:relative;width:280px;height:280px;margin:0 auto 24px}
.glow{position:absolute;inset:-140px;background:radial-gradient(closest-side,var(--glow),rgba(235,86,0,.10) 45%,transparent 72%);pointer-events:none}
.orbit{position:relative;width:100%;height:100%;overflow:visible}
.kicker{font:500 18px/28px var(--sans);color:var(--t2);margin:0 auto 16px;max-width:720px}
.hero h1{margin:0 auto 20px}
.lead{font-size:20px;line-height:32px;color:var(--t2);max-width:780px;margin:0 auto 32px}
.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.actions-left{justify-content:flex-start;margin:28px 0 20px}

/* orbit animation: 11s move (ease-in-out), 3s rest in logo pose, 14s loop */
.orb{animation:14s infinite both}
.orb-1{animation-name:lap1}.orb-2{animation-name:lap2}.orb-3{animation-name:lap3}.orb-4{animation-name:lap4}
@keyframes lap1{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.65,0,.35,1)}78.57%,100%{transform:rotate(360deg)}}
@keyframes lap2{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.65,0,.35,1)}78.57%,100%{transform:rotate(720deg)}}
@keyframes lap3{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.65,0,.35,1)}78.57%,100%{transform:rotate(1080deg)}}
@keyframes lap4{0%{transform:rotate(0);animation-timing-function:cubic-bezier(.65,0,.35,1)}78.57%,100%{transform:rotate(1440deg)}}
@media (prefers-reduced-motion:reduce){.orb{animation:none}}


@media (max-width:640px){
  .hero{padding:24px var(--pad) 48px}
  .orbit-wrap{width:220px;height:220px;margin-bottom:20px}
  .glow{inset:-90px}
  .kicker{font-size:16px;line-height:24px}
  .lead{font-size:17px;line-height:28px}
}

/* product window */
.product{margin:0;padding:72px var(--pad) 56px;background:radial-gradient(55% 45% at 50% 18%,rgba(235,86,0,.16),transparent 70%)}
.window{border:1px solid var(--line-2);border-radius:14px;overflow:hidden;background:var(--s1);
  box-shadow:0 0 0 1px rgba(0,0,0,.6),0 30px 90px -24px rgba(0,0,0,.95),0 -16px 80px -24px rgba(235,86,0,.35)}
.window-bar{height:44px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);background:var(--s2);position:relative}
.window-bar::before{content:"";position:absolute;left:16px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#2a2a2a;box-shadow:16px 0 0 #2a2a2a,32px 0 0 #2a2a2a}
.url{font:500 14px/20px var(--mono);color:var(--t3);background:#000;border:1px solid var(--line);border-radius:6px;padding:2px 14px}
.window img{width:100%}
.product figcaption{font:500 15px/24px var(--sans);color:var(--t3);text-align:center;margin:24px auto 0;max-width:760px}
.product figcaption a{color:var(--t2)}

/* works-with strip */
.strip{display:grid;grid-template-columns:max-content repeat(8,minmax(0,1fr)) max-content}
.strip .cell{display:flex;align-items:center;justify-content:center;height:88px;border-left:1px solid var(--line);text-align:center;padding:0 10px}
.strip .cell:first-child{border-left:0}
.strip .name{font:600 16px/22px var(--sans);color:var(--t1);white-space:nowrap}
.cell-label{font:500 14px/20px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--t3)}

/* 01 origin */
.why{display:grid;grid-template-columns:5fr 7fr;gap:48px;padding:var(--sec) var(--pad)}
.body-lg{font-size:20px;line-height:34px;color:var(--t2)}
.timeline{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--line)}
.timeline li{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.tl-date{font:500 14px/22px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--t3)}
.tl-text{font:500 17px/26px var(--sans);color:var(--t1)}
.timeline .now .tl-date{color:var(--accent)}

/* section heads */
.sec-head{padding:104px var(--pad) 48px}
.sec-head .sub{margin-top:16px;font-size:20px;line-height:32px;color:var(--t2);max-width:720px}

/* 02 steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.steps li{padding:36px 32px 56px;border-left:1px solid var(--line);transition:background-color .2s}
.steps li:first-child{border-left:0;padding-left:var(--pad)}
.steps li:hover{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}
.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.step-n{font:400 40px/44px var(--display);color:var(--t1)}
.step-who{display:inline-flex;align-items:center;gap:8px;font:500 13px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t2);border:1px solid var(--line-2);border-radius:999px;padding:6px 12px}
.steps p{color:var(--t1);font-size:18px;line-height:30px}

/* 03 bento */
.bento{display:grid;grid-template-columns:7fr 5fr;border-top:1px solid var(--line)}
.tile{padding:40px var(--pad) 44px;border-left:1px solid var(--line);border-top:1px solid var(--line);display:flex;flex-direction:column;transition:background-color .2s}
.tile:hover{background:radial-gradient(80% 60% at 50% 0%,rgba(255,255,255,.03),transparent 70%)}
.tile:nth-child(odd){border-left:0}
.tile:nth-child(-n+2){border-top:0}
.tile p{max-width:560px}
.tile-agents,.tile-map{min-height:460px}
.tile-agents>p,.tile-map>p{margin-bottom:28px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.chip-s{display:inline-flex;align-items:center;gap:8px;font:600 14px/20px var(--sans);color:var(--t1);background:var(--card);border:1px solid var(--line-2);border-radius:999px;padding:6px 14px}
.code{font:500 14px/22px var(--mono);color:var(--t2);background:var(--s1);border:1px solid var(--line);border-radius:10px;padding:20px 24px;margin:0;overflow-x:auto}
.tile .code{margin-top:auto}
.c-k{color:var(--t1)}.c-s{color:#c9c9c9}
.crop{margin-top:auto;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;box-shadow:0 -12px 50px -24px rgba(235,86,0,.35)}
.mini-cards{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.mini{display:inline-flex;align-items:center;background:var(--card);border:1px solid var(--line-2);border-radius:10px;padding:10px 14px}
.mini-label{display:flex;align-items:center;gap:8px;font:500 13px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#a8a8a8}
.badge{display:inline-block;vertical-align:middle;margin-left:8px;font:500 13px/20px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--t2);border:1px solid var(--line-2);border-radius:999px;padding:1px 10px}
.tile-link{margin-top:24px;display:inline-flex;align-items:center;gap:6px;min-height:44px;font:500 16px/24px var(--sans);text-decoration:none;width:max-content}
.tile-link{color:var(--t1)}

/* 04 diary search */
.search{background:radial-gradient(45% 40% at 85% 45%,rgba(235,86,0,.10),transparent 70%)}
.search-grid{display:grid;grid-template-columns:8fr 4fr;border-top:1px solid var(--line)}
.chart{padding:40px var(--pad) 48px}
.chart-title{font:500 14px/20px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t3);margin-bottom:28px}
.bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:26px}
.bar-row{display:grid;grid-template-columns:170px 1fr 130px;grid-template-areas:"lab track val" ". tok tok";column-gap:20px;row-gap:6px;align-items:center}
.bar-label{grid-area:lab;font:600 16px/24px var(--sans);color:var(--t1)}
.bar-row .bar-track{grid-area:track}
.bar-val{grid-area:val;font:500 15px/24px var(--sans);color:var(--t2);text-align:right;white-space:nowrap}
.bar-val b{font:400 28px/32px var(--display);color:var(--t1);margin-right:4px;font-variant-numeric:tabular-nums}
.bar-row.best .bar-val b{color:var(--accent)}
.bar-tok{grid-area:tok;font:500 14px/20px var(--mono);color:var(--t3)}
.bar-track{display:block;height:14px;border-radius:4px;background:rgba(255,255,255,.05);border:1px solid var(--line);overflow:hidden}
.bar-fill{display:block;height:100%;width:calc(var(--v) * 100%);min-width:6px;background:#5a5a5a;border-radius:3px}
.bar-fill.grey{background:#4a4a4a}
.best .bar-fill:not(.grey),.bar-row.best .bar-fill{background:var(--accent);box-shadow:0 0 16px rgba(235,86,0,.55)}
.totals{border-left:1px solid var(--line);padding:40px var(--pad) 48px;display:flex;flex-direction:column;justify-content:center}
.t-label{font:500 14px/20px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t3);margin-bottom:8px}
.t-big{font:400 72px/80px var(--display);color:var(--t1);font-variant-numeric:tabular-nums}
.t-big.accent{color:var(--accent)}
.t-sub{font:500 18px/26px var(--sans);color:var(--t2);margin-bottom:20px}
.t-sub:last-child{margin-bottom:0}
.acc-grid{display:grid;grid-template-columns:4fr 4fr 4fr;border-top:1px solid var(--line)}
.acc-grid>*{padding:36px var(--pad) 44px;border-left:1px solid var(--line)}
.acc-grid>*:first-child{border-left:0}
.acc-intro p:last-child{color:var(--t2);font-size:17px;line-height:28px}
.acc-intro .chart-title{margin-bottom:12px}
.acc-title{font:600 16px/24px var(--sans);color:var(--t1);margin-bottom:20px}
.acc-row{display:grid;grid-template-columns:130px 1fr 56px;gap:12px;align-items:center;margin-bottom:14px}
.acc-lab{font:500 14px/20px var(--sans);color:var(--t2)}
.acc-n{font:600 18px/24px var(--sans);color:var(--t2);text-align:right;font-variant-numeric:tabular-nums}
.acc-row.best .acc-lab{color:var(--t1)}
.acc-row.best .acc-n{color:var(--accent)}

/* statement */
.statement{padding:136px var(--pad);text-align:center;overflow:hidden;
  background:
    radial-gradient(closest-side,rgba(0,0,0,.0) 0,rgba(0,0,0,0) 100%),
    repeating-radial-gradient(circle at 50% 50%,transparent 0 119px,rgba(255,255,255,.06) 119px 120px)}
.statement::selection{background:var(--accent)}
.statement-in{position:relative;max-width:940px;margin:0 auto;padding:32px 24px;background:radial-gradient(closest-side,#000 60%,rgba(0,0,0,.85) 80%,transparent)}
.mini-core{display:block;margin:0 auto 28px;width:56px;height:56px}
.state-1{font:400 34px/50px var(--display);color:var(--t1);text-wrap:balance}
.state-2{font:500 20px/32px var(--sans);color:var(--t2);margin-top:20px}

/* 05/06 duo */
.duo{display:grid;grid-template-columns:1fr 1fr}
.duo-cell{padding:96px var(--pad)}
.duo-cell+.duo-cell{border-left:1px solid var(--line)}
.duo-cell h2{margin-bottom:28px}
.quote{font:400 26px/38px var(--display);color:var(--t1);margin-bottom:16px;padding-left:20px;border-left:2px solid var(--accent)}
.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.actions-left{justify-content:flex-start;margin:28px 0 16px}
.links{list-style:none;margin:0;padding:0;display:flex;gap:4px 24px;flex-wrap:wrap;font:500 16px/24px var(--sans)}
.links a{display:inline-flex;align-items:center;min-height:44px}

/* 07 devs */
.devs-grid{display:grid;grid-template-columns:5fr 7fr;border-top:1px solid var(--line)}
.devs-text{padding:40px var(--pad);display:flex;flex-direction:column;gap:20px}
.devs-text .actions-left{margin:4px 0 0}
.stack{color:var(--t1);font-weight:600}
.code-card{border-left:1px solid var(--line);padding:40px var(--pad)}
.code-bar{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:var(--s2);padding:6px 8px 6px 20px;font:500 14px/20px var(--mono);color:var(--t3)}
.copy{font:500 14px/20px var(--sans);color:var(--t1);background:transparent;border:1px solid var(--line-2);border-radius:6px;padding:0 14px;min-height:36px;cursor:pointer}
.copy:hover{border-color:rgba(255,255,255,.4)}
.code-full{margin:0;border-radius:0 0 10px 10px}
.sizes-wrap{display:grid;grid-template-columns:7fr 5fr;border-top:1px solid var(--line)}
.sizes-box{padding:40px var(--pad) 48px}
.sizes{border-collapse:collapse;width:100%;font:500 16px/24px var(--sans)}
.sizes caption{text-align:left;font:500 14px/20px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t3);padding-bottom:16px}
.sizes th,.sizes td{padding:10px 0;border-bottom:1px solid var(--line);color:var(--t2);font-weight:500;text-align:left}
.sizes th{width:44%;padding-right:16px}
.sizes .sz-bar{width:36%}
.sizes .bar-track{height:10px}
.sizes .sz-n{text-align:right;color:var(--t1);font-variant-numeric:tabular-nums;padding-left:16px;white-space:nowrap}
.sizes tr.best th{color:var(--t1);font-weight:600}
.sizes tr.best .sz-n{color:var(--accent);font-weight:600}
.note{border-left:1px solid var(--line);padding:40px var(--pad) 48px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.note .date{color:var(--t1);font-weight:600}

/* 08 final CTA */
.request{display:grid;grid-template-columns:5fr 7fr;overflow:hidden;
  background:radial-gradient(60% 70% at 20% 100%,rgba(235,86,0,.22),transparent 70%),radial-gradient(40% 50% at 90% 0%,rgba(235,86,0,.08),transparent 70%)}
.request-intro{padding:112px var(--pad);display:flex;flex-direction:column;align-items:flex-start}
.request-intro h2{font-size:52px;line-height:62px;margin-bottom:24px}
.request-lead{font-size:20px;line-height:32px;color:var(--t2);margin-bottom:20px;max-width:420px}
.form-wrap{padding:80px var(--pad);border-left:1px solid var(--line)}
.form{display:flex;flex-direction:column;background:rgba(10,10,10,.9);border:1px solid var(--line-2);border-radius:16px;padding:32px;box-shadow:0 30px 80px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.04)}
.form label,.form legend{font:500 14px/20px var(--sans);color:var(--t2);margin-bottom:8px}
.form input[type=email],.form textarea{font:400 16px/24px var(--sans);color:var(--t1);background:#000;border:1px solid var(--line-2);border-radius:8px;padding:12px 14px;margin-bottom:24px;width:100%;min-height:48px}
.form input::placeholder{color:#767676}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(235,86,0,.2)}
.form fieldset{border:0;padding:0;margin:0 0 24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form legend{padding:0;margin-bottom:8px}
.choice{display:flex!important;align-items:center;gap:10px;min-height:48px;border:1px solid var(--line-2);border-radius:8px;padding:10px 14px;margin:0!important;color:var(--t1)!important;font:500 16px/22px var(--sans)!important;cursor:pointer}
.choice:has(input:checked){border-color:var(--accent);background:rgba(235,86,0,.08)}
.choice input{accent-color:var(--accent);margin:0;width:18px;height:18px;flex:none}
.form-note{margin-top:16px;font:500 15px/22px var(--sans);color:var(--t1)}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* footer */
.foot{border-top:1px solid var(--line)}
.foot-in{max-width:1200px;margin:0 auto;padding:56px 24px 40px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.foot-brand img{height:30px;width:auto;margin-bottom:16px}
.foot-brand p{font:500 15px/24px var(--sans);color:var(--t3)}
.foot-h{font:500 13px/16px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-bottom:12px}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col a{display:inline-flex;align-items:center;min-height:36px;font:500 15px/22px var(--sans);color:var(--t2);text-decoration:none}
.foot-col a:hover{color:var(--t1)}
.foot-bottom{max-width:1200px;margin:0 auto;padding:16px 24px 32px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-bottom:0;font:500 14px/20px var(--sans);color:var(--t3)}

/* tablet */
@media (max-width:1000px){
  :root{--pad:32px;--sec:96px}
  h1{font-size:44px;line-height:56px}
  .nav-links{display:none}
  .why,.request,.devs-grid,.sizes-wrap,.search-grid{grid-template-columns:minmax(0,1fr)}
  .why{gap:24px}
  .form-wrap,.code-card,.note,.totals{border-left:0;border-top:1px solid var(--line)}
  .totals{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
  .totals .t-label{width:100%}
  .acc-grid{grid-template-columns:1fr 1fr}
  .acc-intro{grid-column:1/-1;border-bottom:1px solid var(--line)}
  .acc-grid>*:nth-child(2){border-left:0}
  .request-intro{padding-bottom:40px}.form-wrap{padding-top:40px}
  .foot-in{grid-template-columns:1fr 1fr 1fr}
  .foot-brand{grid-column:1/-1}
  .strip{grid-template-columns:repeat(4,minmax(0,1fr))}
  .strip .cell{height:64px}
  .strip .cell:nth-child(4n+1){border-left:0}
  .strip .cell:nth-child(n+5){border-top:1px solid var(--line)}
}
/* mobile */
@media (max-width:640px){
  :root{--pad:20px;--sec:72px}
  body{font-size:17px;line-height:28px}
  h1{font-size:32px;line-height:40px}
  h2{font-size:28px;line-height:36px}
  .nav-in{padding:0 12px 0 16px;gap:8px}
  .frame main>section::before,.frame main>section::after{display:none}
  .eyebrow,.step-who,.foot-h,.badge,.mini-label,.cell-label,.chart-title,.t-label,.sizes caption,.tl-date,.bar-tok{font-size:14px}
  .copy{min-height:44px}
  .nav-logo img{height:24px}
  .nav-app{display:none}
  .lang{margin-right:0}
  .lang a{min-width:44px;min-height:44px}
  .nav-right .btn-sm{min-height:44px;padding:0 14px}
  .actions .btn{flex:1 1 100%}
  .actions-left .btn{flex:0 1 auto;white-space:normal;text-align:center}
  .strip{grid-template-columns:minmax(0,1fr)}
  .strip .cell{height:auto;min-height:56px;padding:12px 16px;border-left:0;border-top:1px solid var(--line)}
  .strip .cell:first-child{border-top:0;min-height:44px}
  .strip .cell:last-child{min-height:44px}
  .strip .name{font-size:18px}
  .product{padding:40px 12px 40px}
  .window-bar::before{display:none}
  .product figcaption{padding:0 8px}
  .sec-head{padding:64px var(--pad) 32px}
  .sec-head .sub{font-size:17px;line-height:28px}
  .body-lg{font-size:17px;line-height:28px}
  .timeline li{grid-template-columns:1fr;gap:2px}
  .steps,.bento,.duo,.acc-grid{grid-template-columns:minmax(0,1fr)}
  .steps li,.tile,.duo-cell+.duo-cell,.acc-grid>*{border-left:0!important}
  .steps li{padding:28px var(--pad) 32px!important;border-top:1px solid var(--line)}
  .steps li:first-child{border-top:0}
  .step-top{margin-bottom:16px}
  .step-n{font-size:32px;line-height:36px}
  .tile{border-top:1px solid var(--line)!important;padding:32px var(--pad)}
  .tile:first-child{border-top:0!important}
  .tile-agents,.tile-map{min-height:0}
  .chart{padding:32px var(--pad) 36px}
  .bar-row{grid-template-columns:1fr auto;grid-template-areas:"lab val" "track track" "tok tok"}
  .bar-val b{font-size:24px}
  .totals{padding:28px var(--pad)}
  .t-big{font-size:48px;line-height:56px}
  .acc-grid>*{padding:28px var(--pad) 32px;border-top:1px solid var(--line)}
  .acc-grid>*:first-child{border-top:0}
  .acc-row{grid-template-columns:110px 1fr 48px}
  .statement{padding:64px 0}
  .statement-in{padding:24px var(--pad)}
  .state-1{font-size:24px;line-height:36px}
  .state-2{font-size:17px;line-height:28px}
  .duo-cell{padding:64px var(--pad)}
  .duo-cell+.duo-cell{border-top:1px solid var(--line)}
  .quote{font-size:21px;line-height:32px}
  .devs-text,.code-card{padding:32px var(--pad)}
  .code{font-size:14px;padding:16px}
  .sizes-box{padding:32px var(--pad)}
  .sizes{font-size:15px}
  .sizes th{width:auto}
  .sizes .sz-bar{display:none}
  .note{padding:32px var(--pad)}
  .request-intro{padding:64px var(--pad) 24px}
  .request-intro h2{font-size:34px;line-height:42px}
  .request-lead{font-size:17px;line-height:28px}
  .form-wrap{padding:24px var(--pad) 64px;border-top:0}
  .form{padding:20px}
  .form fieldset{grid-template-columns:1fr}
  .foot-in{grid-template-columns:1fr 1fr;padding:40px 20px 24px;gap:24px 16px}
  .foot-col a{min-height:44px}
  .foot-bottom{padding:12px 20px 24px}
}

/* ===== v2.1 content blocks ===== */
/* 02 scenarios */
.scen-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.scen{padding:40px var(--pad) 48px;border-left:1px solid var(--line);display:flex;flex-direction:column}
.scen:first-child{border-left:0}
.scen-tag{display:inline-flex;align-items:center;gap:8px;font:500 13px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t2);margin-bottom:14px}
.scen h3{font:400 26px/34px var(--display);color:var(--t1);margin:0 0 20px}
.flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 28px}
.fl-node{display:inline-flex;align-items:center;gap:8px;font:500 14px/20px var(--sans);color:var(--t1);background:var(--card);border:1px solid var(--line-2);border-radius:999px;padding:5px 12px}
.fl-node.core{border-color:rgba(235,86,0,.6);background:rgba(235,86,0,.08)}
.fl-node.ext{border-style:dashed;color:var(--t2)}
.fl-arr{color:var(--t3);font:500 14px/20px var(--sans)}
.scen-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.scen-steps li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.sc-n{font:500 14px/28px var(--mono);color:var(--t3)}
.sc-t{color:var(--t1);font-size:17px;line-height:28px}
.scen-proof{margin-top:24px;padding:14px 16px;border:1px solid var(--line-2);border-left:2px solid var(--accent);border-radius:8px;background:var(--card);color:var(--t1);font-size:16px;line-height:26px}
.proof-date{display:block;font:500 13px/18px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--t3);margin-bottom:4px}
.scen-foot{margin-top:auto;padding-top:20px;color:var(--t2);font-size:16px;line-height:26px}

/* 03 bento: notes row + diary module */
.tile-notes{grid-column:1/-1;min-height:0;flex-direction:row;align-items:center;justify-content:space-between;gap:32px}
.tile-notes .mini-cards{margin-top:0}
.tile-diary{grid-column:1/-1;border-left:0!important}
.diary-head{max-width:820px}
.tile-diary h3{font:400 30px/40px var(--display);margin:0 0 16px}
.diary-lead{font-size:20px;line-height:32px;color:var(--t1)}
.diary-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(10,10,10,.6)}
.dcol{padding:24px 24px 28px;border-left:1px solid var(--line)}
.dcol:first-child{border-left:0}
.dcol-h{display:flex;flex-direction:column;gap:10px;font:500 15px/22px var(--sans);color:var(--t2);margin-bottom:16px}
.st{display:inline-flex;align-items:center;gap:8px;width:max-content;font:500 13px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 10px;border:1px solid var(--line-2);color:var(--t1)}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:#777}
.st-live{border-color:rgba(235,86,0,.6)}
.st-live::before{background:var(--accent);box-shadow:0 0 8px rgba(235,86,0,.7)}
.st-agent::before{background:#fff}
.st-dev{color:var(--t2)}
.dlist{list-style:none;margin:0;padding:0}
.dlist li{position:relative;padding:8px 0 8px 18px;color:var(--t1);font-size:16px;line-height:24px;border-bottom:1px solid var(--line)}
.dlist li:last-child{border-bottom:0}
.dlist li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:1px;background:var(--t3)}
.dnote{margin-top:14px;font-size:15px;line-height:24px;color:var(--t3)}

/* 04 search: benefit first, numbers quieter */
.search .sec-head h2{max-width:900px}
.fine-print{margin-top:14px;font:500 15px/24px var(--mono);color:var(--t3)}
.search-grid{grid-template-columns:5fr 7fr}
.builtin{padding:40px var(--pad) 48px;display:flex;flex-direction:column;gap:12px}
.builtin-t{color:var(--t1);font-size:18px;line-height:30px}
.builtin-s{color:var(--t2);font-size:16px;line-height:26px}
.search-grid .chart{border-left:1px solid var(--line)}
.search .bars{gap:18px}
.search .bar-row{grid-template-columns:150px 1fr 150px}
.search .bar-label{font-weight:500;font-size:15px;color:var(--t2)}
.search .bar-track{height:8px}
.search .bar-val{font-size:14px}
.search .bar-val b{font:600 18px/24px var(--sans);color:var(--t2)}
.search .bar-row.best .bar-val b{color:var(--accent)}
.search .bar-fill{background:#3f3f3f}
.search .bar-row.best .bar-fill{box-shadow:none}
.search .acc-n{font-size:16px}

/* 08 form: one path */
.flow-note{margin-top:16px;color:var(--t1);font-size:15px;line-height:24px}
.form-fine{margin-top:8px;color:var(--t3);font-size:14px;line-height:22px}

@media (max-width:1000px){
  .search-grid{grid-template-columns:minmax(0,1fr)}
  .search-grid .chart{border-left:0;border-top:1px solid var(--line)}
}
@media (max-width:640px){
  .scen-grid{grid-template-columns:minmax(0,1fr)}
  .scen{padding:32px var(--pad) 36px;border-left:0;border-top:1px solid var(--line)}
  .scen:first-child{border-top:0}
  .scen h3{font-size:22px;line-height:30px}
  .scen-tag,.proof-date,.st{font-size:14px}
  .tile-notes{flex-direction:column;align-items:flex-start;gap:20px}
  .tile-diary h3{font-size:22px;line-height:30px}
  .diary-lead{font-size:17px;line-height:28px}
  .diary-cols{grid-template-columns:minmax(0,1fr)}
  .dcol{border-left:0;border-top:1px solid var(--line);padding:20px}
  .dcol:first-child{border-top:0}
  .builtin{padding:32px var(--pad)}
  .search .bar-row{grid-template-columns:1fr auto}
  .fine-print{font-size:14px;line-height:22px}
}

/* v2.2: one diary block, shorter page */
.diary-benefit{margin-top:18px;font:600 18px/28px var(--sans);color:var(--t1)}
.diary-benefit::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:10px;vertical-align:2px}
.tile-diary .fine-print{margin-top:6px}
.after-link{margin:0;padding:28px var(--pad) 0}
@media (max-width:640px){
  .diary-benefit{font-size:17px;line-height:26px}
  .after-link{padding:20px var(--pad) 0}
}
/* v2.2 mobile: tighter rhythm so the page stays short on phones */
@media (max-width:640px){
  .sec-head{padding:48px var(--pad) 24px}
  .product{padding:28px 12px 28px}
  .strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .strip .cell{min-height:52px;padding:10px 16px}
  .strip .cell:nth-child(2){border-top:0}
  .strip .cell:nth-child(even){border-left:1px solid var(--line)}
  .strip .name{font-size:16px;line-height:22px}
  .why-head,.why-body{padding-top:0}
  .timeline{margin-top:24px}
  .timeline li{padding:10px 0}
  .scen{padding:28px var(--pad)}
  .scen .flow{display:none}
  .scen-steps li{padding:10px 0;grid-template-columns:36px 1fr;gap:8px}
  .scen-proof{margin-top:16px}
  .scen-foot{padding-top:14px}
  .tile{padding:28px var(--pad)}
  .tile-notes .mini-cards{display:none}
  .tile-map .crop{margin-top:16px}
  .dcol{padding:16px 0}
  .dcol-h{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
  .dlist li{padding:6px 0 6px 18px;border-bottom:0}
  .dlist li::before{top:18px}
  .statement{padding:40px 0}
  .duo-cell{padding:48px var(--pad)}
  .devs-text,.code-card{padding:28px var(--pad)}
  .devs-text{gap:16px}
  .request-intro{padding:48px var(--pad) 16px}
  .form-wrap{padding:16px var(--pad) 48px}
  .foot-in{padding:32px 20px 16px;gap:16px 16px}
}
@media (max-width:640px){
  .tile-map .crop,.tile-agents .chips{display:none}
  .dlist{display:flex;flex-wrap:wrap;gap:8px}
  .dlist li{padding:6px 12px;border:1px solid var(--line-2);border-radius:999px;font-size:15px;line-height:22px;background:var(--card)}
  .dlist li::before{display:none}
  .dnote{margin-top:10px}
}
@media (max-width:640px){
  .hero-v2{padding-bottom:32px}
  .strip{display:none}
  .timeline li{grid-template-columns:76px 1fr;gap:12px;padding:10px 0}
  .scen-foot{display:none}
  .statement{padding:24px 0}
  .statement .mini-core{width:44px;height:44px}
  .devs .stack{display:none}
  .foot-brand p{display:none}
  .foot-brand img{margin-bottom:0}
}
@media (max-width:640px){
  .sec-head{padding:40px var(--pad) 20px}
  .duo-cell{padding:40px var(--pad)}
  .request-intro{padding:40px var(--pad) 12px}
  .request-intro h2{font-size:30px;line-height:38px}
  .form-wrap{padding:12px var(--pad) 40px}
  .tile{padding:24px var(--pad)}
  .scen{padding:24px var(--pad)}
  .devs-text,.code-card{padding:24px var(--pad)}
}
@media (max-width:640px){
  .why{padding:40px var(--pad);gap:16px}
  .foot-in{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}
  .foot-col a{font-size:15px;line-height:20px;padding:12px 0}
}
@media (max-width:640px){
  .foot-in{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-col:last-of-type{grid-column:1/-1}
  .foot-col:last-of-type ul{display:flex;flex-wrap:wrap;gap:0 20px}
  .request-lead{display:none}
}
