@import url('../fonts/fonts.css');
@font-face {
  font-family:'Club Display';
  src:url('bebas-neue-regular.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap
}
:root {
  color-scheme:light;
  --paper:#f8f3e4;
  --ink:#064b6b;
  --accent:#ce301d;
  --rule:#064b6b40;
  --body:'Geist',sans-serif;
  --label:'Jost',sans-serif;
  --display:'Club Display','Arial Narrow','Jost',sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:16px/1.65 var(--body);
  -webkit-font-smoothing:antialiased
}
body::before {
  content:'';
  position:fixed;
  inset:0;
  z-index:20;
  pointer-events:none;
  opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23937b53' filter='url(%23grain)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")
}
body[data-club='villains'] {
  --ink:#f4e9cf;
  --paper:#34133e;
  --accent:#08a4a4;
  --rule:#f4e9cf40
}
body[data-club='monorail'] {
  --ink:#004c38;
  --accent:#004c38;
  --rule:#004c3840
}
img {
  display:block;
  max-width:100%;
  height:auto
}
button,input {
  font:inherit
}
a {
  color:inherit;
  text-underline-offset:4px
}
button,a,input,summary {
  -webkit-tap-highlight-color:transparent
}
:focus-visible {
  outline:3px solid var(--ink);
  outline-offset:5px
}
[hidden] {
  display:none!important
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link {
  position:fixed;
  z-index:30;
  top:8px;
  left:8px;
  padding:12px 20px;
  background:var(--paper);
  transform:translateY(-160%)
}
.skip-link:focus {
  transform:none
}
.shell {
  width:min(1020px,calc(100% - 40px));
  margin-inline:auto
}
/* The opening composition follows the approved mobile poster, including on wide screens. */
.club-header {
  position:absolute;
  z-index:5;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(100%,520px);
  padding:12px 28px
}
.header-inner {
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between
}
.brand {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  width:69px;
  text-decoration:none;
  font:700 15px/.99 var(--display);
  letter-spacing:.065em;
  text-align:center;
  text-transform:uppercase
}
.brand svg {
  width:45px;
  height:39px
}
.brand span {
  display:block;
  max-width:80px
}
.header-links {
  padding-top:11px
}
.club-menu {
  position:relative
}
.club-menu summary {
  list-style:none;
  cursor:pointer;
  width:44px;
  height:44px;
  padding:6px
}
.club-menu summary::-webkit-details-marker {
  display:none
}
.menu-lines,.menu-lines::before,.menu-lines::after {
  display:block;
  width:27px;
  height:2px;
  background:currentColor;
  position:relative;
  border-radius:2px
}
.menu-lines {
  top:8px
}
.menu-lines::before,.menu-lines::after {
  content:'';
  position:absolute
}
.menu-lines::before {
  top:-8px
}
.menu-lines::after {
  top:8px
}
.club-menu nav {
  position:absolute;
  top:42px;
  right:0;
  width:245px;
  padding:12px;
  background:var(--paper);
  border:1px solid var(--ink);
  box-shadow:0 8px 24px #0002;
  font:600 15px/1.4 var(--label)
}
.club-menu nav a {
  display:block;
  padding:12px;
  text-decoration:none
}
.club-menu nav a:hover,.club-menu nav a[aria-current] {
  text-decoration:underline
}
.hero {
  position:relative;
  container-type:inline-size;
  width:min(100%,520px);
  margin:0 auto;
  padding-top:82px;
  overflow:hidden
}
.poster-inner {
  padding-inline:22px
}
.club-heading {
  margin:0
}
.club-heading img {
  width:100%
}
.poster-eyebrow {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0 auto 3px;
  max-width:76%;
  font:700 17px/1.2 var(--display);
  letter-spacing:.22em;
  text-transform:uppercase
}
.poster-eyebrow::before,.poster-eyebrow::after {
  content:'';
  flex:1;
  height:2px;
  background:var(--ink)
}
.breakfast-poster .club-heading {
  margin:0 18px 2px
}
.poster-tagline {
  margin:7px -6px 0;
  text-align:center;
  font:700 clamp(27px,7.8cqw,42px)/1.1 Georgia,serif;
  letter-spacing:-.055em;
  white-space:nowrap
}
.taste-line {
  width:94%;
  margin:0 auto -2px
}
.taste-line img {
  width:100%
}
.coffee-scene {
  width:87%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:-1px auto 5px
}
.coffee-cup {
  position:relative;
  width:56%
}
.coffee-cup>img {
  width:100%
}

.fresh-note {
  font:700 clamp(17px,4.8cqw,25px)/1.18 var(--display);
  letter-spacing:.075em;
  text-transform:uppercase;
  margin:0;
  padding:0 0 11px;
  position:relative
}
.fresh-note::after {
  content:'';
  height:3px;
  position:absolute;
  bottom:0;
  left:0;
  right:25%;
  background:var(--accent);
  transform:rotate(-3deg)
}
.order-ticket {
  position:relative;
  border:3px solid var(--ink);
  border-radius:17px 17px 13px 13px;
  padding:10px 17px 17px;
  margin:0 0 14px
}
.order-ticket::before,.order-ticket::after {
  content:'';
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--paper);
  top:-9px
}
.order-ticket::before {
  left:-10px;
  border-right:3px solid var(--ink);
  transform:rotate(45deg)
}
.order-ticket::after {
  right:-10px;
  border-left:3px solid var(--ink);
  transform:rotate(-45deg)
}
.order-ticket h3 {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 4px;
  padding-bottom:6px;
  border-bottom:1px solid var(--ink);
  font:700 clamp(15px,4.3cqw,22px)/1.3 var(--display);
  letter-spacing:.09em;
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap
}
.order-ticket h3::before,.order-ticket h3::after {
  content:'';
  flex:1;
  height:2px;
  background:currentColor
}
.order-ticket-body {
  display:grid;
  grid-template-columns:62% 38%;
  align-items:center
}
.printed-order {
  padding:0 13px 0 0;
  margin:0;
  list-style:none;
  font:700 clamp(22px,5.8cqw,29px)/1.1 var(--display);
  text-transform:uppercase
}
.printed-order li {
  display:flex;
  white-space:nowrap;
  align-items:center;
  gap:17px;
  padding:7px 0;
  border-bottom:1px solid var(--ink)
}
.printed-order li:last-child {
  border-bottom:0
}
.printed-order li::before {
  content:'';
  display:block;
  flex:none;
  width:23px;
  height:23px;
  border:2px solid var(--ink);
  border-radius:3px
}
.ticket-script {
  border-left:1px solid var(--ink);
  padding:4px 0 4px 12px
}
.ticket-script img {
  width:100%
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-height:52px;
  padding:13px 22px;
  border:1px solid transparent;
  border-radius:11px;
  background:var(--accent);
  color:#fff9ed;
  text-decoration:none;
  cursor:pointer;
  font:700 19px/1.3 var(--display);
  letter-spacing:.055em;
  text-transform:uppercase
}
.button::after {
  content:'\2192';
  font:400 25px/1 Georgia,serif
}
.button:hover {
  filter:brightness(.92)
}
.poster-cta {
  display:flex;
  width:91%;
  margin:0 auto
}
.poster-signoff {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:10px auto 17px;
  max-width:86%;
  font:500 15px/1.4 Georgia,serif;
  letter-spacing:.03em
}
.poster-signoff::before,.poster-signoff::after {
  content:'';
  flex:1;
  height:1px;
  background:currentColor
}
.poster-signoff span {
  white-space:nowrap
}
.checker {
  height:32px;
  background:conic-gradient(var(--ink) 25%,transparent 0 50%,var(--ink) 0 75%,transparent 0) 0 0/32px 32px
}
.villain-poster {
  background:#34133e url('villain-tropics.webp') center top/100% 100% no-repeat;
  padding-bottom:100px
}
.villain-poster .club-heading {
  margin:-8px -5px 0
}
.hero-crown {
  width:80px;
  margin:0 auto 2px
}
.villain-poster .poster-tagline {
  white-space:normal;
  font-size:clamp(27px,7.8cqw,40px);
  letter-spacing:-.035em;
  line-height:1.12;
  margin:3px 0 8px
}
.plot-line {
  text-align:center;
  font:400 clamp(15px,4cqw,21px)/1.35 Georgia,serif;
  margin:8px 0 14px
}
.villain-edge {
  font-size:clamp(14px,3.7cqw,18px);
  line-height:1.45;
  letter-spacing:.03em
}
.villain-edge span {
  display:block
}
.mischief-tag {
  position:relative;
  color:#34133e;
  background:#f4e9cf;
  border:1px solid #f4e9cf;
  clip-path:polygon(4% 9%,42% 9%,44% 4%,47% 0,53% 0,56% 4%,58% 9%,96% 9%,100% 16%,100% 93%,96% 100%,4% 100%,0 93%,0 16%);
  margin:18px 6px 17px;
  padding:39px 18px 17px;
  --rule:#34133e40
}
.mischief-tag::before {
  content:'';
  position:absolute;
  top:14px;
  left:calc(50% - 9px);
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid #34133e;
  background:#34133e;
  box-shadow:0 0 0 3px #bcae90
}
.mischief-tag::after {
  content:'';
  position:absolute;
  inset:38px 13px 13px;
  border:1px solid #34133e;
  pointer-events:none
}
.mischief-tag h3 {
  position:relative;
  z-index:1;
  text-align:center;
  font:700 16px/1.3 var(--display);
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:0;
  padding:7px 0 9px;
  border-bottom:1px solid #34133e
}
.mischief-body {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:63% 37%
}
.mischief-controls {
  display:flex;
  flex-direction:column;
  gap:0!important;
  margin:0!important;
  padding-right:7px
}
.mischief-controls button {
  display:flex;
  align-items:center;
  gap:11px;
  min-height:46px;
  text-align:left;
  border:0!important;
  border-bottom:1px solid #34133e40!important;
  border-radius:0!important;
  padding:9px 0!important;
  font:700 18px/1.2 var(--display)!important;
  text-transform:uppercase;
  white-space:nowrap
}
.mischief-controls button:last-child {
  border-bottom:0!important
}
.mischief-controls button::before {
  content:'';
  width:20px;
  height:20px;
  border:2px solid #34133e;
  border-radius:3px;
  flex:none
}
.mischief-controls button[aria-pressed='true'] {
  color:#34133e!important;
  background:transparent!important
}
.mischief-controls button[aria-pressed='true']::before {
  background:#34133e;
  box-shadow:inset 0 0 0 4px #f4e9cf
}
.mischief-tag :focus-visible {
  outline-color:#34133e;
  outline-offset:1px
}
.tag-message {
  margin:0;
  border-left:1px solid #34133e80;
  padding:35px 4px 0 9px;
  font:italic 19px/1.03 Georgia,serif;
  letter-spacing:-.055em;
  text-align:center;
  background:url('club-palm.webp') right top/80% auto no-repeat
}
.villain-poster .poster-cta {
  width:94%;
  border-color:#f4e9cf;
  color:#fff9ed;
  background:#079b9e
}
.villain-poster .poster-signoff {
  max-width:88%;
  margin-top:13px
}
.monorail-poster .poster-inner {
  padding-inline:18px
}
.monorail-poster .club-heading {
  margin:2px -5px 0
}
.monorail-scene {
  width:calc(100% + 36px);
  max-width:none;
  margin:2px -18px 0
}
.monorail-poster .poster-tagline {
  font-size:clamp(26px,7.4cqw,38px);
  letter-spacing:-.045em;
  margin:8px -4px 6px
}
.monorail-poster .plot-line {
  font-size:clamp(14px,3.9cqw,20px);
  margin:0 -4px 13px
}
.choice-controls.route-controls {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0!important;
  margin:0 0 19px!important
}
.route-controls button {
  position:relative;
  border:0!important;
  padding:31px 6px 4px!important;
  border-radius:0!important;
  text-align:center;
  font:700 15px/1.2 var(--display)!important;
  text-transform:uppercase;
  letter-spacing:.13em
}
.route-controls button::before {
  content:'';
  position:absolute;
  width:19px;
  height:19px;
  top:2px;
  left:calc(50% - 10px);
  border:3px solid var(--ink);
  border-radius:50%;
  background:var(--paper);
  z-index:1
}
.route-controls button::after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:11px;
  height:2px;
  background:var(--ink)
}
.route-controls button:first-child::after {
  left:50%
}
.route-controls button:last-child::after {
  right:50%
}
.route-controls button[aria-pressed='true'] {
  color:var(--ink)!important;
  background:transparent!important
}
.route-controls button[aria-pressed='true']::before {
  background:var(--ink);
  box-shadow:inset 0 0 0 3px var(--paper)
}
.member-pass {
  border:2px solid var(--ink);
  outline:1px solid var(--ink);
  outline-offset:-6px;
  padding:9px 12px 12px;
  position:relative;
  margin:0 1px 15px;
  background:url('club-palm.webp') 10px 38px/80px auto no-repeat
}
.member-pass h3 {
  font:700 17px/1.3 var(--display);
  letter-spacing:.19em;
  text-transform:uppercase;
  text-align:center;
  border-bottom:1px solid var(--ink);
  margin:0 0 8px;
  padding:0 0 6px
}
.member-pass p {
  font:500 15px/1.7 var(--label);
  letter-spacing:.04em;
  text-transform:uppercase;
  margin:0 0 0 26%;
  padding:0 0 2px 13px;
  border-left:1px solid var(--ink)
}
.monorail-poster .poster-cta {
  width:92%
}
.track-signoff {
  height:72px;
  margin-top:-8px;
  background:url('monorail-scene.webp') center 62%/100% auto;
  opacity:.95
}
.monorail-poster .poster-signoff {
  margin-bottom:11px
}
/* The supporting app sections reuse existing product screens and the shared waitlist. */
.section,.signup,.club-footer {
  --label:var(--body)
}
.section {
  padding:48px 0
}
.eyebrow {
  margin:0 0 16px;
  font:850 14px/1.4 var(--label);
  letter-spacing:.12em;
  text-transform:uppercase
}
.section-title {
  max-width:660px;
  margin:0 0 20px;
  font:760 clamp(28px,8.2vw,34px)/1.08 var(--body);
  letter-spacing:-.045em
}
.section-copy {
  max-width:560px;
  margin:0 0 24px;
  font-size:16px
}
.feature {
  border-block:1px solid var(--rule)
}
.feature-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  gap:32px
}
.feature-copy {
  max-width:550px
}
.feature-copy .plan-list {
  margin:24px 0
}
.text-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-block:8px;
  font:650 15px/1.6 var(--label)
}
.screen-figure {
  margin:0;
  justify-self:center;
  max-width:225px
}
.screen-frame {
  padding:7px;
  border:1px solid var(--rule);
  background:#0c1624;
  border-radius:30px;
  overflow:hidden
}
.screen-frame img {
  border-radius:23px
}
.screen-figure figcaption {
  text-align:center;
  font:500 12px/1.5 var(--label);
  margin-top:14px
}
.plan-list {
  list-style:none;
  counter-reset:plan;
  padding:0;
  margin:0
}
.plan-list li {
  counter-increment:plan;
  display:flex;
  gap:16px;
  align-items:baseline;
  padding:15px 0;
  border-bottom:1px solid var(--rule);
  font-weight:500
}
.plan-list li::before {
  content:'0' counter(plan);
  font:600 13px/1.5 var(--label);
  flex-shrink:0
}
.example-note {
  margin:18px 0 0;
  max-width:560px;
  font-size:13px;
  line-height:1.6
}
.example-title {
  margin:0 0 14px;
  font:760 clamp(24px,6.8vw,27px)/1.2 var(--body);
  letter-spacing:-.045em
}
.example-label {
  font:600 12px/1.4 var(--label);
  text-transform:uppercase;
  letter-spacing:.1em
}
.morning-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:24px
}
.morning-aside {
  padding-top:0
}
.ticket {
  padding:24px 18px;
  border:2px solid var(--ink);
  border-radius:12px;
  background:#fffcf34d
}
.ticket-heading {
  display:block;
  justify-content:space-between;
  gap:20px;
  padding-bottom:18px;
  margin-bottom:22px;
  border-bottom:2px solid currentColor
}
.ticket-heading p {
  margin:0
}
.ticket-heading small {
  display:block;
  margin-top:8px;
  font:600 12px/1.4 var(--label)
}
.ticket .choice-controls {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.ticket .choice-controls button {
  padding-inline:10px;
  min-height:48px
}
.choice-controls {
  display:flex;
  gap:8px;
  margin:22px 0;
  flex-wrap:wrap
}
.choice-controls button {
  border:1px solid currentColor;
  border-radius:3px;
  padding:12px 18px;
  min-height:44px;
  background:transparent;
  color:inherit;
  cursor:pointer;
  font:600 15px/1.25 var(--label)
}
.choice-controls button[aria-pressed='true'] {
  background:var(--ink);
  color:var(--paper)
}
.choice-controls button:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.station-head {
  margin-bottom:30px
}
body[data-club='villains'] .feature {
  background:#2b123b
}
.signup {
  padding:48px 0;
  text-align:center
}
.signup .section-title,.signup .section-copy {
  margin-inline:auto
}
.signup .section-copy {
  max-width:510px
}
.club-waitlist {
  max-width:540px;
  margin:26px auto 0;
  text-align:left
}
.club-waitlist label {
  display:block;
  margin-bottom:8px;
  font:650 14px/1.5 var(--label)
}
.email-row {
  display:flex;
  flex-direction:column;
  gap:8px
}
.email-row input {
  min-width:0;
  flex:1;
  width:100%;
  padding:14px;
  border:1px solid var(--ink);
  border-radius:3px;
  background:#fffcf3;
  color:#1b2530;
  font-size:16px;
  min-height:52px
}
.email-row .button {
  white-space:nowrap;
  gap:12px;
  padding:14px 20px;
  font:650 15px/1.3 var(--label);
  text-transform:none;
  letter-spacing:0;
  border-radius:3px
}
.email-row .button::after {
  display:none
}
.section .button,.signup .button {
  font:760 16px/1.3 var(--body);
  letter-spacing:0;
  text-transform:none
}
.signup .button {
  width:100%;
  min-height:52px;
  gap:12px;
  padding-inline:18px;
  text-align:center
}
.signup .button::after {
  flex:none
}
.signup-note {
  font-size:12px;
  line-height:1.6;
  margin:12px 0 0
}
.form-message {
  min-height:25px;
  margin:12px 0 0;
  font-weight:500;
  font-size:14px
}
.form-message.is-error {
  color:#ad2819
}
body[data-club='villains'] .form-message.is-error {
  color:#ffc5a8
}
.club-footer {
  border-top:1px solid var(--rule);
  padding:34px 0 max(34px,env(safe-area-inset-bottom))
}
.footer-top {
  display:flex;
  flex-direction:column;
  gap:24px;
  justify-content:space-between;
  align-items:start
}
.club-footer nav {
  display:flex;
  flex-direction:column;
  gap:0;
  flex-wrap:wrap;
  font:550 14px/1.5 var(--label)
}
.club-footer nav a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-block:10px
}
.footer-fine {
  font-size:12px;
  max-width:790px;
  line-height:1.7;
  margin:25px 0 0
}
.club-footer .legal-links {
  flex-direction:row;
  font-size:12px;
  margin:16px 0 0;
  gap:0 18px
}
body .rdh-analytics-consent button,body .rdh-analytics-preferences {
  min-height:44px
}
@media(min-width:701px) {
  .shell {
    width:min(1020px,calc(100% - 48px))
  }
  .section {
    padding:64px 0
  }
  .feature-layout {
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
    gap:clamp(32px,6vw,80px)
  }
  .morning-layout {
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:clamp(24px,4.5vw,60px)
  }
  .morning-aside {
    padding-top:20px
  }
  .section-title {
    font-size:clamp(31px,3.6vw,45px)
  }
  .section-copy {
    font-size:18px
  }
  .ticket {
    padding:30px
  }
  .ticket-heading {
    display:flex
  }
  .ticket-heading small {
    margin-top:0
  }
  .screen-figure {
    max-width:250px
  }
  .signup {
    padding:68px 0 72px
  }
  .email-row {
    flex-direction:row
  }
  .signup .button {
    width:auto
  }
  .footer-top {
    flex-direction:row;
    gap:32px
  }
  .club-footer nav {
    flex-direction:row;
    gap:20px
  }
}
@media(min-width:800px) {
  .hero {
    border-inline:1px solid var(--rule)
  }
  .section {
    margin-top:24px
  }
  .hero .poster-inner {
    padding-inline:28px
  }
  .monorail-poster .poster-inner {
    padding-inline:18px
  }
}
@media(max-width:360px) {
  .poster-inner {
    padding-inline:16px
  }
  .club-header {
    padding-inline:22px
  }
  .hero {
    padding-top:78px
  }
  .poster-tagline {
    font-size:7.7cqw
  }
  .button {
    font-size:17px;
    padding-inline:15px;
    gap:17px
  }
  .mischief-tag {
    margin-inline:0;
    padding-inline:15px
  }
  .mischief-controls button {
    font-size:16px!important
  }
  .tag-message {
    font-size:17px
  }

}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
}
.brand span {
  white-space:nowrap
}
.club-header .brand {
  width:76px;
  font-size:14px;
  letter-spacing:.025em
}

