@font-face{font-family:Inter;src:url('/assets/fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Neue Montreal';src:url('/assets/fonts/NeueMontreal-Medium.otf') format('opentype');font-style:normal;font-weight:500;font-display:swap}

:root{--ink:#212121;--paper:#f5f5f5;--blue:#0b8bea;--mid-display:'Neue Montreal',Inter,Arial,sans-serif;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:var(--paper);color:var(--ink);font:525 13px/1.30 Inter,Arial,sans-serif;letter-spacing:-.02em;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,figure,blockquote,ul,ol{margin:0}
h1,h2,h3,h4{font-family:'Neue Montreal',Inter,Arial,sans-serif;font-weight:500;letter-spacing:-.02em}
h1{font-size:40px;line-height:44px}h2{font-size:36px;line-height:1.3}h3{font-size:20px;line-height:1.3}
button,a,input,select{font:inherit;letter-spacing:inherit}
button{cursor:pointer}
button:disabled{cursor:default}
a{color:inherit}
img,svg,video{vertical-align:middle}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.wrap{width:min(100%,1024px);margin-inline:auto}
.section-shell{padding-inline:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:12px;padding:9px 12px;background:var(--blue);color:white;text-decoration:none;font-size:13px;line-height:18px}
.skip-link{position:fixed;left:12px;top:12px;transform:translateY(-180%);z-index:100;color:white;background:var(--ink);padding:10px 14px;border-radius:9px}
.skip-link:focus{transform:none}
.video-dialog{width:min(880px,calc(100vw - 28px));max-height:90dvh;overflow:auto;padding:16px;border:0;border-radius:16px;background:white;color:var(--ink)}
.video-dialog::backdrop{background:rgb(0 0 0/.55)}
.video-dialog__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.video-dialog__bar h2{font-size:20px}
.video-dialog__close{border:0;color:var(--ink);background:var(--paper);width:34px;height:34px;border-radius:9px;font-size:20px;line-height:1}
.video-dialog iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:var(--ink)}
.video-dialog__link{display:inline-block;color:var(--blue);margin-top:12px}
body:has(dialog[open]){overflow:hidden}
@media(max-width:700px){h1{font-size:34px;line-height:1.12}h2{font-size:30px;line-height:1.16}.section-shell{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* All routes use the same continuous desktop scale (1024px to 1728px). */
@media (min-width: 1025px) {
  :root {
    --desktop-unit: clamp(1px, calc(.85454545px + .014204545vw), 1.1px);
    --desktop-scale: tan(atan2(var(--desktop-unit), 1px));
    --desktop-grid: calc(1024 * var(--desktop-unit));
    --desktop-body: calc(13 * var(--desktop-unit));
  }
}
