:root{color-scheme:dark;--bg:#100b10;--panel:#1b111a;--text:#fff7f1;--muted:#c4b4bd;--accent:#ff813d;--line:#4b333d;font-family:system-ui,sans-serif;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 5%,#29121f 0,transparent 48rem),var(--bg);color:var(--text)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}p{line-height:1.55;margin:.5rem 0 1rem}h1,h2,h3,figure{margin:0}h1,h2{letter-spacing:-.065em;line-height:.97}h1{font-size:clamp(3.6rem,7.6vw,7rem);font-weight:780}h2{font-size:clamp(2.7rem,5.5vw,5.2rem)}h3{font-size:1.3rem}em{color:var(--accent);font-style:normal}.wrap{max-width:1250px;width:calc(100% - 88px);margin-inline:auto}.header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{border:1px solid var(--text);padding:7px 9px 6px 12px;display:inline-grid;text-align:center;font-weight:750;font-size:1rem;line-height:1;letter-spacing:.26em}.brand span{font-size:.52rem;margin-top:5px;letter-spacing:.32em}.header nav{display:flex;gap:2rem;color:var(--muted);font-size:.9rem}.header nav a:hover,.footer a:hover{color:var(--accent)}.hero{display:grid;grid-template-columns:1.13fr 1fr;gap:clamp(1rem,5vw,5rem);align-items:center;padding-block:64px 72px}.hero-art{position:relative;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 16px 65px #0008}.hero-art img{width:100%;height:auto;display:block}.eyebrow{color:var(--accent);font-size:.75rem;font-weight:750;letter-spacing:.18em;margin:0 0 1.2rem}.dot{display:inline-block;background:var(--accent);width:7px;height:7px;border-radius:50%;box-shadow:0 0 14px #ff803d;vertical-align:2px;margin-right:7px}.lede{max-width:32ch;font-size:1.14rem;color:var(--muted);margin:1.5rem 0 1.8rem}.actions{display:flex;flex-wrap:wrap;gap:.65rem}.pill{display:inline-flex;gap:.75rem;justify-content:center;align-items:center;border-radius:6px;border:1px solid transparent;padding:.85rem 1rem;font-weight:700;font-size:.89rem;line-height:1.25;text-align:center}.outline{color:var(--text);background:#170f16;border-color:#765464}.outline:hover{border-color:var(--accent)}.primary{background:var(--accent);color:#1b0b04}.primary:hover{background:#ff9a62}.strip{border-block:1px solid var(--line);background:#21131d}.strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 0;color:#e7d6df;font-size:clamp(.56rem,1.5vw,.85rem);font-weight:740;letter-spacing:.12em}.strip b{color:var(--accent)}.section{padding-block:78px;scroll-margin-top:15px}.empty,.event{margin-top:2rem;border:1px solid var(--line);padding:clamp(1.25rem,4vw,2.75rem);border-radius:8px;background:linear-gradient(112deg,#241522,#130d13)}.empty{display:flex;justify-content:space-between;align-items:center;gap:1rem}.empty p,.choice p,.community p:not(.eyebrow),.event p:not(.eyebrow),dialog p:not(.eyebrow){color:var(--muted)}.empty p,.choice p{margin-bottom:0}.status{display:block;font-size:.68rem;letter-spacing:.16em;color:var(--accent);font-weight:740;margin-bottom:.6rem}.events{display:grid;grid-template-columns:1fr;gap:1rem}.booking{border-block:1px solid var(--line)}.booking-copy{max-width:780px}.booking h2{font-size:clamp(2.4rem,4.3vw,4rem);margin-bottom:1.5rem}.choice{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.choice button,.choice a,.dialog-head button{border:1px solid var(--line);background:var(--panel);color:var(--accent);border-radius:6px;font-size:1.2rem;min-width:44px;height:44px}.choice button:hover,.choice a:hover,.dialog-head button:hover{border-color:var(--accent)}.small{font-size:.85rem;color:var(--muted)}.community{display:flex;justify-content:space-between;align-items:center;gap:2rem}.community p:not(.eyebrow){max-width:42ch;margin-top:1.1rem}.community-actions{display:grid;gap:.9rem}.text-button{border:0;background:transparent;color:var(--muted);padding:.5rem;text-decoration:underline;text-underline-offset:.25em}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0 2rem;color:var(--muted);font-size:.8rem}
dialog{width:min(500px,calc(100% - 2rem));max-height:90dvh;border:1px solid #765464;border-radius:12px;background:#20141e;color:var(--text);padding:1.5rem}dialog::backdrop{background:#080508d9}dialog h2{font-size:2.3rem}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.dialog-head .eyebrow{margin:0}dialog label{display:block;font-size:.85rem;margin:.75rem 0 .3rem}dialog input,dialog textarea{width:100%;background:#100b10;color:var(--text);border:1px solid #765464;border-radius:5px;padding:.65rem}dialog form>.pill,#result .actions{margin-top:.9rem}#result{border-top:1px solid var(--line);margin-top:1rem;padding-top:.3rem}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header{height:68px}.header nav{gap:.9rem}.hero{grid-template-columns:1fr;padding-block:45px 34px;gap:1.8rem}.hero-art{aspect-ratio:1.3}.hero-art img{height:100%;object-fit:cover}.section{padding-block:47px}.empty,.community{align-items:flex-start;flex-direction:column}.community-actions{justify-items:start}.footer>span{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

.choice a{display:grid;place-items:center}.table-fields{margin:0;padding:0;border:0;min-width:0}.table-fields legend{font-weight:700}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.form-row>div{min-width:0}@media(max-width:460px){.header nav{display:none}.header>.pill{padding:.65rem .75rem}}
.event-with-poster{display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr);align-items:center;gap:clamp(1rem,4vw,2.5rem)}.event-with-poster h3{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.045em;line-height:1}.poster-button{padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg);width:100%;aspect-ratio:1122/1402;display:block}.poster-button img{display:block;width:100%;height:100%;object-fit:cover}.poster-button:hover{border-color:var(--accent)}.map-dialog{width:min(850px,calc(100% - 2rem))}.map-layout{display:grid;grid-template-columns:minmax(0,390px) minmax(0,1fr);align-items:start;gap:1.2rem}.floorplan{position:relative;width:100%;line-height:0}.floorplan img{display:block;width:100%;height:auto;border-radius:6px}.map-pin{position:absolute;transform:translate(-50%,-50%);width:8.5%;height:3.5%;border:1px solid transparent;background:transparent;border-radius:4px;padding:0}.map-pin:hover,.map-pin[aria-pressed=true]{border:2px solid var(--accent);background:#ff813d45;box-shadow:0 0 0 2px #110b10}.map-layout select{width:100%;border:1px solid #765464;background:var(--bg);color:var(--text);padding:.7rem;border-radius:5px;font:inherit}.map-layout .actions{margin-top:.85rem}
@media(max-width:600px){.event-with-poster{grid-template-columns:1fr}.poster-button{max-width:260px}.map-layout{grid-template-columns:1fr}.floorplan{max-width:390px;margin-inline:auto}}
.map-info a{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}
#booking-confirmation{margin-top:1rem}

.header nav{display:flex;flex-wrap:wrap;gap:.5rem}
.header nav a{display:inline-flex;align-items:center;min-height:42px;padding:.55rem .8rem;border:1px solid var(--line);border-radius:6px;color:var(--text);line-height:1.2}
.header nav a:hover,.header nav a[aria-current=page]{color:var(--accent);border-color:var(--accent);background:var(--panel)}
.event-page h1,.community h1{font-size:clamp(2.8rem,7vw,6rem)}
.event-page .lede{max-width:58ch;margin-bottom:.5rem}
.empty-title{font-size:1.4rem;letter-spacing:-.025em}
@media(max-width:550px){
  .header{height:auto;display:grid;justify-items:start;gap:.7rem;padding-block:.85rem}
  .header nav{gap:.4rem;width:100%;justify-content:space-between}
  .header nav a{justify-content:center;padding:.45rem .4rem;flex:1;font-size:clamp(.7rem,3.2vw,.85rem)}
}

/* Keep the menu centered relative to the page, independent of logo width. */
@media(min-width:761px){
  .header{display:grid;grid-template-columns:1fr auto 1fr}
  .header>.brand{justify-self:start}
  .header nav{grid-column:2;justify-content:center}
}
@media(max-width:760px){
  .header{height:auto;display:grid;justify-items:start;padding-block:.85rem;gap:.7rem}
  .header nav{width:100%;justify-content:center}
  .header nav a{flex:0 0 auto}
}

/* Frame the compact marks using the original wordmark artwork. */
.brand{display:block;position:relative;width:114px;aspect-ratio:2.75;overflow:hidden;border:0;padding:0;flex-shrink:0}
.brand img{display:block;position:absolute;top:50%;left:50%;width:160%;height:auto;max-width:none;transform:translate(-50%,-48.75%)}

.event-page .events-intro {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.2rem, 2.5vw, 1.65rem);
  line-height: 1.4;
  max-width: 42ch;
  color: var(--text);
}

