
:root{--wine:#2166AC;--gold:#E8B04A;--bg:#F3F8FE;--ink:#0C1A2E;--glass:rgba(255,255,255,.62);--line:rgba(33,102,172,.16);--mut:#47607e;--goldt:#9a6a14;
--serif:'Fraunces',Georgia,serif;--sans:'Inter',system-ui,sans-serif;--h1:clamp(2.6rem,7vw + .5rem,7rem);--h2:clamp(1.9rem,3.5vw + .5rem,4rem);--p:clamp(1rem,.4vw + .9rem,1.3rem)}
:root:not([data-theme=light]){}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#06111F;--ink:#EAF2FC;--glass:rgba(16,36,64,.55);--line:rgba(140,190,240,.2);--mut:#9fb6d2;--goldt:#F0C063}}
:root[data-theme=dark]{--bg:#06111F;--ink:#EAF2FC;--glass:rgba(16,36,64,.55);--line:rgba(140,190,240,.2);--mut:#9fb6d2;--goldt:#F0C063}
*{box-sizing:border-box;margin:0}html{scroll-behavior:auto}
body{background:radial-gradient(60vw 40vw at 90% 8%,rgba(56,160,248,.14),transparent 60%),radial-gradient(50vw 40vw at 0 55%,rgba(232,176,74,.10),transparent 60%),var(--bg);color:var(--ink);font:var(--p)/1.65 var(--sans);overflow-x:hidden;padding-top:env(safe-area-inset-top,0)}
body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.07;z-index:99;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.02em}
h1{font-size:var(--h1)}h2{font-size:var(--h2)}
a{color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-radius:6px}
.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}@media(min-width:2400px){.wrap{width:min(1900px,100% - 6rem)}:root{--p:1.7rem}}
.eyebrow{font:600 .78em/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--goldt)}
section{padding:clamp(4rem,10vw,9rem) 0;position:relative}
/* nav */
header{position:fixed;inset:0 0 auto;z-index:50;padding-top:env(safe-area-inset-top,0);transition:.4s}
header.s{background:var(--glass);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font:600 1.15rem var(--serif);text-decoration:none;display:flex;gap:.6rem;align-items:center}.logo i{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--wine),var(--gold));display:grid;place-items:center;color:#fff;font-style:normal;font-size:.9rem}
.links{display:none;gap:1.6rem;align-items:center;font-size:.92rem}
.links a.l{text-decoration:none;position:relative;padding:.3rem 0}.links a.l:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s}
.links a.l:hover:after,.links a.l:focus-visible:after{transform:scaleX(1);transform-origin:left}
.mm{position:relative}.mega{position:absolute;top:100%;left:-120px;width:520px;padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:.2rem;background:var(--glass);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:18px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s}
.mm:hover .mega,.mm:focus-within .mega{opacity:1;visibility:visible;transform:none}.mega a{padding:.6rem .8rem;border-radius:10px;text-decoration:none;font-size:.9rem}.mega a:hover{background:rgba(56,160,248,.16)}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.5rem;border-radius:99px;background:linear-gradient(135deg,#3b8de0,#1b5599);color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;border:0;cursor:pointer;box-shadow:0 10px 30px -10px var(--wine);transition:box-shadow .3s;will-change:transform}
.btn:hover{box-shadow:0 14px 40px -8px var(--wine)}.btn.g{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none;backdrop-filter:blur(8px)}
.tg{background:none;border:1px solid var(--line);color:var(--ink);width:40px;height:40px;border-radius:50%;cursor:pointer}
.burger{background:none;border:0;color:var(--ink);width:44px;height:44px;font-size:1.5rem;cursor:pointer}
@media(min-width:1000px){.links{display:flex}.burger,.bar{display:none!important}}
.ov{position:fixed;inset:0;z-index:60;background:var(--wine);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:2rem;clip-path:circle(0% at 100% 0);transition:clip-path .7s cubic-bezier(.7,0,.2,1);visibility:hidden}
.ov.o{clip-path:circle(150% at 100% 0);visibility:visible}.ov a{font:clamp(1.8rem,8vw,3rem) var(--serif);text-decoration:none;padding:.25rem 0;opacity:0;transform:translateX(-40px);transition:.5s}
.ov.o a{opacity:1;transform:none;transition-delay:calc(.25s + var(--i)*.05s)}.ov .x{position:absolute;top:1rem;right:1rem;color:#fff;font-size:2rem;background:none;border:0;cursor:pointer}
.bar{position:fixed;z-index:55;left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom,0));display:grid;grid-template-columns:repeat(4,1fr);padding:.4rem;border-radius:22px;background:var(--glass);backdrop-filter:blur(20px);border:1px solid var(--line)}
.bar a{text-align:center;text-decoration:none;font-size:.75rem;font-weight:600;padding:.6rem 0;border-radius:16px}.bar a:first-child{background:var(--wine);color:#fff}
/* hero */
.hero{min-height:100svh;display:grid;align-items:center;overflow:hidden;padding-top:110px;background:#051a36;color:#fff}
.aur{position:absolute;inset:-20%;filter:blur(70px);opacity:.85}.aur b{position:absolute;border-radius:50%;animation:dr 18s ease-in-out infinite alternate}
.aur b:nth-child(1){width:55vw;height:55vw;background:#2166AC;left:5%;top:0}.aur b:nth-child(2){width:40vw;height:40vw;background:#38BDF8;right:5%;top:20%;animation-duration:24s;opacity:.7}.aur b:nth-child(3){width:35vw;height:35vw;background:#E8B04A;opacity:.35;left:35%;bottom:-10%;animation-duration:30s}
@keyframes dr{to{transform:translate(8vw,-6vh) scale(1.2)}}
.rays{position:absolute;top:-10%;left:50%;width:140vmax;height:140vmax;transform:translateX(-50%);background:repeating-conic-gradient(from 0deg at 50% 0,rgba(255,226,160,.09) 0 3deg,transparent 3deg 12deg);-webkit-mask:radial-gradient(circle at 50% 0,#000,transparent 55%);mask:radial-gradient(circle at 50% 0,#000,transparent 55%);animation:sp 120s linear infinite}
@keyframes sp{to{transform:translateX(-50%) rotate(8deg)}}
.hero .wrap{position:relative;z-index:2}.hero p.sub{max-width:44ch;margin:1.5rem 0 2rem;color:#d9e8fa}.hero em{font-style:italic;background:linear-gradient(90deg,#FFD98A,#7fd0ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hl{width:84px;height:84px;border-radius:22px;box-shadow:0 0 0 1px rgba(255,255,255,.3),0 20px 60px -10px #38BDF8;margin-bottom:1.5rem;display:block}
.ctas{display:flex;gap:.8rem;flex-wrap:wrap}.hero .btn.g{color:#fff;border-color:rgba(255,255,255,.3)}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em}.split .w>span{display:inline-block}
.cross{position:absolute;right:8%;top:22%;width:clamp(120px,22vw,340px);opacity:.5;z-index:1}
/* service */
.svc{display:grid;gap:1rem;margin-top:-4rem;position:relative;z-index:3}@media(min-width:800px){.svc{grid-template-columns:repeat(4,1fr)}}
.card{padding:1.6rem;border-radius:24px;background:var(--glass);backdrop-filter:blur(16px);border:1px solid var(--line);position:relative;overflow:hidden}
.card:before{content:"";position:absolute;inset:0;background:radial-gradient(300px circle at var(--mx,50%) var(--my,0),rgba(56,160,248,.28),transparent 60%);opacity:0;transition:.3s}.card:hover:before{opacity:1}
.card>*{position:relative}.g3 .card{border-top:4px solid #2166AC}.g3 .card:nth-child(2){border-top-color:#E8B04A}.g3 .card:nth-child(3){border-top-color:#38BDF8}.svc .card:first-child{background:linear-gradient(140deg,#2166AC,#0c3a72);color:#fff}.svc .card:first-child small{color:#cfe3fa}.svc .card:first-child .eyebrow{color:#FFD98A}h2{background:linear-gradient(100deg,var(--ink) 40%,var(--wine));-webkit-background-clip:text;background-clip:text;color:transparent}.story h2,.fin h2{background:none;color:inherit}.card h3{font-size:1.5rem;margin:.4rem 0}.card small{color:var(--mut)}
.cd{display:flex;gap:.7rem;font:2rem var(--serif)}.cd span{text-align:center}.cd small{display:block;font:.65rem var(--sans);letter-spacing:.12em;text-transform:uppercase}
.ph{aspect-ratio:4/5;border-radius:28px;border:2px dashed var(--gold);display:grid;place-items:center;text-align:center;color:var(--goldt);padding:1rem;background:repeating-linear-gradient(45deg,transparent 0 14px,rgba(168,123,45,.06) 14px 28px);font-size:.9rem}
.g3{display:grid;gap:1rem;margin-top:2.5rem}@media(min-width:800px){.g3{grid-template-columns:repeat(3,1fr)}}
.two{display:grid;gap:3rem;align-items:center}@media(min-width:900px){.two{grid-template-columns:1.1fr .9fr}}
.scr{text-align:center;background:linear-gradient(160deg,#2a7bd1,#0a2a52);color:#F7F3EC;border-radius:36px;padding:clamp(3rem,8vw,7rem) 1.5rem}.scr p{font:italic clamp(1.5rem,3.5vw,3rem)/1.25 var(--serif);max-width:24ch;margin:1rem auto}
/* story */
.story{background:linear-gradient(#051a36,#040e1c 60%,#061b38);color:#fff;padding-bottom:0}.story .eyebrow{color:#E4B65C}
.sh{min-height:90svh;display:grid;align-content:center;text-align:center}.sh h2{font-size:clamp(2.4rem,7vw,6.5rem)}
.cnt{display:flex;justify-content:center;gap:clamp(1.5rem,6vw,5rem);margin-top:3rem;flex-wrap:wrap}.cnt b{display:block;font:clamp(2.4rem,6vw,5rem) var(--serif);color:#E4B65C}.cnt small{letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;color:#b3cbe6}
.sg{display:grid;gap:2rem}@media(min-width:900px){.sg{grid-template-columns:.8fr 1.2fr}}
.map{position:sticky;top:80px;height:calc(100svh - 100px);align-self:start}@media(max-width:899px){.map{height:140px;z-index:5;background:#051a36ee;border-radius:16px;top:76px}}
.map svg{width:100%;height:100%}.map .pt{fill:#27456b;transition:.4s}.map .pt.a{fill:#E4B65C}
.ch{min-height:80svh;display:grid;align-content:center;padding:2rem 0;position:relative}.ch .yr{font:clamp(4rem,12vw,10rem)/.9 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(127,208,255,.5)}
.ch h3{font-size:clamp(1.8rem,3.5vw,3.2rem);margin:.5rem 0 1rem}.ch p{max-width:46ch;color:#d6e6fa}
.pq{padding:clamp(5rem,12vw,10rem) 0;text-align:center}.pq blockquote{font:italic clamp(2rem,5.5vw,5.5rem)/1.1 var(--serif);max-width:18ch;margin:auto;background:linear-gradient(90deg,#7fd0ff,#fff,#FFD98A);-webkit-background-clip:text;background-clip:text;color:transparent}
.pq cite{display:block;margin-top:1.5rem;font:.9rem var(--sans);color:#b3cbe6}
.fin{padding:clamp(4rem,10vw,8rem) 0;text-align:center;background:radial-gradient(circle at 50% 100%,rgba(56,160,248,.35),transparent 60%)}.fin h2{max-width:16ch;margin:0 auto 2rem}
footer{padding:3rem 0 7rem;color:var(--mut);font-size:.9rem;text-align:center}
.rv{opacity:0;transform:translateY(40px)}
.toast{position:fixed;left:50%;bottom:6rem;transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:.8rem 1.2rem;border-radius:99px;opacity:0;transition:.3s;z-index:90;pointer-events:none;font-size:.9rem}.toast.o{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01s!important}.rv{opacity:1;transform:none}}
section[id]{scroll-margin-top:70px}.g2{display:grid;gap:1rem;margin-top:2rem}@media(min-width:800px){.g2{grid-template-columns:1fr 1fr}}.tx p{color:var(--mut);margin-top:1rem}.card p,.card li{color:var(--mut)}.card ul{padding-left:1.1rem}.card small.r{color:var(--goldt);font-weight:600}
form{display:grid;gap:1rem}label{display:grid;gap:.35rem;font-weight:500;font-size:.95rem}label small{color:var(--mut);font-weight:400}input,textarea{font:inherit;color:var(--ink);background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:.85rem 1rem;width:100%}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#d33}.er{color:#d33;font-size:.85rem;font-style:normal;min-height:1em}.ck{display:flex;gap:.6rem;align-items:center}.ck input{width:auto}
.ok{padding:1.4rem;border-radius:20px;background:linear-gradient(140deg,#2166AC,#0c3a72);color:#fff}.mp{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1rem 1.2rem;border-radius:18px;border:1px dashed var(--gold);margin-top:1rem}.mp b{font:1.6rem var(--serif)}.vid{aspect-ratio:16/9;border-radius:28px;border:2px dashed var(--gold);display:grid;place-items:center;text-align:center;color:var(--goldt);margin-top:2rem;padding:1rem}.safe{font-size:.85rem;color:var(--mut);margin-top:1.2rem}.dl{display:grid;gap:.2rem}.dl b{display:block;margin-top:.8rem}.hl2{background:linear-gradient(140deg,#2166AC,#0c3a72);color:#fff}.hl2 p{color:#d6e6fa}@media(min-width:2400px){:root{--p:1.75rem;--h1:9.5rem;--h2:5.5rem}.wrap{width:min(2800px,100% - 8rem)}nav{height:110px}.links{font-size:1.25rem;gap:2.4rem}.logo{font-size:1.7rem}.btn{padding:1.3rem 2.4rem;font-size:1.35rem}.card{padding:2.4rem;border-radius:36px}section{padding:12rem 0}.eyebrow{font-size:.9em}.tg{width:64px;height:64px}}
@media(min-width:3200px){:root{--p:2.2rem;--h1:13rem;--h2:7rem}.wrap{width:min(3300px,100% - 12rem)}}
@media(min-width:2400px),(pointer:coarse) and (hover:none){:focus-visible{outline-width:6px;outline-offset:8px;box-shadow:0 0 0 12px rgba(232,176,74,.25)}}
a,button{-webkit-tap-highlight-color:transparent}.btn,.bar a,.links a.l{min-height:44px}
body{animation:pin .7s ease both}@keyframes pin{from{opacity:0}}body.out{opacity:0;transition:opacity .28s}
.rv{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.split .w>span{transform:translateY(110%);transition:transform 1.1s cubic-bezier(.2,.7,.2,1) var(--d,0s)}.split.in .w>span{transform:none}
.links a[aria-current]:after{transform:scaleX(1)}.ov a[aria-current]{color:#FFD98A}
.pgh{position:relative;overflow:hidden;padding:150px 0 100px;background:#051a36;color:#fff}.pgh .wrap{position:relative;z-index:2}.pgh h1{font-size:clamp(2.6rem,7vw,7rem)}.pgh .sub{max-width:46ch;color:#d9e8fa;margin-top:1rem;font-size:1.25em;font-family:var(--serif);font-style:italic}.pgh .eyebrow{color:#FFD98A;display:block;margin-bottom:1rem}.pgh:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(transparent,var(--bg))}
.mq{overflow:hidden;white-space:nowrap;padding:1.4rem 0;margin-top:3rem;border-block:1px solid var(--line)}.mq div{display:inline-block;animation:mq 40s linear infinite;font:clamp(1.6rem,4vw,3.4rem) var(--serif);color:var(--wine)}.mq i{color:var(--gold);font-style:normal;margin:0 1.2rem}@keyframes mq{to{transform:translateX(-50%)}}
.bio p{margin-top:1.1rem;color:var(--mut)}.bio p:first-child{margin-top:0;font:1.5em/1.35 var(--serif);color:var(--ink)}