:root{--bg:#0e0a08;--bg2:#150f0b;--pn:#1b130d;--pn2:#251a12;--ln:#49331f;--tx:#f4eae0;--mu:#bfad9d;--or:#ff7a1a;--or2:#ffb884;--bl:#38c8ff;--ink:#160a02;--code:#090605;--c:22px;--big:104px;
--fd:"Chakra Petch","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--fb:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--fm:"JetBrains Mono",ui-monospace,Consolas,"Noto Sans SC",monospace}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--bg);background-image:linear-gradient(rgba(255,122,26,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,122,26,.04) 1px,transparent 1px);background-size:44px 44px;color:var(--tx);font:400 16px/1.75 var(--fb);overflow-wrap:break-word}
.page-home{--big:176px}
[hidden]{display:none!important}
h1,h2,h3,p,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:var(--bl)}
img,svg{max-width:100%}
:focus-visible{outline:2px solid var(--bl);outline-offset:3px}
.w{max-width:1180px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:12px;top:-80px;z-index:99;background:var(--or);color:var(--ink);padding:12px 18px;font-weight:700}
.skip:focus{top:12px}

/* clipped frame: outer = edge colour, ::before = fill */
.panel,.codebox,.form,.board,.take,.side-cta,.exm li,.nf-box{position:relative;isolation:isolate;background:var(--edge,var(--ln));clip-path:polygon(0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,var(--c) 100%,0 calc(100% - var(--c)))}
.panel::before,.codebox::before,.form::before,.board::before,.take::before,.side-cta::before,.exm li::before,.nf-box::before{content:"";position:absolute;inset:var(--bw,1px);z-index:-1;background:var(--fill,var(--pn));clip-path:polygon(0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,var(--c) 100%,0 calc(100% - var(--c)))}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:0;cursor:pointer;text-decoration:none;text-align:center;font:700 15px/1.2 var(--fd);letter-spacing:.03em;color:var(--ink);background:var(--or);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));transition:background .15s}
.btn:hover{background:#ffa255}
.btn:focus-visible{outline:2px solid var(--ink);outline-offset:-5px;background:#ffc79b}
.btn.big{min-height:56px;padding:0 30px;font-size:17px}
.btn.sm{padding:0 14px;font-size:14px}
.btn.ghost{isolation:isolate;background:var(--bl);color:var(--bl)}
.btn.ghost::before{content:"";position:absolute;inset:2px;z-index:-1;background:var(--bg);clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px));transition:background .15s}
.btn.ghost:hover::before{background:#0d2632}
.btn.ghost:focus-visible{outline-color:#fff;background:#fff}
.btn.dark{background:var(--ink);color:var(--or2)}
.btn.dark:hover{background:#2e1706}
.btn.dark:focus-visible{outline-color:#fff}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* header: station sign that scrolls away, slim bar stays */
.hd{position:sticky;top:calc(-1*var(--big));z-index:50}
.sign{height:var(--big);overflow:hidden;background:var(--bg2) linear-gradient(var(--or) 0 6px,transparent 6px 11px,var(--bl) 11px 17px,transparent 17px)}
.sign-in{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;height:100%;padding-bottom:16px}
.wordmark{font:700 clamp(30px,5vw,58px)/.92 var(--fd);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;color:var(--or);text-shadow:0 0 22px rgba(255,122,26,.5)}
.page-home .wordmark{font-size:clamp(34px,8.2vw,104px)}
.sign-tag{flex:none;margin-bottom:4px;padding:1px;background:var(--bl);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.sign-tag span{display:block;padding:8px 22px 8px 14px;background:var(--bg2);font:500 14px/1.4 var(--fb);color:var(--tx);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.bar{background:rgba(14,10,8,.97);border-bottom:2px solid var(--or);position:relative}
.bar-in{display:flex;align-items:center;gap:14px;height:62px}
.logo{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;color:var(--tx);font:700 17px/1 var(--fd);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.mark{flex:none}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{display:flex;align-items:center;min-height:44px;padding:0 14px;color:var(--mu);text-decoration:none;font:500 15px/1.2 var(--fb);box-shadow:inset 0 -3px 0 transparent;transition:color .15s}
.nav a:hover{color:var(--tx)}
.nav a[aria-current]{color:var(--tx);box-shadow:inset 0 -3px 0 var(--bl)}
.burger{display:none;flex:none;width:46px;height:46px;padding:0;border:1px solid var(--ln);background:var(--pn);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger i{display:block;width:20px;height:2px;background:var(--bl)}
.burger i:nth-child(2){width:14px;background:var(--or);margin-left:-6px}

/* hero */
.hero{position:relative;padding:56px 0 0;background:radial-gradient(700px 380px at 8% 0,rgba(255,122,26,.16),transparent 70%),radial-gradient(620px 360px at 96% 30%,rgba(56,200,255,.1),transparent 70%)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:56px;align-items:start}
.hero-in>*{min-width:0}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font:500 13px/1.4 var(--fm);letter-spacing:.1em;color:var(--bl)}
.eyebrow::before{content:"";flex:none;width:34px;height:4px;background:var(--or)}
h1{font:700 clamp(29px,4vw,52px)/1.2 var(--fd);letter-spacing:-.005em;text-wrap:balance;margin:14px 0 18px}
.lead{font-size:18px;line-height:1.8;color:var(--mu);max-width:62ch}
.bul{margin-top:22px;display:grid;gap:10px}
.bul li{position:relative;padding-left:30px}
.bul li::before{content:"";position:absolute;left:0;top:.5em;width:16px;height:12px;background:var(--or);clip-path:polygon(0 0,45% 0,100% 50%,45% 100%,0 100%,55% 50%)}
.hero-code{position:relative;isolation:isolate;margin-top:6px}
.hero-code::before{content:"";position:absolute;inset:44px -12px -14px 16px;z-index:-1;border:2px solid var(--bl);opacity:.75;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.code-h{display:flex;align-items:center;gap:10px;margin-bottom:12px;font:500 13px/1.4 var(--fm);letter-spacing:.08em;color:var(--or2)}
.code-h::before{content:"";width:10px;height:10px;background:var(--or);box-shadow:16px 0 0 var(--bl);margin-right:16px}

/* code */
.codebox{--fill:var(--code);--edge:linear-gradient(120deg,var(--or),var(--ln) 45%,var(--bl));padding:1px}
.codetabs{display:flex;border-bottom:1px solid var(--ln);padding-right:var(--c)}
.codetabs button{min-height:46px;padding:0 20px;border:0;background:none;cursor:pointer;color:var(--mu);font:500 13px var(--fm);box-shadow:inset 0 -3px 0 transparent}
.codetabs button:hover{color:var(--tx)}
.codetabs button[aria-selected=true]{color:var(--or);box-shadow:inset 0 -3px 0 var(--or)}
.codetabs button:focus-visible{outline-offset:-4px}
pre.code{position:relative;margin:0;overflow:hidden;font:400 13.5px/1.7 var(--fm);color:#efe4d9;max-width:100%}
pre.code code{display:block;overflow-x:auto;padding:50px 20px 22px;font:inherit;white-space:pre;background:none;color:inherit;scrollbar-color:var(--ln) transparent}
pre.code:focus-visible{outline-offset:-3px}
.code .k{color:var(--or)}.code .s{color:#7fdcff}.code .c{color:#a08f80}
.copy{position:absolute;top:6px;right:8px;min-width:60px;min-height:38px;padding:0 12px;border:1px solid var(--ln);background:var(--pn);color:var(--mu);font:500 12px var(--fm);cursor:pointer}
.copy::after{content:"";position:absolute;inset:-4px}
.copy:hover{color:var(--tx);border-color:var(--bl)}
.codebox .copy{right:calc(var(--c) - 6px)}

/* route diagram */
.route{height:max(112px,9.34vw);margin-top:48px;overflow:hidden}
.route svg{display:block;width:100%;height:100%}
.route path{fill:none;stroke-width:5}
.lo{stroke:var(--or);filter:drop-shadow(0 0 5px rgba(255,122,26,.8))}
.lb{stroke:var(--bl);filter:drop-shadow(0 0 5px rgba(56,200,255,.8))}
.so circle{fill:var(--bg);stroke:var(--or);stroke-width:3}
.sb circle{fill:var(--bg);stroke:var(--bl);stroke-width:3}
.hub{fill:var(--bg);stroke:#fff;stroke-width:3}
.hd1{fill:var(--or)}.hd2{fill:var(--bl)}
.route text{font:500 12px var(--fm);fill:var(--or2)}
.route .tb{fill:var(--bl)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.hd1{animation:pl 2.4s infinite}.hd2{animation:pl 2.4s 1.2s infinite}}
@keyframes pl{50%{opacity:.25}}

/* facts board */
.board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:28px}
.board>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:4px;padding:18px 18px 20px;min-width:0}
.board>div+div{border-left:1px solid var(--ln)}
.board dd{font:700 clamp(24px,2.6vw,34px)/1.1 var(--fd);color:var(--or);text-shadow:0 0 16px rgba(255,122,26,.4)}
.board>div:nth-child(even) dd{color:var(--bl);text-shadow:0 0 16px rgba(56,200,255,.4)}
.board dt{font-size:13px;line-height:1.45;color:var(--mu)}
.board.big dd{font-size:clamp(28px,3.4vw,44px)}
.board.mini{grid-template-columns:repeat(3,minmax(0,1fr));--c:14px;margin-top:34px}
.board.mini>div{padding:12px 14px}
.board.mini>div:nth-child(4){border-left:0}
.board.mini>div:nth-child(n+4){border-top:1px solid var(--ln)}
.board.mini>div:nth-child(5){grid-column:span 2}
.board.mini dd{font-size:20px}.board.mini dt{font-size:12px}

/* sections on the route rail */
main{counter-reset:st}
.sec{counter-increment:st}.sec-body,.sec-doc,.sec-art{counter-increment:none}
.sec>.w{position:relative;padding-top:60px}
.plate{position:relative;display:flex;align-items:center;gap:12px;margin-bottom:22px}
.plate::before{content:counter(st,decimal-leading-zero);flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:4px solid var(--or);background:var(--bg);font:700 12px/1 var(--fm);color:var(--tx)}
.plate h2{min-width:0;padding:9px 30px 9px 16px;background:var(--pn2);border-left:6px solid var(--or);font:700 clamp(21px,2.5vw,30px)/1.3 var(--fd);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.sec:nth-of-type(even) .plate::before{border-color:var(--bl)}
.sec:nth-of-type(even) .plate h2{border-left-color:var(--bl)}
.panel{padding:30px}
.sec h3{font:700 18px/1.4 var(--fd);margin-bottom:6px}
.sec li p{color:var(--mu);font-size:15px;line-height:1.75}
.feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 34px;counter-reset:f}
.feat li{counter-increment:f;padding-top:16px;border-top:2px solid var(--ln);position:relative;min-width:0}
.feat li::before{content:"";position:absolute;top:-2px;left:0;width:46px;height:2px;background:var(--or)}
.feat li:nth-child(even)::before{background:var(--bl)}
.feat h3::before{content:counter(f,decimal-leading-zero);display:block;margin-bottom:6px;font:500 12px/1 var(--fm);color:var(--or2);letter-spacing:.1em}
.stops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;counter-reset:s}
.stops li{counter-increment:s;position:relative;padding-top:52px;min-width:0}
.stops li::before{content:"";position:absolute;top:15px;left:0;right:-34px;height:4px;background:var(--bl)}
.stops li:last-child::before{right:auto;width:60px;background:linear-gradient(90deg,var(--bl),transparent)}
.stops li::after{content:counter(s);position:absolute;top:0;left:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--bg);border:4px solid var(--bl);font:700 13px/1 var(--fm);color:var(--tx)}
.uses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 40px}
.uses li{padding-left:18px;border-left:3px solid var(--bl);min-width:0}
.uses li:nth-child(4n+2),.uses li:nth-child(4n+3){border-left-color:var(--or)}
.exm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:x}
.exm li{--fill:var(--pn2);--c:16px;counter-increment:x;padding:22px;min-width:0}
.exm h3::before{content:counter(x,decimal-leading-zero);display:block;margin-bottom:8px;font:500 12px/1 var(--fm);color:var(--bl);letter-spacing:.1em}
.sec-exm .panel,.sec-calc .panel{--fill:var(--bg2)}

/* prose */
.prose{font-size:16.5px;line-height:1.9}
.prose>*{max-width:76ch}
.prose>pre,.prose>table,.prose>.tw{max-width:100%}
.prose h2{margin:40px 0 14px;padding-left:14px;border-left:4px solid var(--bl);font:700 clamp(20px,2.2vw,26px)/1.35 var(--fd);scroll-margin-top:84px}
.prose h2:first-child{margin-top:0}
.prose h3{margin:26px 0 8px;font:700 18px/1.4 var(--fd)}
.prose p{margin:0 0 16px;color:#e6dacd}
.prose ul,.prose ol{margin:0 0 18px;padding-left:24px}
.prose ul{list-style:square}.prose ol{list-style:decimal}
.prose li{margin-bottom:6px;color:#e6dacd}
.prose li::marker{color:var(--or)}
.prose a{color:var(--bl);text-underline-offset:3px}
.prose strong{color:#fff}
.prose :not(pre)>code,.keyout code{padding:2px 6px;background:#2b1d12;color:var(--or2);font:.88em var(--fm);overflow-wrap:anywhere}
.prose pre.code{margin:22px 0;background:var(--code);border:1px solid var(--ln);border-left:3px solid var(--or)}
.prose table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;margin:22px 0;font-size:15px}
.prose th,.prose td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--ln);vertical-align:top}
.prose th{background:var(--pn2);color:var(--or2);font-family:var(--fd);white-space:nowrap}
.sec-body>.w{padding-top:44px}

/* faq */
.faq details{border-bottom:1px solid var(--ln)}
.faq details:last-child{border-bottom:0}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:56px;padding:12px 0;cursor:pointer;list-style:none;font:700 17px/1.5 var(--fb)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:18px;height:18px;background:linear-gradient(var(--or),var(--or)) center/100% 3px no-repeat,linear-gradient(var(--or),var(--or)) center/3px 100% no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details[open] summary{color:var(--or2)}
.ans{padding:0 0 18px;max-width:78ch;color:var(--mu)}
.sec-faq .panel{padding:14px 30px}

/* cta band */
.band{margin-top:72px}
.band-in{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px 46px;color:var(--ink);background:var(--or) repeating-linear-gradient(135deg,transparent 0 22px,rgba(22,10,2,.07) 22px 44px);clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,34px 100%,0 calc(100% - 34px))}
.band-in>div{min-width:0}
.band h2{font:700 clamp(23px,3vw,34px)/1.25 var(--fd)}
.band p{margin-top:8px;max-width:60ch;font-weight:500}
.band .btn{flex:none}

/* footer */
.ft{margin-top:76px;background:var(--bg2)}
.ft-lines{height:17px;background:linear-gradient(var(--or) 0 6px,transparent 6px 11px,var(--bl) 11px 17px)}
.ft-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px 48px;padding-top:38px;padding-bottom:34px}
.ft-brand p{margin-top:8px;color:var(--mu);font-size:15px}
.ft-brand .ft-url{font:13px var(--fm);color:var(--or2);overflow-wrap:anywhere}
.ft-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;align-content:start}
.ft-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--tx);text-decoration:none;font-size:15px}
.ft-links a:hover{color:var(--or2);text-decoration:underline}
.legal{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--ln);color:var(--mu);font-size:13.5px}

