
:root{--bg:#070b1a;--s:#0e1530;--t:#eef2ff;--m:#9aa6c9;--l:rgba(150,170,255,.18);--b:#3b82f6;--v:#8b5cf6;--c:#22d3ee;--g:linear-gradient(115deg,#3b82f6,#8b5cf6 60%,#22d3ee);--f:'Sora',Inter,system-ui,sans-serif;color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#f3f5ff;--s:#fff;--t:#0a1124;--m:#475079;--l:rgba(40,60,140,.16);color-scheme:light}}
:root[data-theme="light"]{--bg:#f3f5ff;--s:#fff;--t:#0a1124;--m:#475079;--l:rgba(40,60,140,.16);color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(78px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--bg);color:var(--t);font:16px/1.65 var(--f);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:60}
a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--c);outline-offset:3px}
.w{max-width:1180px;margin:0 auto;padding:0 20px}section{padding:96px 0;position:relative}
h1,h2,h3{margin:0 0 14px;line-height:1.1;letter-spacing:-.02em}
h1{font-size:clamp(2.5rem,7vw,5rem);font-weight:800}h2{font-size:clamp(1.9rem,4.5vw,3.2rem);font-weight:700}h3{font-size:1.2rem}
p{margin:0 0 14px;color:var(--m)}
.ey{color:var(--c);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:12px;display:block}
.gt{background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:999px;font:700 .92rem var(--f);border:1px solid var(--l);background:transparent;color:var(--t);cursor:pointer;transition:transform .3s,box-shadow .3s}
.btn:hover{transform:translateY(-3px)}.btn.p{background:var(--g);border:0;color:#fff;box-shadow:0 14px 34px -12px var(--v)}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--l)}
nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{font-weight:800;font-size:1.1rem}.logo b{background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.links{display:flex;gap:4px;align-items:center}.links a{padding:8px 13px;border-radius:999px;color:var(--m);font-size:.9rem}
.links a:hover,.links a.on{color:var(--t);background:var(--l)}.links .btn{padding:10px 20px;color:#fff;margin-left:6px}
#tm{width:42px;height:42px;border-radius:50%;border:1px solid var(--l);background:var(--s);color:var(--t);cursor:pointer;display:grid;place-items:center;margin-left:10px;padding:0}#tm svg{width:20px;height:20px;transition:transform .5s}#tm:hover svg{transform:rotate(25deg)}
:root[data-theme="dark"] #tm .mn,:root[data-theme="light"] #tm .sn{display:none}:root:not([data-theme]) #tm .mn{display:none}
:root[data-theme="light"]{--c:#0e7490}body{transition:background-color .4s,color .4s}
#mb{display:none;background:none;border:1px solid var(--l);color:var(--t);border-radius:10px;padding:8px 13px;font-size:1.1rem}
@media(max-width:900px){#mb{display:block}#tm{margin:0 8px 0 auto}.links{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--bg);padding:14px 20px;border-bottom:1px solid var(--l)}.links.open{display:flex}.links .btn{margin:6px 0 0;justify-content:center}}
#hero{min-height:calc(100svh - 70px);display:flex;align-items:center;padding:60px 0 90px;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:dr 14s ease-in-out infinite alternate}
.b1{width:420px;height:420px;background:var(--v);top:-120px;right:-80px}.b2{width:360px;height:360px;background:var(--b);bottom:-120px;left:-100px;animation-delay:-6s}
@keyframes dr{to{transform:translate(40px,50px) scale(1.15)}}
#hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--l) 1px,transparent 1px),linear-gradient(90deg,var(--l) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent)}
.hg{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
@media(max-width:900px){.hg{grid-template-columns:1fr}}
.loc{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--l);border-radius:999px;padding:7px 15px;font-size:.8rem;color:var(--m);margin-bottom:22px}
.loc i{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 #34d399;animation:pl 2s infinite}@keyframes pl{70%{box-shadow:0 0 0 9px transparent}}
.wd{display:inline-block;opacity:0;transform:translateY(40px);animation:up .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*.09s + .15s)}@keyframes up{to{opacity:1;transform:none}}
.rot{display:block;min-height:1.7em;font-weight:700;color:var(--t);font-size:clamp(1.05rem,2.4vw,1.35rem);margin:6px 0 16px}.rot span{color:var(--c);transition:opacity .35s}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.stage{position:relative;max-width:400px;width:100%;margin:0 auto}
.pf{position:relative;aspect-ratio:4/5;margin:0;border-radius:32px;background:var(--s);display:grid;place-items:center;text-align:center;color:var(--m);font-size:.9rem;overflow:hidden}
.pf img{width:100%;height:100%;object-fit:cover;display:block}
.ring{position:absolute;inset:-3px;border-radius:35px;background:conic-gradient(from 0deg,var(--b),var(--v),var(--c),var(--b));animation:sp 6s linear infinite;z-index:-1;filter:blur(1px)}@keyframes sp{to{transform:rotate(360deg)}}
.stage .in{position:relative;z-index:0;border-radius:32px;isolation:isolate}
.fc{position:absolute;background:color-mix(in srgb,var(--s) 88%,transparent);backdrop-filter:blur(10px);border:1px solid var(--l);border-radius:16px;padding:12px 14px;font-size:.75rem;color:var(--m);box-shadow:0 20px 40px -20px #000;animation:fl 6s ease-in-out infinite}
.fc b{color:var(--t);display:block;font-size:.82rem}.f1{left:-9%;bottom:12%;width:176px}.f2{right:-7%;top:8%;animation-delay:-2s}.f3{right:-5%;bottom:34%;animation-delay:-4s}
@keyframes fl{50%{transform:translateY(-10px)}}
.ch path.ln{stroke-dasharray:420;stroke-dashoffset:420;animation:dw 3.2s ease-out .8s infinite alternate}@keyframes dw{to{stroke-dashoffset:0}}
.mq{border-block:1px solid var(--l);overflow:hidden;background:var(--s)}.mq div{display:flex;gap:44px;white-space:nowrap;padding:18px 0;width:max-content;animation:mq 30s linear infinite;font-weight:700;color:var(--m);font-size:1.05rem}.mq div span:nth-child(even){color:var(--c)}
@keyframes mq{to{transform:translateX(-50%)}}
#glow{position:fixed;width:360px;height:360px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(59,130,246,.2),transparent 65%);transform:translate(-50%,-50%);z-index:0;display:none}@media(pointer:fine){#glow{display:block}}
.bento{display:grid;gap:16px;grid-template-columns:repeat(6,1fr);margin-top:36px}
.bc{grid-column:span 2;background:var(--s);border:1px solid var(--l);border-radius:24px;padding:26px;position:relative;overflow:hidden;transition:transform .35s,border-color .35s}
.bc.x{grid-column:span 3}.bc::before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--x,50%) var(--y,0),rgba(139,92,246,.25),transparent 70%);opacity:0;transition:opacity .3s}.bc:hover::before{opacity:1}.bc:hover{transform:translateY(-6px);border-color:var(--v)}
.bc>*{position:relative}.n{font-size:.8rem;color:var(--c);font-weight:700;letter-spacing:.1em}
.tg{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.tg li{font-size:.72rem;border:1px solid var(--l);border-radius:999px;padding:3px 11px;color:var(--m)}
.lk{color:var(--c);font-weight:700;font-size:.88rem;background:none;border:0;padding:0;cursor:pointer;font-family:var(--f)}
@media(max-width:900px){.bc,.bc.x{grid-column:span 6}}
.wk{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:34px}
.mock{height:150px;border-radius:14px;border:1px solid var(--l);background:linear-gradient(135deg,rgba(59,130,246,.4),rgba(139,92,246,.4));position:relative;overflow:hidden;margin-bottom:14px}
.mock::before{content:"";position:absolute;top:10px;left:12px;width:8px;height:8px;border-radius:50%;background:#fff;opacity:.7;box-shadow:14px 0 #fff,28px 0 #fff}.mock::after{content:"";position:absolute;inset:34px 14px 14px;border-radius:8px;background:rgba(255,255,255,.14)}
.sm{font-size:.68rem;color:var(--c);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.pr{margin-top:34px;display:grid;gap:18px}
.st{position:sticky;top:calc(96px + var(--k)*18px);background:var(--s);border:1px solid var(--l);border-radius:24px;padding:30px;display:grid;grid-template-columns:90px 1fr;gap:16px;align-items:center}
.st b{font-size:3.2rem;line-height:1;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}.st p{margin:0}
.ab{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}@media(max-width:900px){.ab{grid-template-columns:1fr}}
blockquote{margin:18px 0;padding:16px 20px;border-left:3px solid var(--c);background:var(--s);border-radius:0 14px 14px 0;color:var(--t)}
.dash{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-top:30px}
.dt{border:1.5px dashed var(--l);border-radius:20px;padding:20px}.dt b{display:block;font-size:2rem;color:var(--m)}.dt small{color:var(--c)}
.ac{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 0 18px;margin-top:30px;-webkit-overflow-scrolling:touch}
.ac article{flex:0 0 min(300px,82%);scroll-snap-align:start;background:var(--s);border:1px solid var(--l);border-radius:22px;padding:24px}
.lv{font-size:.72rem;color:var(--c);font-weight:700}
.sl .q{display:none;background:var(--s);border:1px solid var(--l);padding:28px;border-radius:22px;max-width:720px;margin-top:26px}.sl .q.on{display:block}
details{border-bottom:1px solid var(--l);padding:16px 0}summary{cursor:pointer;font-weight:700;list-style:none}summary::after{content:"+";float:right;color:var(--c)}details[open] summary::after{content:"x"}details p{margin:10px 0 0}
form{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-top:26px}form .f{grid-column:1/-1}@media(max-width:640px){form{grid-template-columns:1fr}}
label{font-size:.82rem;color:var(--m);display:grid;gap:6px}
input,select,textarea{width:100%;padding:13px 15px;border-radius:14px;border:1px solid var(--l);background:var(--s);color:var(--t);font:inherit}
#msg{grid-column:1/-1;color:var(--c);min-height:1.4em;margin:0}
footer{border-top:1px solid var(--l);padding:50px 0 32px}.fg{display:grid;gap:30px;grid-template-columns:1.4fr 1fr 1fr 1fr}@media(max-width:900px){.fg{grid-template-columns:1fr 1fr}}
footer h3{font-size:.9rem}footer ul{padding:0;margin:0;color:var(--m);font-size:.9rem}footer li{list-style:none;margin:6px 0}
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.rv.in{opacity:1;transform:none}
#top{position:fixed;right:18px;bottom:calc(86px + env(safe-area-inset-bottom,0px));width:44px;height:44px;border-radius:50%;border:0;color:#fff;background:var(--g);cursor:pointer;display:none;z-index:40}
#wf{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));padding:13px 20px;border-radius:999px;color:#fff;background:#16a34a;font:700 .88rem var(--f);z-index:40;box-shadow:0 12px 30px -10px #000}
dialog{max-width:600px;width:calc(100% - 32px);background:var(--s);color:var(--t);border:1px solid var(--l);border-radius:22px;padding:28px}dialog::backdrop{background:rgba(0,0,0,.65)}
#pt{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.7}
.stage{transition:transform .2s ease-out;transform-style:preserve-3d}
.eng{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border:1px solid var(--l);border-radius:16px;background:var(--s);margin-top:22px;width:max-content;max-width:100%}
.eng button,.fb button{border:0;background:none;color:var(--m);padding:8px 14px;border-radius:11px;cursor:pointer;font:600 .8rem var(--f)}
.eng button.on,.fb button.on{background:var(--g);color:#fff}
.fb{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.fb button{border:1px solid var(--l)}
.hud{margin-top:-26px;position:relative;z-index:3;background:color-mix(in srgb,var(--s) 90%,transparent);backdrop-filter:blur(12px);border:1px solid var(--l);border-radius:18px;padding:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:.72rem;color:var(--m)}
.hud b{display:block;color:var(--t);font-size:.84rem}.hud small{grid-column:1/-1;color:var(--c);font-weight:700;font-size:.75rem}
.cmp{margin-top:34px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.cmp>div{border:1px solid var(--l);border-radius:20px;padding:20px;background:var(--s);transition:opacity .2s,transform .2s}.cmp ul{margin:10px 0 0;padding-left:18px;color:var(--m);font-size:.9rem}
input[type=range]{accent-color:var(--b);padding:0}
.calc{margin-top:16px;display:grid;gap:24px;grid-template-columns:1.2fr .8fr;border:1px solid var(--l);border-radius:24px;padding:26px;background:var(--s)}
.out{text-align:center;border:1px solid var(--l);border-radius:18px;padding:20px}.out b{display:block;font-size:2.8rem;line-height:1.1}
#ask{position:fixed;left:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;padding:13px 20px;border-radius:999px;border:0;color:#fff;background:var(--g);font:700 .88rem var(--f);cursor:pointer;box-shadow:0 12px 30px -10px #000}
#ap{position:fixed;left:18px;bottom:calc(76px + env(safe-area-inset-bottom,0px));width:min(320px,calc(100vw - 36px));z-index:45;background:var(--s);border:1px solid var(--l);border-radius:20px;padding:16px;display:none;font-size:.88rem}#ap.open{display:block}
#ap .q2{display:block;width:100%;text-align:left;margin:6px 0;padding:9px 12px;border-radius:10px;border:1px solid var(--l);background:none;color:var(--t);cursor:pointer;font:inherit}
.au{outline:2px dashed #f59e0b;outline-offset:4px}
@media(max-width:800px){.calc{grid-template-columns:1fr}}@media(max-width:640px){.cmp{grid-template-columns:1fr}}
@media(max-width:640px){section{padding:68px 0}.st{grid-template-columns:1fr;position:static}.f1{left:0}.f2{right:0}.f3{right:0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.wd,.rv{opacity:1;transform:none}.ch path.ln{stroke-dashoffset:0}}

.pf img{position:absolute;inset:0}
.shot{display:block;max-width:760px;width:100%;margin:30px auto 0;border-radius:20px;border:1px solid var(--l);background:var(--s)}
.shot img{width:100%;height:auto;display:block;border-radius:20px}
.ptab-wrap{overflow-x:auto;margin-top:26px}
.ptab{width:100%;border-collapse:collapse;min-width:420px;background:var(--s)}
.ptab th,.ptab td{border:1px solid var(--l);padding:12px 16px;text-align:left;font-size:.92rem}
.ptab th{background:var(--l);color:var(--t)}
.ptab td{color:var(--m)}
.soc{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.soc a{border:1px solid var(--l);border-radius:999px;padding:5px 14px;font-size:.82rem;color:var(--m)}.soc a:hover{color:var(--t);border-color:var(--c)}
.entry{padding:60px 0 90px;max-width:820px}.entry h1{font-size:clamp(2rem,5vw,3rem)}.entry p,.entry li{color:var(--m)}.entry a{color:var(--c)}.entry img{max-width:100%;height:auto;border-radius:14px}
.entry table{border-collapse:collapse;width:100%}.entry th,.entry td{border:1px solid var(--l);padding:10px 14px}.entry th{background:var(--l)}
.screen-reader-text{position:absolute;left:-9999px}

.pw{display:grid;grid-template-columns:1fr 200px;gap:20px;margin-top:30px;align-items:start}
.pg{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.pg .bc{grid-column:auto}
.lp{border:1px solid var(--l);border-radius:16px;padding:14px 16px;background:var(--s);font-size:.8rem}
.lp ul{list-style:none;margin:8px 0 0;padding:0}.lp li{margin:6px 0}.lp a{color:var(--m)}.lp a:hover{color:var(--c)}
.ap{display:grid;padding:30px;text-align:center}.ap b{font-size:3rem;line-height:1.1;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}.ap span{color:var(--m);margin-bottom:14px}
@media(max-width:900px){.pw{grid-template-columns:1fr}}@media(max-width:640px){.pg{grid-template-columns:1fr}}
