@font-face{font-family:Playfair;src:url(fonts/playfair.woff2?v=1) format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:Jost;src:url(fonts/jost.woff2?v=1) format('woff2');font-weight:300 600;font-style:normal;font-display:swap}
:root{
  --ink:#08050d;--plate:#150a24;--plate2:#1d0e33;--v0:#2a0f45;--v1:#4a1f78;--v2:#7340ad;
  --g0:#7d641c;--g1:#b8962f;--g2:#efd26a;--g3:#fff0a8;
  --text:#e0d2f0;--quiet:#bfa9d9;--lit:#efe4ff;
  --gold:linear-gradient(135deg,#b8962f 0%,#efd26a 26%,#b8962f 48%,#fff0a8 70%,#7d641c 100%);
  --gold-lit:linear-gradient(135deg,#d9b84a 0%,#fff0a8 30%,#e2c35a 55%,#fff0a8 78%,#b8962f 100%);
  --serif:Playfair,'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:Jost,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --lw:1px;--gut:max(16px,env(safe-area-inset-left));
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--ink);overscroll-behavior-x:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--text);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;min-height:100svh}
h1,h2,h3,p,ul{margin:0}
ul{padding:0;list-style:none}
a{color:var(--g2)}
img,canvas{display:block;max-width:100%}
.scene{position:fixed;inset:0;width:100%;height:100%;z-index:-1;display:none}
html.live .scene{display:block}
html.live body{background:transparent}

.dc,.dc::before,.dc::after,.dc-c{clip-path:polygon(var(--c) 0,calc(100% - var(--c)) 0,100% var(--c),100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,var(--c) 100%,0 calc(100% - var(--c)),0 var(--c))}
.dc{--n:12px;--c:var(--n);position:relative;isolation:isolate;background:var(--gold)}
.dc::before{content:'';position:absolute;inset:var(--lw);z-index:0;background:var(--plate);--c:calc(var(--n) - var(--lw)*.586)}
.dc.two::after{content:'';position:absolute;inset:calc(4*var(--lw));z-index:1;background:var(--gold);--c:calc(var(--n) - var(--lw)*2.344)}
.dc>*{position:relative;z-index:2}
.dc-c{position:relative;z-index:2;margin:calc(5*var(--lw));background:var(--plate);--c:calc(var(--n) - var(--lw)*2.93)}

.gem{display:block;width:.55rem;height:.55rem;background:var(--gold-lit);transform:rotate(45deg);flex:none}
.gem.lg{width:.8rem;height:.8rem}
.rule{display:flex;align-items:center;gap:.9rem;margin:0 auto;max-width:34rem}
.rule::before,.rule::after{content:'';flex:1;height:calc(var(--lw)*3);background:linear-gradient(var(--g1),var(--g1)) top/100% var(--lw) no-repeat,linear-gradient(var(--g1),var(--g1)) bottom/100% var(--lw) no-repeat}
.rule canvas{width:4.5rem;height:2.25rem;flex:none}

