:root{--ink:#0b1c4d;--mut:#4a5e90;--a:#2f6bff;--b:#7c4dff;--c:#ff6fae;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;background:#8ec9ff}
body{margin:0;color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;overflow-x:clip;-webkit-font-smoothing:antialiased;background:#8ec9ff}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:#5ba6ff;z-index:80}
a{color:inherit;text-decoration:none}
.grad{display:inline-block;padding:0 .1em .14em .04em;margin:0 -.1em -.14em -.04em;background:linear-gradient(100deg,#2f6bff,#7c4dff 55%,#ff6fae);-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{width:min(1180px,100% - 40px);margin:auto}
.sky{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#3f8dff 0%,#7fc0ff 40%,#cfe9ff 75%,#fff2e0 100%)}
.sky::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 45% at 80% 6%,rgba(255,246,205,1),rgba(255,226,150,.4) 38%,transparent 72%)}
.dusk{position:absolute;inset:0;background:linear-gradient(180deg,#8f7dff 0%,#ff9fcb 58%,#ffd9a0 100%);opacity:0;will-change:opacity}
.stage{position:absolute;inset:0;perspective:1000px}
.world{position:absolute;inset:0;transform-style:preserve-3d}
.cl{position:absolute;left:50%;top:50%;width:var(--w);height:calc(var(--w)*.6);margin:calc(var(--w)*-.3) 0 0 calc(var(--w)*-.5);background-size:100% 100%;opacity:0;will-change:transform,opacity}
.fore{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden}
header{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));left:0;right:0;z-index:70;display:flex;justify-content:center;pointer-events:none}
header>div{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 7px;border-radius:99px;width:min(700px,100% - 28px);background:rgba(255,255,255,.92);box-shadow:0 12px 40px -12px rgba(20,60,160,.4)}
.logo{display:flex;align-items:center}
.logo svg{width:40px;height:40px;display:block}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
nav{display:flex;gap:24px;align-items:center;font-size:14px;color:var(--mut);font-weight:500}
nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;padding:16px 32px;border-radius:99px;font-weight:600;font-size:15px;color:#fff;background:var(--ink);box-shadow:0 16px 36px -12px rgba(11,28,77,.7);transition:transform .2s ease-out,box-shadow .25s}
.btn:hover{box-shadow:0 22px 44px -12px rgba(11,28,77,.8)}
.btn.w{background:#fff;color:var(--ink);box-shadow:0 14px 34px -14px rgba(20,60,160,.5)}
nav .btn{padding:10px 20px;font-size:14px}
main{position:relative;z-index:2}
.hero{min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 0 90px}
.pill{display:inline-block;padding:8px 18px;border-radius:99px;font-size:13px;color:var(--mut);font-weight:600;margin-bottom:26px;background:rgba(255,255,255,.85)}
h1{font-size:clamp(50px,10vw,148px);line-height:.92;letter-spacing:-.055em;margin:0 0 28px;font-weight:800}
h1 small{display:block;font-size:.13em;letter-spacing:.6em;color:var(--ink);opacity:.6;margin-bottom:24px;padding-left:.6em}
h1 .w{display:inline-block;opacity:0;transform:translateY(60px) rotate(3deg);animation:up 1s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*.1s + .1s)}
@keyframes up{to{opacity:1;transform:none}}
.lead{font-size:clamp(17px,2vw,21px);color:var(--ink);opacity:.78;max-width:600px;margin:0 auto 34px;font-weight:500}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.mq{overflow:hidden;padding:26px 0;position:relative;z-index:2}
.mq div{display:flex;gap:44px;width:max-content;animation:mq 30s linear infinite;font-size:clamp(34px,6vw,84px);font-weight:800;letter-spacing:-.04em;color:#fff;white-space:nowrap}
.mq span::after{content:"/";margin-left:44px;opacity:.5}
@keyframes mq{to{transform:translateX(-50%)}}
.sec{padding:100px 0;position:relative}
h2.big{font-size:clamp(38px,6vw,84px);line-height:.98;letter-spacing:-.05em;margin:0 0 44px;font-weight:800}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;perspective:1400px}
.b{position:relative;border-radius:36px;padding:34px;background:rgba(255,255,255,.94);box-shadow:0 30px 70px -30px rgba(20,60,160,.5);overflow:hidden;transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));transition:transform .2s ease-out;display:flex;flex-direction:column;justify-content:flex-end;min-height:230px}
.b i{font-style:normal;font-size:14px;font-weight:700;letter-spacing:.2em;opacity:.55}
.b h3{font-size:clamp(26px,3vw,36px);letter-spacing:-.03em;line-height:1.05;margin:36px 0 8px}
.b p{margin:0;color:var(--mut);font-weight:500;max-width:420px}
.b1{grid-column:span 4;grid-row:span 2;min-height:480px;background:linear-gradient(140deg,#2f6bff,#7c4dff 62%,#ff6fae);color:#fff}
.b1 h3{font-size:clamp(44px,7vw,92px);letter-spacing:-.05em;line-height:.95}
.b1 p{color:rgba(255,255,255,.9);font-size:18px}
.b1::after{content:"";position:absolute;right:-90px;top:-90px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,rgba(255,255,255,.2) 30%,transparent 62%);opacity:.75}
.b2,.b3{grid-column:span 2}
.b3{background:linear-gradient(160deg,#fff,#e9dcff)}
.b4{grid-column:span 3}
.b4 strong{font-size:clamp(72px,10vw,130px);line-height:1;letter-spacing:-.06em;font-weight:800}
.b5{grid-column:span 3;background:var(--ink);color:#fff}
.b5 h3{font-size:clamp(34px,4.6vw,60px);margin-top:0}
.b5 p{color:#b9c6ee}
.contact{padding:90px 0 150px}
.box{padding:100px 24px;border-radius:56px;text-align:center;color:#fff;background:radial-gradient(60% 80% at 20% 0,rgba(124,77,255,.6),transparent),radial-gradient(60% 80% at 90% 100%,rgba(47,107,255,.6),transparent),var(--ink);box-shadow:0 50px 100px -40px rgba(11,28,77,.9)}
.box h2{font-size:clamp(40px,7.4vw,108px);letter-spacing:-.055em;line-height:.95;margin:0 0 22px;font-weight:800}
.box .grad{background:linear-gradient(100deg,#8fb4ff,#c4a6ff 55%,#ffa6cf);-webkit-background-clip:text;background-clip:text}
.box p{color:#bcc9f2;max-width:520px;margin:0 auto 8px;font-weight:500}
.mail{display:inline-block;font-size:clamp(22px,4.8vw,56px);font-weight:700;margin-top:24px;word-break:break-all;border-bottom:3px solid var(--c)}
footer{position:relative;z-index:2;padding:30px 0 calc(30px + env(safe-area-inset-bottom,0px));color:var(--ink);font-size:14px;font-weight:500;background:linear-gradient(transparent,rgba(255,255,255,.6))}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer nav{gap:20px;color:var(--ink)}
.js .rv{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s}
.js .rv.in{opacity:1;transform:none}

@media(max-width:860px){
    nav a:not(.btn){display:none}
    .bento{grid-template-columns:1fr}
    .b1,.b2,.b3,.b4,.b5{grid-column:auto;grid-row:auto}
    .b1{min-height:360px}
    .sec{padding:70px 0}
    footer nav a{display:inline!important}
}

@media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
    h1 .w,.js .rv{opacity:1;transform:none}
    html{scroll-behavior:auto}
}