/* Club & Crown public sites — shared styles. Tokens from ClubCrown_Brand_Kit_updated.pdf v2.0 (Section 01, 02). */
:root{
  --black:#0A090A; --charcoal:#1D1A19; --oxblood:#4A1420; --burgundy:#722F37;
  --gold:#B8915C; --lgold:#D2B279; --cream:#D8CBB2; --alabaster:#EDEAE0;
  --display:"Cinzel","Trajan Pro",Georgia,serif;
  --serif:"Cormorant Garamond",Garamond,Georgia,serif;
  --util:"Montserrat","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:var(--serif);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
.inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:28px;
  padding-block:64px 40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.lockup{display:flex;flex-direction:column;align-items:center;gap:14px}
.emblem{width:84px;height:84px;display:block}
.word{font:400 clamp(34px,7vw,64px)/1 var(--display);letter-spacing:.04em;margin:0}
.word .amp{font:inherit;color:var(--gold);padding:0 .18em}
.word .tm{font:400 .26em/1 var(--util);letter-spacing:0;margin-left:.08em;position:relative;top:-1.6em}
.div{color:var(--gold);font-size:11px;letter-spacing:.6em;display:flex;align-items:center;gap:14px}
.div::before,.div::after{content:"";width:56px;height:1px;background:var(--gold);opacity:.7}
.desc{font:400 clamp(12px,1.8vw,15px)/1 var(--display);letter-spacing:.45em;margin:0;padding-left:.45em}
.tagline{font:400 10.5px/1.9 var(--util);letter-spacing:.32em;text-transform:uppercase;margin:0;opacity:.85}
.voice{font:italic 400 clamp(22px,3.4vw,30px)/1.3 var(--serif);margin:0;max-width:30ch;text-wrap:balance}
.body{font:400 18px/1.55 var(--serif);margin:0;max-width:48ch}
.body.two{max-width:none}
@media (min-width:640px){.body.two span{white-space:nowrap}}
.soon{font:500 11px/1 var(--util);letter-spacing:.3em;text-transform:uppercase;padding:13px 22px;border:1px solid var(--gold);color:var(--lgold)}
.cross{font:500 11px/1 var(--util);letter-spacing:.24em;text-transform:uppercase;color:inherit;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px}
.cross:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font:400 10px/1.6 var(--util);letter-spacing:.2em;text-transform:uppercase;opacity:.7;
  padding-block:18px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));border-top:1px solid currentColor}

/* Group: Alabaster / Charcoal / Gold — formal, no tagline */
body.group{background:var(--alabaster);color:var(--charcoal);color-scheme:light}
body.group .foot{border-color:rgba(29,26,25,.2)}
body.group .soon{color:var(--charcoal)}
/* Restaurant: Oxblood / Alabaster / Gold — gracious, food-first */
body.restaurant{background:var(--oxblood) radial-gradient(ellipse at 50% -15%,var(--burgundy) 0%,var(--oxblood) 58%,#2E0C14 100%) no-repeat fixed;color:var(--alabaster);color-scheme:dark}
body.restaurant .foot{border-color:rgba(237,234,224,.2)}
body.restaurant .lockup{margin-bottom:20px}
/* Lounge: Black / Gold / Burgundy — late evening, music-first */
body.lounge{background:var(--black) radial-gradient(ellipse at 50% 120%,var(--burgundy) 0%,var(--black) 62%) no-repeat fixed;color:var(--cream);color-scheme:dark}
body.lounge .foot{border-color:rgba(216,203,178,.18)}
.stage{font:500 10.5px/1 var(--util);letter-spacing:.3em;text-transform:uppercase;color:var(--lgold);display:flex;gap:10px;align-items:center;margin:0}
.stage::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(184,145,92,.18)}

@media (prefers-reduced-motion:no-preference){.inner>*{animation:rise .8s ease both}.inner>*:nth-child(2){animation-delay:.08s}.inner>*:nth-child(3){animation-delay:.16s}.inner>*:nth-child(4){animation-delay:.24s}}
@keyframes rise{from{transform:translateY(8px)}to{transform:none}}

/* Phones: stack and center the footer */
@media (max-width:640px){
  .foot{flex-direction:column;align-items:center;text-align:center;gap:4px}
  .inner{padding-block:48px 32px;gap:24px}
}
