
@font-face{font-family:H;src:url(../fonts/H.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}

@font-face{font-family:Inter;src:url(../fonts/Inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--onA:#04121f;--bg:#071426;--surf:#0d1f38;--ink:#eef5ff;--m:#93a7c2;--a:#22c3ee;--a2:#ff7a1a;--dk:#050e1b;--line:color-mix(in srgb,var(--ink) 12%,transparent);--r:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}img{max-width:100%;display:block}
.w{max-width:1200px;margin:0 auto;padding:0 22px}
h1,h2,.hf{font-family:H,Georgia,serif;font-weight:400;letter-spacing:-.03em;line-height:.95;margin:0;text-transform:uppercase;}
h1{font-size:clamp(2.9rem,8.6vw,5.6rem)}
h2{font-size:clamp(2.1rem,5.6vw,3.9rem)}
h3{font-size:1.18rem;margin:0 0 .35rem;font-weight:800;letter-spacing:-.01em}
h1 em,h2 em{font-style:normal;color:var(--a);background:linear-gradient(100deg,var(--a),var(--a2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ph{background:#ffe600;color:#111;-webkit-text-fill-color:#111;font:800 .78em/1.3 Inter,sans-serif;border-radius:4px;padding:1px 6px;box-shadow:0 0 0 2px #111 inset;letter-spacing:0;text-transform:none;white-space:nowrap;font-style:normal}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--a)}
.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}
.sub{color:var(--m);font-size:1.12rem;max-width:620px;margin:16px 0 0}
/* header */
.hd{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hd .w{display:flex;align-items:center;gap:22px;min-height:72px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:auto;line-height:1}
.logo .mk{width:42px;height:42px;border-radius:13px;background:linear-gradient(140deg,var(--a),var(--a2));display:grid;place-items:center;color:var(--onA);font:900 .95rem/1 H,Inter,sans-serif;letter-spacing:-.02em;box-shadow:0 8px 24px color-mix(in srgb,var(--a) 40%,transparent)}
.logo b{font-family:H,Inter,sans-serif;font-weight:400;font-size:1.22rem;letter-spacing:-.01em;text-transform:uppercase;;white-space:nowrap}
.logo b i{font-style:normal;color:var(--a)}
.logo small{display:block;font-size:.62rem;letter-spacing:.2em;color:var(--m);font-weight:700;margin-top:4px;text-transform:uppercase}
.nav{display:flex;gap:26px}.nav a{text-decoration:none;font-weight:650;font-size:.94rem;opacity:.85}.nav a:hover{opacity:1;color:var(--a)}
.b{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;text-decoration:none;border-radius:999px;padding:16px 26px;font-size:1rem;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap;font-family:inherit}
.b:hover{transform:translateY(-2px)}
.b.pri{background:linear-gradient(120deg,var(--a),var(--a2));color:var(--onA);box-shadow:0 14px 34px -8px color-mix(in srgb,var(--a) 70%,transparent)}
.b.gh{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ink) 25%,transparent)}
.b.xl{font-size:1.1rem;padding:19px 30px}
.hd .b{padding:11px 18px;font-size:.9rem}
/* hero full */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero.full{min-height:min(92vh,860px);display:flex;align-items:flex-end;padding:120px 0 70px;background:var(--dk)}
.hero.full .bgimg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;animation:kb 22s ease-out both}
.hero.full:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.25) 35%,color-mix(in srgb,var(--dk) 92%,transparent) 78%,var(--dk) 100%),linear-gradient(90deg,color-mix(in srgb,var(--dk) 85%,transparent),transparent 70%)}
.hero.full,.hero.full h1{color:#fff}
.hero .grid{display:grid;grid-template-columns:1.35fr .9fr;gap:48px;align-items:end;width:100%}
.hero .lede{font-size:clamp(1.08rem,2vw,1.3rem);max-width:640px;margin:22px 0 0;opacity:.9}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero.full .b.gh{color:#fff;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 2px rgba(255,255,255,.4)}
.offer{display:inline-flex;gap:10px;align-items:center;margin-top:26px;font-weight:700;font-size:.95rem;opacity:.92}
.offer .dot{width:9px;height:9px;border-radius:50%;background:var(--a2);box-shadow:0 0 0 6px color-mix(in srgb,var(--a2) 25%,transparent);animation:pulse 2s infinite}
.qcard{background:color-mix(in srgb,var(--surf) 72%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:26px;color:var(--ink);box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.qcard h3{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--m);margin-bottom:14px}
.qrow{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}
.qrow:first-of-type{border-top:0}
.qrow .i{color:var(--a);flex:none;margin-top:2px}.qrow b{display:block;font-size:1.02rem}.qrow span{color:var(--m);font-size:.92rem}
.qrow a{text-decoration:none}
/* hero split */
.hero.split{padding:56px 0 80px}
.hero.split .grid{align-items:center;grid-template-columns:1.1fr 1fr}
.frame{position:relative;aspect-ratio:4/5;max-height:640px;width:100%}
.frame .ph-img{position:absolute;inset:0;border-radius:200px 200px var(--r) var(--r);background-size:cover;background-position:center;box-shadow:0 40px 80px -30px color-mix(in srgb,var(--dk) 60%,transparent);animation:rise 1s .2s both}
.frame:before{content:"";position:absolute;inset:auto -26px -26px auto;width:62%;height:55%;border-radius:var(--r);background:linear-gradient(140deg,var(--a),var(--a2));opacity:.9;z-index:-1}
.frame .chip{position:absolute;left:-26px;bottom:42px;background:var(--surf);border-radius:18px;padding:16px 20px;box-shadow:0 20px 40px -14px rgba(0,0,0,.3);display:flex;gap:12px;align-items:center;font-weight:700;animation:rise 1s .6s both}
.frame .chip .i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--a) 14%,transparent);color:var(--a)}
.frame .chip small{display:block;color:var(--m);font-weight:600;font-size:.8rem}
.hero.split .info{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:30px;color:var(--m);font-weight:600;font-size:.95rem}
.hero.split .info span{display:inline-flex;gap:8px;align-items:center}.hero.split .info svg{color:var(--a)}.hero.split .info .ph{white-space:normal}
.anim>*{animation:rise .9s both}.anim>*:nth-child(2){animation-delay:.08s}.anim>*:nth-child(3){animation-delay:.16s}.anim>*:nth-child(4){animation-delay:.24s}.anim>*:nth-child(5){animation-delay:.32s}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes pulse{50%{box-shadow:0 0 0 11px transparent}}
@keyframes mq{to{transform:translateX(-50%)}}
/* notice */
.notice{background:var(--a);color:var(--onA);font-weight:700;text-align:center;padding:11px 18px;font-size:.95rem}
/* marquee */
.mq{background:linear-gradient(90deg,var(--a),var(--a2));color:var(--onA);overflow:hidden;white-space:nowrap;padding:16px 0}
.mq .row{display:inline-flex;gap:46px;animation:mq 34s linear infinite;font-family:H,Inter,sans-serif;font-weight:400;font-size:1.35rem;text-transform:uppercase;;letter-spacing:-.01em}
.mq .row span:after{content:"✦";margin-left:46px;opacity:.6}
/* sections */
section{padding:110px 0}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:46px}
.sv{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{position:relative;background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:32px 28px 30px;transition:transform .3s,box-shadow .3s,border-color .3s;overflow:hidden}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px color-mix(in srgb,var(--a) 55%,transparent);border-color:color-mix(in srgb,var(--a) 50%,transparent)}
.card .ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--a) 14%,transparent);color:var(--a);margin-bottom:22px}
.card .n{position:absolute;right:22px;top:18px;font:900 2.6rem/1 H,Inter,sans-serif;color:color-mix(in srgb,var(--ink) 7%,transparent)}
.card p{margin:0;color:var(--m);font-size:.98rem}
.card.feat{background:linear-gradient(150deg,var(--a),var(--a2));color:var(--onA);border:0}
.card.feat p{color:inherit;opacity:.88}.card.feat .ic{background:rgba(255,255,255,.2);color:inherit}.card.feat .n{color:rgba(255,255,255,.2)}
/* band */
.band{position:relative;min-height:420px;display:flex;align-items:center;background-size:cover;background-position:center;color:#fff;isolation:isolate}
.band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--dk) 90%,transparent),color-mix(in srgb,var(--dk) 40%,transparent));z-index:-1}
.band h2{max-width:760px}
/* why */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surf)}
.why div{padding:30px 26px;border-left:1px solid var(--line)}.why div:first-child{border-left:0}
.why b{display:block;font-size:1.08rem;margin-bottom:6px}.why p{margin:0;color:var(--m);font-size:.95rem}
.why .k{font:900 .78rem/1 Inter;letter-spacing:.14em;color:var(--a);margin-bottom:14px;display:block}
/* quote */
.qt{max-width:900px;margin:0 auto;text-align:center}
.qt blockquote{margin:0;font-family:H,Georgia,serif;font-weight:400;font-size:clamp(1.5rem,3.4vw,2.3rem);line-height:1.25;letter-spacing:-.01em}
.qt blockquote:before{content:"\201C";display:block;font-size:5rem;line-height:.6;color:var(--a);margin-bottom:10px}
.qt cite{display:block;margin-top:22px;color:var(--m);font-style:normal;font-weight:700}
/* areas */
.ar{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0;list-style:none}
.chips li{padding:10px 16px;border-radius:999px;background:var(--surf);border:1px solid var(--line);font-weight:700;font-size:.95rem}
.map{position:relative;aspect-ratio:1/1;max-width:520px;width:100%;margin-left:auto;border-radius:32px;overflow:hidden;background:
 radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--a) 22%,transparent) 0 12%,transparent 12.3%),
 repeating-radial-gradient(circle at 50% 50%,transparent 0 58px,color-mix(in srgb,var(--a) 28%,transparent) 59px 60px),
 linear-gradient(color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px) 0 0/32px 32px,
 linear-gradient(90deg,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px) 0 0/32px 32px,var(--surf);border:1px solid var(--line)}