.event-tagline,
.prive-tagline,
.presale-tagline {
  display: block;
  color: var(--accent);
  margin-bottom: .3rem;
}

#intro {
  font-size: clamp(2.6rem, 5.25vw, 4.85rem);
}

#intro em {
  display: block;
}

.instagram-panel,
.contact-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: center;
  gap: clamp(1.5rem, 5vw, 4rem);
  padding: clamp(1.3rem, 4vw, 3.5rem);
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    radial-gradient(ellipse at 98% 0%, #ff813d26, transparent 63%),
    linear-gradient(125deg, #2a1626, var(--bg) 72%);
}

.instagram-copy h2 {
  font-size: clamp(2.25rem, 5vw, 4.2rem);
  text-wrap: balance;
}

.instagram-copy h2 em {
  display: block;
}

.instagram-copy > p:not(.eyebrow),
.contact-copy > p:not(.eyebrow) {
  max-width: 39ch;
  margin: 1rem 0 1.35rem;
  color: var(--muted);
}

.instagram-copy .pill svg {
  flex: none;
}

.instagram-profile,
.contact-details {
  padding: clamp(.9rem, 3vw, 1.75rem);
  border: 1px solid #765464;
  border-radius: 8px;
  background: var(--bg);
  box-shadow: 0 16px 40px #0005;
}

.instagram-profile-head {
  display: flex;
  align-items: center;
  gap: .8rem;
}

.instagram-profile-head img {
  flex: none;
  width: clamp(3rem, 8vw, 4rem);
  height: auto;
  border: 2px solid var(--accent);
  border-radius: 50%;
  box-shadow: 0 0 18px #ff813d30;
}

.instagram-handle {
  margin: 0;
  font-size: clamp(1rem, 2.5vw, 1.35rem);
  font-weight: 750;
  overflow-wrap: anywhere;
}

.instagram-profile-head:hover .instagram-handle,
.instagram-profile-head:focus-visible .instagram-handle {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: .18em;
}

.instagram-name {
  margin: 0;
  color: var(--muted);
  font-size: .7rem;
  letter-spacing: .15em;
}

.instagram-topics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .4rem;
  margin: 1rem 0 0;
  padding: 1rem 0 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.instagram-topics li {
  display: grid;
  justify-items: center;
  gap: .5rem;
  color: var(--muted);
  font-size: .75rem;
  overflow-wrap: anywhere;
  text-align: center;
}

.instagram-topic-icon {
  display: grid;
  width: 2.65rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #a85a3c;
  border-radius: 50%;
  background: radial-gradient(ellipse at 65% 20%, #ff813d29, transparent 80%);
  color: var(--accent);
}

.contacts-page {
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
  padding-block: clamp(2.5rem, 6vw, 5rem);
}

.contacts-intro {
  margin-bottom: clamp(.5rem, 2vw, 1rem);
}

.contacts-intro h1 {
  font-size: clamp(2.8rem, 6.5vw, 5.5rem);
  text-wrap: balance;
}

.contacts-intro > p:not(.eyebrow) {
  margin: 1rem 0 0;
  color: var(--muted);
}

.contact-copy h2 {
  font-size: clamp(2.1rem, 4.5vw, 3.5rem);
  text-wrap: balance;
}

.contact-community-actions {
  justify-items: center;
}

.contact-channel-icon {
  display: grid;
  width: 4.5rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid #a85a3c;
  border-radius: 50%;
  background: #ff813d12;
  color: var(--accent);
}

.contact-name {
  margin: 0 0 1rem;
  font-size: 1.15rem;
  font-weight: 700;
}

.pr-section {
  max-width: 900px;
  padding-bottom: clamp(2.75rem, 6vw, 5rem);
}

.pr-card {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  padding: clamp(1.3rem, 4vw, 3.5rem);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: radial-gradient(ellipse at 0 0, #ff813d18, transparent 65%), var(--panel);
}

.pr-copy h1 {
  font-size: clamp(2.35rem, 5.5vw, 4.6rem);
  text-wrap: balance;
}

.pr-copy > p:not(.eyebrow) {
  max-width: 46ch;
  margin: 1rem 0 1.4rem;
  color: var(--muted);
}

.pr-more {
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
}

.pr-more .eyebrow {
  margin-bottom: .6rem;
}

.pr-more h2 {
  font-size: clamp(1.4rem, 3vw, 2rem);
  letter-spacing: -.025em;
  line-height: 1.2;
}

.pr-more > p:not(.eyebrow) {
  color: var(--muted);
}

.pr-guide.wrap {
  max-width: 900px;
}

.pr-guide h1 {
  font-size: clamp(2.8rem, 6.5vw, 5.5rem);
  text-wrap: balance;
}

.pr-guide-list {
  margin: clamp(2rem, 5vw, 3.5rem) 0 0;
  padding-inline-start: 2rem;
  list-style-type: decimal-leading-zero;
}

.pr-guide-list > li {
  padding: 1.4rem 0 1.4rem .4rem;
  border-top: 1px solid var(--line);
}

.pr-guide-list > li::marker {
  color: var(--accent);
  font-size: .85rem;
  font-weight: 750;
}

.pr-guide-list h2 {
  font-size: clamp(1.4rem, 3vw, 2rem);
  letter-spacing: -.03em;
  line-height: 1.15;
}

.pr-guide-list p {
  color: var(--muted);
  margin: .7rem 0 0;
}

.pr-guide-list strong {
  color: var(--text);
}

.pr-commission {
  margin: 1rem 0;
  width: min(100%, 24rem);
  border-collapse: collapse;
}

.pr-commission th,
.pr-commission td {
  padding: .65rem;
  text-align: left;
  border-bottom: 1px solid var(--line);
}

.pr-commission thead th {
  color: var(--accent);
}

.pr-guide-actions {
  margin-top: 1.2rem;
}

#pr-form {
  margin-top: 1rem;
}

#pr-status:empty {
  margin: 0;
}

#pr-confirmation {
  margin-top: 1.25rem;
}

