:root{--blue:#002BCB;--u:min(calc(100vw/1920),1px)}
@font-face{font-family:'Bricolage Grotesque';font-weight:400;font-display:swap;src:url(assets/fonts/Bricolage-Regular.ttf) format('truetype')}
@font-face{font-family:'Bricolage Grotesque';font-weight:700;font-display:swap;src:url(assets/fonts/Bricolage-Bold.ttf) format('truetype')}
@font-face{font-family:'Bricolage Grotesque';font-weight:800;font-display:swap;src:url(assets/fonts/Bricolage-ExtraBold.ttf) format('truetype')}
*{box-sizing:border-box;margin:0;padding:0}
html{background:#002BCB}
body{background:#fff;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.foot{margin-top:auto}
.doc-wrap{flex:1}
body{font-family:'Bricolage Grotesque',system-ui,sans-serif;color:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
svg{display:block;fill:currentColor}

/* ---------- Desktop (1920 design) ---------- */
.top{background:var(--blue);padding:calc(41*var(--u)) 0 calc(43*var(--u))}
.nav,.card,.mid .card{width:calc(1028*var(--u));margin:0 auto}
.nav{height:calc(108*var(--u));border-radius:calc(54*var(--u));background:#fff;color:var(--blue);display:flex;align-items:center;position:relative;padding:0 calc(47*var(--u))}
.nav-logo svg{width:calc(58*var(--u));height:calc(58*var(--u))}
.nav-links{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:calc(11*var(--u));font-size:calc(26*var(--u));line-height:1;white-space:nowrap}
.card{background:var(--blue);border:calc(5*var(--u)) solid rgba(255,255,255,.35);border-radius:calc(55*var(--u));box-shadow:inset 0 0 calc(13*var(--u)) rgba(255,255,255,.53)}
.hero{margin-top:calc(43*var(--u));padding:calc(40*var(--u)) calc(30*var(--u)) calc(44*var(--u));text-align:center;display:flex;flex-direction:column;align-items:center}
.hero-head{display:flex;flex-direction:column;align-items:center;gap:0}
.hero-logo{width:calc(121*var(--u));height:calc(121*var(--u));flex:none}
.hero-title{display:flex;flex-direction:column;align-items:center}
.hero-title h1{font-size:calc(94*var(--u));font-weight:800;line-height:calc(78*var(--u));letter-spacing:calc(-3*var(--u));margin-top:calc(12*var(--u))}
.hero-title .dots{margin-top:calc(14*var(--u))}
.dots{width:calc(60*var(--u));height:calc(17*var(--u))}
.hero-text{margin-top:calc(20*var(--u));font-size:calc(24*var(--u));line-height:calc(32*var(--u))}
.btn{display:flex;align-items:center;min-width:calc(260*var(--u));width:max-content;padding-right:calc(24*var(--u));height:calc(70*var(--u));background:#fff;color:var(--blue);border-radius:calc(35*var(--u));margin-top:calc(22*var(--u));position:relative}
.btn-icon{width:calc(70*var(--u));height:calc(70*var(--u));border-radius:50%;background:var(--blue);border:calc(2.5*var(--u)) solid rgba(255,255,255,.35);display:grid;place-items:center;flex:none;color:#fff}
.btn-icon svg{width:calc(34*var(--u));height:calc(34*var(--u));fill:none}
.btn-text{white-space:nowrap;display:flex;flex-direction:column;align-items:flex-start;text-align:left;margin-left:calc(12*var(--u));line-height:1}
.btn-text b{font-size:calc(30*var(--u));font-weight:800;letter-spacing:calc(-.3*var(--u))}
.btn-text small{font-size:calc(12*var(--u));margin-top:calc(2*var(--u))}
.mid{background:#fff;padding:calc(30*var(--u)) 0}
.support{min-height:calc(300*var(--u));padding:calc(28*var(--u)) calc(22*var(--u)) calc(34*var(--u));display:flex;flex-direction:column;align-items:center;text-align:center}
.sup-logo{width:calc(76*var(--u));height:calc(76*var(--u))}
.sup-dots{width:calc(44*var(--u));height:calc(12.5*var(--u));margin-top:calc(8*var(--u))}
.support p{font-size:calc(24*var(--u));margin-top:calc(14*var(--u))}
.support .btn{margin-top:calc(18*var(--u))}
.foot{background:var(--blue);height:calc(269*var(--u));padding:calc(53*var(--u)) calc(67*var(--u)) 0;display:flex;justify-content:space-between}
.foot-logo{width:calc(74*var(--u));height:calc(74*var(--u))}
.foot-name{font-size:calc(52*var(--u));font-weight:800;line-height:calc(50*var(--u));letter-spacing:calc(-1.5*var(--u));margin-top:calc(6*var(--u))}
.copy{font-size:calc(14*var(--u));margin-top:calc(21*var(--u))}
.foot-links{display:flex;flex-direction:column;align-items:flex-end;gap:calc(12*var(--u));font-size:calc(20*var(--u));line-height:calc(23*var(--u));padding-top:calc(18*var(--u))}

/* ---------- Showcase sections (bot + soon) ---------- */
.showcase{display:block}
.showcase img{display:block;height:auto;margin:0 auto;pointer-events:none;user-select:none;-webkit-user-select:none}
.showcase-bot{background:#002BCB}
.showcase-bot img{width:calc(520*var(--u))}
.showcase-soon{background:#fff}
.showcase-soon img{width:calc(520*var(--u))}

/* ---------- Promo banner before footer ---------- */
.promo{background:linear-gradient(#002BCB 77.88%,#fff 77.88%);display:block}
.promo img{display:block;width:calc(520*var(--u));height:auto;margin:0 auto;pointer-events:none;user-select:none;-webkit-user-select:none}

/* ---------- Sub pages (terms / privacy) ---------- */
.hero.page{height:auto;padding:calc(30*var(--u)) calc(30*var(--u)) calc(30*var(--u))}
.hero.page .hero-text{margin-top:calc(14*var(--u))}
.doc-wrap{background:#fff;color:var(--blue);padding:calc(50*var(--u)) 0 calc(70*var(--u));min-height:calc(300*var(--u))}
.doc{width:calc(1028*var(--u));margin:0 auto}
.doc h2{font-size:calc(56*var(--u));font-weight:800;line-height:1;letter-spacing:calc(-1.5*var(--u))}
.doc .updated{font-size:calc(18*var(--u));margin-top:calc(10*var(--u));opacity:.75}
.doc h3{font-size:calc(30*var(--u));font-weight:800;margin-top:calc(38*var(--u));line-height:1.15;letter-spacing:calc(-.5*var(--u))}
.doc p,.doc li{font-size:calc(20*var(--u));line-height:1.55;margin-top:calc(10*var(--u))}
.doc ul{padding-left:calc(26*var(--u))}
.doc li{margin-top:calc(6*var(--u))}
.doc a{text-decoration:underline;text-underline-offset:calc(3*var(--u))}
.doc table{width:100%;border-collapse:collapse;margin-top:calc(14*var(--u));font-size:calc(18*var(--u))}
.doc th,.doc td{text-align:left;padding:calc(10*var(--u)) calc(14*var(--u));border-bottom:calc(2*var(--u)) solid rgba(0,43,203,.2);vertical-align:top;line-height:1.4}
.doc th{font-weight:800}
.doc td:first-child{font-weight:700;white-space:nowrap}

/* ---------- Mobile (1080 design) ---------- */
@media (max-width:820px){
:root{--u:calc(100vw/1080)}
.promo img,.showcase img{width:100%}
.top{padding:calc(46*var(--u)) 0 calc(73*var(--u))}
.nav,.card,.mid .card{width:calc(985*var(--u))}
.nav{height:calc(208*var(--u));border-radius:calc(104*var(--u));padding:0 calc(65*var(--u))}
.nav-logo svg{width:calc(108*var(--u));height:calc(108*var(--u))}
.nav-links{position:static;transform:none;margin-left:auto;gap:calc(30*var(--u));font-size:calc(44*var(--u));margin-right:calc(17*var(--u))}
.card{border-width:calc(5*var(--u));border-radius:calc(55*var(--u));box-shadow:inset 0 0 calc(13*var(--u)) rgba(255,255,255,.53)}
.hero{margin-top:calc(71*var(--u));height:calc(563*var(--u));padding:calc(34*var(--u)) calc(20*var(--u)) 0;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero-head{flex-direction:column;align-items:center;gap:0}
.hero-logo{width:calc(121*var(--u));height:calc(121*var(--u))}
.hero-title{display:flex;flex-direction:column;align-items:center}
.hero-title h1{font-size:calc(94*var(--u));letter-spacing:calc(-3*var(--u));line-height:calc(78*var(--u));margin-top:calc(12*var(--u))}
.hero-title .dots{margin-top:calc(10*var(--u))}
.dots{width:calc(75*var(--u));height:calc(21.7*var(--u))}
.hero-text{margin-top:calc(18*var(--u));font-size:calc(31*var(--u));line-height:calc(39*var(--u))}
.btn{min-width:calc(427*var(--u));padding-right:calc(36*var(--u));height:calc(104*var(--u));border-radius:calc(52*var(--u));margin-top:calc(6*var(--u))}
.btn-icon{width:calc(104*var(--u));height:calc(104*var(--u));border-width:calc(5*var(--u))}
.btn-icon svg{width:calc(52*var(--u));height:calc(52*var(--u))}
.btn-text{margin-left:calc(16*var(--u))}
.btn-text b{font-size:calc(46*var(--u));letter-spacing:calc(-.8*var(--u))}
.btn-text small{font-size:calc(14*var(--u));margin-top:calc(3*var(--u))}
.mid{padding:calc(62*var(--u)) 0 calc(71*var(--u))}
.support{height:calc(390*var(--u));padding:calc(38*var(--u)) calc(40*var(--u)) 0;display:flex;flex-direction:column;align-items:center;text-align:center}
.sup-logo{width:calc(100*var(--u));height:calc(100*var(--u))}
.sup-dots{width:calc(55*var(--u));height:calc(16*var(--u));margin-top:calc(16*var(--u))}
.support p{font-size:calc(31*var(--u));margin-top:calc(18*var(--u))}
.support .btn{margin-top:calc(24*var(--u))}
.foot{height:calc(438*var(--u));padding:calc(76*var(--u)) calc(95*var(--u)) 0 calc(95*var(--u))}
.foot-brand{position:relative}
.foot-logo{width:calc(141*var(--u));height:calc(141*var(--u))}
.foot-name{font-size:calc(112*var(--u));letter-spacing:calc(-4*var(--u));line-height:calc(100*var(--u));margin-top:calc(14*var(--u))}
.copy{font-size:calc(28*var(--u));margin-top:calc(40*var(--u));white-space:nowrap}
.foot-links{gap:calc(22*var(--u));font-size:calc(36*var(--u));line-height:calc(45*var(--u));padding-top:calc(0*var(--u))}

.hero.page{height:auto;padding:calc(34*var(--u)) calc(20*var(--u)) calc(40*var(--u))}
.hero.page .hero-text{margin-top:calc(12*var(--u))}
.doc-wrap{padding:calc(60*var(--u)) 0 calc(80*var(--u));min-height:calc(733*var(--u))}
.doc{width:calc(890*var(--u))}
.doc h2{font-size:calc(104*var(--u));letter-spacing:calc(-3*var(--u))}
.doc .updated{font-size:calc(32*var(--u));margin-top:calc(14*var(--u))}
.doc h3{font-size:calc(56*var(--u));margin-top:calc(64*var(--u))}
.doc p,.doc li{font-size:calc(40*var(--u));line-height:1.5;margin-top:calc(16*var(--u))}
.doc ul{padding-left:calc(44*var(--u))}
.doc li{margin-top:calc(10*var(--u))}
.doc table{font-size:calc(32*var(--u));display:block;overflow-x:auto}
.doc th,.doc td{padding:calc(14*var(--u)) calc(18*var(--u))}
.doc td:first-child{white-space:normal}
}

/* ---------- Loader (1s, home page only) ---------- */
html.is-loading,html.is-loading body{overflow:hidden}
#loader{position:fixed;inset:0;z-index:9999;background:#002BCB;display:flex;align-items:center;justify-content:center;transition:opacity .4s ease}
#loader.hide{opacity:0;pointer-events:none}
.loader-row{display:flex;align-items:center;justify-content:center;gap:clamp(14px,4vw,36px)}
.loader-row img{width:clamp(56px,16vw,120px);height:auto;display:block;user-select:none;-webkit-user-select:none}
