@font-face{font-family:"EB Garamond";src:url(ebgaramond.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(ebgaramond-italic.woff2) format("woff2");font-weight:400 800;font-style:italic;font-display:swap}
@font-face{font-family:"Montserrat";src:url(montserrat.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}

:root{
  --navy:#0E1B33; --ink:#070C17; --gold:#E4B77C; --gold-hi:#F3D7A6; --gold-lo:#B8894E;
  --cream:#F8F1E3; --muted:#C9BFAE; --amber:#F5A623;
  --serif:"EB Garamond",Garamond,Georgia,serif; --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;
  background:var(--ink);color:var(--cream);font-family:var(--serif);font-size:18px;line-height:1.5;
  -webkit-font-smoothing:antialiased}
.bg{position:fixed;inset:0;z-index:-1;
  background:
    radial-gradient(ellipse 85% 55% at 50% 42%,rgba(7,12,23,.7) 0%,rgba(7,12,23,.35) 70%,rgba(7,12,23,.15) 100%),
    linear-gradient(180deg,rgba(7,12,23,.45) 0%,rgba(7,12,23,.05) 40%,rgba(7,12,23,.4) 75%,rgba(7,12,23,.9) 100%),
    url(bg-hall-mobile.webp) center 30%/cover no-repeat var(--ink)}
@media (min-width:760px){.bg{background:
    radial-gradient(ellipse 34% 62% at 50% 46%,rgba(7,12,23,.82) 0%,rgba(7,12,23,.6) 60%,rgba(7,12,23,.0) 100%),
    linear-gradient(180deg,rgba(7,12,23,.6) 0%,rgba(7,12,23,.1) 35%,rgba(7,12,23,.25) 70%,rgba(7,12,23,.92) 100%),
    url(bg-hall.webp) center 40%/cover no-repeat var(--ink)}}

.wrap{flex:1;width:100%;max-width:640px;margin:0 auto;padding:40px 22px 28px;text-align:center}
.logo{display:block;width:min(270px,74vw);height:auto;margin:0 auto 26px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.6))}

.eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 14px;white-space:nowrap;
  font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before,.eyebrow::after{content:"";flex:0 1 46px;min-width:14px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.eyebrow::after{transform:scaleX(-1)}

h1{margin:0 0 4px;padding:.04em .08em .16em;font-weight:600;font-size:clamp(38px,10.5vw,66px);line-height:1.04;letter-spacing:-.005em;
  background:linear-gradient(180deg,var(--gold-hi) 0%,var(--gold) 48%,var(--gold-lo) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 2px 24px rgba(228,183,124,.12)}
h1 em{font-style:italic;font-weight:500;display:block}

.lede{margin:0 auto 6px;max-width:30ch;font-size:clamp(20px,5.4vw,24px);line-height:1.35;color:var(--cream)}
.aside{margin:0 auto 24px;max-width:36ch;font-style:italic;font-size:17px;color:var(--muted)}

.card{margin:0 auto 26px;max-width:440px;padding:22px 20px 20px;text-align:left;
  background:rgba(11,20,38,.78);border:1px solid rgba(228,183,124,.45);border-radius:4px;
  box-shadow:0 0 0 4px rgba(11,20,38,.55),0 0 0 5px rgba(228,183,124,.22),0 18px 50px rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.field{margin-bottom:14px}
label{display:block;margin-bottom:6px;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.opt{font-weight:400;letter-spacing:.06em;text-transform:none;color:var(--muted)}
input[type=text],input[type=email]{width:100%;padding:13px 14px;font:inherit;font-size:17px;color:var(--cream);
  background:rgba(248,241,227,.06);border:1px solid rgba(228,183,124,.35);border-radius:3px;outline:none;transition:border-color .2s,box-shadow .2s}
input::placeholder{color:rgba(201,191,174,.55)}
input[type=text]:focus,input[type=email]:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(228,183,124,.2)}
.consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 18px;cursor:pointer;
  font-family:var(--serif);font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.4;color:var(--cream)}
.consent input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--gold)}
button{display:block;width:100%;padding:14px 18px;border:0;border-radius:3px;cursor:pointer;
  font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);
  background:linear-gradient(180deg,var(--gold-hi),var(--gold) 55%,var(--gold-lo));
  box-shadow:0 6px 18px rgba(228,183,124,.18),inset 0 1px 0 rgba(255,255,255,.35);transition:filter .2s,transform .1s}
button:hover{filter:brightness(1.07)}
button:active{transform:translateY(1px)}
button:focus-visible{outline:2px solid var(--cream);outline-offset:3px}

.available{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap;margin:0 0 4px;font-size:19px;color:var(--cream)}
.available em{color:var(--gold);font-weight:500}
.available .rule{flex:0 0 22px;height:1px;background:var(--gold);opacity:.6}
.blurb{margin:0;font-size:16px;font-style:italic;color:var(--muted)}

.foot{padding:18px 22px 26px;text-align:center;font-family:var(--sans);font-size:11.5px;line-height:1.6;color:rgba(201,191,174,.8);
  border-top:1px solid rgba(228,183,124,.14);background:rgba(7,12,23,.6)}
.foot p{margin:0 auto;max-width:60ch}
.foot p+p{margin-top:4px;letter-spacing:.08em;color:var(--gold-lo)}

@media (max-width:520px){.available{display:block}.available .rule{display:none}}
@media (max-width:430px){.eyebrow::before,.eyebrow::after{display:none}}
@media (min-width:760px){
  .wrap{padding-top:44px;padding-bottom:20px}
  .logo{width:290px;margin-bottom:22px}
  .eyebrow{font-size:11.5px;letter-spacing:.24em;gap:12px}
  h1{font-size:60px;margin-bottom:4px}
  .lede{max-width:none;font-size:23px}
  .aside{max-width:none;margin-bottom:22px}
  .card{max-width:460px;padding:22px 28px 22px;margin-bottom:22px}
  .field{margin-bottom:12px}
  .consent{margin-bottom:16px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.form-msg{margin:0 0 12px;font-family:var(--sans);font-size:13px;color:#f3b0a0;text-align:center}
.thanks{text-align:center;padding:10px 0}
.thanks h2{margin:0 0 6px;font-size:28px;font-weight:500;color:var(--gold)}
.thanks p{margin:0;color:var(--cream)}
[hidden]{display:none!important}
button:disabled{opacity:.7;cursor:wait}