#pr-application button:disabled {
  opacity: .65;
  cursor: wait;
}

@media (max-width: 660px) {
  .instagram-panel,
  .contact-panel {
    grid-template-columns: 1fr;
  }
}

.rookie-promo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(12rem, .8fr);
  grid-template-areas: "event price terms" "event price action";
  align-items: center;
  gap: .8rem clamp(1rem, 3.5vw, 3.5rem);
  margin-top: clamp(.8rem, 2vw, 1.4rem);
  padding: clamp(1rem, 3vw, 1.9rem);
  border: 1px solid #b4552d;
  border-radius: 8px;
  background: radial-gradient(ellipse at 48% 0%, #7c321a70, transparent 72%), #1c1016;
}

.rookie-promo-event { grid-area: event; }
.rookie-promo-event .eyebrow { margin-bottom: .6rem; }
.rookie-promo h2 { font-size: clamp(1.75rem, 4vw, 3.5rem); }
.rookie-promo-event > p:not(.eyebrow) { margin: .45rem 0 0; color: var(--muted); }
.rookie-promo-price {
  grid-area: price;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .25rem .65rem;
}

.rookie-promo-price strong {
  color: var(--accent);
  font-size: clamp(2.6rem, 6vw, 4.9rem);
  line-height: .95;
  letter-spacing: -.07em;
  white-space: nowrap;
}

