/* PM3D | Product Advance AM8 */

:root{
  --bg:#08090a;
  --bg2:#0c0e0f;
  --bg3:#111415;
  --fg:#eff4f0;
  --fg2:#95a29a;
  --line:rgba(205,255,225,.11);
  --line2:rgba(205,255,225,.22);
  --neon:#3dff88;
  --neon-ink:#3dff88;
  --neon-soft:rgba(61,255,136,.15);
  --blue:#35baff;
  --pink:#ff3d92;
  --on-neon:#04160b;
  --head-bg:rgba(8,9,10,.74);
  --shadow:0 34px 90px rgba(0,0,0,.6);
  --glow:0 0 60px rgba(61,255,136,.22);
  --grain:.055;
  --img-bright:1;
  --r-sm:6px;
  --r-md:14px;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
}

[data-theme="day"]{
  --bg:#f4f2ea;
  --bg2:#ebe8de;
  --bg3:#e3dfd2;
  --fg:#14181a;
  --fg2:#5c635e;
  --line:rgba(18,26,20,.14);
  --line2:rgba(18,26,20,.28);
  --neon:#0f9d45;
  --neon-ink:#0b7d36;
  --neon-soft:rgba(15,157,69,.12);
  --blue:#0a5fc4;
  --pink:#c8155f;
  --on-neon:#ffffff;
  --head-bg:rgba(244,242,234,.8);
  --shadow:0 26px 60px rgba(45,50,35,.16);
  --glow:0 0 50px rgba(15,157,69,.14);
  --grain:.03;
  --img-bright:1.02;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:"Supreme",-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:1.0625rem;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body,.head,.head-in,.foot,.vip,.ticker{transition:background-color .5s ease,color .5s ease,border-color .5s ease}
img{max-width:100%;display:block;height:auto;filter:brightness(var(--img-bright))}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{margin:0;font-weight:700}
p{margin:0}
ol,ul{margin:0;padding:0;list-style:none}
::selection{background:var(--neon);color:var(--on-neon)}
:focus-visible{outline:2px solid var(--neon);outline-offset:3px;border-radius:3px}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:none}

.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,52px)}
.hero-in>*,.how-in>*,.story-in>*,.vip-in>*,.contact-in>*,.faq-in>*,.row-in>*,.steps li>*,.perks li>*,.foot-top>*{min-width:0}
.sec{padding:clamp(84px,11vw,150px) 0;position:relative;scroll-margin-top:84px}
section[id]{scroll-margin-top:84px}

.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--neon);color:var(--on-neon);padding:12px 18px;border-radius:0 0 var(--r-sm) 0}
.skip:focus{left:0}

.grain{
  position:fixed;inset:0;z-index:120;pointer-events:none;opacity:var(--grain);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:110;pointer-events:none}
.progress i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--neon),var(--blue) 55%,var(--pink))}