/* inner page head */
.ph{padding:30px 0 0;background:radial-gradient(640px 300px at 6% 0,rgba(255,122,26,.13),transparent 70%)}
.ph h1{font-size:clamp(28px,3.6vw,46px);margin:10px 0 14px;max-width:24em}
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font:500 13px/1.4 var(--fm)}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--mu);text-decoration:none}
.crumbs a:hover{color:var(--tx)}
.crumbs i{position:relative;width:30px;height:3px;background:var(--or)}
.crumbs i::after{content:"";position:absolute;right:-4px;top:-4px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:3px solid var(--or)}
.crumbs span{margin-left:4px;color:var(--or2)}
.meta{display:flex;gap:10px;margin-top:16px;font:500 13px var(--fm);color:var(--mu)}
.meta time{color:var(--bl)}

/* get-api-key */
.key-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);grid-template-areas:"head form" "ben form";gap:26px 60px;grid-template-rows:auto 1fr;align-items:start}
.key-head{grid-area:head}.key-form{grid-area:form;min-width:0}.ben{grid-area:ben}
.gate{position:relative;isolation:isolate}
.gate::before{content:"";position:absolute;inset:14px -12px -14px 14px;z-index:-1;border:2px solid var(--bl);opacity:.75}
.form{--edge:var(--or);--bw:2px;padding:28px}
.tabs2{display:grid;grid-template-columns:1fr 1fr;margin:0 var(--c) 22px 0;border:1px solid var(--ln)}
.tabs2 button{min-height:46px;border:0;background:none;color:var(--mu);font:700 15px var(--fd);cursor:pointer}
.tabs2 button[aria-selected=true]{background:var(--or);color:var(--ink)}
.tabs2 button:focus-visible{outline-offset:-4px;outline-color:#fff}
.msg{margin-bottom:16px;padding:10px 14px;border-left:4px solid var(--bl);background:#0d222c;color:#d3f1ff;font-size:14.5px}
.msg:empty{display:none}
.msg.err{border-left-color:#ff5340;background:#2c0f0a;color:#ffd5cc}
.row{margin-bottom:16px}
.form label,.calc label{display:block;margin-bottom:7px;font:500 13px/1.4 var(--fm);letter-spacing:.03em;color:var(--mu)}
.form input,.calc input{width:100%;min-height:52px;padding:0 14px;border:1px solid var(--ln);border-bottom:2px solid var(--or);border-radius:0;background:var(--code);color:var(--tx);font:16px var(--fm);-webkit-appearance:none;appearance:none}
.form input:focus,.calc input:focus{outline:2px solid var(--bl);outline-offset:0;border-color:var(--bl)}
.note{margin-top:8px;font-size:13px;line-height:1.6;color:var(--mu)}
.form [data-submit]{width:100%;min-height:56px;margin-top:4px;font-size:17px}
.keyout{display:none}
.keyout.on{display:block}
.keyout h3{font:700 20px var(--fd);margin-bottom:12px;color:var(--or2)}
.keybox{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;background:var(--code);border:1px dashed var(--or)}
.keybox span{flex:1;min-width:0;font:14px/1.5 var(--fm);color:var(--or2);overflow-wrap:anywhere}
.keyout p{margin-top:12px;font-size:14.5px;line-height:2}
.keyout .acts{margin-top:16px;gap:10px}
.mut{color:var(--mu)}
.ben{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px;margin-top:8px}
.ben li{padding-top:14px;border-top:2px solid var(--ln);min-width:0}
.ben h3{font:700 16.5px/1.4 var(--fd);margin-bottom:4px;color:var(--or2)}
.ben p{font-size:14.5px;line-height:1.7;color:var(--mu)}
.keytop{padding-bottom:20px}

/* docs + article */
.sec-doc>.w,.sec-art>.w{padding-top:36px}
.doc-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:44px;align-items:start}
.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:start}
.doc-side{position:sticky;top:84px;display:grid;gap:26px;max-height:calc(100vh - 100px);overflow:auto;min-width:0}
.art-main{min-width:0}
.toc-h{margin-bottom:12px;font:500 12.5px var(--fm);letter-spacing:.12em;color:var(--bl)}
.toc ol{margin-left:8px;border-left:4px solid var(--bl)}
.toc a{position:relative;display:flex;align-items:center;min-height:44px;padding:5px 0 5px 20px;color:var(--mu);text-decoration:none;font-size:14.5px;line-height:1.45}
.toc a::before{content:"";position:absolute;left:-10px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--bg);border:3px solid var(--bl)}
.toc a:hover{color:var(--tx)}
.toc a:hover::before{background:#fff}
.toc li:nth-child(3n) a::before{border-color:var(--or)}
.side-cta{--edge:var(--or);--c:16px;padding:20px}
.side-h{font:700 17px/1.4 var(--fd)}
.side-cta p+p{margin:6px 0 16px;font-size:14px;line-height:1.7;color:var(--mu)}
.side-cta .btn{width:100%}
.take{--edge:var(--bl);--fill:var(--bg2);margin-bottom:26px;padding:24px 28px}
.take h2{margin-bottom:12px;font:700 15px var(--fm);letter-spacing:.1em;color:var(--bl)}
.take ol{counter-reset:t;display:grid;gap:10px}
.take li{counter-increment:t;position:relative;padding-left:40px;font-size:16px;line-height:1.75}
.take li::before{content:counter(t,decimal-leading-zero);position:absolute;left:0;top:.3em;font:700 13px var(--fm);color:var(--or)}
.sec-art .prose{font-size:17px;line-height:1.95}

/* pricing */
.pnotes{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:18px}
.pnotes li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--tx)}
.pnotes li::before{content:"";width:10px;height:10px;background:var(--bl)}
.calc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:end}
.calc>div{min-width:0}
#cr{display:flex;align-items:center;min-height:52px;padding:0 14px;border-bottom:2px solid var(--bl);background:var(--code);font:700 30px/1 var(--fd);color:var(--or);text-shadow:0 0 16px rgba(255,122,26,.45);overflow:hidden}

