/* Soho Escorts London, Guest of Soho */

:root{
  --bg:#09090b;--bg2:#0e0e11;--bg3:#15151a;
  --pink:#ff3d9a;--pink-hi:#ff8cc6;--pink-lo:#c2126b;--glow:rgba(255,61,154,.42);
  --ink:#f2eff5;--mut:rgba(242,239,245,.72);--dim:rgba(242,239,245,.5);
  --line:rgba(255,255,255,.085);--line2:rgba(255,255,255,.19);--ok:#6dffb0;
  --head:"Unica One","Arial Narrow",sans-serif;
  --body:"Chivo","Segoe UI",system-ui,sans-serif;
  --mono:"Chivo Mono","Consolas",ui-monospace,monospace;
  --g:clamp(16px,4.5vw,64px);--ease:cubic-bezier(.2,1,.3,1);--spring:cubic-bezier(.34,1.56,.64,1);
  --holo:conic-gradient(from var(--h,0deg),#ff3d9a,#ff9ad0,#9be8ff,#fff3a1,#c9a2ff,#ff3d9a);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
html,body{overflow-x:hidden;max-width:100%}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{background:var(--bg);color:var(--ink);font:400 1rem/1.65 var(--body);-webkit-font-smoothing:antialiased;min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 50% 40% at 85% 10%,rgba(255,61,154,.08),transparent 70%),radial-gradient(ellipse 40% 40% at 0% 100%,rgba(155,232,255,.04),transparent 70%)}
::selection{background:var(--pink);color:#0b0b0d}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
svg{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--pink-hi);outline-offset:3px}
.wrap{max-width:1320px;margin-inline:auto;padding-inline:var(--g)}
section{position:relative;scroll-margin-top:96px}
h1,h2,h3{font-family:var(--head);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.92;overflow-wrap:break-word}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-80px;z-index:300;padding:.8rem 1rem;border-radius:8px;background:var(--pink);color:#0b0b0d;font:600 .8rem/1 var(--body)}
.skip:focus{top:12px}
.sys{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.3rem .5rem;font:500 .68rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.sys b{color:var(--pink);font-weight:500}
.cur{display:inline-block;width:.55em;height:1.05em;background:var(--pink);vertical-align:-.15em;animation:cur 1s steps(1) infinite}
@keyframes cur{50%{opacity:0}}
.led{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:blink 2s infinite}
.led.p{background:var(--pink);box-shadow:0 0 8px var(--pink)}
.led.off{background:#8c8c96;box-shadow:none;animation:none}
@keyframes blink{50%{opacity:.35}}
.kw{display:inline-block;max-width:100%;padding:.04em .14em 0;background:var(--pink);color:#0b0b0d;box-shadow:0 0 40px -6px var(--glow)}
.h2{font-size:clamp(2.8rem,7vw,6.2rem)}
.h2m{font-size:clamp(2.3rem,5.4vw,4.6rem)}
.lede{max-width:58ch;color:var(--mut);font-size:clamp(1rem,1.25vw,1.1rem)}
.sec-head{display:grid;gap:1rem;margin-bottom:clamp(1.8rem,4.4vw,3rem);min-width:0}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:1rem 1.4rem;border-radius:10px;font:600 .78rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;background:var(--pink);color:#0b0b0d;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 14px 40px -14px var(--glow);transition:transform .4s var(--ease),box-shadow .4s,background .3s,color .3s;white-space:nowrap;overflow:hidden;text-align:center}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s var(--ease);pointer-events:none}
.btn:hover{transform:translateY(-3px);background:var(--pink-hi);box-shadow:0 22px 50px -14px var(--glow)}
.btn:hover::after{transform:translateX(120%)}
.btn svg{width:19px;height:19px;fill:currentColor;flex:none}
.btn.gh{background:rgba(255,255,255,.03);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.btn.gh:hover{box-shadow:inset 0 0 0 1px var(--pink);color:var(--pink-hi)}
.btn.sm{min-height:42px;padding:.65rem .9rem;font-size:.64rem;gap:.45rem}
.btn.sm svg{width:16px;height:16px}
.ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:clamp(1rem,2.4vh,1.6rem)}
.pill{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .62rem;border-radius:6px;font:500 .6rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:rgba(9,9,11,.75);box-shadow:inset 0 0 0 1px var(--line2);white-space:nowrap}
.pill.pk{background:var(--pink);color:#0b0b0d;box-shadow:none}
.chip{display:block;width:clamp(40px,5.4vw,54px);aspect-ratio:1.3;border-radius:7px;background:linear-gradient(90deg,transparent 32%,rgba(0,0,0,.3) 32% 34%,transparent 34% 66%,rgba(0,0,0,.3) 66% 68%,transparent 68%),linear-gradient(0deg,transparent 45%,rgba(0,0,0,.3) 45% 55%,transparent 55%),linear-gradient(135deg,#f0f0f4,#9a9aa3 60%,#d6d6dd);box-shadow:inset 0 0 0 1px rgba(0,0,0,.3)}
@keyframes hs{to{filter:hue-rotate(360deg)}}
.prose{min-width:0;max-width:70ch}
.prose p{margin-bottom:1.05em;color:var(--mut);font-size:1.02rem;line-height:1.78}
.prose p:last-child{margin-bottom:0}
.prose a:not(.btn),.ph-intro a:not(.btn),.lede a:not(.btn),.qa-a a:not(.btn),.tip a:not(.btn),.pf-tag a:not(.btn),.avail a:not(.btn),.lad-note a:not(.btn),.fin-copy .lede a:not(.btn),.gb a:not(.btn),.dep p a:not(.btn),.art-body a:not(.btn),.lk-x a:not(.btn),.nf a:not(.btn),.pf-small a:not(.btn),.clause a:not(.btn){color:var(--pink-hi);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose a:not(.btn):hover,.ph-intro a:not(.btn):hover,.lede a:not(.btn):hover,.qa-a a:not(.btn):hover,.tip a:not(.btn):hover,.art-body a:not(.btn):hover,.pf-small a:not(.btn):hover{color:var(--ink)}
.tip{margin:1.6rem 0 .4rem;padding:1.1rem 1.2rem 1.2rem;border-radius:14px;background:linear-gradient(160deg,rgba(255,61,154,.09),rgba(255,255,255,.015) 60%);box-shadow:inset 0 0 0 1px rgba(255,61,154,.28)}
.tip ul{display:grid;gap:.55rem;margin-top:.8rem}
.tip li{position:relative;padding-left:1.4rem;color:var(--ink);font-size:.97rem;line-height:1.6}
.tip li::before{content:">";position:absolute;left:0;top:0;font:500 .8rem/1.9 var(--mono);color:var(--pink)}
.tip p{margin-top:.6rem;color:var(--ink);font-size:.97rem}
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--rd,0s);animation:rvsafe 0s 2.5s forwards}
.js .rv.in{opacity:1;transform:none}
@keyframes rvsafe{to{opacity:1;transform:none}}

.sysline{position:relative;z-index:72;display:flex;justify-content:center;align-items:center;gap:.4rem 1.2rem;flex-wrap:wrap;min-height:30px;padding:.35rem var(--g);background:#050506;border-bottom:1px solid var(--line);font:500 .64rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.sysline b{color:var(--ink);font-weight:500}
.sysline .pk{color:var(--pink)}
header.site{position:sticky;top:0;z-index:70;background:rgba(9,9,11,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:66px}
.logo{display:flex;align-items:center;gap:.75rem;min-width:0}
.logo-card{position:relative;width:44px;height:28px;flex:none;border-radius:5px;background:linear-gradient(135deg,#2a2a31,#0f0f12);box-shadow:inset 0 0 0 1px var(--line2)}
.logo-card::before{content:"";position:absolute;left:5px;top:8px;width:9px;height:7px;border-radius:2px;background:linear-gradient(135deg,#d9d9e0,#8a8a93)}
.logo-card::after{content:"";position:absolute;right:5px;bottom:5px;width:12px;height:8px;border-radius:2px;background:var(--holo);animation:hs 6s linear infinite}
.logo-text{font:400 1.5rem/.9 var(--head);text-transform:uppercase;white-space:nowrap}
.logo-text small{display:block;margin-top:.2rem;font:500 .52rem/1 var(--mono);letter-spacing:.14em;color:var(--dim)}
nav.main ul{display:flex;gap:.1rem}
nav.main a{display:block;padding:.55rem .8rem;border-radius:8px;font:500 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);transition:color .3s,background .3s}
nav.main a:hover{color:var(--ink);background:rgba(255,255,255,.05)}
nav.main a:hover::before,nav.main a[aria-current]::before{content:"> ";color:var(--pink)}
nav.main a[aria-current]{color:var(--ink)}
.nav-tag{display:none}
.head-r{display:flex;align-items:center;gap:.6rem}
.head-cta{min-height:44px;padding:.7rem 1.1rem;font-size:.7rem}
.menu-btn{display:none;width:44px;height:44px;border-radius:10px;place-items:center;box-shadow:inset 0 0 0 1px var(--line2)}
.menu-btn i{display:block;width:18px;height:2px;background:#fff;box-shadow:0 6px 0 #fff,0 -6px 0 #fff;transition:transform .4s var(--ease),box-shadow .3s}
.menu-open .menu-btn i{transform:rotate(45deg);box-shadow:0 0 0 #fff,0 0 0 #fff}
@media (max-width:1240px){nav.main a{padding:.55rem .5rem;letter-spacing:.08em}}
@media (max-width:1080px){
  nav.main{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 96px);overflow-y:auto;background:var(--bg);border-bottom:1px solid var(--line);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .5s var(--ease),visibility 0s .5s}
  .menu-open nav.main{clip-path:inset(0);visibility:visible;transition:clip-path .5s var(--ease)}
  nav.main ul{flex-direction:column;padding:.6rem var(--g) 1rem}
  nav.main a{font:400 clamp(2rem,9vw,2.6rem)/1 var(--head);padding:.75rem 0;border-radius:0;border-bottom:1px solid var(--line);color:#fff}
  nav.main a:hover{background:none}
  nav.main a:hover::before,nav.main a[aria-current]::before{content:none}
  nav.main a[aria-current]{color:var(--pink)}
  .nav-tag{display:block;padding:0 var(--g) 1.4rem;font:500 .62rem/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
  .menu-btn{display:grid}
}
@media (max-width:560px){.head-cta{display:none}.logo-text small{display:none}.sysline .opt{display:none}}
.crumbs{border-bottom:1px solid var(--line);background:rgba(5,5,6,.6)}
.crumbs .wrap{display:flex;align-items:flex-start;gap:.6rem;min-height:40px;padding-block:.62rem}
.crumbs-p{font:500 .7rem/1.4 var(--mono);color:var(--pink)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.2rem .45rem;min-width:0;font:500 .64rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.crumbs li{display:inline-flex;gap:.45rem;min-width:0}
.crumbs li+li::before{content:"/";color:rgba(242,239,245,.28)}
.crumbs a:hover{color:var(--pink-hi)}
.crumbs [aria-current]{color:var(--mut);overflow-wrap:anywhere}

:where(svg.i){width:1em;height:1em}
svg.i{display:inline-block;fill:currentColor;flex:none}
footer.ft{padding:clamp(3rem,6vw,4.5rem) 0 2rem;background:#050506;border-top:1px solid var(--line)}
.ft-top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:2.2rem 2.4rem}
.ft-brand p{margin-top:1rem;font-size:.9rem;color:var(--dim);max-width:40ch}
.ft-brand p a{color:var(--pink-hi);text-decoration:underline;text-underline-offset:3px}
.ft-contact{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.ft-contact a{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.6rem .95rem;border-radius:10px;font:600 .66rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink);transition:box-shadow .3s,color .3s}
.ft-contact a:hover{box-shadow:inset 0 0 0 1px var(--pink);color:var(--pink-hi)}
.ft-contact a.wa{background:var(--pink);color:#0b0b0d;box-shadow:none}
.ft-contact svg{width:17px;height:17px}
.ft-h{margin-bottom:1rem;font:500 .62rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--pink)}
.ft-h a:hover{color:var(--pink-hi)}
.ft-col ul{display:grid;gap:.5rem;font-size:.9rem;color:var(--mut)}
.ft-col li{min-width:0}
.ft-col a{transition:color .25s}
.ft-col a:hover{color:var(--pink-hi)}
.ft-col small{margin-left:.4rem;font:500 .56rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.ft-wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2rem 2.4rem;margin-top:2.4rem;padding-top:2rem;border-top:1px solid var(--line)}
.ft-wide .ft-col ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.4rem}
.ft-base{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--dim)}
.ft-base nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.ft-base nav a:hover{color:var(--pink-hi)}
.ft-age{display:inline-grid;place-items:center;width:44px;height:44px;margin-right:.7rem;vertical-align:middle;border-radius:10px;background:var(--pink);color:#0b0b0d;font:400 1.3rem/1 var(--head)}
.ft-safe{flex-basis:100%;font-size:.78rem}
.ft-safe a{color:var(--pink-hi);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){.ft-top{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1}}
@media (max-width:760px){.ft-wide{grid-template-columns:1fr}}
@media (max-width:560px){.ft-top{grid-template-columns:1fr}.ft-col ul{grid-template-columns:1fr 1fr;column-gap:1rem}.ft-wide .ft-col ul{grid-template-columns:1fr}}
.cc-mbar{display:none}
@media (max-width:768px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .cc-mbar{position:fixed;left:0;right:0;bottom:0;z-index:99;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(9,9,11,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line2)}
  .cc-mbar a{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;border-radius:10px;font:600 .78rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
  .cc-mbar svg{width:20px;height:20px}
  .cc-mbar .cc-wa{background:var(--pink);color:#0b0b0d}
  .cc-mbar .cc-tg{box-shadow:inset 0 0 0 1px var(--line2)}
  footer.ft{padding-bottom:2rem}
}
.lb-open .cc-mbar{display:none}

/* page hero */
.phero{position:relative;padding:clamp(2rem,5vw,4.2rem) 0 clamp(2.4rem,5vw,4rem);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.phero::before,.art-head::before,.pf-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask:radial-gradient(ellipse 60% 75% at 78% 35%,#000,transparent 75%);mask:radial-gradient(ellipse 60% 75% at 78% 35%,#000,transparent 75%);opacity:.55}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(1.6rem,4vw,4rem);align-items:end}
.phero.solo .ph-grid{grid-template-columns:minmax(0,1fr)}
.ph-copy{min-width:0}
.hero-top{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}
.ph-h1{margin:clamp(.8rem,2vh,1.2rem) 0 1rem;font-size:clamp(2.7rem,8vw,6.4rem);line-height:.9}
.ph-h1.long{font-size:clamp(2.2rem,5.4vw,4.6rem)}
.ph-intro{display:grid;gap:.9rem;max-width:62ch}
.ph-intro p{color:var(--mut);font-size:clamp(1rem,1.3vw,1.12rem)}
.ph-intro p:first-child{color:var(--ink)}
.ph-aside{min-width:0;display:grid;justify-items:end}
.ph-count{display:grid;justify-items:end;gap:.5rem;text-align:right}
.ph-count>b{font:400 clamp(5rem,11vw,9rem)/.8 var(--head);color:var(--pink);text-shadow:0 0 40px var(--glow)}
.ph-count>span:not(.sys){font:500 .66rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.ph-codes{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem;max-width:22rem;margin-top:1rem}
.ph-codes span{padding:.35rem .55rem;border-radius:6px;font:500 .64rem/1 var(--mono);letter-spacing:.08em;color:var(--mut);box-shadow:inset 0 0 0 1px var(--line2)}
.ph-post{position:relative;display:grid;gap:.6rem;width:min(100%,22rem);padding:1.3rem;border-radius:18px;background:linear-gradient(145deg,#1f1f25,#0e0e11 60%,#18181d);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px var(--line2),0 30px 60px -36px #000;overflow:hidden}
.ph-post::after{content:"";position:absolute;right:-26px;top:-26px;width:96px;height:96px;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,255,255,.35) 0 1px,transparent 1px 4px),var(--holo);opacity:.45;mix-blend-mode:screen}
.ph-code{font:400 clamp(4rem,9vw,6rem)/.8 var(--head);color:transparent;-webkit-text-stroke:1.4px var(--pink-hi);text-transform:uppercase}
.ph-st{display:flex;align-items:center;gap:.5rem;font:500 .66rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.ph-st svg{width:15px;height:15px;color:var(--pink)}
.ph-st b{margin-left:auto;color:var(--ink);font-weight:500}
.ph-file{position:relative;display:grid;gap:.7rem;width:min(100%,20rem);padding:1.3rem 1.2rem;border-radius:10px;background:linear-gradient(170deg,#18181c,#0e0e11);box-shadow:inset 0 0 0 1px var(--line2),0 40px 80px -40px #000;transform:rotate(1.2deg)}
.ph-file-t{font:400 2.2rem/.9 var(--head);text-transform:uppercase}
.ph-rule{display:block;height:1px;border-top:1px dashed var(--line2)}
.ph-file .stamp{position:absolute;right:1rem;bottom:.9rem;padding:.25rem .5rem .15rem;border:2px solid var(--pink);border-radius:5px;color:var(--pink);font:400 1.1rem/1 var(--head);letter-spacing:.08em;text-transform:uppercase;transform:rotate(-10deg)}
@media (max-width:900px){.ph-grid{grid-template-columns:minmax(0,1fr);align-items:start}.ph-aside{justify-items:start}.ph-count{justify-items:start;text-align:left}.ph-codes{justify-content:flex-start}.ph-count{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:1rem;row-gap:.3rem;width:100%;padding-top:1.2rem;border-top:1px dashed var(--line2)}.ph-count>b{grid-row:1/3;font-size:clamp(3.6rem,17vw,5rem)}.ph-file{transform:none}}

/* metal card (rates hero, services) */
.mcard{--h:0deg;position:relative;width:min(100%,24rem);aspect-ratio:1.586/1;border-radius:clamp(14px,1.6vw,20px);overflow:hidden;padding:clamp(1rem,2.4vw,1.4rem);display:grid;grid-template-rows:auto 1fr auto auto;color:#d9d9e0;background:radial-gradient(ellipse 60% 70% at 30% 20%,rgba(255,255,255,.13),transparent 60%),repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),linear-gradient(135deg,#26262d 0%,#111114 48%,#1c1c21 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px rgba(255,255,255,.1),0 40px 80px -30px #000,0 0 90px -40px var(--glow);transform:rotate(-2deg)}
.mc-top{display:flex;justify-content:space-between;align-items:flex-start}
.mc-brand{font:400 clamp(1.2rem,2.4vw,1.6rem)/.85 var(--head);color:#ededf2;letter-spacing:.04em;text-transform:uppercase}
.mc-brand small{display:block;margin-top:.3rem;font:500 .5rem/1 var(--mono);letter-spacing:.2em;color:rgba(217,217,224,.55)}
.mc-top svg{width:22px;height:22px;color:rgba(217,217,224,.7)}
.mcard .chip{align-self:center;width:clamp(38px,4.6vw,48px)}
.mcard .holo{position:absolute;right:clamp(1rem,2.4vw,1.4rem);top:42%;width:clamp(52px,6vw,68px);aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.35) 0 1px,transparent 1px 4px),var(--holo);opacity:.9;mix-blend-mode:screen;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);display:grid;place-items:center;font:400 1.3rem/1 var(--head);color:rgba(20,20,26,.55);animation:hs 9s linear infinite}
.mcard .num{font:500 clamp(.8rem,1.6vw,1rem)/1 var(--mono);letter-spacing:.14em;color:#c9c9d1;text-shadow:0 -1px 0 rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.22);white-space:nowrap;text-transform:uppercase}
.mc-bot{display:flex;justify-content:space-between;align-items:flex-end;gap:.8rem;margin-top:.5rem}
.mc-bot b{display:block;font:400 clamp(1.05rem,2vw,1.35rem)/.9 var(--head);color:#f4f4f8;letter-spacing:.06em;text-transform:uppercase}
.mc-bot small{display:block;margin-top:.25rem;font:500 .5rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(217,217,224,.55)}
@media (max-width:900px){.mcard{transform:none}}

/* door reader (booking hero) */
.reader{position:relative;width:min(100%,26rem);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.9rem;padding:.8rem .9rem;border-radius:14px;background:linear-gradient(180deg,#141418,#0b0b0e);box-shadow:inset 0 0 0 1px var(--line2),0 20px 40px -24px #000}
.slot{position:relative;width:64px;height:30px;border-radius:8px;background:#060607;box-shadow:inset 0 2px 6px #000,inset 0 0 0 1px var(--line)}
.slot::before{content:"";position:absolute;left:8px;right:8px;top:50%;height:3px;margin-top:-1.5px;border-radius:2px;background:rgba(255,61,154,.25)}
.slot i{position:absolute;left:8px;top:50%;width:48px;height:3px;margin-top:-1.5px;border-radius:2px;background:var(--ok);box-shadow:0 0 12px var(--ok)}
.log{font:500 .66rem/1.6 var(--mono);letter-spacing:.04em;color:var(--mut);min-width:0}
.log p{overflow-wrap:anywhere}
.log p b{color:var(--pink);font-weight:500}
.log p.okl b{color:var(--ok)}

/* section blocks */
.blk{padding:clamp(3rem,7vw,5.4rem) 0;border-top:1px solid var(--line)}
.blk.alt{background:var(--bg2)}
.blk-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(1.4rem,5vw,5rem);align-items:start}
.blk-h{position:sticky;top:100px;display:grid;gap:.9rem;min-width:0}
.blk-h h2{font-size:clamp(2.1rem,4.4vw,3.7rem)}
@media (max-width:860px){.blk-grid{grid-template-columns:minmax(0,1fr)}.blk-h{position:static}}

/* documents */
.doc{padding:clamp(2.6rem,6vw,4.6rem) 0;border-top:1px solid var(--line)}
.doc-grid{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:clamp(1.6rem,5vw,5rem);align-items:start}
.doc-toc{position:sticky;top:100px;padding:1.1rem 1rem;border-radius:14px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line)}
.doc-toc ol{display:grid;gap:.1rem;margin-top:.8rem}
.doc-toc a{display:grid;grid-template-columns:2rem minmax(0,1fr);padding:.42rem .35rem;border-radius:8px;font-size:.84rem;line-height:1.35;color:var(--mut)}
.doc-toc a span{font:500 .62rem/1.9 var(--mono);color:var(--pink)}
.doc-toc a:hover{background:rgba(255,255,255,.04);color:var(--ink)}
.doc-body{display:grid;gap:clamp(2rem,4vw,2.8rem);min-width:0}
.clause{position:relative;padding-left:clamp(1rem,2.4vw,1.8rem);border-left:1px solid var(--line2);scroll-margin-top:100px}
.clause::before{content:"";position:absolute;left:-4px;top:.2rem;width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 10px var(--pink)}
.clause-n{font:500 .66rem/1 var(--mono);letter-spacing:.1em;color:var(--pink)}
.clause h2{margin:.55rem 0 1rem;font-size:clamp(1.9rem,3.6vw,2.9rem)}
@media (max-width:900px){.doc-grid{grid-template-columns:minmax(0,1fr)}.doc-toc{position:static}}

/* guest list grid + filter terminal */
.list{padding:clamp(3.2rem,7vw,5.6rem) 0}
.l-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.4rem;align-items:end;margin-bottom:1.6rem}
.l-top .sec-head{margin:0}
.big-n{text-align:right;font:500 .64rem/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.big-n b{display:block;font:400 clamp(4.4rem,8vw,7rem)/.8 var(--head);color:var(--pink);text-shadow:0 0 40px var(--glow)}
.term{margin-bottom:clamp(1.4rem,3vw,2rem);border-radius:14px;background:#060607;box-shadow:inset 0 0 0 1px var(--line2);overflow:hidden}
.term-bar{display:flex;align-items:center;gap:.4rem;padding:.55rem .9rem;border-bottom:1px solid var(--line);font:500 .6rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.term-bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.15)}
.term-bar i:first-child{background:var(--pink)}
.term-bar span{margin-left:.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.7rem .9rem}
.t-row+.t-row{padding-top:0}
.t-row code{min-width:9.5rem;font:500 .72rem/1 var(--mono);color:var(--mut)}
.t-row code b{color:var(--pink);font-weight:500}
.opt-b{display:inline-block;padding:.5rem .7rem;border-radius:6px;font:500 .7rem/1 var(--mono);letter-spacing:.04em;color:var(--mut);box-shadow:inset 0 0 0 1px var(--line);transition:.25s;text-transform:lowercase}
.opt-b::before{content:"[ ";color:var(--dim)}
.opt-b::after{content:" ]";color:var(--dim)}
.opt-b:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.opt-b[aria-pressed="true"],.opt-b.on{background:var(--pink);color:#0b0b0d;box-shadow:0 0 20px -6px var(--glow)}
.opt-b[aria-pressed="true"]::before,.opt-b[aria-pressed="true"]::after,.opt-b.on::before,.opt-b.on::after{color:#0b0b0d}
.t-foot{justify-content:space-between;border-top:1px dashed var(--line);padding-top:.7rem!important}
.t-out{font:500 .68rem/1 var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.08em}
.t-out b{color:var(--ok);font-weight:500}
.t-go{display:inline-flex;align-items:center;gap:.4rem;font:500 .66rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pink-hi)}
.t-go svg{width:14px;height:14px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.7rem,1.6vw,1.2rem)}
.gc{position:relative;display:block;min-width:0;padding:.5rem;border-radius:18px;background:linear-gradient(145deg,#1e1e24,#0f0f12 60%,#18181d);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px var(--line);transition:transform .5s var(--ease),box-shadow .5s}
.gc.hide{display:none}
.gc:hover,.gc:focus-visible{transform:translateY(-6px);box-shadow:inset 0 0 0 1px rgba(255,61,154,.6),0 30px 60px -30px var(--glow)}
.pic{position:relative;aspect-ratio:3/4;overflow:hidden;isolation:isolate;border-radius:12px;background:radial-gradient(ellipse 70% 50% at 50% 26%,rgba(255,61,154,.26),transparent 70%),linear-gradient(180deg,#1d1a22,#09090b 85%)}
.pic img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform .8s var(--ease)}
.pic>svg{position:absolute;left:12%;bottom:0;width:76%;height:78%;z-index:1;color:#050506}
.gc:hover .pic img{transform:scale(1.05)}
.pic::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(9,9,11,.35),transparent 28%,transparent 55%,rgba(9,9,11,.92))}
.pic .tp{position:absolute;inset:.6rem .6rem auto;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;gap:.3rem}
.hsq{--h:0deg;width:30px;height:30px;flex:none;border-radius:7px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.3) 0 1px,transparent 1px 4px),var(--holo);opacity:.85;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.gc:hover .hsq{animation:hs 1.4s linear infinite}
.pic .cap{position:absolute;left:.8rem;right:.8rem;bottom:.75rem;z-index:3}
.pic h3{font-size:clamp(1.45rem,2.1vw,1.9rem);letter-spacing:.03em}
.pic .mt{display:flex;justify-content:space-between;gap:.5rem;margin-top:.3rem;font:500 .6rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.pic .mt b{color:var(--pink-hi);font-weight:500;text-align:right}
.st{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .55rem;border-radius:6px;background:rgba(9,9,11,.78);box-shadow:inset 0 0 0 1px var(--line2);font:500 .56rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--ink)}
.st.nw{background:var(--pink);color:#0b0b0d;box-shadow:none}
.st.away{color:var(--mut)}
.empty{display:none;padding:2.6rem 1rem;text-align:center;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);color:var(--mut)}
.empty.on{display:block}
.grid-note{margin-top:1.4rem;font:500 .64rem/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.grid-note a{color:var(--pink-hi);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.l-top{grid-template-columns:minmax(0,1fr)}.big-n{text-align:left}.t-row code{min-width:100%}.pic .mt{flex-direction:column;gap:0}.pic .mt b{text-align:left}.pic h3{font-size:1.3rem}.hsq{width:22px;height:22px}.pic .tp .st{padding:.32rem .4rem;font-size:.5rem}}

/* rate board */
.board{border-radius:16px;background:#060607;box-shadow:inset 0 0 0 1px var(--line2);overflow:hidden}
.board-bar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.7rem 1.1rem;border-bottom:1px solid var(--line);font:500 .6rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.board-bar b{color:var(--pink);font-weight:500}
.rt{width:100%;border-collapse:collapse}
.rt th,.rt td{padding:1rem 1.1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}
.rt tr:last-child th,.rt tr:last-child td{border-bottom:0}
.rt thead th{font:500 .58rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);background:#0b0b0e}
.rt tbody th{font:400 clamp(1.4rem,2.2vw,1.9rem)/.95 var(--head);text-transform:uppercase;font-weight:400}
.rt-code{font:500 .7rem/1 var(--mono);color:var(--pink);white-space:nowrap;width:1%}
.rt-fee{font:400 clamp(1.8rem,3vw,2.5rem)/.9 var(--head);white-space:nowrap;text-transform:uppercase}
.rt-note{color:var(--mut);font-size:.9rem}
.rt-act{width:1%;text-align:right!important}
.rt tbody tr{transition:background .3s}
.rt tbody tr:hover{background:rgba(255,255,255,.025)}
.rt tr.hi{background:linear-gradient(90deg,rgba(255,61,154,.16),transparent 70%)}
@media (max-width:760px){
  .rt thead{display:none}
  .rt,.rt tbody{display:block;width:100%}
  .rt tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem .8rem;padding:1rem;border-bottom:1px solid var(--line)}
  .rt tr:last-child{border-bottom:0}
  .rt th,.rt td{display:block;padding:0;border:0;width:auto}
  .rt tbody th{font-size:1.45rem}
  .rt-fee{font-size:1.8rem;text-align:right}
  .rt-note{grid-column:1/-1}
  .rt-act{grid-column:1/-1;text-align:left!important}
  .rt-act .btn{min-height:40px}
}
.lv-note{margin-top:1.2rem;font:500 .64rem/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.lv-note a{color:var(--pink-hi);text-decoration:underline;text-underline-offset:3px}

/* deposits + house rules */
.dep-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.2rem)}
.dep{position:relative;display:flex;flex-direction:column;gap:.7rem;padding:1.4rem 1.3rem 1.5rem;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,var(--m1,#2a2a30),var(--m2,#101013) 60%);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px var(--line2),0 30px 60px -36px #000}
.dep::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);pointer-events:none}
.dep>*{position:relative}
.dep .top{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.dep .chip{width:38px}
.dep-pc{font:400 clamp(4rem,8vw,6.4rem)/.8 var(--head);color:#fff}
.dep-pc small{font:500 .62rem/1 var(--mono);letter-spacing:.1em;color:var(--pink-hi);margin-left:.4rem;vertical-align:1.6em;text-transform:uppercase}
.dep h3{font-size:clamp(1.7rem,2.6vw,2.2rem)}
.dep p{color:var(--mut);font-size:.93rem}
.dep.rose{--m1:#ff5aa9;--m2:#8e0f4f}
.dep.rose .sys,.dep.rose .sys b,.dep.rose .dep-pc small{color:#fff}
.dep.rose p{color:rgba(255,255,255,.88)}
.dep-line{margin-top:1.1rem;color:var(--mut);max-width:70ch}
.rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.7rem,1.4vw,1rem);margin-top:clamp(1.6rem,3vw,2.2rem)}
.rule{padding:1.2rem 1.15rem;border-radius:14px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line)}
.rule h3{margin:.8rem 0 .9rem;font-size:1.7rem}
.rule ul{display:grid}
.rule li{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.55rem 0;border-top:1px dotted var(--line2);font-size:.88rem;color:var(--mut)}
.rule li b{font:500 .66rem/1.35 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-align:right}
@media (max-width:980px){.rules{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.dep-g{grid-template-columns:minmax(0,1fr)}}

/* copy and send */
.script{border-radius:14px;background:#060607;box-shadow:inset 0 0 0 1px var(--line2);overflow:hidden;max-width:52rem}
.script-body{padding:1.2rem 1.2rem .4rem}
.script-body p{font:500 clamp(.86rem,1.4vw,1rem)/1.75 var(--mono);color:var(--ink)}
.script-body p::before{content:"> ";color:var(--pink)}
.script-act{display:flex;flex-wrap:wrap;gap:.6rem;padding:1rem 1.2rem 1.2rem}
.script-hint{padding:0 1.2rem 1.2rem;font:500 .6rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}

/* steps (door log) */
.proc{padding:clamp(3.2rem,7vw,5.6rem) 0;background:var(--bg2);border-block:1px solid var(--line)}
.proc-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.proc-grid .sec-head{position:sticky;top:110px}
.steps-w{position:relative;padding-left:1.6rem}
.steps-w::before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:2px;background:var(--line2)}
.steps-w .fill{position:absolute;left:5px;top:10px;width:2px;height:0;background:var(--pink);box-shadow:0 0 12px var(--pink);transition:height 1s var(--ease)}
.steps{display:grid;gap:.8rem}
.stp{position:relative;display:grid;grid-template-columns:7.2rem minmax(0,1fr);gap:.4rem 1.2rem;padding:1.3rem;border-radius:14px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .5s}
.stp::before{content:"";position:absolute;left:calc(-1.6rem + 1px);top:1.6rem;width:10px;height:10px;border-radius:50%;background:var(--bg2);box-shadow:inset 0 0 0 2px var(--line2);transition:.4s}
.stp.on{box-shadow:inset 0 0 0 1px rgba(255,61,154,.45)}
.stp.on::before{background:var(--pink);box-shadow:0 0 0 4px rgba(255,61,154,.2),0 0 12px var(--pink)}
.stamp{font:500 .7rem/1.5 var(--mono);color:var(--pink);letter-spacing:.04em}
.stamp small{display:block;color:var(--dim);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}
.stp h3{font-size:clamp(1.7rem,2.6vw,2.2rem)}
.stp p{grid-column:2;font-size:.93rem;color:var(--mut)}
.stp p a{color:var(--pink-hi);text-decoration:underline;text-underline-offset:3px}
@media (max-width:860px){.proc-grid{grid-template-columns:minmax(0,1fr)}.proc-grid .sec-head{position:static}.stp{grid-template-columns:minmax(0,1fr)}.stp p{grid-column:1}}

/* faq accordion */
.policy{padding:clamp(3.2rem,7vw,5.6rem) 0;border-top:1px solid var(--line)}
.pol-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.pol-grid>.sec-head{position:sticky;top:110px}
.qa{margin-bottom:.6rem;border-radius:14px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .4s}
.blk.alt .qa,.proc .qa{background:var(--bg3)}
.qa.open{box-shadow:inset 0 0 0 1px rgba(255,61,154,.5)}
.qa-h{font:inherit;text-transform:none;letter-spacing:0;line-height:inherit}
.qa-q{width:100%;display:grid;grid-template-columns:3.2rem minmax(0,1fr) 30px;align-items:center;gap:.6rem;padding:1.05rem 1.1rem;text-align:left;font:600 clamp(.98rem,1.5vw,1.08rem)/1.4 var(--body)}
.qa-q .n{font:500 .64rem/1 var(--mono);color:var(--pink)}
.qa-q .ico{position:relative;width:30px;height:30px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--line2);transition:background .3s,transform .5s var(--spring)}
.qa-q .ico::before,.qa-q .ico::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:currentColor;transform:translate(-50%,-50%)}
.qa-q .ico::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--ease)}
.qa-q[aria-expanded="true"] .ico{background:var(--pink);color:#0b0b0d;box-shadow:none;transform:rotate(180deg)}
.qa-q[aria-expanded="true"] .ico::after{transform:translate(-50%,-50%) rotate(0)}
.qa-a{display:grid;grid-template-rows:1fr;transition:grid-template-rows .5s var(--ease)}
.js .qa-a{grid-template-rows:0fr}
.js .qa.open .qa-a{grid-template-rows:1fr}
.qa-a>div{overflow:hidden}
.qa-a p{padding:0 1.2rem 1.2rem 4.3rem;color:var(--mut);max-width:70ch}
@media (max-width:860px){.pol-grid{grid-template-columns:minmax(0,1fr)}.pol-grid>.sec-head{position:static}.qa-a p{padding-left:1.1rem}.qa-q{grid-template-columns:2.6rem minmax(0,1fr) 30px}}

/* doors (area tiles) */
.doors{padding:clamp(3.2rem,7vw,5.6rem) 0;background:var(--bg2);border-block:1px solid var(--line)}
.dr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.7rem,1.4vw,1rem)}
.dr{position:relative;display:block;min-width:0;padding:1.2rem 1.2rem 1.3rem;border-radius:14px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;transition:box-shadow .4s}
.dr::after{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;background:linear-gradient(180deg,transparent,rgba(255,61,154,.16),transparent);opacity:0;pointer-events:none}
.dr:hover::after,.dr:focus-visible::after{opacity:1;animation:sweep 1.2s var(--ease)}
@keyframes sweep{to{top:100%}}
.dr:hover,.dr:focus-visible{box-shadow:inset 0 0 0 1px rgba(255,61,154,.5)}
.dr .pc{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.dr .pc>b{font:400 clamp(2.3rem,3.4vw,3rem)/.9 var(--head);color:transparent;-webkit-text-stroke:1.2px var(--pink-hi);transition:color .3s;text-transform:uppercase}
.dr:hover .pc>b,.dr:focus-visible .pc>b{color:var(--pink)}
.dr h3{margin:.8rem 0 .4rem;font-size:1.65rem}
.dr p{font-size:.88rem;color:var(--mut)}
.dr-st{display:grid;gap:.3rem;margin-top:.9rem;padding-top:.8rem;border-top:1px dotted var(--line2)}
.dr-st li{display:flex;justify-content:space-between;gap:.6rem;font:500 .6rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.dr-st li b{color:var(--ink);font-weight:500;white-space:nowrap}
.doors.hub .dr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.doors.hub .dr h3{font-size:clamp(1.8rem,2.6vw,2.3rem)}
@media (max-width:1000px){.dr-grid,.doors.hub .dr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.dr-grid,.doors.hub .dr-grid{grid-template-columns:minmax(0,1fr)}}

/* arrival band: platforms + venues */
.arrive{padding:clamp(3rem,6vw,4.8rem) 0;border-bottom:1px solid var(--line)}
.arr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.8rem);align-items:start}
.panel{padding:clamp(1.1rem,2.4vw,1.6rem);border-radius:18px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line)}
.panel h2{margin:.7rem 0 1.1rem;font-size:clamp(1.9rem,3.4vw,2.8rem)}
.plat{display:grid;gap:.5rem}
.plat li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem 1rem;padding:.8rem .9rem;border-radius:12px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line)}
.plat-n{font:400 1.5rem/.95 var(--head);text-transform:uppercase}
.plat-l{grid-column:1;font:500 .6rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.plat-w{grid-column:2;grid-row:1/3;display:grid;justify-items:end;gap:.2rem;font:500 .58rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.plat-w b{display:flex;align-items:center;gap:.3rem;font:400 2rem/.85 var(--head);color:var(--pink)}
.plat-w svg{width:16px;height:16px;color:var(--pink-hi)}
.plat-bar{grid-column:1/-1;height:3px;border-radius:2px;background:rgba(255,255,255,.07);overflow:hidden}
.plat-bar i{display:block;height:100%;background:var(--pink);box-shadow:0 0 8px var(--pink)}
.venues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.venue{position:relative;display:grid;gap:.5rem;padding:1rem .95rem;border-radius:12px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.venue svg{width:22px;height:22px;color:var(--pink)}
.venue b{font:400 1.45rem/.95 var(--head);text-transform:uppercase}
.venue span{font:500 .58rem/1.35 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.panel-note{margin-top:1rem;font-size:.9rem;color:var(--mut)}
.dist{display:flex;flex-wrap:wrap;gap:.5rem}
@media (max-width:900px){.arr-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:420px){.venues{grid-template-columns:minmax(0,1fr)}}

/* closing call to action */
.final{position:relative;padding:clamp(3.6rem,8vw,6.4rem) 0;overflow:hidden;border-top:1px solid var(--line);background:radial-gradient(ellipse 50% 70% at 80% 50%,rgba(255,61,154,.14),transparent 70%)}
.fin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.fin-copy{container-type:inline-size;min-width:0}
.fin-copy h2{margin-top:.9rem;font-size:clamp(2.6rem,11cqi,6.2rem);line-height:.88}
.fin-copy .lede{margin-top:1.1rem}
.sheet{position:relative;padding:1.3rem 1.3rem 1.1rem;border-radius:10px;background:linear-gradient(170deg,#18181c,#0e0e11);box-shadow:inset 0 0 0 1px var(--line2),0 40px 80px -40px #000;transform:rotate(1.5deg)}
.sheet-h{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding-bottom:.9rem;border-bottom:1px dashed var(--line2)}
.sheet-h b{font:400 1.7rem/1 var(--head);text-transform:uppercase}
.gl li{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.6rem .3rem;border-bottom:1px dotted var(--line2);font:500 .7rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.gl .bar{display:block;height:.8em;border-radius:2px;background:#000;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.gl li.you{margin:.3rem -.3rem;padding-inline:.6rem;border-radius:6px;border-bottom:0;background:var(--pink);color:#0b0b0d}
.gl li.you b{font:400 1.15rem/1 var(--head);letter-spacing:.06em}
.gl .ck{color:var(--ok)}
.gl li.you .ck{color:#0b0b0d}
.sheet-f{display:flex;justify-content:space-between;margin-top:.9rem;font:500 .58rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
@media (max-width:900px){.fin-grid{grid-template-columns:minmax(0,1fr)}.sheet{transform:none}}

/* link lists */
.ll-l{margin-bottom:.9rem}
.ll-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.7rem,1.4vw,1rem)}
.lk{position:relative;display:flex;flex-direction:column;gap:.6rem;height:100%;padding:1.2rem 1.15rem 1.1rem;border-radius:14px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .4s,transform .4s var(--ease)}
.lk:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(255,61,154,.5),0 24px 50px -30px var(--glow)}
.lk-t{font:400 clamp(1.45rem,2.2vw,1.8rem)/.95 var(--head);text-transform:uppercase}
.lk-x{flex:1;font-size:.88rem;color:var(--mut)}
.lk-go{display:inline-flex;align-items:center;gap:.4rem;font:500 .6rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--pink-hi)}
.lk-go svg{width:14px;height:14px;transition:transform .4s var(--ease)}
.lk:hover .lk-go svg{transform:translateX(4px)}
.ll-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.ll-toc{display:grid;gap:.15rem}
.ll-toc a{display:grid;grid-template-columns:2rem minmax(0,1fr);padding:.45rem .4rem;border-radius:8px;color:var(--mut)}
.ll-toc a span{font:500 .62rem/1.9 var(--mono);color:var(--pink)}
@media (max-width:1000px){.ll-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ll-cards{grid-template-columns:minmax(0,1fr)}}
.more{padding:clamp(3rem,6vw,4.8rem) 0;border-top:1px solid var(--line)}
.more .ll-chips+.ll-l,.more .ll-cards+.ll-l{margin-top:2rem}

/* occasions (services) */
.occ{padding:clamp(3.2rem,7vw,5.6rem) 0}
.lv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.2rem)}
.lv{position:relative;display:flex;flex-direction:column;min-width:0;padding:1.4rem 1.3rem;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,var(--m1,#2a2a30),var(--m2,#101013) 60%);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px var(--line2),0 30px 60px -36px #000;transition:transform .5s var(--ease),box-shadow .5s}
.lv::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);pointer-events:none}
.lv>*{position:relative}
.lv:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:inset 0 0 0 1px rgba(255,61,154,.55),0 36px 70px -34px var(--glow)}
.lv .top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}
.lv .chip{width:38px;flex:none}
.lv h3{margin:1.3rem 0 .3rem;font-size:clamp(1.8rem,2.4vw,2.2rem)}
.lv .pr{font:400 clamp(2.2rem,3.4vw,3rem)/.9 var(--head);color:#fff;text-transform:uppercase}
.lv .pr small{font:500 .6rem/1 var(--mono);letter-spacing:.1em;color:var(--pink-hi);margin-right:.4rem;vertical-align:.7em}
.lv p{flex:1;margin-top:.8rem;font-size:.9rem;color:var(--mut)}
.lv .lk-go{margin-top:1.2rem}
.lv.rose{--m1:#ff5aa9;--m2:#8e0f4f}
.lv.rose .sys,.lv.rose .sys b,.lv.rose .pr small,.lv.rose .lk-go{color:#fff}
.lv.rose p{color:rgba(255,255,255,.88)}
.lv.onyx{--m1:#141416;--m2:#030304}
@media (max-width:1000px){.lv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.lv-grid{grid-template-columns:minmax(0,1fr)}}

/* styles (categories) */
.sty-sec{padding:clamp(3.2rem,7vw,5.6rem) 0}
.sty-row+.sty-row{margin-top:clamp(1.8rem,3.6vw,2.6rem)}
.sty-row>code{display:block;margin-bottom:.9rem;font:500 .74rem/1 var(--mono);color:var(--mut)}
.sty-row>code b{color:var(--pink);font-weight:500}
.sty-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.7rem,1.4vw,1rem)}
.sty{display:grid;grid-template-columns:4.6rem minmax(0,1fr);gap:.9rem;align-items:start;height:100%;padding:.7rem;border-radius:16px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .4s,transform .4s var(--ease)}
.sty:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(255,61,154,.5),0 24px 50px -30px var(--glow)}
.sty-im{position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#1d1a22,#09090b)}
.sty-im img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.sty-b{display:grid;gap:.35rem;min-width:0;padding:.2rem .2rem .2rem 0}
.sty h3{font-size:clamp(1.4rem,2vw,1.7rem)}
.sty p{font-size:.84rem;color:var(--mut)}
.sty-n{font:500 .6rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.sty-n b{color:var(--pink);font-weight:500}
@media (max-width:1100px){.sty-g{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.sty-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.sty-g{grid-template-columns:minmax(0,1fr)}}

/* insider hub */
.ins-sec{padding:clamp(3.2rem,7vw,5.6rem) 0}
.gh-feat{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border-radius:18px;overflow:hidden;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line2);transition:box-shadow .4s}
.gh-feat:hover{box-shadow:inset 0 0 0 1px rgba(255,61,154,.55),0 30px 60px -34px var(--glow)}
.gh-im{position:relative;min-height:100%;overflow:hidden;background:linear-gradient(180deg,#1d1a22,#09090b)}
.gh-im img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;transition:transform .8s var(--ease)}
.gh-feat:hover .gh-im img,.gh-c:hover .gh-im img{transform:scale(1.04)}
.gh-feat .gh-im{aspect-ratio:4/3}
.gh-bd{display:flex;flex-direction:column;gap:.8rem;padding:clamp(1.2rem,3vw,2.4rem);min-width:0}
.gh-feat h3{font-size:clamp(2rem,4vw,3.4rem)}
.gh-bd p{color:var(--mut)}
.gh-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.7rem,1.4vw,1rem);margin-top:clamp(.7rem,1.4vw,1rem)}
.gh-c{display:flex;flex-direction:column;min-width:0;border-radius:16px;overflow:hidden;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .4s,transform .4s var(--ease)}
.gh-c:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(255,61,154,.5),0 24px 50px -30px var(--glow)}
.gh-c .gh-im{aspect-ratio:16/10}
.gh-c .gh-bd{flex:1;gap:.55rem;padding:1rem 1.1rem 1.2rem}
.gh-c h3{font-size:clamp(1.45rem,2vw,1.75rem)}
.gh-c p{font-size:.88rem}
@media (max-width:1000px){.gh-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.gh-feat{grid-template-columns:minmax(0,1fr)}.gh-feat .gh-im{aspect-ratio:16/10}}
@media (max-width:600px){.gh-list{grid-template-columns:minmax(0,1fr)}}

/* insider article */
.progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:95;pointer-events:none}
.progress i{display:block;height:100%;background:var(--pink);box-shadow:0 0 12px var(--pink);transform:scaleX(0);transform-origin:0 50%}
.art-head{position:relative;padding:clamp(2rem,5vw,4rem) 0;border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.art-hg{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(1.6rem,4vw,4rem);align-items:end}
.art-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}
.art-h1{margin:1rem 0 1.1rem;font-size:clamp(2.3rem,5.2vw,4.4rem);line-height:.92;max-width:24ch}
.art-dek{max-width:60ch;color:var(--mut);font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.6}
.art-by{display:flex;align-items:center;gap:.8rem;margin-top:1.5rem;font:500 .66rem/1.45 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.art-by small{display:block;color:var(--dim)}
.art-fig{position:relative;padding:.5rem;border-radius:18px;background:linear-gradient(145deg,#1e1e24,#0f0f12 60%,#18181d);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px var(--line),0 40px 80px -40px #000;transform:rotate(1.2deg)}
.art-fig img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%;border-radius:12px}
.art-fig figcaption{position:absolute;left:1.2rem;bottom:1.1rem;right:1.2rem}
.art-grid{display:grid;grid-template-columns:15.5rem minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding-block:clamp(2.4rem,5vw,4rem);align-items:start}
.art-side{position:sticky;top:96px;display:grid;gap:1rem;min-width:0}
.toc{padding:1.1rem 1rem;border-radius:14px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line)}
.toc ol{display:grid;gap:.1rem;margin-top:.8rem}
.toc a{display:grid;grid-template-columns:1.9rem minmax(0,1fr);padding:.45rem .4rem;border-radius:8px;font-size:.85rem;line-height:1.35;color:var(--mut);transition:color .25s,background .25s}
.toc a span{font:500 .62rem/1.9 var(--mono);color:var(--dim)}
.toc a:hover,.toc a.on{color:var(--ink);background:rgba(255,255,255,.045)}
.toc a.on span,.toc a:hover span{color:var(--pink)}
.side-cta{display:grid;gap:.7rem;padding:1.1rem 1rem;border-radius:14px;background:linear-gradient(160deg,rgba(255,61,154,.12),rgba(255,255,255,.01) 70%);box-shadow:inset 0 0 0 1px rgba(255,61,154,.3)}
.side-cta p{font-size:.86rem;color:var(--mut)}
.art-body{min-width:0;max-width:70ch}
.art-sec{margin-bottom:clamp(2.2rem,4vw,3rem)}
.art-sec h2{display:flex;gap:.8rem;align-items:baseline;margin-bottom:1.1rem;font-size:clamp(1.9rem,3.3vw,2.7rem);scroll-margin-top:96px}
.art-sec h2 .n{flex:none;font:500 .68rem/1 var(--mono);letter-spacing:.08em;color:var(--pink);transform:translateY(-.35em)}
.art-body p{margin-bottom:1.15em;font-size:clamp(1.02rem,1.2vw,1.1rem);line-height:1.8;color:rgba(242,239,245,.85)}
.art-sec:first-child>p:first-of-type::first-letter{float:left;margin:.08em .12em 0 0;font:400 4.1em/.78 var(--head);color:var(--pink);text-transform:uppercase}
.art-note{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin:0 0 clamp(2.2rem,4vw,3rem);padding:1.1rem 1.2rem;border-radius:14px;background:#060607;box-shadow:inset 0 0 0 1px var(--line2)}
.art-note p{margin:0;font:500 .74rem/1.55 var(--mono);color:var(--mut)}
.art-note p b{color:var(--pink);font-weight:500}
.art-faq{margin-top:clamp(2.4rem,5vw,3.4rem)}
.art-faq>h2{margin:.7rem 0 1.2rem;font-size:clamp(1.9rem,3.3vw,2.7rem)}
@media (max-width:980px){.art-grid{grid-template-columns:minmax(0,1fr)}.art-side{position:static}.side-cta{display:none}.art-hg{grid-template-columns:minmax(0,1fr)}.art-fig{transform:none;max-width:30rem}.art-fig img{aspect-ratio:16/10}}
@media (max-width:560px){.art-note{grid-template-columns:minmax(0,1fr)}}

/* profile */
.pf-hero{position:relative;padding:clamp(1.6rem,4vw,3.4rem) 0 clamp(2.4rem,5vw,4rem);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.pf-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.6rem,4.5vw,4.6rem);align-items:center}
.pf-stage{min-width:0;width:100%;max-width:32rem;justify-self:center}
.pf-frame{position:relative;display:block;padding:.55rem;border-radius:22px;background:linear-gradient(145deg,#26262d,#0f0f12 55%,#1c1c21);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px var(--line2),0 50px 90px -40px #000,0 0 100px -50px var(--glow)}
.pf-pic{position:relative;aspect-ratio:3/4;max-height:calc(100vh - 13rem);min-height:22rem;width:100%;overflow:hidden;border-radius:16px;background:linear-gradient(180deg,#1d1a22,#09090b)}
.pf-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.pf-pic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,9,11,.3),transparent 25%,transparent 70%,rgba(9,9,11,.75))}
.pf-pic .tp{position:absolute;inset:.8rem .8rem auto;z-index:2;display:flex;justify-content:space-between;gap:.4rem}
.pf-no{position:absolute;left:1.1rem;bottom:.9rem;z-index:2;font:500 .62rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.pf-zoom{position:absolute;right:1rem;bottom:.8rem;z-index:2;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .6rem;border-radius:6px;background:rgba(9,9,11,.7);font:500 .56rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--line2)}
.pf-thumbs{display:flex;gap:.5rem;margin-top:.7rem;overflow-x:auto;padding:.2rem .1rem .4rem;scrollbar-width:thin}
.pf-thumbs button{flex:none;width:58px;aspect-ratio:3/4;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line2);opacity:.75;transition:opacity .3s,box-shadow .3s}
.pf-thumbs button:hover{opacity:1;box-shadow:0 0 0 2px var(--pink)}
.pf-thumbs img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.pf-copy{min-width:0}
.pf-h1{margin:.9rem 0 .7rem;font-size:clamp(3.6rem,11vw,8.4rem);line-height:.85}
.pf-tag{max-width:46ch;font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--ink)}
.avail{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .7rem;margin-top:1.1rem;padding:.7rem .9rem;border-radius:10px;background:rgba(109,255,176,.06);box-shadow:inset 0 0 0 1px rgba(109,255,176,.3);font:500 .7rem/1.45 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mut);width:fit-content;max-width:100%}
.avail b{color:var(--ok);font-weight:500}
.avail.away{background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--line2)}
.avail.away b{color:var(--ink)}
.pf-keys{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}
.pf-keys li{padding:.45rem .65rem;border-radius:6px;font:500 .64rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);box-shadow:inset 0 0 0 1px var(--line2)}
.pf-keys li b{color:var(--ink);font-weight:500}
.pf-keys a{color:var(--pink-hi);text-decoration:underline;text-underline-offset:3px}
.pf-small{margin-top:1.1rem;font:500 .62rem/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
@media (max-width:900px){.pf-grid{grid-template-columns:minmax(0,1fr)}.pf-stage{max-width:30rem}.pf-h1{font-size:clamp(3.4rem,19vw,6rem)}}
.file-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.2rem,3vw,2.4rem);align-items:start}
.mfile{position:relative;padding:clamp(1.1rem,2.4vw,1.5rem);border-radius:20px;overflow:hidden;background:radial-gradient(ellipse 60% 50% at 20% 0%,rgba(255,255,255,.1),transparent 60%),repeating-linear-gradient(90deg,rgba(255,255,255,.024) 0 1px,transparent 1px 3px),linear-gradient(135deg,#26262d 0%,#111114 48%,#1c1c21 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 0 0 1px rgba(255,255,255,.1),0 40px 80px -40px #000}
.mfile-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px dashed var(--line2)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.2rem;margin-top:.4rem}
.facts div{min-width:0;padding:.75rem 0;border-bottom:1px dotted var(--line2)}
.facts div.w{grid-column:1/-1}
.facts dt{font:500 .56rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.facts dd{margin-top:.35rem;font:400 1.35rem/1 var(--head);text-transform:uppercase;color:#f4f4f8;overflow-wrap:anywhere}
.facts dd small{font:500 .6rem/1 var(--mono);letter-spacing:.08em;color:var(--pink-hi);margin-left:.4rem}
.facts dd a{color:var(--pink-hi)}
.ladder{min-width:0}
.ladder h2{margin:.7rem 0 1.1rem;font-size:clamp(2rem,4vw,3.2rem)}
.lad{display:grid;gap:.45rem}
.lad li{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto 44px;align-items:center;gap:.8rem;padding:.55rem .55rem .55rem .9rem;border-radius:12px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s}
.lad li:hover{box-shadow:inset 0 0 0 1px rgba(255,61,154,.45)}
.lad-c{font:500 .62rem/1 var(--mono);color:var(--pink)}
.lad-d{font:400 1.35rem/.95 var(--head);text-transform:uppercase;min-width:0}
.lad-d small{display:block;margin-top:.2rem;font:500 .54rem/1 var(--mono);letter-spacing:.1em;color:var(--dim)}
.lad-p{font:400 1.8rem/.9 var(--head);white-space:nowrap}
.lad-go{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line2);color:var(--pink-hi);transition:background .3s,color .3s}
.lad-go:hover{background:var(--pink);color:#0b0b0d}
.lad-go svg{width:18px;height:18px}
.lad-note{margin-top:1rem;font-size:.88rem;color:var(--mut)}
@media (max-width:900px){.file-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:420px){.lad li{grid-template-columns:minmax(0,1fr) auto 44px;padding-left:.8rem}.lad-c{display:none}.facts{grid-template-columns:minmax(0,1fr)}}
.pf-side{display:grid;gap:1.1rem;align-content:start;min-width:0}
.pf-side h2{font-size:clamp(2.2rem,4.4vw,3.7rem)}
.hl{display:grid;gap:.5rem}
.hl li{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.8rem;padding:.7rem .8rem;border-radius:12px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line);font-size:.92rem;color:var(--ink)}
.sw{position:relative;width:42px;height:24px;border-radius:12px;background:var(--pink);box-shadow:0 0 16px -4px var(--glow)}
.sw::after{content:"";position:absolute;left:21px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff}
.near{display:grid;gap:.5rem;padding:1rem;border-radius:14px;background:#060607;box-shadow:inset 0 0 0 1px var(--line2)}
.near li{display:flex;justify-content:space-between;gap:.8rem;font:500 .64rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.near li b{color:var(--pink-hi);font-weight:500;white-space:nowrap}
.near a{color:var(--pink-hi);text-decoration:underline;text-underline-offset:3px}
.pf-qa{margin-top:2rem}
.pf-qa>.sys{margin-bottom:.9rem}
.ph-grid2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.5rem,1.2vw,.9rem)}
.ph-grid2 li{min-width:0}
.ph-a{position:relative;display:block;aspect-ratio:3/4;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#1d1a22,#09090b);box-shadow:inset 0 0 0 1px var(--line)}
.ph-a img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform .8s var(--ease)}
.ph-a:hover img{transform:scale(1.05)}
.ph-a span{position:absolute;left:.6rem;bottom:.55rem;padding:.3rem .45rem;border-radius:5px;background:rgba(9,9,11,.72);font:500 .56rem/1 var(--mono);letter-spacing:.1em;color:var(--ink)}
@media (max-width:760px){.ph-grid2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.7rem,1.4vw,1rem)}
.gb-i{display:flex;flex-direction:column;gap:.9rem;padding:1.2rem 1.2rem 1.1rem;border-radius:14px;background:var(--bg3);box-shadow:inset 0 0 0 1px var(--line)}
.stars{display:flex;gap:.15rem;color:var(--pink)}
.stars svg{width:15px;height:15px}
.stars .off{color:rgba(255,255,255,.16)}
.gb-i blockquote p{font-size:1rem;line-height:1.7;color:var(--ink)}
.gb-i blockquote p::before{content:"\201C";color:var(--pink);margin-right:.1em}
.gb-i blockquote p::after{content:"\201D";color:var(--pink);margin-left:.05em}
.gb-by{margin-top:auto;font:500 .6rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.gb-by b{color:var(--ink);font-weight:500}
.gb-sum{display:flex;align-items:baseline;gap:.7rem;margin-bottom:1.1rem;font:500 .64rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.gb-sum b{font:400 2.6rem/.8 var(--head);color:var(--pink)}
.gb-empty{position:relative;display:grid;gap:.9rem;max-width:44rem;padding:clamp(1.3rem,3vw,2rem);border-radius:14px;background:#060607;box-shadow:inset 0 0 0 1px var(--line2);overflow:hidden}
.gb-empty .gb-e-t{font:400 clamp(1.7rem,3vw,2.4rem)/.95 var(--head);text-transform:uppercase;color:var(--ink);padding-right:5rem}
.gb-empty p{color:var(--mut)}
.gb-stamp{position:absolute;right:1.2rem;top:1.2rem;padding:.3rem .55rem .2rem;border:2px solid var(--pink);border-radius:6px;color:var(--pink);font:400 1.2rem/1 var(--head);letter-spacing:.08em;text-transform:uppercase;transform:rotate(8deg)}
.gb-lines{display:grid;gap:.45rem;margin-top:.2rem}
.gb-lines i{display:block;height:.7em;border-radius:2px;background:rgba(255,255,255,.05)}
@media (max-width:760px){.gb{grid-template-columns:minmax(0,1fr)}}
.pager{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.6rem;margin-top:clamp(1.4rem,3vw,2rem)}
.pager a{display:flex;align-items:center;gap:.5rem;min-height:52px;padding:.7rem 1rem;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line2);font:500 .66rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);transition:box-shadow .3s,color .3s;min-width:0}
.pager a:hover{box-shadow:inset 0 0 0 1px var(--pink);color:var(--ink)}
.pager a b{font:400 1.3rem/1 var(--head);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pager svg{width:18px;height:18px;color:var(--pink)}
.pager .nx{justify-content:flex-end;text-align:right}
@media (max-width:560px){.pager{grid-template-columns:1fr 1fr}.pager .al{grid-column:1/-1;grid-row:2;justify-content:center}}

/* lightbox */
.lb{position:fixed;inset:0;z-index:200;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;padding:clamp(.6rem,3vw,2rem);background:rgba(5,5,6,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lb[hidden]{display:none}
.lb-f{display:grid;justify-items:center;gap:.8rem;min-width:0;height:100%;align-content:center}
.lb-img{display:grid;place-items:center;min-height:0;max-height:calc(100vh - 7rem)}
.lb-img img{max-width:100%;max-height:calc(100vh - 7rem);width:auto;height:auto;border-radius:12px;box-shadow:0 0 0 1px var(--line2),0 40px 90px -40px #000}
.lb button{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink)}
.lb button:hover{background:var(--pink);color:#0b0b0d}
.lb button svg{width:22px;height:22px}
.lb-x{position:absolute;right:clamp(.6rem,2vw,1.4rem);top:clamp(.6rem,2vw,1.4rem)}
.lb-p{justify-self:start}
.lb-n{justify-self:end}
@media (max-width:640px){.lb{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:.8rem;padding-top:4.2rem}.lb-f{grid-column:1/-1;grid-row:1}.lb-p{grid-row:2}.lb-n{grid-row:2}}

/* 404 */
.nf{padding:clamp(3rem,8vw,6rem) 0}
.nf-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.nf h1{margin:1rem 0 1.1rem;font-size:clamp(2.8rem,8vw,6.4rem)}
.nf-card{position:relative;display:grid;justify-items:center;gap:1rem;padding:2rem 1.4rem;border-radius:18px;background:linear-gradient(145deg,#1f1f25,#0e0e11 60%);box-shadow:inset 0 0 0 1px var(--line2),0 40px 80px -40px #000;text-align:center}
.nf-card b{font:400 clamp(6rem,16vw,11rem)/.8 var(--head);color:transparent;-webkit-text-stroke:1.5px var(--pink-hi)}
.nf-card .stamp2{padding:.35rem .7rem .25rem;border:3px solid var(--pink);border-radius:6px;color:var(--pink);font:400 clamp(1.3rem,3vw,1.9rem)/1 var(--head);letter-spacing:.08em;text-transform:uppercase;transform:rotate(-8deg)}
@media (max-width:860px){.nf-grid{grid-template-columns:minmax(0,1fr)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
}