.btn{display:inline-block;text-decoration:none;cursor:pointer;border:0;background:none;padding:0;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.btn .b{--n:9px;--c:var(--n);position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:3rem;padding:.55rem 1.6rem;font:600 .9375rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-align:center;background:var(--gold)}
.btn .b,.btn .b::before{clip-path:polygon(var(--c) 0,calc(100% - var(--c)) 0,100% var(--c),100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,var(--c) 100%,0 calc(100% - var(--c)),0 var(--c))}
.btn .b::before{content:'';position:absolute;inset:var(--lw);z-index:-1;background:var(--plate);--c:calc(var(--n) - var(--lw)*.586)}
.btn-gold .b{color:#1a1004}
.btn-gold .b::before{background:var(--gold-lit)}
.btn-line .b{color:var(--g2)}
.btn-purple .b{color:var(--lit)}
.btn-purple .b::before{background:linear-gradient(#52247f,#2a0f45)}
.btn:hover .b::before,.btn.is-hover .b::before{background:var(--g3)}
.btn-line:hover .b::before,.btn-line.is-hover .b::before{background:var(--v0)}
.btn-purple:hover .b::before,.btn-purple.is-hover .b::before{background:linear-gradient(#6a35a0,#3d1768)}
.btn:active .b,.btn.is-active .b{background:var(--g0)}
.btn:active .b::before,.btn.is-active .b::before{background:#c9a73c}
.btn-line:active .b::before,.btn-line.is-active .b::before{background:#0c0516}
.btn-purple:active .b::before,.btn-purple.is-active .b::before{background:#1f0a35}
.btn:focus-visible,.btn.is-focus{outline:calc(2*var(--lw)) solid var(--g3);outline-offset:3px}

.gate{position:fixed;inset:0;z-index:30;display:none;place-items:center;padding:max(16px,env(safe-area-inset-top)) var(--gut) max(16px,env(safe-area-inset-bottom));overflow:auto}
html[data-state=gate] .gate{display:grid}
.gate-card{--n:22px;width:min(100%,30rem);margin:auto;outline:none}
.gate-in{position:relative;padding:3.4rem 2rem 1.6rem;text-align:center}
.gate-crown{position:absolute;left:50%;top:0;width:7.5rem;height:3.75rem;transform:translate(-50%,0)}
.gate-corner{position:absolute;width:2.6rem;height:2.6rem}
.gate-corner.tl{left:.55rem;top:.55rem}
.gate-corner.tr{right:.55rem;top:.55rem}
.gate-corner.bl{left:.55rem;bottom:.55rem}
.gate-corner.br{right:.55rem;bottom:.55rem}
.gate-num{font:700 clamp(4.4rem,18vw,6.4rem)/.9 var(--serif);color:var(--g2);background:var(--gold-lit);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:lining-nums;letter-spacing:.02em;margin-bottom:.35rem}
.gate-title{font:600 1.125rem/1.2 var(--sans);letter-spacing:.42em;text-transform:uppercase;color:var(--g2);margin:0 0 1rem;padding-left:.42em}
.gate-text p{margin:0 0 .6rem}
.gate-lead{font:600 1.25rem/1.35 var(--serif);color:var(--lit)}
.gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.4rem 0 1.2rem}
.gate-actions .b{padding:.55rem .8rem;letter-spacing:.08em;font-size:.875rem}
.gate-fine{font-size:.875rem;color:var(--quiet);margin:.9rem 0 0}
@media (min-width:900px) and (min-height:560px){.gate-card{--n:30px;width:min(100%,50rem)}.gate-in{padding:4.2rem 3.5rem 2rem}.gate-crown{width:10rem;height:5rem}.gate-corner{width:3.6rem;height:3.6rem}.gate-num{font-size:clamp(7rem,12vw,9.5rem)}.gate-title{font-size:1.35rem}.gate-text{max-width:36rem;margin-inline:auto}.gate-actions{max-width:34rem;margin-inline:auto}}

.hint{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:20;display:none;pointer-events:none}
html[data-state=closed] .hint{display:block}
.hint .b{--n:10px;min-height:2.75rem;padding:.4rem 1.3rem;font-weight:500;letter-spacing:.2em;white-space:nowrap}
.hit{position:fixed;inset:0;z-index:10;display:none;touch-action:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
html[data-state=closed] .hit,html[data-state=ajar] .hit{display:block}

html[data-state=gate],html[data-state=closed],html[data-state=ajar],html[data-state=open],html[data-state=gate] body,html[data-state=closed] body,html[data-state=ajar] body,html[data-state=open] body{overflow:hidden;height:100%}
html[data-state=gate] .hero,html[data-state=closed] .hero,html[data-state=ajar] .hero,html[data-state=open] .hero{opacity:0;pointer-events:none}
html[data-state=gate] .sections,html[data-state=closed] .sections,html[data-state=ajar] .sections,html[data-state=open] .sections,html[data-state=gate] .foot,html[data-state=closed] .foot,html[data-state=ajar] .foot,html[data-state=open] .foot{visibility:hidden}

.hero{position:relative;min-height:100svh;display:grid;align-items:center;padding:calc(var(--gut) + 1rem) var(--gut)}
html:not(.live) .hero{background:#0c0616 left top/cover no-repeat;justify-items:end;padding-inline:max(var(--gut),2vw)}
html:not(.live):not([data-state=gate]) .hero{background-image:url(bg-wide.webp?v=20261031)}
@media (min-aspect-ratio:11/10) and (max-aspect-ratio:3/2){html:not(.live):not([data-state=gate]) .hero{background-image:url(bg-mid.webp?v=20261031)}}
@media (min-aspect-ratio:3/2) and (max-aspect-ratio:17/10){html:not(.live):not([data-state=gate]) .hero{background-image:url(bg-ten.webp?v=20261031)}}
@media (max-aspect-ratio:11/10){html:not(.live) .hero{background-position:center top;justify-items:center;align-items:start;padding-top:55svh}html:not(.live):not([data-state=gate]) .hero{background-image:url(bg-tall.webp?v=20261031)}}
html.live .hero{display:block;padding:0}
.hero-slot{display:contents}
.stage{display:none}
html.live .stage{display:flex;position:fixed;left:var(--sx);top:var(--sy);width:var(--sw);height:var(--sh);align-items:center;justify-content:center;pointer-events:none}
.stage .cinema-wrap{width:min(100%,calc((var(--sh) - 22px) * 560 / 348 + 22px))}
html.live .showcase{display:none}
html.live .hero-slot{display:flex;position:absolute;left:var(--tx,0);top:var(--ty,0);width:var(--tw,100%);height:var(--th,100%);align-items:safe center;overflow-y:auto;scrollbar-width:none}
html.live .hero-slot::-webkit-scrollbar{display:none}
@media (max-aspect-ratio:11/10){html.live .hero{padding:var(--ty,58svh) 0 1.5rem var(--tx,0)}html.live .hero-slot{position:relative;left:auto;top:auto;height:auto;overflow:visible}}
.hero-plate{--n:18px;width:min(100%,24rem)}
html.live .hero-plate{width:100%}
.hero-in{padding:1.7rem 1.5rem 1.6rem;text-align:center}
.hero h1{font:700 clamp(1.5rem,min(2.5vw + .9rem,6.4vh),3.1rem)/1.08 var(--serif);color:var(--g2);margin:0 0 1.2rem;text-wrap:balance}
.count{--n:14px;margin:0 0 1.3rem;text-align:center}
.count:not([data-ready]){display:none}
.count-in{position:relative;padding:1rem 1.6rem}
.count-in .gem{position:absolute;top:50%;margin-top:-.275rem}
.count-in .gem.l{left:.55rem}
.count-in .gem.r{right:.55rem}
.count-main{font-size:1.0625rem;line-height:1.45}
.count b{font:700 1em/1 var(--serif);color:var(--g2);font-variant-numeric:lining-nums}
.count-main b{display:block;font-size:clamp(2.6rem,min(6vw,11vh),4.8rem);line-height:1.02;margin:.15rem 0 .1rem;background:var(--gold-lit);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.count-you b{font-size:1.4em;padding:0 .08em}
.count-you{margin-top:.4rem;font-size:1rem}
.count-total{margin-top:.5rem;font-size:.875rem;color:var(--quiet)}
.hero .btn{display:block}

.sections{position:relative;background:
  linear-gradient(135deg,transparent calc(50% - var(--lw)*.5),rgba(184,150,47,.13) calc(50% - var(--lw)*.5),rgba(184,150,47,.13) calc(50% + var(--lw)*.5),transparent calc(50% + var(--lw)*.5)) 0 0/72px 72px,
  linear-gradient(45deg,transparent calc(50% - var(--lw)*.5),rgba(184,150,47,.13) calc(50% - var(--lw)*.5),rgba(184,150,47,.13) calc(50% + var(--lw)*.5),transparent calc(50% + var(--lw)*.5)) 0 0/72px 72px,
  linear-gradient(#170b29,#10071d);padding:0 0 1rem}
.sections::before{content:'';display:block;height:calc(var(--lw)*3);background:var(--gold)}
.wrap{width:min(100% - 2*var(--gut),62rem);margin-inline:auto}
.turn{padding:4.5rem 0 3.5rem;text-align:center}
.turn .gem{margin:0 auto 1.6rem}
.voice{font:700 clamp(1.8rem,2vw + 1rem,2.8rem)/1.15 var(--serif);color:var(--g2);margin-bottom:1rem;text-wrap:balance}
.turn p:not(.voice){max-width:36rem;margin-inline:auto;font-size:1.1875rem}
h2{font:700 clamp(1.9rem,1.6vw + 1.2rem,2.6rem)/1.1 var(--serif);color:var(--g2);text-align:center;margin-bottom:1.6rem}
.what{padding:1.5rem 0 3.5rem}
.what-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.what-list li{--n:12px}
.row{display:flex;align-items:center;gap:1rem;padding:1.05rem 1.2rem 1.05rem 1rem}
.row .ico{width:2.75rem;height:2.75rem;flex:none}
.row span{font-size:1.0625rem;line-height:1.45}
.proof{padding:1.5rem 0 3rem}
.proof h3{font:600 .9375rem/1.2 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--g2);margin:2.4rem 0 1rem;display:flex;align-items:center;gap:.9rem}
.proof h3::after{content:'';flex:1;height:var(--lw);background:var(--g0)}
.sites{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.sites a{--n:10px;--c:var(--n);display:block;text-decoration:none;color:var(--text);position:relative;isolation:isolate;background:var(--g0)}
.sites a,.sites a::before{clip-path:polygon(var(--c) 0,calc(100% - var(--c)) 0,100% var(--c),100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,var(--c) 100%,0 calc(100% - var(--c)),0 var(--c))}
.sites a::before{content:'';position:absolute;inset:var(--lw);z-index:-1;background:var(--plate);--c:calc(var(--n) - var(--lw)*.586)}
.sites a:hover,.sites a.is-hover{background:var(--g2)}
.sites a:hover::before,.sites a.is-hover::before{background:var(--plate2)}
.sites a:focus-visible{outline:calc(2*var(--lw)) solid var(--g3);outline-offset:3px}
.sites b{display:block;font:600 1.0625rem/1.3 var(--sans);color:var(--g2);padding:.9rem 1.1rem .15rem;overflow-wrap:anywhere}
.sites span{display:block;padding:0 1.1rem .95rem;font-size:.9375rem;line-height:1.4;color:var(--quiet)}
.showcase{margin:2.6rem auto;max-width:36rem}

.cinema-wrap{position:relative;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.55)}
.cinema{--n:16px}
.cinema-in{padding:calc(6*var(--lw));background:#08050d}
.cinema-screen{position:relative;aspect-ratio:560/348;background:#0c0616;overflow:hidden}
.cinema-screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel{position:absolute;left:0;top:0;width:1280px;height:794px;transform-origin:0 0;z-index:1}
.reel>div{position:absolute;inset:0;overflow:hidden;background:#0c0616}
.cinema-screen .reel img{inset:auto;top:0;max-width:none;object-fit:fill;will-change:transform}
.cinema-wrap .orn{position:absolute;z-index:3;width:2rem;height:2rem}
.cinema-wrap .orn.tl{left:-1.55rem;top:-1.55rem}
.cinema-wrap .orn.tr{right:-1.55rem;top:-1.55rem}
.cinema-wrap .orn.bl{left:-1.55rem;bottom:-1.55rem}
.cinema-wrap .orn.br{right:-1.55rem;bottom:-1.55rem}
@media (max-width:760px){.showcase{margin:1.8rem auto}.cinema-wrap .orn{width:1.2rem;height:1.2rem}.cinema-wrap .orn.tl{left:-.8rem;top:-.8rem}.cinema-wrap .orn.tr{right:-.8rem;top:-.8rem}.cinema-wrap .orn.bl{left:-.8rem;bottom:-.8rem}.cinema-wrap .orn.br{right:-.8rem;bottom:-.8rem}}
.again{padding:2rem 0 3.5rem;text-align:center}
.again .btn{min-width:min(100%,20rem)}
.again .rule{margin-bottom:2rem}
.foot{position:relative;background:#0a0512;padding:2.4rem var(--gut) calc(2.4rem + env(safe-area-inset-bottom));text-align:center;color:var(--quiet);font-size:.9375rem}
.foot .rule{margin-bottom:1.4rem}
.foot p+p{margin-top:.4rem}
.foot a{color:var(--g2)}
.foot a:focus-visible{outline:calc(2*var(--lw)) solid var(--g3);outline-offset:3px}

@media (max-width:760px){
  .what-list,.sites{grid-template-columns:1fr}
  .gate-in{padding:3.2rem 1.25rem 1.3rem}
  .turn{padding:3.5rem 0 2.5rem}
  html:not(.live) .hero-plate{width:100%}
}
@media (max-height:520px) and (orientation:landscape){
  .gate{padding-block:10px}
  .gate-card{width:min(100%,46rem)}
  .gate-in{display:grid;grid-template-columns:auto 1fr;column-gap:1.6rem;align-items:center;text-align:left;padding:1rem 1.4rem 1rem 1.2rem}
  .gate-crown,.gate-corner,.gate-card .rule{display:none}
  .gate-head{text-align:center}
  .gate-num{font-size:3.4rem;margin:0}
  .gate-title{font-size:.8125rem;margin:.3rem 0 0;padding:0;letter-spacing:.3em}
  .gate-text p{margin:0 0 .3rem;font-size:.9375rem;line-height:1.35}
  .gate-lead{font-size:1.0625rem}
  .gate-actions{margin:.6rem 0 .5rem}
  .gate-fine{margin:.4rem 0 0;font-size:.8125rem}
  .gate-actions .b,.hint .b,.hero .btn .b{min-height:2.5rem}
  .hero-in{padding:.8rem .9rem}
  .hero h1{font-size:1.3rem;margin-bottom:.5rem}
  .count{margin-bottom:.6rem}
  .count-in{padding:.45rem 1.05rem}
  .count-in .gem.l{left:.3rem}
  .count-in .gem.r{right:.3rem}
  .count-main{font-size:.875rem;line-height:1.3}
  .count-main b{font-size:2.5rem;margin:0}
  .count-you{font-size:.875rem;margin-top:.2rem}
  .count-total{margin-top:.15rem;font-size:.8125rem}
}

.loader{display:none;position:fixed;inset:0;z-index:100;place-items:center;background:var(--ink);transition:opacity .45s ease-out,visibility 0s .45s}
html.loading .loader,html.loaded .loader{display:grid}
html.loaded .loader{opacity:0;visibility:hidden}
.loader .gem{width:1.1rem;height:1.1rem;animation:loader-in .3s ease-out .4s backwards,loader-beat 1.1s ease-in-out .7s infinite alternate}
@keyframes loader-in{from{opacity:0}}
@keyframes loader-beat{to{opacity:.35;transform:rotate(45deg) scale(.8)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
