@font-face{font-family:Display;src:url(../fonts/display.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:Body;src:url(../fonts/body.woff2) format("woff2");font-weight:100 1000;font-display:swap}
:root{--bg:#FDFBF7;--ink:#0F2447;--mut:#4A5A78;--blue:#004AAD;--lav:#E6DFFB;--pea:#FFE1D3;--min:#D3F2E3;--sky:#D6E8FB;--but:#FFF0C2;--r:28px;--d:Display,system-ui,sans-serif;--b:Body,system-ui,sans-serif}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:400 17px/1.6 var(--b);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px 14px;z-index:99}
.w{width:min(1180px,92%);margin:auto}
h1,h2,h3{font-family:var(--d);line-height:1.04;letter-spacing:-.025em;font-weight:700}
h1{font-size:clamp(2.6rem,6.4vw,5.4rem)}h2{font-size:clamp(2rem,4vw,3.3rem)}h3{font-size:1.4rem;line-height:1.2}
p{color:var(--mut)}.lead{font-size:1.2rem;max-width:56ch}
.eyebrow{font:600 .8rem var(--b);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:14px;display:block}
header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid #E8E2D8}
.nav{display:flex;align-items:center;justify-content:space-between;height:60px}
.nav img{height:34px;width:auto}
.nav ul{display:flex;gap:6px;list-style:none;padding:0}
.nav ul a{display:block;padding:10px 14px;border-radius:99px;text-decoration:none;font-weight:500;font-size:.92rem;min-height:44px}
.nav ul a:hover,.nav ul a[aria-current]{background:var(--lav)}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 26px;border-radius:99px;background:var(--blue);color:#fff;font-weight:600;text-decoration:none;border:0;cursor:pointer;font:600 1rem var(--b);transition:transform .2s,background .2s}
.btn:hover{background:#00378a;transform:translateY(-2px)}
.btn.alt{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.btn.alt:hover{background:var(--but)}
#menu{display:none}
section{padding:96px 0}
.hero{padding:72px 0 40px}.hero .g{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero p{margin:24px 0 32px}.row{display:flex;gap:14px;flex-wrap:wrap}
.blobs{position:relative;aspect-ratio:1;max-width:460px;justify-self:center;width:100%}
.blobs i{position:absolute;display:block;border-radius:50%}
.blobs i:nth-child(1){inset:0 18% 28% 0;background:var(--lav)}.blobs i:nth-child(2){inset:30% 0 0 22%;background:var(--pea);border-radius:42% 58% 50% 50%}
.blobs i:nth-child(3){width:30%;aspect-ratio:1;left:4%;bottom:6%;background:var(--min)}.blobs i:nth-child(4){width:22%;aspect-ratio:1;right:10%;top:4%;background:var(--but)}
.blobs b{position:absolute;inset:0;display:grid;place-items:center;font:800 clamp(3rem,8vw,5.5rem)/1 var(--d);color:var(--blue);text-align:center}
.blobs b small{display:block;font:600 .95rem var(--b);color:var(--ink);letter-spacing:.04em}
.stats{display:flex;gap:0;flex-wrap:wrap;border-radius:var(--r);overflow:hidden;margin-top:40px}
.stats div{flex:1 1 200px;padding:30px;font:700 2.6rem/1 var(--d)}.stats div:nth-child(1){background:var(--sky)}.stats div:nth-child(2){background:var(--min)}.stats div:nth-child(3){background:var(--pea)}.stats div:nth-child(4){background:var(--lav)}
.stats span{display:block;font:500 .95rem var(--b);color:var(--ink);margin-top:8px}
.head{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:44px}.head p{max-width:46ch}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.tile{border-radius:var(--r);padding:34px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;text-decoration:none;transition:transform .25s;min-height:240px}
.tile:hover{transform:translateY(-6px)}.tile p{color:var(--ink);opacity:.8;margin-top:10px}
.tile .n{font:700 .85rem var(--d);letter-spacing:.1em}.t2{grid-column:span 2}.t3{grid-column:span 3}.t4{grid-column:span 4}
.c1{background:var(--lav)}.c2{background:var(--pea)}.c3{background:var(--min)}.c4{background:var(--sky)}.c5{background:var(--but)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.steps{list-style:none;padding:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:70px 1fr;gap:18px;padding:30px 0;border-top:2px solid var(--ink)}
.steps li:before{content:"0" counter(s);font:700 2.4rem/1 var(--d);color:var(--blue)}
.band{background:var(--lav);border-radius:40px;padding:72px 6%;text-align:center}.band h2{max-width:18ch;margin:0 auto 26px}.band .row{justify-content:center}
.case{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r);overflow:hidden;margin-bottom:18px}
.case>div{padding:46px}.case:nth-child(even)>div:first-child{order:2}
.case .big{font:800 clamp(3rem,7vw,5.5rem)/1 var(--d);color:var(--blue)}
.tag{display:inline-block;background:#fff;padding:6px 14px;border-radius:99px;font:600 .8rem var(--b);margin:0 6px 6px 0}
form{display:grid;gap:18px}label{font-weight:600;display:block;margin-bottom:6px}
input,select,textarea{width:100%;min-height:48px;padding:12px 16px;border:2px solid #CFC8BA;border-radius:16px;font:inherit;background:#fff;color:var(--ink)}
.card{background:#fff;border:2px solid var(--ink);border-radius:var(--r);padding:40px}
footer{background:var(--ink);color:#fff;padding:70px 0 30px;margin-top:60px;border-radius:40px 40px 0 0}
footer p,footer a{color:#D5DCEB}.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}footer h3{font-size:1rem;margin-bottom:14px;color:#fff}
footer li{list-style:none;margin-bottom:8px}footer ul{padding:0}footer .logo{background:#fff;padding:10px 16px;border-radius:16px;display:inline-block;margin-bottom:16px}footer .logo img{height:38px}
.copy{border-top:1px solid #34476d;margin-top:40px;padding-top:20px;font-size:.9rem}
.wa{position:fixed;right:18px;bottom:18px;z-index:60;background:#1B7A43;color:#fff;border-radius:99px;min-height:52px;padding:0 22px;display:flex;align-items:center;text-decoration:none;font-weight:600;box-shadow:0 6px 20px rgba(15,36,71,.25)}
.mq{overflow:hidden;background:var(--but);padding:18px 0;white-space:nowrap;font:700 1.6rem var(--d)}.mq div{display:inline-block}
.mq span{margin:0 26px}.mq span:after{content:"✦";margin-left:52px;color:var(--blue)}
@media(max-width:860px){
.hero .g,.split,.case,.fg{grid-template-columns:1fr}.case:nth-child(even)>div:first-child{order:0}
.t2,.t3,.t4{grid-column:span 6}section{padding:64px 0}
#menu{display:block;min-height:48px;padding:0 20px;border-radius:99px;border:2px solid var(--ink);background:#fff;font:600 1rem var(--b);cursor:pointer}
.nav ul{display:none;position:absolute;top:60px;left:0;right:0;background:var(--bg);flex-direction:column;padding:12px 4%;border-bottom:1px solid #E8E2D8}.nav ul.open{display:flex}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.hero.vh{padding:16px 0 40px}
.frame{position:relative;border-radius:32px;overflow:hidden;min-height:clamp(520px,calc(100vh - 100px),780px);background:#0F2447;color:#F4F1E4}
.frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,36,71,.35),rgba(15,36,71,.25) 40%,rgba(15,36,71,.82))}
.fc{position:absolute;left:0;right:0;bottom:0;padding:0 clamp(18px,4vw,48px) 14px;display:grid;grid-template-columns:repeat(12,1fr);gap:16px;align-items:end}
.mega{grid-column:span 8;font-size:clamp(3rem,11vw,10rem);line-height:.95;letter-spacing:-.06em;font-weight:600;color:#F4F1E4}
.wm{display:block;overflow:hidden;padding-bottom:.1em}.wd{display:inline-block}
.side{grid-column:span 4;padding-bottom:30px;display:grid;gap:20px;justify-items:start}.side p{color:#F4F1E4;font-size:1.05rem;line-height:1.4}
.btn.cream{background:#F4F1E4;color:var(--ink)}.btn.cream:hover{background:#fff}
@media(max-width:860px){.mega,.side{grid-column:span 12}.mega{font-size:clamp(3rem,17vw,6rem)}.frame{min-height:620px}}

.nav ul a.btn{display:inline-flex;padding:0 20px;min-height:42px;font-size:.9rem}

.cur{position:fixed;left:0;top:0;width:0;height:0;z-index:200;pointer-events:none;opacity:0;transition:opacity .2s}
.cur.on{opacity:1}.cur.txt{opacity:0!important}
.cur i{position:absolute;left:-7px;top:-7px;width:14px;height:14px;box-sizing:border-box;border-radius:50%;background:var(--blue);border:2px solid #fff;box-shadow:0 0 0 1px rgba(15,36,71,.35);transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s,border-color .25s}
.cur.big i{transform:scale(3);background:rgba(0,74,173,.22);border-color:rgba(0,74,173,.75)}
html.hascur,html.hascur *{cursor:none!important}
html.hascur input,html.hascur textarea{cursor:text!important}

/* floating glass island header */
header{position:fixed;top:14px;left:50%;transform:translateX(-50%);width:min(1120px,94%);z-index:50;border:0;border-radius:99px;
background:rgba(253,251,247,.62);-webkit-backdrop-filter:blur(22px) saturate(1.7);backdrop-filter:blur(22px) saturate(1.7);
box-shadow:0 10px 40px -10px rgba(150,130,255,.45),0 0 28px rgba(255,196,170,.3),inset 0 1px 0 rgba(255,255,255,.85)}
header::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;
background:linear-gradient(120deg,#D9CCFF,#FFD2BD,#BDF0D6,#BCDCFF,#D9CCFF);
-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
header .nav{width:100%;height:56px;margin:0;padding:0 10px 0 22px}
main{padding-top:88px}.hero:not(.vh){padding-top:40px}
.frame{min-height:clamp(520px,calc(100vh - 112px),780px)}
@media(max-width:860px){header{border-radius:32px}.nav ul{top:calc(100% + 10px);border-radius:28px;background:rgba(253,251,247,.96);border:1.5px solid #D9CCFF;box-shadow:0 14px 40px -12px rgba(150,130,255,.5);padding:12px}.frame{min-height:620px}}
@media(prefers-reduced-transparency:reduce){header{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}}

/* full-screen rounded hero */
.hero.vh{padding:10px 10px 40px;margin-top:-88px}
.hero.vh>.w:first-child{width:100%;margin:0}
.frame{height:calc(100vh - 20px);height:calc(100dvh - 20px);min-height:560px;border-radius:36px}
.side{padding-bottom:92px}
.mega{padding-bottom:6px}
@media(max-width:860px){.frame{min-height:640px;border-radius:28px}.fc{padding-bottom:92px}.side{padding-bottom:0}}

header{background:rgba(246,243,255,.78);-webkit-backdrop-filter:blur(24px) saturate(1.8);backdrop-filter:blur(24px) saturate(1.8)}
.wa{font-size:.95rem}
.btn.ghost{background:transparent;color:#F4F1E4;box-shadow:inset 0 0 0 2px rgba(244,241,228,.85)}.btn.ghost:hover{background:rgba(244,241,228,.18)}
.side .row{gap:12px}

/* premium layer */
::selection{background:var(--lav)}h1,h2,h3{text-wrap:balance}
.eyebrow{display:inline-block;padding:6px 14px;border-radius:99px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(0,74,173,.18);margin-bottom:18px}
.btn:hover{box-shadow:0 12px 30px -10px rgba(0,74,173,.6)}
.curtain{position:fixed;inset:0;z-index:300;pointer-events:none;visibility:hidden;background:linear-gradient(135deg,#E6DFFB,#FFE1D3 50%,#D3F2E3)}
.pt .curtain{visibility:visible;animation:cvf 0s 3s forwards}@keyframes cvf{to{visibility:hidden}}
.sp{position:fixed;top:0;left:0;width:100%;height:3px;z-index:250;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#B7A6F5,#FFB89A,#8FE0BA,#8FC2F5)}
.rv span{color:#65718D}
.cl{overflow:hidden;white-space:nowrap;padding:26px 0;font:700 clamp(1.6rem,3.4vw,2.6rem) var(--d);letter-spacing:-.02em;color:var(--ink)}.cl div{display:inline-block}
.cl span{margin:0 28px}.cl span:after{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--blue);margin-left:56px;vertical-align:middle}
.tile{position:relative;overflow:hidden}.tile>*{position:relative}
.tile::before{content:"";position:absolute;inset:0;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.75),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}.tile:hover::before{opacity:1}
.band{background:linear-gradient(120deg,#E6DFFB,#FFE1D3,#D3F2E3,#D6E8FB);background-size:300% 300%;animation:mesh 16s ease infinite}@keyframes mesh{50%{background-position:100% 50%}}
.fw{font:700 clamp(4rem,17vw,15rem)/.8 var(--d);letter-spacing:-.055em;color:#1B3668;margin-top:40px;text-align:center;overflow:hidden;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.rv span{color:var(--ink)!important}.band{animation:none}.curtain,.sp{display:none}}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bc{font-size:.9rem;margin-bottom:18px;color:var(--mut)}.bc a{color:var(--blue)}
details{border-top:2px solid var(--ink);padding:6px 0}details:last-child{border-bottom:2px solid var(--ink)}
summary{font:700 1.15rem var(--d);cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
summary::-webkit-details-marker{display:none}summary::after{content:"+";font-size:1.6rem;color:var(--blue)}details[open] summary::after{content:"\2212"}
details p{padding:0 0 18px;max-width:60ch}
.qm{font:800 5rem/.6 var(--d);color:var(--blue)}figure blockquote{font:600 1.15rem/1.4 var(--d)}figcaption{font-size:.95rem}figcaption .tag{display:block;width:max-content;margin-bottom:10px}
@media(min-width:861px){.fg{grid-template-columns:1.3fr .8fr 1.2fr 1.2fr}}