/* ---------- type ---------- */
h1{
  font-family:"Tanker",sans-serif;font-weight:400;
  font-size:clamp(2.5rem,12.4vw,6.6rem);line-height:.88;letter-spacing:-.005em;
  text-transform:uppercase;
}
h1 em{font-style:normal;color:var(--neon);text-shadow:0 0 44px rgba(61,255,136,.5)}
[data-theme="day"] h1 em{text-shadow:none}
h2{
  font-family:"Excon",sans-serif;
  font-size:clamp(2rem,4.1vw,3.4rem);line-height:1.04;letter-spacing:-.025em;
}
h3{font-family:"Excon",sans-serif;font-size:1.08rem;letter-spacing:-.01em}
.eyebrow{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--neon-ink);margin-bottom:22px;
}
.lead{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--fg2);max-width:56ch;margin-top:22px}
.sec-lead{color:var(--fg2);max-width:60ch;margin-top:20px}
.sec-head{max-width:900px;margin-bottom:clamp(48px,6vw,74px)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:"Excon",sans-serif;font-weight:700;font-size:.95rem;letter-spacing:-.01em;
  padding:15px 26px;border-radius:var(--r-sm);border:1px solid transparent;
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease,border-color .25s ease;
  min-height:48px;
}
.btn-primary{background:var(--neon);color:var(--on-neon);box-shadow:0 12px 34px rgba(61,255,136,.2)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 44px rgba(61,255,136,.34)}
[data-theme="day"] .btn-primary{box-shadow:0 12px 30px rgba(15,157,69,.22)}
.btn-ghost{border-color:var(--line2);color:var(--fg)}
.btn-ghost:hover{border-color:var(--neon);color:var(--neon-ink);transform:translateY(-2px)}
.btn-sm{padding:11px 18px;font-size:.86rem;min-height:42px}
.btn-block{width:100%}
.i-out{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- header ---------- */
.head{position:fixed;top:0;left:0;right:0;z-index:90;border-bottom:1px solid transparent}
.head-in{display:flex;align-items:center;gap:24px;height:76px}
.head.is-stuck{background:var(--head-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--line)}
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.brand-mark{
  width:22px;height:22px;border-radius:50%;background:var(--neon);
  box-shadow:0 0 22px rgba(61,255,136,.6);position:relative;overflow:hidden;
}
.brand-mark::after{content:"";position:absolute;inset:-6px -12px -6px 8px;border-radius:50%;background:var(--bg);transition:background-color .5s ease}
.brand-name{font-family:"Excon",sans-serif;font-weight:700;font-size:1.16rem;letter-spacing:.01em}
.nav{display:flex;gap:30px;margin-left:auto;font-size:.92rem;color:var(--fg2)}
.nav a{position:relative;padding:6px 0;transition:color .2s ease}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--neon);transition:right .3s ease}
.nav a:hover{color:var(--fg)}
.nav a:hover::after{right:0}
.head-act{display:flex;align-items:center;gap:14px;margin-left:auto}
.nav+.head-act{margin-left:0}

.lights{display:flex;align-items:center;gap:10px;padding:6px;border-radius:999px}
.lights-track{
  position:relative;display:inline-flex;align-items:center;justify-content:space-between;
  width:60px;height:30px;padding:0 8px;border:1px solid var(--line2);border-radius:999px;
  background:var(--bg2);
}
.lights svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;opacity:.42;position:relative;z-index:2}
.i-moon{fill:currentColor;stroke:none}
.lights-knob{
  position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;
  background:var(--neon);box-shadow:0 0 16px rgba(61,255,136,.7);
  transition:transform .38s cubic-bezier(.5,1.6,.4,1);z-index:1;
}
.lights[aria-pressed="true"] .lights-knob{transform:translateX(30px)}
.lights[aria-pressed="true"] .i-moon{opacity:0}
.lights[aria-pressed="false"] .i-sun{opacity:0}
.lights-txt{font-family:var(--mono);font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg2);white-space:nowrap}

.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:6px}
.burger span{display:block;width:22px;height:1.5px;background:var(--fg);transition:transform .3s ease,opacity .3s ease}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}

.menu{
  position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);
  padding:14px clamp(20px,5vw,52px) 28px;display:flex;flex-direction:column;
}
.menu[hidden]{display:none}
.menu a{padding:15px 0;border-bottom:1px solid var(--line);font-family:"Excon",sans-serif;font-size:1.05rem}
.menu-act{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.menu-act a{border:0;padding:15px 26px}

/* ---------- hero ---------- */
.hero{position:relative;padding:132px 0 64px;overflow:hidden}
.hero-glow{
  position:absolute;inset:-20% -10% auto -30%;height:150%;pointer-events:none;z-index:0;
  background:
    radial-gradient(46% 42% at 18% 28%,var(--neon-soft),transparent 70%),
    radial-gradient(38% 34% at 78% 12%,rgba(53,186,255,.11),transparent 72%),
    radial-gradient(40% 40% at 62% 82%,rgba(255,61,146,.09),transparent 74%);
  filter:blur(24px);
}
[data-theme="day"] .hero-glow{opacity:.75}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(36px,5vw,72px);align-items:center}
.hero-copy{padding-bottom:10px}
.hero h1{margin-bottom:0}
.hero-act{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

.count{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0;margin-top:42px;border-top:1px solid var(--line);padding-top:20px}
.count-u{padding-right:26px;margin-right:26px;border-right:1px solid var(--line);line-height:1}
.count-u:nth-child(4){border-right:0;margin-right:0;padding-right:0}
.count-u b{display:block;font-family:"Tanker",sans-serif;font-weight:400;font-size:2.5rem;letter-spacing:.01em}
.count-u span{font-family:var(--mono);font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fg2)}
.count-note{width:100%;margin-top:18px;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg2)}