.order-ticket {
  border:0;
  border-radius:0;
  padding:15px 20px 19px;
  background:url('diner-ticket-frame.svg') center/100% 100% no-repeat
}
.order-ticket::before,.order-ticket::after {
  display:none
}
.tag-message {
  background:none;
  position:relative;
  isolation:isolate;
  padding-top:40px
}
.tag-message::before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  background:url('club-palm.webp') right top/85% auto no-repeat;
  filter:grayscale(1);
  opacity:.18
}
.villain-poster .poster-cta {
  background:#08787d
}
.member-pass {
  border:0;
  outline:0;
  padding:13px 16px 17px;
  background:url('member-pass-frame.svg') center/100% 100% no-repeat
}
.member-pass::before {
  content:'';
  position:absolute;
  left:14px;
  bottom:3px;
  width:78px;
  height:81px;
  background:url('club-palm.webp') center/contain no-repeat
}
.member-pass::after {
  content:'';
  position:absolute;
  right:6px;
  bottom:5px;
  width:77px;
  height:72px;
  background:url('resort-pavilion.svg') bottom/contain no-repeat
}
.member-pass p {
  margin-left:26%;
  font-size:14px;
  max-width:65%;
  line-height:1.8
}
.track-signoff {
  height:74px;
  background:url('monorail-track.webp') center bottom/100% auto no-repeat;
  opacity:1
}
/* Keep consent settings available in the footer without covering the club artwork. */
#rdh-analytics-preferences {
  position:static;
  display:block;
  margin:0 auto 24px;
  border-color:var(--rule);
  background:transparent;
  color:var(--ink);
  box-shadow:none
}

body[data-club='villains'] .button {
  background:#08787d;
}