/* 404 */
.nf{padding-top:60px}
.nf-box{--edge:var(--or);max-width:720px;padding:40px}
.nf-links{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:18px}
.nf-links a{display:inline-flex;align-items:center;min-height:44px}

/* desktop: rail with station nodes, offset panels */
@media (min-width:1001px){
.sec>.w{padding-left:104px}
.sec>.w::before{content:"";position:absolute;left:46px;top:0;bottom:0;width:4px;background:var(--or);box-shadow:0 0 10px rgba(255,122,26,.55)}
.plate::before{position:absolute;left:-75px;top:50%;margin-top:-19px;z-index:1}
.plate::after{content:"";position:absolute;left:-40px;top:50%;width:40px;height:4px;margin-top:-2px;background:var(--or)}
.sec:nth-of-type(even) .plate::after{background:var(--bl)}
.sec:nth-of-type(odd) .panel{margin-right:7%}
.sec:nth-of-type(even) .panel{margin-left:7%}
.sec-doc>.w,.sec-art>.w{padding-left:20px}
.sec-doc>.w::before,.sec-art>.w::before{display:none}
.sec-doc .panel,.sec-art .panel{margin:0!important}
.sec-doc .panel,.sec-art .panel{padding:36px 40px}
}
@media (max-width:1000px){
.hero{padding-top:36px}
.hero-in{grid-template-columns:minmax(0,1fr);gap:34px}
.sign-in{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px}
.sign-tag{margin:0}
.feat{grid-template-columns:repeat(2,minmax(0,1fr))}
.board{grid-template-columns:repeat(3,minmax(0,1fr))}
.board>div:nth-child(4){border-left:0}
.board>div:nth-child(n+4){border-top:1px solid var(--ln)}
.board>div:nth-child(5){grid-column:span 2}
.key-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "form" "ben";gap:22px}
.key-form{max-width:520px}
.doc-grid,.art-grid{grid-template-columns:minmax(0,1fr);gap:26px}
.doc-side{position:static;max-height:none;overflow:visible}
.art-grid .doc-side{order:-1}
.side-cta{display:none}
.exm{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
.burger{display:flex}
.logo{margin-right:auto}
.nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;margin:0;padding:6px 20px 14px;background:var(--bg2);border-bottom:2px solid var(--bl)}
.nav.open{display:flex}
.nav a{min-height:50px;padding:0 4px;border-bottom:1px solid var(--ln);font-size:16px}
.cta{min-height:44px;padding:0 12px;font-size:14px;white-space:nowrap}
}
@media (max-width:720px){
:root{--big:60px;--c:16px}
.page-home{--big:104px}
body{font-size:15.5px}
.sign-in{padding-bottom:10px}
.sign-tag{display:none}
.page-home .sign-tag{display:block}
.sign-tag span{padding:4px 18px 4px 10px;font-size:12.5px}
.bar-in{height:58px;gap:8px}
.logo{font-size:14px;gap:7px;letter-spacing:.03em}
.lead{font-size:16.5px}
.acts .btn.big{flex:1 1 100%}
.route{margin-top:38px}
.board{grid-template-columns:repeat(2,minmax(0,1fr))}
.board>div{padding:14px}
.board>div:nth-child(3){border-left:0}
.board>div:nth-child(4){border-left:1px solid var(--ln)}
.board>div:nth-child(n+3){border-top:1px solid var(--ln)}
.board.mini{grid-template-columns:repeat(2,minmax(0,1fr))}
.sec>.w{padding-top:46px}
.panel{padding:22px 18px}
.sec-faq .panel{padding:8px 18px}
.feat,.uses,.ben{grid-template-columns:minmax(0,1fr)}
.stops{grid-template-columns:minmax(0,1fr);gap:0}
.stops li{padding:0 0 24px 52px}
.stops li:last-child{padding-bottom:0}
.stops li::before{top:0;bottom:0;left:15px;right:auto;width:4px;height:auto}
.stops li:last-child::before{width:4px;height:34px;bottom:auto;background:var(--bl)}
.plate h2{padding:8px 22px 8px 12px}
.band{margin-top:52px}
.band-in{flex-direction:column;align-items:flex-start;padding:30px 24px 34px}
.band .btn{width:100%}
.ft-in{grid-template-columns:minmax(0,1fr)}
.form{padding:22px 18px}
.gate::before{inset:10px -8px -10px 10px}
.hero-code::before{inset:40px -8px -10px 12px}
.calc{grid-template-columns:minmax(0,1fr)}
.take{padding:20px 18px}
.nf-box{padding:28px 20px}
pre.code{font-size:12.5px}
pre.code code{padding:50px 14px 18px}
.sec-art .prose{font-size:16.5px}
}
@media (max-width:379px){.logo span{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