.hero-fig{margin:0;position:relative}
.hero-fig::before{
  content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--line2);border-radius:var(--r-md);z-index:0;
}
.hero-fig img{
  position:relative;z-index:1;width:100%;border-radius:var(--r-md);border:1px solid var(--line);
  box-shadow:var(--shadow),var(--glow);aspect-ratio:4/5;object-fit:cover;
  max-height:min(62svh,620px);
}
.hero-cap{
  position:relative;z-index:2;margin-top:20px;font-family:var(--mono);font-size:.66rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--fg2);
}
.hero-hint{
  position:relative;z-index:1;margin-top:clamp(40px,6vw,64px);text-align:center;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg2);
}
.hero-hint b{color:var(--neon-ink);font-weight:400}

/* ---------- ticker ---------- */
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);overflow:hidden;padding:17px 0}
.ticker-in{display:flex;align-items:center;gap:26px;white-space:nowrap;width:max-content;animation:slide 44s linear infinite}
.ticker span{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg2)}
.ticker i{width:6px;height:6px;background:var(--neon);transform:rotate(45deg);flex:0 0 auto;box-shadow:0 0 12px rgba(61,255,136,.7)}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- lineup ---------- */
.rows{border-bottom:1px solid var(--line)}
.row-in{
  display:grid;grid-template-columns:60px 1fr 96px;gap:clamp(16px,3vw,40px);align-items:center;
  padding:clamp(24px,3vw,34px) 0;border-top:1px solid var(--line);position:relative;
}
.row-in::before{
  content:"";position:absolute;left:-24px;right:-24px;top:0;bottom:0;z-index:-1;opacity:0;
  background:linear-gradient(90deg,var(--neon-soft),transparent 60%);transition:opacity .4s ease;
}
.row-in:hover::before{opacity:1}
.row-no{font-family:var(--mono);font-size:.72rem;color:var(--fg2);letter-spacing:.1em}
.row-name{
  display:block;font-family:"Excon",sans-serif;font-weight:700;letter-spacing:-.025em;
  font-size:clamp(1.55rem,3.1vw,2.4rem);line-height:1.08;
  transition:transform .4s cubic-bezier(.2,.8,.3,1),color .3s ease;
}
.row-in:hover .row-name{transform:translateX(12px);color:var(--neon-ink)}
.row-txt{display:block;color:var(--fg2);max-width:52ch;margin-top:9px;font-size:.98rem}
.row-in:hover .row-txt{transform:translateX(12px);transition:transform .45s cubic-bezier(.2,.8,.3,1)}
.row-tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fg2);text-align:right}
.row-media{display:none}
.rows-foot{margin-top:34px;color:var(--fg2);max-width:60ch}
.rows-foot a{color:var(--neon-ink);border-bottom:1px solid var(--line2)}
.rows-foot a:hover{border-color:var(--neon)}

.follower{
  position:fixed;top:0;left:0;width:290px;height:290px;object-fit:cover;border-radius:var(--r-md);
  z-index:4;pointer-events:none;opacity:0;border:1px solid var(--line2);box-shadow:var(--shadow);
  transform:translate3d(var(--fx,0),var(--fy,0),0) translate(-50%,-50%) scale(.88);
  transition:opacity .35s ease,transform .35s cubic-bezier(.2,.8,.3,1);
}
.follower.is-on{opacity:1;transform:translate3d(var(--fx,0),var(--fy,0),0) translate(-50%,-50%) scale(1)}