.rookie-promo-price del {
  color: var(--muted);
  font-size: clamp(.9rem, 1.7vw, 1.2rem);
  text-decoration-color: var(--accent);
  text-decoration-thickness: 2px;
}

.rookie-promo-terms { grid-area: terms; margin: 0; color: var(--muted); font-size: .87rem; }
.rookie-promo-terms strong { display: block; color: var(--text); font-size: 1rem; }
.rookie-promo .pill { grid-area: action; justify-self: start; min-height: 44px; }
.rookie-promo-compact { padding: 1rem clamp(1rem, 3vw, 1.9rem); }
.rookie-promo-compact h2 { font-size: clamp(1.65rem, 3vw, 2.45rem); }
.rookie-promo-compact .rookie-promo-price strong { font-size: clamp(2.45rem, 5vw, 3.6rem); }
#rookie-promo-status:empty { margin: 0; }
#rookie-promo-dialog button:disabled { opacity: .65; cursor: default; }

.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem 1rem; }
.privacy-link { color: var(--accent); text-decoration: underline; text-underline-offset: .2em; }
.privacy-page.wrap { max-width: 760px; }
.privacy-page h1 { font-size: clamp(2.7rem, 7vw, 5.2rem); }
.privacy-page h2 { font-size: clamp(1.35rem, 3vw, 1.85rem); letter-spacing: -.025em; line-height: 1.2; }
.privacy-page section { margin-top: 1.75rem; border-top: 1px solid var(--line); padding-top: 1.5rem; }
.privacy-page p, .privacy-page li { color: var(--muted); line-height: 1.6; }
.privacy-page strong { color: var(--text); }
.privacy-page ul { padding-inline-start: 1.3rem; }
.privacy-page li + li { margin-top: .65rem; }
.privacy-intro { margin-top: 1.25rem; }
dialog .group-invite { display: flex; align-items: flex-start; gap: .65rem; padding-block: .45rem; }
dialog .group-invite input { width: 1.1rem; height: 1.1rem; flex: none; margin: .1rem 0 0; accent-color: var(--accent); }
.data-management-form { display: grid; gap: .65rem; max-width: 33rem; margin-block: 1.6rem; }
.data-management-form select, .data-management-form input[type=text] { width: 100%; padding: .7rem; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); color: var(--text); font: inherit; }
.data-confirm { display: flex; align-items: center; gap: .55rem; margin-block: .5rem; }
.data-confirm input { width: 1.1rem; height: 1.1rem; accent-color: var(--accent); }
.data-management-form button { justify-self: start; }
.data-management-form p:empty { display: none; }

@media (max-width: 700px) {
  .rookie-promo {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "event price" "terms terms" "action action";
    gap: .85rem;
  }
  .rookie-promo-event > p:not(.eyebrow) { font-size: .85rem; }
  .rookie-promo-price { flex-direction: column; align-items: flex-end; }
  .rookie-promo .pill { justify-self: stretch; }
}
