@font-face{font-family:Switzer;font-weight:400;font-style:normal;src:url(/assets/fonts/Switzer-Regular.otf)format("opentype");font-display:swap}@font-face{font-family:Switzer;font-weight:500;font-style:normal;src:url(/assets/fonts/Switzer-Medium.otf)format("opentype");font-display:swap}@font-face{font-family:Switzer;font-weight:600;font-style:normal;src:url(/assets/fonts/Switzer-Semibold.otf)format("opentype");font-display:swap}@font-face{font-family:Switzer;font-weight:700;font-style:normal;src:url(/assets/fonts/Switzer-Bold.otf)format("opentype");font-display:swap}@font-face{font-family:Switzer;font-weight:800;font-style:normal;src:url(/assets/fonts/Switzer-Extrabold.otf)format("opentype");font-display:swap}@font-face{font-family:Switzer;font-weight:900;font-style:normal;src:url(/assets/fonts/Switzer-Black.otf)format("opentype");font-display:swap}:root{--font-display:"Switzer","Inter",system-ui,sans-serif;--font-body:"Switzer","Inter",system-ui,sans-serif;--font-mono:"Roboto Mono",ui-monospace,Menlo,monospace;--green:#01eb9c;--green-deep:#00b679;--green-glow:#1effae;--blue:#0090ff;--cornflower:#6f8de5;--yellow:#ffe013;--red:#f0556b;--accent:#00b679;--accent-soft:#01eb9c24;--canvas:#eef0f3;--canvas-2:#e4e7ec;--surface:#fff;--surface-2:#f6f7f9;--ink:#0a0a0b;--ink-2:#3a3d44;--ink-3:#6b7280;--hair:#0a0a0b1a;--hair-2:#0a0a0b0f;--lavender:#ececfb;--lavender-ink:#5b5bd6;--shadow-card:0 1px 2px #0a0a0b0a,0 12px 32px #0a0a0b1a;--shadow-pop:0 40px 120px #0a0a0b73;--scrim:#0c0e149e;--dim:#f4f6f9bd;--dim-blur:1.2px}[data-theme=dark]{--canvas:#0a0a0b;--canvas-2:#101013;--surface:#151519;--surface-2:#1b1b20;--ink:#fff;--ink-2:#ffffffbd;--ink-3:#ffffff80;--hair:#ffffff24;--hair-2:#ffffff14;--lavender:#6f8de529;--lavender-ink:#9db0f0;--shadow-card:0 1px 2px #0006,0 24px 60px #0000008c;--shadow-pop:0 40px 140px #000000b3;--scrim:#000000bd;--dim:#0a0a0ba8;--dim-blur:1.4px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;transition:background .4s var(--ease,cubic-bezier(.16,1,.3,1)),color .4s;line-height:1.5}:root{--ease:cubic-bezier(.16,1,.3,1)}.mono{font-family:var(--font-mono)}.page{min-height:100vh}.page-bg{z-index:0;pointer-events:none;opacity:.9;background:radial-gradient(900px 520px at 12% -8%,#01eb9c1a,#0000 60%),radial-gradient(820px 520px at 100% 0,#0090ff14,#0000 55%);position:fixed;inset:0}[data-theme=dark] .page-bg{background:radial-gradient(1000px 560px at 10% -10%,#01eb9c29,#0000 60%),radial-gradient(900px 560px at 100% 0,#0090ff24,#0000 55%)}.wrap{z-index:1;max-width:1240px;margin:0 auto;padding:0 32px;position:relative}.topbar{justify-content:space-between;align-items:center;height:84px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand img{height:26px;display:block}[data-theme=dark] .brand img{filter:none}.brand .logo-light{filter:invert()brightness(.08)}[data-theme=dark] .brand .logo-light{filter:none}.nav-links{align-items:center;gap:30px;display:flex}.nav-links a{color:var(--ink-2);font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.nav-links a:hover{color:var(--ink)}.nav-cta{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:#04130d;cursor:pointer;transition:transform .15s var(--ease),box-shadow .2s;border:none;border-radius:8px;padding:11px 18px;font-size:11px;font-weight:600}[data-theme=dark] .nav-cta{color:#04130d}.nav-cta:hover{box-shadow:0 0 0 4px var(--accent-soft);transform:translateY(-1px)}.hero{max-width:780px;padding:54px 0 30px}.hero.compact{max-width:none;padding:64px 0 18px}.hero-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.hero.compact h1{font-family:var(--font-display);letter-spacing:-.02em;margin:12px 0 0;font-size:clamp(38px,5vw,60px);font-weight:800;line-height:1}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:9px;font-size:12px;font-weight:600;display:inline-flex}.eyebrow .x{opacity:.7}.hero h1{font-family:var(--font-display);letter-spacing:-.02em;margin:18px 0 0;font-size:clamp(38px,5.2vw,64px);font-weight:800;line-height:1.04}.hero h1 .accent{color:var(--accent)}.hero p{color:var(--ink-2);text-wrap:pretty;max-width:620px;margin:20px 0 0;font-size:19px}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px;display:flex}.btn{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .15s var(--ease),box-shadow .2s,background .2s,border-color .2s,color .2s;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;padding:14px 22px;font-size:12px;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:#04130d}.btn-primary:hover{box-shadow:0 0 0 5px var(--accent-soft),0 14px 30px #0000001f;transform:translateY(-1px)}.btn-ghost{color:var(--ink);border-color:var(--hair);background:0 0}.btn-ghost:hover{border-color:var(--ink-3);transform:translateY(-1px)}.gallery{--pad:22px;background:var(--surface);border:1px solid var(--hair);box-shadow:var(--shadow-card);border-radius:22px;position:relative;overflow:hidden}.gallery.embedded{margin:14px 0 96px}.gallery-grid{grid-template-columns:1.62fr 1fr;display:grid}.gallery.popup .gallery-grid{grid-template-columns:1.78fr 1fr}.stage-col{padding:var(--pad);position:relative}.stage{aspect-ratio:1170/780;background:var(--surface-2);border:1px solid var(--hair-2);isolation:isolate;border-radius:14px;width:100%;position:relative;overflow:hidden}.stage-img{object-fit:cover;object-position:center top;transform-origin:50%;width:100%;height:100%;transition:transform 1.1s var(--ease),filter .6s var(--ease);will-change:transform,filter;position:absolute;inset:0}.stage-img.base{filter:brightness(.62) saturate(.72) blur(var(--dim-blur))}[data-theme=dark] .stage-img.base{filter:brightness(.42) saturate(.6) blur(var(--dim-blur))}.stage-img.bright{transition:transform 1.1s var(--ease),clip-path 1s var(--ease),filter .6s var(--ease);will-change:clip-path,transform}.stage.no-spot .stage-img.base{filter:none}.stage.no-spot .stage-img.bright{clip-path:inset(0)!important}.focus-frame{border:2px solid var(--accent);box-shadow:0 0 0 9999px transparent,0 0 26px 2px var(--accent-soft);transition:top 1s var(--ease),left 1s var(--ease),width 1s var(--ease),height 1s var(--ease),opacity .5s;pointer-events:none;border-radius:8px;position:absolute}.focus-frame:after{content:attr(data-tag);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:#04130d;white-space:nowrap;border-radius:5px;padding:3px 9px;font-size:10px;font-weight:600;position:absolute;top:-12px;left:12px;box-shadow:0 4px 12px #0000002e}.stage.no-spot .focus-frame{opacity:0}.hotspot{pointer-events:none;width:20px;height:20px;position:absolute;transform:translate(-50%,-50%)}.hotspot .dot{background:var(--accent);border-radius:50%;position:absolute;inset:5px;box-shadow:0 0 0 4px #ffffffe6}[data-theme=dark] .hotspot .dot{box-shadow:0 0 0 4px #151519e6}.hotspot .ring{border:2px solid var(--accent);animation:pulse 2s var(--ease) infinite;border-radius:50%;position:absolute;inset:0}@keyframes pulse{0%{opacity:.9;transform:scale(.6)}70%{opacity:0;transform:scale(1.7)}to{opacity:0}}@media(prefers-reduced-motion:reduce){.hotspot .ring{animation:none}}.progress{top:calc(var(--pad) + 12px);left:calc(var(--pad) + 12px);right:calc(var(--pad) + 12px);z-index:5;gap:6px;display:flex;position:absolute}.progress .seg{background:#0000002e;border-radius:99px;flex:1;height:4px;overflow:hidden}[data-theme=dark] .progress .seg{background:#ffffff2e}.progress .seg i{background:#fff;border-radius:99px;width:0;height:100%;display:block;box-shadow:0 0 8px #ffffff80}.progress .seg.done i{width:100%}.progress .seg.active i{width:var(--p,0%)}.caption-col{border-left:1px solid var(--hair-2);background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 140%);flex-direction:column;padding:36px 34px 28px;display:flex}.cap-step{font-family:var(--font-mono);letter-spacing:.14em;color:var(--ink-3);font-size:12px;font-weight:600}.cap-step b{color:var(--accent)}.cap-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:22px;font-size:11px;font-weight:600}.cap-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:12px 0 0;font-size:clamp(26px,2.6vw,36px);font-weight:800;line-height:1.06}.cap-body{color:var(--ink-2);text-wrap:pretty;margin:16px 0 0;font-size:16px;line-height:1.6}.cap-stat{background:var(--accent-soft);border:1px solid var(--hair-2);border-radius:12px;align-items:center;gap:12px;width:fit-content;margin-top:22px;padding:12px 16px;display:inline-flex}.cap-stat .v{font-family:var(--font-mono);color:var(--ink);letter-spacing:-.01em;font-size:20px;font-weight:700}.cap-stat .l{color:var(--ink-3);font-size:12px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.cap-anim{animation:capIn .5s var(--ease) both}@keyframes capIn{0%{transform:translateY(12px)}to{transform:none}}.cap-anim .cap-eyebrow{animation:fadeIn .5s var(--ease) both}@keyframes fadeIn{0%{opacity:.2}to{opacity:1}}@media(prefers-reduced-motion:reduce){.cap-anim{animation:none}}.cap-spacer{flex:1;min-height:24px}.controls{align-items:center;gap:10px;margin-top:8px;display:flex}.ctrl{border:1px solid var(--hair);background:var(--surface);cursor:pointer;width:42px;height:42px;color:var(--ink);border-radius:11px;place-items:center;transition:border-color .15s,transform .12s,background .15s;display:grid}.ctrl:hover{border-color:var(--ink-3);transform:translateY(-1px)}.ctrl:active{transform:translateY(0)}.ctrl svg{width:18px;height:18px}.ctrl.play{background:var(--accent);color:#04130d;border-color:#0000}.ctrl.play:hover{box-shadow:0 0 0 4px var(--accent-soft)}.controls .count{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;margin-left:auto;font-size:13px}.thumbs{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.thumb{cursor:pointer;background:var(--hair);border:none;border-radius:99px;flex:1 1 0;min-width:0;height:6px;padding:0;transition:background .2s,transform .15s;position:relative}.thumb:hover{transform:scaleY(1.6)}.thumb.active{background:var(--accent)}.thumb.seen{background:var(--ink-3)}.overlay{z-index:80;background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;place-items:center;padding:34px;display:grid;position:fixed;inset:0}.overlay.open{opacity:1;visibility:visible}.overlay .gallery.popup{width:min(1180px,96vw);max-height:92vh;transition:transform .4s var(--ease);transform:scale(.96)translateY(8px)}.overlay.open .gallery.popup{transform:none}.overlay-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:12px;place-items:center;width:44px;height:44px;transition:background .15s,transform .12s;display:grid;position:absolute;top:22px;right:26px}.overlay-close:hover{background:#ffffff29;transform:translateY(-1px)}.overlay-close svg{width:20px;height:20px}.gallery-footer{margin-top:18px}.gallery-footer .btn{justify-content:center;width:100%}.g-head{border-bottom:1px solid var(--hair-2);align-items:center;gap:12px;padding:16px 20px;display:flex}.g-head .dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%}.g-head .t{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-size:12px;font-weight:600}.g-head .live{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-3);align-items:center;gap:7px;margin-left:auto;font-size:11px;display:flex}.g-head .live:before{content:"";background:var(--green);width:7px;height:7px;box-shadow:0 0 8px var(--green);border-radius:50%;animation:1.8s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.g-expand{border:1px solid var(--hair);background:var(--surface);cursor:pointer;width:34px;height:34px;color:var(--ink-2);border-radius:8px;place-items:center;margin-left:14px;transition:border-color .15s,color .15s;display:grid}.g-expand:hover{border-color:var(--ink-3);color:var(--ink)}.g-expand svg{width:16px;height:16px}@media(max-width:880px){.gallery-grid,.gallery.popup .gallery-grid{grid-template-columns:1fr}.caption-col{border-left:none;border-top:1px solid var(--hair-2)}.nav-links{display:none}.wrap{padding:0 20px}}