/* ---------- film ---------- */
.film{position:relative;padding-bottom:clamp(60px,8vw,110px)}
.film-stage{position:relative;width:100%;aspect-ratio:16/9;max-height:82svh;overflow:hidden;background:#000}
.film-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film-night{clip-path:inset(0 calc(100% - var(--wipe,0%)) 0 0)}
.film-edge{
  position:absolute;top:0;bottom:0;left:var(--wipe,0%);width:2px;
  background:linear-gradient(180deg,transparent,var(--neon),transparent);
  box-shadow:0 0 30px 6px rgba(61,255,136,.45);opacity:.9;
}
.film-copy{margin-top:clamp(34px,5vw,56px)}
.film-copy h2{max-width:20ch}
.film-copy p{color:var(--fg2);max-width:56ch;margin-top:18px}
.film-hud{display:flex;align-items:center;gap:16px;margin-top:34px;max-width:520px;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg2)}
.film-bar{flex:1;height:2px;background:var(--line);display:block}
.film-bar b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--neon),var(--blue));box-shadow:0 0 14px rgba(61,255,136,.6)}

/* ---------- how ---------- */
.how-in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,86px);align-items:start}
.steps{margin-top:52px}
.steps li{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps b{font-family:"Tanker",sans-serif;font-weight:400;font-size:1.9rem;color:var(--neon-ink);line-height:1;grid-row:span 2}
.steps h3{margin-bottom:8px;grid-column:2}
.steps p{color:var(--fg2);font-size:.98rem;max-width:52ch;grid-column:2}
.how-fig{margin:0;position:sticky;top:110px}
.how-fig img{width:100%;border-radius:var(--r-md);border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:1;object-fit:cover}
.how-fig figcaption{margin-top:16px;font-family:var(--mono);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--fg2);line-height:1.7}

/* ---------- vip ---------- */
.vip{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.vip::before,.vip::after{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--neon),var(--blue) 48%,var(--pink))}
.vip::before{top:-1px}
.vip::after{bottom:-1px}
.vip-in{display:grid;grid-template-columns:1fr .82fr;gap:clamp(40px,6vw,80px);align-items:start}
.perks{margin-top:40px;border-top:1px solid var(--line)}
.perks li{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:baseline;padding:17px 0;border-bottom:1px solid var(--line)}
.perks b{font-family:var(--mono);font-size:.72rem;color:var(--neon-ink);letter-spacing:.1em}
.perks span{font-size:1.02rem}
.vip-alt{margin-top:26px;color:var(--fg2);font-size:.95rem}
.vip-alt a{color:var(--neon-ink);border-bottom:1px solid var(--line2)}
.vip-form{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(24px,3vw,38px);box-shadow:var(--shadow)}
.form-kicker{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg2);margin-bottom:20px}

/* ---------- forms ---------- */
.field{display:block;margin-bottom:18px}
.field>span{display:flex;gap:8px;align-items:baseline;font-family:var(--mono);font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fg2);margin-bottom:9px}
.field>span i{font-style:normal;text-transform:none;letter-spacing:.04em;opacity:.7;font-size:.7rem}
.field input,.field textarea,.field select{
  width:100%;padding:14px 16px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-sm);
  color:var(--fg);font-family:"Supreme",sans-serif;font-size:1rem;transition:border-color .25s ease,box-shadow .25s ease;
  -webkit-appearance:none;appearance:none;
}
.vip-form .field input,.vip-form .field select{background:var(--bg2)}
.field textarea{resize:vertical;min-height:120px}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2395a29a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:42px}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--neon);box-shadow:0 0 0 3px var(--neon-soft)}
.field input::placeholder,.field textarea::placeholder{color:var(--fg2);opacity:.55}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-status{min-height:22px;margin-top:14px;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg2)}
.form-status.is-ok{color:var(--neon-ink)}
.form-status.is-err{color:var(--pink)}
.form-fine{margin-top:6px;font-size:.82rem;color:var(--fg2);line-height:1.6}
.is-sending{opacity:.6;pointer-events:none}

