:root{--ink:#0b0b0f;--mut:#6b6b78;--line:#e9e9f0;--bg:#fbfbfd;--acc:#6d5efc}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.shell{min-height:100vh;overflow-x:hidden}a{color:inherit}
svg.i{width:1.15em;height:1.15em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nav{position:fixed;top:14px;left:0;right:0;z-index:50;display:flex;justify-content:center;padding:0 14px}
.nav-in{width:min(1080px,100%);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 16px;background:#ffffffb8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:99px;box-shadow:0 8px 30px #0b0b0f0d}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.02em;text-decoration:none}.brand svg{width:28px;height:28px}.brand em{font-style:normal;color:var(--mut);font-weight:500;margin-left:6px}
.links{display:flex;gap:2px}.links a{padding:8px 14px;border-radius:99px;text-decoration:none;font-size:14px;color:var(--mut);transition:.2s}.links a:hover{background:#f1f1f6;color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:#fff;border:0;border-radius:99px;padding:14px 22px;font:600 15px Inter,system-ui,sans-serif;cursor:pointer;text-decoration:none;transition:.2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0b0b0f33}.btn.sm{padding:10px 16px;font-size:14px}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover{box-shadow:0 10px 24px #0b0b0f14}.btn.light{background:#fff;color:var(--ink)}
.chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:7px 14px;font-size:13px;font-weight:500;box-shadow:0 2px 10px #0b0b0f08}.chip svg{color:var(--acc)}
.grad{background:linear-gradient(100deg,#6d5efc,#c45bff 55%,#ff7a59);-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--mut)}
/* hero */
.hero{position:relative;text-align:center;padding:150px 20px 0;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.45;z-index:0;pointer-events:none}.b1{width:420px;height:420px;background:#8f82ff;top:-120px;left:8%}.b2{width:380px;height:380px;background:#ffb08f;top:-60px;right:6%}
.hero>*:not(.blob){position:relative;z-index:1}
.hero h1{font-size:clamp(40px,7.4vw,84px);line-height:1.02;letter-spacing:-.045em;margin:22px auto 18px;max-width:900px}
.hero p.lead{max-width:560px;margin:0 auto 28px;font-size:19px;line-height:1.5;color:var(--mut)}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.checks{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin:26px 0 0;font-size:14px;color:var(--mut)}.checks span{display:inline-flex;gap:6px;align-items:center}.checks svg{color:#19a974}
.wall{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;width:min(1100px,92%);margin:56px auto 0;height:380px;overflow:hidden;-webkit-mask:linear-gradient(#000 40%,transparent);mask:linear-gradient(#000 40%,transparent)}
.col{display:flex;flex-direction:column;gap:14px;animation:fl 7s ease-in-out infinite alternate}.col:nth-child(even){animation-delay:-3s;margin-top:44px}.col:nth-child(3n){animation-delay:-5s;margin-top:18px}
@keyframes fl{to{transform:translateY(-22px)}}
.ph{aspect-ratio:3/4;border-radius:18px;background:linear-gradient(145deg,#f1efff,#fff1ea) center/cover;display:grid;place-items:center;color:#b9b2ff;box-shadow:0 10px 30px #0b0b0f12;border:1px solid #fff}.ph svg{width:30px;height:30px}
/* marquee */
.mq{overflow:hidden;border-block:1px solid var(--line);background:#fff;margin-top:20px;padding:18px 0}
.mq-t{display:flex;gap:44px;width:max-content;animation:mq 28s linear infinite;font-weight:600;letter-spacing:-.02em;font-size:20px;color:#a5a5b3}.mq-t span{display:inline-flex;align-items:center;gap:44px}.mq-t svg{color:var(--acc);width:16px;height:16px}
@keyframes mq{to{transform:translateX(-50%)}}
/* sections */
.sec{width:min(1080px,92%);margin:0 auto;padding:96px 0 0}.sec h2{font-size:clamp(30px,4.6vw,48px);letter-spacing:-.04em;line-height:1.05;margin:14px 0 12px}.sec .sub{color:var(--mut);font-size:18px;max-width:560px;line-height:1.5;margin:0}
.head{text-align:center}.head .sub{margin:0 auto}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:70px}
.stat{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}.stat b{display:block;font-size:44px;letter-spacing:-.04em}.stat span{color:var(--mut);font-size:14px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;transition:.25s}.card.hov:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0b0b0f12}
.ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#efecff,#fff0ea);color:var(--acc);margin-bottom:18px}.ico svg{width:22px;height:22px}
.card h3{margin:0 0 8px;font-size:19px;letter-spacing:-.02em}.card p{margin:0;color:var(--mut);line-height:1.55;font-size:15px}.num-s{float:right;font-size:13px;font-weight:600;color:#b4b4c2}
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}.bento .w2{grid-column:span 2}
.scan{position:relative;height:170px;border-radius:18px;background:linear-gradient(135deg,#f0eeff,#fff0ea);display:grid;place-items:center;margin-bottom:18px;overflow:hidden}.scan svg{width:58px;height:58px;color:var(--acc)}
.scan::before{content:"";position:absolute;inset:26px 32%;border:2px solid #6d5efc55;border-radius:16px}.scan i{position:absolute;left:30%;right:30%;height:2px;background:linear-gradient(90deg,transparent,#6d5efc,transparent);animation:sc 2.2s ease-in-out infinite alternate}@keyframes sc{from{top:26%}to{top:74%}}
/* events */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.ev{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;transition:.25s}.ev:hover{transform:translateY(-5px);box-shadow:0 20px 44px #0b0b0f14}
.ev .im{aspect-ratio:4/3;background:linear-gradient(145deg,#f1efff,#fff1ea) center/cover;transition:background-image .5s;position:relative}.ev .im .dt{position:absolute;left:12px;top:12px;display:inline-flex;gap:6px;align-items:center;background:#ffffffe6;backdrop-filter:blur(8px);border-radius:99px;padding:6px 12px;font-size:12px;font-weight:600}
.ev .tx{padding:16px 18px 18px}.ev b{font-size:18px;letter-spacing:-.02em;display:block}.ev small{color:var(--mut);display:flex;gap:14px;margin-top:8px;font-size:13px;flex-wrap:wrap}.ev small span{display:inline-flex;gap:5px;align-items:center}
/* dark */
.dark{width:min(1080px,92%);margin:96px auto 0;background:var(--ink);color:#fff;border-radius:32px;padding:64px 48px;position:relative;overflow:hidden}.dark::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:#6d5efc;filter:blur(110px);opacity:.35;right:-100px;top:-120px}
.dark>*{position:relative;z-index:1}.dark h2{font-size:clamp(30px,4.6vw,50px);letter-spacing:-.04em;line-height:1.05;margin:0 0 14px;max-width:640px}.dark p{color:#b5b5c2;max-width:520px;font-size:18px;line-height:1.5}
.dk{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}.dk div{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;padding:20px}.dk svg{width:22px;height:22px;color:#b9b2ff;margin-bottom:10px}.dk b{display:block;margin-bottom:6px}.dk span{color:#b5b5c2;font-size:14px;line-height:1.5}
/* faq */
.faq{max-width:760px;margin:40px auto 0;display:grid;gap:10px}.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 22px}.faq summary{cursor:pointer;font-weight:600;display:flex;justify-content:space-between;align-items:center;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary svg{transition:.2s}.faq details[open] summary svg{transform:rotate(180deg)}.faq p{color:var(--mut);line-height:1.6;margin:12px 0 0}
.final{width:min(1080px,92%);margin:96px auto 0;border-radius:32px;padding:70px 24px;text-align:center;background:linear-gradient(120deg,#6d5efc,#c45bff 60%,#ff7a59);color:#fff}.final h2{font-size:clamp(30px,5vw,54px);letter-spacing:-.04em;line-height:1.05;margin:0 auto 14px;max-width:700px}.final p{opacity:.9;font-size:18px;margin:0 0 28px}
.foot{width:min(1080px,92%);margin:80px auto 0;padding:28px 0 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--mut);font-size:14px;align-items:center}.foot .brand{color:var(--ink)}.foot nav{display:flex;gap:18px}.foot a{text-decoration:none}
/* inner pages */
.page{width:min(1080px,92%);margin:0 auto;padding:120px 0 0}.page h2{font-size:clamp(30px,4.4vw,46px);letter-spacing:-.04em;margin:10px 0 24px}.back{display:inline-flex;gap:6px;align-items:center;color:var(--mut);text-decoration:none;font-size:14px}.back svg{transform:rotate(180deg)}
.meta{display:flex;gap:10px;flex-wrap:wrap;margin:-10px 0 26px}.meta .chip{box-shadow:none}
.drop{background:#fff;border:1.5px dashed #cfcfe0;border-radius:28px;padding:36px;text-align:center}.drop .ico{margin:0 auto 14px;width:58px;height:58px;border-radius:18px}.drop .ico svg{width:28px;height:28px}.drop h3{margin:0 0 6px;font-size:22px;letter-spacing:-.03em}.drop .row{justify-content:center}
.row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}label.btn input{display:none}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:16px}.photo{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;background:#eee center/cover;box-shadow:0 8px 24px #0b0b0f12}.photo button{position:absolute;right:10px;bottom:10px;border:0;border-radius:99px;background:#ffffffee;backdrop-filter:blur(8px);padding:9px 14px;font:600 13px Inter,system-ui,sans-serif;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.status{margin:12px 0 0;color:var(--mut);font-size:14px;min-height:20px}
input:not([type=checkbox]),select{font:inherit;padding:13px 15px;border:1px solid var(--line);border-radius:14px;width:100%;margin:6px 0 16px;background:#fff;transition:.2s}input:focus,select:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 4px #6d5efc22}
input::file-selector-button{border:0;background:#f0f0f6;border-radius:99px;padding:8px 14px;margin-right:12px;font:600 13px Inter,system-ui,sans-serif;cursor:pointer}
label.f{font-size:14px;font-weight:600}.er{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px;margin-bottom:10px}
@media(max-width:820px){.links{display:none}.stats{grid-template-columns:repeat(2,1fr)}.steps,.bento,.dk{grid-template-columns:1fr}.bento .w2{grid-column:auto}.wall{grid-template-columns:repeat(4,1fr);height:300px}.col:nth-child(n+5){display:none}.dark{padding:40px 24px}}
.reveal{opacity:0;transform:translateY(22px);transition:.7s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
.er{flex-wrap:wrap}.sharebox{width:100%;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sharebox:empty{display:none}.sharebox input{flex:1;min-width:220px;margin:0}
