/* inter-tight-cyrillic-ext-wght-normal */
@font-face {
  font-family: 'Inter Tight Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/inter-tight-cyrillic-ext-wght-normal.okcGN4Nq.woff2) format('woff2-variations');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* inter-tight-cyrillic-wght-normal */
@font-face {
  font-family: 'Inter Tight Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/inter-tight-cyrillic-wght-normal.BS41q_Tv.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* inter-tight-greek-ext-wght-normal */
@font-face {
  font-family: 'Inter Tight Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/inter-tight-greek-ext-wght-normal.DQgQPNk4.woff2) format('woff2-variations');
  unicode-range: U+1F00-1FFF;
}

/* inter-tight-greek-wght-normal */
@font-face {
  font-family: 'Inter Tight Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/inter-tight-greek-wght-normal.sS1B39LI.woff2) format('woff2-variations');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* inter-tight-vietnamese-wght-normal */
@font-face {
  font-family: 'Inter Tight Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/inter-tight-vietnamese-wght-normal.TKKdAiBA.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* inter-tight-latin-ext-wght-normal */
@font-face {
  font-family: 'Inter Tight Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/inter-tight-latin-ext-wght-normal.B4u9PlvR.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* inter-tight-latin-wght-normal */
@font-face {
  font-family: 'Inter Tight Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/inter-tight-latin-wght-normal.DX-nOvPD.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* manrope-cyrillic-ext-wght-normal */
@font-face {
  font-family: 'Manrope Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(data:font/woff2;base64,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) format('woff2-variations');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* manrope-cyrillic-wght-normal */
@font-face {
  font-family: 'Manrope Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* manrope-greek-wght-normal */
@font-face {
  font-family: 'Manrope Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/_astro/manrope-greek-wght-normal.DL7QRZyv.woff2) format('woff2-variations');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* manrope-vietnamese-wght-normal */
@font-face {
  font-family: 'Manrope Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* manrope-latin-ext-wght-normal */
@font-face {
  font-family: 'Manrope Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* manrope-latin-wght-normal */
@font-face {
  font-family: 'Manrope Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/_astro/manrope-latin-wght-normal.DHIcAJRg.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/* geologica-cyrillic-ext-wght-normal */
@font-face {
  font-family: 'Geologica Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/geologica-cyrillic-ext-wght-normal.C8B9Chlh.woff2) format('woff2-variations');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* geologica-cyrillic-wght-normal */
@font-face {
  font-family: 'Geologica Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/geologica-cyrillic-wght-normal.DbeVG3Ps.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* geologica-greek-wght-normal */
@font-face {
  font-family: 'Geologica Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/geologica-greek-wght-normal.DPM5d9ub.woff2) format('woff2-variations');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* geologica-vietnamese-wght-normal */
@font-face {
  font-family: 'Geologica Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/geologica-vietnamese-wght-normal.DcI17N1q.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* geologica-latin-ext-wght-normal */
@font-face {
  font-family: 'Geologica Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/geologica-latin-ext-wght-normal.DZyYlgcm.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* geologica-latin-wght-normal */
@font-face {
  font-family: 'Geologica Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/geologica-latin-wght-normal.BBL8hQxZ.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
body{margin:0;background:#FFFFFF}
*{box-sizing:border-box}
a{color:inherit;text-decoration:none}
button{font:inherit}
:focus-visible{outline:3px solid #E4022E;outline-offset:4px}
.ux{container-type:inline-size;container-name:ux}
.h{font-family:'Inter Tight Variable',system-ui,sans-serif;letter-spacing:-0.022em}
.wrap{max-width:1280px;margin:0 auto;padding:0 56px;width:100%}
.scr{min-height:calc(100svh - 76px);display:flex;align-items:center;padding:56px 0;position:relative;overflow:hidden;scroll-margin-top:76px}
.kick{font:700 15px 'Manrope Variable',sans-serif;color:#C4002A}
.muted{color:#4A5068}
.h2{margin:10px 0 0;font-weight:700;font-size:52px;line-height:1.04;letter-spacing:-0.028em}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 26px;border-radius:999px;font:700 16px 'Manrope Variable',sans-serif;border:none;cursor:pointer;transition:background .2s,color .2s,transform .15s}
.btn:active{transform:scale(.97)}
.btn-red{background:#E4022E;color:#FFFFFF}.btn-red:hover{background:#B80024}
.btn-ink{background:#0E1430;color:#FFFFFF}.btn-ink:hover{background:#E4022E}
.btn-line{box-shadow:inset 0 0 0 1.5px #0E1430;color:#0E1430;background:#FFFFFF}.btn-line:hover{background:#0E1430;color:#FFFFFF}
.btn-white{background:#FFFFFF;color:#0E1430}.btn-white:hover{background:#0E1430;color:#FFFFFF}
.navlinks a{position:relative;padding:6px 0}
.navlinks a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:#E4022E;transition:right .25s}
.navlinks a:hover::after{right:0}
/* face */
.eyes{transition:transform .2s ease-out}
@keyframes blink{0%,94%,100%{transform:scaleY(1)}97%{transform:scaleY(.08)}}
.eye{transform-box:fill-box;transform-origin:center;animation:blink 5s infinite}
.hat{transform-box:view-box;transform-origin:213px 542px;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.navy{opacity:0;transform-box:view-box;transform-origin:312px 330px;transform:scale(.6);transition:opacity .4s,transform .5s cubic-bezier(.3,1.5,.5,1)}
.mouth{transform-box:view-box;transform-origin:312px 563px;transition:transform .45s cubic-bezier(.3,1.7,.5,1)}
.cap{transform-box:view-box;transform-origin:312px 200px;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.facebtn{all:unset;display:block;cursor:pointer;border-radius:50%}
.facebtn:focus-visible{outline:3px solid #0E1430;outline-offset:8px}
.facebtn:hover .hat,.alive:hover .hat{transform:rotate(-9deg) translate(-6px,-14px)}
.facebtn:hover .navy,.alive:hover .navy{opacity:1;transform:scale(1)}
.alive:hover .cap{transform:rotate(-10deg) translateY(-34px)}
.wink .eyeR{animation:none;transform:scaleY(.08)}
.wink .hat{transform:rotate(-16deg) translate(-12px,-46px)!important}
.wink .mouth{transform:scale(1.07,.92)!important}
@keyframes led{0%,100%{fill:#E4022E}50%{fill:#FFFFFF}}
.led{animation:led 1.4s steps(2) infinite}
@keyframes pop{0%{opacity:0;transform:translateY(8px)}15%{opacity:1;transform:none}85%{opacity:1}100%{opacity:0}}
.hello{animation:pop 2s ease-out both}
/* hero orchestrated entrance */
@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes drop{0%{opacity:0;transform:translateY(-120px)}60%{opacity:1;transform:translateY(8px)}100%{transform:none}}
.in1{animation:rise .7s cubic-bezier(.2,.8,.2,1) both}
.in2{animation:rise .7s cubic-bezier(.2,.8,.2,1) .12s both}
.in3{animation:rise .7s cubic-bezier(.2,.8,.2,1) .24s both}
.d1{animation:drop .8s cubic-bezier(.3,1.2,.5,1) .35s both}
.d2{animation:drop .8s cubic-bezier(.3,1.2,.5,1) .6s both}
.d3{animation:drop .8s cubic-bezier(.3,1.2,.5,1) .8s both}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.bob0{animation:bob 5s ease-in-out 1.2s infinite}
.bob1{animation:bob 4.2s ease-in-out 1.5s infinite}
.bob2{animation:bob 4.8s ease-in-out 1.8s infinite}
.fl{position:absolute;font-weight:700;line-height:1;animation:bob 6s ease-in-out infinite}
@keyframes drift{0%,100%{transform:translateX(0)}50%{transform:translateX(26px)}}
.cloudA{animation:drift 14s ease-in-out infinite}.cloudB{animation:drift 18s ease-in-out -6s infinite}
@keyframes wave{0%,100%{transform:skewY(0)}50%{transform:skewY(-7deg)}}
.flag{transform-box:fill-box;transform-origin:left center;animation:wave 2.4s ease-in-out infinite}
@keyframes clip{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
.reveal{animation:clip 1s cubic-bezier(.7,0,.2,1) .2s both}

.ul{display:inline-block;animation:unscr 1s cubic-bezier(.3,1.25,.4,1) var(--d) both}
@keyframes unscr{0%{opacity:0;transform:translate(var(--tx),var(--ty)) rotate(var(--r)) scaleX(var(--s))}35%{opacity:1}70%{transform:translate(0,0) rotate(0) scaleX(var(--s))}100%{transform:none}}
.lf{position:absolute;font-family:'Inter Tight Variable',sans-serif;font-weight:700;color:#FFFFFF;line-height:1;animation:lfloat 14s ease-in-out infinite}
@keyframes lfloat{0%,100%{transform:translateY(0) rotate(var(--rot))}50%{transform:translateY(-26px) rotate(calc(var(--rot) * -1))}}
.mq{display:flex;align-items:center;gap:26px;width:max-content;white-space:nowrap}
.mqL{animation:mq 38s linear infinite}.mqR{animation:mq 44s linear infinite reverse}
@keyframes mq{to{transform:translateX(-50%)}}
.kw{font-size:58px;font-weight:700;line-height:1.1;color:#0E1430}
.kw.ko{color:transparent;-webkit-text-stroke:1.5px #E4022E}
.filltext{background:linear-gradient(90deg,#0E1430 0 50%,#C9CCDA 50% 100%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent}
@supports (animation-timeline: view()){
 .filltext{animation:fillt linear both;animation-timeline:view();animation-range:entry 30% cover 55%}
 @keyframes fillt{to{background-position:0 0}}
 .h2{animation:maskup linear both;animation-timeline:view();animation-range:entry 0% cover 25%}
 @keyframes maskup{from{clip-path:inset(0 0 100% 0);transform:translateY(40px)}to{clip-path:inset(0 0 -20% 0);transform:none}}
 .ph,.pc,.opt{animation-timeline:auto}
}
@supports not (animation-timeline: view()){ .filltext{background-position:0 0} }
.drift{position:absolute;color:#FBE1E6;font-weight:700;line-height:1;animation:driftl 16s ease-in-out infinite}
@keyframes driftl{0%,100%{transform:translate(0,0) rotate(-6deg)}50%{transform:translate(30px,-24px) rotate(8deg)}}
.wv{animation:wv 14s linear infinite}
@keyframes wv{to{transform:translateX(-50%)}}
.walker{position:absolute;top:-62px;width:60px;transition:left .7s cubic-bezier(.4,1.4,.5,1)}
.hop{animation:hop .7s cubic-bezier(.3,1.4,.5,1)}
@keyframes hop{0%,100%{transform:translateY(0)}40%{transform:translateY(-26px) rotate(-8deg)}}
.pc:hover{transform:perspective(900px) rotateX(5deg) rotateY(-7deg) translateY(-8px)}
.bs{position:absolute;left:0;top:0;font:800 30px 'Inter Tight Variable',sans-serif;animation:bs 1.1s cubic-bezier(.2,.8,.3,1) both}
@keyframes bs{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}20%{opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1) rotate(200deg);opacity:0}}
@media (prefers-reduced-motion:reduce){ .ul,.lf,.mqL,.mqR,.filltext,.h2,.drift,.wv,.hop,.bs{animation:none!important} .filltext{background-position:0 0} }


.pimg{height:min(130px,15svh);margin:0 -10px 14px;border-radius:18px;overflow:hidden}
.pimg img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.pc:hover .pimg img{transform:scale(1.06)}
@keyframes kb{from{transform:scale(1.12) translate(2%,1%)}to{transform:scale(1) translate(0,0)}}
.kb{animation:kb 9s ease-out both}
@media (prefers-reduced-motion:reduce){ .kb{animation:none!important} }
@container ux (max-width: 1000px){ .pimg{height:160px} }


.trust>div{padding:18px 22px 22px 0;display:grid;gap:3px}
.trust>div+div{padding-left:22px;border-left:1px solid rgba(255,255,255,.3)}
.trust strong{font:700 15.5px 'Manrope Variable',sans-serif}
.trust span{font-size:14px;opacity:.88}
.qbtn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;color:#0E1430}
.qbtn:focus-visible{outline:3px solid #E4022E;outline-offset:2px}
.qicon{position:relative;width:34px;height:34px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1.5px #0E1430;transition:background .25s,transform .35s cubic-bezier(.3,1.4,.5,1)}
.qicon::before,.qicon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:#0E1430;transform:translate(-50%,-50%);transition:background .25s}
.qicon::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa.open .qicon{background:#E4022E;box-shadow:none;transform:rotate(45deg)}
.qa.open .qicon::before,.qa.open .qicon::after{background:#FFFFFF}
.qbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.2,.8,.2,1)}
.qbody>div{overflow:hidden}
.qa.open .qbody{grid-template-rows:1fr}
.fh{font:700 13px 'Manrope Variable',sans-serif;color:#FF8A9C;margin-bottom:14px}
footer nav{display:grid;gap:10px;align-content:start;font-size:15px}
footer nav a{color:#E3E5EC}footer nav a:hover{color:#FFFFFF;text-decoration:underline}
@container ux (max-width: 1000px){ .trust,.fcols{grid-template-columns:1fr 1fr!important} .trust>div+div{border-left:none;padding-left:0} }


.rtabs{display:flex;gap:6px;padding:6px;border-radius:16px;background:rgba(255,255,255,.08);justify-self:end}
.rtab{all:unset;cursor:pointer;display:grid;gap:2px;padding:12px 20px;border-radius:12px;color:#C9CCDA;transition:background .25s,color .25s}
.rtab .rn{font:700 16px 'Inter Tight Variable',sans-serif;color:inherit}.rtab .ra{font-size:13px}
.rtab:hover{color:#FFFFFF}.rtab.on{background:#FFFFFF;color:#0E1430}
.rtab:focus-visible{outline:3px solid #FF8A9C}
.goal{padding-left:18px;border-left:3px solid #E4022E}
.goal .gl{font:700 13px 'Manrope Variable',sans-serif;color:#FF8A9C;letter-spacing:.02em}
.goal p{margin:6px 0 0;font-size:18px;line-height:1.55;color:#E3E5EC}
.facts{margin:4px 0 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18)}
.facts>div{padding:14px 14px 0 0}.facts>div+div{padding-left:14px;border-left:1px solid rgba(255,255,255,.18)}
.facts dt{font-size:13px;color:#A9AEC4}.facts dd{margin:4px 0 0;font:700 17px 'Inter Tight Variable',sans-serif}
@container ux (max-width: 1000px){ .rtabs{justify-self:start} }


/* hero exit parallax */
@supports (animation-timeline: view()){
 #top .reveal{animation:clip 1s cubic-bezier(.7,0,.2,1) .2s both, hx linear both;animation-timeline:auto, view();animation-range:normal, exit 0% exit 100%}
 @keyframes hx{to{transform:translateY(-70px) scale(1.03)}}
}
/* interlude */
.inter{view-timeline-name:--it}
@supports (animation-timeline: view()){
 .istmt{animation:ist linear both;animation-timeline:--it;animation-range:contain 0% contain 100%}
 @keyframes ist{0%{transform:scale(.72);opacity:.15;filter:blur(6px)}35%{transform:scale(1);opacity:1;filter:none}80%{transform:scale(1);opacity:1}100%{transform:scale(1.06);opacity:.4}}
 .isub{animation:isb linear both;animation-timeline:--it;animation-range:contain 25% contain 45%}
 @keyframes isb{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
 .ivid{animation:ivd linear both;animation-timeline:--it;animation-range:contain 0% contain 100%}
 @keyframes ivd{from{transform:scale(1.25)}to{transform:scale(1)}}
}
/* journey */
.journey{height:300vh;position:relative;view-timeline-name:--jt}
.jstick{position:sticky;top:76px;height:calc(100vh - 76px);display:flex;align-items:center}
.jnums{display:flex;gap:28px;margin-top:30px}
.jn{font:300 54px 'Inter Tight Variable',sans-serif;letter-spacing:-0.03em;color:#C9CCDA}
.jbar{height:3px;background:#E4022E;transform-origin:left;transform:scaleX(.33)}
.jtexts{position:relative;margin-top:26px;min-height:190px}
.jt{position:absolute;inset:0}
.jt h3{margin:0;font-size:28px;font-weight:700}
.jt p{margin:12px 0 0;font-size:18px;line-height:1.6;color:#4A5068;max-width:520px}
.jmedia{position:relative;height:min(560px,calc(100vh - 200px));border-radius:24px;overflow:hidden}
.jm{position:absolute;inset:0}
@supports (animation-timeline: view()){
 .jt,.jm,.jn,.jbar{animation-timeline:--jt;animation-range:contain 0% contain 100%;animation-fill-mode:both;animation-timing-function:linear}
 .jt1{animation-name:t1}.jt2{animation-name:t2}.jt3{animation-name:t3}
 @keyframes t1{0%,27%{opacity:1;transform:none}31%,100%{opacity:0;transform:translateY(-24px)}}
 @keyframes t2{0%,32%{opacity:0;transform:translateY(24px)}37%,61%{opacity:1;transform:none}65%,100%{opacity:0;transform:translateY(-24px)}}
 @keyframes t3{0%,66%{opacity:0;transform:translateY(24px)}71%,100%{opacity:1;transform:none}}
 .jm2{animation-name:w2}.jm3{animation-name:w3}
 @keyframes w2{0%,28%{clip-path:inset(100% 0 0 0)}38%,100%{clip-path:inset(0 0 0 0)}}
 @keyframes w3{0%,62%{clip-path:inset(100% 0 0 0)}72%,100%{clip-path:inset(0 0 0 0)}}
 .jm1{animation-name:z1}@keyframes z1{from{transform:scale(1.15)}to{transform:scale(1)}}
 .jn1{animation-name:n1}.jn2{animation-name:n2}.jn3{animation-name:n3}
 @keyframes n1{0%,30%{color:#E4022E}36%,100%{color:#C9CCDA}}
 @keyframes n2{0%,30%{color:#C9CCDA}36%,64%{color:#E4022E}70%,100%{color:#C9CCDA}}
 @keyframes n3{0%,64%{color:#C9CCDA}70%,100%{color:#E4022E}}
 .jbar{animation-name:jb}@keyframes jb{from{transform:scaleX(.02)}to{transform:scaleX(1)}}
}
@supports not (animation-timeline: view()){
 .journey{height:auto}.jstick{position:static;height:auto;padding:80px 0}
 .jt{position:static;margin-bottom:24px}.jtexts{min-height:0}.jm2,.jm3{display:none}
}
/* horizontal gallery */
.hgal{height:320vh;position:relative;view-timeline-name:--hg;background:#F5F6F9}
.hstick{position:sticky;top:76px;height:calc(100vh - 76px);overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:34px}
.htrack{display:flex;gap:22px;width:max-content;padding:0 max(56px, calc((100cqw - 1280px) / 2 + 56px))}
.hcard{position:relative;display:block;width:min(500px,72cqw);height:min(52vh,500px);border-radius:24px;overflow:hidden;color:#FFFFFF;flex:none}
.hcard img{transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.hcard:hover img{transform:scale(1.06)}
.hshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,20,48,0) 35%,rgba(14,20,48,.88))}
.hbody{position:absolute;left:28px;right:28px;bottom:26px;display:grid;gap:6px}
.hk{font-size:14px;font-weight:700;color:#FFB3BF}
.hn{font-size:34px;font-weight:700;line-height:1.05}
.hl{font-size:17px;line-height:1.5;color:#E3E5EC}
.hgo{margin-top:8px;font-weight:700;font-size:15px;text-decoration:underline;text-underline-offset:4px;opacity:0;transform:translateY(8px);transition:all .3s}
.hcard:hover .hgo,.hcard:focus-visible .hgo{opacity:1;transform:none}
@supports (animation-timeline: view()){
 .htrack{animation:hmove linear both;animation-timeline:--hg;animation-range:contain 0% contain 100%}
 @keyframes hmove{to{transform:translateX(calc(-100% + 100cqw))}}
}
@supports not (animation-timeline: view()){ .hgal{height:auto}.hstick{position:static;height:auto;padding:80px 0;overflow:visible}.htrack{overflow-x:auto;width:auto;scroll-snap-type:x mandatory}.hcard{scroll-snap-align:start} }
@container ux (max-width: 1000px){ .jmedia{height:320px} .journey{height:auto} .jstick{position:static;height:auto;padding:60px 0} .jt{position:static;opacity:1!important;transform:none!important;margin-bottom:20px} .jm2,.jm3{display:none} }
@media (prefers-reduced-motion:reduce){ .istmt,.isub,.ivid,.jt,.jm,.jn,.jbar,.htrack{animation:none!important} .journey,.hgal,.inter{height:auto} .jstick,.hstick{position:static;height:auto;padding:80px 0} .jt{position:static;margin-bottom:20px} .jm2,.jm3{display:none} .htrack{overflow-x:auto;width:auto} }


.tcard{position:relative;background:#FFFFFF;color:#0E1430;border-radius:24px;padding:136px 40px 30px;box-shadow:0 30px 60px rgba(60,0,10,.28);max-width:560px;margin-left:auto}
.tface{position:absolute;left:50%;top:0;width:190px;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 0 10px #FFFFFF,0 18px 40px rgba(60,0,10,.25)}
.tface .badge{animation:none}
.ttail{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:-1;filter:drop-shadow(0 8px 10px rgba(60,0,10,.18))}
@keyframes talk{0%{transform:scale(1,1)}100%{transform:scale(1.05,.72)}}
.tmeta{display:flex;justify-content:center;gap:12px;align-items:center;font-size:14px}
.tname{font:700 15px 'Inter Tight Variable',sans-serif}
.tstat{display:inline-flex;align-items:center;gap:7px;color:#4A5068}
.tdot{width:8px;height:8px;border-radius:50%;background:#1DB954;box-shadow:0 0 0 4px rgba(29,185,84,.18)}
.tline{margin:18px 0 0;text-align:center;font-size:34px;line-height:1.18;font-weight:700;min-height:2.4em;letter-spacing:-0.02em}
.caret{display:inline-block;width:3px;height:.95em;background:#E4022E;margin-left:4px;vertical-align:-0.1em;animation:caret 1s steps(2) infinite}
@keyframes caret{50%{opacity:0}}
.tgr{margin:10px 0 0;text-align:center;font-size:16px;color:#4A5068;min-height:1.5em}
.tdots{display:flex;justify-content:center;gap:8px;margin-top:22px}
.tdots span{width:8px;height:8px;border-radius:99px;background:#D9DBE3;transition:width .3s,background .3s}
.tdots span.on{width:26px;background:#E4022E}
@media (prefers-reduced-motion:reduce){ .tface.talking .mouth,.caret{animation:none!important} }


.intro{position:fixed;inset:0;z-index:200;background:#E4022E;color:#FFFFFF;display:grid;place-items:center;animation:iwipe .9s cubic-bezier(.76,0,.24,1) 3.6s both}
.intro.gone{display:none}
@keyframes iwipe{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0)}}
.iin{display:grid;justify-items:center;gap:22px;animation:iup .9s cubic-bezier(.76,0,.24,1) 3.6s both}
@keyframes iup{to{transform:translateY(-12vh);opacity:0}}
.imark{width:96px;border-radius:50%;box-shadow:0 0 0 6px #FFFFFF;animation:imk .7s cubic-bezier(.3,1.5,.5,1) 1.45s both}
@keyframes imk{from{transform:scale(0) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}
.iword{display:flex;font:800 min(170px,22vw) 'Inter Tight Variable',sans-serif;letter-spacing:-0.04em;line-height:.9}
.il{display:inline-block;animation:ilet 1.1s cubic-bezier(.3,1.2,.4,1) var(--d) both}
@keyframes ilet{0%{opacity:0;transform:translate(var(--tx),var(--ty)) rotate(var(--r)) scaleX(var(--s))}30%{opacity:1}70%{transform:translate(0,0) rotate(0) scaleX(var(--s))}100%{transform:none}}
.itag{font:600 22px 'Manrope Variable',sans-serif;letter-spacing:.02em;animation:itg .8s ease-out 2.1s both}
@keyframes itg{from{opacity:0;letter-spacing:.4em}to{opacity:.95;letter-spacing:.02em}}
.iskip{all:unset;cursor:pointer;position:absolute;right:28px;bottom:24px;font:600 14px 'Manrope Variable',sans-serif;color:#FFFFFF;opacity:.8;padding:8px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.iskip:hover{opacity:1}
.iskip:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px}
/* hero entrance waits for the intro */
.withintro .in1{animation-delay:3.95s}.withintro .in2{animation-delay:4.05s}.withintro .in3{animation-delay:4.15s}
.withintro .d1{animation-delay:4.25s}.withintro .d2{animation-delay:4.4s}
.withintro .ul{animation-delay:calc(var(--d) + 3.8s)}
@media (prefers-reduced-motion:reduce){ .intro{display:none} }

/* paths */
.opt{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:18px;width:100%;padding:20px 22px;border-radius:18px;cursor:pointer;transition:background .25s,color .25s}
.opt:hover{background:#FDECEF}
.opt.on{background:#0E1430;color:#FFFFFF}
.opt .k{font:300 34px 'Geologica Variable',sans-serif;width:56px;flex:none}
.opt:focus-visible{outline:3px solid #E4022E;outline-offset:2px}
@keyframes swap{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.swap{animation:swap .35s cubic-bezier(.2,.8,.2,1) both}
.tick{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid #E3E5EC}
.tick::before{content:"";width:8px;height:8px;border-radius:50%;background:#E4022E;flex:none;transform:translateY(-2px)}
/* simulator */
.sw{display:inline-flex;padding:5px;border-radius:999px;background:rgba(255,255,255,.12)}
.sw button{all:unset;cursor:pointer;padding:12px 20px;border-radius:999px;font:700 15px 'Manrope Variable',sans-serif;color:#FFFFFF;transition:background .25s,color .25s}
.sw button.on{background:#FFFFFF;color:#0E1430}
.sw button:focus-visible{outline:3px solid #FF6B83}
.lt{display:inline-block;transition:transform .45s cubic-bezier(.3,1.4,.5,1),color .3s,opacity .3s}
/* method */
.node{all:unset;cursor:pointer;display:grid;gap:8px;text-align:left;padding:18px 0 0}
.node .n{font:200 64px 'Geologica Variable',sans-serif;line-height:.9;color:#C9CCDA;transition:color .3s}
.node.on .n{color:#E4022E}
.node .t{font:700 20px 'Geologica Variable',sans-serif;letter-spacing:-0.02em}
.node:focus-visible{outline:3px solid #E4022E;outline-offset:6px}
/* word lab */
.word{cursor:pointer;border:none;border-radius:999px;padding:13px 22px;font:700 19px 'Geologica Variable',sans-serif;background:transparent;color:#FFFFFF;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5);transition:background .2s,color .2s}
.word.on{background:#FFFFFF;color:#0E1430}
@keyframes phpop{0%{transform:translateY(24px) scale(.9);opacity:0}100%{transform:none;opacity:1}}
.ph{display:inline-flex;align-items:center;justify-content:center;min-width:104px;height:124px;padding:0 22px;font:600 76px 'Inter Tight Variable',sans-serif;letter-spacing:-0.03em;border-radius:12px;box-shadow:inset 0 0 0 1.5px #0E1430;animation:phpop .35s cubic-bezier(.2,.8,.2,1) both}
/* finder */
.chip{all:unset;cursor:pointer;padding:12px 18px;border-radius:999px;font:700 15px 'Manrope Variable',sans-serif;box-shadow:inset 0 0 0 1.5px #C9CCDA;transition:all .2s}
.chip:hover{box-shadow:inset 0 0 0 1.5px #0E1430}
.chip.on{background:#0E1430;color:#FFFFFF;box-shadow:none}
.chip:focus-visible{outline:3px solid #E4022E}
.pc{border-radius:28px;padding:14px 24px 24px;background:#FFFFFF;box-shadow:inset 0 0 0 1.5px #E3E5EC;transition:background .35s,color .35s,transform .35s cubic-bezier(.3,1.4,.5,1),box-shadow .35s}
.pc.on{background:#0E1430;color:#FFFFFF;transform:translateY(-12px);box-shadow:0 24px 50px rgba(14,20,48,.18)}
.pc.on .muted{color:#C9CCDA}
.pc .badge2{display:inline-block;padding:6px 12px;border-radius:999px;background:#E4022E;color:#FFFFFF;font:700 13px 'Manrope Variable',sans-serif;opacity:0;transform:scale(.6);transition:all .3s cubic-bezier(.3,1.6,.5,1)}
.pc.on .badge2{opacity:1;transform:none}
/* robot game */
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;aspect-ratio:1;position:relative}
.cell{border-radius:14px;background:#FFFFFF;border:4px solid #F5F6F9}
.bot{position:absolute;left:0;top:0;width:20%;padding:6px;transition:transform .35s cubic-bezier(.3,1.3,.5,1)}
.cmd{all:unset;cursor:pointer;padding:13px 18px;border-radius:14px;background:#0E1430;color:#FFFFFF;font:700 15px 'Geologica Variable',sans-serif;transition:background .2s,transform .12s}
.cmd:hover{background:#E4022E}.cmd:active{transform:scale(.95)}
.cmd:focus-visible{outline:3px solid #E4022E;outline-offset:3px}
@keyframes star{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(12deg)}}
.star{animation:star 1.6s ease-in-out infinite;transform-origin:center;z-index:2}
/* exams */
.month{all:unset;cursor:pointer;padding:10px 14px;border-radius:12px;font:700 14px 'Manrope Variable',sans-serif;box-shadow:inset 0 0 0 1.5px #C9CCDA}
.month.on{background:#E4022E;color:#FFFFFF;box-shadow:none}
.month:focus-visible{outline:3px solid #0E1430}
.imgzoom{overflow:hidden}.imgzoom img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.imgzoom:hover img{transform:scale(1.04)}
.field{width:100%;height:54px;border:none;border-bottom:1.5px solid rgba(255,255,255,.6);padding:0 2px;background:transparent;color:#FFFFFF;font:600 18px 'Manrope Variable',sans-serif;border-radius:0}
.field:focus{outline:none;border-bottom-color:#FFFFFF;box-shadow:0 2px 0 #FFFFFF}
.field option{color:#0E1430}
@container ux (max-width: 1180px){ .navlinks{display:none!important} }
@container ux (max-width: 1000px){
 .two{grid-template-columns:1fr!important}
 .three{grid-template-columns:1fr!important}
 .h1{font-size:72px!important}
 .scene{max-width:440px;margin:0 auto}
 .heroText{padding-bottom:40px!important}
}
@container ux (max-width: 600px){ .wrap{padding:0 22px} .h1{font-size:54px!important} .h2{font-size:38px} .ph{font-size:60px;min-width:76px;height:96px} }
@media (prefers-reduced-motion:reduce){
 .reveal,.eye,.led,.hello,.in1,.in2,.in3,.d1,.d2,.d3,.bob0,.bob1,.bob2,.fl,.cloudA,.cloudB,.flag,.swap,.ph,.star{animation:none!important}
 .lt,.bot,.pc{transition:none!important}
}

/* pages */

.phero{background:#E4022E;color:#FFFFFF;padding:56px 0 0;overflow:hidden}
.crumbs{display:flex;gap:10px;font-size:14px;font-weight:600;opacity:.92}.crumbs a{text-decoration:underline;text-underline-offset:3px}
.ph1{margin:18px 0 0;font-weight:700;font-size:min(76px,9.5svh);line-height:1;letter-spacing:-0.03em}
.plede{margin:20px 0 0;max-width:560px;font-size:19px;line-height:1.6}
.pframe{height:min(440px,52svh);border-radius:20px;overflow:hidden;box-shadow:0 30px 60px rgba(60,0,10,.28)}
.psec{padding:110px 0}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.steps{display:grid;gap:0;border-top:1px solid #0E1430}
.step{display:grid;grid-template-columns:120px 1fr 280px;gap:40px;align-items:center;padding:30px 0;border-bottom:1px solid #D9DBE3}
.sn{font:300 64px 'Inter Tight Variable',sans-serif;color:#E4022E;letter-spacing:-0.03em}
.sb h3{margin:0;font-size:28px;font-weight:700}.sb p{margin:10px 0 0;font-size:18px;line-height:1.6;color:#4A5068;max-width:560px}
.si{height:170px;border-radius:16px}
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.25)}
.tgrid.tg3{grid-template-columns:repeat(3,1fr)}.tgrid.tg4{grid-template-columns:repeat(4,1fr)}
.tcell{padding:28px 26px 30px 0}.tcell+.tcell{padding-left:26px;border-left:1px solid rgba(255,255,255,.18)}
.tg3 .tcell:nth-child(3n+1){padding-left:0;border-left:none}.tg3 .tcell:nth-child(n+4){border-top:1px solid rgba(255,255,255,.18)}
.tno{font:300 15px 'Inter Tight Variable',sans-serif;color:#FF8A9C}
.tcell h3{margin:12px 0 0;font-size:23px;font-weight:700;line-height:1.2}.tcell p{margin:10px 0 0;font-size:16px;line-height:1.6;color:#C9CCDA}
.tgrid.light{border-top-color:#0E1430}.light .tcell+.tcell{border-left-color:#D9DBE3}.light .tno{color:#C4002A}.light .tcell p{color:#4A5068}
.lgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ltile{margin:0;position:relative;aspect-ratio:3/4;border-radius:20px}
.ltile figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 20px 20px;color:#FFFFFF;font-size:20px;font-weight:700;line-height:1.2;background:linear-gradient(180deg,rgba(14,20,48,0),rgba(14,20,48,.86))}
.pblocks{display:grid;gap:72px}
.pblock{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.pimg2{aspect-ratio:4/3;border-radius:24px}
.ptext h3{margin:8px 0 0;font-size:40px;font-weight:700;letter-spacing:-0.03em}
.pline{margin:10px 0 0;font-size:20px;font-weight:600}
.feats{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:0;border-top:1px solid #D9DBE3}
.feats li{padding:12px 0;border-bottom:1px solid #D9DBE3;font-size:17px;display:flex;gap:12px;align-items:center}
.feats li::before{content:"";width:7px;height:7px;border-radius:50%;background:#E4022E}
.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.levels span{display:grid;place-items:center;aspect-ratio:1.4;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);font:700 40px 'Inter Tight Variable',sans-serif;transition:background .3s,color .3s}
.levels span:hover{background:#FFFFFF;color:#0E1430}
.prose p{margin:0 0 18px;font-size:19px;line-height:1.7;color:#4A5068}
.goals2{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.goal{padding-left:20px;border-left:3px solid #E4022E}.goal .gl{font:700 14px 'Manrope Variable',sans-serif;color:#FF8A9C}.goal p{margin:8px 0 0;font-size:22px;line-height:1.5;color:#FFFFFF}
.uses{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.25)}
.uses li{padding:20px 18px 0 0;font:600 18px 'Inter Tight Variable',sans-serif;line-height:1.3}.uses li+li{padding-left:18px;border-left:1px solid rgba(255,255,255,.18)}
.uses span{display:block;font:300 14px 'Inter Tight Variable',sans-serif;color:#FF8A9C;margin-bottom:8px}
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gcard{border-radius:24px;overflow:hidden;background:#F5F6F9}
.gimg{aspect-ratio:4/3}.gb{padding:24px 26px 28px}.gb h3{margin:6px 0 0;font-size:30px;font-weight:700}.gb p{margin:10px 0 0;font-size:16px;line-height:1.6;color:#4A5068}
.facts.dark3{border-top-color:#0E1430}.facts.dark3>div+div{border-left-color:#D9DBE3}.facts.dark3 dt{color:#4A5068}.facts.dark3 dd{color:#0E1430}
.tblwrap{overflow-x:auto}
.etbl{width:100%;border-collapse:collapse;font-size:17px}
.etbl th,.etbl td{text-align:left;padding:18px 16px;border-bottom:1px solid #D9DBE3;vertical-align:top}
.etbl thead th{font:700 13px 'Manrope Variable',sans-serif;color:#4A5068;border-bottom:1px solid #0E1430}
.etbl tbody th{font:700 20px 'Inter Tight Variable',sans-serif}
.etbl tbody tr{transition:background .2s}.etbl tbody tr:hover{background:#FFFFFF}
.calc{background:#0E1430;color:#FFFFFF;border-radius:24px;padding:32px}
.cl{font-weight:700;font-size:14px;margin:16px 0 8px}.cl:first-child{margin-top:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}.calc .month{color:#FFFFFF}
.cres{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);display:grid;gap:4px}
.cres span{font-size:14px;color:#C9CCDA}.cres strong{font-size:38px;font-weight:700}
.ccards{display:grid;gap:12px;margin-top:28px}
.ccard{display:grid;gap:4px;padding:20px 22px;border-radius:18px;background:#F5F6F9;transition:background .2s}
a.ccard:hover{background:#FDECEF}
.ccard span{font-size:13px;font-weight:700;color:#C4002A}.ccard strong{font:700 20px 'Inter Tight Variable',sans-serif}.ccard em{font-style:normal;font-size:14px;text-decoration:underline;color:#4A5068}
.cform{background:#FFFFFF;border-radius:24px;padding:34px;box-shadow:0 20px 50px rgba(14,20,48,.10),inset 0 0 0 1px #E3E5EC}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fgrid label{display:grid;gap:6px;font-weight:700;font-size:14px}
.finp{width:100%;height:50px;border:none;border-radius:12px;background:#F5F6F9;padding:0 14px;font:500 16px 'Manrope Variable',sans-serif;color:#0E1430}
.finp:focus{outline:2px solid #E4022E;outline-offset:1px;background:#FFFFFF}
.pcta{background:#E4022E;color:#FFFFFF;padding:90px 0}
.psec[style*="#0E1430"] .kick{color:#FF8A9C}
@supports (animation-timeline: view()){
 .rv2{animation:rv2 linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
 @keyframes rv2{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
 .pframe img,.pframe video{animation:pfz linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
 @keyframes pfz{to{transform:scale(1.08)}}
}
@container ux (max-width: 1000px){
 .step{grid-template-columns:70px 1fr}.si{display:none}
 .tgrid,.tgrid.tg3,.tgrid.tg4,.lgrid,.ggrid,.uses,.goals2,.pblock,.fgrid{grid-template-columns:1fr 1fr!important}
 .pblock .pimg2{order:0!important}
}
@container ux (max-width: 600px){ .tgrid,.tgrid.tg3,.tgrid.tg4,.lgrid,.ggrid,.uses,.goals2,.pblock,.fgrid{grid-template-columns:1fr!important} .tcell+.tcell{padding-left:0;border-left:none} }
@media (prefers-reduced-motion:reduce){ .rv2,.pframe img,.pframe video{animation:none!important} }

[hidden]{display:none!important}
.navlinks a[aria-current="page"]{color:#E4022E}

.legal h2{font:700 24px/1.2 "Inter Tight Variable",sans-serif;margin:32px 0 8px}.legal p{font-size:17px;line-height:1.7}

/* mobile menu */
.menubtn{all:unset;cursor:pointer;display:none;align-items:center;gap:10px;height:46px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1.5px #0E1430;font:700 15px 'Manrope Variable',sans-serif;color:#0E1430}
.menubtn:focus-visible{outline:3px solid #E4022E;outline-offset:2px}
.mbars{width:18px;height:12px;background:linear-gradient(#0E1430,#0E1430) top/100% 2px no-repeat,linear-gradient(#0E1430,#0E1430) center/100% 2px no-repeat,linear-gradient(#0E1430,#0E1430) bottom/100% 2px no-repeat}
.menubtn[aria-expanded="true"] .mbars{background:linear-gradient(45deg,transparent 45%,#0E1430 45%,#0E1430 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,#0E1430 45%,#0E1430 55%,transparent 55%)}
.mnav{border-top:1px solid #E6E7EC;background:#FFFFFF;padding:10px 0 22px;max-height:calc(100svh - 76px);overflow:auto}
.mnav .wrap{display:grid}
.mnav a:not(.btn){padding:14px 0;border-bottom:1px solid #EEF0F4;font:600 20px 'Inter Tight Variable',sans-serif;letter-spacing:-0.01em}
.mnav a[aria-current="page"]{color:#E4022E}
@container ux (max-width: 1180px){ .menubtn{display:inline-flex} }
@container ux (min-width: 1181px){ .mnav{display:none!important} }
@container ux (max-width: 640px){ .hcta{display:none!important} .utl-a{display:none!important} }
@container ux (max-width: 380px){ .utl-m{display:none} }
@container ux (max-width: 700px){ .ph1{font-size:min(76px,10.5cqw)} }

/* Every home section = one screen (desktop/tablet). Sizes shrink with the viewport height so nothing spills over. */
@media (min-width: 900px){
  .scr{padding:clamp(20px,4.5svh,56px) 0}
  .scr .h2{font-size:clamp(32px,min(6.2svh,4.4vw),56px)}
  .statement .mq{margin-left:0}
}
@media (min-width: 900px) and (max-height: 920px), (min-width: 900px) and (max-width: 1100px){
  .opt{padding:clamp(8px,1.5svh,18px) 20px}
  .opt .k{font-size:28px}
  .qbtn{padding:clamp(10px,1.9svh,20px) 0}
  .qbtn .h{font-size:19px!important}
  .qbody p{font-size:16px!important;padding-bottom:14px!important}
  .goal p{font-size:16px}
  .node .n{font-size:46px}
  .tick{padding:6px 0}
  #paths h3.h{font-size:26px!important}
  #paths .muted{font-size:16px!important}
  #faq .muted{font-size:16px!important}
}
@media (min-width: 900px) and (min-height: 600px) and (prefers-reduced-motion: no-preference){
  html{scroll-snap-type:y proximity}
  .scr:not(.hero),.hgal{scroll-snap-align:start}
  .hgal{scroll-margin-top:0}
  footer{scroll-snap-align:end}
}
@media (min-width: 900px) and (max-width: 1100px){
  .opt .h{font-size:18px!important}
  #robotics .goal p{font-size:15px}
  #robotics .facts dd{font-size:15px}
  #paths [style*="height: min(200px, 24svh)"]{height:min(170px,20svh)!important}
}
@media (min-width: 900px) and (max-width: 1100px){ #robotics .h2{font-size:34px} }