.map .pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);color:var(--a);filter:drop-shadow(0 8px 12px rgba(0,0,0,.3));animation:bob 2.6s ease-in-out infinite}
@keyframes bob{50%{transform:translate(-50%,-112%)}}
.map .base{position:absolute;left:50%;top:calc(50% + 14px);transform:translateX(-50%);background:var(--ink);color:var(--bg);font-weight:800;font-size:.85rem;padding:7px 12px;border-radius:999px;white-space:nowrap}
.map .t{position:absolute;transform:translate(-50%,-50%);font-weight:700;font-size:.8rem;color:var(--m);display:flex;align-items:center;gap:6px;white-space:nowrap}
.map .t:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--a2)}
.map .note{position:absolute;left:14px;bottom:12px;font-size:.72rem;color:var(--m);font-weight:600}
/* contact */
.ct{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.panel{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:34px}
.hrs{width:100%;border-collapse:collapse;margin-top:10px}.hrs td{padding:9px 0;border-bottom:1px dashed var(--line)}.hrs td:last-child{text-align:right;font-weight:700}
form .f{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-weight:700;font-size:.86rem;margin-bottom:6px}
input,select,textarea{width:100%;padding:15px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:1rem}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--a);box-shadow:0 0 0 4px color-mix(in srgb,var(--a) 20%,transparent)}
textarea{min-height:120px;resize:vertical}
.full{grid-column:1/-1}
.fnote{font-size:.82rem;color:var(--m);margin:12px 0 0}
/* mega cta */
.mega{background:linear-gradient(130deg,var(--a),var(--a2));color:var(--onA);padding:100px 0;position:relative;overflow:hidden}
.mega:before{content:"";position:absolute;width:640px;height:640px;border-radius:50%;right:-200px;top:-260px;background:rgba(255,255,255,.12)}
.mega h2{max-width:820px}
.mega .b.dk{background:var(--dk);color:#fff}.mega .b.lt{background:rgba(255,255,255,.18);color:inherit;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
/* footer */
.ft{background:var(--dk);color:#d9d9d9;padding:70px 0 120px;font-size:.95rem}
.ft .g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
.ft h4{color:#fff;margin:0 0 12px;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}
.ft ul{list-style:none;margin:0;padding:0}.ft li{margin:6px 0}.ft a{text-decoration:none}.ft a:hover{color:var(--a2)}
.ft .logo b{color:#fff}.ft .logo small{color:#999}
.concept{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#a0a0a0;font-size:.85rem}
.concept b{color:#fff}
/* sticky bar */
.bar{display:none;position:fixed;left:10px;right:10px;bottom:10px;z-index:80;gap:8px;padding:8px;border-radius:20px;background:color-mix(in srgb,var(--dk) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 20px 40px -10px rgba(0,0,0,.5)}
.bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;border-radius:14px;font-weight:800;text-decoration:none;font-size:1rem}
.bar .a1{background:linear-gradient(120deg,var(--a),var(--a2));color:var(--onA)}.bar .a2{background:rgba(255,255,255,.1);color:#fff}
.rv{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}
@media (max-width:980px){.nav{display:none}.hero .grid,.hero.split .grid,.ar,.ct{grid-template-columns:1fr}.sv{grid-template-columns:1fr 1fr}.why{grid-template-columns:1fr 1fr}.why div:nth-child(3){border-left:0}.why div:nth-child(n+3){border-top:1px solid var(--line)}.ft .g{grid-template-columns:1fr 1fr}.map{margin:0 auto}.band{background-attachment:scroll}}
@media (max-width:640px){body{font-size:16px}section{padding:76px 0}.hd .w{min-height:64px}.hd .hcall,.hd .b.pri{display:none}.logo{min-width:0}.logo b{white-space:normal;font-size:1.05rem;line-height:1.05}.hero.full{min-height:auto;padding:150px 0 50px}.hero.split{padding:30px 0 60px}.frame{aspect-ratio:1/1;margin-top:10px}.frame .chip{left:10px}.frame:before{inset:auto -10px -14px auto}.sv{grid-template-columns:1fr}.why{grid-template-columns:1fr}.why div{border-left:0!important;border-top:1px solid var(--line)}.why div:first-child{border-top:0}form .f{grid-template-columns:1fr}.ft .g{grid-template-columns:1fr}.bar{display:flex}.ctas .b{width:100%}.panel{padding:24px}.qcard{padding:20px}.mega{padding:76px 0}}
