/* FolkRaas theme · shared styles for every page
   Palette: maroon #3B0710 / #5A0F1C / #7A1627 · gold #E3A63F / #F2C66D · terracotta #D25B35 (#B4441F for small text on cream) · cream #FBF3E4 / #F4E6CC / #FFFDF8 · ink #2B0A10
   Fonts: Rozha One (display), Mukta (body), Rasa italic (Gujarati accents)
   Order: base → components (BEM-style blocks) → hover states → states & responsive rules */

/* Base */
html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:#FBF3E4;color:#2B0A10;font-family:Mukta,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#7A1627;text-decoration:none}
a:hover{color:#D25B35}
button,input{font-family:inherit}
[hidden]{display:none !important}
@keyframes frSpin{to{transform:rotate(360deg)}}
@keyframes frSpinRev{to{transform:rotate(-360deg)}}
@keyframes frMarquee{to{transform:translateX(-50%)}}
@keyframes frUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* Components */
.hero__title {
  margin:0;
  line-height:0;
}

.page {
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.site-header {
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(59,7,16,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(227,166,63,.25);
}
.site-header__inner {
  max-width:1240px;
  margin:0 auto;
  padding:10px clamp(16px,4vw,32px);
  display:flex;
  align-items:center;
  gap:24px;
}
.site-header__brand {
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.site-header__logo {
  height:48px;
  width:auto;
  display:block;
}
.site-nav {
  display:flex;
  gap:26px;
  margin-left:auto;
  align-items:center;
}
.site-nav__link {
  color:#F4E6CC;
  font-size:15px;
  font-weight:500;
}
.site-nav__account {
  color:#F2C66D;
  font-size:15px;
  font-weight:700;
  border:1px solid rgba(242,198,109,.5);
  border-radius:999px;
  padding:9px 16px;
  white-space:nowrap;
}
.site-header__actions {
  margin-left:auto;
  display:flex;
  gap:10px;
  align-items:center;
}
.site-header__cta {
  background:#E3A63F;
  color:#3B0710;
  border:0;
  border-radius:999px;
  padding:11px 22px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.site-header__menu-btn {
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(227,166,63,.5);
  background:transparent;
  color:#F2C66D;
  font-size:20px;
  cursor:pointer;
}
.mobile-nav {
  display:flex;
  flex-direction:column;
  padding:8px clamp(16px,4vw,32px) 20px;
  gap:2px;
  border-top:1px solid rgba(227,166,63,.2);
}
.mobile-nav__link {
  color:#F4E6CC;
  font-size:18px;
  padding:12px 0;
  border-bottom:1px solid rgba(227,166,63,.15);
}
.mobile-nav__account {
  color:#F2C66D;
  font-size:18px;
  font-weight:700;
  padding:14px 0;
}
.hero {
  position:relative;
  overflow:hidden;
  background:#3B0710;
  background-image:radial-gradient(rgba(227,166,63,.13) 1.4px,transparent 1.6px);
  background-size:22px 22px;
  color:#FBF3E4;
}
.hero__glow {
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 30% 45%,rgba(122,22,39,.9),rgba(59,7,16,0) 65%);
  pointer-events:none;
}
.hero__inner {
  position:relative;
  max-width:1240px;
  margin:0 auto;
  padding:clamp(40px,7vw,96px) clamp(16px,4vw,32px) clamp(56px,8vw,110px);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap:clamp(32px,5vw,64px);
  align-items:center;
}
.hero__content {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:28px;
  animation:frUp .8s ease both;
}
.hero__rings-wrap {
  position:absolute;
  left:50%;
  top:40%;
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:0;
}
.hero__kicker {
  position:relative;
  z-index:1;
  font-family:Rasa,serif;
  font-style:italic;
  font-size:clamp(20px,2.4vw,26px);
  color:#F2C66D;
}
.hero__logo {
  position:relative;
  z-index:1;
  width:100%;
  max-width:560px;
  height:auto;
  filter:drop-shadow(0 12px 30px rgba(0,0,0,.35));
}
.hero__lead {
  position:relative;
  z-index:1;
  margin:0;
  font-size:clamp(18px,1.8vw,21px);
  line-height:1.55;
  color:#F4E6CC;
  max-width:520px;
  text-wrap:pretty;
}
.hero__actions {
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.hero__cta {
  background:#E3A63F;
  color:#3B0710;
  border:0;
  border-radius:999px;
  padding:16px 30px;
  font-size:17px;
  font-weight:700;
  cursor:pointer;
}
.hero__secondary {
  border:1px solid rgba(242,198,109,.6);
  color:#F2C66D;
  border-radius:999px;
  padding:15px 26px;
  font-size:17px;
  font-weight:600;
}
.hero__ticket-wrap {
  justify-self:center;
  width:100%;
  max-width:400px;
  animation:frUp .8s .15s ease both;
}
.ticket {
  background:#FBF3E4;
  color:#3B0710;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 30px 60px rgba(0,0,0,.4);
  transform:rotate(-2.5deg);
}
.ticket__band {
  background:#E3A63F;
  padding:14px 22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:700;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ticket__date {
  padding:26px 22px 22px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ticket__weekday {
  font-size:14px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#7A1627;
  font-weight:600;
}
.ticket__day {
  font-family:'Rozha One',serif;
  font-size:clamp(76px,10vw,104px);
  line-height:.9;
}
.ticket__year {
  font-family:'Rozha One',serif;
  font-size:30px;
  color:#D25B35;
  line-height:1;
}
.ticket__tear {
  height:22px;
  background:radial-gradient(circle at 0 50%,#3B0710 11px,transparent 12px),radial-gradient(circle at 100% 50%,#3B0710 11px,transparent 12px);
  position:relative;
}
.ticket__tear-line {
  position:absolute;
  left:24px;
  right:24px;
  top:10px;
  border-top:2px dashed rgba(122,22,39,.35);
}
.ticket__meta {
  padding:16px 22px 24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.label-caps {
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#6B4A40;
  font-weight:600;
}
.value-lg {
  font-size:20px;
  font-weight:700;
  white-space:nowrap;
}
.ticket__meta-wide {
  grid-column:1 / -1;
}
.ticket__venue {
  font-size:18px;
  font-weight:600;
  line-height:1.3;
}
.ticket__place {
  font-size:14px;
  color:#6B4A40;
  margin-top:2px;
}
.marquee {
  background:#E3A63F;
  color:#3B0710;
  overflow:hidden;
  padding:14px 0;
  border-top:2px solid #3B0710;
  border-bottom:2px solid #3B0710;
}
.about {
  scroll-margin-top:72px;
  max-width:1240px;
  margin:0 auto;
  padding:clamp(64px,9vw,120px) clamp(16px,4vw,32px);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));
  gap:clamp(32px,6vw,80px);
}
.about__intro {
  display:flex;
  flex-direction:column;
  gap:20px;
}
.eyebrow {
  display:flex;
  gap:12px;
  align-items:baseline;
  color:#B4441F;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:14px;
}
.eyebrow__num {
  font-family:Rasa,serif;
  font-size:22px;
  letter-spacing:0;
}
.about__title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:clamp(40px,5.4vw,68px);
  line-height:1.02;
  color:#5A0F1C;
  text-wrap:balance;
}
.about__body {
  display:flex;
  flex-direction:column;
  gap:28px;
  padding-top:8px;
}
.about__lead {
  margin:0;
  font-size:clamp(18px,1.6vw,20px);
  line-height:1.65;
  color:#3B0710;
  text-wrap:pretty;
}
.feature-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1px;
  background:rgba(122,22,39,.18);
  border:1px solid rgba(122,22,39,.18);
  border-radius:18px;
  overflow:hidden;
}
.feature {
  background:#FBF3E4;
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.feature__title {
  font-family:'Rozha One',serif;
  font-size:24px;
  color:#7A1627;
}
.feature__text {
  color:#6B4A40;
  font-size:16px;
  line-height:1.5;
}
.band-sand {
  scroll-margin-top:72px;
  background:#F4E6CC;
}
.scallop {
  height:18px;
  background:radial-gradient(circle at 14px 0,#FBF3E4 13px,transparent 14px);
  background-size:28px 18px;
  background-repeat:repeat-x;
}
.details__inner {
  max-width:1240px;
  margin:0 auto;
  padding:clamp(48px,7vw,96px) clamp(16px,4vw,32px);
  display:flex;
  flex-direction:column;
  gap:40px;
}
.details__head {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:end;
  gap:20px;
}
.stack {
  display:flex;
  flex-direction:column;
  gap:16px;
}
.section-title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:clamp(36px,4.6vw,56px);
  line-height:1.05;
  color:#5A0F1C;
}
.details__cta {
  background:#5A0F1C;
  color:#FBF3E4;
  border:0;
  border-radius:999px;
  padding:14px 26px;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
}
.fact-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap:16px;
}
.fact {
  background:#5A0F1C;
  color:#FBF3E4;
  border-radius:20px;
  padding:26px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.fact__label {
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#F2C66D;
  font-weight:600;
}
.fact__value {
  font-family:'Rozha One',serif;
  font-size:30px;
  line-height:1.1;
}
.info-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));
  gap:16px;
}
.rules-card {
  background:#FBF3E4;
  border-radius:20px;
  padding:clamp(22px,3vw,32px);
  display:flex;
  flex-direction:column;
  gap:16px;
}
.card-title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:26px;
  color:#5A0F1C;
}
.rules-list {
  display:flex;
  flex-direction:column;
  gap:12px;
  font-size:17px;
  line-height:1.5;
}
.rules-list__item {
  display:flex;
  gap:12px;
}
.rules-list__num {
  color:#B4441F;
  font-weight:700;
}
.dress-card {
  background:#E3A63F;
  border-radius:20px;
  padding:clamp(22px,3vw,32px);
  display:flex;
  flex-direction:column;
  gap:14px;
  color:#3B0710;
}
.dress-card__kicker {
  font-family:Rasa,serif;
  font-style:italic;
  font-size:22px;
}
.dress-card__title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:26px;
}
.dress-card__text {
  margin:0;
  font-size:17px;
  line-height:1.55;
}
.terms-banner {
  background:#5A0F1C;
  color:#FBF3E4;
  border-radius:20px;
  padding:clamp(18px,2.6vw,24px) clamp(18px,3vw,28px);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px 24px;
  background-image:radial-gradient(rgba(227,166,63,.13) 1.4px,transparent 1.6px);
  background-size:18px 18px;
}
.terms-banner__text {
  display:flex;
  flex-direction:column;
  gap:4px;
  flex:1 1 320px;
  min-width:0;
}
.terms-banner__head {
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
}
.terms-banner__title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:clamp(24px,2.6vw,30px);
  line-height:1.1;
}
.terms-banner__gu {
  font-family:Rasa,serif;
  font-style:italic;
  font-size:17px;
  color:#F2C66D;
}
.terms-banner__note {
  margin:0;
  font-size:15px;
  line-height:1.5;
  color:#F4E6CC;
}
.terms-banner__btn {
  background:#E3A63F;
  color:#3B0710;
  border:0;
  border-radius:999px;
  padding:13px 22px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.passes {
  scroll-margin-top:72px;
  max-width:1240px;
  margin:0 auto;
  padding:clamp(64px,9vw,110px) clamp(16px,4vw,32px);
  display:flex;
  flex-direction:column;
  gap:40px;
}
.passes__head {
  display:flex;
  flex-direction:column;
  gap:16px;
  max-width:680px;
}
.passes__status {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.phase-badge {
  display:flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:7px 14px;
  font-size:15px;
  font-weight:700;
}
.phase-badge__dot {
  width:8px;
  height:8px;
  border-radius:999px;
}
.text-muted {
  font-size:15px;
  color:#6B4A40;
}
.passes__layout {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
  gap:clamp(20px,3vw,32px);
  align-items:stretch;
}
.pass-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
  gap:20px;
}
.includes {
  background:#F4E6CC;
  border-radius:20px;
  padding:clamp(22px,3vw,30px);
  display:flex;
  flex-direction:column;
  gap:18px;
}
.includes__title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:24px;
  color:#3B0710;
}
.includes__list {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}
.includes__item {
  display:flex;
  gap:12px;
  font-size:16px;
  line-height:1.5;
  color:#4A2A22;
}
.includes__item b {
  color:#3B0710;
}
.includes__icon {
  flex:0 0 26px;
  height:26px;
  border-radius:999px;
  background:#5A0F1C;
  color:#F2C66D;
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:1px;
}
.includes__foot {
  margin-top:auto;
  padding-top:16px;
  border-top:1px dashed rgba(122,22,39,.3);
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
  font-size:14px;
  font-weight:600;
  color:#6B4A40;
}
.pass-card {
  background:#FFFDF8;
  border:1.5px solid rgba(122,22,39,.2);
  border-radius:20px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.pass-card__body {
  padding:22px 22px 18px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
}
.pass-card__top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.pass-card__name {
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  color:#B4441F;
}
.pass-card__tag {
  font-size:12px;
  font-weight:700;
  color:#5A0F1C;
  background:#F4E6CC;
  border-radius:999px;
  padding:3px 10px;
}
.pass-card__price {
  font-family:'Rozha One',serif;
  font-size:48px;
  line-height:1;
  color:#3B0710;
}
.pass-card__per {
  font-family:Mukta,system-ui,sans-serif;
  font-size:15px;
  font-weight:600;
  color:#6B4A40;
  margin-left:8px;
}
.pass-card__note {
  color:#6B4A40;
  font-size:16px;
  line-height:1.45;
}
.pass-card__tear {
  height:20px;
  position:relative;
  background:radial-gradient(circle at 0 50%,#FBF3E4 10px,transparent 11px),radial-gradient(circle at 100% 50%,#FBF3E4 10px,transparent 11px);
}
.pass-card__tear-line {
  position:absolute;
  left:20px;
  right:20px;
  top:9px;
  border-top:2px dashed rgba(122,22,39,.25);
}
.pass-card__foot {
  padding:14px 22px 22px;
}
.pass-card__btn {
  width:100%;
  color:#FBF3E4;
  border:0;
  border-radius:12px;
  padding:14px;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  background:#5A0F1C;
}
.events {
  scroll-margin-top:72px;
  max-width:1240px;
  margin:0 auto;
  padding:clamp(64px,9vw,110px) clamp(16px,4vw,32px);
  display:flex;
  flex-direction:column;
  gap:40px;
}
.events__grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));
  gap:24px;
}
.events__none {
  background:#F4E6CC;
  border-radius:20px;
  padding:clamp(22px,3vw,30px);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.events__none-title {
  font-family:'Rozha One',serif;
  font-size:24px;
  color:#3B0710;
}
.event-card {
  background:#FFFDF8;
  border:1.5px solid rgba(122,22,39,.2);
  border-radius:20px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  color:#3B0710;
}
.event-card:hover {
  color:#3B0710;
}
.event-card__band {
  background:#E3A63F;
  padding:12px 22px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-weight:700;
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.event-card__body {
  padding:22px 22px 16px;
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
}
.event-card__date {
  font-family:'Rozha One',serif;
  font-size:48px;
  line-height:1;
}
.event-card__year {
  font-size:24px;
  color:#D25B35;
}
.event-card__name {
  margin:6px 0 0;
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  color:#B4441F;
}
.event-card__venue {
  font-size:18px;
  font-weight:600;
  line-height:1.3;
}
.event-card__foot {
  padding:12px 22px 22px;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.event-card__cta {
  font-weight:700;
  color:#7A1627;
}
.dashboard__event {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 12px;
}
.dashboard__event-name {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:24px;
  color:#3B0710;
}
.artist {
  scroll-margin-top:72px;
  background:#3B0710;
  background-image:radial-gradient(rgba(227,166,63,.1) 1.4px,transparent 1.6px);
  background-size:22px 22px;
  color:#FBF3E4;
}
.artist__inner {
  max-width:1240px;
  margin:0 auto;
  padding:clamp(64px,9vw,120px) clamp(16px,4vw,32px);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));
  gap:clamp(36px,6vw,80px);
  align-items:center;
}
.artist__portrait {
  position:relative;
  width:100%;
  max-width:480px;
  justify-self:center;
}
.artist__frame {
  position:absolute;
  inset:-14px;
  border:1.5px solid rgba(227,166,63,.5);
  border-radius:999px 999px 24px 24px;
  pointer-events:none;
}
.artist__photo {
  aspect-ratio:4 / 5;
  border-radius:999px 999px 16px 16px;
  overflow:hidden;
  background:#5A0F1C;
}
.artist__content {
  display:flex;
  flex-direction:column;
  gap:22px;
}
.eyebrow-gold {
  display:flex;
  gap:12px;
  align-items:baseline;
  color:#F2C66D;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:14px;
}
.artist__name {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:clamp(56px,8vw,112px);
  line-height:.92;
  color:#FBF3E4;
}
.artist__bio {
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:520px;
}
.artist__lead {
  margin:0;
  font-size:clamp(17px,1.6vw,20px);
  line-height:1.65;
  color:#F4E6CC;
  text-wrap:pretty;
}
.artist__more {
  align-self:flex-start;
  display:flex;
  align-items:center;
  gap:8px;
  background:transparent;
  border:0;
  border-bottom:1.5px solid #E3A63F;
  padding:4px 0;
  color:#F2C66D;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
}
.artist__more-arrow {
  font-size:18px;
}
.chip-row {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.chip {
  border:1px solid rgba(242,198,109,.55);
  color:#F2C66D;
  border-radius:999px;
  padding:10px 18px;
  font-weight:600;
  font-size:15px;
}
.btn-gold {
  background:#E3A63F;
  color:#3B0710;
  border:0;
  border-radius:999px;
  padding:15px 28px;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
}
.gallery {
  scroll-margin-top:72px;
  max-width:1240px;
  margin:0 auto;
  padding:clamp(64px,9vw,110px) clamp(16px,4vw,32px);
  display:flex;
  flex-direction:column;
  gap:36px;
}
.gallery__grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  grid-auto-rows:clamp(140px,38vw,200px);
  grid-auto-flow:dense;
  gap:10px;
}
.gallery__caption {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:28px 14px 12px;
  background:linear-gradient(transparent,rgba(43,10,16,.85));
  color:#FBF3E4;
  font-size:14px;
  font-weight:600;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .25s,transform .25s;
  pointer-events:none;
}
.gallery__zoom {
  position:absolute;
  top:10px;
  right:10px;
  width:36px;
  height:36px;
  border-radius:999px;
  border:0;
  background:rgba(59,7,16,.75);
  color:#F2C66D;
  font-size:16px;
  cursor:pointer;
}
.venue__inner {
  max-width:1240px;
  margin:0 auto;
  padding:clamp(56px,8vw,100px) clamp(16px,4vw,32px);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));
  gap:clamp(28px,5vw,56px);
  align-items:stretch;
}
.venue__info {
  display:flex;
  flex-direction:column;
  gap:20px;
  justify-content:center;
}
.venue__address {
  margin:0;
  font-size:19px;
  line-height:1.6;
}
.venue__directions {
  background:#5A0F1C;
  color:#FBF3E4;
  border-radius:999px;
  padding:13px 24px;
  font-weight:700;
}
.venue__facts {
  margin:0;
  display:grid;
  gap:0;
  border-top:1px solid rgba(122,22,39,.18);
}
.venue__fact {
  display:grid;
  grid-template-columns:88px 1fr;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid rgba(122,22,39,.18);
  font-size:16px;
}
.venue__fact dt {
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  color:#B4441F;
  padding-top:3px;
}
.venue__fact dd {
  margin:0;
  font-weight:600;
}
.venue__map {
  border-radius:22px;
  overflow:hidden;
  min-height:340px;
  border:1.5px solid rgba(122,22,39,.2);
  background:#EAD9BA;
}
.venue__iframe {
  border:0;
  width:100%;
  height:100%;
  min-height:340px;
  display:block;
}
.faq {
  max-width:920px;
  margin:0 auto;
  padding:clamp(64px,9vw,110px) clamp(16px,4vw,32px);
  display:flex;
  flex-direction:column;
  gap:32px;
  width:100%;
}
.faq__list {
  display:flex;
  flex-direction:column;
  border-top:1px solid rgba(122,22,39,.25);
}
.faq__item {
  border-bottom:1px solid rgba(122,22,39,.25);
}
.faq__question {
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  background:transparent;
  border:0;
  padding:22px 0;
  font-size:clamp(17px,1.8vw,20px);
  font-weight:600;
  color:#3B0710;
  cursor:pointer;
  text-align:left;
}
.faq__icon {
  font-size:24px;
  color:#D25B35;
  flex-shrink:0;
}
.faq__answer {
  margin:0 0 22px;
  font-size:17px;
  line-height:1.6;
  color:#6B4A40;
  max-width:720px;
}
.cta {
  padding:0 clamp(16px,4vw,32px) clamp(56px,8vw,96px);
}
.cta__panel {
  max-width:1240px;
  margin:0 auto;
  background:#D25B35;
  color:#FFF8EC;
  border-radius:28px;
  padding:clamp(36px,6vw,72px);
  display:flex;
  flex-wrap:wrap;
  gap:28px;
  justify-content:space-between;
  align-items:center;
  background-image:radial-gradient(rgba(59,7,16,.18) 1.4px,transparent 1.6px);
  background-size:20px 20px;
}
.cta__text {
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:640px;
}
.cta__kicker {
  font-family:Rasa,serif;
  font-style:italic;
  font-size:24px;
  color:#3B0710;
}
.cta__title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:clamp(34px,4.6vw,58px);
  line-height:1.02;
}
.cta__btn {
  background:#3B0710;
  color:#F2C66D;
  border:0;
  border-radius:999px;
  padding:18px 34px;
  font-size:18px;
  font-weight:700;
  cursor:pointer;
}
.success {
  flex:1;
  background:#3B0710;
  background-image:radial-gradient(rgba(227,166,63,.12) 1.4px,transparent 1.6px);
  background-size:22px 22px;
  padding:clamp(40px,7vw,90px) clamp(16px,4vw,32px);
}
.success__inner {
  max-width:760px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:24px;
  animation:frUp .6s ease both;
}
.success__head {
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:center;
  text-align:center;
  color:#FBF3E4;
}
.success__check {
  width:72px;
  height:72px;
  border-radius:999px;
  background:#E3A63F;
  color:#3B0710;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:36px;
  font-weight:700;
}
.success__thanks {
  font-family:Rasa,serif;
  font-style:italic;
  font-size:24px;
  color:#F2C66D;
}
.success__title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:clamp(40px,6vw,64px);
  line-height:1.02;
}
.success__lead {
  margin:0;
  font-size:18px;
  color:#F4E6CC;
  max-width:520px;
  line-height:1.55;
}
.success__card {
  background:#FBF3E4;
  border-radius:22px;
  overflow:hidden;
}
.success__summary {
  padding:22px clamp(18px,3vw,28px);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:14px;
  border-bottom:2px dashed rgba(122,22,39,.25);
}
.amount-lg {
  font-size:24px;
  font-weight:700;
  color:#3B0710;
}
.success__pay-id {
  font-size:16px;
  font-weight:600;
  color:#3B0710;
  padding-top:6px;
}
.success__passes {
  padding:10px clamp(18px,3vw,28px) 22px;
  display:flex;
  flex-direction:column;
}
.pass-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid rgba(122,22,39,.12);
  flex-wrap:wrap;
}
.failed__card > .spinner {
  margin:0 auto;
}
.buy__pay-error {
  text-align:center;
}
.text-strong {
  font-weight:700;
  font-size:17px;
}
.text-muted-sm {
  font-size:14px;
  color:#6B4A40;
}
.status-valid {
  font-size:13px;
  font-weight:700;
  color:#2F6B3A;
  background:#E3F0DA;
  border-radius:999px;
  padding:4px 12px;
}
.actions-center {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
}
.btn-outline-gold {
  border:1px solid rgba(242,198,109,.6);
  color:#F2C66D;
  border-radius:999px;
  padding:14px 24px;
  font-size:16px;
  font-weight:600;
}
.btn-link-cream {
  background:transparent;
  border:0;
  color:#F4E6CC;
  font-size:16px;
  font-weight:600;
  padding:14px 12px;
  cursor:pointer;
  text-decoration:underline;
}
.failed {
  flex:1;
  background:#F4E6CC;
  padding:clamp(40px,8vw,110px) clamp(16px,4vw,32px);
}
.failed__card {
  max-width:600px;
  margin:0 auto;
  background:#FBF3E4;
  border-radius:24px;
  padding:clamp(28px,5vw,48px);
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:center;
  text-align:center;
  border:1.5px solid rgba(122,22,39,.18);
  animation:frUp .6s ease both;
}
.failed__icon {
  width:68px;
  height:68px;
  border-radius:999px;
  background:#F6D9CF;
  color:#A8321A;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  font-weight:700;
}
.failed__title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:clamp(34px,5vw,48px);
  line-height:1.05;
  color:#5A0F1C;
}
.failed__text {
  margin:0;
  font-size:17px;
  line-height:1.6;
  color:#6B4A40;
}
.failed__order {
  color:#3B0710;
}
.btn-maroon {
  background:#5A0F1C;
  color:#FBF3E4;
  border:0;
  border-radius:999px;
  padding:15px 28px;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
}
.btn-outline-maroon {
  background:transparent;
  border:1.5px solid #5A0F1C;
  color:#5A0F1C;
  border-radius:999px;
  padding:14px 24px;
  font-size:16px;
  font-weight:600;
  cursor:pointer;
}
.site-footer {
  scroll-margin-top:72px;
  background:#2B0A10;
  color:#F4E6CC;
}
.site-footer__inner {
  max-width:1240px;
  margin:0 auto;
  padding:clamp(48px,7vw,80px) clamp(16px,4vw,32px) 28px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:32px;
}
.stack-md {
  display:flex;
  flex-direction:column;
  gap:14px;
}
.site-footer__logo {
  width:200px;
  height:auto;
}
.site-footer__tagline {
  font-size:15px;
  color:#CDB89A;
}
.site-footer__col {
  display:flex;
  flex-direction:column;
  gap:10px;
}
.label-gold {
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#F2C66D;
  font-weight:700;
}
.site-footer__link {
  color:#F4E6CC;
  font-size:17px;
}
.site-footer__legal {
  max-width:1240px;
  margin:0 auto;
  padding:18px clamp(16px,4vw,32px);
  border-top:1px solid rgba(227,166,63,.2);
  font-size:14px;
  color:#A89378;
}
.sticky-buy {
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:30;
  background:#3B0710;
  border-top:1px solid rgba(227,166,63,.35);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.sticky-buy__info {
  color:#F4E6CC;
  line-height:1.2;
}
.sticky-buy__label {
  font-size:13px;
  color:#CDB89A;
}
.sticky-buy__price {
  font-size:20px;
  font-weight:700;
  color:#F2C66D;
}
.sticky-buy__btn {
  background:#E3A63F;
  color:#3B0710;
  border:0;
  border-radius:999px;
  padding:13px 26px;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  min-height:48px;
}
.lightbox {
  position:fixed;
  inset:0;
  z-index:60;
  background:rgba(20,4,8,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(12px,4vw,48px);
}
.lightbox__dialog {
  width:min(1000px,100%);
  display:flex;
  flex-direction:column;
  gap:14px;
}
.lightbox__stage {
  position:relative;
  width:100%;
  aspect-ratio:3 / 2;
  max-height:76vh;
  border-radius:16px;
  overflow:hidden;
  background:#3B0710;
}
.lightbox__bar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  color:#F4E6CC;
}
.lightbox__nav {
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid rgba(242,198,109,.5);
  background:transparent;
  color:#F2C66D;
  font-size:20px;
  cursor:pointer;
}
.lightbox__caption {
  text-align:center;
  font-size:16px;
}
.lightbox__count {
  color:#A89378;
}
.lightbox__close {
  position:absolute;
  top:16px;
  right:16px;
  width:48px;
  height:48px;
  border-radius:999px;
  border:0;
  background:#E3A63F;
  color:#3B0710;
  font-size:22px;
  cursor:pointer;
}
.modal-backdrop {
  position:fixed;
  inset:0;
  z-index:55;
  background:rgba(20,4,8,.72);
  backdrop-filter:blur(4px);
  display:flex;
  justify-content:center;
  align-items:center;
  padding:24px;
}
.bio {
  position:relative;
  width:100%;
  max-width:980px;
  background:#3B0710;
  color:#FBF3E4;
  overflow:hidden;
  display:flex;
  box-shadow:0 30px 80px rgba(0,0,0,.5);
  animation:frUp .35s ease both;
  height:min(86vh,820px);
  border-radius:24px;
}
.bio__media {
  position:relative;
  background:#5A0F1C;
  min-height:0;
  min-width:0;
  overflow:hidden;
  flex:0 0 40%;
}
.bio__photo {
  position:absolute;
  inset:0;
}
.bio__caption {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:22px;
  background:linear-gradient(transparent,rgba(59,7,16,.92));
  pointer-events:none;
}
.bio__name {
  font-family:'Rozha One',serif;
  font-size:clamp(34px,4vw,48px);
  line-height:1;
}
.bio__main {
  flex:1;
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.bio__body {
  flex:1;
  overflow-y:auto;
  padding:clamp(22px,3.4vw,40px);
  display:flex;
  flex-direction:column;
  gap:18px;
}
.accent-gold {
  font-family:Rasa,serif;
  font-style:italic;
  font-size:20px;
  color:#F2C66D;
}
.bio__heading {
  margin:10px 0 0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:24px;
  color:#F2C66D;
}
.bio__text {
  margin:0;
  font-size:17px;
  line-height:1.75;
  color:#F4E6CC;
  text-wrap:pretty;
}
.bio__links {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding-top:8px;
}
.chip-sm {
  border:1px solid rgba(242,198,109,.55);
  color:#F2C66D;
  border-radius:999px;
  padding:9px 16px;
  font-weight:600;
  font-size:14px;
}
.bio__foot {
  padding:14px clamp(22px,3.4vw,40px) calc(14px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(227,166,63,.2);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.text-dim {
  font-size:14px;
  color:#CDB89A;
}
.bio__cta {
  background:#E3A63F;
  color:#3B0710;
  border:0;
  border-radius:999px;
  padding:13px 24px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
}
.bio__close {
  position:absolute;
  top:14px;
  right:14px;
  width:44px;
  height:44px;
  border-radius:999px;
  border:0;
  background:rgba(59,7,16,.8);
  color:#F2C66D;
  font-size:22px;
  cursor:pointer;
}
.terms {
  width:100%;
  max-width:1040px;
  background:#FBF3E4;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
  animation:frUp .35s ease both;
  height:min(86vh,820px);
  border-radius:24px;
}
.terms__head {
  background:#5A0F1C;
  color:#FBF3E4;
  padding:18px clamp(18px,3vw,28px);
  display:flex;
  flex-direction:column;
  gap:14px;
  background-image:radial-gradient(rgba(227,166,63,.13) 1.4px,transparent 1.6px);
  background-size:18px 18px;
}
.terms__head-row {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.terms__gu {
  font-family:Rasa,serif;
  font-style:italic;
  font-size:18px;
  color:#F2C66D;
}
.terms__title {
  font-family:'Rozha One',serif;
  font-size:clamp(26px,3vw,34px);
  line-height:1.05;
}
.terms__meta {
  font-size:14px;
  color:#CDB89A;
  margin-top:4px;
}
.btn-close {
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(242,198,109,.45);
  background:transparent;
  color:#F2C66D;
  font-size:22px;
  cursor:pointer;
  flex-shrink:0;
}
.terms__search {
  height:46px;
  border-radius:12px;
  border:1px solid rgba(242,198,109,.4);
  background:rgba(251,243,228,.1);
  color:#FBF3E4;
  padding:0 16px;
  font-size:16px;
  outline:none;
}
.terms__layout {
  flex:1;
  min-height:0;
  display:flex;
}
.terms__nav {
  flex-shrink:0;
  display:flex;
  gap:4px;
  overflow:auto;
  background:#F4E6CC;
  width:250px;
  flex-direction:column;
  padding:16px 12px;
  border-right:1px solid rgba(122,22,39,.15);
}
.terms__nav-item {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  text-align:left;
  border:0;
  border-radius:10px;
  padding:10px 12px;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  background:transparent;
  color:#3B0710;
}
.terms__nav-count {
  font-size:12px;
  opacity:.7;
}
.terms__content {
  flex:1;
  min-width:0;
  overflow-y:auto;
  padding:clamp(18px,3vw,32px);
  display:flex;
  flex-direction:column;
  gap:28px;
}
.stack-sm {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.terms__group-head {
  display:flex;
  align-items:baseline;
  gap:12px;
  padding-bottom:10px;
  border-bottom:2px solid #E3A63F;
}
.terms__group-num {
  font-family:'Rozha One',serif;
  font-size:26px;
  color:#E3A63F;
  line-height:1;
}
.terms__group-title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:24px;
  color:#5A0F1C;
}
.terms__list {
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.terms__item {
  display:grid;
  grid-template-columns:44px 1fr;
  gap:10px;
  font-size:16px;
  line-height:1.6;
  color:#3B0710;
}
.terms__item-num {
  font-weight:700;
  color:#B4441F;
  font-size:14px;
  padding-top:2px;
}
.terms__item-text {
  text-wrap:pretty;
}
.terms__empty {
  padding:40px 0;
  text-align:center;
  color:#6B4A40;
  font-size:16px;
}
.terms__foot {
  padding:12px clamp(18px,3vw,28px) calc(12px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(122,22,39,.18);
  background:#FFFDF8;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.row-sm {
  display:flex;
  gap:8px;
}
.terms__done {
  height:44px;
  border-radius:12px;
  border:0;
  background:#5A0F1C;
  color:#FBF3E4;
  padding:0 20px;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
}
.buy-backdrop {
  position:fixed;
  inset:0;
  z-index:50;
  background:rgba(20,4,8,.7);
  backdrop-filter:blur(4px);
  display:flex;
  justify-content:center;
  align-items:center;
  padding:24px;
}
.buy {
  position:relative;
  width:100%;
  max-width:580px;
  background:#FBF3E4;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
  animation:frUp .35s ease both;
  max-height:88vh;
  border-radius:24px;
}
.buy__head {
  background:#3B0710;
  color:#FBF3E4;
  padding:18px 22px 16px;
  display:flex;
  flex-direction:column;
  gap:14px;
  background-image:radial-gradient(rgba(227,166,63,.12) 1.4px,transparent 1.6px);
  background-size:18px 18px;
}
.buy__head-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.buy__title {
  font-family:'Rozha One',serif;
  font-size:26px;
  line-height:1.1;
}
.steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.field {
  display:flex;
  flex-direction:column;
  gap:6px;
}
.steps__item {
  display:flex;
  flex-direction:column;
  gap:6px;
}
.steps__bar {
  height:4px;
  border-radius:4px;
  background:rgba(251,243,228,.2);
}
.steps__label {
  font-size:13px;
  font-weight:600;
  color:#A89378;
}
.field-label-sm {
  font-size:13px;
  font-weight:600;
}
.buy__body {
  flex:1;
  overflow-y:auto;
  padding:20px 22px;
}
.tier-row {
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:14px;
  background:#FFFDF8;
  border:1.5px solid rgba(122,22,39,.15);
}
.tier-row__info {
  flex:1;
  min-width:0;
}
.tier-row__name {
  font-weight:700;
  font-size:17px;
  color:#3B0710;
}
.tier-row__tag {
  font-weight:500;
  color:#6B4A40;
  font-size:14px;
}
.stepper {
  display:flex;
  align-items:center;
  gap:4px;
  background:#FFFDF8;
  border:1px solid rgba(122,22,39,.2);
  border-radius:999px;
  padding:3px;
}
.stepper__dec {
  width:38px;
  height:38px;
  border-radius:999px;
  border:0;
  background:transparent;
  color:#5A0F1C;
  font-size:20px;
  font-weight:700;
  cursor:pointer;
}
.stepper__qty {
  min-width:22px;
  text-align:center;
  font-weight:700;
  font-size:17px;
}
.stepper__inc {
  width:38px;
  height:38px;
  border-radius:999px;
  border:0;
  background:#5A0F1C;
  color:#FBF3E4;
  font-size:20px;
  font-weight:700;
  cursor:pointer;
}
.buy__limit {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font-size:14px;
  color:#6B4A40;
}
.buy__limit-hit {
  color:#A8321A;
  font-weight:600;
}
/* Order continues into the next phase at its price */
.buy__split-note {
  padding:10px 14px;
  border-radius:12px;
  background:#FBEBC8;
  color:#7A4E08;
  font-size:14px;
  line-height:1.5;
}
.buy__split-confirm {
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 14px;
  border:1.5px solid #E3A63F;
  border-radius:12px;
  background:#FFF6E2;
  font-size:14px;
  line-height:1.5;
  color:#3B0710;
  cursor:pointer;
}
.buy__split-confirm input {
  width:18px;
  height:18px;
  margin-top:2px;
  flex-shrink:0;
  accent-color:#5A0F1C;
}
.verify-box {
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px;
  border-radius:14px;
  background:#FFF6E2;
  border:1.5px solid rgba(227,166,63,.7);
}
.verify-box__head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.field-label {
  font-size:14px;
  font-weight:600;
  color:#3B0710;
}
.required-mark {
  color:#D25B35;
}
.badge-verified {
  font-size:13px;
  font-weight:700;
  color:#2F6B3A;
  background:#E3F0DA;
  border-radius:999px;
  padding:3px 10px;
}
.row-wrap-sm {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.phone-field {
  flex:1 1 200px;
  display:flex;
  align-items:center;
  height:50px;
  border-radius:12px;
  background:#FFFDF8;
  overflow:hidden;
  border:1.5px solid rgba(122,22,39,.22);
}
.phone-field__prefix {
  padding:0 10px 0 14px;
  font-size:17px;
  color:#6B4A40;
  font-weight:600;
  border-right:1px solid rgba(122,22,39,.15);
  height:100%;
  display:flex;
  align-items:center;
}
.phone-field__input {
  flex:1;
  min-width:0;
  height:100%;
  border:0;
  background:transparent;
  padding:0 12px;
  font-size:17px;
  color:#2B0A10;
  outline:none;
}
.verify-box__send {
  height:50px;
  border-radius:12px;
  border:0;
  color:#FBF3E4;
  padding:0 18px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
  background:#5A0F1C;
}
.hint {
  font-size:13px;
  color:#6B4A40;
}
.otp__prompt {
  font-size:15px;
  color:#3B0710;
  line-height:1.5;
}
.link-underline {
  background:transparent;
  border:0;
  padding:0;
  color:#7A1627;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  text-decoration:underline;
}
.otp__boxes {
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
  max-width:360px;
}
.otp__box {
  height:54px;
  border-radius:12px;
  background:#FFFDF8;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:700;
  color:#3B0710;
  border:1.5px solid rgba(122,22,39,.22);
}
.otp__input {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  font-size:16px;
  cursor:text;
}
.field-error {
  font-size:13px;
  color:#A8321A;
  font-weight:600;
}
.otp__footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font-size:14px;
}
.link-btn-sm {
  background:transparent;
  border:0;
  padding:0;
  color:#7A1627;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
}
.text-soft {
  color:#6B4A40;
}
.otp__demo {
  color:#A89378;
  font-size:13px;
}
.verify-box__done {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.verify-box__number {
  font-size:18px;
  font-weight:700;
  color:#2B0A10;
}
.input {
  height:50px;
  border-radius:12px;
  background:#FFFDF8;
  padding:0 14px;
  font-size:17px;
  color:#2B0A10;
  outline:none;
  border:1.5px solid rgba(122,22,39,.22);
}
.buy__note {
  font-size:14px;
  color:#6B4A40;
  line-height:1.5;
}
.review-card {
  background:#FFFDF8;
  border:1.5px solid rgba(122,22,39,.18);
  border-radius:16px;
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.row-between {
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.review-card__label {
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#6B4A40;
  font-weight:700;
}
.review-card__edit {
  background:transparent;
  border:0;
  color:#7A1627;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
}
.review-line {
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:16px;
}
.text-semibold {
  font-weight:600;
}
.review-card__subtotals {
  border-top:1px dashed rgba(122,22,39,.25);
  padding-top:10px;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:15px;
  color:#6B4A40;
}
.row-spread {
  display:flex;
  justify-content:space-between;
}
.review-card__total {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:20px;
  font-weight:700;
  color:#3B0710;
}
/* Coupon code (review step) */
.review-card__discount {
  color:#2F6B3A;
  font-weight:600;
}
.coupon {
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px;
  border-radius:14px;
  border:1.5px dashed rgba(122,22,39,.3);
  background:#FFFDF8;
}
.coupon__input {
  flex:1 1 180px;
  min-width:0;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.coupon__apply {
  height:50px;
  border-radius:12px;
  border:1.5px solid #5A0F1C;
  background:transparent;
  color:#5A0F1C;
  padding:0 20px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
}
.coupon__apply:disabled {
  border-color:#B9A48C;
  color:#B9A48C;
  cursor:not-allowed;
}
.coupon__applied {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font-size:15px;
  color:#2F6B3A;
}
.review-card-sm {
  background:#FFFDF8;
  border:1.5px solid rgba(122,22,39,.18);
  border-radius:16px;
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.buy__legal {
  font-size:13px;
  color:#6B4A40;
  line-height:1.5;
}
/* "I agree to the Terms & conditions" (required before Pay): card like the phase-price box */
.buy__terms {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start;
  padding:14px 16px;
  border:1.5px solid rgba(122,22,39,.15);
  border-radius:12px;
  background:#FFFDF8;
  transition:border-color .15s, background-color .15s;
}
.buy__terms:has(input:checked) {
  border-color:#E3A63F;
  background:#FFF6E2;
}
.buy__terms input {
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:#5A0F1C;
  cursor:pointer;
}
.buy__terms-text {
  font-size:14px;
  line-height:1.5;
  color:#3B0710;
}
.buy__terms-text label {
  cursor:pointer;
}
.buy__terms-link {
  display:inline;
  padding:0;
  border:0;
  background:none;
  font:inherit;
  font-weight:700;
  color:#7A1627;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
}
.buy__terms-link:hover {
  color:#A8321A;
}
.buy__terms-note {
  display:block;
  margin-top:2px;
  font-size:13px;
  color:#6B4A40;
}
.buy__secure {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
}
.buy__fail-demo {
  background:transparent;
  border:0;
  padding:0;
  color:#7A1627;
  text-decoration:underline;
  font-size:13px;
  cursor:pointer;
}
.buy__foot {
  border-top:1px solid rgba(122,22,39,.18);
  padding:14px 22px calc(14px + env(safe-area-inset-bottom));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:#FFFDF8;
}
.buy__foot-total {
  line-height:1.2;
}
.buy__foot-actions {
  display:flex;
  gap:8px;
  align-items:center;
}
.btn-back {
  height:50px;
  padding:0 16px;
  border-radius:12px;
  border:1.5px solid rgba(122,22,39,.3);
  background:transparent;
  color:#5A0F1C;
  font-weight:700;
  font-size:16px;
  cursor:pointer;
}
.btn-next {
  height:50px;
  padding:0 22px;
  border-radius:12px;
  border:0;
  color:#FBF3E4;
  font-weight:700;
  font-size:16px;
  cursor:pointer;
  white-space:nowrap;
  background:#5A0F1C;
}
.paying {
  position:absolute;
  inset:0;
  background:rgba(251,243,228,.96);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  text-align:center;
  padding:24px;
}
.spinner {
  width:52px;
  height:52px;
  border-radius:999px;
  border:4px solid #F4E6CC;
  border-top-color:#5A0F1C;
  animation:frSpin .8s linear infinite;
}
.paying__msg {
  font-family:'Rozha One',serif;
  font-size:24px;
  color:#3B0710;
}
.account-header {
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(59,7,16,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(227,166,63,.25);
}
.account-header__inner {
  max-width:1100px;
  margin:0 auto;
  padding:10px clamp(16px,4vw,32px);
  display:flex;
  align-items:center;
  gap:14px;
}
.account-header__brand {
  display:flex;
  align-items:center;
}
.account-header__logo {
  height:46px;
  width:auto;
  display:block;
}
.account-header__back {
  margin-left:auto;
  color:#F4E6CC;
  font-size:15px;
  font-weight:600;
  white-space:nowrap;
}
.account-header__logout {
  border:1px solid rgba(242,198,109,.5);
  background:transparent;
  color:#F2C66D;
  border-radius:999px;
  padding:9px 16px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.login {
  position:relative;
  overflow:hidden;
  flex:1;
  background:#3B0710;
  background-image:radial-gradient(ellipse at 20% 30%,rgba(122,22,39,.9),transparent 60%),radial-gradient(rgba(227,166,63,.13) 1.4px,transparent 1.6px);
  background-size:auto,22px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(28px,6vw,80px) 16px;
}
.login__rings {
  position:absolute;
  left:clamp(-260px,-12vw,-80px);
  top:50%;
  transform:translateY(-50%);
  opacity:.55;
  pointer-events:none;
}
@media (max-width:899px){.login__rings{display:none}}
.login__inner {
  position:relative;
  width:100%;
  max-width:440px;
  display:flex;
  flex-direction:column;
  gap:24px;
  animation:frUp .5s ease both;
}
.login__head {
  text-align:center;
  color:#FBF3E4;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.login__title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:clamp(38px,6vw,64px);
  line-height:1.02;
}
.login__lead {
  margin:0;
  font-size:16px;
  line-height:1.55;
  color:#F4E6CC;
}
.login__perks {
  list-style:none;
  margin:10px 0 0;
  padding:0;
  display:none;
  flex-direction:column;
  gap:14px;
}
.login__perk {
  display:flex;
  align-items:center;
  gap:14px;
  font-size:16px;
  color:#F4E6CC;
}
.login__perk b {
  color:#F2C66D;
}
.login__perk-icon {
  flex:0 0 38px;
  height:38px;
  border-radius:12px;
  border:1px solid rgba(242,198,109,.4);
  background:rgba(227,166,63,.1);
  color:#F2C66D;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  font-weight:700;
}
.login__card {
  background:#FBF3E4;
  border-radius:22px;
  padding:clamp(22px,4vw,32px);
  display:flex;
  flex-direction:column;
  gap:16px;
  box-shadow:0 30px 70px rgba(0,0,0,.4);
  border-top:4px solid #E3A63F;
}
.login__card-head {
  display:flex;
  flex-direction:column;
  gap:2px;
}
.login__step {
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  color:#B4441F;
}
.login__card-title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:28px;
  line-height:1.1;
  color:#3B0710;
}
.login__secure {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding-top:14px;
  border-top:1px dashed rgba(122,22,39,.25);
  font-size:13px;
  color:#6B4A40;
  text-align:center;
}
@media (min-width:900px){
  .login__inner {
    max-width:1040px;
    display:grid;
    grid-template-columns:1fr 420px;
    align-items:center;
    gap:clamp(40px,6vw,88px);
  }
  .login__head {
    text-align:left;
  }
  .login__lead {
    font-size:18px;
    max-width:440px;
  }
  .login__perks {
    display:flex;
  }
}
.stack-xs {
  display:flex;
  flex-direction:column;
  gap:8px;
}
.login__label {
  font-size:14px;
  font-weight:600;
}
.phone-field-lg {
  display:flex;
  align-items:center;
  height:54px;
  border-radius:12px;
  background:#FFFDF8;
  overflow:hidden;
  border:1.5px solid rgba(122,22,39,.22);
}
.phone-field-lg__prefix {
  padding:0 10px 0 14px;
  font-size:18px;
  color:#6B4A40;
  font-weight:600;
  border-right:1px solid rgba(122,22,39,.15);
  height:100%;
  display:flex;
  align-items:center;
}
.phone-field-lg__input {
  flex:1;
  min-width:0;
  height:100%;
  border:0;
  background:transparent;
  padding:0 12px;
  font-size:18px;
  outline:none;
}
.login__send {
  height:54px;
  border-radius:12px;
  border:0;
  color:#FBF3E4;
  font-size:17px;
  font-weight:700;
  cursor:pointer;
  background:#5A0F1C;
}
.login__hint {
  font-size:13px;
  color:#6B4A40;
  text-align:center;
}
.login__prompt {
  font-size:15px;
  line-height:1.5;
}
.otp__boxes-lg {
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
}
.otp__box-lg {
  height:58px;
  border-radius:12px;
  background:#FFFDF8;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  font-weight:700;
  color:#3B0710;
  border:1.5px solid rgba(122,22,39,.22);
}
.login__stay {
  color:#6B4A40;
  font-size:13px;
}
.login__none {
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:center;
  text-align:center;
  padding:6px 0;
}
.login__none-icon {
  width:60px;
  height:60px;
  border-radius:999px;
  background:#F4E6CC;
  color:#7A1627;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Rozha One',serif;
  font-size:28px;
}
.login__none-title {
  font-family:'Rozha One',serif;
  font-size:26px;
  color:#3B0710;
  line-height:1.1;
}
.login__none-text {
  margin:0;
  font-size:15px;
  color:#6B4A40;
  line-height:1.55;
}
.login__buy {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  height:52px;
  border-radius:12px;
  background:#E3A63F;
  color:#3B0710;
  font-size:17px;
  font-weight:700;
}
.link-btn {
  background:transparent;
  border:0;
  color:#7A1627;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
}
.login__demo {
  text-align:center;
  font-size:13px;
  color:#A89378;
}
.dashboard {
  flex:1;
  width:100%;
  max-width:1160px;
  margin:0 auto;
  padding:clamp(30px,5vw,64px) clamp(16px,4vw,32px);
  display:flex;
  flex-direction:column;
  gap:32px;
  animation:frUp .5s ease both;
}
.dashboard__head {
  position:relative;
  padding:4px 0 24px;
  border-bottom:1px solid rgba(122,22,39,.16);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
}
.dashboard__greeting {
  font-family:Rasa,serif;
  font-style:italic;
  font-size:22px;
  color:#D25B35;
}
.dashboard__title {
  margin:0;
  font-family:'Rozha One',serif;
  font-weight:400;
  font-size:clamp(38px,5vw,56px);
  line-height:1;
  color:#5A0F1C;
}
.dashboard__meta {
  font-size:16px;
  color:#6B4A40;
  margin-top:8px;
}
.dashboard__buy {
  background:#5A0F1C;
  color:#FBF3E4;
  border-radius:999px;
  padding:13px 22px;
  font-size:16px;
  font-weight:700;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(59,7,16,.12);
}
.dashboard__grid {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  align-items:flex-start;
}
.dashboard__orders {
  display:flex;
  flex-direction:column;
  gap:18px;
  flex:2 1 520px;
  min-width:0;
}
.order-card {
  background:#FFFDF8;
  border:1.5px solid rgba(122,22,39,.14);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(59,7,16,.06);
}
.order-card__head {
  background:#3B0710;
  color:#FBF3E4;
  padding:18px 22px;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  background-image:radial-gradient(rgba(227,166,63,.1) 1.4px,transparent 1.6px);
  background-size:18px 18px;
}
.order-card__booking {
  min-width:170px;
}
.order-card__label {
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#F2C66D;
  font-weight:700;
}
.order-card__meta {
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  font-size:14px;
}
.order-card__meta-label {
  color:#CDB89A;
}
.order-card__download {
  background:#E3A63F;
  color:#3B0710;
  border:0;
  border-radius:999px;
  padding:10px 18px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.order-card__passes {
  display:flex;
  flex-direction:column;
  padding:5px 22px 8px;
}
.order-card__pass {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:15px 0;
  border-bottom:1px dashed rgba(122,22,39,.18);
  flex-wrap:wrap;
}
.order-card__pass:last-child {
  border-bottom:0;
}
.order-card__qr {
  width:44px;
  height:44px;
  border-radius:10px;
  flex-shrink:0;
  background:#3B0710;
  background-image:linear-gradient(90deg,#FBF3E4 2px,transparent 2px),linear-gradient(#FBF3E4 2px,transparent 2px);
  background-size:7px 7px;
  border:3px solid #3B0710;
}
.order-card__pass-text {
  min-width:0;
}
.profile {
  flex:1 1 300px;
  min-width:0;
  background:#FFFDF8;
  border:1.5px solid rgba(122,22,39,.14);
  border-radius:16px;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:16px;
  box-shadow:0 12px 30px rgba(59,7,16,.05);
}
.profile__title {
  font-family:'Rozha One',serif;
  font-size:24px;
  color:#5A0F1C;
  margin:0;
  font-weight:400;
}
.profile__details {
  display:flex;
  flex-direction:column;
  gap:12px;
  font-size:15px;
}
.profile__email {
  font-weight:600;
  word-break:break-all;
}
.profile__input {
  height:46px;
  border-radius:10px;
  border:1.5px solid rgba(122,22,39,.22);
  background:#FBF3E4;
  padding:0 12px;
  font-size:16px;
  outline:none;
}
.profile__actions {
  display:flex;
  gap:8px;
  justify-content:flex-end;
}
.profile__cancel {
  height:42px;
  border-radius:10px;
  border:1.5px solid rgba(122,22,39,.25);
  background:transparent;
  color:#5A0F1C;
  padding:0 14px;
  font-weight:700;
  cursor:pointer;
}
.profile__save {
  height:42px;
  border-radius:10px;
  border:0;
  background:#5A0F1C;
  color:#FBF3E4;
  padding:0 16px;
  font-weight:700;
  cursor:pointer;
}
.profile__phone {
  border-top:1px dashed rgba(122,22,39,.2);
  padding-top:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.profile__phone-row {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}
.profile__phone-number {
  font-weight:700;
  font-size:17px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.badge-verified-sm {
  font-size:12px;
  font-weight:700;
  color:#2F6B3A;
  background:#E3F0DA;
  border-radius:999px;
  padding:2px 8px;
}
.profile__change {
  background:transparent;
  border:0;
  color:#7A1627;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  white-space:nowrap;
}
.profile__panel {
  display:flex;
  flex-direction:column;
  gap:8px;
  background:#FFF6E2;
  border-radius:12px;
  padding:12px;
}
.phone-field-sm {
  flex:1;
  display:flex;
  align-items:center;
  height:44px;
  border-radius:10px;
  border:1.5px solid rgba(122,22,39,.22);
  background:#FFFDF8;
  overflow:hidden;
}
.phone-field-sm__prefix {
  padding:0 8px 0 10px;
  color:#6B4A40;
  font-weight:600;
}
.phone-field-sm__input {
  flex:1;
  min-width:0;
  border:0;
  background:transparent;
  font-size:16px;
  outline:none;
}
.profile__send {
  height:44px;
  border-radius:10px;
  border:0;
  color:#FBF3E4;
  padding:0 12px;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
  white-space:nowrap;
  background:#5A0F1C;
}
.profile__panel-cancel {
  align-self:flex-start;
  background:transparent;
  border:0;
  padding:0;
  color:#7A1627;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
}
.profile__sent-to {
  font-size:14px;
}
.profile__code {
  height:46px;
  border-radius:10px;
  background:#FFFDF8;
  padding:0 12px;
  font-size:20px;
  letter-spacing:.4em;
  font-weight:700;
  outline:none;
  border:1.5px solid rgba(122,22,39,.22);
}
.account-footer {
  background:#2B0A10;
  color:#A89378;
  font-size:14px;
  padding:18px clamp(16px,4vw,32px);
  text-align:center;
}
.toast {
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  z-index:80;
  background:#2B0A10;
  color:#FBF3E4;
  border-radius:12px;
  padding:12px 18px;
  font-size:15px;
  font-weight:600;
  box-shadow:0 10px 30px rgba(0,0,0,.3);
  display:flex;
  gap:10px;
  align-items:center;
  max-width:calc(100% - 32px);
  animation:frUp .25s ease both;
}
.toast__icon {
  color:#E3A63F;
}
.doc-toolbar {
  background:#3B0710;
  padding:10px 16px;
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.doc-toolbar__back {
  color:#F4E6CC;
  font-size:14px;
  font-weight:600;
}
.doc-toolbar__spacer {
  flex:0 1 40px;
}
.doc-toolbar__print {
  background:#E3A63F;
  color:#3B0710;
  border:0;
  border-radius:999px;
  padding:9px 18px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}
.invoice {
  height:100%;
  padding:36px 40px 30px;
  display:flex;
  flex-direction:column;
  gap:18px;
  font-size:11.5pt;
  font-variant-numeric:tabular-nums;
}
.invoice__head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding-bottom:14px;
  border-bottom:3px solid #5A0F1C;
}
.invoice__logo {
  width:170px;
  height:auto;
}
.invoice__title-block {
  text-align:right;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.invoice__title {
  font-family:'Rozha One',serif;
  font-size:28pt;
  line-height:1;
  color:#5A0F1C;
  margin:0;
  font-weight:400;
}
.invoice__subtitle {
  font-size:9.5pt;
  color:#6B4A40;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
}
.invoice__parties {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:24px;
}
.invoice__party {
  display:flex;
  flex-direction:column;
  gap:3px;
  line-height:1.45;
}
.invoice__label {
  font-size:9pt;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  color:#D25B35;
}
.invoice__party-name {
  font-weight:700;
  font-size:13pt;
}
.invoice__meta {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 14px;
  align-content:start;
  background:#FBF3E4;
  border-radius:8px;
  padding:12px 14px;
  font-size:10.5pt;
}
.invoice__billing {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:24px;
  border-top:1px solid rgba(122,22,39,.18);
  padding-top:14px;
}
.text-bold {
  font-weight:700;
}
.invoice__items {
  width:100%;
  border-collapse:collapse;
  font-size:10pt;
}
.invoice__items-head {
  background:#5A0F1C;
  color:#FBF3E4;
}
.invoice__th {
  padding:8px 6px;
  text-align:left;
  font-weight:600;
}
.invoice__th-num {
  padding:8px 6px;
  text-align:right;
  font-weight:600;
}
.invoice__row {
  border-bottom:1px solid rgba(122,22,39,.15);
}
.invoice__td {
  padding:8px 6px;
  vertical-align:top;
}
.invoice__td-sub {
  font-size:9pt;
  color:#6B4A40;
}
.invoice__td-num {
  padding:8px 6px;
  text-align:right;
  vertical-align:top;
}
.invoice__td-amount {
  padding:8px 6px;
  text-align:right;
  vertical-align:top;
  font-weight:600;
}
.invoice__summary {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:24px;
  align-items:start;
}
.invoice__words {
  background:#FBF3E4;
  border-radius:8px;
  padding:10px 12px;
  line-height:1.45;
}
.invoice__words-label {
  font-size:9pt;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  color:#6B4A40;
}
.invoice__tax {
  width:100%;
  border-collapse:collapse;
  font-size:9.5pt;
}
.invoice__tax-head {
  border-bottom:1.5px solid #5A0F1C;
}
.invoice__tax-th {
  padding:5px 4px;
  text-align:left;
}
.invoice__tax-num {
  padding:5px 4px;
  text-align:right;
}
.invoice__tax-row {
  border-bottom:1px solid rgba(122,22,39,.12);
}
.invoice__tax-td {
  padding:5px 4px;
}
.invoice__totals {
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:11pt;
}
.invoice__grand {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  border-top:2px solid #5A0F1C;
  padding-top:8px;
  margin-top:4px;
}
.invoice__grand-amount {
  font-family:'Rozha One',serif;
  font-size:20pt;
  color:#5A0F1C;
}
.invoice__foot {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:24px;
  align-items:end;
  border-top:1px solid rgba(122,22,39,.18);
  padding-top:14px;
}
.invoice__stamp {
  border:2.5px solid #2F6B3A;
  color:#2F6B3A;
  border-radius:8px;
  padding:4px 12px;
  font-weight:700;
  font-size:15pt;
  letter-spacing:.14em;
  transform:rotate(-6deg);
}
.invoice__payment {
  font-size:10pt;
  line-height:1.5;
}
.invoice__sign {
  text-align:right;
  display:flex;
  flex-direction:column;
  gap:26px;
  font-size:10pt;
}
.invoice__sign-line {
  border-top:1px solid #2B0A10;
  padding-top:4px;
  align-self:flex-end;
  min-width:180px;
}
.invoice__declaration {
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:9pt;
  color:#6B4A40;
  line-height:1.45;
  border-top:1px solid rgba(122,22,39,.18);
  padding-top:10px;
}
.text-ink {
  color:#2B0A10;
}
.email {
  padding:32px 12px;
  display:flex;
  justify-content:center;
}
.email__card {
  width:100%;
  max-width:600px;
  background:#FFFFFF;
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(59,7,16,.12);
}
.email__header {
  padding:28px 32px 20px;
  text-align:center;
  border-bottom:4px solid #E3A63F;
}
.email__logo {
  width:220px;
  height:auto;
}
.email__hero {
  background:#5A0F1C;
  color:#FBF3E4;
  padding:30px 32px;
  text-align:center;
}
.email__title {
  font-family:'Rozha One',serif;
  font-size:34px;
  line-height:1.1;
  margin-top:6px;
  margin:0;
  font-weight:400;
}
.email__lead {
  font-size:16px;
  color:#F4E6CC;
  margin-top:10px;
}
.email__body {
  padding:28px 32px;
  display:flex;
  flex-direction:column;
  gap:22px;
}
.email__summary {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  background:#FBF3E4;
  border-radius:8px;
  padding:18px 20px;
}
.email__label {
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#6B4A40;
  font-weight:700;
}
.email__value {
  font-size:18px;
  font-weight:700;
}
.email__heading {
  font-family:'Rozha One',serif;
  font-size:22px;
  color:#5A0F1C;
  margin:0;
  font-weight:400;
}
.email__text {
  font-size:16px;
  line-height:1.6;
}
.email__strong {
  font-weight:700;
  font-size:15px;
}
.email__note {
  font-size:15px;
  line-height:1.7;
  color:#3B0710;
}
.email__attachment {
  display:flex;
  align-items:center;
  gap:14px;
  border:1.5px dashed #E3A63F;
  border-radius:8px;
  padding:14px 16px;
}
.email__pdf-icon {
  width:40px;
  height:48px;
  background:#D25B35;
  color:#FFF;
  border-radius:4px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
}
.email__attachment-info {
  flex:1;
}
.email__cta-row {
  text-align:center;
}
.email__cta {
  display:inline-block;
  background:#E3A63F;
  color:#3B0710;
  font-weight:700;
  font-size:16px;
  padding:14px 28px;
  border-radius:999px;
}
.email__footer {
  background:#2B0A10;
  color:#CDB89A;
  padding:22px 32px;
  text-align:center;
  font-size:13px;
  line-height:1.6;
}

/* Hover states */
.hover-gold-text:hover {
  color:#F2C66D !important;
}
.hover-gold-tint:hover {
  background:rgba(242,198,109,.12) !important;
  color:#F2C66D !important;
}
.hover-gold-light:hover {
  background:#F2C66D !important;
}
.hover-maroon-light:hover {
  background:#7A1627 !important;
}
.hover-border-maroon:hover {
  border-color:#7A1627 !important;
}
.hover-cream-text:hover {
  color:#FBF3E4 !important;
}
.hover-maroon-cream:hover {
  background:#7A1627 !important;
  color:#FBF3E4 !important;
}
.hover-maroon:hover {
  background:#5A0F1C !important;
}
.hover-gold-ink:hover {
  background:#F2C66D !important;
  color:#3B0710 !important;
}
.hover-sand:hover {
  background:#F4E6CC !important;
}
a.site-header__cta:hover,a.email__cta:hover {
  color:#3B0710;
}
a.btn-maroon:hover {
  color:#FBF3E4;
}
a.btn-outline-maroon:hover {
  color:#5A0F1C;
}
a.btn-link-cream:hover {
  color:#F2C66D;
}
.account-header__logout:hover {
  color:#F2C66D;
  background:rgba(242,198,109,.12);
}

/* States & responsive rules
   JS toggles `hidden` and these classes; layout switches at 900px (tablet) and 640px (phone). */
.contents{display:contents}

/* Keyboard focus */
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #E3A63F !important;outline-offset:2px}
.phone-field__input:focus-visible,.phone-field-lg__input:focus-visible,.phone-field-sm__input:focus-visible,.otp__input:focus-visible{outline:none !important}
.phone-field:focus-within,.phone-field-lg:focus-within,.phone-field-sm:focus-within{border-color:#E3A63F !important;box-shadow:0 0 0 3px rgba(227,166,63,.35)}
.otp__boxes:focus-within .otp__box.is-active,.otp__boxes-lg:focus-within .otp__box-lg.is-active{box-shadow:0 0 0 3px rgba(227,166,63,.35)}

/* Scroll lock while a popup is open */
body.is-modal-open{overflow:hidden}

/* Header: desktop nav vs mobile menu */
.site-header__menu-btn .menu-icon-close{display:none}
.site-header__menu-btn[aria-expanded="true"] .menu-icon-open{display:none}
.site-header__menu-btn[aria-expanded="true"] .menu-icon-close{display:inline}
@media (max-width:899px){.site-nav{display:none}}
@media (min-width:900px){.site-header__menu-btn,.mobile-nav{display:none !important}}

/* Hero rings */
.hero-rings{position:relative;width:640px;height:640px}
.hero-ring{position:absolute;inset:0;margin:auto;border-radius:50%;animation:frSpin 90s linear infinite}
.hero-ring:nth-child(1){width:100%;height:100%;border:2px dotted rgba(227,166,63,.35)}
.hero-ring:nth-child(2){width:82%;height:82%;border:1px dashed rgba(227,166,63,.28);animation-name:frSpinRev;animation-duration:70s}
.hero-ring:nth-child(3){width:64%;height:64%;border:6px dotted rgba(210,91,53,.35);animation-duration:55s}
.hero-ring:nth-child(4){width:46%;height:46%;border:1px solid rgba(227,166,63,.22);animation-name:frSpinRev;animation-duration:40s}
@media (max-width:639px){.hero-rings{width:420px;height:420px}}

/* Marquee */
.marquee__track{display:flex;width:max-content;animation:frMarquee 40s linear infinite}
.marquee__item{display:flex;align-items:center;gap:28px;padding-right:28px;font-family:'Rozha One',serif;font-size:26px;white-space:nowrap}
.marquee__star{color:#7A1627;font-size:18px}

/* Sales state: <body data-sales="live|paused"> */
.phase-badge{background:#E3F0DA;color:#2F6B3A}
.phase-badge .phase-badge__dot{background:#2F6B3A}
[data-sales="paused"] .phase-badge{background:#FBEBC8;color:#7A4E08}
[data-sales="paused"] .phase-badge .phase-badge__dot{background:#E3A63F}
.phase-badge--paused{background:#FBEBC8;color:#7A4E08}
.phase-badge--paused .phase-badge__dot{background:#E3A63F}
[data-sales="paused"] .when-live,[data-sales="live"] .when-paused{display:none !important}

/* Gallery */
.gallery__item{position:relative;margin:0;border-radius:16px;overflow:hidden;background:#EAD9BA;cursor:zoom-in}
.gallery__item--tall{grid-row:span 2}
.gallery__item--wide{grid-column:span 2}
@media (min-width:900px){.gallery__grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px}}
.gallery__item:hover .gallery__caption,.gallery__item:focus-within .gallery__caption{opacity:1;transform:none}
@media (hover:none){.gallery__caption{opacity:1;transform:none;font-size:13px;padding:22px 10px 8px}}
.gallery__item img,.artist__photo img,.bio__photo img{display:block;width:100%;height:100%;object-fit:cover}
.bio__photo img{object-position:center top}
.lightbox__stage img{display:block;width:100%;height:100%;object-fit:contain}

/* FAQ icon */
.faq__question .faq__icon::before{content:"+"}
.faq__question[aria-expanded="true"] .faq__icon::before{content:"−"}

/* Popups on tablet and phone */
@media (max-width:899px){
  .bio,.terms__layout{flex-direction:column}
  .bio__media{flex:0 0 34%}
  .terms__nav{width:auto;flex-direction:row;padding:10px 14px;border-right:0;border-bottom:1px solid rgba(122,22,39,.15)}
}
/* Artist popup on desktop: arched portrait like the artist section, name below */
@media (min-width:900px){
  .bio__media{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:40px 32px 32px}
  .bio__photo{position:relative;inset:auto;flex:0 1 auto;min-height:0;aspect-ratio:4 / 5;border-radius:999px 999px 16px 16px;overflow:hidden;background:#3B0710;outline:1.5px solid rgba(227,166,63,.5);outline-offset:8px}
  .bio__caption{position:static;padding:0 4px;background:none}
}
.bio__body{scrollbar-width:thin;scrollbar-color:rgba(227,166,63,.45) transparent}
@media (max-width:639px){
  .modal-backdrop,.buy-backdrop{align-items:flex-end;padding:0}
  .bio,.terms{height:94vh;border-radius:22px 22px 0 0}
  .buy{max-height:94vh;border-radius:22px 22px 0 0}
}
.terms__nav-item.is-active{background:#5A0F1C;color:#FBF3E4}

/* Buy popup */
.steps__item.is-done .steps__bar,.steps__item.is-current .steps__bar{background:#E3A63F}
.steps__item.is-done .steps__label{color:#F4E6CC}
.steps__item.is-current .steps__label{color:#F2C66D}
.tier-row.is-selected{background:#FFF6E2;border-color:#E3A63F}
.stepper__dec:disabled{opacity:.35;cursor:not-allowed}
.verify-box.is-verified{background:#F1F7EC;border-color:#9CC48A}

/* Form states */
.otp__box.is-active,.otp__box-lg.is-active{border-color:#E3A63F}
.otp__box.is-error,.otp__box-lg.is-error,.input.is-error,.profile__code.is-error{border-color:#A8321A}
.pass-card__btn:disabled,.stepper__inc:disabled,.verify-box__send:disabled,.btn-next:disabled,.login__send:disabled,.profile__send:disabled{background:#B9A48C;cursor:not-allowed}

/* Mobile sticky buy bar */
@media (max-width:639px){.sticky-buy{display:flex}.has-sticky .site-footer{padding-bottom:76px}}
body.is-modal-open .sticky-buy{display:none}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}