/* ---------- story ---------- */
.story-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,84px);align-items:center}
.story-fig{margin:0;position:relative}
.story-fig img{width:100%;border-radius:var(--r-md);border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover}
.story-copy p{color:var(--fg2);margin-top:20px;max-width:56ch}
.story-copy blockquote{
  margin:32px 0 0;padding-left:26px;border-left:2px solid var(--neon);
  font-family:"Excon",sans-serif;font-weight:700;font-size:clamp(1.2rem,2.2vw,1.62rem);
  line-height:1.3;letter-spacing:-.02em;color:var(--fg);
}

/* ---------- gallery ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.shot{position:relative;padding:0;overflow:hidden;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg2);aspect-ratio:4/5}
.shot-wide{grid-column:span 2;aspect-ratio:8/5}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.3,1),filter .5s ease}
.shot:hover img{transform:scale(1.05);filter:brightness(1.1)}
.shot-tag{
  position:absolute;left:14px;bottom:14px;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fg);background:rgba(8,9,10,.72);border:1px solid var(--line);
  padding:6px 10px;border-radius:4px;backdrop-filter:blur(6px);
}
[data-theme="day"] .shot-tag{background:rgba(244,242,234,.82);color:var(--fg)}
.shot::after{
  content:"";position:absolute;inset:0;border-radius:var(--r-md);box-shadow:inset 0 0 0 1px transparent;
  transition:box-shadow .35s ease;
}
.shot:hover::after{box-shadow:inset 0 0 0 1px var(--neon)}

/* ---------- faq ---------- */
.faq-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,5vw,80px);align-items:start}
.faq-head{position:sticky;top:110px}
.qs{border-top:1px solid var(--line)}
.qs details{border-bottom:1px solid var(--line)}
.qs summary{
  list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;
  font-family:"Excon",sans-serif;font-weight:700;font-size:1.06rem;letter-spacing:-.015em;
  transition:color .25s ease;
}
.qs summary::-webkit-details-marker{display:none}
.qs summary:hover{color:var(--neon-ink)}
.qs summary::before,.qs summary::after{
  content:"";position:absolute;right:6px;top:50%;background:var(--neon);transition:transform .35s ease;
}
.qs summary::before{width:13px;height:1.5px;margin-top:-.75px}
.qs summary::after{width:1.5px;height:13px;margin-top:-6.5px;right:11.75px}
.qs details[open] summary::after{transform:rotate(90deg)}
.qs details>div{overflow:hidden}
.qs details p{color:var(--fg2);max-width:66ch;padding-bottom:26px;font-size:1rem}
.qs details a{color:var(--neon-ink);border-bottom:1px solid var(--line2)}

/* ---------- contact ---------- */
.contact-in{display:grid;grid-template-columns:1fr .9fr;gap:clamp(40px,6vw,80px);align-items:start}
.direct{margin-top:44px;border-top:1px solid var(--line)}
.direct li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}
.direct-k{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg2)}
.direct-v{font-family:"Excon",sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:-.01em}
a.direct-v:hover{color:var(--neon-ink)}
.contact-form{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(24px,3vw,38px)}
.contact-form .field input,.contact-form .field textarea{background:var(--bg)}

/* ---------- footer ---------- */
.foot{background:var(--bg2);border-top:1px solid var(--line);padding-top:clamp(60px,7vw,90px);overflow:hidden}
.foot-top{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(36px,5vw,70px)}
.foot-brand p{color:var(--fg2);margin:18px 0 26px;max-width:34ch}
.foot-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.foot-nav h3{font-family:var(--mono);font-weight:400;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fg2);margin-bottom:16px}
.foot-nav a{display:block;padding:6px 0;color:var(--fg);font-size:.95rem;transition:color .2s ease}
.foot-nav a:hover{color:var(--neon-ink)}
.foot-mark{
  font-family:"Tanker",sans-serif;font-size:clamp(6rem,23vw,19rem);line-height:.74;text-align:center;
  margin:clamp(30px,5vw,50px) 0 -.14em;letter-spacing:.02em;
  background:linear-gradient(180deg,var(--fg) -20%,transparent 92%);
  -webkit-background-clip:text;background-clip:text;color:transparent;opacity:.13;user-select:none;
}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding:24px 0 30px;border-top:1px solid var(--line);font-size:.82rem;color:var(--fg2)}
.heart{color:var(--pink)}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:130;background:rgba(4,5,5,.95);backdrop-filter:blur(12px);
  display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,54px);opacity:0;transition:opacity .3s ease}
