/* ElDorado Lifestyle · opening-night invitations · styles
   Gold #B8860B · Midnight Noir #111827 · Cream Lustre #FAF9F6
   Cinzel/Georgia: logotype + VIP invitation text only. Montserrat: everything else. */

@font-face{font-family:'Cinzel';font-weight:400;font-display:swap;src:url(/fonts/cinzel-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Cinzel';font-weight:500;font-display:swap;src:url(/fonts/cinzel-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Cinzel';font-weight:600;font-display:swap;src:url(/fonts/cinzel-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-weight:400;font-display:swap;src:url(/fonts/montserrat-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-weight:500;font-display:swap;src:url(/fonts/montserrat-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-weight:600;font-display:swap;src:url(/fonts/montserrat-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-weight:700;font-display:swap;src:url(/fonts/montserrat-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-weight:400;font-display:swap;src:url(/fonts/montserrat-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-weight:500;font-display:swap;src:url(/fonts/montserrat-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-weight:600;font-display:swap;src:url(/fonts/montserrat-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-weight:700;font-display:swap;src:url(/fonts/montserrat-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --gold:#B8860B; --gold-hi:#D9B24C; --gold-lo:#8F6808;
  --noir:#111827; --noir-2:#0B1019; --noir-3:#1B2333; --noir-4:#262F42;
  --cream:#FAF9F6; --cream-2:#F1EEE6; --ink:#111827; --muted:#9AA1B0; --muted-ink:#5B6272;
  --display:'Cinzel',Georgia,'Times New Roman',serif;
  --ui:'Montserrat',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --gold-grad:linear-gradient(135deg,#9A7009 0%,#B8860B 38%,#CBA02A 52%,#B8860B 66%,#9A7009 100%);
  --ease:cubic-bezier(.22,.8,.24,1);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
html,body{margin:0;min-height:100%;background:var(--noir);color:var(--cream);font-family:var(--ui);font-size:16px;line-height:1.55;overflow-x:hidden}
body{min-height:100dvh;position:relative}
body.theme-cream{background:var(--cream);color:var(--ink)}
img,svg{max-width:100%}
a{color:var(--gold-hi);text-underline-offset:3px}
.theme-cream a{color:#7A5A06}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:4px}
.theme-cream :focus-visible{outline-color:var(--gold-lo)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── 18+ badge: on every screen ── */
.age-badge{position:fixed;z-index:200;top:calc(22px + env(safe-area-inset-top));right:22px;width:46px;height:46px;border-radius:50%;background:var(--noir);border:1.5px solid var(--gold);display:grid;place-items:center;box-shadow:0 0 0 3px rgba(17,24,39,.9),0 0 0 4px rgba(184,134,11,.55),0 4px 14px rgba(0,0,0,.35);user-select:none}
.age-badge span{font:700 14px/1 var(--ui);letter-spacing:.02em;color:var(--gold-hi)}
.theme-cream .age-badge span{color:var(--gold-hi)}

/* ── toast ── */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,30px);opacity:0;z-index:400;background:var(--cream);color:var(--ink);padding:.8rem 1.2rem;border-radius:10px;border:1px solid var(--gold);font:500 14px var(--ui);max-width:min(92vw,420px);text-align:center;pointer-events:none;transition:all .35s var(--ease);box-shadow:0 10px 30px rgba(0,0,0,.4)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ── buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.9rem 1.6rem;border-radius:2px;border:1px solid var(--gold);background:transparent;color:var(--cream);font:600 13px var(--ui);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;position:relative;overflow:hidden;transition:transform .2s var(--ease),box-shadow .3s,background .3s,color .3s}
.btn:hover{background:rgba(184,134,11,.14)}
.btn:active{transform:scale(.98)}
.btn-gold{background:var(--gold-grad);background-size:200% 100%;color:var(--noir);border-color:var(--gold);box-shadow:0 8px 26px rgba(184,134,11,.28),inset 0 0 0 1px rgba(250,249,246,.22)}
.btn-gold:hover{background:var(--gold-grad);background-size:200% 100%;background-position:100% 0;box-shadow:0 10px 32px rgba(184,134,11,.4),inset 0 0 0 1px rgba(250,249,246,.3)}
.btn-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn-gold:hover::after,.btn-gold:focus-visible::after{transform:translateX(120%)}
.btn-lg{min-height:58px;padding:1rem 2.2rem;width:100%;max-width:340px}
.btn-sm{min-height:44px;padding:.55rem 1rem;font-size:11.5px;letter-spacing:.12em}
.btn-ghost{border-color:rgba(184,134,11,.55);color:var(--cream)}
.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}
.theme-cream .btn{color:var(--ink);border-color:var(--gold-lo)}
.theme-cream .btn:hover{background:rgba(184,134,11,.12)}
.theme-cream .btn-gold{color:var(--noir)}
.btn-danger{border-color:#9b3b3b;color:#f3c9c9}
.theme-cream .btn-danger{color:#7c2323;border-color:#9b3b3b}
.link-btn{background:none;border:0;padding:.6rem .4rem;min-height:44px;color:var(--gold-hi);text-decoration:underline;text-underline-offset:4px;font:500 13px var(--ui)}

/* ── screens ── */
.screen{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:calc(56px + env(safe-area-inset-top)) 26px 28px;isolation:isolate;overflow:hidden}
.screen::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse 90% 55% at 50% 0%,rgba(184,134,11,.2),transparent 70%),radial-gradient(ellipse 80% 40% at 50% 100%,rgba(184,134,11,.1),transparent 70%),var(--noir)}
.screen::after{content:"";position:absolute;left:50%;top:-10%;width:220vmax;height:220vmax;transform:translateX(-50%);z-index:-1;background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(184,134,11,.075) 0 1.2deg,transparent 1.2deg 7.5deg);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 32%);mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 32%);pointer-events:none;animation:spinc 240s linear infinite;will-change:transform}
@keyframes spinc{to{transform:translateX(-50%) rotate(360deg)}}
.screen-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.sf{fill:none;stroke:var(--gold)}
.sf1{x:14px;y:14px;width:calc(100% - 28px);height:calc(100% - 28px);stroke-width:1.4}
.sf2{x:20px;y:20px;width:calc(100% - 40px);height:calc(100% - 40px);stroke-width:.7;opacity:.7}
.col{width:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}
.eyebrow{font:600 11px var(--ui);letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin:0}
.fade-up{opacity:0;transform:translateY(14px);animation:fadeUp .9s var(--ease) forwards;animation-delay:calc(var(--s,0)*.12s + .1s)}
@keyframes fadeUp{to{opacity:1;transform:none}}

/* ── logo ── */
.lg{display:block;width:100%;height:auto;overflow:visible}
.lg-gem{filter:drop-shadow(0 0 6px rgba(184,134,11,.35))}
.lg--animate .lg-line{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.8s cubic-bezier(.55,.05,.25,1) forwards;animation-delay:calc(var(--i)*.32s + .25s)}
.lg--animate .lg-corners rect{opacity:0;animation:fadeIn .6s ease forwards 2.6s}
.lg--animate .lg-ray{transform-origin:160px 196px;transform-box:view-box;opacity:0;transform:scale(.05);animation:rayIn 1.5s var(--ease) forwards;animation-delay:calc(var(--d) + 1s)}
.lg--animate .lg-gem{opacity:0;transform-origin:160px 200px;transform-box:view-box;animation:gemIn 1.1s var(--ease) forwards 1.5s}
.lg--animate .lg-name{opacity:0;animation:wordIn 1.4s var(--ease) forwards 2.9s}
.lg--animate .lg-sub{opacity:0;animation:wordIn 1.4s var(--ease) forwards 3.5s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadeIn{to{opacity:1}}
@keyframes rayIn{0%{opacity:0;transform:scale(.05)}40%{opacity:1}100%{opacity:1;transform:scale(1)}}
@keyframes gemIn{0%{opacity:0;transform:scale(.4) translateY(8px)}100%{opacity:1;transform:none}}
@keyframes wordIn{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:none}}

/* ── intro ── */
.intro{position:fixed;inset:0;z-index:100;background:var(--noir);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;}
@keyframes introOut{to{opacity:0;visibility:hidden;transform:scale(1.06)}}
.intro.leaving{animation:introLeave .6s cubic-bezier(.5,0,.75,0) forwards}
@keyframes introLeave{to{opacity:0;transform:scale(1.06);filter:blur(5px)}}
.intro-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(184,134,11,.28),transparent 55%);opacity:0;animation:fadeIn 2.5s ease forwards .2s}
.intro-rays{position:absolute;left:50%;top:46%;width:230vmax;height:230vmax;margin:-115vmax 0 0 -115vmax;background:repeating-conic-gradient(from 0deg,rgba(184,134,11,.16) 0 .8deg,transparent .8deg 6deg);-webkit-mask-image:radial-gradient(circle,#000 0,transparent 26%);mask-image:radial-gradient(circle,#000 0,transparent 26%);opacity:0;animation:fadeIn 3s ease forwards .6s,spin 90s linear infinite;will-change:transform}
.intro-rays.b{background:repeating-conic-gradient(from 3deg,rgba(184,134,11,.1) 0 .5deg,transparent .5deg 13deg);-webkit-mask-image:radial-gradient(circle,#000 0,transparent 36%);mask-image:radial-gradient(circle,#000 0,transparent 36%);animation:fadeIn 4s ease forwards 1.4s,spinr 140s linear infinite}
@keyframes spinr{to{transform:rotate(-360deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
.intro .sf{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 3.2s cubic-bezier(.55,.05,.25,1) forwards .2s}
.intro .sf2{animation-delay:.7s}
.intro-logo{width:min(84vw,420px);position:relative;z-index:2}
.intro-line{font:400 14px var(--display);letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin:1.6rem 0 0;opacity:0;animation:wordIn 1.4s var(--ease) forwards 4.6s;position:relative;z-index:2;text-align:center;padding-left:.42em}
.skip{position:absolute;z-index:5;left:20px;top:calc(26px + env(safe-area-inset-top));min-height:44px;padding:.4rem 1.1rem;background:transparent;border:1px solid rgba(184,134,11,.6);color:var(--cream);font:600 11px var(--ui);letter-spacing:.24em;text-transform:uppercase;border-radius:2px}
.skip:hover{background:rgba(184,134,11,.15)}

/* ── greeting ── */
.g-logo{width:min(54vw,206px);margin-bottom:1rem}
.invite-title{font:500 clamp(28px,8.4vw,40px)/1.15 var(--display);letter-spacing:.04em;text-align:center;margin:.7rem 0 0;color:var(--cream)}
.invite-title .name{display:block;color:var(--gold)}
.invite-title .you{display:block;font-size:.78em;letter-spacing:.08em}
.deco-rule{display:flex;align-items:center;gap:12px;width:min(260px,70%);margin:1.1rem 0;color:var(--gold)}
.deco-rule::before,.deco-rule::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.deco-rule::after{background:linear-gradient(270deg,transparent,var(--gold))}
.deco-rule i{width:9px;height:9px;transform:rotate(45deg);border:1.5px solid var(--gold);display:block}
.invite-line{font:400 17px/1.5 var(--display);text-align:center;margin:0;color:var(--cream);letter-spacing:.03em}
.date-block{margin:1.1rem 0 .2rem;text-align:center;font-family:var(--display)}
.date-block .wk{font-size:13px;letter-spacing:.5em;color:var(--gold);padding-left:.5em;text-transform:uppercase}
.date-block .dn{font-size:clamp(32px,8.5vw,50px);white-space:nowrap;line-height:1.1;font-weight:500;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;margin:.1rem 0}
.date-block .mo{font-size:18px;letter-spacing:.34em;text-transform:uppercase;padding-left:.34em}
.venue{text-align:center;margin:.8rem 0 0;font:400 15px/1.7 var(--display);letter-spacing:.06em}
.venue b{font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:14px}
.age-line{margin:.9rem 0 1.2rem;font:600 11.5px var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:.7rem}
.age-line em{font-style:normal;font-weight:700;color:var(--gold-hi);border:1px solid var(--gold);padding:.15rem .5rem;border-radius:3px}
.fine{font:400 12px var(--ui);color:var(--muted);text-align:center;margin:1rem 0 0;letter-spacing:.02em}
.foot{margin-top:auto;padding-top:2.4rem;width:100%;max-width:480px;text-align:center;font:400 11.5px/1.7 var(--ui);color:var(--muted);position:relative;z-index:1}
.foot .tbc{display:inline-block;color:var(--cream);opacity:.9;border-top:1px solid rgba(184,134,11,.5);border-bottom:1px solid rgba(184,134,11,.5);padding:.4rem 1rem;margin-bottom:.8rem;letter-spacing:.08em}
.foot a{color:var(--muted);text-decoration:none;border-bottom:1px solid rgba(154,161,176,.4)}
.foot a:hover{color:var(--gold-hi)}

/* ── seat map ── */
.map-head{text-align:center;margin-bottom:1rem}
.map-head h2{font:500 26px var(--display);letter-spacing:.06em;margin:.5rem 0 .3rem}
.map-head p{margin:0;color:var(--muted);font-size:14px;max-width:34ch}
.logo-mini{width:118px;margin:0 auto .4rem}
.legend{display:flex;flex-direction:column;gap:8px;width:100%;margin:.4rem 0 1rem}
.legend .tier{display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center;text-align:left;border:1px solid rgba(184,134,11,.4);padding:.65rem .85rem;position:relative;background:linear-gradient(90deg,rgba(184,134,11,.1),transparent)}
.legend .tier.kings{border-color:var(--gold);background:linear-gradient(90deg,rgba(184,134,11,.22),rgba(184,134,11,.04))}
.legend .tier.vault{border-color:rgba(143,104,8,.7);background:linear-gradient(90deg,rgba(184,134,11,.05),transparent)}
.legend .tier h3{font:600 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .25rem;color:var(--cream)}
.legend .tier .price{font:600 18px var(--ui);color:var(--gold-hi);letter-spacing:.01em;text-align:right;grid-column:2;grid-row:1}
.legend .tier h3{grid-column:1;grid-row:1}
.legend .tier .bl{grid-column:1;grid-row:2}
.legend .tier .cnt{grid-column:2;grid-row:2;text-align:right}
.legend .tier small{display:block;font-size:11.5px;color:var(--muted);line-height:1.4;margin-top:.15rem}
.legend .tier .cnt{color:var(--gold-hi);font-weight:600;font-size:11px;margin-top:.15rem;white-space:nowrap}
.mapwrap{width:100%;position:relative;padding:6px 0}
.map{width:100%;height:auto;display:block;overflow:visible;font-family:var(--ui)}
.map .floor{fill:rgba(184,134,11,.04);stroke:rgba(184,134,11,.35);stroke-width:1}
.map .deco{fill:none;stroke:var(--gold);stroke-width:1;opacity:.7}
.map .area{fill:var(--noir-3);stroke:rgba(184,134,11,.5);stroke-width:1}
.map .lbl{font-size:8.5px;letter-spacing:.3em;fill:var(--gold-hi);text-anchor:middle;font-weight:600}
.map .lbl-dim{fill:var(--muted);font-size:8px;letter-spacing:.3em;text-anchor:middle;font-weight:600}
.map .tbl{cursor:pointer;outline:none}
.map .tbl .shape{fill:rgba(184,134,11,.1);stroke:var(--gold);stroke-width:1.6;transition:fill .25s,stroke .25s,filter .25s}
.map .tbl.kings .shape{fill:rgba(184,134,11,.24);stroke-width:1.8}
.map .tbl.city .shape{fill:rgba(184,134,11,.12)}
.map .tbl.vault .shape{fill:rgba(184,134,11,.05);stroke:#A47A10;stroke-width:1.4}
.map .tbl .inner{fill:none;stroke:var(--gold);stroke-width:.7;opacity:.7}
.map .tbl .nm{font-size:10.5px;font-weight:700;letter-spacing:.08em;fill:var(--cream);text-anchor:middle;text-transform:uppercase}
.map .tbl.city .nm,.map .tbl.vault .nm{letter-spacing:.05em}
.map .tbl .sub{font-size:8.5px;font-weight:600;letter-spacing:.14em;fill:var(--gold-hi);text-anchor:middle;text-transform:uppercase}
.map .tbl:hover .shape,.map .tbl:focus-visible .shape{fill:rgba(184,134,11,.4);filter:drop-shadow(0 0 8px rgba(184,134,11,.55))}
.map .tbl:focus-visible .shape{stroke:var(--cream);stroke-width:2.2}
.map .tbl.sel .shape{fill:rgba(184,134,11,.55);stroke:var(--cream)}
.map .tbl.taken{cursor:not-allowed}
.map .tbl.taken .shape{fill:#232a39;stroke:#5B6272;stroke-dasharray:3 3;filter:none}
.map .tbl.taken .inner{stroke:#5B6272}
.map .tbl.taken .nm{fill:#8B93A3}
.map .tbl.taken .sub{fill:#8B93A3}
.map .tbl.mine .shape{fill:var(--gold);stroke:var(--cream)}
.map .tbl.mine .nm,.map .tbl.mine .sub{fill:var(--noir)}
.map .tbl.mine .inner{stroke:var(--noir)}
.map-note{font-size:11.5px;color:var(--muted);text-align:center;margin:.4rem 0 0}
.keys{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin:.6rem 0 0;font-size:11.5px;color:var(--muted)}
.keys i{display:inline-block;width:12px;height:12px;vertical-align:-2px;margin-right:6px;border:1.5px solid var(--gold);background:rgba(184,134,11,.2)}
.keys i.t{border-color:#5B6272;border-style:dashed;background:#232a39}
.keys i.m{background:var(--gold)}
.banner{width:100%;border:1px solid var(--gold);background:rgba(184,134,11,.12);padding:.9rem 1rem;margin:0 0 1rem;font-size:13.5px;display:flex;gap:.8rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.banner b{font-weight:600}

/* ── card ── */
.card{width:100%;border:1px solid rgba(184,134,11,.5);padding:1.2rem 1.2rem 1.3rem;margin:1rem 0 0;background:linear-gradient(180deg,rgba(27,35,51,.9),rgba(17,24,39,.6));position:relative}
.card::before{content:"";position:absolute;inset:4px;border:1px solid rgba(184,134,11,.22);pointer-events:none}
.card h3{font:600 12px var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-hi);margin:0 0 .7rem}
.card p{margin:.3rem 0;font-size:14px;color:#D9DCE3}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:.6rem 0;font-size:14px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;text-align:right;font-weight:500;word-break:break-word}
.kv dd.ph{color:var(--gold-hi);font-style:italic;font-weight:400}
.copy-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.copy-row>span{min-width:0;overflow-wrap:anywhere;text-align:right}
.copy-row button{flex:none;white-space:nowrap;min-height:36px;min-width:36px;padding:0 .6rem;background:transparent;border:1px solid rgba(184,134,11,.5);border-radius:3px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-hi)}

/* ── bottom sheet ── */
.sheet-back{position:fixed;inset:0;z-index:150;background:rgba(5,8,14,.72);opacity:0;transition:opacity .3s;backdrop-filter:blur(3px)}
.sheet-back.open{opacity:1}
.sheet{position:fixed;z-index:160;left:50%;bottom:0;width:100%;max-width:520px;transform:translate(-50%,105%);transition:transform .45s var(--ease);background:var(--noir);border:1px solid var(--gold);border-bottom:0;border-radius:18px 18px 0 0;padding:1rem 1.6rem calc(1.6rem + env(safe-area-inset-bottom));max-height:92dvh;overflow:auto;box-shadow:0 -20px 60px rgba(0,0,0,.6)}
.sheet.open{transform:translate(-50%,0)}
.sheet::before{content:"";display:block;width:44px;height:4px;border-radius:4px;background:var(--gold);margin:0 auto 1.1rem;opacity:.8}
.sheet .tier-chip{font:600 10.5px var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-hi);border:1px solid var(--gold);padding:.25rem .6rem;display:inline-block}
.sheet h2{font:700 26px var(--ui);margin:.8rem 0 .1rem;letter-spacing:.02em}
.sheet .price{font:600 24px var(--ui);color:var(--gold-hi);margin:0 0 .6rem}
.sheet .row-btns{display:flex;flex-direction:column;gap:.6rem;margin-top:1.2rem}
.sheet .close{position:absolute;top:.8rem;right:.8rem;width:44px;height:44px;background:none;border:0;font-size:26px;color:var(--cream);line-height:1}
.sheet .tbc-note{font-size:12.5px;color:var(--muted);margin:.6rem 0 0}

/* ── held screen ── */
.status-seal{width:72px;height:72px;margin:.2rem 0 1rem;display:block}
.held-title{font:500 clamp(26px,7.5vw,34px)/1.2 var(--display);letter-spacing:.05em;text-align:center;margin:.2rem 0 .3rem}
.held-sub{color:var(--muted);font-size:14px;text-align:center;margin:0}
.countdown{display:flex;gap:10px;justify-content:center;margin:1.4rem 0 .4rem}
.countdown div{width:78px;text-align:center;border:1px solid var(--gold);padding:.7rem 0 .5rem;background:rgba(184,134,11,.08);position:relative}
.countdown div::after{content:"";position:absolute;left:6px;right:6px;top:50%;height:1px;background:rgba(184,134,11,.18)}
.countdown b{display:block;font:500 34px/1 var(--display);color:var(--cream);font-variant-numeric:tabular-nums;position:relative;z-index:1}
.countdown span{font:600 9px var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-hi);position:relative;z-index:1}
.cd-note{text-align:center;font-size:12.5px;color:var(--muted);margin:.4rem 0 0}
.paid-seal{color:var(--gold-hi)}

/* ── invalid / home ── */
.simple{justify-content:center;text-align:center}
.simple h1{font:500 clamp(26px,7vw,34px)/1.25 var(--display);letter-spacing:.05em;margin:1.2rem 0 .8rem}
.simple p{color:#C9CDD6;font-size:15px;margin:.4rem 0}
.guest-list{list-style:none;padding:0;margin:1.2rem 0 0;width:100%;display:grid;gap:10px}
.guest-list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:56px;padding:.6rem 1rem;border:1px solid rgba(184,134,11,.5);text-decoration:none;color:var(--cream);background:rgba(27,35,51,.6);text-align:left;transition:background .25s,border-color .25s}
.guest-list a:hover{background:rgba(184,134,11,.16);border-color:var(--gold)}
.guest-list .nm{font-weight:600;font-size:15px}
.guest-list .sl{font-size:12px;color:var(--muted);display:block}
.pill{display:inline-block;padding:.2rem .6rem;border-radius:99px;font:600 10.5px var(--ui);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border:1px solid}
.pill.s0{color:#9AA1B0;border-color:#5B6272}
.pill.s1{color:#E7D8A8;border-color:#8F6808;background:rgba(184,134,11,.12)}
.pill.s2{color:#111827;border-color:var(--gold);background:var(--gold-hi)}
.pill.s3{color:#FAF9F6;border-color:#2F7A4F;background:#2F7A4F}
.theme-cream .pill.s0{color:#5B6272;border-color:#B9BDC7}
.theme-cream .pill.s1{color:#6B4E05;background:#F6ECCD;border-color:#CDAE5E}
.theme-cream .pill.s2{color:#111827;background:#E8C766;border-color:#B8860B}
.theme-cream .pill.s3{color:#fff;background:#25643f;border-color:#25643f}
.pill.s4{color:#111827;border-color:#E8C766;background:repeating-linear-gradient(135deg,#E8C766 0 6px,#F3DC94 6px 12px)}
.theme-cream .pill.s4{color:#4a3604;background:repeating-linear-gradient(135deg,#F3DC94 0 6px,#FBEFC6 6px 12px);border-color:#B8860B}

/* ── admin (Cream Lustre) ── */
.admin{min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 16px 60px;max-width:1180px;margin:0 auto}
.admin-top{display:flex;align-items:center;gap:16px;padding-right:64px;margin-bottom:1.2rem;background:var(--noir);color:var(--cream);padding:14px 74px 14px 18px;border-bottom:3px solid var(--gold);margin-inline:-16px}
.admin-top .lg{width:76px;flex:none}
.admin-top h1{font:600 13px var(--ui);letter-spacing:.2em;text-transform:uppercase;margin:0;line-height:1.35}
.admin-top small{display:block;font:400 11px var(--ui);color:var(--muted);letter-spacing:.04em;text-transform:none}
.admin h2{font:700 12px var(--ui);letter-spacing:.2em;text-transform:uppercase;color:#7A5A06;margin:2rem 0 .8rem;padding-bottom:.5rem;border-bottom:1px solid #D9CFB3}
.counters{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.counter{background:#fff;border:1px solid #E4DFD0;border-top:3px solid var(--gold);padding:.9rem 1rem}
.counter small{display:block;font:600 10.5px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-ink)}
.counter b{display:block;font:700 28px/1.2 var(--ui);margin-top:.2rem}
.counter.wide{grid-column:span 2}
.counter b.money{font-size:24px}
.gate{max-width:380px;margin:12vh auto 0;text-align:center;padding:2rem 1.4rem}
.gate .lg{width:200px;margin:0 auto 1.2rem}
.gate h1{font:700 14px var(--ui);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1rem}
.gate input{width:100%;min-height:52px;padding:.7rem 1rem;border:1px solid #B9AE8C;background:#fff;font:500 16px var(--ui);text-align:center;letter-spacing:.2em;border-radius:2px;color:var(--ink)}
.gate .hint{background:#F6ECCD;border:1px dashed var(--gold);padding:.7rem .9rem;margin-top:1rem;font-size:13px;color:#4A3704}
.gate .err{color:#9b2c2c;font-size:13px;min-height:1.4em;margin:.5rem 0}
.gt{width:100%;border-collapse:collapse;font-size:14px}
.gt thead{display:none}
.gt tr{display:block;background:#fff;border:1px solid #E4DFD0;margin-bottom:10px;padding:.7rem .9rem}
.gt td{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem 0;border:0;text-align:right}
.gt td::before{content:attr(data-l);font:600 10.5px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-ink);text-align:left;flex:none}
.gt td.actions{flex-wrap:wrap;justify-content:flex-start;gap:6px;padding-top:.6rem;margin-top:.3rem;border-top:1px solid #EEE9DA}
.gt td.actions::before{display:none}
.gt .who b{display:block;font-weight:600}
.gt .who a{font-size:12px;word-break:break-all}
.tg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tcard{background:#fff;border:1px solid #E4DFD0;padding:.55rem .7rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-left:4px solid var(--gold)}
.tcard.available{border-left-color:#B9BDC7}
.tcard b{font-weight:600}
.tcard small{display:block;color:var(--muted-ink);font-size:12px}
.pl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pl li{background:#fff;border:1px solid #E4DFD0;padding:.8rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.empty{color:var(--muted-ink);font-size:14px;padding:.5rem 0}
.admin .danger-zone{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid #D9CFB3;display:flex;gap:10px;flex-wrap:wrap}

@media (min-width:760px){
  .screen{padding-top:90px}
  .counters{grid-template-columns:repeat(6,1fr)}
  .counter.wide{grid-column:span 3}
  .counters .counter{grid-column:span 1}
  .gt{border-collapse:separate;border-spacing:0 8px}
  .gt thead{display:table-header-group}
  .gt thead th{font:600 10.5px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-ink);text-align:left;padding:.3rem .8rem}
  .gt tr{display:table-row;border:0;padding:0;margin:0}
  .gt td{display:table-cell;text-align:left;padding:.8rem;background:#fff;border-top:1px solid #E4DFD0;border-bottom:1px solid #E4DFD0;vertical-align:middle}
  .gt td:first-child{border-left:1px solid #E4DFD0}.gt td:last-child{border-right:1px solid #E4DFD0}
  .gt td::before{display:none}
  .gt td.actions{display:table-cell;border-top:1px solid #E4DFD0;margin:0}
  .gt td.actions .btn{margin:2px 4px 2px 0}
  .tg{grid-template-columns:repeat(3,1fr)}
  .admin{padding-inline:28px}
  .admin-top{margin-inline:-28px;padding-left:28px}
  .legend .tier h3{font-size:12px}
}
@media (max-width:359px){ .countdown div{width:68px} }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .fade-up{opacity:1;transform:none}
  .intro-rays{animation:none;opacity:1}
}


/* ═════════ motion upgrade ═════════ */
#fx{position:fixed;inset:0;width:100%;height:100%;z-index:170;pointer-events:none}
.screen{animation:pageIn .8s var(--ease) both}
@keyframes pageIn{from{opacity:0;transform:translateY(18px) scale(.985);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
#app.page-out{animation:pageOut .28s ease-in forwards}
@keyframes pageOut{to{opacity:0;transform:translateY(-10px) scale(1.01);filter:blur(4px)}}
#app[data-quiet] .screen,#app[data-quiet] .fade-up,#app[data-quiet] .tbl,#app[data-quiet] .ch,#app[data-quiet] .wipe,#app[data-quiet] .deco-rule::before,#app[data-quiet] .deco-rule::after,#app[data-quiet] .deco-rule i{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}

/* logo glint */
.lg-glint{opacity:0;transform-box:fill-box;transform-origin:center;animation:glint 7s ease-in-out infinite 3.5s}
.lg--animate .lg-glint{animation:glint 4.6s ease-in-out infinite 3s}
@keyframes glint{0%,84%{opacity:0;transform:scale(.1) rotate(0)}91%{opacity:1;transform:scale(1.15) rotate(45deg)}100%{opacity:0;transform:scale(.2) rotate(90deg)}}

/* intro text */
.intro-line span{display:inline-block;opacity:0;transform:translateY(8px);animation:wordIn .9s var(--ease) forwards;animation-delay:calc(4.4s + var(--i)*.045s)}
.intro-line{animation:none;opacity:1}

/* greeting: name letter by letter + gold wipe */
.name-reveal{display:inline-block;position:relative;max-width:100%}
.name-reveal .wd{display:inline-block;white-space:nowrap}
.ch{background:var(--gold-grad);background-size:100% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;display:inline-block;opacity:0;transform:translateY(.45em) scale(.9);filter:blur(6px);animation:chIn .8s var(--ease) forwards;animation-delay:calc(.55s + var(--i)*.075s)}
@keyframes chIn{to{opacity:1;transform:none;filter:none}}
.invite-title .you{animation:fadeUp .9s var(--ease) both;animation-delay:1.35s}
.wipe{clip-path:inset(0 100% 0 0);animation:wipeIn 1.1s cubic-bezier(.6,0,.2,1) forwards;animation-delay:calc(var(--s,0)*.14s + .5s)}
@keyframes wipeIn{to{clip-path:inset(0 0 0 0)}}
.deco-rule::before,.deco-rule::after{transform:scaleX(0);animation:ruleIn 1s var(--ease) forwards 1.2s}
.deco-rule::before{transform-origin:right center}.deco-rule::after{transform-origin:left center}
.deco-rule i{opacity:0;transform:rotate(45deg) scale(0);animation:diaIn .7s var(--ease) forwards 1.1s}
@keyframes ruleIn{to{transform:scaleX(1)}}
@keyframes diaIn{to{opacity:1;transform:rotate(45deg) scale(1)}}

/* seat map choreography */
.map .tbl{opacity:0;animation:tblIn .8s var(--ease) forwards;animation-delay:calc(var(--i)*.04s + .6s)}
@keyframes tblIn{from{opacity:0;transform:translateY(14px) scale(.88)}to{opacity:1;transform:none}}
.map .tbl{transform-box:fill-box;transform-origin:center}
.map .tin{transform-box:fill-box;transform-origin:center;transition:transform .3s var(--ease)}
.map .tbl:not(.taken):hover .tin,.map .tbl:not(.taken):focus-visible .tin{transform:scale(1.045)}
.map .tbl:not(.taken):active .tin{transform:scale(.965);transition-duration:.1s}
.map .pulse{fill:none;stroke:var(--gold);stroke-width:1.4;opacity:0;transform-box:fill-box;transform-origin:center;pointer-events:none;animation:pulse 3.2s ease-out infinite;animation-delay:calc(var(--p,0)*.45s + 1.8s)}
@keyframes pulse{0%{opacity:.7;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.16)}}
.map .tbl.mine .pulse{stroke:var(--cream)}
.map .glowline{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2s cubic-bezier(.55,.05,.25,1) forwards .3s}
.map .floor-rays{transform-box:fill-box;transform-origin:center;animation:spin 150s linear infinite}
.map .floor-rays line{opacity:0;animation:fadeIn 1.2s ease forwards;animation-delay:calc(var(--i)*.03s + .9s)}
.legend .tier{opacity:0;transform:translateY(12px);animation:fadeUp .8s var(--ease) forwards;animation-delay:calc(var(--s,0)*.12s + .3s);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.legend .tier:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(184,134,11,.18)}

/* hold confirmed (inside sheet) */
.confirmed{text-align:center;padding:1rem 0 .5rem}
.confirmed svg{width:92px;height:92px;display:block;margin:0 auto 1rem;overflow:visible}
.confirmed .ring{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .9s cubic-bezier(.55,.05,.25,1) forwards}
.confirmed .tick{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .5s ease-out forwards .55s}
.confirmed h2{font:500 24px var(--display);letter-spacing:.06em;margin:.2rem 0;opacity:0;animation:fadeUp .6s var(--ease) forwards .5s}
.confirmed p{color:var(--muted);font-size:13.5px;margin:.2rem 0;opacity:0;animation:fadeUp .6s var(--ease) forwards .7s}
.sheet.pop{animation:sheetPop .5s var(--ease)}
@keyframes sheetPop{50%{box-shadow:0 -20px 80px rgba(184,134,11,.45)}}
.sheet .row-btns .btn,.sheet dl,.sheet .price,.sheet h2,.sheet .tier-chip{opacity:0;animation:fadeUp .55s var(--ease) forwards}
.sheet .tier-chip{animation-delay:.25s}.sheet h2{animation-delay:.3s}.sheet .price{animation-delay:.36s}.sheet dl{animation-delay:.42s}.sheet .row-btns .btn:nth-child(1){animation-delay:.5s}.sheet .row-btns .btn:nth-child(2){animation-delay:.56s}
.sheet.pop h2,.sheet .confirmed h2{animation-delay:0s}

/* countdown ring */
.ring-wrap{position:relative;width:128px;height:128px;margin:.2rem 0 .8rem}
.ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.ring-wrap .track{fill:none;stroke:rgba(184,134,11,.22);stroke-width:2}
.ring-wrap .prog{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;transition:stroke-dashoffset 1.6s cubic-bezier(.3,.7,.2,1);filter:drop-shadow(0 0 5px rgba(184,134,11,.6))}
.ring-wrap .ico{position:absolute;inset:0;display:grid;place-items:center}
.ring-wrap .ico svg{width:46px;height:46px;transform:none}
.ring-wrap .halo{position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(184,134,11,.35);animation:halo 3.2s ease-out infinite}
@keyframes halo{0%{opacity:.8;transform:scale(.96)}100%{opacity:0;transform:scale(1.18)}}
.countdown b{transition:transform .25s}
.countdown b.tick{animation:tickPop .35s var(--ease)}
@keyframes tickPop{0%{transform:translateY(-4px);opacity:.5}100%{transform:none;opacity:1}}
.fade{animation:fadeIn .45s ease both}

/* micro-interactions */
.btn{will-change:transform}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:scale(.97)}
.guest-list a:hover{transform:translateX(4px)}
.guest-list a{transition:transform .3s var(--ease),background .25s,border-color .25s}
.counter{transition:transform .3s var(--ease),box-shadow .3s}
.counter:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(184,134,11,.15)}
.admin .counter{opacity:0;animation:fadeUp .6s var(--ease) forwards;animation-delay:calc(var(--i,0)*.07s)}
.admin.still .counter{animation:none;opacity:1}
.gt tr{transition:background .2s}

@media (prefers-reduced-motion:reduce){
  .ch,.wipe,.map .tbl,.legend .tier,.admin .counter,.intro-line span{opacity:1;transform:none;filter:none;clip-path:none}
  .lg-glint,.map .pulse{display:none}
  .screen::after,.intro-rays,.map .floor-rays{animation:none}
}


/* ── music toggle (top-right, beside the 18+ badge) ── */
.snd{position:fixed;z-index:200;top:calc(22px + env(safe-area-inset-top));right:78px;width:46px;height:46px;border-radius:50%;background:var(--noir);border:1.5px solid var(--gold);display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:13px 0 13px;box-shadow:0 0 0 3px rgba(17,24,39,.9),0 0 0 4px rgba(184,134,11,.55),0 4px 14px rgba(0,0,0,.35);cursor:pointer;transition:transform .25s var(--ease),box-shadow .3s}
.snd[hidden]{display:none}
.snd:hover{transform:scale(1.07);box-shadow:0 0 0 3px rgba(17,24,39,.9),0 0 0 4px var(--gold),0 0 18px rgba(184,134,11,.5)}
.snd:active{transform:scale(.94)}
.snd i{display:block;width:3px;height:100%;background:var(--gold);border-radius:1px;transform-origin:bottom;transform:scaleY(.35)}
.snd[data-state=playing] i{animation:eq 1.15s ease-in-out infinite;animation-delay:calc(var(--i)*-.31s)}
.snd[data-state=waiting] i,.snd[data-state=blocked] i{transform:scaleY(.55);opacity:.75}
.snd[data-state=blocked]{animation:sndPulse 2.2s ease-in-out infinite}
@keyframes sndPulse{0%,100%{box-shadow:0 0 0 3px rgba(17,24,39,.9),0 0 0 4px rgba(184,134,11,.55),0 4px 14px rgba(0,0,0,.35)}50%{box-shadow:0 0 0 3px rgba(17,24,39,.9),0 0 0 5px var(--gold-hi),0 0 22px 4px rgba(184,134,11,.65)}}
.snd[data-state=muted] i{transform:scaleY(.3);opacity:.45}
.snd .slash{position:absolute;left:11px;right:11px;top:50%;height:1.5px;background:var(--gold-hi);transform:rotate(-45deg) scaleX(0);transition:transform .3s var(--ease);box-shadow:0 0 0 1px var(--noir)}
.snd[data-state=muted] .slash{transform:rotate(-45deg) scaleX(1)}
@keyframes eq{0%,100%{transform:scaleY(.25)}30%{transform:scaleY(1)}55%{transform:scaleY(.5)}80%{transform:scaleY(.85)}}

/* ── tap to enter cover ── */
.cover{position:fixed;inset:0;z-index:100;width:100%;border:0;background:radial-gradient(ellipse 90% 55% at 50% 40%,rgba(184,134,11,.2),transparent 70%),var(--noir);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:24px;cursor:pointer;color:var(--cream);animation:fadeIn .9s ease both}
.cover .screen-frame .sf{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.4s cubic-bezier(.55,.05,.25,1) forwards .2s}
.cover-logo{display:block;width:min(70vw,320px);position:relative;z-index:1;animation:fadeUp 1s var(--ease) both .2s}
.cover-cta{margin-top:2.2rem;font:500 17px var(--display);letter-spacing:.42em;text-transform:uppercase;color:var(--gold);padding-left:.42em;position:relative;z-index:1;animation:coverPulse 2.6s ease-in-out infinite 1s,fadeUp 1s var(--ease) both .7s}
.cover-cta::after{content:"";display:block;height:1px;margin:.9rem auto 0;width:60%;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.cover-sub{margin-top:.9rem;font:500 11px var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);position:relative;z-index:1;animation:fadeUp 1s var(--ease) both 1s}
@keyframes coverPulse{0%,100%{opacity:.6}50%{opacity:1}}
.cover:focus-visible{outline-offset:-8px}
@media (prefers-reduced-motion:reduce){.snd[data-state=blocked]{animation:none}.snd[data-state=playing] i{animation:none;transform:scaleY(.8)}.cover-cta{animation:none}}

/* ═════════ sealed envelope entry ═════════ */
.env-stage{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--noir);touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;cursor:grab;overflow:hidden;animation:fadeIn .9s ease both}
.env-stage.fade-out{opacity:0;transition:opacity .7s ease;pointer-events:none}
.env-stage .screen-frame .sf{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.4s cubic-bezier(.55,.05,.25,1) forwards .2s}
.env-glow{position:absolute;inset:0;background:radial-gradient(ellipse 80% 45% at 50% 46%,rgba(184,134,11,.22),transparent 70%);pointer-events:none}
.env-wrap{--W:min(86vw,360px);--fl:0;--rs:0;--sl:0;position:relative;width:var(--W);height:calc(var(--W)*.68);perspective:1100px;outline:none;margin-top:-6vh;z-index:1;touch-action:none}
.env-wrap.idle{animation:envFloat 5s ease-in-out infinite}
@keyframes envFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.env-wrap:focus-visible .env-back{outline:2px solid var(--gold-hi);outline-offset:6px}
.env-stage.zooming .env-wrap{transition:transform 1.05s cubic-bezier(.62,0,.2,1)}
.env-wrap>*{position:absolute}
.env-shadow{left:6%;right:6%;bottom:-26px;height:30px;background:radial-gradient(ellipse at center,rgba(0,0,0,.65),transparent 70%);filter:blur(6px);transform:scaleX(calc(1 - var(--rs)*.2));opacity:calc(1 - var(--rs)*.6)}
.env-back{inset:0;background:linear-gradient(180deg,#0A0E17,#18202F);border-radius:3px;box-shadow:0 18px 50px rgba(0,0,0,.6),0 0 0 1px rgba(184,134,11,.6);z-index:0}
.env-card{left:5%;width:90%;top:6%;height:88%;z-index:2;transform:translateY(calc(var(--rs)*-74%)) scale(calc(1 + var(--rs)*.05));background:linear-gradient(180deg,#141C2B,var(--noir));border:1px solid var(--gold);box-shadow:0 0 0 4px var(--noir),0 0 0 5px rgba(184,134,11,.55),0 10px 30px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;will-change:transform}
.env-card::before{content:"";position:absolute;inset:6px;border:1px solid rgba(184,134,11,.4);pointer-events:none}
.env-card .cc{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:opacity .35s ease}
.env-stage.zooming .env-card .cc{opacity:0}
.cc-logo{height:78%;aspect-ratio:320/336}
.cc-logo .lg{height:100%;width:auto}
.env-front{inset:0;z-index:3;filter:drop-shadow(0 -2px 3px rgba(0,0,0,.25))}
.env-front svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.env-name{position:absolute;left:0;right:0;bottom:7%;display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--noir);text-align:center;pointer-events:none}
.env-name .for{font:500 calc(var(--W)*.034)/1 var(--display);letter-spacing:.4em;text-transform:uppercase;color:#7A5A06;padding-left:.4em}
.env-name .who{font:600 calc(var(--W)*.078)/1.1 var(--display);letter-spacing:.06em}
.env-flap{left:0;top:0;width:100%;height:58%;z-index:4;transform-origin:50% 0;transform:rotateX(calc(var(--fl)*180deg));transform-style:preserve-3d;-webkit-transform-style:preserve-3d;pointer-events:none}
.env-wrap.is-open .env-flap{z-index:1}
.env-flap .ff,.env-flap .fb{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.env-flap .fb{transform:rotateX(180deg)}
.env-flap svg{position:absolute;inset:0;width:100%;height:100%;display:block;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}
.env-seal{position:absolute;left:50%;top:100%;width:23%;aspect-ratio:1;margin:-12% 0 0 -11.5%;backface-visibility:hidden;-webkit-backface-visibility:hidden;filter:drop-shadow(0 5px 8px rgba(0,0,0,.55));transform:scale(calc(1 + var(--sl)*.12)) rotate(calc(var(--sl)*8deg))}
.env-seal svg{width:100%;height:100%;display:block;filter:none!important}
.env-wrap.idle .env-seal::after{content:"";position:absolute;inset:-8%;border-radius:50%;box-shadow:0 0 22px 4px rgba(184,134,11,.55);animation:sealGlow 2.8s ease-in-out infinite}
@keyframes sealGlow{0%,100%{opacity:.25}50%{opacity:.95}}
.env-hint{position:absolute;left:0;right:0;bottom:calc(11vh + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:2;color:var(--cream);text-align:center}
.env-hint b{font:600 12px var(--ui);letter-spacing:.3em;text-transform:uppercase;padding-left:.3em}
.env-hint.nudge .chev{animation:nudge .6s ease}
@keyframes nudge{40%{transform:translateY(-12px)}}
.chev{display:flex;flex-direction:column;align-items:center;gap:0;height:46px;filter:drop-shadow(0 0 6px rgba(184,134,11,.9))}
.chev i{display:block;width:16px;height:16px;border-top:2.5px solid var(--gold-hi);border-left:2.5px solid var(--gold-hi);transform:rotate(45deg);margin-top:-6px;opacity:.15;animation:chev 1.8s ease-in-out infinite}
.chev i:nth-child(2){animation-delay:.22s}.chev i:nth-child(3){animation-delay:.44s}
@keyframes chev{0%{opacity:.1;transform:translateY(8px) rotate(45deg)}45%{opacity:1}100%{opacity:0;transform:translateY(-8px) rotate(45deg)}}
.env-tap{margin-top:.3rem;min-height:44px;padding:.4rem 1rem;background:none;border:0;color:var(--muted);font:500 12px var(--ui);letter-spacing:.08em;text-decoration:underline;text-underline-offset:4px;cursor:pointer;touch-action:manipulation}
.env-tap:hover{color:var(--gold-hi)}
.env-stage.zooming .env-hint{opacity:0!important;transition:opacity .2s}
.env-stage.zooming .env-back,.env-stage.zooming .env-front,.env-stage.zooming .env-flap,.env-stage.zooming .env-shadow{opacity:0;transition:opacity .45s ease}
/* reduced motion: still, simple; the button does the work */
.env-reduced .env-wrap.idle{animation:none}
.env-reduced .chev i{animation:none;opacity:.8}
.env-reduced .env-wrap.idle .env-seal::after{animation:none;opacity:.5}
.env-reduced.fade-out{transition-duration:.3s}
@media (prefers-reduced-motion:reduce){.env-stage .screen-frame .sf{animation:none;stroke-dashoffset:0}}

/* ═════════ Powered by Dosh Entertainment Empire (secondary lockup; ElDorado stays primary) ═════════ */
.powered{display:inline-flex;align-items:center;gap:.65rem;text-align:left;font-family:var(--ui);color:var(--muted);opacity:.9}
.powered img{display:block;width:34px;height:34px;border-radius:50%;flex:none;box-shadow:0 0 0 1px rgba(184,134,11,.45)}
.powered .pw-txt{display:flex;flex-direction:column;gap:3px}
.powered small{font:500 7.5px/1 var(--ui);letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.powered b{font:600 9.5px/1.1 var(--ui);letter-spacing:.17em;text-transform:uppercase;color:var(--cream);opacity:.88}
.foot .in-foot{margin:1.5rem auto 0;padding-top:1.1rem;position:relative;display:flex;justify-content:center;width:100%;max-width:max-content}
.foot .in-foot::before{content:"";position:absolute;top:0;left:50%;width:40px;margin-left:-20px;border-top:1px solid rgba(184,134,11,.4)}
.foot{padding-bottom:calc(1.1rem + env(safe-area-inset-bottom))}
.powered.on-env{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(32px + env(safe-area-inset-bottom));z-index:2;white-space:nowrap;transition:opacity .25s}
.env-stage.zooming .powered.on-env{opacity:0}
.powered.on-cream{display:flex;justify-content:center;margin:2.2rem auto 1rem;width:max-content;max-width:100%}
.theme-cream .powered small{color:#8F6808}
.theme-cream .powered b{color:var(--ink);opacity:.75}
.theme-cream .powered{color:var(--muted-ink)}
.theme-cream .powered img{box-shadow:0 0 0 1px rgba(143,104,8,.5)}

/* ═════════ compact contact block ═════════ */
.foot .tbc{margin-bottom:.5rem}
.foot .age-line{margin:.2rem 0 .7rem;font:500 10.5px/1.3 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.contact{display:flex;flex-direction:column;gap:6px;width:100%;max-width:340px;margin:0 auto}
.foot .contact a{border:0}
.ct{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:40px;padding:.35rem .6rem;border:1px solid rgba(184,134,11,.35)!important;color:var(--cream)!important;text-decoration:none;font:500 12px/1.2 var(--ui);letter-spacing:.02em;transition:border-color .25s,background .25s,color .25s;min-width:0}
.ct:hover{border-color:var(--gold)!important;background:rgba(184,134,11,.1);color:var(--gold-hi)!important}
.ct .ci{flex:none;color:var(--gold-hi)}
.ct span{min-width:0;overflow-wrap:anywhere}
.ct-wa{justify-content:flex-start;padding:.4rem .9rem;background:rgba(184,134,11,.12);border-color:var(--gold)!important;min-height:46px}
.ct-wa span{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}
.ct-wa small{font:500 9px/1 var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-hi);display:block;margin:0}
.ct-wa b{font:600 14px/1.1 var(--ui);letter-spacing:.06em}
.ct-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:6px}
.ct-row .ct{justify-content:flex-start;padding:.35rem .45rem;font-size:11px;gap:.4rem;letter-spacing:0}
.ct-row .ct span{white-space:nowrap;overflow-wrap:normal}
.ct-mail{font-size:11.5px}
@media (max-width:359px){.ct-row{grid-template-columns:1fr}}
.theme-cream .ct{color:var(--ink)!important}

/* admin: tier summary (3 prices, 25 tables) */
.admin h2 .h2s{font:500 12px var(--ui);letter-spacing:.06em;color:var(--muted-ink);margin-left:.6rem;text-transform:none}
.tiers-sum{display:flex;flex-direction:column;gap:8px}
.tiers-sum .ts{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #E4DCC3;padding:.6rem .8rem}
.tiers-sum .ts small{display:block;color:var(--muted-ink);font-size:11.5px}
.tiers-sum .ts-n{display:flex;gap:6px;flex-wrap:wrap}
.admin .tg-h{font:600 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:#7A5A06;margin:1rem 0 .4rem}

/* ═════════ cinematic seat map (v3) ═════════ */
[hidden]{display:none!important}
.mapctl{width:100%;display:flex;flex-direction:column;gap:10px;margin:.2rem 0 .8rem}
.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--gold);padding:3px;gap:3px;background:rgba(184,134,11,.06)}
.seg button{min-height:44px;background:none;border:0;color:var(--muted);font:600 11.5px var(--ui);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}
.seg button[aria-pressed=true]{background:var(--gold-grad);color:var(--noir)}
.seg button:focus-visible,.chip:focus-visible{outline:2px solid var(--cream);outline-offset:2px}
.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.chip{min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:transparent;border:1px solid rgba(184,134,11,.45);color:var(--cream);font:600 11px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s,border-color .25s,color .25s,box-shadow .25s}
.chip small{font:500 9.5px/1 var(--ui);letter-spacing:.04em;color:var(--muted);text-transform:none}
.chip small::after{content:" free"}
.chip[aria-pressed=true]{background:rgba(184,134,11,.22);border-color:var(--gold-hi);color:var(--gold-hi);box-shadow:0 0 14px rgba(184,134,11,.3)}
.chip[aria-pressed=true] small{color:var(--cream)}
.chip.vault{border-color:rgba(176,122,42,.6)}

.mapwrap{overflow:hidden;position:relative;border-radius:2px}
.map{transform-origin:0 0;transition:transform .7s var(--ease);will-change:transform}
.mapwrap.zoom .map{transform:translate(var(--tx,0),var(--ty,0)) scale(var(--zs,1.5))}
.mapwrap.zoom .tbl:not(.sel) .tin{opacity:.28}
.mapwrap.zoom .sec,.mapwrap.zoom .terrace,.mapwrap.zoom .beams{opacity:.3}

/* light beams, stage lights, floor glow */
.map .beams{pointer-events:none}
.map .beam{fill:url(#beamG);opacity:0;transform-origin:center top;animation:beamIn 1.4s ease forwards .5s,sway 8s ease-in-out infinite alternate 2s,beamGlow 4.6s ease-in-out infinite alternate 2s}
.map .beam.b1{animation-duration:1.4s,9.5s,5.2s;animation-direction:normal,alternate-reverse,alternate}
.map .beam.b2{animation-duration:1.4s,11s,4.1s}
.map .beam.b3{animation-duration:1.4s,8.6s,5.6s;animation-direction:normal,alternate-reverse,alternate}
.map .beam.b4{animation-duration:1.4s,10s,4.8s}
@keyframes beamIn{to{opacity:.7}}
@keyframes sway{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}
@keyframes beamGlow{from{opacity:.45}to{opacity:.95}}
.map .spot{fill:var(--gold-hi);opacity:.5;animation:twinkle 2.6s ease-in-out infinite;animation-delay:calc(var(--i)*.35s)}
@keyframes twinkle{50%{opacity:1;filter:drop-shadow(0 0 3px #F2D48A)}}
.map .dfloor .floor-rays{stroke:var(--gold-hi);stroke-width:.8;opacity:.8;animation:spin 90s linear infinite}
.map .terrace{fill:rgba(255,255,255,.015);stroke:rgba(176,122,42,.5);stroke-width:1}
.map .sec{transition:opacity .35s}
.map .sec.vault .lbl{fill:#D4A15A}
.map .sec.city .lbl{fill:#F2D48A}
.map .tbl .crown{fill:none;stroke:var(--gold-hi);stroke-width:1.1;stroke-linejoin:round}

/* tier glow colours (all inside the brand: gold / warm light gold / bronze-amber). Taken + mine keep their own styles. */
.map .tbl.kings:not(.taken):not(.mine) .shape{fill:rgba(217,178,76,.28);stroke:#E3BA52;stroke-width:2;filter:drop-shadow(0 0 7px rgba(217,178,76,.6))}
.map .tbl.kings:not(.taken):not(.mine) .inner{stroke:#F2D48A;opacity:.9}
.map .tbl.kings:not(.taken):not(.mine) .sub{fill:#F2D48A}
.map .tbl.city:not(.taken):not(.mine) .shape{fill:rgba(242,212,138,.13);stroke:#F2D48A;stroke-width:1.6;filter:drop-shadow(0 0 5px rgba(242,212,138,.35))}
.map .tbl.city:not(.taken):not(.mine) .inner{stroke:#F2D48A;opacity:.55}
.map .tbl.city:not(.taken):not(.mine) .sub{fill:#F2D48A}
.map .tbl.vault:not(.taken):not(.mine) .shape{fill:rgba(176,122,42,.12);stroke:#BE8A3A;stroke-width:1.5;filter:drop-shadow(0 0 4px rgba(190,138,58,.3))}
.map .tbl.vault:not(.taken):not(.mine) .inner{stroke:#BE8A3A;opacity:.6}
.map .tbl.vault:not(.taken):not(.mine) .sub{fill:#D4A15A}
.map .tbl.kings .pulse{stroke:#F2D48A;stroke-width:1.6}
.map .tbl.vault .pulse{stroke:#BE8A3A}
.map .tbl:not(.taken):hover .shape,.map .tbl:not(.taken):focus-visible .shape{fill:rgba(217,178,76,.5)!important;filter:drop-shadow(0 0 10px rgba(242,212,138,.8))!important}
.map .tbl.sel .shape{fill:rgba(242,212,138,.6)!important;stroke:var(--cream)!important;filter:drop-shadow(0 0 14px rgba(255,236,170,.95))!important}
.map .tbl.taken .shape{filter:none}
.map .tbl .tin{transition:transform .3s var(--ease),opacity .35s}
/* tables rise on load */
@keyframes tblIn{from{opacity:0;transform:translateY(22px) scale(.86)}60%{opacity:1}to{opacity:1;transform:none}}
.map .tbl.kings{animation-duration:1s}
/* tier filter dims the other tiers (and makes them inert) */
.mapwrap[data-f=kings] .tbl:not(.kings) .tin,.mapwrap[data-f=city] .tbl:not(.city) .tin,.mapwrap[data-f=vault] .tbl:not(.vault) .tin{opacity:.13}
.mapwrap[data-f=kings] .tbl:not(.kings),.mapwrap[data-f=city] .tbl:not(.city),.mapwrap[data-f=vault] .tbl:not(.vault){pointer-events:none}
.mapwrap[data-f=kings] .sec:not(.kings),.mapwrap[data-f=city] .sec:not(.city),.mapwrap[data-f=vault] .sec:not(.vault){opacity:.18}
.mapwrap[data-f=kings] .terrace,.mapwrap[data-f=city] .terrace{opacity:.25}
.mapwrap[data-f=kings] .beams,.mapwrap[data-f=vault] .beams{opacity:.5}

/* list view */
.listwrap{width:100%;display:flex;flex-direction:column;gap:14px}
.lgroup h3{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 6px;padding:0 2px 6px;border-bottom:1px solid rgba(184,134,11,.45);font:600 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-hi)}
.lgroup h3 small{font:500 11px var(--ui);letter-spacing:.02em;text-transform:none;color:var(--muted)}
.lgroup ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:6px}
.lrow{width:100%;min-height:52px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;text-align:left;padding:.5rem .9rem;background:linear-gradient(90deg,rgba(184,134,11,.12),transparent);border:1px solid rgba(184,134,11,.5);color:var(--cream);font:500 14px var(--ui);cursor:pointer;transition:background .25s,border-color .25s,transform .2s}
.lrow:hover{background:rgba(184,134,11,.22);border-color:var(--gold-hi)}.lrow:active{transform:scale(.99)}
.lrow:focus-visible{outline:2px solid var(--cream);outline-offset:2px}
.lrow b{font-weight:600;letter-spacing:.04em}
.lrow .lp{font:600 13px var(--ui);color:var(--gold-hi)}
.lrow em{font:600 9.5px var(--ui);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--gold-hi);border:1px solid rgba(184,134,11,.6);padding:.25rem .5rem;min-width:84px;text-align:center}
.lgroup.vault .lrow{border-color:rgba(176,122,42,.6)}
.lrow.taken{cursor:not-allowed;background:#1a2130;border:1px dashed #5B6272;color:#8B93A3}
.lrow.taken .lp,.lrow.taken em{color:#8B93A3;border-color:#5B6272}
.lrow.mine{background:var(--gold);color:var(--noir);border-color:var(--cream)}
.lrow.mine .lp,.lrow.mine em{color:var(--noir);border-color:var(--noir)}
.listwrap[data-f=kings] .lgroup:not(.kings),.listwrap[data-f=city] .lgroup:not(.city),.listwrap[data-f=vault] .lgroup:not(.vault){display:none}
@media (min-width:480px){.lgroup ul{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.map .beam{animation:none;opacity:.6}.map .spot{animation:none}.map .dfloor .floor-rays{animation:none}.map{transition:none}}
.sheet-back.light{background:rgba(5,8,14,.34);backdrop-filter:none}

/* ═════════ post-payment email step ═════════ */
.email-card{border-color:var(--gold);background:linear-gradient(180deg,rgba(184,134,11,.14),rgba(184,134,11,.03));text-align:center}
.email-card .eyebrow{margin:0 0 .5rem}
.email-card .em-title{font:500 20px/1.3 var(--display);letter-spacing:.04em;margin:0 0 1rem;color:var(--cream)}
.email-card form{display:flex;flex-direction:column;gap:.6rem;text-align:left}
.email-card input{width:100%;min-height:48px;padding:.7rem .9rem;background:var(--noir-2);border:1px solid var(--gold);color:var(--cream);font:500 16px var(--ui);letter-spacing:.01em;border-radius:0}
.email-card input::placeholder{color:#6B7385}
.email-card input:focus-visible{outline:2px solid var(--gold-hi);outline-offset:2px}
.email-card input[aria-invalid=true]{border-color:#E08A8A}
.email-card .err{margin:0;min-height:1.2em;font-size:13px;color:#F0A8A8}
.email-card .btn{width:100%}
.email-card .em-ok{margin:0;font-size:13px;color:var(--gold-hi);text-align:center}
.email-card .em-note{margin:.9rem 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.csv-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-.2rem 0 .8rem}
.csv-bar small{color:var(--muted-ink);font-size:12px;flex:1 1 200px}
.gt .em-val{word-break:break-all}.gt .em-miss{color:#8A7A4A;font-style:italic;font-size:12.5px}

/* ═════════ contact block v2: compact, centred ═════════ */
.foot .age-line{margin:.1rem 0 .5rem}
.foot .tbc{margin-bottom:.4rem;font-size:11px;padding:.3rem .8rem}
.contact{gap:8px;align-items:center;max-width:340px;margin-top:1.1rem;padding-top:.9rem;position:relative}
.contact::before{content:"";position:absolute;top:0;left:50%;width:40px;margin-left:-20px;border-top:1px solid rgba(184,134,11,.4)}
.ct-eyebrow{margin:0;font:600 9px/1 var(--ui);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-hi);opacity:.85}
.ct{min-height:34px;padding:.25rem .8rem;font-size:11px;border-radius:999px}
.ct-wa{width:auto;justify-content:center;gap:.55rem;min-height:36px;padding:.3rem 1rem;border-radius:999px}
.ct-wa span{flex-direction:row;align-items:baseline;gap:.5rem}
.ct-wa small{font-size:8.5px;letter-spacing:.2em}
.ct-wa b{font-size:12.5px;letter-spacing:.05em}
.ct-row{display:flex;justify-content:center;gap:8px;width:auto}
.ct-row .ct{justify-content:center;padding:.25rem .75rem;font-size:11px}
.ct .ci{width:14px;height:14px}
.ct-mail{display:inline-flex;align-items:center;gap:.4rem;font:500 11px/1.2 var(--ui);letter-spacing:.02em;color:var(--muted)!important;border:0!important;padding:.2rem .3rem;min-height:32px;text-decoration:none}
.ct-mail .ci{color:var(--gold-hi);width:13px;height:13px;flex:none}
.ct-mail:hover{color:var(--gold-hi)!important}
@media (max-width:359px){.ct-row{flex-wrap:wrap}}
.foot .contact .ct-eyebrow{font:600 9px/1 var(--ui);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-hi);margin:0}
.foot .tbc{max-width:100%}

/* ── bank transfer + awaiting confirmation ── */
.pay-kv .acct,.pay-kv .ref,.await-card .ref{font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--gold-hi)}
.pay-kv .acct{font-size:1.08em;font-weight:700}
.await-card{border-color:var(--gold);background:linear-gradient(180deg,rgba(184,134,11,.16),rgba(184,134,11,.03));text-align:center}
.await-card .eyebrow{margin:0 0 .5rem}
.await-card .em-title{font:500 20px/1.3 var(--display);letter-spacing:.04em;margin:0 0 .8rem;color:var(--cream)}
.await-card .ref{overflow-wrap:anywhere}
.admin-note{margin:1rem 0 0;padding:.6rem .9rem;border-left:3px solid var(--gold);background:rgba(184,134,11,.08);font:500 12.5px/1.5 var(--ui);color:#4a3604}
.kv.pay-kv{display:block}
.kv.pay-kv dt{margin:.75rem 0 .2rem;font:600 10.5px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.kv.pay-kv dt:first-child{margin-top:.2rem}
.kv.pay-kv dd{margin:0;padding:0 0 .7rem;border-bottom:1px solid rgba(184,134,11,.18);text-align:left}
.kv.pay-kv .copy-row>span{text-align:left;font-size:16px;color:var(--cream)}
.kv.pay-kv .copy-row>span.acct{font-size:20px;color:var(--gold-hi);white-space:nowrap}
.kv.pay-kv .copy-row>span.ref{color:var(--gold-hi);white-space:nowrap}

/* ── public landing ── */
.home .home-loc{margin:.2rem 0 0;font:600 12px var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--cream)}
.home .home-vision{font:500 16px/1.6 var(--ui);color:var(--cream);max-width:30ch;margin:0 auto 1.4rem}
.pillars{list-style:none;padding:0;margin:0 auto;display:grid;gap:12px;width:100%;max-width:440px}
.pillars li{display:grid;grid-template-columns:28px 1fr;column-gap:12px;align-items:center;text-align:left;padding:.9rem 1rem;border:1px solid rgba(184,134,11,.45);background:linear-gradient(180deg,rgba(184,134,11,.10),rgba(184,134,11,.02))}
.pillars svg{width:24px;height:24px;color:var(--gold-hi);grid-row:span 2}
.pillars b{font:600 12px var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-hi)}
.pillars span{font-size:13.5px;line-height:1.5;color:var(--muted)}
