/* mayfairescortslondon.com, The Private Invoice, inner pages */
:root{
  --bg:#0a0a09;--bg-2:#0f0f0d;--bg-3:#161613;--paper:#121210;
  --panel:rgba(255,255,255,.035);--panel-2:rgba(255,255,255,.07);
  --line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.2);
  --gold:#d9ad4f;--gold-hi:#f4d58a;--gold-lo:#8f6a22;
  --foil:linear-gradient(100deg,#8f6a22 0%,#e9c46f 22%,#fff0c2 34%,#d9ad4f 46%,#9c7428 64%,#f0cf7c 82%,#a67c2c 100%);
  --glow:rgba(217,173,79,.35);
  --text:#f3efe6;--muted:rgba(243,239,230,.68);--dim:rgba(243,239,230,.44);--ok:#78f0a8;
  --display:"Teko","Arial Narrow",sans-serif;
  --sans:"Onest","Segoe UI",system-ui,sans-serif;
  --mono:"Spline Sans Mono","Consolas",ui-monospace,monospace;
  --gutter:clamp(16px,4.5vw,64px);--max:1320px;
  --ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.34,1.56,.64,1);
}
*,*::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}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{background:var(--bg);color:var(--text);font:400 1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 80% 0%,rgba(217,173,79,.08),transparent 70%),radial-gradient(ellipse 50% 40% at 0% 100%,rgba(217,173,79,.05),transparent 70%)}
::selection{background:var(--gold);color:#111}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img{max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
svg{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
main{display:block}
section{position:relative;scroll-margin-top:84px}
h2[id]{scroll-margin-top:110px}
.skip{position:absolute;left:-999px;top:0;z-index:200;padding:.8rem 1.2rem;background:var(--gold);color:#16120a;font:600 1.1rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.skip:focus{left:0}

/* ---------- atoms ---------- */
.doc{font:500 .7rem/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.doc b{color:var(--gold);font-weight:500}
.brk{display:inline-flex;align-items:center;gap:.4rem;font:500 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.brk::before{content:"[";color:var(--gold)}
.brk::after{content:"]";color:var(--gold)}
.pill{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .7rem;border-radius:3px;font:500 .62rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:rgba(10,10,9,.75);box-shadow:inset 0 0 0 1px var(--line-2);white-space:nowrap}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:blink 2s infinite;flex:none}
.pill.gd{background:var(--gold);color:#16120a;box-shadow:none}
.pill.gd i{background:#16120a;box-shadow:none}
.pill.away i{background:#e0b23a;box-shadow:0 0 8px rgba(224,178,58,.7)}
@keyframes blink{50%{opacity:.35}}
.kw{display:inline-block;padding:0 .14em;margin:0 -.02em;background:var(--gold);color:#14100a;line-height:.9;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.h2x{font:600 clamp(2.5rem,6vw,5.2rem)/.84 var(--display);text-transform:uppercase;letter-spacing:.005em;padding-top:.08em}
.lede{max-width:58ch;color:var(--muted);font-size:clamp(1rem,1.25vw,1.1rem)}
.lede a,.clause a,.qa-a a,.art a,.tip a{color:var(--gold-hi);border-bottom:1px dashed rgba(217,173,79,.5)}
.lede a:hover,.clause a:hover,.qa-a a:hover,.art a:hover{color:#fff;border-bottom-color:#fff}
.sec-head{display:grid;gap:1rem;margin-bottom:clamp(1.8rem,4vw,3rem)}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:54px;padding:.9rem 1.5rem .8rem;border-radius:3px;font:600 1.35rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;background:var(--foil);background-size:220% 100%;background-position:0 0;color:#16120a;box-shadow:0 14px 40px -16px var(--glow),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .4s var(--spring),background-position 1s var(--ease),box-shadow .4s;white-space:nowrap}
.btn:hover{transform:translateY(-3px);background-position:100% 0;box-shadow:0 22px 50px -14px var(--glow)}
.btn svg{width:19px;height:19px;flex:none;margin-top:-.15em}
.btn.ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold-hi)}
.ctas{display:flex;flex-wrap:wrap;gap:.7rem}
.barcode{height:32px;width:120px;background:repeating-linear-gradient(90deg,var(--text) 0 1px,transparent 1px 3px,var(--text) 3px 5px,transparent 5px 6px,var(--text) 6px 7px,transparent 7px 10px,var(--text) 10px 13px,transparent 13px 14px);opacity:.4}

/* ---------- strip + header ---------- */
.strip{display:flex;align-items:center;overflow:hidden;height:32px;background:#000;border-bottom:1px solid var(--line)}
.strip p{display:flex;gap:1.2rem;padding-inline:var(--gutter);font:500 .66rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.strip b{color:var(--gold);font-weight:500}
header.site{position:sticky;top:0;z-index:70;background:rgba(10,10,9,.9);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:72px}
.logo{display:flex;align-items:center;gap:.7rem;min-width:0}
.logo-mark{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:3px;background:var(--foil);background-size:200% 100%;color:#16120a;font:600 1.5rem/1 var(--display);padding-top:.15em;box-shadow:0 0 24px -6px var(--glow)}
.logo-text{font:600 1.7rem/.8 var(--display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding-top:.12em}
.logo-text small{display:block;margin-top:.15rem;font:500 .54rem/1 var(--mono);letter-spacing:.16em;color:var(--dim)}
nav.main ul{display:flex;gap:.1rem}
nav.main a{display:block;padding:.55rem .8rem .4rem;border-radius:3px;font:500 1.2rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;transition:color .3s,background .3s}
nav.main a:hover{color:#fff;background:var(--panel-2)}
nav.main a span{font:500 .58rem/1 var(--mono);color:var(--gold);margin-right:.35rem;vertical-align:.25em}
nav.main a.on{color:#fff;box-shadow:inset 0 -2px 0 var(--gold)}
.head-r{display:flex;align-items:center;gap:.6rem}
.head-cta{min-height:44px;padding:.7rem 1.1rem .55rem;font-size:1.15rem}
.menu-btn{display:none;width:44px;height:44px;border-radius:3px;place-items:center;box-shadow:inset 0 0 0 1px var(--line-2)}
.menu-btn i{display:block;width:18px;height:2px;background:#fff;box-shadow:0 6px 0 #fff,0 -6px 0 #fff;transition:.3s}
.menu-open .menu-btn i{box-shadow:none;transform:rotate(45deg)}
@media (max-width:1200px){
  nav.main{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--ease)}
  .menu-open nav.main{clip-path:inset(0)}
  nav.main ul{flex-direction:column;padding:.6rem var(--gutter) 1.4rem}
  nav.main a{font-size:2.2rem;padding:.9rem 0 .6rem;border-radius:0;border-bottom:1px dashed var(--line-2);background:none;color:#fff}
  nav.main a.on{box-shadow:none;color:var(--gold-hi)}
  .menu-btn{display:grid}
}
@media (max-width:560px){.head-cta{display:none}.logo-text{font-size:1.4rem}.logo-text small{display:none}}

/* ---------- breadcrumbs ---------- */
.crumbs{border-bottom:1px dashed var(--line)}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .6rem;padding:.65rem 0;font:500 .64rem/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.crumbs li{display:inline-flex;align-items:center;gap:.6rem;min-width:0}
.crumbs li+li::before{content:"/";color:var(--gold);opacity:.7}
.crumbs a:hover{color:var(--gold-hi)}
.crumbs [aria-current]{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:18rem}

/* ---------- page hero ---------- */
.phero{position:relative;padding:clamp(2.6rem,6vw,4.6rem) 0 clamp(2rem,4vw,3rem);overflow:hidden}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:repeating-linear-gradient(0deg,var(--line) 0 1px,transparent 1px 34px);-webkit-mask:linear-gradient(90deg,#000,transparent 60%);mask:linear-gradient(90deg,#000,transparent 60%);opacity:.5}
.ph-top{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}
.phero h1{margin:1.1rem 0 1rem;font:600 clamp(2.9rem,8.5vw,7.2rem)/.82 var(--display);text-transform:uppercase;letter-spacing:.005em;padding-top:.08em;max-width:20ch}
.phero .lede{margin-top:.6rem}
.phero .lede+.lede{margin-top:.9rem}

/* ---------- clauses (content sections) ---------- */
.clauses{padding:clamp(2.2rem,5vw,3.6rem) 0}
.clause{max-width:76ch;padding:clamp(1.4rem,3vw,2rem) 0;border-top:1px dashed var(--line-2)}
.clause:first-child{border-top:0;padding-top:0}
.clause .doc{display:block;margin-bottom:.7rem}
.clause h2{font:600 clamp(1.9rem,3.4vw,2.8rem)/.9 var(--display);text-transform:uppercase;letter-spacing:.02em;padding-top:.1em;margin-bottom:.8rem}
.clause p{color:var(--muted);margin-bottom:1rem;max-width:72ch}
.clause p:last-child{margin-bottom:0}
.tip{margin:1.2rem 0;padding:1.1rem 1.2rem 1rem;border-radius:4px;background:var(--panel);box-shadow:inset 0 0 0 1px rgba(217,173,79,.3);border-left:3px solid var(--gold)}
.tip .doc{display:block;margin-bottom:.6rem;color:var(--gold)}
.tip ul{display:grid;gap:.5rem}
.tip li{position:relative;padding-left:1.3rem;color:var(--muted);font-size:.95rem}
.tip li::before{content:"";position:absolute;left:0;top:.55em;width:.55rem;height:.55rem;border-radius:1px;background:var(--gold);opacity:.8}

/* ---------- roster grid + cards ---------- */
.roster-sec{padding:clamp(2rem,5vw,3.4rem) 0}
.filterbar{display:grid;gap:.7rem;margin-bottom:clamp(1.4rem,3vw,2rem);padding:1rem;border-radius:4px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line)}
.f-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}
.f-row .doc{min-width:7rem}
.chip{display:inline-block;padding:.55rem .8rem .5rem;border-radius:3px;font:500 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-2);transition:.25s}
.chip:hover{color:#fff;box-shadow:inset 0 0 0 1px var(--gold)}
.chip[aria-pressed="true"]{background:var(--gold);color:#16120a;box-shadow:0 0 20px -8px var(--glow)}
.count{margin-left:auto;font:500 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.count b{color:var(--gold);font-weight:500}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.7rem,1.6vw,1.2rem)}
.card{position:relative;display:block;padding:.6rem .6rem 0;border-radius:4px;background:linear-gradient(170deg,#191916,#0f0f0d);box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease),box-shadow .5s}
.card.hide{display:none}
.card:hover{transform:translateY(-5px) rotate(-.4deg);box-shadow:inset 0 0 0 1px rgba(217,173,79,.6),0 30px 60px -30px var(--glow)}
.frame{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:2px;isolation:isolate;background:radial-gradient(ellipse 70% 50% at 50% 30%,rgba(217,173,79,.14),transparent 70%),linear-gradient(180deg,#22211d,#0b0b0a)}
.frame::before{content:"";position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);pointer-events:none}
.frame::after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,transparent 55%,rgba(10,10,9,.85))}
.frame img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform .8s var(--ease)}
.card:hover .frame img{transform:scale(1.03)}
.vstamp{position:absolute;right:.7rem;bottom:.8rem;z-index:4;padding:.3rem .45rem .2rem;border-radius:2px;box-shadow:inset 0 0 0 1.5px var(--gold);color:var(--gold);font:600 1rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;transform:rotate(-8deg);opacity:.85}
.card .top{position:absolute;left:1.3rem;right:1.3rem;top:1.3rem;z-index:4;display:flex;justify-content:space-between;align-items:start;gap:.4rem}
.ref{font:500 .56rem/1 var(--mono);letter-spacing:.12em;color:var(--dim);padding:.4rem .45rem;border-radius:2px;background:rgba(0,0,0,.5)}
.stub{position:relative;padding:.95rem .5rem .9rem;margin-top:.6rem;border-top:1px dashed var(--line-2)}
.stub::before,.stub::after{content:"";position:absolute;top:-9px;width:18px;height:18px;border-radius:50%;background:var(--bg)}
.stub::before{left:-1.05rem}.stub::after{right:-1.05rem}
.stub h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .4rem;min-width:0;font:600 1.8rem/.85 var(--display);text-transform:uppercase;letter-spacing:.03em;padding-top:.1em}
.stub .row{display:flex;justify-content:space-between;gap:.5rem;margin-top:.45rem;font:500 .62rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.stub .row b{color:var(--gold);font-weight:500}
.empty{display:none;margin-top:1rem;padding:3rem 1rem;text-align:center;border-radius:4px;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}
.empty.on{display:block}
@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))}.f-row .doc{min-width:100%}.count{margin-left:0}.vstamp{font-size:.8rem}.stub h3{font-size:1.45rem}.stub .row{flex-direction:column;gap:.2rem}}

/* ---------- tickets (booking steps) ---------- */
.tickets-sec{padding:clamp(2rem,5vw,3.4rem) 0}
.tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,2vw,1.4rem)}
.tk{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 74px;border-radius:5px;background:linear-gradient(165deg,#1a1a17,#10100e);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;transition:transform .5s var(--ease),box-shadow .4s}
.tk:hover{transform:translateY(-5px);box-shadow:inset 0 0 0 1px rgba(217,173,79,.55),0 30px 60px -34px var(--glow)}
.tk-main{padding:1.4rem 1.3rem 1.3rem}
.tk-main h3{margin:1rem 0 .5rem;font:600 2rem/.85 var(--display);text-transform:uppercase;letter-spacing:.03em;padding-top:.1em}
.tk-main p{font-size:.93rem;color:var(--muted)}
.tk-main p a{color:var(--gold-hi)}
.tk-stub{position:relative;display:grid;place-items:center;border-left:2px dashed var(--line-2);background:rgba(217,173,79,.06)}
.tk-stub::before,.tk-stub::after{content:"";position:absolute;left:-11px;width:20px;height:20px;border-radius:50%;background:var(--bg)}
.tk-stub::before{top:-10px}.tk-stub::after{bottom:-10px}
.tk-stub b{font:600 3.6rem/.8 var(--display);color:var(--gold);writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.04em}
@media (max-width:900px){.tickets{grid-template-columns:1fr}}

/* ---------- statement (rates) ---------- */
.rates-sec{padding:clamp(2rem,5vw,3.4rem) 0}
.rc-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(1.4rem,4vw,3rem);align-items:start}
.statement{border-radius:5px;background:linear-gradient(170deg,#161613,#0e0e0c);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.st-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.4rem;background:rgba(0,0,0,.4);border-bottom:1px solid var(--line)}
.st-row{position:relative;display:grid;grid-template-columns:4.2rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.2rem 1.4rem;border-bottom:1px dotted var(--line-2);transition:background .3s}
.st-row:last-child{border-bottom:0}
.st-row:hover{background:rgba(217,173,79,.05)}
.st-row .doc{font-size:.62rem}
.st-row h3{font:600 2.1rem/.85 var(--display);text-transform:uppercase;letter-spacing:.03em;padding-top:.1em}
.st-row p{margin-top:.2rem;font-size:.9rem;color:var(--muted)}
.st-row .v{display:flex;align-items:baseline;gap:.4rem;font:600 clamp(2rem,3.6vw,3rem)/.8 var(--display);letter-spacing:.02em;white-space:nowrap;padding-top:.1em}
.st-row .v small{font:500 .62rem/1 var(--mono);letter-spacing:.1em;color:var(--gold);text-transform:uppercase}
.summary{position:sticky;top:100px;padding:1.5rem;border-radius:5px;background:var(--foil);background-size:200% 100%;color:#16120a;box-shadow:0 40px 80px -40px var(--glow)}
.summary .doc{color:rgba(22,18,10,.7)}
.summary h3{margin:1rem 0 .4rem;font:600 2.6rem/.82 var(--display);text-transform:uppercase;padding-top:.1em}
.summary p{font-size:.94rem;color:rgba(22,18,10,.78)}
.summary ul{margin:1rem 0 1.3rem;display:grid;gap:.45rem}
.summary li{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.45rem;border-bottom:1px dashed rgba(22,18,10,.25);font:500 .72rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.summary .btn{width:100%;background:#16120a;color:var(--gold-hi);box-shadow:none;white-space:normal;text-align:center}
.summary .btn:hover{background:#000}
@media (max-width:900px){.rc-grid{grid-template-columns:1fr}.summary{position:static}.st-row{grid-template-columns:minmax(0,1fr) auto;gap:.4rem 1rem}.st-row .doc{grid-column:1/-1}}

/* ---------- booking script block ---------- */
.script-sec{padding:clamp(1.6rem,4vw,2.8rem) 0}
.script-card{position:relative;max-width:860px;padding:clamp(1.3rem,3vw,2rem);border-radius:6px;background:linear-gradient(165deg,#1b1b18,#0e0e0c 60%,#121210);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 0 1px rgba(217,173,79,.22),0 40px 80px -40px rgba(0,0,0,.9)}
.script-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(217,173,79,.16);border-radius:3px;pointer-events:none}
.script-card .doc{display:block;margin-bottom:1rem}
.script-body{font:500 .92rem/1.8 var(--mono);color:var(--text);letter-spacing:.01em;padding:1rem 1.1rem;border-radius:3px;background:rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px var(--line)}
.script-card .ctas{margin-top:1.2rem}
.script-card .btn{position:relative;z-index:1}

/* ---------- zones (area links) ---------- */
.zones-sec{padding:clamp(2rem,5vw,3.4rem) 0}
.labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.7rem,1.6vw,1.1rem)}
.zl{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:.8rem;padding:1.2rem 1.3rem;border-radius:4px;background:#121210;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;transition:transform .45s var(--ease),box-shadow .4s}
.zl:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(217,173,79,.55)}
.zl-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding-bottom:.7rem;border-bottom:2px solid var(--text)}
.pc{font:600 2.2rem/.8 var(--display);letter-spacing:.04em;color:var(--gold-hi);padding-top:.1em}
.zl h3{font:600 1.9rem/.85 var(--display);text-transform:uppercase;letter-spacing:.03em;padding-top:.1em}
.zl-bot{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.zl .eta{font:500 .62rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.zl-bot .barcode{width:80px;height:20px;opacity:.3}
.labels.hub .zl{padding:1.5rem 1.4rem}
.labels.hub .zl h3{font-size:2.3rem}
@media (max-width:900px){.labels{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.labels{grid-template-columns:1fr}}

/* ---------- venue and station schedule (area pages) ---------- */
.venue-sec{padding:clamp(1.6rem,4vw,2.6rem) 0}
.venue-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(.9rem,2.4vw,1.6rem);align-items:start}
.vcard{border-radius:5px;background:linear-gradient(170deg,#161613,#0e0e0c);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.vcard .st-head h3{font:600 1.6rem/.85 var(--display);text-transform:uppercase;letter-spacing:.03em;padding-top:.1em}
.vlist li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 1.4rem;border-bottom:1px dotted var(--line-2)}
.vlist li:last-child{border-bottom:0}
.vlist .vn{font:600 1.5rem/.9 var(--display);text-transform:uppercase;letter-spacing:.03em;padding-top:.1em}
.vlist .vm{font:500 .62rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);text-align:right;flex:none}
.slist li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem 1rem;padding:.8rem 1.4rem;border-bottom:1px dotted var(--line-2)}
.slist li:last-child{border-bottom:0}
.slist .sn{grid-column:1;grid-row:1;font:600 1.4rem/.9 var(--display);text-transform:uppercase;letter-spacing:.03em;padding-top:.1em}
.slist .sl{grid-column:1;grid-row:2;font:500 .6rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.slist .sw{grid-column:2;grid-row:1/span 2;align-self:center;font:500 .66rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
@media (max-width:860px){.venue-grid{grid-template-columns:1fr}}

/* ---------- fine print (faq) ---------- */
.fine-sec{padding:clamp(2rem,5vw,3.4rem) 0}
.fine-sec .sec-head{margin-bottom:1.2rem}
.qa{border-bottom:1px dashed var(--line-2);max-width:900px}
.qa:first-of-type{border-top:1px dashed var(--line-2)}
.qa-q{width:100%;display:grid;grid-template-columns:2.8rem minmax(0,1fr) 30px;align-items:center;gap:.8rem;padding:1.1rem 0;text-align:left}
.qa-q .doc{color:var(--gold)}
.qa-q .t{font:600 clamp(1.4rem,2.2vw,1.8rem)/1 var(--display);text-transform:uppercase;letter-spacing:.03em;padding-top:.12em;transition:color .3s}
.qa-q:hover .t{color:var(--gold-hi)}
.qa-q .ico{position:relative;width:30px;height:30px;border-radius:3px;box-shadow:inset 0 0 0 1px var(--line-2);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(--gold);color:#16120a;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 2.6rem 1.2rem 3.6rem;color:var(--muted);max-width:68ch}
@media (max-width:700px){.qa-q{grid-template-columns:2.2rem minmax(0,1fr) 30px}.qa-a p{padding:0 0 1.2rem}}

/* ---------- final cta ---------- */
.final{position:relative;padding:clamp(4rem,9vw,7rem) 0;overflow:hidden;background:radial-gradient(ellipse 50% 60% at 50% 100%,rgba(217,173,79,.16),transparent 70%)}
.final .inner{position:relative;max-width:1100px;margin-inline:auto;padding-inline:var(--gutter);text-align:center;display:grid;justify-items:center;gap:1.2rem}
.final h2{font:600 clamp(2.8rem,9vw,7rem)/.8 var(--display);text-transform:uppercase;letter-spacing:.005em;padding-top:.08em}
.final .ctas{justify-content:center}
.stamp{position:absolute;right:clamp(0px,4vw,60px);top:-6px;display:grid;place-items:center;width:clamp(110px,13vw,160px);aspect-ratio:1;border-radius:50%;color:var(--gold);box-shadow:inset 0 0 0 3px var(--gold),inset 0 0 0 7px transparent,inset 0 0 0 8px var(--gold);text-align:center;font:600 1.3rem/.85 var(--display);letter-spacing:.06em;text-transform:uppercase;transform:rotate(-16deg);mix-blend-mode:screen;pointer-events:none;opacity:.9;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='r'%3E%3CfeTurbulence baseFrequency='.6' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 1.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23r)'/%3E%3C/svg%3E");mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='r'%3E%3CfeTurbulence baseFrequency='.6' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 1.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23r)'/%3E%3C/svg%3E")}
.stamp small{display:block;font:500 .5rem/1.2 var(--mono);letter-spacing:.16em;margin:.3rem 0}
@media (max-width:700px){.stamp{position:relative;right:auto;top:auto;margin-bottom:.4rem}}

/* ---------- profile: the client file ---------- */
.file-sec{padding:clamp(2rem,5vw,3.6rem) 0}
.file-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.6rem,4vw,3.4rem);align-items:start}
.folio{position:relative;padding:clamp(.9rem,2vw,1.3rem);border-radius:6px;background:linear-gradient(165deg,#1b1b18,#0e0e0c 60%,#121210);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 0 1px rgba(217,173,79,.22),0 50px 90px -40px rgba(0,0,0,.95),0 0 80px -40px var(--glow);transform:rotate(-1.2deg)}
.folio::before{content:"";position:absolute;inset:8px;border:1px solid rgba(217,173,79,.16);border-radius:3px;pointer-events:none;z-index:2}
.folio-ph{position:relative;display:block;overflow:hidden;border-radius:3px;isolation:isolate;background:linear-gradient(180deg,#22211d,#0b0b0a)}
.folio-ph::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 65%,rgba(10,10,9,.7))}
.folio-ph img{display:block;width:100%;height:auto}
.folio .vstamp{z-index:4;right:1.2rem;bottom:1.2rem}
.folio-meta{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.9rem .3rem .2rem}
.file-head .ph-top{margin-bottom:1rem}
.file-head h1{font:600 clamp(3rem,9vw,6.6rem)/.8 var(--display);text-transform:uppercase;letter-spacing:.005em;padding-top:.08em}
.file-head .tagline{margin-top:.9rem;max-width:52ch;color:var(--muted);font-size:clamp(1rem,1.3vw,1.12rem)}
.file-rows{display:grid;gap:.5rem;margin:1.3rem 0;max-width:460px}
.file-rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.5rem;border-bottom:1px dashed var(--line-2);font:500 .7rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.file-rows dt{color:var(--dim)}
.file-rows dd{color:var(--text);text-align:right}
.file-rows dd a{color:var(--gold-hi);border-bottom:1px dashed rgba(217,173,79,.5)}
.facs{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.2rem;margin:1.4rem 0;padding:1.1rem 1.2rem 1.2rem;border-radius:4px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);max-width:560px}
.facs .fhead{grid-column:1/-1;display:flex;justify-content:space-between;gap:.6rem}
.facs>div{display:grid;gap:.25rem;min-width:0}
.facs dt{font:500 .56rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.facs dd{font:500 .8rem/1.4 var(--mono);color:var(--text);letter-spacing:.02em;overflow-wrap:anywhere}
.ladder{margin:1.4rem 0;max-width:560px;border-radius:4px;background:linear-gradient(170deg,#161613,#0e0e0c);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.ladder .st-head{padding:.8rem 1.1rem}
.ladder .lrow{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.65rem 1.1rem;border-bottom:1px dotted var(--line-2)}
.ladder .lrow:last-of-type{border-bottom:0}
.ladder .ld{font:500 .68rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ladder .lv{font:600 1.5rem/.8 var(--display);letter-spacing:.02em;color:var(--gold-hi);padding-top:.1em;white-space:nowrap}
.ladder .lfoot{display:block;padding:.7rem 1.1rem .8rem;font:500 .6rem/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border-top:1px dashed var(--line-2)}
.ladder .lfoot a{color:var(--gold-hi)}
.pset-sec{padding:clamp(1.6rem,4vw,2.8rem) 0}
.pset{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.6rem,1.4vw,1rem)}
.pset a{position:relative;display:block;padding:.45rem .45rem;border-radius:3px;background:linear-gradient(170deg,#191916,#0f0f0d);box-shadow:inset 0 0 0 1px var(--line);transition:transform .4s var(--ease),box-shadow .4s}
.pset a:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(217,173,79,.6),0 24px 50px -28px var(--glow)}
.pset img{display:block;width:100%;height:auto;border-radius:2px}
.pset .pnum{position:absolute;left:.8rem;top:.8rem;z-index:2;font:500 .56rem/1 var(--mono);letter-spacing:.12em;color:var(--gold);padding:.3rem .4rem;border-radius:2px;background:rgba(0,0,0,.55)}
@media (max-width:860px){.file-grid{grid-template-columns:1fr}.folio{max-width:480px;margin-inline:auto}.pset{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pn-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;margin-top:2rem;padding-top:1.2rem;border-top:1px dashed var(--line-2)}
.pn-nav a{display:inline-flex;align-items:baseline;gap:.5rem;font:600 1.4rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.pn-nav a:hover{color:var(--gold-hi)}
.pn-nav .doc{font-size:.58rem}
.ledger{display:grid;gap:1rem;max-width:76ch}
.ledger li{padding:1.2rem 1.3rem 1.1rem;border-radius:4px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);border-left:3px solid rgba(217,173,79,.55)}
.ledger blockquote{font-size:.98rem;color:var(--muted);font-style:italic}
.ledger .lmeta{display:block;margin-top:.6rem;font:500 .62rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.ledger-empty{max-width:76ch;padding:1.6rem 1.5rem;border-radius:4px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}
.ledger-empty .doc{display:block;margin-bottom:.5rem}
.chipset{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.chipset .chip{color:var(--text)}

/* ---------- document cards (services, categories, guides, related) ---------- */
.dcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:clamp(.7rem,1.6vw,1.1rem)}
.dcard{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:.6rem;padding:1.3rem 1.3rem 1.1rem;border-radius:4px;background:linear-gradient(170deg,#161613,#0e0e0c);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;transition:transform .45s var(--ease),box-shadow .4s}
.dcard:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(217,173,79,.55),0 26px 55px -32px var(--glow)}
.dcard::after{content:"";position:absolute;left:1.3rem;right:1.3rem;top:3.1rem;border-top:2px solid var(--text);opacity:.85}
.dcard .doc{display:flex;justify-content:space-between;gap:.6rem}
.dcard-t{margin-top:.9rem;font:600 1.9rem/.88 var(--display);text-transform:uppercase;letter-spacing:.03em;padding-top:.1em}
.dcard:hover .dcard-t{color:var(--gold-hi)}
.dcard-x{font-size:.9rem;color:var(--muted)}
.dcard-b{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.4rem}
.dcard-b .barcode{width:70px;height:18px;opacity:.3}
.dcard-b .eta{font:500 .6rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.dcard-img{margin:-1.3rem -1.3rem .2rem;aspect-ratio:16/8;overflow:hidden;position:relative}
.dcard-img img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.dcard-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#121210)}
.dcard.has-img::after{display:none}
.dtoc{counter-reset:toc;display:grid;gap:.1rem}
.dtoc li{counter-increment:toc}
.dtoc a{display:flex;align-items:baseline;gap:.7rem;padding:.55rem .2rem;border-bottom:1px dotted var(--line-2);font:500 .78rem/1.4 var(--mono);letter-spacing:.04em;color:var(--muted);transition:color .25s}
.dtoc a::before{content:counter(toc,decimal-leading-zero);color:var(--gold);font-size:.66rem;letter-spacing:.1em}
.dtoc a:hover{color:var(--gold-hi)}

/* ---------- briefing article (guides) ---------- */
.art-hero{position:relative;padding:clamp(2.4rem,6vw,4.2rem) 0 clamp(1.6rem,3.5vw,2.4rem);overflow:hidden}
.art-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:repeating-linear-gradient(0deg,var(--line) 0 1px,transparent 1px 34px);-webkit-mask:linear-gradient(90deg,#000,transparent 60%);mask:linear-gradient(90deg,#000,transparent 60%);opacity:.5}
.art-hero h1{margin:1.1rem 0 1rem;font:600 clamp(2.5rem,6.5vw,5.2rem)/.85 var(--display);text-transform:uppercase;letter-spacing:.005em;padding-top:.08em;max-width:24ch}
.art-grid{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(1.6rem,4vw,3.6rem);align-items:start;padding-block:clamp(1.4rem,3vw,2.4rem)}
.art-toc{position:sticky;top:96px;padding:1.3rem 1.3rem 1.2rem;border-radius:5px;background:linear-gradient(170deg,#161613,#0e0e0c);box-shadow:inset 0 0 0 1px var(--line)}
.art-toc .doc{display:flex;justify-content:space-between;gap:.6rem;margin-bottom:.8rem}
.art-toc .btn{width:100%;margin-top:1.1rem;font-size:1.15rem;min-height:46px}
.art{max-width:70ch;min-width:0}
.art-sec{padding:1.2rem 0 .6rem}
.art-sec h2{font:600 clamp(1.9rem,3.2vw,2.7rem)/.9 var(--display);text-transform:uppercase;letter-spacing:.02em;padding-top:.1em;margin-bottom:.9rem}
.art-sec h2::before{content:"§ " counter(artsec,decimal-leading-zero);counter-increment:artsec;display:block;margin-bottom:.5rem;font:500 .64rem/1 var(--mono);letter-spacing:.14em;color:var(--gold)}
.art{counter-reset:artsec}
.art p{color:var(--muted);margin-bottom:1rem}
.art .fine-sec,.art .final{padding:1.6rem 0}
.art .final{background:none}
.art .final .inner{padding-inline:0;text-align:left;justify-items:start;max-width:none}
.art .final h2{font-size:clamp(2.2rem,4.5vw,3.4rem)}
.art .final .ctas{justify-content:flex-start}
.art .final .stamp{display:none}
.art-rel{padding:1.6rem 0}
.art-rel .sec-head{margin-bottom:1.1rem}
@media (max-width:900px){.art-grid{grid-template-columns:1fr}.art-toc{position:static}}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:100001;display:grid;place-items:center;padding:2.5rem 1rem}
html.lb-open .cc-mbar{display:none !important}
.lb[hidden]{display:none}
.lb-back{position:absolute;inset:0;background:rgba(5,5,4,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.lb-fig{position:relative;z-index:2;max-width:min(92vw,760px);max-height:86vh;display:grid;gap:.6rem;justify-items:center}
.lb-fig img{max-width:100%;max-height:78vh;width:auto;height:auto;border-radius:4px;box-shadow:0 40px 90px -30px rgba(0,0,0,.9),inset 0 0 0 1px rgba(217,173,79,.4)}
.lb-cap{color:var(--dim)}
.lb button{position:absolute;z-index:3;display:grid;place-items:center;width:46px;height:46px;border-radius:3px;background:rgba(10,10,9,.8);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--text);font:600 1.6rem/1 var(--display);transition:.25s}
.lb button:hover{color:var(--gold-hi);box-shadow:inset 0 0 0 1px var(--gold)}
.lb .lb-x{top:1rem;right:1rem}
.lb .lb-prev{left:.6rem;top:50%;transform:translateY(-50%)}
.lb .lb-next{right:.6rem;top:50%;transform:translateY(-50%)}
html.lb-open,html.lb-open body{overflow:hidden}

/* ---------- 404 ---------- */
.nf-sec{padding:clamp(4rem,10vw,7rem) 0;text-align:center}
.nf-sec .emboss{font:600 clamp(6rem,20vw,13rem)/.7 var(--display);color:#131311;text-shadow:-1px -1px 0 rgba(255,255,255,.07),1px 1px 0 rgba(0,0,0,.9);letter-spacing:.02em}
.nf-sec h1{margin:1rem 0 .8rem;font:600 clamp(2.4rem,6vw,4.4rem)/.85 var(--display);text-transform:uppercase}
.nf-sec .lede{margin-inline:auto}
.nf-sec .ctas{justify-content:center;margin-top:1.6rem}

/* ---------- reveal + motion ---------- */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--rd,0s)}
.js .rv.in{opacity:1;transform:none}

.site-foot{padding:clamp(3rem,6vw,4.5rem) 0 2rem;background:#060605;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:2rem 1.6rem}
.foot-grid h4{font:500 .62rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.foot-grid h4 a{color:inherit}
.foot-grid ul{display:grid;gap:.5rem;font-size:.88rem;color:var(--muted);align-content:start}
.foot-grid a:hover{color:#fff}
.foot-grid .fnote{font-size:.9rem;color:var(--dim);max-width:40ch;margin-top:1rem}
.foot-grid small{color:var(--dim)}
.fcol-wide ul{grid-template-columns:1fr 1fr}
.foot-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 dashed var(--line);font-size:.8rem;color:var(--dim)}
.foot-base nav{display:flex;flex-wrap:wrap;gap:1.2rem}
.age{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:3px;background:var(--gold);font:600 1.3rem/1 var(--display);padding-top:.15em;color:#16120a;margin-right:.7rem;vertical-align:middle;flex:none}
@media (max-width:960px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.site-foot{padding-bottom:100px}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}.fcol-wide ul{grid-template-columns:1fr 1fr}}


.cc-mbar a.cc-wa,.cc-mbar a.cc-tg{font-family:var(--display) !important;font-weight:600 !important;font-size:19px !important;letter-spacing:.06em;text-transform:uppercase;padding-top:18px !important}
.cc-mbar a.cc-wa{background:linear-gradient(100deg,#8f6a22 0%,#e9c46f 26%,#f4d58a 40%,#d9ad4f 58%,#a67c2c 100%) !important;color:#16120a !important}
.cc-mbar a.cc-wa svg{fill:#16120a !important}
.cc-mbar a.cc-tg{background:#141412 !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22) !important;color:#f3efe6 !important}

@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}
}