.lb[hidden]{display:none}
.lb.is-on{opacity:1}
.lb-fig{margin:0;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:16px;transform:scale(.96);transition:transform .35s cubic-bezier(.2,.8,.3,1)}
.lb.is-on .lb-fig{transform:scale(1)}
.lb-fig img{max-width:min(94vw,1100px);max-height:78svh;object-fit:contain;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.14)}
.lb-fig figcaption{display:flex;flex-wrap:wrap;gap:14px;align-items:baseline;justify-content:center;color:#cfe3d6;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-align:center;max-width:70ch}
.lb-fig figcaption b{color:#3dff88;font-weight:400}
.lb-close,.lb-nav{position:absolute;width:52px;height:52px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#fff;background:rgba(255,255,255,.05);transition:background-color .25s ease,border-color .25s ease}
.lb-close:hover,.lb-nav:hover{background:rgba(61,255,136,.16);border-color:#3dff88}
.lb-close{top:18px;right:18px}
.lb-prev{left:18px;top:50%;margin-top:-26px}
.lb-next{right:18px;top:50%;margin-top:-26px}
.lb svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.lb-open{overflow:hidden}

/* ---------- reveal ---------- */
.js [data-reveal]{opacity:0;transform:translateY(26px)}
.js [data-reveal].is-in{opacity:1;transform:none;transition:opacity .85s cubic-bezier(.16,.84,.34,1),transform .85s cubic-bezier(.16,.84,.34,1)}
.js [data-reveal].is-in{transition-delay:var(--d,0ms)}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .lights-txt{display:none}
  .nav{gap:22px;font-size:.88rem}
}
@media (max-width:1020px){
  .nav{display:none}
  .burger{display:flex}
  .head-in{gap:14px}
  .hero-in{grid-template-columns:1fr;gap:44px}
  .hero{padding-top:120px}
  .hero-fig{max-width:520px}
  .hero-fig::before{inset:18px -18px -18px 18px}
  .how-in,.story-in,.vip-in,.contact-in,.faq-in{grid-template-columns:1fr}
  .how-fig,.faq-head{position:static}
  .how-fig{max-width:520px}
  .story-fig{max-width:520px;order:2}
  .foot-top{grid-template-columns:1fr}
}
@media (max-width:860px){
  .follower{display:none}
  .row-in{grid-template-columns:44px 1fr;row-gap:16px;align-items:start}
  .row-tag{grid-column:2;text-align:left;order:3}
  .row-media{display:block;grid-column:1/-1;order:4;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--line);margin-top:6px}
  .row-in:hover .row-name,.row-in:hover .row-txt{transform:none}
  .grid{grid-template-columns:repeat(2,1fr)}
  .shot-wide{grid-column:span 2;aspect-ratio:16/9}
  .foot-nav{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:1rem}
  .hero{padding-top:106px}
  .count-u{padding-right:16px;margin-right:16px}
  .count-u b{font-size:2rem}
  .field-row{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .shot,.shot-wide{grid-column:span 1;aspect-ratio:4/3}
  .foot-nav{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column;gap:8px}
  .lb-close{top:10px;right:10px}
  .lb-prev{left:8px}
  .lb-next{right:8px}
  .film-stage{aspect-ratio:4/3}
}
@media (max-width:420px){
  .count-u{padding-right:12px;margin-right:12px}
  .count-u b{font-size:1.7rem}
  .btn{width:100%}
  .hero-act{gap:10px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .js [data-reveal]{opacity:1;transform:none}
  .ticker-in{animation:none}
  .follower{display:none}
}
