@font-face{font-family:Manrope;src:url('./fonts/manrope-cyrillic.woff2') format('woff2');font-display:swap;font-weight:200 800;unicode-range:U+0400-04FF,U+0500-052F}
@font-face{font-family:Manrope;src:url('./fonts/manrope-latin.woff2') format('woff2');font-display:swap;font-weight:200 800}
@font-face{font-family:Mono;src:url('./fonts/ibm-plex-mono-500-cyrillic.woff2') format('woff2');font-display:swap;font-weight:500;unicode-range:U+0400-04FF,U+0500-052F}
@font-face{font-family:Mono;src:url('./fonts/ibm-plex-mono-500-latin.woff2') format('woff2');font-display:swap;font-weight:500}

:root{--blue:#0b3bde;--orange:#ff5b23;--ink:#0c1630;--pale:#edf2ff;--line:#c7d1e9;--mono:Mono,monospace;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.5;background:#f9fbff}
body.dialog-open{overflow:hidden}
a{color:inherit}
button,input,select{font:inherit}
.skip{position:fixed;top:-5rem;left:1rem;z-index:50;background:#fff;padding:10px}
.skip:focus{top:1rem}
header{height:76px;padding:0 clamp(20px,4.5vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:13px;letter-spacing:.05em}
.logo span{display:grid;place-items:center;background:var(--blue);color:#fff;width:39px;height:39px;font:500 12px var(--mono)}
header nav{display:flex;gap:32px}
header nav a{text-decoration:none;font:500 12px var(--mono)}
.nav-cta{justify-self:end;color:var(--blue);font:600 12px var(--mono);text-decoration:none}
.menu,.mobile-nav{display:none}
.hero{min-height:760px;position:relative;display:grid;grid-template-columns:1fr .88fr;gap:clamp(40px,6vw,100px);align-items:center;padding:80px clamp(24px,5vw,80px);overflow:hidden}
.grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#c7d1e955 1px,transparent 1px),linear-gradient(90deg,#c7d1e955 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.hero-copy,.hero-board{position:relative}
.status,.eyebrow{font:500 11px var(--mono);letter-spacing:.1em;color:#526079}
.status span{display:inline-block;width:8px;height:8px;background:#12aa68;border-radius:50%;margin-right:8px}
.hero h1{font-size:clamp(58px,6.3vw,108px);line-height:.94;letter-spacing:-.065em;margin:28px 0}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero-copy>p{font-size:clamp(18px,1.35vw,23px);max-width:710px;color:#526079}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:38px}
.hero-actions>span{font-size:12px;color:#66728a}
.primary{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:var(--blue);border:1px solid var(--blue);color:#fff;text-decoration:none;padding:15px 19px;font-weight:700;cursor:pointer}
.primary:hover{background:#062aa7}
.primary:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.hero-board{background:#fff;border:1px solid var(--line);box-shadow:16px 16px 0 var(--blue)}
.board-head{display:flex;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);font:500 10px var(--mono);color:#68748b}
.hero-board img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover}
.hero-board dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.hero-board dl div{padding:15px;border-right:1px solid var(--line)}
.hero-board dl div:last-child{border:0}
dt{font:500 9px var(--mono);color:#59657b;letter-spacing:.07em}
dd{margin:4px 0 0;font-weight:800}
.calculator{padding:clamp(70px,9vw,140px) clamp(24px,5vw,80px);background:var(--blue);color:#fff}
.calc-intro{display:grid;grid-template-columns:210px 1fr 1fr;gap:30px;align-items:end;max-width:1500px;margin:0 auto 50px}
.calculator .eyebrow{color:#b7c7ff}
.calc-intro h2,.route h2,.docs h2,.faq h2{font-size:clamp(40px,4.8vw,78px);line-height:1;letter-spacing:-.055em;margin:0}
.calc-intro>p:last-child{max-width:560px;color:#c8d3ff}
.calc-card{max-width:1500px;margin:auto;background:#fff;color:var(--ink);border:1px solid #fff}
.calc-card form{display:grid;grid-template-columns:1.35fr .65fr}
.error-summary{grid-column:1/-1;background:#ffe9e3;color:#8b2100;padding:14px 20px}
.calc-controls{padding:clamp(28px,4vw,55px);border-right:1px solid var(--line)}
label>span,legend{display:block;font:500 11px var(--mono);color:#5d6980;margin-bottom:8px}
.quantity-line{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:end}
.quantity-line input{font-size:clamp(42px,5vw,76px);font-weight:800;letter-spacing:-.05em}
.quantity-line output{font:500 11px var(--mono);color:var(--blue);padding-bottom:20px}
.calc-card input,.calc-card select{width:100%;border:0;border-bottom:1px solid #9eaac2;background:transparent;padding:10px 0;color:var(--ink);border-radius:0}
.presets{display:flex;gap:8px;margin:18px 0 40px}
.presets button{border:1px solid var(--line);background:var(--pale);color:var(--blue);padding:8px 14px;cursor:pointer;font:500 11px var(--mono)}
.presets button:hover{background:var(--blue);color:#fff}
.three-fields,.two-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.three-fields label,.two-fields label{display:block}
.field-error{display:block;min-height:18px;color:#b33413;font-size:11px}
.calc-controls fieldset{border:0;padding:25px 0 0;margin:0}
.toggle{display:flex}
.toggle label{flex:1}
.toggle input{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}
.toggle span{display:block;text-align:center;border:1px solid var(--line);padding:11px;color:var(--ink);cursor:pointer}
.toggle input:checked+span{background:var(--blue);color:#fff;border-color:var(--blue)}
.toggle input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}
.result{background:var(--pale);padding:clamp(28px,4vw,55px)}
.result-number{padding:34px 0;border-bottom:1px solid var(--line)}
.result-number strong{display:block;font-size:clamp(60px,7vw,110px);line-height:.8;letter-spacing:-.07em;color:var(--blue)}
.result-number span{font:500 11px var(--mono)}
.result dl{margin:0}
.result dl div{padding:17px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}
.result dd{text-align:right;font-size:13px}
.contact-fields{grid-column:1/-1;padding:clamp(28px,4vw,55px);border-top:1px solid var(--line)}
.two-fields{grid-template-columns:repeat(2,1fr);margin:25px 0 10px}
.two-fields i{font-style:normal;color:#8791a5}
.consent{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:12px;color:#657189;max-width:800px;margin:20px 0}
.consent input{width:18px;height:18px}
.consent button{border:0;background:none;padding:0;color:var(--blue);text-decoration:underline;cursor:pointer}
.consent .field-error{grid-column:2}
.submit{min-width:320px}
.fallback{font-size:12px;color:#647087}
.fallback a{color:var(--blue)}
.trap{position:absolute!important;left:-9999px!important}
.success{padding:clamp(45px,7vw,90px);text-align:center}
.success-mark{margin:auto;background:#d7f8e7;color:#087940;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;font-size:30px}
.success h3{font-size:clamp(42px,6vw,80px);letter-spacing:-.06em;margin:20px}
.success p{max-width:650px;margin:0 auto 20px;color:#5b677e}
.success small{display:block;margin:20px}
.success>button{display:block;margin:20px auto 0;border:0;background:none;color:var(--blue);text-decoration:underline;cursor:pointer}
.route{padding:clamp(70px,9vw,140px) clamp(24px,5vw,80px);display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.route ol{list-style:none;margin:0;padding:0}
.route li{display:grid;grid-template-columns:60px 240px 1fr;border-top:1px solid var(--line);padding:25px 0}
.route li:last-child{border-bottom:1px solid var(--line)}
.route li b{font:500 11px var(--mono);color:var(--blue)}
.route li span{font-weight:800}
.route li p{margin:0;color:#657189}
.docs{background:var(--ink);color:#fff;padding:clamp(70px,9vw,140px) clamp(24px,5vw,80px)}
.doc-title{display:grid;grid-template-columns:200px 1fr;gap:30px;margin-bottom:60px}
.docs .eyebrow{color:#91a0bd}
.doc-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #39445c;border-left:1px solid #39445c}
.doc-list article{padding:30px;border-right:1px solid #39445c;border-bottom:1px solid #39445c}
.doc-list span{font:500 11px var(--mono);color:#7c98ff}
.doc-list h3{font-size:22px}
.doc-list p{color:#9da8bd}
.disclaimer{font-size:11px;color:#7f899c;max-width:900px;margin-top:30px}
.faq{padding:clamp(70px,9vw,140px) clamp(24px,5vw,80px);display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.faq summary:after{content:"+";color:var(--blue)}
.faq details[open] summary:after{content:"−"}
.faq details p{color:#657189;max-width:750px}
footer{padding:40px clamp(24px,5vw,80px);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:30px;background:#fff;font-size:12px}
footer>div{display:flex;gap:14px}
footer a{text-decoration:none}
footer button,.cookie button{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer}
.cookie{position:fixed;z-index:30;bottom:18px;left:18px;right:18px;max-width:1100px;margin:auto;background:#fff;border:1px solid var(--line);box-shadow:0 18px 60px #11285540;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.cookie[hidden]{display:none}
.cookie p{margin:0}
.cookie>div{display:flex;align-items:center;gap:10px}
.cookie .primary{padding:9px 13px;text-decoration:none}
dialog{max-width:680px;width:calc(100% - 32px);border:1px solid var(--line);padding:45px;color:var(--ink)}
dialog::backdrop{background:#0c1630bb}
dialog .x{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}
dialog h2{font-size:38px;letter-spacing:-.04em}
#cookie-dialog label{display:block;margin:14px 0}
#cookie-dialog .primary{margin-top:20px}
[data-reveal]{opacity:0;transform:translateY(16px);transition:.65s ease}
[data-reveal].is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}

@media(max-width:850px){header{height:64px;grid-template-columns:1fr auto;padding:0 18px}
header>nav,header>.nav-cta{display:none}
.menu{display:block;border:0;background:none;color:var(--blue);font:500 11px var(--mono)}
header .mobile-nav{display:flex;position:absolute;top:64px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}
header .mobile-nav[hidden]{display:none}
.hero{grid-template-columns:1fr;padding:70px 20px;min-height:auto}
.hero h1{font-size:15vw}
.hero-actions{align-items:flex-start;flex-direction:column}
.hero-board{box-shadow:8px 8px 0 var(--blue)}
.calc-intro{grid-template-columns:1fr}
.calc-card form{grid-template-columns:1fr}
.calc-controls{border-right:0;border-bottom:1px solid var(--line)}
.three-fields,.two-fields{grid-template-columns:1fr}
.result-number strong{font-size:25vw}
.route,.faq{grid-template-columns:1fr;padding:70px 20px}
.route li{grid-template-columns:40px 1fr}
.route li p{grid-column:2;margin-top:7px}
.doc-title{grid-template-columns:1fr}
.doc-list{grid-template-columns:1fr 1fr}
.calculator,.docs{padding:70px 20px}
.submit{min-width:0;width:100%}
footer{grid-template-columns:1fr;padding:35px 20px}
footer>div{flex-direction:column}
.cookie{left:8px;right:8px;bottom:8px;display:block}
.cookie>div{margin-top:10px;flex-wrap:wrap}
.quantity-line{display:block}
.quantity-line output{display:none}
.presets{overflow:auto}
.hero-board dl{grid-template-columns:1fr 1fr 1fr}
}

@media(max-width:480px){.doc-list{grid-template-columns:1fr}
.primary{width:100%}
.hero-actions>span{width:100%}
}
