/*
Theme Name: S6O9 Child
Description: S6O9 nude yoga event platform theme (Hello Elementor child theme)
Author: Dave Passudetti
Template: hello-elementor
Version: 1.0.0
Text Domain: s6o9-child
*/

/* Add your custom styles here */

/* Emergency guard: prevent homepage pseudo-layers from causing horizontal scroll */
body.s6o9,
html body.s6o9 {
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  body.s6o9,
  html body.s6o9 {
    overflow-x: hidden;
  }
}

/* Kill failed seam vocabulary pass */
.s6o9 #home-sect-wrap_enter::after,
.s6o9 #home-sect-wrap_rules::after,
.s6o9 #home-sect-wrap_events::after,
.s6o9 #home-sect-wrap_rooms::after {
  content: none;
}

body.s6o9,
html body.s6o9 {
  background: var(--base-peach);
}

body.s6o9.elementor-page,
body.s6o9 .site,
body.s6o9 .site-content,
body.s6o9 .elementor-location-single,
body.s6o9 .elementor-location-archive {
  background: var(--base-peach);
}

/* =========================
   Global variables
   ========================= */
:root {
  /* DEFERRED: Value conflict with tokens.css (requires CA decision in Wave 2C)
     tokens.css has: var(--s6o9-canvas) → #F5E6DA
     style.css has: #fdd0bb (current deployed value)
     Removing this declaration would shift 21 sites to different background color. */
  --base-peach: #fdd0bb;

  /* Section-specific (not a design system token) */
  --enter-to-xisition-num: 30vw;

  /* Orphans (cleanup deferred to future wave) */
  --s6o9-font-serif-alt: 'Roboto Slab', serif;
  --s6o9-max-fixed-elem-width: 1400px;

  /* Promoted out of .s6o9-page--events scope so the event card
     (and any future cross-page component) can use them anywhere. */
  --ec-navy-deep: var(--s6o9-events-blue-hover);
}

/* =========================
   Shared section wrapper
   Apply .home-sect-wrap to all section wrappers
   ========================= */
.home-sect-wrap {
  position: relative;
  overflow: visible;
}

/* =========================
   Base text reset
   ========================= */
.s6o9 .elementor-widget-text-editor {
  font-size: inherit;
}

/* =========================
   Hero
   ========================= */
#home-sect-wrap_hero {
  background-size: cover;
  background-position: left 42%;
}

@media (min-aspect-ratio: 7/5) {
  #home-sect-wrap_hero {
    background-position-y: 40%;
  }
}

@media (min-aspect-ratio: 8/5) {
  #home-sect-wrap_hero {
    background-position-y: 38%;
  }
}

/* =========================
   Philosophy section
   ========================= */
#home-sect-wrap_philoso::before {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover, contaiin;
  background-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(to top, black, transparent);
  mask-image: linear-gradient(
    0deg,
    rgba(0, 0, 0, 1) 86%,
    rgba(0, 0, 0, 0) 100%
  );

  background-size:
    100% 100%,
    100% auto;
  background-position:
    center center,
    center top;
  background-repeat: no-repeat, repeat-x;
  background-blend-mode: normal, normal;
  background:
    linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0) 0%,
      rgba(247, 191, 126, 0.28) 10%,
      rgba(247, 191, 126, 0.62) 20%,
      rgba(242, 168, 105, 0.95) 36%,
      rgba(242, 168, 105, 1) 56%,
      rgba(245, 178, 125, 0.55) 76%,
      rgba(253, 208, 187, 0) 100%
    ),
    url('https://staging.station6over9.com/wp-content/uploads/2026/05/extra-grass.jpg');
  background-repeat: no-repeat, no-repeat;
}

/* Original 25px multiply ::after removed — replaced by seam block below. */

#home-philoso-overlay {
  --overwide: max(0px, calc(100vw - 1.4 * 100vh));
  background-size: cover;
  background-position: 35vw 8vh;
  background-size: 70%;
  margin-top: clamp(-180px, calc(-180px + var(--overwide) * 0.18), -48px);
  padding-left: 5em;
  font-size: 1vw;
  z-index: 10;
}

#home-philoso-overlay::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(
    circle at bottom right,
    rgba(0, 0, 0, 0.9) 0%,
    rgba(0, 0, 0, 0) 40%
  );
}

/* ChatGPT seam block removed — replaced below. */

/* ============================================================
   HOME — _philoso → _enter SEAM
   ------------------------------------------------------------
   Saturated peach (philoso) → lighter peach (enter) handoff
   inside an 80px band that hangs into _enter. The band carries
   the color transition AND a centered fold rule with sunset
   glow above + ambient lift below. No hard edge anywhere.
   Single ::after on _philoso owns the entire seam.
   ============================================================ */

.s6o9 #home-sect-wrap_philoso {
  position: relative;
  overflow: visible;
}

/* ============================================================
   HOME — ATMOSPHERIC SPINE
   Scope: homepage wrappers only. Hero + Philoso remain locked.
   Model: constant peach floor, visible weather layers above it.
   ============================================================ */

.s6o9 .home-sect-wrap {
  position: relative;
  overflow: visible;
  isolation: isolate;
}

/* .s6o9 #home-sect-wrap_philoso .s6o9-seam {
  background: linear-gradient(
    0deg,
    rgba(233, 168, 141, 1) 0%,
    rgba(236, 174, 148, 1) 6.26%,
    rgba(244, 193, 169, 1) 29.2%,
    rgba(240, 183, 155, 1) 47.32%,
    rgba(236, 173, 142, 1) 70.47%,
    rgba(232, 161, 126, 0) 100%
  );
  height: 180px;
} */
/*
.s6o9 #home-sect-wrap_philoso .s6o9-seam::after {
  background: linear-gradient(
    0deg,
    rgba(233, 168, 141, 1) 0%,
    rgba(236, 174, 148, 1) 6.26%,
    rgba(244, 193, 169, 1) 29.2%,
    rgba(240, 183, 155, 1) 47.32%,
    rgba(236, 173, 142, 1) 70.47%,
    rgba(232, 161, 126, 0) 100%
  );
  height: 100%;
} */

/* .s6o9 #home-sect-wrap_philoso .s6o9-seam {
  height: 140px;

  background: linear-gradient(
    to bottom,
    rgba(233, 168, 141, 1) 0%,
    rgba(240, 183, 155, 0.85) 40%,
    rgba(248, 204, 186, 0.5) 75%,
    rgba(250, 208, 191, 0) 100%
  );
} */

/* ============================================================
   HOME — Philoso → Enter
   Color handoff: saturated host peach gives way to enter peach
   Fold: happens only after enter peach is already present
   ============================================================ */

.s6o9 #home-sect-wrap_philoso .s6o9-seam {
  background-image: linear-gradient(to bottom, transparent 0%, #f5c6b4 30%);
  height: 262px;
  background: transparent;
}

/* KEEP ME */
/* .s6o9 #home-sect-wrap_philoso .s6o9-seam::after {
  height: 220px;

  background: linear-gradient(
    180deg,
    rgba(233, 168, 141, 0) 0%,
    rgba(233, 168, 141, 1) 24%,
    rgba(238, 181, 157, 1) 52%,
    rgba(248, 204, 186, 1) 82%,
    rgba(248, 204, 186, 1) 100%
  );
} */

.s6o9 #home-sect-wrap_enter .s6o9-seam {
  position: absolute;
  height: 80px;
  background: rgba(248, 204, 186, 1);
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.45) 5%,
    transparent
  );
  /* background:
    radial-gradient(
      ellipse at 50% 0%,
      rgba(255, 235, 222, 0.45) 0%,
      rgba(255, 235, 222, 0.18) 35%,
      rgba(255, 235, 222, 0.05) 60%,
      rgba(255, 235, 222, 0) 100%
    ),
    linear-gradient(
        180deg,
        rgba(248, 204, 186, 0) 0%,
        rgba(248, 204, 186, 0.9) 55%,
        rgba(248, 204, 186, 1) 100%
      ); */
  /* mix-blend-mode: screen; */
}

.s6o9 .s6o9-home-host-landing::before,
.s6o9 .s6o9-home-host-landing::after {
  content: none;
}

.s6o9 .s6o9-home-host-landing::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(60, 28, 18, 0) 0%,
    rgba(60, 28, 18, 0.04) 50%,
    rgba(60, 28, 18, 0.16) 92%,
    rgba(60, 28, 18, 0.22) 100%
  );
  mix-blend-mode: multiply;
}

/* ------------------------------------------------------------
   Section 3 — Ways To Engage / warm still point
   The base remains peach; the visible shift is a broad warm field,
   not an isolated color block.
   ------------------------------------------------------------ */
.s6o9 #home-sect-wrap_enter {
  position: relative;
  z-index: 1;
  margin: 0;
  padding-top: clamp(96px, 14vh, 170px);
  padding-bottom: clamp(110px, 14vh, 200px);
  overflow: hidden;
}

.s6o9 #home-sect-wrap_enter::before,
.s6o9 #home-sect-wrap_enter::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: 0;
}

/* Warm field that picks up from the host/photo section without whitening the photo. */
.s6o9 #home-sect-wrap_enter::before {
  top: 0;
  bottom: 0;
  background: linear-gradient(180deg, #f6c7b4 0%, #f8cdbc 52%, #f9d3c4 100%);
}

/* Downstream drift into the culture/trust field. */
.s6o9 #home-sect-wrap_enter::after {
  bottom: -1px;
  height: clamp(6rem, 10vw, 11rem);
  background: linear-gradient(
    180deg,
    rgba(249, 211, 196, 0) 0%,
    rgba(226, 184, 174, 0.55) 58%,
    rgba(211, 164, 163, 0.82) 100%
  );
  opacity: 0;
}

/* .s6o9 #home-sect-wrap_enter .s6o9-seam {
  background: linear-gradient(
    0deg,
    rgba(250, 208, 191, 0) 0%,
    rgba(250, 208, 191, 1) 58.1%,
    rgba(248, 204, 186, 1) 69.42%,
    rgba(244, 194, 173, 1) 82.08%,
    rgba(236, 176, 151, 1) 95.32%,
    rgba(233, 168, 141, 1) 100%
  );
} */

/* .s6o9 #home-sect-wrap_enter .s6o9-seam {
  position: absolute;
  height: 120px;

  background: linear-gradient(
    to bottom,
    rgba(250, 208, 191, 0) 0%,
    rgba(250, 208, 191, 1) 60%,
    rgba(248, 204, 186, 1) 100%
  );
}

.s6o9 #home-sect-wrap_enter .s6o9-seam::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  pointer-events: none;
  z-index: 30;

  background: rgba(120, 50, 30, 0.22);

  box-shadow:
    0 -1px 2px rgba(85, 34, 20, 0.16),
    0 1px 2px rgba(255, 238, 226, 0.28);
  background: rgba(120, 50, 30, 0.65);
  box-shadow:
    0 2px 4px rgba(85, 34, 20, 0.72),
    0 1px 2px rgba(255, 238, 226, 0.28);
  filter: blur(1px);
  top: 0px;
  mix-blend-mode: hard-light;
}

.s6o9 #home-sect-wrap_enter .s6o9-seam::after {
  height: 36px;

  background: linear-gradient(
    180deg,
    rgba(120, 50, 30, 0) 0%,
    rgba(120, 50, 30, 0.06) 30%,
    rgba(120, 50, 30, 0.14) 70%,
    rgba(120, 50, 30, 0.22) 100%
  );

  mix-blend-mode: multiply;
  opacity: 0;
} */

/* ============================================================
   HOME — RULES SECTION
   ============================================================ */

/* -----------
Section wrapper / original background
------------ */

.s6o9 #home-sect-wrap_rules {
  position: relative;
  z-index: 1;
  margin: 0;
  padding-top: clamp(6.5rem, 10vw, 11rem);
  padding-bottom: clamp(6rem, 9vw, 9rem);
  overflow: hidden;
  background: var(--base-peach);
}

.s6o9 #home-sect-wrap_rules::before,
.s6o9 #home-sect-wrap_rules::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: 0;
}

.s6o9 #home-sect-wrap_rules::before {
  inset: 0;
  background: linear-gradient(180deg, #f9d3c4 0%, #e8b9ad 20%, #f9ddcd 70%);
}

.s6o9 #home-sect-wrap_rules::after {
  content: none;
}

.s6o9 #home-sect-wrap_rules > * {
  position: relative;
  z-index: 1;
}

/* -----------
Cards wrapper / layout
------------ */

.s6o9 .s6o9-home-rules .s6o9-rule-cards,
.s6o9 .s6o9-home-rules .elementor-element-0244258 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 2.8vw, 48px);
  /* width: min(94vw, 1500px); */
  margin-inline: auto;
}

/* -----------
Card base / preserve existing card treatment
------------ */

.s6o9 .s6o9-home-rules .s6o9-rule-card {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  min-height: clamp(380px, 32vw, 560px);
  padding: clamp(34px, 5cqi, 62px) clamp(30px, 4.6cqi, 58px);

  text-align: center;
}

/* -----------
Icon
------------ */

.s6o9 .s6o9-home-rules .s6o9-rule-card__icon {
  width: clamp(120px, 30cqi, 190px);
  margin: 0 auto clamp(26px, 6cqi, 42px);
  opacity: 0.78;
}

.s6o9 .s6o9-home-rules .s6o9-rule-card__icon img,
.s6o9 .s6o9-home-rules .s6o9-rule-card__icon svg {
  display: block;
  width: 100%;
  height: auto;
}

/* -----------
Title
------------ */

.s6o9 .s6o9-home-rules .s6o9-rule-card__title,
.s6o9 .s6o9-home-rules .s6o9-rule-card__title .elementor-heading-title {
  margin: 0;
  color: var(--s6o9-rust);
  font-family: var(--s6o9-font-primary);
  font-size: clamp(1.65rem, 7.4cqi, 2.65rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.025em;
}

/* -----------
Body
------------ */

.s6o9 .s6o9-home-rules .s6o9-rule-card__body {
  width: min(100%, 24em);
  margin-top: clamp(26px, 6cqi, 44px);
}

.s6o9 .s6o9-home-rules .s6o9-rule-card__body p {
  margin: 0;
  color: rgba(117, 28, 29, 0.82);
  font-family: var(--s6o9-font-primary);
  font-size: clamp(1.08rem, 4.6cqi, 1.55rem);
  font-weight: 500;
  line-height: 1.58;
}

/* -----------
RULES SECTION — closing line ("Clear. Respectful. Grounded.")
------------ */

.s6o9 #home-sect-wrap_rules > .elementor-widget-heading {
  margin-top: clamp(56px, 6vw, 90px);
  text-align: center;
}

.s6o9
  #home-sect-wrap_rules
  > .elementor-widget-heading
  .elementor-heading-title {
  font-family: var(--s6o9-font-display);
  font-size: clamp(5.6rem, 6vw, 8.1rem) !important;
  font-size: 4vw !important;
  font-weight: 400 !important;
  line-height: 1.3;

  color: rgba(117, 28, 29, 0.65);

  letter-spacing: 0.12em;
}

/* -----------
Responsive
------------ */

@media (max-width: 1100px) {
  .s6o9 .s6o9-home-rules .s6o9-rule-cards,
  .s6o9 .s6o9-home-rules .elementor-element-0244258 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(94vw, 1320px);
  }
}

@media (max-width: 900px) {
  .s6o9 .s6o9-home-rules .s6o9-rule-cards,
  .s6o9 .s6o9-home-rules .elementor-element-0244258 {
    grid-template-columns: 1fr;
    width: min(100% - 40px, 560px);
  }

  .s6o9 .s6o9-home-rules .s6o9-rule-card {
    min-height: 420px;
  }
}

@media (max-width: 767px) {
  .s6o9 #home-sect-wrap_rules {
    padding-top: 76px;
    padding-bottom: 82px;
  }
}

/* Warm haze clears into the cool verification field. */
/* .s6o9 #home-sect-wrap_rules::after {
  bottom: -1px;
  height: clamp(7rem, 12vw, 13rem);
  background: linear-gradient(
    180deg,
    rgba(215, 169, 164, 0) 0%,
    rgba(172, 162, 168, 0.58) 58%,
    rgba(126, 162, 177, 0.94) 100%
  );
} */

/* ------------------------------------------------------------
   Section 4 — Events
   The air thickens. This is the warm atmospheric high point.
   ------------------------------------------------------------ */
.s6o9 #home-sect-wrap_events {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  padding-top: clamp(96px, 11vh, 150px);
  padding-bottom: clamp(110px, 13vh, 170px);
  background: var(--base-peach);
}

.s6o9 #home-sect-wrap_events::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse at 50% 34%,
      rgba(255, 205, 154, 0.42) 0%,
      rgba(255, 205, 154, 0.18) 46%,
      rgba(255, 205, 154, 0) 76%
    ),
    linear-gradient(180deg, #e09674 0%, #efb18e 42%, #f7c9b3 100%);
}

.s6o9 #home-sect-wrap_events::after {
  content: '';
  position: absolute;
  z-index: 0;
  width: 100%;
  pointer-events: none;
  bottom: -1px;
  height: clamp(6rem, 30vh, 50%);
  background: linear-gradient(
    180deg,
    rgba(238, 198, 180, 0) 0%,
    rgba(232, 176, 146, 0.62) 62%,
    rgba(224, 150, 116, 0.84) 100%
  );
}

.s6o9 #home-sect-wrap_events > * {
  position: relative;
  z-index: 1;
}

/* Context + cards wrapper should be the boxed 1140px container */
.s6o9 .s6o9-home-events__inner {
  container-type: inline-size;
}

/* Top context row */
.s6o9 .s6o9-home-events__context {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: clamp(18px, 3cqi, 34px);

  width: 100%;
  margin: 0 0 clamp(26px, 4cqi, 46px);
  padding: 0 0 clamp(16px, 2cqi, 24px);
}

.s6o9 .s6o9-home-events__context > .elementor-element {
  width: auto;
}

.s6o9 .s6o9-home-events__context-text {
  flex: 1 1 auto;
  min-width: 0;
}

.s6o9 .s6o9-home-events__context-text p {
  margin: 0;
  color: var(--deep-red);
  font-family: var(--s6o9-font-condensed);
  font-size: clamp(1.05rem, 2.15cqi, 1.55rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.s6o9 .s6o9-home-events__context-cta {
  flex: 0 0 auto;
}

.s6o9 .s6o9-home-events__context-cta .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(36px, 4.2cqi, 50px);
  padding: 0.18em 1.15em;
  border: 0;
  border-radius: 999px;
  background: var(--muted-cta-pink);
  color: #f7d8cf;
  font-family: var(--s6o9-font-condensed);
  font-size: clamp(0.95rem, 1.65cqi, 1.25rem);
  font-weight: 300;
  line-height: 1;
  text-transform: lowercase;
  white-space: nowrap;
  box-shadow: none;
}

.s6o9 .s6o9-home-events__context-cta .elementor-button:hover,
.s6o9 .s6o9-home-events__context-cta .elementor-button:focus-visible {
  background: var(--muted-cta-pink-hover);
  color: #fff;
}

/* Cards stack */
.s6o9 .s6o9-home-events__cards {
  display: grid;
  gap: clamp(24px, 3.25cqi, 42px);
  margin: 0;
}

/* Bottom CTA */
.s6o9 .s6o9-home-events__cta {
  display: flex;
  justify-content: center;
  margin-top: clamp(38px, 5cqi, 64px);
}

@media (max-width: 900px) {
  .s6o9 .s6o9-home-events__context {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .s6o9 .s6o9-home-events__context-cta {
    align-self: flex-start;
  }
}

@media (max-width: 767px) {
  .s6o9 #home-sect-wrap_events {
    padding-top: 82px;
    padding-bottom: 96px;
  }

  .s6o9 .s6o9-home-events__context {
    margin-bottom: 30px;
    padding-bottom: 20px;
  }

  .s6o9 .s6o9-home-events__context-text p {
    font-size: clamp(1.1rem, 5.4cqi, 1.45rem);
  }

  .s6o9 .s6o9-home-events__cards {
    gap: 26px;
  }
}

/* - - - END EVENTS - - - */

/* ============================================================
   HOME — SECTION 6 / ROOMS — LODGING PREVIEW
   NOTE: Does not touch #home-sect-wrap_rooms background/pseudo layers.
   ============================================================ */

/* ------------------------------
   Section 6 — Rooms / lodging preview
   -------------------------------*/

.s6o9 #home-sect-wrap_rooms {
  position: relative;
  z-index: 1;
  margin: 0;
  padding-top: clamp(90px, 10vw, 150px);
  padding-bottom: clamp(90px, 10vw, 150px);
  background: var(--base-peach);
}

.s6o9 #home-sect-wrap_rooms::before,
.s6o9 #home-sect-wrap_rooms::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: 0;
}

.s6o9 #home-sect-wrap_rooms::before {
  inset: 0;
  background:
    radial-gradient(
      ellipse at 50% 34%,
      rgba(255, 205, 154, 0.42) 0%,
      rgba(255, 205, 154, 0.18) 46%,
      rgba(255, 205, 154, 0) 76%
    ),
    linear-gradient(180deg, #e09674 0%, #efb18e 42%, #f7c9b3 100%);
}

.s6o9 #home-sect-wrap_rooms::after {
  bottom: -1px;
  height: clamp(6rem, 10vw, 11rem);
  background: linear-gradient(
    180deg,
    rgba(247, 201, 179, 0) 0%,
    rgba(250, 211, 195, 0.68) 62%,
    rgba(251, 218, 204, 1) 100%
  );
}

.s6o9 #home-sect-wrap_rooms > * {
  position: relative;
  z-index: 1;
}

/* ------------------------------
   Section 6 — Layout
   -------------------------------*/

.s6o9 .s6o9-lodging-preview {
  display: grid;
  grid-template-columns: 50vw minmax(0, 500px) 1fr;
  align-items: center;
  width: 100%;
  overflow: hidden;
}

.s6o9 .s6o9-lodging-preview__media {
  width: 50vw;
  min-width: 0;
}

.s6o9 .s6o9-lodging-preview__content {
  grid-column: 2;
  align-self: center;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 530px;
  max-width: 530px;
  padding-left: clamp(24px, 2.6vw, 40px);
}

/* ------------------------------
   Section 6 — Placeholder image grid
   -------------------------------*/

.s6o9 .s6o9-lodging-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(12, minmax(36px, 1fr));
  gap: 4px;
  width: 100%;
  height: clamp(700px, 62vw, 920px);
}

.s6o9 .s6o9-lodging-grid__item {
  min-width: 0;
  min-height: 0;
  background: rgba(52, 64, 96, 0.35);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.34);
}

.s6o9 .s6o9-lodging-grid__item--a {
  grid-column: 1 / 6;
  grid-row: 1 / 7;
  background: rgba(117, 28, 29, 0.34);
}

.s6o9 .s6o9-lodging-grid__item--b {
  grid-column: 6 / 9;
  grid-row: 1 / 4;
  background: rgba(52, 64, 96, 0.3);
}

.s6o9 .s6o9-lodging-grid__item--c {
  grid-column: 9 / 13;
  grid-row: 1 / 4;
  background: rgba(224, 150, 116, 0.48);
}

.s6o9 .s6o9-lodging-grid__item--d {
  grid-column: 6 / 13;
  grid-row: 4 / 8;
  background: rgba(117, 28, 29, 0.28);
}

.s6o9 .s6o9-lodging-grid__item--e {
  grid-column: 1 / 6;
  grid-row: 7 / 13;
  background: rgba(52, 64, 96, 0.44);
}

.s6o9 .s6o9-lodging-grid__item--f {
  grid-column: 6 / 10;
  grid-row: 8 / 11;
  background: rgba(224, 150, 116, 0.42);
}

.s6o9 .s6o9-lodging-grid__item--g {
  grid-column: 6 / 13;
  grid-row: 11 / 13;
  background: rgba(117, 28, 29, 0.36);
}

/* ------------------------------
   Section 6 — Statement and body
   -------------------------------*/

.s6o9 .s6o9-lodging-preview__statement,
.s6o9 .s6o9-lodging-preview__statement .elementor-heading-title {
  margin: 0;
  color: var(--deep-blue);
  font-family: var(--s6o9-font-display);
  font-size: clamp(2.35rem, 3vw, 3.35rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.026em;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.2),
    0 4px 12px rgba(35, 53, 99, 0.2);
}

.s6o9 .s6o9-lodging-preview__statement p {
  margin: 0 0 0.42em;
}

.s6o9 .s6o9-lodging-preview__statement p:last-child {
  margin-bottom: 0;
}

.s6o9 .s6o9-lodging-preview__body {
  margin-top: clamp(30px, 3vw, 44px);
}

.s6o9 .s6o9-lodging-preview__body p {
  margin: 0;
  color: rgba(20, 34, 58, 0.94);
  font-family: var(--s6o9-font-primary);
  font-size: clamp(1rem, 1.02vw, 1.12rem);
  line-height: 1.72;
}

/* ------------------------------
   Section 6 — Room list
   -------------------------------*/

.s6o9 .s6o9-lodging-rooms {
  display: grid;
  gap: 0;
  width: 100%;
  max-width: 530px;
  margin-top: clamp(21px, 2vw, 28px);
}

.s6o9 .s6o9-lodging-room {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(88px, 6.4vw, 112px);
  align-items: stretch;
  min-height: clamp(78px, 5.7vw, 96px);
  border-bottom: 2px solid rgba(255, 255, 255, 0.48);
}

.s6o9 .s6o9-lodging-room:last-child {
  border-bottom: 0;
}

.s6o9 .s6o9-lodging-room__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  padding: clamp(10px, 0.9vw, 14px) clamp(10px, 1vw, 16px);
}

.s6o9 .s6o9-lodging-room__info .elementor-widget {
  margin: 0;
}

.s6o9 .s6o9-lodging-room__info .elementor-heading-title {
  margin: 0;
  color: var(--deep-blue);
  font-family: var(--s6o9-font-display);
  font-size: clamp(1.28rem, 1.45vw, 1.7rem);
  font-weight: 700;
  line-height: 1.02;
}

.s6o9 .s6o9-lodging-room__info p {
  margin: 0;
}

.s6o9 .s6o9-lodging-room__info .elementor-widget-text-editor:nth-of-type(2),
.s6o9 .s6o9-lodging-room__info .elementor-widget-text-editor:nth-of-type(2) p {
  color: rgba(52, 64, 96, 0.82);
  font-family: var(--s6o9-font-display);
  font-size: clamp(0.96rem, 1.02vw, 1.14rem);
  font-weight: 700;
  line-height: 1.05;
}

.s6o9 .s6o9-lodging-room__info .elementor-widget-text-editor:nth-of-type(3) {
  margin-top: 0.5em;
}

.s6o9 .s6o9-lodging-room__info .elementor-widget-text-editor:nth-of-type(3),
.s6o9 .s6o9-lodging-room__info .elementor-widget-text-editor:nth-of-type(3) p {
  color: #111;
  font-family: var(--s6o9-font-primary);
  font-size: clamp(0.84rem, 0.88vw, 0.96rem);
  font-weight: 400;
  line-height: 1.1;
}

.s6o9 .s6o9-lodging-room__brand {
  display: flex;
  align-items: center;
  justify-content: center;
}

.s6o9 .s6o9-lodging-room__brand .elementor-widget-image {
  width: auto;
  margin: 0;
}

.s6o9 .s6o9-lodging-room__brand img {
  display: block;
  width: clamp(58px, 4.8vw, 76px);
  height: auto;
}

/* ------------------------------
   Section 6 — Seam
   -------------------------------*/

.s6o9 #home-sect-wrap_rooms .s6o9-section-xition-seam__bot-bg {
  opacity: 0.5;
}

/* ------------------------------
   Section 6 — Responsive
   -------------------------------*/

@media (max-width: 900px) {
  .s6o9 #home-sect-wrap_rooms {
    padding-top: 76px;
    padding-bottom: 90px;
  }

  .s6o9 .s6o9-lodging-preview {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .s6o9 .s6o9-lodging-preview__content {
    order: 1;
    width: min(100% - 40px, 500px);
    max-width: 500px;
    margin-inline: auto;
    padding-left: 0;
    padding-bottom: 50px;
  }

  .s6o9 .s6o9-lodging-preview__media {
    order: 2;
    width: 100%;
  }

  .s6o9 .s6o9-lodging-grid {
    width: 100%;
    height: clamp(600px, 100vw, 860px);
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(14, minmax(28px, 1fr));
  }

  .s6o9 .s6o9-lodging-grid__item--a {
    grid-column: 1 / 7;
    grid-row: 1 / 6;
  }

  .s6o9 .s6o9-lodging-grid__item--b {
    grid-column: 7 / 13;
    grid-row: 1 / 4;
  }

  .s6o9 .s6o9-lodging-grid__item--c {
    grid-column: 7 / 13;
    grid-row: 4 / 7;
  }

  .s6o9 .s6o9-lodging-grid__item--d {
    grid-column: 1 / 9;
    grid-row: 6 / 10;
  }

  .s6o9 .s6o9-lodging-grid__item--e {
    grid-column: 9 / 13;
    grid-row: 7 / 11;
  }

  .s6o9 .s6o9-lodging-grid__item--f {
    grid-column: 1 / 6;
    grid-row: 10 / 13;
  }

  .s6o9 .s6o9-lodging-grid__item--g {
    grid-column: 6 / 13;
    grid-row: 12 / 15;
  }
}

@media (max-width: 767px) {
  .s6o9 .s6o9-lodging-preview__statement,
  .s6o9 .s6o9-lodging-preview__statement .elementor-heading-title {
    font-size: clamp(2rem, 9vw, 3rem);
  }

  .s6o9 .s6o9-lodging-grid {
    gap: 3px;
  }

  .s6o9 .s6o9-lodging-room {
    grid-template-columns: minmax(0, 1fr) 82px;
    min-height: 82px;
  }

  .s6o9 .s6o9-lodging-room__info {
    padding: 12px 12px;
  }

  .s6o9 .s6o9-lodging-room__brand img {
    width: 56px;
  }
}
/* - - - END ROOMS - - - */

/* ------------------------------------------------------------
   Section 7 — Final CTA / warm resolution
   Quiet landing. No extra drama.
   ------------------------------------------------------------ */
.s6o9 #home-sect-wrap_cta {
  position: relative;
  z-index: 1;
  margin: 0;
}

.s6o9 #home-sect-wrap_cta::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 50% 24%,
      rgba(150, 82, 68, 0.14) 0%,
      rgba(150, 82, 68, 0.07) 34%,
      rgba(150, 82, 68, 0) 68%
    ),
    linear-gradient(180deg, #f7d6c6 0%, #f3c6b0 58%, #e6b29a 100%);
  background-blend-mode: multiply, normal;
}

.s6o9 #home-sect-wrap_cta::after {
  content: none;
}

/* Keep all direct section content above atmospheric layers. */
.s6o9
  #home-sect-wrap_enter
  > *:not(.elementor-widget-html:has(.s6o9-section-xition-seam)),
.s6o9 #home-sect-wrap_rules > *,
.s6o9 #home-sect-wrap_events > *,
.s6o9 #home-sect-wrap_rooms > *,
.s6o9 #home-sect-wrap_cta > * {
  position: relative;
  z-index: 1;
}

.s6o9 #home-sect-wrap_cta .s6o9-image-bridge {
  background: linear-gradient(
    to bottom,
    transparent 0%,
    #f8dbcb 40%,
    #ecaa84 60%,
    transparent 100%
  );
}

.s6o9 #home-sect-wrap_cta .s6o9-image-bridge__img {
  mix-blend-mode: normal;
  filter: none;
  opacity: 0.85;
}

/* ============================================================
   HOME — FINAL SECTION / wrapper + background
   ============================================================ */

.s6o9 #home-sect-wrap_cta {
  position: relative;
  z-index: 1;
  margin: 0;
  background: var(--base-peach);
  padding-block: clamp(78px, 7vw, 112px) clamp(46px, 5vw, 70px);
}

.s6o9 #home-sect-wrap_cta::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse at 50% 18%,
      rgba(255, 238, 226, 0.42) 0%,
      rgba(255, 222, 207, 0.2) 34%,
      rgba(255, 222, 207, 0) 68%
    ),
    linear-gradient(180deg, #f9d8c9 0%, #f6cbbb 48%, #f2bfb1 100%);
}

.s6o9 #home-sect-wrap_cta::after {
  content: none;
}

.s6o9 #home-sect-wrap_cta > * {
  position: relative;
  z-index: 1;
}

.s6o9 .s6o9-home-final__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* ============================================================
   HOME — FINAL SECTION / intro + headline
   ============================================================ */

.s6o9 .s6o9-home-final__eyebrow,
.s6o9 .s6o9-home-final__eyebrow .elementor-heading-title {
  margin: 0 0 0.9rem;
  color: rgba(117, 28, 29, 0.38);
  font-family: var(--s6o9-font-primary);
  font-size: clamp(0.62rem, 0.72vw, 0.74rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

.s6o9 .s6o9-home-final__title,
.s6o9 .s6o9-home-final__title .elementor-heading-title {
  max-width: 740px;
  margin: 0;
  color: rgba(117, 28, 29, 0.76);
  font-family: var(--s6o9-font-display);
  font-size: clamp(3.4rem, 5.3vw, 6.05rem);
  font-weight: 500;
  line-height: 0.94;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.s6o9 .s6o9-home-final__lead {
  width: min(100%, 560px);
  margin-top: clamp(18px, 1.7vw, 26px);
}

.s6o9 .s6o9-home-final__lead p {
  margin: 0;
  color: rgba(63, 37, 30, 0.62);
  font-family: var(--s6o9-font-primary);
  font-size: clamp(0.96rem, 1vw, 1.08rem);
  font-weight: 400;
  line-height: 1.62;
}

/* ============================================================
   HOME — FINAL SECTION / primary direction block
   ============================================================ */

.s6o9 .s6o9-home-final__direction {
  width: min(100%, 560px);
  margin-top: clamp(44px, 4.4vw, 64px);
}

.s6o9 .s6o9-home-final__direction-title,
.s6o9 .s6o9-home-final__direction-title .elementor-heading-title {
  margin: 0;
  color: var(--deep-blue);
  font-family: var(--s6o9-font-display) !important;
  font-size: clamp(2.3rem, 3vw, 3.6rem) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
}

.s6o9 .s6o9-home-final__direction-body {
  width: min(100%, 430px);
  margin: 0.95rem auto 0;
}

.s6o9 .s6o9-home-final__direction-body p {
  margin: 0;
  color: rgba(63, 37, 30, 0.64);
  font-family: var(--s6o9-font-primary) !important;
  font-size: clamp(0.94rem, 0.96vw, 1.02rem) !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

.s6o9 .s6o9-home-final__direction-actions {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.82rem;
  margin-top: clamp(24px, 2.2vw, 32px);
}

/* ============================================================
   HOME — FINAL SECTION / primary + secondary links
   ============================================================ */

.s6o9 .s6o9-home-final__primary .elementor-button {
  min-height: 36px !important;
  padding: 0.66rem 1.18rem !important;
  border: 1px solid rgba(255, 236, 232, 0.72) !important;
  border-radius: 0.32rem !important;
  background: var(--muted-cta-pink) !important;
  color: #fff !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: 0 10px 22px rgba(96, 43, 30, 0.14) !important;
}

.s6o9 .s6o9-home-final__form .elementor-button-text {
  font-family: var(--s6o9-font-primary) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

.s6o9 .s6o9-home-final__secondary,
.s6o9 .s6o9-home-final__secondary p {
  margin: 0;
  line-height: 1;
}

.s6o9 .s6o9-home-final__secondary a {
  color: rgba(52, 64, 96, 0.68);
  font-family: var(--s6o9-font-primary) !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

/* ============================================================
   HOME — FINAL SECTION / pause divider
   ============================================================ */

.s6o9 .s6o9-home-final__pause {
  width: 1px;
  height: clamp(54px, 5vw, 82px);
  margin: clamp(48px, 4.6vw, 68px) auto clamp(34px, 3.8vw, 52px);
  background: linear-gradient(
    180deg,
    rgba(117, 28, 29, 0) 0%,
    rgba(117, 28, 29, 0.16) 44%,
    rgba(255, 255, 255, 0.34) 58%,
    rgba(117, 28, 29, 0) 100%
  );
}

.s6o9 .s6o9-home-final__pause span {
  display: block;
}

/* ============================================================
   HOME — FINAL SECTION / contact card sizing
   ============================================================ */

.s6o9 .s6o9-home-final__contact {
  width: min(100%, 900px);
  max-width: 900px;
  padding: clamp(34px, 3.2vw, 46px) clamp(56px, 6vw, 86px);
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 16px;

  /* key changes here */
  background: rgba(255, 245, 238, 0.55);

  box-shadow:
    0 14px 36px rgba(80, 50, 40, 0.08),
    0 2px 6px rgba(80, 50, 40, 0.06),
    inset 0 0 0 6px rgba(255, 255, 255, 0.35);
}

.s6o9 .s6o9-home-final__contact-title,
.s6o9 .s6o9-home-final__contact-title .elementor-heading-title {
  margin: 0;
  color: var(--deep-blue);
  font-family: var(--s6o9-font-display) !important;
  font-size: clamp(2.15rem, 2.75vw, 3.05rem) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
}

/* ============================================================
   HOME — FINAL SECTION / form styling
   ============================================================ */

.s6o9 .s6o9-home-final__form {
  width: 100%;
  margin-top: clamp(26px, 2.8vw, 38px);
  text-align: left;
}

.s6o9 .s6o9-home-final__form .elementor-form {
  display: grid;
  gap: 14px;
}

.s6o9 .s6o9-home-final__form .elementor-field-group {
  padding: 0;
  margin: 0;
}

.s6o9 .s6o9-home-final__form .elementor-field-group-name,
.s6o9 .s6o9-home-final__form .elementor-field-group-email {
  width: calc(50% - 7px);
}

.s6o9 .s6o9-home-final__form .elementor-field-group-message,
.s6o9 .s6o9-home-final__form .elementor-field-type-submit {
  width: 100%;
}

.s6o9 .s6o9-home-final__form input,
.s6o9 .s6o9-home-final__form textarea,
.s6o9 .s6o9-home-final__form .elementor-field-textual {
  min-height: 44px;
  border: 1px solid rgba(117, 28, 29, 0.22);
  border-radius: 5px;
  background: rgba(255, 238, 226, 0.5);
  color: rgba(63, 37, 30, 0.82);
  font-family: var(--s6o9-font-primary);
  font-size: 0.92rem;
  line-height: 1.35;
  box-shadow: none;
}

.s6o9 .s6o9-home-final__form textarea,
.s6o9 .s6o9-home-final__form .elementor-field-textual.elementor-field-textarea {
  min-height: 100px;
  resize: vertical;
}

.s6o9 .s6o9-home-final__form input::placeholder,
.s6o9 .s6o9-home-final__form textarea::placeholder {
  color: rgba(63, 37, 30, 0.46);
}

/* Mouse + keyboard focus (S6O9 pink focus governance - Wave 5B) */
.s6o9 .s6o9-home-final__form input:focus,
.s6o9 .s6o9-home-final__form textarea:focus,
.s6o9 .s6o9-home-final__form .elementor-field-textual:focus {
  border-color: var(--s6o9-cta-pink);
  box-shadow: 0 0 0 0.2rem rgba(200, 111, 140, 0.25);
  outline: none;
}

/* Keyboard-only focus (focus-visible for accessibility - Wave 5B) */
.s6o9 .s6o9-home-final__form input:focus-visible,
.s6o9 .s6o9-home-final__form textarea:focus-visible,
.s6o9 .s6o9-home-final__form .elementor-field-textual:focus-visible {
  border-color: var(--s6o9-cta-pink);
  outline: 2px solid rgba(200, 111, 140, 0.25);
  outline-offset: 2px;
}

.s6o9 .s6o9-home-final__form .elementor-field-type-submit {
  display: flex;
  justify-content: flex-end;
  margin-top: 2px;
}

.s6o9 .s6o9-home-final__form .elementor-button {
  width: auto !important;
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 0.72rem 1.18rem !important;
  border: 1px solid rgba(255, 236, 232, 0.72) !important;
  border-radius: 0.32rem !important;
  background: var(--s6o9-cta-pink) !important;
  color: #fff !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: 0 10px 22px rgba(96, 43, 30, 0.14) !important;
}

.s6o9 .s6o9-home-final__form .elementor-button-text {
  font-family: var(--s6o9-font-primary) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

.s6o9 .s6o9-home-final__form .elementor-button:hover,
.s6o9 .s6o9-home-final__form .elementor-button:focus-visible {
  background: var(--s6o9-cta-pink-hover);
  color: #fff;
}

/* ============================================================
   HOME — FINAL SECTION / micro-links
   ============================================================ */

.s6o9 .s6o9-home-final__micro-links {
  display: flex;
  justify-content: center;
  margin-top: clamp(28px, 3vw, 42px);
}

.s6o9 .s6o9-home-final__micro-links,
.s6o9 .s6o9-home-final__micro-links p {
  color: rgba(63, 37, 30, 0.34);
  font-family: var(--s6o9-font-primary);
  font-size: 0.78rem;
  line-height: 1.4;
}

.s6o9 .s6o9-home-final__micro-links p {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
  margin: 0;
}

.s6o9 .s6o9-home-final__micro-links a {
  color: rgba(63, 37, 30, 0.36);
  text-decoration: none;
}

.s6o9 .s6o9-home-final__micro-links a:hover,
.s6o9 .s6o9-home-final__micro-links a:focus-visible {
  color: rgba(63, 37, 30, 0.62);
}

/* ============================================================
   HOME — FINAL SECTION intro (airier variant)
   ============================================================ */

.s6o9 .s6o9-home-cta__intro,
.s6o9 .s6o9-home-cta__intro .elementor-widget-container {
  width: min(100%, 620px);
  margin: clamp(22px, 2vw, 30px) auto 0;
}

.s6o9 .s6o9-home-cta__intro p {
  margin: 0;
  color: rgba(63, 37, 30, 0.68);
  font-family: var(--s6o9-font-primary);
  font-size: clamp(1.02rem, 1.08vw, 1.18rem);
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: 0.01em;
}

/* ============================================================
   HOME — FINAL SECTION / text + buttons
   Requires Elementor widget styling reset to defaults.
   ============================================================ */

.s6o9 #home-sect-wrap_cta .s6o9-home-cta__intro p,
.s6o9 #home-sect-wrap_cta .s6o9-home-final__direction-body p,
.s6o9 #home-sect-wrap_cta .s6o9-home-final__contact-intro p,
.s6o9 #home-sect-wrap_cta .s6o9-home-final__contact-note p {
  margin: 0;
  color: rgba(63, 37, 30, 0.64);
  font-family: var(--s6o9-font-primary);
  font-size: clamp(1rem, 1.02vw, 1.12rem);
  font-weight: 400;
  line-height: 1.64;
}

.s6o9 #home-sect-wrap_cta .s6o9-home-cta__intro {
  width: min(100%, 640px);
  margin: clamp(20px, 1.8vw, 28px) auto 0;
}

.s6o9 #home-sect-wrap_cta .s6o9-home-final__primary .elementor-button,
.s6o9 #home-sect-wrap_cta .s6o9-home-final__form .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 38px;
  padding: 0.72rem 1.2rem;
  border: 1px solid rgba(255, 236, 232, 0.72);
  border-radius: 0.32rem;
  background: var(--muted-cta-pink);
  color: #fff;
  font-family: var(--s6o9-font-primary);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: 0 10px 22px rgba(96, 43, 30, 0.14);
}

.s6o9 #home-sect-wrap_cta .s6o9-home-final__primary .elementor-button-text,
.s6o9 #home-sect-wrap_cta .s6o9-home-final__form .elementor-button-text {
  font: inherit;
  letter-spacing: inherit;
}

.s6o9 #home-sect-wrap_cta .s6o9-home-final__form .elementor-field-type-submit {
  display: flex;
  justify-content: flex-end;
}

/* ============================================================
   HOME — FINAL SECTION / local button override
   Beats Elementor global button styling without broad !important.
   ============================================================ */

.s6o9 #home-sect-wrap_cta .s6o9-home-final__button a.elementor-button,
.s6o9 #home-sect-wrap_cta .s6o9-home-final__form button.elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  min-height: 38px;
  padding: 0.72rem 1.2rem;
  border: 1px solid rgba(255, 236, 232, 0.72);
  border-radius: 0.32rem;
  background: var(--muted-cta-pink);
  color: #fff;
  font-family: var(--s6o9-font-primary);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: 0 10px 22px rgba(96, 43, 30, 0.14);
}

.s6o9 #home-sect-wrap_cta .s6o9-home-final__button a.elementor-button:hover,
.s6o9 #home-sect-wrap_cta .s6o9-home-final__form button.elementor-button:hover {
  background: var(--muted-cta-pink-hover);
  color: #fff;
}

.s6o9 #home-sect-wrap_cta .s6o9-home-final__button .elementor-button-text,
.s6o9 #home-sect-wrap_cta .s6o9-home-final__form .elementor-button-text {
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

/* ============================================================
   HOME — FINAL SECTION / responsive
   ============================================================ */

@media (max-width: 900px) {
  .s6o9 #home-sect-wrap_cta {
    padding-block: 84px 52px;
  }

  .s6o9 .s6o9-home-final__direction {
    margin-top: 58px;
  }

  .s6o9 .s6o9-home-final__pause {
    height: 90px;
    margin: 66px auto 52px;
  }

  .s6o9 .s6o9-home-final__contact {
    width: min(100%, 640px);
  }
}

@media (max-width: 767px) {
  .s6o9 #home-sect-wrap_cta {
    padding-block: 72px 42px;
  }

  .s6o9 .s6o9-home-final__title,
  .s6o9 .s6o9-home-final__title .elementor-heading-title {
    font-size: clamp(3rem, 13vw, 4.25rem);
  }

  .s6o9 .s6o9-home-final__direction-actions {
    flex-direction: column;
    gap: 0.9rem;
  }

  .s6o9 .s6o9-home-final__pause {
    height: 70px;
    margin: 54px auto 42px;
  }

  .s6o9 .s6o9-home-final__contact {
    padding: 30px 22px;
    border-radius: 14px;
  }

  .s6o9 .s6o9-home-final__form .elementor-field-group-name,
  .s6o9 .s6o9-home-final__form .elementor-field-group-email {
    width: 100%;
  }

  .s6o9 .s6o9-home-final__form .elementor-field-type-submit {
    justify-content: stretch;
  }

  .s6o9 .s6o9-home-final__form .elementor-button {
    width: 100%;
  }

  .s6o9 .s6o9-home-final__micro-links p {
    flex-wrap: wrap;
    gap: 0.55rem 0.8rem;
  }
}

/* ============================================================
   HOME — SECTION 3 / WAYS TO ENGAGE
   ============================================================ */

.s6o9 .s6o9-home-engage__inner {
  position: relative;
  z-index: 1;
}

.s6o9 .s6o9-home-sect__heading,
.s6o9 .s6o9-home-engage__heading {
  width: fit-content;
  max-width: min(100%, var(--s6o9-max-fixed-elem-width));
  margin: 0 auto 0.85rem;
  margin-bottom: clamp(56px, 6.5vw, 90px);
  text-align: center;
}

.s6o9 .s6o9-home-sect__heading .s6o9-home-sect .elementor-heading-title,
.s6o9 .s6o9-home-sect__heading .s6o9-home-sect__title .elementor-heading-title,
.s6o9
  .s6o9-home-engage__heading
  .s6o9-home-engage__title
  .elementor-heading-title {
  margin: 0;
  color: var(--s6o9-rust) !important;
  font-family: var(--s6o9-font-display) !important;
  font-size: clamp(3.25rem, 6.2vw, 6.25rem) !important;
  font-weight: 500 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.028em !important;
  text-wrap: balance;
  text-shadow:
    0 2px 0 rgba(96, 43, 30, 0.24),
    0 8px 18px rgba(96, 43, 30, 0.18);
}

.s6o9 .s6o9-home-sect__intro,
.s6o9 .s6o9-home-engage__intro {
  width: min(100%, 740px);
  margin: 0 auto clamp(4rem, 6.25vw, 6.75rem);
  text-align: center;
}

.s6o9 .s6o9-home-sect__intro .elementor-widget-container,
.s6o9 .s6o9-home-engage__intro .elementor-widget-container {
  margin: 0;
}

.s6o9 .s6o9-home-sect__intro p,
.s6o9 .s6o9-home-engage__intro p {
  margin: 0;
  color: rgba(72, 48, 40, 0.76) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: clamp(1rem, 1.18vw, 1.18rem) !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  letter-spacing: 0.005em;
}

.s6o9 .s6o9-home-sect__heading .s6o9-home-sect__eyebrow,
.s6o9
  .s6o9-home-sect__heading
  .s6o9-home-sect__eyebrow
  .elementor-heading-title {
  margin: 0 0 1.1rem;
  color: rgba(117, 28, 29, 0.42);
  font-family: var(--s6o9-font-primary);
  font-size: clamp(0.7rem, 0.8vw, 0.82rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

/* ============================================================
   HOME — SECTION 3 / WAYS TO ENGAGE CARDS
   ============================================================ */

.s6o9 .s6o9-home-engage__cards,
.s6o9 .s6o9-home-engage__grid {
  container-type: inline-size;
  display: grid;
  gap: clamp(56px, 5.5cqi, 82px);
}

.s6o9 .s6o9-engage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 58%) minmax(340px, 42%);
  align-items: stretch;
  min-height: clamp(390px, 29vw, 500px);
  overflow: hidden;
  isolation: isolate;
  border-radius: clamp(18px, 1.55vw, 26px);
  background: rgba(253, 208, 187, 0.66);
  box-shadow:
    0 18px 42px rgba(96, 43, 30, 0.14),
    inset 0 0 0 1px rgba(255, 247, 239, 0.34),
    inset 0 0 0 5px rgba(255, 238, 226, 0.12);
  padding: 0;
}
.s6o9 .s6o9-engage::after {
  border: 10px solid var(--base-peach);
  pointer-events: none;
  mix-blend-mode: hard-light;
  content: ' ';
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  opacity: 0.35;
  box-shadow: inset 0 0px 3px 3px rgb(221 148 88 / 90%);
}

.s6o9 .s6o9-engage--reverse {
  grid-template-columns: minmax(340px, 42%) minmax(0, 58%);
}

.s6o9 .s6o9-engage--reverse .s6o9-engage__media {
  grid-column: 2;
  grid-row: 1;
}

.s6o9 .s6o9-engage--reverse .s6o9-engage__content {
  grid-column: 1;
  grid-row: 1;
}

.s6o9 .s6o9-engage__media {
  position: relative;
  z-index: 1;
  min-width: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: transparent;

  -webkit-mask-image: linear-gradient(
    to right,
    #000 0%,
    #000 68%,
    rgba(0, 0, 0, 0.82) 78%,
    rgba(0, 0, 0, 0.38) 91%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: linear-gradient(
    to right,
    #000 0%,
    #000 68%,
    rgba(0, 0, 0, 0.82) 78%,
    rgba(0, 0, 0, 0.38) 91%,
    rgba(0, 0, 0, 0) 100%
  );
}

.s6o9 .s6o9-engage--reverse .s6o9-engage__media {
  -webkit-mask-image: linear-gradient(
    to left,
    #000 0%,
    #000 68%,
    rgba(0, 0, 0, 0.82) 78%,
    rgba(0, 0, 0, 0.38) 91%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: linear-gradient(
    to left,
    #000 0%,
    #000 68%,
    rgba(0, 0, 0, 0.82) 78%,
    rgba(0, 0, 0, 0.38) 91%,
    rgba(0, 0, 0, 0) 100%
  );
}

.s6o9 .s6o9-engage__media .elementor-widget-container,
.s6o9 .s6o9-engage__media .elementor-image {
  width: 100%;
  height: 100%;
}

.s6o9 .s6o9-engage__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.82) contrast(1.08) saturate(0.9);
}

.s6o9 .s6o9-engage__media::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    to right,
    rgba(248, 168, 124, 0) 0%,
    rgba(248, 168, 124, 0.08) 46%,
    rgba(248, 168, 124, 0.22) 74%,
    rgba(253, 208, 187, 0.28) 100%
  );
  mix-blend-mode: soft-light;
}

.s6o9 .s6o9-engage--reverse .s6o9-engage__media::after {
  background: linear-gradient(
    to left,
    rgba(248, 168, 124, 0) 0%,
    rgba(248, 168, 124, 0.08) 46%,
    rgba(248, 168, 124, 0.22) 74%,
    rgba(253, 208, 187, 0.28) 100%
  );
}

.s6o9 .s6o9-engage__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  max-width: 34rem;
  padding: clamp(2.35rem, 3.4vw, 4.15rem);
  color: rgba(58, 39, 32, 0.92);
}

/* Eyebrow — must beat normal Heading widget title styles */

.s6o9 .s6o9-engage__content .s6o9-engage__eyebrow,
.s6o9 .s6o9-engage__content .s6o9-engage__eyebrow .elementor-heading-title {
  margin: 0 0 0.85rem;
  color: rgba(117, 28, 29, 0.72);
  font-family: var(--s6o9-font-primary);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.s6o9 .s6o9-engage__content .s6o9-engage__eyebrow {
  margin-bottom: -3em !important;
}

/* Main card title — excludes eyebrow */
.s6o9
  .s6o9-engage__content
  .elementor-widget-heading:not(.s6o9-engage__eyebrow)
  .elementor-heading-title {
  margin: 0;
  color: var(--s6o9-rust) !important;
  font-family: var(--s6o9-font-display) !important;
  font-size: clamp(2.55rem, 3.75vw, 4.25rem) !important;
  font-weight: 500 !important;
  line-height: 0.94 !important;
  letter-spacing: -0.035em !important;
  text-wrap: balance;
}

.s6o9 .s6o9-engage__content p {
  margin: 1.1rem 0 0;
  max-width: 31em;
  color: rgba(58, 39, 32, 0.76) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: clamp(1rem, 1.04vw, 1.13rem) !important;
  font-weight: 400 !important;
  line-height: 1.62 !important;
}

.s6o9 .s6o9-engage__content .elementor-button-wrapper {
  margin-top: 1.65rem;
}

.s6o9 .s6o9-engage__content .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: auto;
  padding: 0.82rem 1.18rem;
  border: 1px solid rgba(255, 236, 232, 0.72);
  border-radius: 999px;
  background: rgba(144, 49, 71, 0.82);
  color: #fff !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(37, 19, 13, 0.16);
}

.s6o9 .s6o9-engage__content .elementor-button:hover,
.s6o9 .s6o9-engage__content .elementor-button:focus-visible {
  background: rgba(144, 49, 71, 0.94);
  transform: translateY(-1px);
}

@media (max-width: 900px) {
  .s6o9 .s6o9-engage,
  .s6o9 .s6o9-engage--reverse {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .s6o9 .s6o9-engage__media,
  .s6o9 .s6o9-engage--reverse .s6o9-engage__media {
    grid-column: 1;
    grid-row: auto;
    aspect-ratio: 16 / 9;

    -webkit-mask-image: linear-gradient(
      to bottom,
      #000 0%,
      #000 64%,
      rgba(0, 0, 0, 0.78) 76%,
      rgba(0, 0, 0, 0.34) 90%,
      rgba(0, 0, 0, 0) 100%
    );
    mask-image: linear-gradient(
      to bottom,
      #000 0%,
      #000 64%,
      rgba(0, 0, 0, 0.78) 76%,
      rgba(0, 0, 0, 0.34) 90%,
      rgba(0, 0, 0, 0) 100%
    );
  }

  .s6o9 .s6o9-engage__media::after,
  .s6o9 .s6o9-engage--reverse .s6o9-engage__media::after {
    background: linear-gradient(
      to bottom,
      rgba(248, 168, 124, 0) 0%,
      rgba(248, 168, 124, 0.08) 48%,
      rgba(248, 168, 124, 0.22) 76%,
      rgba(253, 208, 187, 0.34) 100%
    );
  }

  .s6o9 .s6o9-engage__content {
    max-width: none;
    padding: 2rem 1.65rem 2.35rem;
  }
}

@media (max-width: 767px) {
  .s6o9 .s6o9-home-engage__cards,
  .s6o9 .s6o9-home-engage__grid {
    gap: 36px;
  }

  .s6o9 .s6o9-engage {
    border-radius: 18px;
  }

  .s6o9
    .s6o9-engage__content
    .elementor-widget-heading:not(.s6o9-engage__eyebrow)
    .elementor-heading-title {
    font-size: clamp(2.1rem, 11vw, 3.15rem) !important;
  }
}

/* =========================
   Shared surface / callout styles
   ========================= */
.s6o9 .callout-style-1,
.s6o9 .home-enter__card {
  background-color: rgba(253, 208, 187, 0.88);
}

.s6o9 .callout-style-1 {
  border-radius: 1.5em;
  padding: 2em;
}

.s6o9 .home-cta__card,
.s6o9 .home-enter__card {
  border-radius: 1.5rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  padding: 2em;
}

.s6o9 .home-cta__card {
  --horz-spacing: 10em;
  background-color: var(--base-peach);
  margin-left: var(--horz-spacing);
  margin-right: var(--horz-spacing);
  width: auto;
}

/* Shared border-overlay boilerplate */
.s6o9 .callout-style-1--with-border::before,
.with-border::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 0.3em solid var(--base-peach);
  border-radius: inherit;
  z-index: 1;
  pointer-events: none;
  opacity: 0.5;
}

.s6o9 .home-cta__card.with-border::after {
  inset: 10px;
}

.s6o9 .callout-style-1--with-border::before {
  mix-blend-mode: overlay;
}

.with-border::after {
  mix-blend-mode: screen;
}

.s6o9 .home-enter__card.with-border::after {
  border-width: 10px;
}

/* =========================
   CTA
   ========================= */
.s6o9 .cta__prim {
  display: block;
  padding: 0.75em 1.5em;
  text-align: center;
  color: #efd9d7;
  background-color: var(--muted-cta-pink);
  border: 0.2em solid #efd9d7;
  border-radius: 1em;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}

.s6o9 .cta__prim:hover {
  color: #fff;
  background-color: var(--muted-cta-pink-hover);
  border-color: #fff;
}

/* =========================
   Background utility
   ========================= */
.bg-texture-1 {
  background-image: url('https://staging.station6over9.com/wp-content/uploads/2026/04/texture-base-1.jpg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-blend-mode: hard-light;
}

/* Home CTA atmosphere now lives in the HOME — ATMOSPHERIC SPINE block above.
   Do not reintroduce #home-sect-wrap_cta background overrides here. */

/* =========================
   Section headings
   ========================= */
.s6o9 .home-sect-title-wrap {
  width: fit-content;
  margin: 6rem auto;
  padding-bottom: 6rem;
}
.s6o9 .home-sect-title-wrap h2 {
  color: #445666;
  font-family: var(--s6o9-font-display);
  font-size: 5vw;
  font-weight: 500;
  text-align: center;
  mix-blend-mode: luminosity;
  text-shadow:
    0 0 6px rgba(0, 0, 0, 0.6),
    0 0 2px rgba(0, 0, 0, 0.8);
}

.s6o9 .home-sect-title-wrap h2::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 5rem;
  width: 50%;
  height: 2px;
  z-index: 1;
  transform: translate(-50%, -50%);
  border: solid #243b5b 1px;
  border-radius: 50%;
  background-color: #445666;
  box-shadow: 0 0 15px 5px rgba(0, 0, 0, 0.3);
  filter: blur(1.2px);
}

/* =========================
   Enter cards
   ========================= */
.s6o9 .home-enter__card.content-left {
  align-items: start;
}

.s6o9 .home-enter__card.content-right {
  align-items: end;
  text-align: right;
}

.s6o9 .home-enter__card.content-left::before,
.s6o9 .home-enter__card.content-right::before {
  background-repeat: no-repeat;
  border-radius: inherit;
}

.s6o9 .home-enter__card.content-left::before {
  mask-image: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0) 20%,
    rgba(0, 0, 0, 1) 50%
  );
}

.s6o9 .home-enter__card.content-right::before {
  mask-image: linear-gradient(
    90deg,
    rgba(0, 0, 0, 1) 50%,
    rgba(0, 0, 0, 0) 70%
  );
}

.s6o9 .home-enter-card__content {
  align-items: inherit;
}

.s6o9 .home-enter-card__content h3 {
  color: var(--deep-red);
  font-family: 'Roboto', sans-serif;
  font-size: 2rem;
  font-weight: 500;
}

.s6o9 .home-enter-card__content p {
  color: var(--deep-red);
  font-size: 1rem;
  line-height: 1.5;
}

/* =========================================================
   S6O9 /events — GLOBAL FOUNDATION
   Scope root: .s6o9 .s6o9-page--events
   This file/block is intentionally limited to:
   - page tokens
   - box sizing
   - generic section spacing
   - width helpers
   - stack helpers
   - seam helpers
   - typography utilities
   - button/link utilities
   - generic surface/divider helpers
   - shared card primitives
   It does NOT include section-specific layout/styling.
========================================================= */

/* =========================================================
   PAGE ROOT / TOKENS
========================================================= */

.s6o9 .s6o9-page {
  box-sizing: border-box;
}

.s6o9 .s6o9-page *,
.s6o9 .s6o9-page *::before,
.s6o9 .s6o9-page *::after {
  box-sizing: inherit;
}

.s6o9 .s6o9-page--events {
  --s6o9-events-text: rgba(63, 37, 30, 0.92);
  --s6o9-events-text-soft: rgba(63, 37, 30, 0.76);
  --s6o9-events-text-faint: rgba(63, 37, 30, 0.58);
  --s6o9-events-line: rgba(63, 37, 30, 0.12);
  --s6o9-events-line-strong: rgba(63, 37, 30, 0.2);
  --s6o9-events-surface: rgba(255, 255, 255, 0.24);
  --s6o9-events-surface-soft: rgba(255, 255, 255, 0.14);
  --s6o9-events-shadow-soft: 0 10px 30px rgba(63, 37, 30, 0.08);
  --s6o9-events-shadow-card: 0 12px 28px rgba(63, 37, 30, 0.1);
  --s6o9-events-radius-sm: 14px;
  --s6o9-events-radius-md: 18px;
  --s6o9-events-radius-lg: 24px;
  background: var(--base-peach);
  color: var(--s6o9-events-text);
}

.s6o9 .s6o9-page--events a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
}

.s6o9 .s6o9-page--events img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* =========================================================
   GLOBAL — peach glow divider utility
   Usage:
   - add .s6o9-divider-glow--bottom to any positioned container
   - add .s6o9-divider-glow--top for the top version later
========================================================= */

.s6o9 .s6o9-divider-glow--bottom,
.s6o9 .s6o9-divider-glow--top {
  position: relative;
}

.s6o9 .s6o9-divider-glow--bottom::after,
.s6o9 .s6o9-divider-glow--top::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  pointer-events: none;
  mix-blend-mode: soft-light;
}

.s6o9 .s6o9-divider-glow--bottom::after {
  bottom: -22px;
  height: 20px;
  background:
    linear-gradient(to bottom, var(--base-peach) 0 2px, transparent 2px),
    linear-gradient(
      0deg,
      rgba(251, 208, 188, 0) 0%,
      rgba(247, 204, 185, 0.43) 43.43%,
      rgba(233, 193, 175, 0.91) 91.06%,
      rgba(230, 190, 172, 1) 100%
    );
}

.s6o9 .s6o9-divider-glow--top::before {
  top: -2px;
  height: 47px;
  background:
    linear-gradient(to top, var(--base-peach) 0 2px, transparent 2px),
    linear-gradient(
      180deg,
      rgba(251, 208, 188, 0) 0%,
      rgba(247, 204, 185, 0.43) 43.43%,
      rgba(233, 193, 175, 0.91) 91.06%,
      rgba(230, 190, 172, 1) 100%
    );
}

/* =========================================================
   SECTION SPACING HELPERS
========================================================= */

.s6o9 .s6o9-section {
  position: relative;
  width: 100%;
}

.s6o9 .s6o9-section--tight {
  padding-block: 48px;
}

.s6o9 .s6o9-section--standard {
  padding-block: 72px;
}

.s6o9 .s6o9-section--loose {
  padding-block: 96px;
}

.s6o9 .s6o9-section--flush-top {
  padding-top: 0;
}

.s6o9 .s6o9-section--flush-bottom {
  padding-bottom: 0;
}

/* .s6o9 .s6o9-section--rule-top::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: var(--s6o9-events-line);
}

.s6o9 .s6o9-section--rule-bottom::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: var(--s6o9-events-line);
} */

/* =========================================================
   WIDTH HELPERS
   - All section wrappers = Full Width (Elementor)
   - Width is controlled ONLY by these inner container classes
========================================================= */

/* -------------------------
   FIXED WIDTHS (stable)
------------------------- */

.s6o9 .s6o9-width--boxed {
  max-width: min(100%, 1140px);
  margin-inline: auto;
}

.s6o9 .s6o9-width--boxed-wide {
  width: min(92vw, var(--s6o9-max-fixed-elem-width));
  margin-inline: auto;
}

/* -------------------------
   FLUID WIDTHS (breathing)
------------------------- */

.s6o9 .s6o9-width--fluid-mid {
  width: min(88vw, 1280px);
  margin-inline: auto;
}

.s6o9 .s6o9-width--fluid-wide {
  width: min(92vw, 1320px);
  margin-inline: auto;
}

/* -------------------------
   FORCED ELEMENT WIDTHS
------------------------- */
.s6o9-elem-width--max-fixed {
  width: 100%;
  max-width: var(--s6o9-max-fixed-elem-width);
  margin-inline: auto;
}

/* -------------------------
   LEGACY / BACK-COMPAT
   (safe to keep for now)
------------------------- */

.s6o9 .s6o9-width--narrow {
  width: min(100%, 760px);
  margin-inline: auto;
}

.s6o9 .s6o9-width--mid {
  width: min(100%, 920px);
  margin-inline: auto;
}

.s6o9 .s6o9-width--wide {
  width: min(100%, 1120px);
  margin-inline: auto;
}

/* -------------------------
   MOBILE NORMALIZATION
------------------------- */

@media (max-width: 767px) {
  .s6o9 .s6o9-width--boxed,
  .s6o9 .s6o9-width--boxed-wide,
  .s6o9 .s6o9-width--fluid-mid,
  .s6o9 .s6o9-width--fluid-wide,
  .s6o9 .s6o9-width--narrow,
  .s6o9 .s6o9-width--mid,
  .s6o9 .s6o9-width--wide {
    width: min(100% - 40px, 1320px);
    margin-inline: auto;
    width: 100%;
  }
}

/* =========================================================
   SPACING / FLOW HELPERS
========================================================= */

.s6o9 .s6o9-stack > * + * {
  margin-top: 24px;
}

.s6o9 .s6o9-stack--sm > * + * {
  margin-top: 14px;
}

.s6o9 .s6o9-stack--md > * + * {
  margin-top: 24px;
}

.s6o9 .s6o9-stack--lg > * + * {
  margin-top: 40px;
}

.s6o9 .s6o9-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.s6o9 .s6o9-divider {
  width: 100%;
  height: 1px;
  background: var(--s6o9-events-line);
}

/* =========================================================
   SEAM HELPERS
   -
   -
========================================================= */
.s6o9 .s6o9-seam {
  position: absolute;
  left: 0;
  right: 0;
  height: 80px;
  z-index: 1;
}

.s6o9 .s6o9-seam--entrance {
  bottom: 0;
}

.s6o9 .s6o9-seam--exit {
  top: 0;
}

.s6o9 .s6o9-seam--entrance::after,
.s6o9 .s6o9-seam--exit::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  height: 100%;
  z-index: 5;
}

/* .s6o9 .s6o9-seam--entrance::after {
  background: linear-gradient(
    180deg,
    rgba(60, 28, 18, 0) 0%,
    rgba(60, 28, 18, 0.04) 50%,
    rgba(60, 28, 18, 0.16) 92%,
    rgba(60, 28, 18, 0.22) 100%
  );
  mix-blend-mode: multiply;
}

.s6o9 .s6o9-seam--exit::after {
  background: linear-gradient(
    180deg,
    rgba(255, 248, 238, 0.55) 0%,
    rgba(255, 248, 238, 0.3) 18%,
    rgba(255, 248, 238, 0.1) 50%,
    rgba(255, 248, 238, 0) 100%
  );
  mix-blend-mode: screen;
} */

/* ============================================================
   S6O9 CTA Button System
   Applies to Elementor Button widgets with S6O9 CTA controls
   Classes added:
   .s6o9-cta-widget
   .s6o9-cta-widget--pink / --blue / --text
   .s6o9-cta-widget--{type}-{variant}
   ============================================================ */

/* -------------------------
   Base button reset
------------------------- */

.s6o9 .s6o9-cta-widget .elementor-button {
  --s6o9-btn-font-size: 1rem;
  --s6o9-btn-pad-y: 0.9em;
  --s6o9-btn-pad-x: 1.55em;
  --s6o9-btn-radius: 0.72em;
  --s6o9-btn-min-height: 3em;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42em;

  min-height: var(--s6o9-btn-min-height);
  padding: var(--s6o9-btn-pad-y) var(--s6o9-btn-pad-x);

  border-radius: var(--s6o9-btn-radius);

  font-family: var(--s6o9-font-primary);
  font-size: var(--s6o9-btn-font-size);
  font-weight: 600;
  line-height: 1;
  text-decoration: none !important;

  transition:
    color 180ms ease,
    opacity 180ms ease,
    transform 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.s6o9 .s6o9-cta-widget .elementor-button:hover,
.s6o9 .s6o9-cta-widget .elementor-button:focus-visible {
  transform: translateY(-1px);
}

/* -------------------------
   PRIM/SEC INLINE
------------------------- */
.s6o9 .s6o9-dual-inline-cta {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  gap: 2em;

  margin: 0;
  padding: 0;
}

/* -------------------------
   PINK TYPE
------------------------- */

.s6o9 .s6o9-cta-widget--pink .elementor-button {
  border: 2px solid rgba(255, 226, 220, 0.7);
  background: rgba(144, 49, 71, 0.84);
  box-shadow: 0 12px 30px rgba(20, 9, 6, 0.28);
  color: #fff !important;
}

.s6o9 .s6o9-cta-widget--pink .elementor-button:hover,
.s6o9 .s6o9-cta-widget--pink .elementor-button:focus-visible {
  background: rgba(144, 49, 71, 0.94);
  border-color: rgba(255, 255, 255, 0.86);
  box-shadow: 0 14px 34px rgba(20, 9, 6, 0.34);
  color: #fff !important;
}

/* -------------------------
   BLUE TYPE
------------------------- */

.s6o9 .s6o9-cta-widget--blue .elementor-button {
  border: 2px solid rgba(226, 236, 255, 0.62);
  background: var(--s6o9-events-blue);
  box-shadow: 0 12px 28px rgba(28, 45, 78, 0.24);
  color: #fff !important;
}

.s6o9 .s6o9-cta-widget--blue .elementor-button:hover,
.s6o9 .s6o9-cta-widget--blue .elementor-button:focus-visible {
  background: var(--s6o9-events-blue-hover);
  border-color: rgba(255, 255, 255, 0.82);
  box-shadow: 0 14px 32px rgba(28, 45, 78, 0.3);
  color: #fff !important;
}

/* -------------------------
   TEXT TYPE
------------------------- */

.s6o9 .s6o9-cta-widget--text .elementor-button {
  --s6o9-btn-font-size: 1rem;

  min-height: auto;
  padding: 0 0 0.18em;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  box-shadow: none;

  color: var(--deep-red) !important;
  font-family: var(--s6o9-font-primary);
  font-weight: 600;
  line-height: 1.25;
}

.s6o9 .s6o9-cta-widget--text .elementor-button:hover,
.s6o9 .s6o9-cta-widget--text .elementor-button:focus-visible {
  background: transparent;
  box-shadow: none;
  color: #5a1517 !important;
  transform: none;
}

/* ============================================================
   SHARED SIZE VARIANTS — PINK + BLUE
   ============================================================ */

.s6o9 .s6o9-cta-widget--pink-small .elementor-button,
.s6o9 .s6o9-cta-widget--blue-small .elementor-button {
  --s6o9-btn-font-size: 0.88rem;
  --s6o9-btn-pad-y: 0.72em;
  --s6o9-btn-pad-x: 1.25em;
  --s6o9-btn-min-height: 2.55em;
}

.s6o9 .s6o9-cta-widget--pink-large .elementor-button,
.s6o9 .s6o9-cta-widget--blue-large .elementor-button {
  --s6o9-btn-font-size: clamp(1.05rem, 1.15vw, 1.28rem);
  --s6o9-btn-pad-y: 0.95em;
  --s6o9-btn-pad-x: 1.85em;
  --s6o9-btn-min-height: 3.35em;
}

.s6o9 .s6o9-cta-widget--pink-wide .elementor-button,
.s6o9 .s6o9-cta-widget--blue-wide .elementor-button {
  --s6o9-btn-pad-x: 2.35em;
}

.s6o9 .s6o9-cta-widget--pink-fat .elementor-button,
.s6o9 .s6o9-cta-widget--blue-fat .elementor-button {
  --s6o9-btn-pad-y: 1.18em;
  --s6o9-btn-pad-x: 1.85em;
  --s6o9-btn-min-height: 3.75em;
}

.s6o9 .s6o9-cta-widget--pink-fluid .elementor-button,
.s6o9 .s6o9-cta-widget--blue-fluid .elementor-button {
  --s6o9-btn-font-size: clamp(0.95rem, 1.05vw, 1.18rem);
  --s6o9-btn-pad-y: clamp(0.78rem, 0.8vw, 1.05rem);
  --s6o9-btn-pad-x: clamp(1.25rem, 1.8vw, 2.4rem);
  --s6o9-btn-min-height: clamp(2.8rem, 3.4vw, 4rem);
}

.s6o9 .s6o9-cta-widget--pink-inherit .elementor-button,
.s6o9 .s6o9-cta-widget--blue-inherit .elementor-button {
  --s6o9-btn-font-size: 1em;
  --s6o9-btn-pad-y: 0.85em;
  --s6o9-btn-pad-x: 1.45em;
  --s6o9-btn-min-height: 2.9em;
}

/* ============================================================
   TEXT VARIANTS
   ============================================================ */

.s6o9 .s6o9-cta-widget--text-light .elementor-button {
  color: rgba(255, 232, 214, 0.88) !important;
}
.s6o9 .s6o9-cta-widget--text-light .elementor-button:hover {
  color: #fff !important;
}

.s6o9 .s6o9-cta-widget--text-standard .elementor-button {
  font-family: var(--s6o9-font-primary);
}

.s6o9 .s6o9-cta-widget--text-arrow .elementor-button-text::after {
  content: ' →';
}

.s6o9 .s6o9-cta-widget--text-small .elementor-button {
  --s6o9-btn-font-size: 0.88rem;
}

.s6o9 .s6o9-cta-widget--text-large .elementor-button {
  --s6o9-btn-font-size: clamp(1.08rem, 1.2vw, 1.28rem);
}

.s6o9 .s6o9-cta-widget--text-serif .elementor-button {
  color: var(--deep-red) !important;
  font-family: var(--s6o9-font-serif);
  font-size: clamp(1.05rem, 1.2vw, 1.28rem);
  font-weight: 500;
  letter-spacing: 0.01em;
}

/* ============================================================
   WIDTH HELPERS
   Use Elementor alignment normally; these are for button shape only.
   ============================================================ */

.s6o9 .s6o9-cta-widget .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42em;
}

.s6o9 .s6o9-cta-widget .elementor-button-icon {
  display: inline-flex;
  align-items: center;
}

/* ============================================================
   MOBILE NORMALIZATION
   ============================================================ */

@media (max-width: 767px) {
  .s6o9 .s6o9-cta-widget .elementor-button {
    --s6o9-btn-font-size: 0.95rem;
  }

  .s6o9 .s6o9-cta-widget--pink-large .elementor-button,
  .s6o9 .s6o9-cta-widget--blue-large .elementor-button,
  .s6o9 .s6o9-cta-widget--pink-fat .elementor-button,
  .s6o9 .s6o9-cta-widget--blue-fat .elementor-button {
    --s6o9-btn-font-size: 1rem;
    --s6o9-btn-pad-y: 0.9em;
    --s6o9-btn-pad-x: 1.4em;
    --s6o9-btn-min-height: 3em;
  }

  .s6o9 .s6o9-cta-widget--pink-wide .elementor-button,
  .s6o9 .s6o9-cta-widget--blue-wide .elementor-button {
    --s6o9-btn-pad-x: 1.7em;
  }
}

/* =========================================================
   TYPOGRAPHY UTILITIES
========================================================= */

.s6o9 .s6o9-eyebrow {
  display: inline-block;
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--s6o9-events-text-faint);
}

.s6o9 .s6o9-kicker {
  display: inline-block;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.2;
  font-weight: 600;
  color: var(--deep-red);
}

.s6o9 .s6o9-title-xl {
  margin: 0;
  font-size: clamp(2.5rem, 5.8vw, 5rem);
  line-height: 0.95;
  letter-spacing: -0.02em;
}

.s6o9 .s6o9-title-lg {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.s6o9 .s6o9-title-md {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.15rem);
  line-height: 1.08;
}

.s6o9 .s6o9-title-sm {
  margin: 0;
  font-size: clamp(1.12rem, 1.8vw, 1.4rem);
  line-height: 1.2;
}

.s6o9 .s6o9-body-lg {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.75;
  color: var(--s6o9-events-text-soft);
}

.s6o9 .s6o9-body {
  margin: 0;
  font-size: 1rem;
  line-height: 1.68;
  color: var(--s6o9-events-text-soft);
}

.s6o9 .s6o9-body-sm {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.6;
  color: var(--s6o9-events-text-soft);
}

.s6o9 .s6o9-meta {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--s6o9-events-text-faint);
}

.s6o9 .s6o9-link-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
}

.s6o9 .s6o9-link-inline:hover,
.s6o9 .s6o9-link-inline:focus-visible {
  opacity: 0.82;
}

/* =========================================================
   BUTTONS
========================================================= */

.s6o9 .s6o9-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* min-height: 46px; */
  padding: 0.82rem 1.15rem;
  border: 1px solid transparent;
  border-radius: 0.75rem;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 180ms ease,
    color 180ms ease,
    border-color 180ms ease,
    transform 180ms ease,
    opacity 180ms ease;
  cursor: pointer;
  padding-bottom: 0;
  padding-top: 0;
}

.s6o9 .s6o9-btn:hover,
.s6o9 .s6o9-btn:focus-visible {
  transform: translateY(-1px);
}

.s6o9 .s6o9-btn--primary {
  background: var(--deep-blue);
  border-color: var(--deep-blue);
  color: #fff;
}

.s6o9 .s6o9-btn--primary:hover,
.s6o9 .s6o9-btn--primary:focus-visible {
  background: var(--s6o9-events-blue-hover);
  border-color: var(--s6o9-events-blue-hover);
  color: #fff;
}

.s6o9 .s6o9-btn--secondary {
  background: transparent;
  border-color: var(--s6o9-events-line-strong);
  color: var(--s6o9-events-text);
}

.s6o9 .s6o9-btn--secondary:hover,
.s6o9 .s6o9-btn--secondary:focus-visible {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(63, 37, 30, 0.34);
}

.s6o9 .s6o9-btn--text {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}

/* =========================================================
   GENERIC SURFACES
========================================================= */

.s6o9 .s6o9-surface {
  background: var(--s6o9-events-surface);
  border: 1px solid var(--s6o9-events-line);
  border-radius: var(--s6o9-events-radius-md);
  box-shadow: var(--s6o9-events-shadow-soft);
}

.s6o9 .s6o9-surface--soft {
  background: var(--s6o9-events-surface-soft);
  border: 1px solid rgba(63, 37, 30, 0.08);
  border-radius: var(--s6o9-events-radius-md);
  box-shadow: none;
}

.s6o9 .s6o9-surface--flat {
  background: transparent;
  border: 1px solid var(--s6o9-events-line);
  border-radius: var(--s6o9-events-radius-md);
  box-shadow: none;
}

/* =========================================================
   GENERIC CARD PRIMITIVES
========================================================= */

.s6o9 .s6o9-card {
  min-width: 0;
  color: var(--s6o9-events-text);
}

.s6o9 .s6o9-card__media {
  position: relative;
  overflow: hidden;
  background: rgba(63, 37, 30, 0.08);
}

.s6o9 .s6o9-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.s6o9 .s6o9-card__body {
  min-width: 0;
}

.s6o9 .s6o9-card__title {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.22;
}

.s6o9 .s6o9-card__title a {
  color: inherit;
  text-decoration: none;
}

.s6o9 .s6o9-card__title a:hover,
.s6o9 .s6o9-card__title a:focus-visible {
  opacity: 0.82;
}

.s6o9 .s6o9-card__meta {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--s6o9-events-text-faint);
}

.s6o9 .s6o9-card__meta-group > * + * {
  margin-top: 4px;
}

.s6o9 .s6o9-card__description {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.6;
  color: var(--s6o9-events-text-soft);
}

.s6o9 .s6o9-card__price {
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 600;
  color: var(--s6o9-events-text);
}

.s6o9 .s6o9-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: auto;
}

/* ============================================================
   s6o9 Event Card — shared base
   ------------------------------------------------------------
   Container-query container; internals scale to rendered width
   via cqi-based font-size. Card has zero awareness of placement;
   parent owns layout. Drops into any block-level container and
   fills its width like any other block element.

   Orientation: --horizontal | --vertical (layout only)
   Editorial role classes (e.g. is-featured) are reserved for
   future treatment differences (accent, eyebrow, etc.) — they
   do NOT control size. Size is a parent/layout concern.
   ============================================================ */

.s6o9 .s6o9-featured__inner {
  width: 100%;
}

.s6o9 .s6o9-event-card {
  container-type: inline-size;
  position: relative;
  width: 100%;
  isolation: isolate;
  border-radius: 0.9em;
  overflow: hidden;
  background: var(--ec-peach);
  font-family: 'Source Sans 3', system-ui, sans-serif;
  /* 1cqi = 1% of card's inline width. Internals scale with the card. */
  font-size: clamp(13px, 1.55cqi, 22px);
  line-height: 1.4;
  color: var(--ec-body);
  border: 1.5px solid rgba(120, 60, 50, 0.15);
  box-shadow:
    0 1px 1px rgba(120, 60, 40, 0.06),
    0 0.25em 0.6em -0.15em rgba(180, 90, 70, 0.18),
    0 0.9em 1.8em -0.4em rgba(170, 80, 60, 0.22),
    0 1.8em 3.2em -0.8em rgba(150, 70, 55, 0.18);
  box-sizing: border-box;
}

.s6o9 .s6o9-event-card *,
.s6o9 .s6o9-event-card *::before,
.s6o9 .s6o9-event-card *::after {
  box-sizing: inherit;
}

/* Painterly gradient surface — orientation modifiers re-tune
   the radial centers via the --ec-* custom props below. */
.s6o9 .s6o9-event-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.5;
  mix-blend-mode: multiply;
  background:
    radial-gradient(
      circle at var(--ec-warm-x, 60%) var(--ec-warm-y, 43%),
      rgba(255, 222, 166, 1) 0%,
      rgba(255, 188, 121, 0.62) 39%,
      rgba(255, 188, 121, 0) 70%
    ),
    radial-gradient(
      circle at var(--ec-pink-x, 82%) var(--ec-pink-y, 76%),
      rgba(214, 95, 133, 0.6) 0%,
      rgba(214, 95, 133, 0.22) 34%,
      rgba(214, 95, 133, 0) 68%
    ),
    linear-gradient(
      var(--ec-base-angle, 90deg),
      rgba(219, 170, 139, 1) 0%,
      rgba(247, 181, 124, 1) 45%,
      rgba(246, 164, 137, 1) 72%,
      rgba(226, 115, 147, 1) 100%
    );
}

/* ---------- Image ---------- */

.s6o9 .s6o9-event-card .s6o9-event-card__image {
  position: relative;
  overflow: hidden;
  min-width: 0;
}

.s6o9 .s6o9-event-card .s6o9-event-card__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  display: block;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  /* Mask direction set per orientation */
}

.s6o9 .s6o9-event-card__image-overlay {
  display: none;
}

/* ---------- Badge (overrides global pill .s6o9-badge) ---------- */

.s6o9 .s6o9-event-card .s6o9-badge {
  position: absolute;
  top: 1.1em;
  left: 0;
  z-index: 2;
  display: inline-block;
  min-height: 0;
  background: var(--ec-badge);
  color: #fff;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.72em;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding: 0.7em 1.1em 0.65em 1.15em;
  border-radius: 0 0.35em 0.35em 0;
  white-space: nowrap;
  box-shadow: 0 0.15em 0.4em rgba(60, 80, 75, 0.2);
}

.s6o9 .s6o9-event-card .s6o9-badge--members {
  background: var(--ec-badge);
  color: #fff;
}

/* ---------- Content ---------- */

.s6o9 .s6o9-event-card .s6o9-event-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  /* Padding set per orientation */
}

.s6o9 .s6o9-event-card .s6o9-event-card__title {
  margin: 0;
  font-family: var(--s6o9-font-display);
  font-weight: 700;
  font-size: 2.05em;
  line-height: 0.98;
  color: var(--ec-navy-deep);
  letter-spacing: -0.005em;
  text-wrap: balance;
}

.s6o9 .s6o9-event-card .s6o9-event-card__meta {
  margin: -0.25em 0 0;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.25;
  color: var(--ec-meta);
}

.s6o9 .s6o9-event-card .s6o9-event-card__meta-separator {
  display: inline-block;
  margin: 0 0.4em;
  transform: translateY(-0.05em);
  opacity: 0.5;
}

.s6o9 .s6o9-event-card .s6o9-event-card__description {
  margin: 1.1em 0 0;
  font-size: 1em;
  line-height: 1.5;
  color: var(--ec-body);
  max-width: 38em;
  text-wrap: pretty;
}

/* ---------- CTA (overrides global pill .s6o9-btn) ---------- */

.s6o9 .s6o9-event-card .s6o9-btn {
  align-self: flex-start;
  margin-top: 1em;
  display: inline-block;
  min-height: 0;
  background: var(--ec-navy);
  color: #fff;
  text-decoration: none;
  font-family: 'Source Sans 3', sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-size: 0.95em;
  padding: 0.85em 1.55em;
  border-radius: 0.45em;
  border: 0;
  cursor: pointer;
  transition:
    background 0.15s ease,
    transform 0.15s ease;
}

.s6o9 .s6o9-event-card .s6o9-btn:hover {
  background: var(--ec-navy-deep);
  transform: none;
}

.s6o9 .s6o9-event-card .s6o9-btn:active {
  transform: translateY(1px);
}

/* Restricted-access state — quiet red text link */
.s6o9 .s6o9-event-card[data-access-state='restricted'] .s6o9-btn--secondary {
  background: transparent;
  color: var(--deep-red);
  font-weight: 600;
  font-size: 0.95em;
  letter-spacing: 0.01em;
  text-transform: none;
  padding: 0.3em 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  min-height: 0;
}

.s6o9
  .s6o9-event-card[data-access-state='restricted']
  .s6o9-btn--secondary:hover {
  background: transparent;
  color: #5a1517;
  transform: none;
}

/* ============================================================
   HORIZONTAL — image left, content right
   ============================================================ */

.s6o9 .s6o9-event-card--horizontal {
  display: grid;
  grid-template-columns: 38% 1fr;
  align-items: stretch;
}

.s6o9 .s6o9-event-card--horizontal .s6o9-event-card__image {
  align-self: stretch;
  justify-self: stretch;
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.s6o9 .s6o9-event-card--horizontal .s6o9-event-card__image img {
  -webkit-mask-image: linear-gradient(
    to right,
    #000 0%,
    #000 70%,
    rgba(0, 0, 0, 0.6) 88%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: linear-gradient(
    to right,
    #000 0%,
    #000 70%,
    rgba(0, 0, 0, 0.6) 88%,
    rgba(0, 0, 0, 0) 100%
  );
}

.s6o9 .s6o9-event-card--horizontal .s6o9-event-card__content {
  padding: 1.85em 2.1em 1.95em 1.7em;
}

/* When the card itself is narrow (not the viewport — the card),
   stack image above content. Container query, not media query. */
@container (max-width: 540px) {
  .s6o9 .s6o9-event-card--horizontal {
    grid-template-columns: 1fr;
  }
  .s6o9 .s6o9-event-card--horizontal .s6o9-event-card__image {
    aspect-ratio: 4 / 3;
    height: auto;
    min-height: 0;
  }
  .s6o9 .s6o9-event-card--horizontal .s6o9-event-card__image img {
    -webkit-mask-image: linear-gradient(
      to bottom,
      #000 0%,
      #000 70%,
      rgba(0, 0, 0, 0.6) 88%,
      rgba(0, 0, 0, 0) 100%
    );
    mask-image: linear-gradient(
      to bottom,
      #000 0%,
      #000 70%,
      rgba(0, 0, 0, 0.6) 88%,
      rgba(0, 0, 0, 0) 100%
    );
  }
}

/* ============================================================
   VERTICAL — image top, content below
   Re-tunes gradient centers for portrait proportions.
   ============================================================ */

.s6o9 .s6o9-event-card--vertical {
  display: flex;
  flex-direction: column;
  --ec-warm-x: 50%;
  --ec-warm-y: 28%;
  --ec-pink-x: 78%;
  --ec-pink-y: 86%;
  --ec-base-angle: 175deg;
}

.s6o9 .s6o9-event-card--vertical .s6o9-event-card__image {
  width: 100%;
  aspect-ratio: 4 / 3;
}

.s6o9 .s6o9-event-card--vertical .s6o9-event-card__image img {
  -webkit-mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 70%,
    rgba(0, 0, 0, 0.6) 88%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 35%,
    rgba(0, 0, 0, 0.6) 60%,
    rgba(0, 0, 0, 0) 100%
  );
}

.s6o9 .s6o9-event-card--vertical .s6o9-event-card__content {
  padding: 1.7em 1.9em 1.95em 1.7em;
  margin-top: -3em;
}

.s6o9 .s6o9-event-card--vertical .s6o9-event-card__description {
  max-width: none;
}

/* =========================================================
   BADGES
========================================================= */

.s6o9 .s6o9-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.76rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.s6o9 .s6o9-badge--type {
  background: rgba(41, 77, 134, 0.12);
  color: #294d86;
}

.s6o9 .s6o9-badge--members {
  background: rgba(91, 118, 96, 0.14);
  color: #5b7660;
}

.s6o9 .s6o9-badge--private {
  background: rgba(63, 37, 30, 0.1);
  color: var(--s6o9-events-text);
}

/* =========================================================
   FEATURED GRID HELPER
========================================================= */

.s6o9 .s6o9-featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

/* =========================================================
   RESPONSIVE FOUNDATION
========================================================= */

@media (max-width: 1024px) {
  .s6o9 .s6o9-section--standard {
    padding-block: 64px;
  }

  .s6o9 .s6o9-section--loose {
    padding-block: 84px;
  }

  .s6o9 .s6o9-featured-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .s6o9 .s6o9-section--tight {
    padding-block: 40px;
  }

  .s6o9 .s6o9-section--standard {
    padding-block: 52px;
  }

  .s6o9 .s6o9-section--loose {
    padding-block: 64px;
  }
}

/* =========================================================
   HERO SYSTEM (GLOBAL)
   Shared hero content / typography / CTA pattern
   Page-specific heroes should only override:
   - media treatment
   - positioning/layout nuances
   - CTA presentation variants only when truly necessary
========================================================= */

.s6o9 .s6o9-hero {
  position: relative;
  overflow: hidden;
  min-height: 78svh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding-inline: clamp(1.25rem, 4vw, 4.5rem);
  color: #fff;
}

.s6o9 .s6o9-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: var(--base-peach);
  background-blend-mode: luminosity;
  -webkit-mask-image: linear-gradient(
    to bottom,
    black 0%,
    black calc(100% - 64px),
    rgba(0, 0, 0, 0.82) calc(100% - 34px),
    rgba(0, 0, 0, 0.35) calc(100% - 14px),
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    black 0%,
    black calc(100% - 64px),
    rgba(0, 0, 0, 0.82) calc(100% - 34px),
    rgba(0, 0, 0, 0.35) calc(100% - 14px),
    transparent 100%
  );
}

.s6o9 .s6o9-hero__brand,
.s6o9 .s6o9-hero__content {
  position: relative;
  z-index: 3;
}

.s6o9 .s6o9-hero__brand-image img {
  display: block;
  width: clamp(150px, 16vw, 230px);
  height: auto;
}

.s6o9 .s6o9-hero__content {
  width: 100%;
  max-width: 30vw;
  margin: 0 0 0 clamp(20px, 2.5vw, 36px);
  padding: 0;
  font-size: clamp(0.875rem, 0.8vw, 1.5rem);
}

/* .s6o9 .s6o9-hero__content:has(.s6o9-hero__cta--button) {
  max-width: min(72%, 920px);
  max-width: 30vw;
} */

.s6o9 .s6o9-hero__title,
.s6o9 .s6o9-hero__title * {
  margin: 0;
  color: #fff !important;
  white-space: normal;
  word-break: normal;
  font-size: inherit;
}

.s6o9 .s6o9-hero__title .elementor-heading-title {
  font-size: 4em !important;
  line-height: 0.92;
  letter-spacing: -0.03em;
}

.s6o9 .s6o9-hero__body {
  width: 100%;
  margin-top: 0.25em;
  font-size: 2em;
  line-height: 1.15;
}

.s6o9 .s6o9-hero__body,
.s6o9 .s6o9-hero__body .elementor-widget-container,
.s6o9 .s6o9-hero__body p,
.s6o9 .s6o9-hero__body a {
  color: rgba(255, 255, 255, 0.9) !important;
}

.s6o9 .s6o9-hero__body p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}

.s6o9 .s6o9-hero__cta {
  width: auto;
  margin-top: 1em;
}

.s6o9 .s6o9-hero__cta .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    color 180ms ease,
    opacity 180ms ease,
    transform 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.s6o9 .s6o9-hero__cta .elementor-button:hover,
.s6o9 .s6o9-hero__cta .elementor-button:focus-visible {
  transform: translateY(-1px);
}

.s6o9 .s6o9-hero__cta .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
}

.s6o9 .s6o9-hero__cta--text-link .elementor-button {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
  font-family: var(--s6o9-font-serif);
  font-size: 1.2em;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
  color: #fadcc9;
}

.s6o9 .s6o9-hero__cta--text-link .elementor-button span > span {
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.8) !important;
}

.s6o9 .s6o9-hero__cta--text-link .elementor-button span > span::after {
  content: ' →';
  /* font-size: 0.92em; */
}

.s6o9 .s6o9-hero__cta--text-link .elementor-button:hover,
.s6o9 .s6o9-hero__cta--text-link .elementor-button:focus-visible {
  opacity: 0.82;
}

.s6o9 .s6o9-hero__cta--button .elementor-button {
  min-height: 3em;
  padding: 0.78em 1.25em;
  border: 2px solid rgba(255, 236, 232, 0.72);
  border-radius: 12px;
  background: rgba(144, 49, 71, 0.82);
  box-shadow: 0 12px 28px rgba(37, 19, 13, 0.22);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #fff;
  font-family: var(--s6o9-font-primary);
  font-size: 1em;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.s6o9 .s6o9-hero__cta--button .elementor-button-content-wrapper::after {
  content: none;
}

.s6o9 .s6o9-hero__cta--button .elementor-button:hover,
.s6o9 .s6o9-hero__cta--button .elementor-button:focus-visible {
  opacity: 1;
  background: rgba(144, 49, 71, 0.92);
  border-color: rgba(255, 255, 255, 0.85);
  box-shadow: 0 14px 32px rgba(37, 19, 13, 0.28);
}

/* =========================================================
   /events HERO
========================================================= */

.s6o9 .s6o9-page--events {
  background: var(--base-peach);
  min-height: 100vh;
}

.s6o9 .s6o9-page--events .s6o9-hero__media {
  background-color: var(--base-peach);
  background-blend-mode: luminosity;
}

.s6o9 .s6o9-page--events .s6o9-hero__media::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    200deg,
    rgba(24, 14, 11, 0) 60%,
    rgba(24, 14, 11, 1) 100%
  );
  pointer-events: none;
  opacity: 0.3;
}

.s6o9 .s6o9-page--events .s6o9-hero__cta--text-link .elementor-button {
  font-size: 1.2em;
  text-underline-offset: 10px;
  transition:
    text-underline-offset 180ms ease,
    text-shadow 180ms ease,
    opacity 180ms ease;
}

.s6o9 .s6o9-page--events .s6o9-hero__cta--text-link .elementor-button:hover {
  opacity: 0.7;
  text-underline-offset: 7px;
  text-shadow: none;
}

/* =========================================================
   /membership HERO
========================================================= */

.s6o9 .s6o9-membership-hero {
  position: relative;
  overflow: hidden;
  min-height: 78svh;
  display: flex;
  align-items: stretch;
  background: var(--base-peach);
  color: #fff;
}

.s6o9 .s6o9-membership-hero__media {
  background-color: #b98a74;
  background-position: center 58%;
  background-blend-mode: multiply;
}

.s6o9 .s6o9-membership-hero__inner {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  width: 100%;
  min-height: 78svh;
  padding: clamp(2.5rem, 4vw, 4rem) 0 clamp(2rem, 5vw, 3.5rem);
}

@media (max-width: 767px) {
  .s6o9 .s6o9-hero {
    min-height: 68svh;
    padding: 14px 20px 40px 20px;
  }

  .s6o9 .s6o9-hero__brand-image img {
    width: clamp(130px, 34vw, 180px);
  }

  .s6o9 .s6o9-hero__content {
    max-width: 420px;
  }

  .s6o9 .s6o9-hero__content:has(.s6o9-hero__cta--button) {
    max-width: 420px;
  }

  .s6o9 .s6o9-hero__title .elementor-heading-title {
    font-size: clamp(2rem, 9vw, 3.2rem) !important;
    line-height: 0.98;
  }

  .s6o9 .s6o9-hero__body {
    font-size: 1rem;
    line-height: 1.55;
  }

  .s6o9 .s6o9-hero__cta--text-link .elementor-button {
    font-size: 0.95rem;
  }

  .s6o9 .s6o9-hero__cta--button .elementor-button {
    font-size: 0.95rem;
  }

  .s6o9 .s6o9-membership-hero,
  .s6o9 .s6o9-membership-hero__inner {
    min-height: 68svh;
  }

  .s6o9 .s6o9-membership-hero__inner {
    padding: 20px 0 28px;
  }

  .s6o9 .s6o9-membership-hero__media {
    background-position: 62% 54%;
  }
}

/* =========================================================
   /events INTRO
========================================================= */

.s6o9 .s6o9-intro {
  text-align: center;
  padding-top: 72px;
  padding-bottom: 78px;

  /* base scale for this section */
  --intro-unit: clamp(0.28rem, 0.32vw, 0.34rem);
}

.s6o9 .s6o9-intro__inner {
  width: 100%;
}

/* -------------------------
   H2 (8 units)
------------------------- */

.s6o9 .s6o9-intro .s6o9-title-sm,
.s6o9 .s6o9-intro .s6o9-title-sm * {
  margin: 0;
  color: var(--deep-red);
  font-family: 'Roboto Slab', serif;
  font-size: calc(var(--intro-unit) * 8);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -0.015em;
}

/* -------------------------
   BODY (6 units)
------------------------- */

.s6o9 .s6o9-intro .s6o9-body-sm p {
  margin: 0;
  color: var(--deep-red);
  font-family: 'Roboto Slab', serif;
  font-size: calc(var(--intro-unit) * 6);
  font-weight: 400;
  line-height: 1.5;
}

.s6o9 .s6o9-intro .s6o9-body-sm {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
}

/* -------------------------
   LINK (5 units)
------------------------- */

.s6o9 .s6o9-intro .s6o9-link-inline {
  display: inline-flex;
  justify-content: center;
  margin-inline: auto;
}

.s6o9 .s6o9-intro .s6o9-link-inline a {
  color: var(--deep-red);
  font-family: 'Roboto Slab', serif;
  font-size: calc(var(--intro-unit) * 5);
  font-weight: 400;
  line-height: 1.3;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.s6o9 .s6o9-intro .s6o9-link-inline a:hover,
.s6o9 .s6o9-intro .s6o9-link-inline a:focus-visible {
  opacity: 0.82;
}

/* -------------------------
   MOBILE
------------------------- */

@media (max-width: 767px) {
  .s6o9 .s6o9-intro {
    padding-top: 54px;
    padding-bottom: 58px;

    --intro-unit: clamp(0.26rem, 0.9vw, 0.32rem);
  }

  .s6o9 .s6o9-intro .s6o9-body-sm {
    max-width: 100%;
  }
}

/* =========================================================
   /events FEATURED ROW
========================================================= */
/* .s6o9-featured__inner article.s6o9-event-card--vertical {
  max-width: 640px;
} */
.s6o9-featured__inner article.s6o9-event-card--horizontal {
  max-width: var(--s6o9-max-fixed-elem-width);
}

/* /events featured row — 3-up vertical cards */
.s6o9 .s6o9-featured__inner {
  max-width: 88vw;
  margin-inline: auto;
}

.s6o9 .s6o9-featured__inner .elementor-widget-shortcode,
.s6o9 .s6o9-featured__inner .elementor-shortcode {
  width: 100%;
}

.s6o9 .s6o9-featured__inner .elementor-shortcode {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.s6o9 .s6o9-featured__inner .s6o9-event-card--vertical {
  max-width: none;
  height: 100%;
}

@media (max-width: 1024px) {
  .s6o9 .s6o9-featured__inner .elementor-shortcode {
    grid-template-columns: 1fr;
  }
}

/* .s6o9 .s6o9-featured__inner {
  width: 100%;
  max-width: 1140px;
}

.s6o9 .s6o9-featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.s6o9 .s6o9-featured-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
  border-radius: 18px;
  border: 1px solid rgba(63, 37, 30, 0.14);
  background: rgba(255, 255, 255, 0.35);
  box-shadow: 0 12px 28px rgba(63, 37, 30, 0.1);
  color: rgba(63, 37, 30, 0.6);
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

@media (max-width: 1024px) {
  .s6o9 .s6o9-featured-grid {
    grid-template-columns: 1fr;
  }
} */

/* =========================================================
   /events HOW ACCESS WORKS
========================================================= */

.s6o9 .s6o9-access-band__inner {
  width: 100%;
  max-width: 1140px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 400px minmax(0, 1fr);
  column-gap: 64px;
  align-items: start;
  padding: 34px 0 36px;
}

.s6o9 .s6o9-access-band__intro {
  width: 100%;
  align-self: start;
}

.s6o9 .s6o9-access-band__body {
  width: 100%;
  max-width: 640px;
  align-self: start;
}

.s6o9 .s6o9-access-band__title,
.s6o9 .s6o9-access-band__title * {
  margin: 0;
  color: rgba(63, 37, 30, 0.96);
  font-family: var(--s6o9-font-primary);
  font-size: clamp(1.7rem, 1.65vw, 1.95rem);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: 0;
}

.s6o9 .s6o9-access-band__note {
  margin-top: 12px;
}

.s6o9 .s6o9-access-band__note p {
  margin: 0;
  color: rgba(63, 37, 30, 0.64);
  font-family: var(--s6o9-font-primary);
  font-size: clamp(1rem, 0.92vw, 1.08rem);
  font-weight: 400;
  line-height: 1.34;
}

.s6o9 .s6o9-access-band__text p {
  margin: 0;
  color: rgba(63, 37, 30, 0.82);
  font-family: var(--s6o9-font-serif);
  font-size: clamp(1.7rem, 1.7vw, 2rem);
  font-weight: 400;
  line-height: 1.32;
}

.s6o9 .s6o9-access-band__link {
  margin-top: 18px;
}

.s6o9 .s6o9-access-band__link,
.s6o9 .s6o9-access-band__link a,
.s6o9 .s6o9-access-band__link * {
  color: var(--deep-red);
  font-family: var(--s6o9-font-primary);
}

.s6o9 .s6o9-access-band__link a {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  text-decoration: none;
  font-size: clamp(0.98rem, 0.86vw, 1.04rem);
  font-weight: 400;
  line-height: 1.25;
}

.s6o9 .s6o9-access-band__link a::before {
  content: '→';
  font-size: 0.95em;
}

.s6o9 .s6o9-access-band__link a:hover,
.s6o9 .s6o9-access-band__link a:focus-visible {
  opacity: 0.82;
}

@media (max-width: 1024px) {
  .s6o9 .s6o9-access-band__inner {
    grid-template-columns: 340px minmax(0, 1fr);
    column-gap: 40px;
  }

  .s6o9 .s6o9-access-band__body {
    max-width: none;
  }
}

@media (max-width: 900px) {
  .s6o9 .s6o9-access-band__inner {
    grid-template-columns: 1fr;
    row-gap: 28px;
    width: min(100% - 40px, 1140px);
    padding: 28px 0 30px;
  }

  .s6o9 .s6o9-access-band__body {
    max-width: none;
  }

  .s6o9 .s6o9-access-band__note {
    margin-top: 10px;
  }
}

@media (max-width: 767px) {
  .s6o9 .s6o9-access-band__title,
  .s6o9 .s6o9-access-band__title * {
    font-size: clamp(1.45rem, 5.4vw, 1.7rem);
  }

  .s6o9 .s6o9-access-band__note p {
    font-size: 0.98rem;
    line-height: 1.34;
  }

  .s6o9 .s6o9-access-band__text p {
    font-size: clamp(1.24rem, 4.8vw, 1.5rem);
    line-height: 1.36;
  }

  .s6o9 .s6o9-access-band__link a {
    font-size: 0.95rem;
  }
}

/* =========================================================
   /events FULL CALENDAR STUB
========================================================= */

.s6o9 .s6o9-events-calendar {
  padding-top: 84px;
  padding-bottom: 110px;
  background-image: linear-gradient(
    to bottom,
    #fbd0bc,
    #fbccb4 30%,
    #fbccb4 100%
  );
}

.s6o9 .s6o9-events-calendar-stub {
  width: 100%;
}

.s6o9 .s6o9-events-month + .s6o9-events-month {
  margin-top: 86px;
}

.s6o9 .s6o9-events-month__title {
  margin: 0 0 24px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--s6o9-events-line);
  color: var(--s6o9-events-blue);
  font-family: var(--s6o9-font-serif);
  font-size: clamp(1.6rem, 2.1vw, 2rem);
  font-weight: 400;
  line-height: 1.1;
}

.s6o9 .s6o9-events-month__list {
  display: grid;
  gap: 48px;
}

.s6o9 .s6o9-events-row {
  width: 100%;
}

.s6o9 .s6o9-events-row__stub {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 148px;
  width: 100%;
  border-radius: 18px;
  border: 1px solid rgba(63, 37, 30, 0.14);
  background: rgba(255, 255, 255, 0.35);
  box-shadow: 0 12px 28px rgba(63, 37, 30, 0.1);
  color: rgba(63, 37, 30, 0.6);
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.s6o9 .s6o9-events-calendar-stub__footer {
  display: flex;
  justify-content: center;
  margin-top: 42px;
}

.s6o9 .s6o9-events-calendar-stub__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--deep-red);
  font-family: var(--s6o9-font-serif);
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 400;
  text-decoration: none;
}

.s6o9 .s6o9-events-calendar-stub__more:hover,
.s6o9 .s6o9-events-calendar-stub__more:focus-visible {
  opacity: 0.82;
}

@media (max-width: 1024px) {
  .s6o9 .s6o9-events-calendar {
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .s6o9 .s6o9-events-month + .s6o9-events-month {
    margin-top: 72px;
  }

  .s6o9 .s6o9-events-month__title {
    margin-bottom: 22px;
  }
}

@media (max-width: 767px) {
  .s6o9 .s6o9-events-calendar {
    padding-top: 56px;
    padding-bottom: 62px;
  }

  .s6o9 .s6o9-events-month + .s6o9-events-month {
    margin-top: 56px;
  }

  .s6o9 .s6o9-events-month__title {
    margin-bottom: 18px;
    padding-bottom: 8px;
    font-size: clamp(1.35rem, 6vw, 1.65rem);
  }

  .s6o9 .s6o9-events-month__list {
    gap: 14px;
  }

  .s6o9 .s6o9-events-row__stub {
    min-height: 128px;
    border-radius: 16px;
    font-size: 0.82rem;
    letter-spacing: 0.07em;
  }

  .s6o9 .s6o9-events-calendar-stub__footer {
    margin-top: 34px;
  }
}

/* =========================================================
   /events LODGING PROMO — IMAGE LAYER + OVERLAY CAPTION
   Elementor structure:
   - section: s6o9-section s6o9-section--standard s6o9-lodging
   - inner: s6o9-width--boxed s6o9-lodging__inner
   - panel: s6o9-lodging__panel
   - image widget: s6o9-lodging__media
   - overlay container: s6o9-lodging__overlay
   - heading widget: s6o9-lodging__overlay-heading
   - text widget: s6o9-lodging__overlay-text
   - link widget: s6o9-lodging__overlay-link

   Elementor notes:
   - no background image on the panel
   - image widget set to full size
   - no padding/background/width on overlay in Elementor
   - panel can remain default positioning in Elementor; CSS handles it
========================================================= */

.s6o9 .s6o9-lodging {
  padding-top: 114px;
  padding-bottom: 96px;
}

.s6o9 .s6o9-lodging__inner {
  position: relative;
}

.s6o9 .s6o9-lodging__panel {
  position: relative;
  width: 100%;
  margin-top: -20px;
}

/* -------------------------
   Image layer
   Preserve full artwork and edge treatment
------------------------- */

.s6o9 .s6o9-lodging__media,
.s6o9 .s6o9-lodging__media .elementor-widget-container,
.s6o9 .s6o9-lodging__media .elementor-image {
  display: block;
  width: 100%;
}

.s6o9 .s6o9-lodging__media img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;

  transform: translateX(-2%); /* recenters after scaling */
}

/* -------------------------
   Overlay
------------------------- */

.s6o9 .s6o9-lodging__panel > .s6o9-lodging__overlay {
  position: absolute;
  right: -5px;
  top: -18px;
  z-index: 3;

  width: min(420px, 42%);
  padding: 32px 30px 26px;

  border-radius: 14px;
  background: rgba(251, 224, 211, 0.74);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);

  box-shadow: 0 10px 26px rgba(63, 37, 30, 0.08);
}

/* -------------------------
   Heading
------------------------- */

.s6o9 .s6o9-lodging__overlay-heading,
.s6o9 .s6o9-lodging__overlay-heading *,
.s6o9 .s6o9-lodging__overlay-heading .elementor-heading-title {
  margin: 0;
  color: rgba(105, 44, 36, 0.92);
  font-family: var(--s6o9-font-serif) !important;
  font-size: clamp(1.95rem, 2.2vw, 2.6rem) !important;
  font-weight: 400 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.02em !important;
  text-wrap: balance;
}

/* -------------------------
   Body
------------------------- */

.s6o9 .s6o9-lodging__overlay-text {
  margin-top: 12px;
  max-width: 22ch;
}

.s6o9 .s6o9-lodging__overlay-text,
.s6o9 .s6o9-lodging__overlay-text *,
.s6o9 .s6o9-lodging__overlay-text p {
  margin: 0;
  color: rgba(88, 56, 46, 0.84) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  line-height: 1.54 !important;
}

.s6o9 .s6o9-lodging__overlay-text p + p {
  margin-top: 0.8em;
}

/* -------------------------
   Link
------------------------- */

.s6o9 .s6o9-lodging__overlay-link {
  margin-top: 10px;
  text-align: right;
}

.s6o9 .s6o9-lodging__overlay-link,
.s6o9 .s6o9-lodging__overlay-link *,
.s6o9 .s6o9-lodging__overlay-link p,
.s6o9 .s6o9-lodging__overlay-link a {
  color: rgba(105, 44, 36, 0.92) !important;
  font-family: var(--s6o9-font-serif) !important;
}

.s6o9 .s6o9-lodging__overlay-link p {
  margin: 0;
}

.s6o9 .s6o9-lodging__overlay-link a {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.34rem;
  margin-left: auto;

  font-size: 0.94rem !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;

  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.s6o9 .s6o9-lodging__overlay-link a::after {
  content: '→';
  font-size: 0.92em;
}

.s6o9 .s6o9-lodging__overlay-link a:hover,
.s6o9 .s6o9-lodging__overlay-link a:focus-visible {
  opacity: 0.82;
}

/* -------------------------
   Tablet
------------------------- */

@media (max-width: 1024px) {
  .s6o9 .s6o9-lodging {
    padding-top: 76px;
    padding-bottom: 84px;
  }

  .s6o9 .s6o9-lodging__panel > .s6o9-lodging__overlay {
    width: min(390px, 46%);
    padding: 24px 24px 19px;
  }

  .s6o9 .s6o9-lodging__overlay-heading,
  .s6o9 .s6o9-lodging__overlay-heading *,
  .s6o9 .s6o9-lodging__overlay-heading .elementor-heading-title {
    font-size: clamp(1.7rem, 2.6vw, 2.1rem) !important;
  }

  .s6o9 .s6o9-lodging__overlay-text,
  .s6o9 .s6o9-lodging__overlay-text *,
  .s6o9 .s6o9-lodging__overlay-text p {
    font-size: 0.94rem !important;
  }
}

/* -------------------------
   Mobile
------------------------- */

@media (max-width: 767px) {
  .s6o9 .s6o9-lodging {
    padding-top: 58px;
    padding-bottom: 64px;
  }

  .s6o9 .s6o9-lodging__panel > .s6o9-lodging__overlay {
    right: 0;
    bottom: 0;
    width: min(72%, 100%);
    padding: 20px 20px 17px;
    border-radius: 12px;
    background: rgba(251, 224, 211, 0.78);
  }

  .s6o9 .s6o9-lodging__overlay-heading,
  .s6o9 .s6o9-lodging__overlay-heading *,
  .s6o9 .s6o9-lodging__overlay-heading .elementor-heading-title {
    font-size: clamp(1.55rem, 7vw, 2rem) !important;
    line-height: 1 !important;
  }

  .s6o9 .s6o9-lodging__overlay-text {
    max-width: none;
    margin-top: 10px;
  }

  .s6o9 .s6o9-lodging__overlay-text,
  .s6o9 .s6o9-lodging__overlay-text *,
  .s6o9 .s6o9-lodging__overlay-text p {
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
  }

  .s6o9 .s6o9-lodging__overlay-link {
    margin-top: 9px;
  }

  .s6o9 .s6o9-lodging__overlay-link a {
    font-size: 0.91rem !important;
  }
}
/* ========================================
   /events PHOTO STRIP
======================================== */

.s6o9 .s6o9-photo-strip {
  padding-top: 14px;
  padding-bottom: 76px;
  overflow: hidden;
}

.s6o9 .s6o9-photo-strip__inner {
  width: 100%;
  max-width: none;
  margin: 0;
  align-items: center;
}

.s6o9 .s6o9-photo-strip__intro {
  width: min(100% - 48px, 760px);
  margin: 0 auto 28px;
  text-align: center;
}

.s6o9 .s6o9-photo-strip__intro,
.s6o9 .s6o9-photo-strip__intro *,
.s6o9 .s6o9-photo-strip__intro p {
  margin: 0;
  color: rgba(122, 69, 58, 0.78) !important;
  font-family: var(--s6o9-font-serif) !important;
  font-size: clamp(1rem, 1.04vw, 1.16rem) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

/* rail controls width + alignment */

.s6o9 .s6o9-photo-strip__rail {
  position: relative;
  width: min(100% - 10vw, 1480px);
  margin: 0 auto;

  display: flex;
  align-items: flex-start;
  justify-content: center;

  gap: 6px;
}

.s6o9 .s6o9-photo-strip__rail::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-color: #fbc7a8;
  height: 6vw;
  top: 60%;
  left: -2.5%;
  width: 105%;
  border-radius: 10px;
  opacity: 0.6;
  /* background-image: linear-gradient(
    to right,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 10%,
    rgba(255, 255, 255, 0) 90%,
    rgba(255, 255, 255, 1) 100%
  ); */
}

/* items */

.s6o9 .s6o9-photo-strip__item {
  position: relative;
  flex: 0 0 auto;
  overflow: hidden;
  padding: 0;
  box-shadow:
    0 2px 6px rgba(0, 0, 0, 0.06),
    0 10px 22px rgba(0, 0, 0, 0.07);
  border-radius: 4px;
  z-index: 10;
}

.s6o9 .s6o9-photo-strip__item::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(0, 0, 0, 0);
  opacity: 1;
  transition: opacity 0.3s ease;
  border: 4px solid var(--base-peach);
  border-radius: 4px;
  mix-blend-mode: luminosity;
  opacity: 0.25;
  pointer-events: none;
}

/* images */

.s6o9 .s6o9-photo-strip__image,
.s6o9 .s6o9-photo-strip__image .elementor-widget-container,
.s6o9 .s6o9-photo-strip__image .elementor-image {
  display: block;
  width: 100%;
  height: 100%;
}

.s6o9 .s6o9-photo-strip__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transform-origin: center;
  transition: transform 0.3s ease;
}

/* shapes — tops aligned, variation from height */

.s6o9 .s6o9-photo-strip__item:nth-child(1) {
  width: clamp(170px, 11.2vw, 208px);
  height: clamp(134px, 8.8vw, 168px);
  object-position: 55% 35%;
}

.s6o9 .s6o9-photo-strip__item:nth-child(2) {
  width: clamp(230px, 14.8vw, 288px);
  height: clamp(158px, 10.2vw, 200px);
  object-position: 50% 30%;
}

.s6o9 .s6o9-photo-strip__item:nth-child(3) {
  width: clamp(196px, 12.5vw, 242px);
  height: clamp(142px, 9.2vw, 178px);
  object-position: 50% 65%;
}

.s6o9 .s6o9-photo-strip__item:nth-child(4) {
  width: clamp(276px, 17.8vw, 346px);
  height: clamp(176px, 11.4vw, 224px);
  object-position: 40% 60%;
}

.s6o9 .s6o9-photo-strip__item:nth-child(5) {
  width: clamp(188px, 12vw, 232px);
  height: clamp(136px, 8.8vw, 172px);
  object-position: 60% 40%;
}

.s6o9 .s6o9-photo-strip__item:nth-child(6) {
  width: clamp(244px, 15.6vw, 306px);
  height: clamp(166px, 10.8vw, 210px);
  object-position: 50% 20%;
}

.s6o9 .s6o9-photo-strip__item:nth-child(1) img,
.s6o9 .s6o9-photo-strip__item:nth-child(2) img,
.s6o9 .s6o9-photo-strip__item:nth-child(5) img {
  transform: scale(1.8);
}
.s6o9 .s6o9-photo-strip__item:nth-child(3) img {
  transform: scale(1.6);
}
.s6o9 .s6o9-photo-strip__item:nth-child(6) img {
  transform: scale(1.5);
}

/* CTA */

.s6o9 .s6o9-photo-strip__cta,
.s6o9 .s6o9-photo-strip__cta *,
.s6o9 .s6o9-photo-strip__cta p {
  margin: 0;
  color: rgba(105, 44, 36, 0.94) !important;
  font-family: var(--s6o9-font-serif) !important;
  font-size: clamp(1.2rem, 1.22vw, 1.4rem) !important;
  font-weight: 400 !important;
  line-height: 1.38 !important;
  text-align: center;
}
.s6o9 .s6o9-photo-strip__cta {
  width: min(100% - 48px, 980px);
  margin: 2vw auto 0;
  text-align: center;
}

.s6o9 .s6o9-photo-strip__cta a {
  color: var(--deep-blue) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-weight: 600 !important;
  text-decoration: none;
}

.s6o9 .s6o9-photo-strip__cta a::after {
  content: ' →';
}

.s6o9 .s6o9-photo-strip__cta a:hover {
  opacity: 0.75;
}
/* ========================================
   /events FOOTER
======================================== */

.s6o9 .s6o9-footer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 88px 20px 60px;
  background: var(--base-peach);
}

/* -------------------------
   Background texture + wash
------------------------- */

.s6o9 .s6o9-footer::before {
  mask-image: linear-gradient(to bottom, transparent, black 40%);
}

/* -------------------------
   Inner wrapper
------------------------- */

.s6o9 .s6o9-footer__inner {
  position: relative;
  z-index: 1;
  text-align: center;
}

/* -------------------------
   Support block
------------------------- */

.s6o9 .s6o9-footer__support {
  width: min(100%, 720px);
  margin: 0 auto 52px;
  align-items: center;
}

.s6o9 .s6o9-footer__heading,
.s6o9 .s6o9-footer__heading *,
.s6o9 .s6o9-footer__heading p {
  margin: 0 0 14px;
  color: rgba(63, 37, 30, 0.78) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.s6o9 .s6o9-footer__text {
  width: min(100%, 560px);
  margin: 0 auto 18px;
}

.s6o9 .s6o9-footer__text,
.s6o9 .s6o9-footer__text *,
.s6o9 .s6o9-footer__text p {
  margin: 0;
  color: rgba(92, 42, 34, 0.8) !important;
  font-family: var(--s6o9-font-serif) !important;
  font-size: clamp(1.32rem, 1.7vw, 1.95rem) !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  text-wrap: balance;
}

.s6o9 .s6o9-footer__cta,
.s6o9 .s6o9-footer__cta *,
.s6o9 .s6o9-footer__cta p {
  margin: 0;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 1.02rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.s6o9 .s6o9-footer__cta a {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  color: var(--deep-blue) !important;
  text-decoration: none;
}

.s6o9 .s6o9-footer__cta a::after {
  content: '→';
  font-size: 0.96em;
}

.s6o9 .s6o9-footer__cta a:hover,
.s6o9 .s6o9-footer__cta a:focus-visible {
  opacity: 0.76;
}

/* -------------------------
   Brand block
------------------------- */

.s6o9 .s6o9-footer__brand {
  margin-top: 46px;
}

.s6o9 .s6o9-footer__title,
.s6o9 .s6o9-footer__title *,
.s6o9 .s6o9-footer__title p {
  margin: 0 0 8px;
  color: rgba(63, 37, 30, 0.88) !important;
  font-family: var(--s6o9-font-serif) !important;
  font-size: clamp(1.85rem, 2.2vw, 2.2rem) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
}

.s6o9 .s6o9-footer__tagline,
.s6o9 .s6o9-footer__tagline *,
.s6o9 .s6o9-footer__tagline p {
  margin: 0 0 14px;
  color: rgba(92, 42, 34, 0.66) !important;
  font-family: var(--s6o9-font-serif) !important;
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

.s6o9 .s6o9-footer__copyright,
.s6o9 .s6o9-footer__copyright *,
.s6o9 .s6o9-footer__copyright p {
  margin: 0;
  color: rgba(92, 42, 34, 0.42) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 0.84rem !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* -------------------------
   Tablet
------------------------- */

@media (max-width: 1024px) {
  .s6o9 .s6o9-footer {
    padding-top: 78px;
    padding-bottom: 56px;
  }

  .s6o9 .s6o9-footer__support {
    margin-bottom: 46px;
  }

  .s6o9 .s6o9-footer__text {
    width: min(100%, 520px);
  }

  .s6o9 .s6o9-footer__brand {
    margin-top: 40px;
  }
}

/* -------------------------
   Mobile
------------------------- */

@media (max-width: 767px) {
  .s6o9 .s6o9-footer {
    padding: 64px 20px 48px;
  }

  .s6o9 .s6o9-footer::before {
    opacity: 0.14;
  }

  .s6o9 .s6o9-footer__heading,
  .s6o9 .s6o9-footer__heading *,
  .s6o9 .s6o9-footer__heading p {
    margin-bottom: 12px;
    font-size: 0.76rem !important;
  }

  .s6o9 .s6o9-footer__text {
    width: min(100%, 460px);
    margin-bottom: 16px;
  }

  .s6o9 .s6o9-footer__text,
  .s6o9 .s6o9-footer__text *,
  .s6o9 .s6o9-footer__text p {
    font-size: clamp(1.12rem, 5vw, 1.34rem) !important;
    line-height: 1.46 !important;
  }

  .s6o9 .s6o9-footer__cta,
  .s6o9 .s6o9-footer__cta *,
  .s6o9 .s6o9-footer__cta p {
    font-size: 1rem !important;
  }

  .s6o9 .s6o9-footer__brand {
    margin-top: 36px;
  }

  .s6o9 .s6o9-footer__title,
  .s6o9 .s6o9-footer__title *,
  .s6o9 .s6o9-footer__title p {
    font-size: 1.55rem !important;
  }

  .s6o9 .s6o9-footer__tagline,
  .s6o9 .s6o9-footer__tagline *,
  .s6o9 .s6o9-footer__tagline p {
    font-size: 0.94rem !important;
  }

  .s6o9 .s6o9-footer__copyright,
  .s6o9 .s6o9-footer__copyright *,
  .s6o9 .s6o9-footer__copyright p {
    font-size: 0.78rem !important;
  }
}

/* =========================================================
   MEMBERSHIP — Understanding Access
   Structure:
   - section: s6o9-section s6o9-section--standard s6o9-access
   - inner:   s6o9-width--boxed s6o9-access__inner s6o9-divider-glow--bottom
   - title:   s6o9-access__title
   - grid:    s6o9-access__grid
   - left:    s6o9-access__context
   - right:   s6o9-access__rules
========================================================= */

.s6o9 .s6o9-access {
  position: relative;
  padding: 0;
}

.s6o9 .s6o9-access__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 58px 36px 36px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  overflow: visible;
}

/* -------------------------
   Heading
------------------------- */

.s6o9 .s6o9-access__title {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 52px;
  text-align: center;
  color: var(--base-peach-mult);
  mix-blend-mode: multiply;
  text-shadow: 0 0 8px;
}

.s6o9 .s6o9-access__title .elementor-heading-title {
  margin: 0;
  color: inherit !important;
  font-family: var(--s6o9-font-display) !important;
  font-size: 4rem !important;
  font-weight: 700 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.01em;
}

/* -------------------------
   Grid
------------------------- */

.s6o9 .s6o9-access__grid {
  margin-top: 5.5em;
  gap: 5%;
}

/* -------------------------
   Left column
------------------------- */

.s6o9 .s6o9-access__context {
  min-width: 0;
  color: var(--deep-red);
  font-family: var(--s6o9-font-condensed);
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.2;
  width: 48%;
}

.s6o9 .s6o9-access__context .elementor-widget-container {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.s6o9 .s6o9-access__context p {
  margin: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.s6o9 .s6o9-access__context p + p {
  margin-top: 1.15em;
}

/* -------------------------
   Right column
------------------------- */

.s6o9 .s6o9-access__rules {
  position: relative;
  min-width: 0;
  color: rgba(92, 42, 34, 0.8);
  color: #b8816f;
  font-family: var(--s6o9-font-primary);
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.2;
  padding: 0px 16px 12px 16px;
}

/* readability wash behind rules only */
.s6o9 .s6o9-access__rules::before {
  content: '';
  position: absolute;
  inset: -14px -18px -10px -18px;
  pointer-events: none;
  z-index: 0;
  border-radius: 16px;
  background: linear-gradient(
    to top,
    rgba(255, 255, 255, 0.2) 5%,
    transparent 70%
  );
}

.s6o9 .s6o9-access__rules .elementor-widget-container {
  position: relative;
  z-index: 1;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.s6o9 .s6o9-access__rules ul {
  margin: 0;
  padding-left: 1.1em;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  list-style: none;
}

.s6o9 .s6o9-access__rules li {
  margin: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
  mix-blend-mode: multiply;
}

.s6o9 .s6o9-access__rules li + li {
  margin-top: 1.2em;
}

/* last two list items bolder */
.s6o9 .s6o9-access__rules li:nth-child(3),
.s6o9 .s6o9-access__rules li:nth-child(4) {
  font-weight: 700;
}

/* -------------------------
   Tablet
------------------------- */

@media (max-width: 1024px) {
  .s6o9 .s6o9-access__inner {
    padding: 50px 28px 74px;
  }

  .s6o9 .s6o9-access__title {
    margin-bottom: 44px;
  }

  .s6o9 .s6o9-access__title .elementor-heading-title {
    font-size: 3.3rem !important;
  }

  .s6o9 .s6o9-access__grid {
    column-gap: 54px;
  }

  .s6o9 .s6o9-access__context {
    font-size: 1.32rem;
  }

  .s6o9 .s6o9-access__rules {
    font-size: 1.65rem;
  }
}

/* -------------------------
   Mobile
------------------------- */

@media (max-width: 767px) {
  .s6o9 .s6o9-access__inner {
    padding: 42px 20px 62px;
  }

  .s6o9 .s6o9-access__title {
    margin-bottom: 30px;
  }

  .s6o9 .s6o9-access__title .elementor-heading-title {
    font-size: 2.5rem !important;
    line-height: 1.02 !important;
  }

  .s6o9 .s6o9-access__grid {
    grid-template-columns: 1fr;
    row-gap: 26px;
    column-gap: 0;
  }

  .s6o9 .s6o9-access__context {
    font-size: 1rem;
    line-height: 1.6;
  }

  .s6o9 .s6o9-access__rules {
    font-size: 1.8rem;
    line-height: 1.2;
    padding: 8px 10px 10px 10px;
  }

  .s6o9 .s6o9-access__rules::before {
    inset: -10px -10px -8px -10px;
  }
}

/* =========================================================
   MEMBERSHIP — Get Access
   Structure:
   - section: s6o9-section s6o9-section--standard s6o9-get-access
   - inner:   s6o9-width--boxed s6o9-get-access__inner
   - title:   s6o9-get-access__title
   - panel:   s6o9-get-access__panel s6o9-get-access-panel
   - toggle-wrap: s6o9-get-access-panel__toggle-wrap
   - toggle-label: s6o9-get-access-panel__toggle-label
   - toggle:  s6o9-get-access-toggle
   - option:  s6o9-get-access-toggle__option
   - title:   s6o9-get-access-toggle__title
   - desc:    s6o9-get-access-toggle__description
   - form:    s6o9-get-access-panel__form-area
   - band:    s6o9-get-access__membership-band

   Runtime behavior:
   - initial load: both options unselected or one placeholder visible
   - form shell should remain visually disabled until selection
   - JS toggles:
     - .has-selection
     - .is-premium-selected
     - .is-selected / .is-unselected
========================================================= */

.s6o9 .s6o9-get-access {
  padding-top: 66px;
  padding-bottom: 80px;
}

.s6o9 .s6o9-get-access__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.s6o9 .s6o9-get-access__title {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 44px;
  text-align: center;
  color: var(--deep-red);
  font-family: var(--s6o9-font-display);
}

.s6o9 .s6o9-get-access__title .elementor-heading-title {
  margin: 0;
  color: inherit !important;
  font-family: var(--s6o9-font-display) !important;
  text-shadow: 00 0 5px;
  font-size: 5rem !important;
  font-weight: 700 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.02em !important;
}

.s6o9 .s6o9-get-access__panel {
  width: min(100%, 1140px);
  margin: 0 auto;
  padding: 34px 74px 38px;
  border: 1px solid rgba(218, 155, 120, 0.78);
  border-radius: 18px;
  background: rgba(255, 240, 233, 0.12);
  box-shadow: 0 10px 26px rgba(105, 44, 36, 0.06);
}

/* =========================================================
   TOGGLE WRAP + LABEL
========================================================= */

.s6o9 .s6o9-get-access-panel__toggle-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}

.s6o9 .s6o9-get-access-panel__toggle-label {
  position: relative;
  width: min(100%, 1040px);
  margin: 0 auto 22px;
  text-align: center;
}

.s6o9 .s6o9-get-access-panel__toggle-label::before,
.s6o9 .s6o9-get-access-panel__toggle-label::after {
  content: '';
  position: absolute;
  top: 50%;
  height: 1px;
  width: calc(50% - 170px);
  background: rgba(196, 155, 143, 0.28);
  transform: translateY(-50%);
}

.s6o9 .s6o9-get-access-panel__toggle-label::before {
  left: 0;
}

.s6o9 .s6o9-get-access-panel__toggle-label::after {
  right: 0;
}

.s6o9 .s6o9-get-access-panel__toggle-label .elementor-widget-container {
  margin: 0;
  padding: 0;
}

.s6o9 .s6o9-get-access-panel__toggle-label .elementor-heading-title {
  display: inline-block;
  margin: 0;
  padding: 0 24px;
  color: rgba(122, 79, 70, 0.92) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 1.02rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  text-align: center !important;
}

/* =========================================================
   JOINED SPLIT TOGGLE
========================================================= */

.s6o9 .s6o9-get-access-toggle {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: min(100%, 1040px);
  margin: 0 auto;
  padding: 0;
  border-radius: 18px;
  background: linear-gradient(
    180deg,
    rgba(255, 245, 240, 0.96) 0%,
    rgba(250, 235, 227, 0.94) 100%
  );
  border: 1px solid rgba(229, 213, 204, 0.95);
  box-shadow:
    0 14px 32px rgba(178, 132, 115, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
  overflow: visible;

  display: none;
}

/* sliding active face */
.s6o9 .s6o9-get-access-toggle::before {
  content: '';
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 6px;
  width: calc(50% - 6px);
  border-radius: 16px;
  background: linear-gradient(
    180deg,
    rgba(255, 239, 232, 0.98) 0%,
    rgba(255, 232, 220, 0.98) 100%
  );
  border: 2px solid rgba(198, 155, 143, 0.95);
  box-shadow:
    0 12px 24px rgba(182, 123, 107, 0.22),
    inset 0 0 0 2px rgba(255, 214, 202, 0.68),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
  opacity: 0;
  transform: translateX(0%);
  transition:
    transform 260ms ease,
    opacity 180ms ease,
    box-shadow 180ms ease;
  z-index: 1;
  pointer-events: none;
}

.s6o9 .s6o9-get-access-toggle.has-selection::before {
  opacity: 1;
}

.s6o9 .s6o9-get-access-toggle.is-premium-selected::before {
  transform: translateX(100%);
}

.s6o9 .s6o9-get-access-toggle__option {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-width: 0;
  min-height: 168px;
  margin: 0;
  padding: 34px 38px 30px;
  border: 0;
  background: transparent;
  cursor: pointer;
  transition:
    color 180ms ease,
    opacity 180ms ease,
    transform 180ms ease,
    background-color 180ms ease;
}

/* center seam */
.s6o9
  .s6o9-get-access-toggle__option
  + .s6o9-get-access-toggle__option::before {
  content: '';
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 1px;
  background: rgba(198, 171, 158, 0.55);
  z-index: 0;
}

.s6o9 .s6o9-get-access-toggle__option.is-unselected {
  opacity: 1;
}

.s6o9 .s6o9-get-access-toggle__option.is-unselected:hover {
  background: linear-gradient(
    180deg,
    rgba(255, 248, 244, 0.36) 0%,
    rgba(255, 240, 233, 0.28) 100%
  );
}

.s6o9 .s6o9-get-access-toggle__option.is-selected {
  background: transparent;
}

.s6o9 .s6o9-get-access-toggle__title {
  width: 100%;
  margin: 0;
}

.s6o9 .s6o9-get-access-toggle__title .elementor-widget-container {
  margin: 0;
  padding: 0;
}

.s6o9 .s6o9-get-access-toggle__title .elementor-heading-title {
  margin: 0;
  font-family: var(--s6o9-font-serif) !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.015em !important;
  text-align: center !important;
  text-wrap: balance;
}

.s6o9 .s6o9-get-access-toggle__description {
  width: 100%;
  max-width: 26ch;
  margin: 18px auto 0;
}

.s6o9 .s6o9-get-access-toggle__description .elementor-widget-container {
  margin: 0;
  padding: 0;
}

.s6o9 .s6o9-get-access-toggle__description p {
  margin: 0;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
  text-align: center !important;
}

.s6o9
  .s6o9-get-access-toggle__option.is-unselected
  .s6o9-get-access-toggle__title
  .elementor-heading-title {
  color: #8b7266 !important;
}

.s6o9
  .s6o9-get-access-toggle__option.is-unselected
  .s6o9-get-access-toggle__description
  p {
  color: rgba(139, 114, 102, 0.96) !important;
}

.s6o9
  .s6o9-get-access-toggle__option.is-selected
  .s6o9-get-access-toggle__title
  .elementor-heading-title {
  color: #6b4e42 !important;
}

.s6o9
  .s6o9-get-access-toggle__option.is-selected
  .s6o9-get-access-toggle__description
  p {
  color: rgba(107, 78, 66, 0.96) !important;
}

.s6o9
  .s6o9-get-access-toggle__option:hover
  .s6o9-get-access-toggle__title
  .elementor-heading-title,
.s6o9
  .s6o9-get-access-toggle__option:hover
  .s6o9-get-access-toggle__description
  p {
  opacity: 0.98;
}

/* =========================================================
   FORM AREA
========================================================= */

.s6o9 .s6o9-get-access-panel__form-area {
  width: 100%;
  margin: 34px auto 0;
}

.s6o9 .s6o9-get-access-panel__instruction {
  width: 100%;
  margin: 0 0 16px;
}

.s6o9 .s6o9-get-access-panel__instruction .elementor-widget-container {
  margin: 0;
  padding: 0;
}

.s6o9 .s6o9-get-access-panel__instruction p {
  margin: 0;
  color: rgba(117, 28, 29, 0.7) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

.s6o9 .s6o9-get-access-panel__form-stage {
  position: relative;
  width: 100%;
  min-height: 320px;
}

.s6o9 .s6o9-get-access-form-shell {
  position: relative;
  width: 100%;
  transition: opacity 220ms ease;
}

.s6o9 .s6o9-get-access-form-shell.is-disabled {
  opacity: 0.48;
}

.s6o9 .s6o9-get-access-form-shell.is-disabled input,
.s6o9 .s6o9-get-access-form-shell.is-disabled select,
.s6o9 .s6o9-get-access-form-shell.is-disabled textarea,
.s6o9 .s6o9-get-access-form-shell.is-disabled button,
.s6o9 .s6o9-get-access-form-shell.is-disabled a,
.s6o9 .s6o9-get-access-form-shell.is-disabled label {
  pointer-events: none;
}

.s6o9 .s6o9-get-access-form-shell__mount {
  position: relative;
  width: 100%;
  min-height: inherit;
}

.s6o9 .s6o9-get-access-form-placeholder {
  width: 100%;
  transition:
    opacity 220ms ease,
    visibility 220ms ease,
    transform 220ms ease;
}

.s6o9 .s6o9-get-access-form-placeholder.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.s6o9 .s6o9-get-access-form-placeholder.is-inactive {
  display: none;
}

/* =========================================================
   MEMBERSHIP BAND
========================================================= */

.s6o9 .s6o9-get-access__membership-band {
  width: min(100%, 760px);
  margin: 38px auto 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.s6o9 .s6o9-get-access-band__title {
  width: 100%;
  text-align: left;
}

.s6o9 .s6o9-get-access-band__title .elementor-widget-container {
  margin: 0;
  padding: 0;
}

.s6o9 .s6o9-get-access-band__title .elementor-heading-title {
  margin: 0;
  color: rgba(99, 51, 45, 0.96) !important;
  font-family: var(--s6o9-font-serif) !important;
  font-size: 2rem !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  text-align: left !important;
}

.s6o9 .s6o9-get-access-band__body {
  margin-top: 16px;
}

.s6o9 .s6o9-get-access-band__body .elementor-widget-container {
  margin: 0;
  padding: 0;
}

.s6o9 .s6o9-get-access-band__body ul {
  margin: 0;
  padding-left: 1.15em;
}

.s6o9 .s6o9-get-access-band__body li,
.s6o9 .s6o9-get-access-band__body p {
  color: rgba(99, 51, 45, 0.84) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
}

.s6o9 .s6o9-get-access-band__body li + li {
  margin-top: 0.18em;
}

.s6o9 .s6o9-get-access-band__body p {
  margin: 0.95em 0 0;
}

.s6o9 .s6o9-get-access-band__links {
  margin-top: 12px;
}

.s6o9 .s6o9-get-access-band__links .elementor-widget-container {
  margin: 0;
  padding: 0;
}

.s6o9 .s6o9-get-access-band__links,
.s6o9 .s6o9-get-access-band__links a,
.s6o9 .s6o9-get-access-band__links p {
  color: rgba(99, 51, 45, 0.8) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 0.88rem !important;
  line-height: 1.4 !important;
}

.s6o9 .s6o9-get-access-band__links p {
  margin: 0;
}

.s6o9 .s6o9-get-access-band__links a {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

/* =========================================================
   DEV / PLACEHOLDER FORMS ONLY
========================================================= */

.s6o9 .s6o9-dev-form {
  width: min(100%, 700px);
  margin: 0 auto;
}

.s6o9 .s6o9-dev-form__row + .s6o9-dev-form__row {
  margin-top: 14px;
}

.s6o9 .s6o9-dev-form__row--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.s6o9 .s6o9-dev-form label {
  display: block;
  margin: 0 0 6px;
  color: rgba(99, 51, 45, 0.82) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 0.92rem !important;
  line-height: 1.3 !important;
}

.s6o9 .s6o9-dev-form input {
  width: 100%;
  min-height: 50px !important;
  padding: 0.8rem 0.9rem !important;
  border: 1px solid rgba(201, 137, 120, 0.45) !important;
  border-radius: 6px !important;
  background: rgba(255, 248, 244, 0.75) !important;
  box-shadow: none !important;
  color: rgba(99, 51, 45, 0.92) !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 0.96rem !important;
  line-height: 1.2 !important;
}

.s6o9 .s6o9-dev-form input::placeholder {
  color: rgba(99, 51, 45, 0.62) !important;
  opacity: 1 !important;
}

.s6o9 .s6o9-dev-form__row--check label {
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
}

.s6o9 .s6o9-dev-form__row--check input {
  width: auto !important;
  min-height: 0 !important;
  margin-top: 0.2rem !important;
}

.s6o9 .s6o9-dev-form__actions {
  margin-top: 18px;
}

.s6o9 .s6o9-dev-form__actions button {
  min-height: 48px !important;
  padding: 0.82rem 1.2rem !important;
  border: 1px solid rgba(188, 110, 101, 0.72) !important;
  border-radius: 10px !important;
  background: rgba(144, 49, 71, 0.82) !important;
  box-shadow: 0 8px 18px rgba(105, 44, 36, 0.18) !important;
  color: #fff !important;
  font-family: var(--s6o9-font-primary) !important;
  font-size: 0.96rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  cursor: pointer;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {
  .s6o9 .s6o9-get-access {
    padding-top: 58px;
    padding-bottom: 72px;
  }

  .s6o9 .s6o9-get-access__title {
    margin-bottom: 36px;
  }

  .s6o9 .s6o9-get-access__title .elementor-heading-title {
    font-size: 3.2rem !important;
  }

  .s6o9 .s6o9-get-access__panel {
    padding: 28px 40px 30px;
  }

  .s6o9 .s6o9-get-access-toggle {
    width: 100%;
  }

  .s6o9 .s6o9-get-access-toggle__option {
    min-height: 154px;
    padding: 28px 24px 24px;
  }

  .s6o9 .s6o9-get-access-toggle__title .elementor-heading-title {
    font-size: 1.72rem !important;
  }

  .s6o9 .s6o9-get-access-toggle__description {
    margin-top: 14px;
  }

  .s6o9 .s6o9-get-access-toggle__description p {
    font-size: 0.93rem !important;
    line-height: 1.42 !important;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .s6o9 .s6o9-get-access {
    padding-top: 50px;
    padding-bottom: 60px;
  }

  .s6o9 .s6o9-get-access__title {
    margin-bottom: 28px;
  }

  .s6o9 .s6o9-get-access__title .elementor-heading-title {
    font-size: clamp(2.35rem, 10vw, 2.9rem) !important;
  }

  .s6o9 .s6o9-get-access__panel {
    padding: 20px 16px 24px;
    border-radius: 14px;
  }

  .s6o9 .s6o9-get-access-panel__toggle-label::before,
  .s6o9 .s6o9-get-access-panel__toggle-label::after {
    width: calc(50% - 118px);
  }

  .s6o9 .s6o9-get-access-panel__toggle-label .elementor-heading-title {
    padding: 0 14px;
    font-size: 0.95rem !important;
  }

  .s6o9 .s6o9-get-access-toggle {
    border-radius: 14px;
  }

  .s6o9 .s6o9-get-access-toggle::before {
    top: 5px;
    bottom: 5px;
    left: 5px;
    width: calc(50% - 5px);
    border-radius: 12px;
  }

  .s6o9 .s6o9-get-access-toggle__option {
    min-height: 132px;
    padding: 20px 12px 18px;
  }

  .s6o9
    .s6o9-get-access-toggle__option
    + .s6o9-get-access-toggle__option::before {
    top: 12px;
    bottom: 12px;
  }

  .s6o9 .s6o9-get-access-toggle__title .elementor-heading-title {
    font-size: 1.3rem !important;
  }

  .s6o9 .s6o9-get-access-toggle__description {
    max-width: 18ch;
    margin-top: 10px;
  }

  .s6o9 .s6o9-get-access-toggle__description p {
    font-size: 0.82rem !important;
    line-height: 1.34 !important;
  }

  .s6o9 .s6o9-get-access-panel__form-stage {
    min-height: 260px;
  }

  .s6o9 .s6o9-get-access__membership-band {
    width: 100%;
    margin-top: 30px;
  }

  .s6o9 .s6o9-get-access-band__title .elementor-heading-title {
    font-size: 1.58rem !important;
  }

  .s6o9 .s6o9-dev-form {
    width: 100%;
  }

  .s6o9 .s6o9-dev-form__row--split {
    grid-template-columns: 1fr;
  }
}

.s6o9 .s6o9-get-access-toggle-svg-wrap {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
}

.s6o9 .s6o9-get-access-toggle-svg {
  display: block;
  width: 100%;
  height: auto;
}

.s6o9 .s6o9-get-access-toggle-svg .active-surface {
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.s6o9 .s6o9-get-access-toggle-svg .clickable-half {
  cursor: pointer;
}

.s6o9 .s6o9-get-access-toggle-svg .card-text {
  pointer-events: none;
}

.s6o9 .s6o9-get-access-toggle-svg .text-title,
.s6o9 .s6o9-get-access-toggle-svg .text-subtitle {
  transition: all 0.4s ease;
}

.s6o9 .s6o9-get-access-toggle-svg .text-inactive .text-title {
  fill: #8b7266;
  opacity: 0.75;
}

.s6o9 .s6o9-get-access-toggle-svg .text-inactive .text-subtitle {
  fill: #9b8478;
  opacity: 0.7;
}

.s6o9 .s6o9-get-access-toggle-svg .text-active .text-title {
  fill: #731e20;
  font-weight: 600;
  filter: drop-shadow(1px 1px 2px rgba(107, 64, 56, 0.5));
}

.s6o9 .s6o9-get-access-toggle-svg .text-active .text-subtitle {
  fill: #4d362a;
  opacity: 1;
  filter: drop-shadow(0 1px 1px rgba(107, 64, 56, 0.15));
}

/* =========================================================
   EVENT DETAIL HERO
========================================================= */
.s6o9 .s6o9-event-detail {
  gap: 0;
}
.s6o9 .s6o9-event-detail-hero {
  --edh-unit: clamp(0.58rem, 0.72vw, 0.92rem);

  position: relative;
  min-height: 82svh;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(1.5rem, 4vw, 4.5rem);
  background: var(--base-peach);
}

.s6o9 .s6o9-event-detail-hero__media,
.s6o9 .s6o9-event-detail-hero__media > *,
.s6o9 .s6o9-event-detail-hero__media .elementor-widget-container,
.s6o9 .s6o9-event-detail-hero__media .elementor-shortcode,
.s6o9 .s6o9-event-detail-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.s6o9 .s6o9-event-detail-hero__media {
  z-index: 0;
  overflow: hidden;
  background: #1f140f;
}

.s6o9 .s6o9-event-detail-image__img,
.s6o9 .s6o9-event-detail-hero__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 46%;
  filter: saturate(0.96) contrast(1.03) brightness(0.74);
}

.s6o9 .s6o9-event-detail-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(
      ellipse at 20% 85%,
      rgba(10, 7, 5, 0.82) 0%,
      rgba(10, 7, 5, 0.6) 30%,
      rgba(10, 7, 5, 0.25) 54%,
      rgba(10, 7, 5, 0) 78%
    )
    /*,
    linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.04) 0%,
      rgba(0, 0, 0, 0.08) 42%,
      rgba(0, 0, 0, 0.58) 100%
    )*/;
}

.s6o9 .s6o9-event-detail-hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  height: 72px;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(253, 208, 187, 0) 0%,
    rgba(253, 208, 187, 0.22) 48%,
    #f9ddcd 100%
  );
  /* filter: blur(1px); */
}

.s6o9 .s6o9-event-detail-hero__content {
  position: relative;
  z-index: 3;
  /* width: min(62vw, 900px); */
  max-width: 640px;
  margin: auto 0 0 clamp(0.75rem, 2.2vw, 2.25rem);
  padding-bottom: clamp(1rem, 2.8vw, 2.8rem);
  color: rgba(255, 244, 232, 0.95);
  gap: 0;
}

.s6o9 .s6o9-event-detail-hero__logo img {
  margin-bottom: 0.5em;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.48));
  width: 200px;
}

.s6o9 .s6o9-event-detail-hero__content .elementor-widget-shortcode,
.s6o9 .s6o9-event-detail-hero__content .elementor-widget-container,
.s6o9 .s6o9-event-detail-hero__content .elementor-shortcode {
  margin: 0;
  padding: 0;
}

.s6o9
  .s6o9-event-detail-hero__content
  .elementor-widget-shortcode
  + .elementor-widget-shortcode {
  margin-top: calc(var(--edh-unit) * 0.9);
}

/* Title */
.s6o9 .s6o9-event-detail-hero__content .s6o9-event-detail-title,
.s6o9 .s6o9-event-detail-hero__content h1 {
  margin: 0;
  max-width: 11.5em;
  color: rgba(255, 244, 232, 0.96) !important;
  font-family: var(--s6o9-font-serif) !important;
  font-size: calc(var(--edh-unit) * 6.65);
  font-weight: 400;
  line-height: 0.93;
  letter-spacing: -0.045em;
  text-wrap: balance;
  text-shadow:
    0 2px 10px rgba(0, 0, 0, 0.46),
    0 10px 30px rgba(0, 0, 0, 0.38);
}

/* Summary / framing */
.s6o9 .s6o9-event-detail-hero__content .s6o9-event-detail-description {
  max-width: 34em;
  color: rgba(255, 238, 224, 0.9);
  font-family: var(--s6o9-font-serif);
  font-size: calc(var(--edh-unit) * 1.78);
  font-weight: 400;
  line-height: 1.34;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.48);

  margin-top: calc(var(--edh-unit) * 1.55);
}

.s6o9 .s6o9-event-detail-hero__content .s6o9-event-detail-description p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}

/* Meta */
.s6o9 .s6o9-event-detail-hero__content .s6o9-event-detail-meta {
  display: flex;
  margin-top: calc(var(--edh-unit) * 2.55);
  margin-bottom: calc(var(--edh-unit) * 2.55);
  color: rgba(255, 232, 214, 0.88);
  font-family: var(--s6o9-font-primary);
  /* font-size: calc(var(--edh-unit) * 1.58); */
  font-weight: 400;
  line-height: 1.5;
  text-shadow: 0 1px 7px rgba(0, 0, 0, 0.48);
}

.s6o9 .s6o9-event-detail-hero__content .s6o9-event-detail-meta svg,
.s6o9 .s6o9-event-detail-hero__content .s6o9-event-detail-meta i {
  color: #e6a88e;
  opacity: 0.95;
}

.s6o9 .s6o9-event-detail-meta__location {
  margin-left: 24px;
}

/* CTA */
.s6o9 .s6o9-event-detail-hero__content .s6o9-hero__cta {
  margin-top: calc(var(--edh-unit) * 1.8);
}

.s6o9 .s6o9-event-detail-hero__content .s6o9-dual-inline-cta {
  margin-top: calc(var(--edh-unit) * 1.1);
}

/* .s6o9 [class*='elementor-button-s6o9-button__'] .elementor-button {
  min-height: calc(var(--edh-unit) * 4.2);
  padding: calc(var(--edh-unit) * 0.95) calc(var(--edh-unit) * 1.8);
  border: 2px solid rgba(255, 226, 220, 0.7);
  border-radius: calc(var(--edh-unit) * 0.72);
  background: rgba(144, 49, 71, 0.84);
  box-shadow: 0 12px 30px rgba(20, 9, 6, 0.28);
  color: #fff;
  font-family: var(--s6o9-font-primary);
  font-size: calc(var(--edh-unit) * 1.05);
  font-weight: 600;
  line-height: 1;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    color 180ms ease,
    opacity 180ms ease,
    transform 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
} */

.s6o9
  .s6o9-event-detail-hero__content
  .s6o9-hero__cta--button
  .elementor-button:hover,
.s6o9
  .s6o9-event-detail-hero__content
  .s6o9-hero__cta--button
  .elementor-button:focus-visible {
  background: rgba(144, 49, 71, 0.94);
  border-color: rgba(255, 255, 255, 0.86);
  transform: translateY(-1px);
}

/* Tablet */
@media (max-width: 1024px) {
  .s6o9 .s6o9-event-detail-hero {
    --edh-unit: clamp(0.56rem, 1.02vw, 0.78rem);
    min-height: 76svh;
  }

  .s6o9 .s6o9-event-detail-hero__content {
    width: min(76vw, 720px);
  }
}

/* Mobile */
@media (max-width: 767px) {
  .s6o9 .s6o9-event-detail-hero {
    --edh-unit: clamp(0.62rem, 2.9vw, 0.82rem);
    min-height: 70svh;
    padding: 20px 20px 38px;
  }

  .s6o9 .s6o9-event-detail-image__img,
  .s6o9 .s6o9-event-detail-hero__media img {
    object-position: center center;
  }

  .s6o9 .s6o9-event-detail-hero__content {
    width: min(100%, 460px);
    margin-left: 0;
    padding-bottom: 0;
  }

  .s6o9 .s6o9-event-detail-hero__content .s6o9-event-detail-title,
  .s6o9 .s6o9-event-detail-hero__content h1 {
    font-size: calc(var(--edh-unit) * 4.7);
    line-height: 0.98;
  }

  .s6o9 .s6o9-event-detail-hero__content .s6o9-event-detail-description {
    max-width: 100%;
    font-size: calc(var(--edh-unit) * 1.42);
    line-height: 1.45;
  }

  .s6o9 .s6o9-event-detail-hero__content .s6o9-event-detail-meta {
    font-size: calc(var(--edh-unit) * 1.2);
  }
}

/* =========================================================
   EVENT DETAIL BODY / NARRATIVE
========================================================= */

.s6o9 .s6o9-event-detail-body {
  position: relative;
  background: #f9ddcd;
  padding: clamp(4.25rem, 7vw, 7.25rem) 0 clamp(3.75rem, 6vw, 6.5rem);
  color: rgba(63, 37, 30, 0.94);
  padding-top: 0;
}

.s6o9 .s6o9-event-detail-body__inner {
  /* width: min(100% - 40px, 760px); */
  margin-inline: auto;
}

.s6o9 .s6o9-event-detail-body__content,
.s6o9 .s6o9-event-detail-body__content .elementor-widget-container,
.s6o9 .s6o9-event-detail-body__content .elementor-shortcode {
  width: 100%;
}

.s6o9 .s6o9-event-detail-body__content h1,
.s6o9 .s6o9-event-detail-body__content h2,
.s6o9 .s6o9-event-detail-body__content h3 {
  margin: 1.5em 0 0.15em;
  color: var(--deep-red);
  font-family: var(--s6o9-font-serif);
  font-weight: 400;
  font-size: 1.2em;
  line-height: 1.12;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.s6o9 .s6o9-event-detail-body__content p:has(br):has(+ h2) {
  display: none;
}

.s6o9 .s6o9-event-detail-body__content h1,
.s6o9 .s6o9-event-detail-body__content h2 {
  font-size: clamp(2rem, 3vw, 3rem);
}

.s6o9 .s6o9-event-detail-body__content h2 {
  font-size: 2em;
}

.s6o9 .s6o9-event-detail-body__content h3 {
  font-size: clamp(1.55rem, 2.2vw, 2.15rem);
  font-weight: 800;
}

.s6o9 .s6o9-event-detail-body__content p,
.s6o9 .s6o9-event-detail-body__content li {
  color: rgba(41, 24, 19, 0.9);
  font-family: var(--s6o9-font-serif);
  font-size: clamp(1.05rem, 1.18vw, 1.28rem);
  font-weight: 400;
  line-height: 1.58;
}

.s6o9 .s6o9-event-detail-body__content p {
  margin: 0;
}

.s6o9 .s6o9-event-detail-body__content p + p,
.s6o9 .s6o9-event-detail-body__content ul + p,
.s6o9 .s6o9-event-detail-body__content ol + p {
  margin-top: 1.55em;
}

.s6o9 .s6o9-event-detail-body__content ul,
.s6o9 .s6o9-event-detail-body__content ol {
  margin: 1.15em 0 0;
  padding-left: 3.25em;
}

.s6o9 .s6o9-event-detail-body__content li + li {
  margin-top: 0.5em;
}

.s6o9 .s6o9-event-detail-body__content a {
  color: var(--deep-red);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

.s6o9 .s6o9-event-detail-body__cta {
  margin-top: clamp(1.75rem, 2.8vw, 2.5rem);
}

.s6o9 .s6o9-event-detail-body__cta .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: auto;
  padding: 0 0 0.34em;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--deep-red);
  font-family: var(--s6o9-font-serif);
  font-size: clamp(1.05rem, 1.2vw, 1.28rem);
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
}

.s6o9 .s6o9-event-detail-body__cta .elementor-button:hover,
.s6o9 .s6o9-event-detail-body__cta .elementor-button:focus-visible {
  background: transparent;
  color: #5a1517;
  transform: none;
  opacity: 0.82;
}

@media (max-width: 767px) {
  .s6o9 .s6o9-event-detail-body {
    padding: 0rem 0 3.5rem;
  }

  .s6o9 .s6o9-event-detail-body__inner {
    width: min(100% - 2.5rem, 760px);
  }

  .s6o9 .s6o9-event-detail-body__content p,
  .s6o9 .s6o9-event-detail-body__content li {
    font-size: 1.0625rem;
    line-height: 1.6;
  }

  .s6o9 .s6o9-event-detail-body__content h2,
  .s6o9 .s6o9-event-detail-body__content h3 {
    font-size: 1.625rem;
    margin-top: 1.75em;
  }

  .s6o9 .s6o9-event-detail-body__content p + p {
    margin-top: 1.35em;
  }

  .s6o9 .s6o9-event-detail-body__content ul,
  .s6o9 .s6o9-event-detail-body__content ol {
    padding-left: 2.5em;
  }
}

@media (max-width: 480px) {
  .s6o9 .s6o9-event-detail-body__inner {
    width: min(100% - 2rem, 760px);
    width: calc(100% - 1rem);
  }

  .s6o9 .s6o9-event-detail-body__content p,
  .s6o9 .s6o9-event-detail-body__content li {
    font-size: 1rem;
  }

  .s6o9 .s6o9-event-detail-body__content h2,
  .s6o9 .s6o9-event-detail-body__content h3 {
    font-size: 1.5rem;
  }
}

/* =========================================================
   EVENT DETAIL — S6O9 TRUST BRIDGE
========================================================= */

.s6o9 .s6o9-event-detail-bridge {
  position: relative;
  background: #f9ddcd;
  padding: 42px 0 44px;
  color: rgba(63, 37, 30, 0.92);
}

.s6o9 .s6o9-event-detail-bridge::before,
.s6o9 .s6o9-event-detail-bridge::after {
  content: '';
  position: absolute;
  left: 50%;
  width: min(100% - 40px, 1140px);
  height: 1px;
  transform: translateX(-50%);
  background: rgba(230, 168, 142, 0.78);
}

.s6o9 .s6o9-event-detail-bridge::before {
  top: 0;
}

.s6o9 .s6o9-event-detail-bridge::after {
  bottom: 0;
}

.s6o9 .s6o9-event-detail-bridge__inner {
  display: grid;
  grid-template-columns: 180px minmax(0, 640px);
  grid-template-rows: auto auto;
  column-gap: 56px;
  row-gap: 18px;
  align-items: center;
}

/* Let the right-column widgets participate directly in the parent grid */
.s6o9 .s6o9-event-detail-bridge__content {
  display: contents;
}

/* Heading spans from the exact left edge of the boxed container */
.s6o9 .s6o9-event-detail-bridge__eyebrow {
  grid-column: 1 / -1;
  grid-row: 1;
}

.s6o9 .s6o9-event-detail-bridge__mark {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.s6o9 .s6o9-event-detail-bridge__title,
.s6o9 .s6o9-event-detail-bridge__text,
.s6o9 .s6o9-event-detail-bridge__link {
  grid-column: 2;
}

.s6o9 .s6o9-event-detail-bridge__title {
  grid-row: 2;
  align-self: start;
}

.s6o9 .s6o9-event-detail-bridge__text {
  grid-row: 2;
  align-self: center;
  margin-top: 72px;
}

.s6o9 .s6o9-event-detail-bridge__link {
  grid-row: 2;
  align-self: end;
  margin-top: 150px;
}

.s6o9 .s6o9-event-detail-bridge__logo img,
.s6o9 .s6o9-event-detail-bridge__mark img {
  display: block;
  width: 160px !important;
  max-width: 160px !important;
  height: auto !important;
  margin-inline: auto;
  opacity: 0.72;
}

.s6o9 .s6o9-event-detail-bridge__eyebrow,
.s6o9 .s6o9-event-detail-bridge__eyebrow * {
  margin: 0;
  color: var(--deep-red);
  font-family: var(--s6o9-font-primary);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.s6o9 .s6o9-event-detail-bridge__eyebrow::after {
  content: '';
  display: block;
  width: 52px;
  height: 2px;
  margin-top: 18px;
  background: var(--deep-red);
  opacity: 0.72;
}

.s6o9 .s6o9-event-detail-bridge__title,
.s6o9 .s6o9-event-detail-bridge__title * {
  margin: 0;
  color: rgba(63, 37, 30, 0.96);
  font-family: var(--s6o9-font-serif);
  font-size: clamp(1.45rem, 1.6vw, 1.9rem);
  font-weight: 400;
  line-height: 1.18;
}

.s6o9 .s6o9-event-detail-bridge__text p {
  margin: 0;
  color: rgba(41, 24, 19, 0.86);
  font-family: var(--s6o9-font-serif);
  font-size: clamp(0.98rem, 0.96vw, 1.08rem);
  line-height: 1.5;
}

.s6o9 .s6o9-event-detail-bridge__link .elementor-button {
  min-height: auto !important;
  padding: 0 0 0.32em !important;
  border: 0 !important;
  border-bottom: 1px solid currentColor !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--deep-red) !important;
  font-family: var(--s6o9-font-serif) !important;
  font-size: clamp(1rem, 1vw, 1.1rem) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

.s6o9 .s6o9-event-detail-bridge__link .elementor-button:hover {
  background: transparent !important;
  box-shadow: none !important;
  color: #5a1517 !important;
  transform: none !important;
  opacity: 0.82;
}

@media (max-width: 767px) {
  .s6o9 .s6o9-event-detail-bridge {
    padding: 2.5rem 0 2.75rem;
  }

  .s6o9 .s6o9-event-detail-bridge::before,
  .s6o9 .s6o9-event-detail-bridge::after {
    width: min(100% - 2.5rem, 1140px);
  }

  .s6o9 .s6o9-event-detail-bridge__inner {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }

  .s6o9 .s6o9-event-detail-bridge__eyebrow {
    order: 1;
  }

  .s6o9 .s6o9-event-detail-bridge__title {
    order: 2;
  }

  .s6o9 .s6o9-event-detail-bridge__title,
  .s6o9 .s6o9-event-detail-bridge__title * {
    font-size: 1.375rem;
    line-height: 1.22;
  }

  .s6o9 .s6o9-event-detail-bridge__text {
    order: 3;
    margin-top: 0 !important;
  }

  .s6o9 .s6o9-event-detail-bridge__text p {
    font-size: 1rem;
    line-height: 1.55;
  }

  .s6o9 .s6o9-event-detail-bridge__link {
    order: 4;
    margin-top: 0 !important;
  }

  .s6o9 .s6o9-event-detail-bridge__mark {
    order: 5;
    margin-top: 2rem;
  }

  .s6o9 .s6o9-event-detail-bridge__logo img,
  .s6o9 .s6o9-event-detail-bridge__mark img {
    width: 120px !important;
    max-width: 120px !important;
  }
}

@media (max-width: 480px) {
  .s6o9 .s6o9-event-detail-bridge {
    padding: 2rem 0 2.25rem;
  }

  .s6o9 .s6o9-event-detail-bridge__logo img,
  .s6o9 .s6o9-event-detail-bridge__mark img {
    width: 100px !important;
    max-width: 100px !important;
  }

  .s6o9 .s6o9-event-detail-bridge__title,
  .s6o9 .s6o9-event-detail-bridge__title * {
    font-size: 1.25rem;
  }

  .s6o9 .s6o9-event-detail-bridge__text p {
    font-size: 0.9375rem;
  }
}

/* =========================================================
   EVENT DETAIL — WHAT TO EXPECT
========================================================= */

/* -------------------------
   SECTION / BACKGROUND
------------------------- */

.s6o9 .s6o9-event-detail-expect {
  position: relative;
  background:
    radial-gradient(
      ellipse at 74% 10%,
      rgba(176, 72, 56, 0.38) 0%,
      rgba(176, 72, 56, 0) 52%
    ),
    radial-gradient(
      ellipse at 22% 92%,
      rgba(140, 52, 44, 0.24) 0%,
      rgba(140, 52, 44, 0) 50%
    ),
    linear-gradient(
      180deg,
      rgba(117, 28, 29, 0.95) 0%,
      rgba(88, 28, 27, 0.99) 100%
    );
  padding: clamp(54px, 5.2vw, 78px) 0 clamp(64px, 6vw, 96px);
  color: rgba(249, 221, 205, 0.96);
  box-shadow:
    inset 0 2px 24px rgba(0, 0, 0, 0.18),
    inset 0 -1px 12px rgba(0, 0, 0, 0.12);
}

/* -------------------------
   ELEMENTOR RESET / WIDTH CONTROL
------------------------- */

.s6o9 .s6o9-event-detail-expect__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, 0.34fr) minmax(0, 0.66fr);
  column-gap: clamp(48px, 6vw, 96px);
  align-items: start;
}

/* -------------------------
   LEFT COLUMN / TITLE
------------------------- */

.s6o9 .s6o9-event-detail-expect__title,
.s6o9 .s6o9-event-detail-expect__title *,
.s6o9 .s6o9-event-detail-expect__title .elementor-heading-title,
.s6o9 .s6o9-event-detail-expect__eyebrow,
.s6o9 .s6o9-event-detail-expect__eyebrow *,
.s6o9 .s6o9-event-detail-expect__eyebrow .elementor-heading-title {
  margin: 0;
  color: rgba(249, 221, 205, 0.96) !important;
  font-family: var(--s6o9-font-serif) !important;
  font-size: 2em !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-align: left;
  text-wrap: balance;
}

/* .s6o9 .s6o9-event-detail-expect__title::after,
.s6o9 .s6o9-event-detail-expect__eyebrow::after {
  content: '';
  display: block;
  width: clamp(74px, 7vw, 118px);
  height: 2px;
  margin-top: clamp(20px, 2vw, 30px);
  background: rgba(249, 221, 205, 0.48);
} */

/* -------------------------
   RIGHT COLUMN / SHORTCODE CONTENT
------------------------- */

.s6o9 .s6o9-event-detail-expect__content {
  width: 100%;
  margin: 0;
  text-align: left;
}

.s6o9 .s6o9-event-detail-expect__content,
.s6o9 .s6o9-event-detail-expect__content .elementor-widget-container,
.s6o9 .s6o9-event-detail-expect__content .elementor-shortcode {
  color: rgba(249, 221, 205, 0.96);
  font-family: var(--s6o9-font-condensed) !important;
  font-size: clamp(1.05rem, 1.18vw, 1.28rem);
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: 0.005em;
}

.s6o9 .s6o9-event-detail-expect__content p {
  max-width: 38em;
  margin: 0;
}

.s6o9 .s6o9-event-detail-expect__content p + p {
  margin-top: 1.05em;
}

/* -------------------------
   MOBILE / STACKED
------------------------- */

@media (max-width: 900px) {
  .s6o9 .s6o9-event-detail-expect__inner {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }

  .s6o9 .s6o9-event-detail-expect__title,
  .s6o9 .s6o9-event-detail-expect__title *,
  .s6o9 .s6o9-event-detail-expect__title .elementor-heading-title,
  .s6o9 .s6o9-event-detail-expect__eyebrow,
  .s6o9 .s6o9-event-detail-expect__eyebrow *,
  .s6o9 .s6o9-event-detail-expect__eyebrow .elementor-heading-title {
    max-width: 7em;
  }
}

@media (max-width: 767px) {
  .s6o9 .s6o9-event-detail-expect {
    padding: 3rem 0 3.5rem;
  }

  .s6o9 .s6o9-event-detail-expect__inner {
    row-gap: 1.5rem;
    width: calc(100% - 1rem);
  }

  .s6o9 .s6o9-event-detail-expect__title,
  .s6o9 .s6o9-event-detail-expect__title *,
  .s6o9 .s6o9-event-detail-expect__title .elementor-heading-title,
  .s6o9 .s6o9-event-detail-expect__eyebrow,
  .s6o9 .s6o9-event-detail-expect__eyebrow *,
  .s6o9 .s6o9-event-detail-expect__eyebrow .elementor-heading-title {
    font-size: 2rem !important;
    line-height: 1.08 !important;
    max-width: none;
  }

  .s6o9 .s6o9-event-detail-expect__content,
  .s6o9 .s6o9-event-detail-expect__content .elementor-widget-container,
  .s6o9 .s6o9-event-detail-expect__content .elementor-shortcode {
    font-size: 1.0625rem;
    line-height: 1.45;
  }

  .s6o9 .s6o9-event-detail-expect__content p {
    max-width: none;
  }

  .s6o9 .s6o9-event-detail-expect__content p + p {
    margin-top: 1.15em;
  }
}

@media (max-width: 480px) {
  .s6o9 .s6o9-event-detail-expect {
    padding: 2.5rem 0 3rem;
  }

  .s6o9 .s6o9-event-detail-expect__inner {
    row-gap: 1.25rem;
  }

  .s6o9 .s6o9-event-detail-expect__title,
  .s6o9 .s6o9-event-detail-expect__title *,
  .s6o9 .s6o9-event-detail-expect__title .elementor-heading-title,
  .s6o9 .s6o9-event-detail-expect__eyebrow,
  .s6o9 .s6o9-event-detail-expect__eyebrow *,
  .s6o9 .s6o9-event-detail-expect__eyebrow .elementor-heading-title {
    font-size: 1.75rem !important;
  }

  .s6o9 .s6o9-event-detail-expect__content,
  .s6o9 .s6o9-event-detail-expect__content .elementor-widget-container,
  .s6o9 .s6o9-event-detail-expect__content .elementor-shortcode {
    font-size: 1rem;
    line-height: 1.48;
  }
}

/* =========================================================
   EVENT DETAIL — TICKET STOMP
========================================================= */

.s6o9 .s6o9-event-detail-tickets {
  position: relative;
  background: #fbd0bc;
  padding: 56px 0 76px;
  color: rgba(63, 37, 30, 0.94);
}

.s6o9 .s6o9-event-detail-tickets__inner {
  position: relative;
}

.s6o9 .s6o9-event-detail-tickets .s6o9-home-sect__heading {
  margin-bottom: 1.5em;
}

.s6o9 .s6o9-event-detail-tickets__title,
.s6o9 .s6o9-event-detail-tickets__title * {
  margin: 0;
  color: var(--deep-red);
  font-family: var(--s6o9-font-serif);
  font-size: clamp(2.25rem, 3.1vw, 3.25rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.03em;
}

.s6o9 .s6o9-event-detail-tickets__intro {
  margin-top: 8px;
}

.s6o9 .s6o9-event-detail-tickets__intro p {
  margin: 0;
  color: rgba(63, 37, 30, 0.82);
  font-family: var(--s6o9-font-serif);
  font-size: clamp(1rem, 1.05vw, 1.14rem);
  line-height: 1.45;
}

.s6o9 .s6o9-event-detail-tickets__panel {
  position: relative;
  margin-top: 34px;
  padding: 42px 48px 44px;
  border: 1px solid rgba(230, 168, 142, 0.8);
  border-radius: 18px;
  background: rgba(249, 221, 205, 0.58);
  box-shadow:
    0 18px 44px rgba(117, 28, 29, 0.08),
    inset 0 0 0 1px rgba(255, 244, 235, 0.34);
}

.s6o9 .s6o9-event-detail-tickets__panel::before {
  content: '';
  position: absolute;
  top: 38px;
  left: 96px;
  right: 96px;
  height: 1px;
  background: rgba(117, 28, 29, 0.18);
}

.s6o9 .s6o9-event-detail-tickets__panel-title,
.s6o9 .s6o9-event-detail-tickets__panel-title * {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin: 0 auto;
  padding: 0 22px;
  background: #fbd0bc;
  color: rgba(63, 37, 30, 0.94);
  font-family: var(--s6o9-font-serif);
  font-size: clamp(1.15rem, 1.28vw, 1.35rem);
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  text-transform: none;
}

.s6o9 .s6o9-event-detail-tickets__panel-note {
  position: relative;
  z-index: 1;
  margin-top: 10px;
  text-align: center;
}

.s6o9 .s6o9-event-detail-tickets__panel-note p {
  margin: 0;
  color: rgba(63, 37, 30, 0.74);
  font-family: var(--s6o9-font-serif);
  font-size: clamp(0.92rem, 0.95vw, 1rem);
  line-height: 1.4;
}

.s6o9 .s6o9-event-detail-tickets__embed {
  position: relative;
  z-index: 1;
  width: min(100%, 1000px);
  margin: 34px auto 0;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(249, 221, 205, 0.58);
  box-shadow:
    0 14px 32px rgba(63, 37, 30, 0.1),
    0 0 0 1px rgba(117, 28, 29, 0.08);
}

.s6o9 .s6o9-event-detail-tickets__embed iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 620px;
  border: 0;
  background: transparent;
}

/* Elementor reset inside the stomp */
.s6o9 .s6o9-event-detail-tickets .elementor-widget {
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  .s6o9 .s6o9-event-detail-tickets__panel {
    padding: 36px 32px 38px;
  }

  .s6o9 .s6o9-event-detail-tickets__panel::before {
    left: 56px;
    right: 56px;
  }
}

@media (max-width: 767px) {
  .s6o9 .s6o9-event-detail-tickets {
    padding: 3rem 0 3.5rem;
  }

  .s6o9 .s6o9-event-detail-tickets__panel {
    margin-top: 1.75rem;
    padding: 1.75rem 1.25rem 1.5rem;
    border-radius: 14px;
  }

  .s6o9 .s6o9-event-detail-tickets__panel::before {
    top: 1.75rem;
    left: 1.5rem;
    right: 1.5rem;
  }

  .s6o9 .s6o9-event-detail-tickets__panel-title,
  .s6o9 .s6o9-event-detail-tickets__panel-title * {
    padding-inline: 1rem;
    font-size: 1.125rem;
  }

  .s6o9 .s6o9-event-detail-tickets__panel-note p {
    font-size: 0.9375rem;
  }

  .s6o9 .s6o9-event-detail-tickets__embed {
    margin-top: 1.75rem;
    border-radius: 12px;
  }

  .s6o9 .s6o9-event-detail-tickets__embed iframe {
    min-height: 680px;
  }
}

@media (max-width: 480px) {
  .s6o9 .s6o9-event-detail-tickets {
    padding: 2.5rem 0 3rem;
  }

  .s6o9 .s6o9-event-detail-tickets__panel {
    padding: 1.5rem 1rem 1.25rem;
  }

  .s6o9 .s6o9-event-detail-tickets__panel::before {
    top: 1.5rem;
    left: 1.25rem;
    right: 1.25rem;
  }

  .s6o9 .s6o9-event-detail-tickets__panel-title,
  .s6o9 .s6o9-event-detail-tickets__panel-title * {
    font-size: 1.0625rem;
    padding-inline: 0.875rem;
  }

  .s6o9 .s6o9-event-detail-tickets__panel-note p {
    font-size: 0.875rem;
  }
}

/* =========================================================
   EVENT DETAIL — GET TICKETS (inherits get-access system)
========================================================= */
/* Eventbrite embed */
.s6o9 .s6o9-get-tickets-form iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 620px;

  border: 0;
  border-radius: 16px;
  border: 1px solid rgba(117, 28, 29, 0.22);

  /* background: rgba(255, 255, 55, 0.35); */

  box-shadow: 0 10px 26px rgba(63, 37, 30, 0.18);
}

/* ============================================================
   EVENT DETAIL — INFO + FAQ CONVERSION SECTION
   ============================================================ */

/* -------------------------
   ELEMENTOR RESET / WIDTH CONTROL
------------------------- */

.s6o9 .s6o9-evtdeets-sect_s6o9-info,
.s6o9 .s6o9-evtdeets-sect_s6o9-faq,
.s6o9 .s6o9-evtdeets-sect_s6o9-foot {
  position: relative;
}

.s6o9 .s6o9-evtdeets-sect_s6o9-info > .e-con-inner,
.s6o9 .s6o9-evtdeets-sect_s6o9-faq > .e-con-inner,
.s6o9 .s6o9-evtdeets-sect_s6o9-foot > .e-con-inner {
  width: 100%;
  max-width: none;
  padding: 0;
}

.s6o9 .s6o9-evtdeets-info.e-con,
.s6o9 .s6o9-evtdeets-faq.e-con {
  display: block !important;
}

/* -------------------------
   SECTION A — INFO
------------------------- */

.s6o9 .s6o9-evtdeets-sect_s6o9-info {
  z-index: 2;
  overflow: visible;
  background-color: var(--base-peach);
  padding: 0;

  background-image:
    linear-gradient(
      90deg,
      rgba(249, 205, 187, 0.12) 0%,
      rgba(249, 205, 187, 0) 28%,
      rgba(249, 205, 187, 0.04) 62%,
      rgba(249, 205, 187, 0.2) 100%
    ),
    url(https://staging.station6over9.com/wp-content/uploads/2026/05/gnr-bg_smoke1.jpg);
  background-size: cover;
}

.s6o9 .s6o9-evtdeets-sect_s6o9-info::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  background:
    radial-gradient(
      ellipse 52em 34em at 45% 20%,
      rgba(255, 224, 211, 0.92) 0%,
      rgba(255, 224, 211, 0.82) 34%,
      rgba(255, 224, 211, 0.54) 55%,
      rgba(255, 224, 211, 0.16) 76%,
      rgba(255, 224, 211, 0) 100%
    ),
    linear-gradient(
      90deg,
      rgba(255, 219, 205, 0.58) 0%,
      rgba(255, 219, 205, 0.38) 35%,
      rgba(255, 219, 205, 0.08) 72%,
      rgba(255, 219, 205, 0) 100%
    );
  opacity: 0.7;
}

.s6o9 .s6o9-evtdeets-info {
  position: relative;
  width: min(100% - 2.5em, var(--s6o9-width-boxed));
  min-height: 43em;
  margin-inline: auto;
  padding-top: 7em;
  padding-bottom: 38em;
}

/* -------------------------
   INFO TEXT
------------------------- */

.s6o9 .s6o9-evtdeets-info__lead,
.s6o9 .s6o9-evtdeets-info__body {
  position: relative;
  z-index: 3;
}

.s6o9 .s6o9-evtdeets-info__lead {
  width: 30em !important;
  margin: 0 0 1.55em;
  color: rgba(117, 28, 29, 0.84);
  font-family: var(--s6o9-font-display);
  font-size: 2.2em;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.026em;
  /* text-align: justify; */
  margin-bottom: 1em !important;
}

.s6o9 .s6o9-evtdeets-info__body {
  width: 50em;
  /* max-width: 700px !important; */
}

.s6o9 .s6o9-evtdeets-info__body p {
  margin: 0 0 1em;
  color: rgba(63, 37, 30, 0.8);
  font-family: var(--s6o9-font-primary);
  font-size: 1.4em;
  font-weight: 400;
  line-height: 1.4;
}

.s6o9 .s6o9-evtdeets-info__body p:last-child {
  margin-bottom: 0;
}

/* -------------------------
   HOST IMAGE
------------------------- */

.s6o9 .s6o9-evtdeets-info__media {
  position: absolute;
  z-index: 2;
  right: -24em;
  bottom: 0;
  width: 58em !important;
  margin: 0;
  pointer-events: none;
}

.s6o9 .s6o9-evtdeets-info__media img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  filter: sepia(0.15) hue-rotate(-10deg) saturate(0.9);
}

/* -------------------------
   SECTION B — FAQ BACKGROUND
------------------------- */

.s6o9 .s6o9-evtdeets-sect_s6o9-faq {
  z-index: 10;
  overflow: visible;
  padding-top: 0;
  /* padding-bottom: 8em; */
  background:
    radial-gradient(
      ellipse at 72% 12%,
      rgba(176, 72, 56, 0.34) 0%,
      rgba(176, 72, 56, 0) 48%
    ),
    linear-gradient(
      180deg,
      rgba(117, 28, 29, 0.92) 0%,
      rgba(88, 28, 27, 0.96) 100%
    );
}

.s6o9 .s6o9-evtdeets-faq {
  position: relative;
  width: min(100% - 2.5em, var(--s6o9-width-boxed));
  margin-inline: auto;
}

/* .s6o9 .s6o9-evtdeets-sect_s6o9-faq .s6o9-event-detail-image__img { */
.s6o9
  .s6o9-hero__media.s6o9-event-detail-hero__media.s6o9-event-detail-foot__media {
  filter: saturate(0);
  mix-blend-mode: soft-light;
  opacity: 0.33;
}

.s6o9
  .s6o9-hero__media.s6o9-event-detail-hero__media.s6o9-event-detail-foot__media
  img {
  filter: none;
}

/* -------------------------
   FAQ CARD — SURFACE ONLY USES BLEND
------------------------- */

.s6o9 .s6o9-evtdeets-faq__card {
  position: relative;
  z-index: 4;
  width: 46em;
  max-width: 100%;
  margin-top: -36em;
  padding: 2.65em;
  border-radius: 1.15em;
  overflow: hidden;
  isolation: isolate;
  background: transparent;
  box-shadow:
    0 1.9em 4.5em rgba(45, 10, 8, 0.24),
    inset 0 0 0 1px rgba(255, 255, 255, 0.34);
}

.s6o9 .s6o9-evtdeets-faq__card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  border-radius: inherit;
  background: linear-gradient(
    180deg,
    rgba(255, 236, 225, 0.92) 0%,
    rgba(244, 196, 181, 0.82) 100%
  );
  opacity: 0.5;
  border: 5px solid #fff;
}

.s6o9 .s6o9-evtdeets-faq__card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    radial-gradient(
      ellipse at 28% 12%,
      rgba(255, 255, 255, 0.58) 0%,
      rgba(255, 255, 255, 0.2) 38%,
      rgba(255, 255, 255, 0) 72%
    ),
    linear-gradient(135deg, rgba(117, 28, 29, 0.22), rgba(255, 230, 216, 0.38));
  mix-blend-mode: soft-light;
  pointer-events: none;
}

/* -------------------------
   FAQ SHORTCODE / ACCORDION
------------------------- */

.s6o9 .s6o9-evtdeets-faq__shortcode {
  margin: 0;
}

.s6o9 .s6o9-evtdeets-faq__shortcode .elementor-widget-container {
  margin: 0;
}

.s6o9 .s6o9-event-faq,
.s6o9 .s6o9-event-faq__list {
  margin: 0;
}

.s6o9 .s6o9-event-faq__heading {
  margin: 0 0 0.75em;
  color: var(--deep-red);
  font-family: var(--s6o9-font-display);
  font-size: 2.45em;
  font-weight: 500;
  line-height: 1.04;
  /* letter-spacing: -0.045em; */
  text-align: center;
}

.s6o9 .s6o9-event-faq__list {
  display: grid;
  gap: 0.5em;
}

.s6o9 .s6o9-event-faq__item {
  overflow: hidden;
  border: 1px solid rgba(117, 28, 29, 0.26);
  border-radius: 0.5em;
  background: rgba(255, 247, 240, 0.68);
}

.s6o9 .s6o9-event-faq__trigger {
  appearance: none;
  -webkit-appearance: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  width: 100%;
  min-height: 2.5em;
  padding: 0.65em 1.05em;
  border: 0;
  background: transparent;
  color: rgba(63, 37, 30, 0.9);
  text-align: left;
  cursor: pointer;
  box-shadow: none;

  font-size: 1.32rem;
}

.s6o9 .s6o9-event-faq__question {
  color: inherit;
  font-family: var(--s6o9-font-primary);
  font-size: 0.95em;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.035em;
}

.s6o9 .s6o9-event-faq__icon {
  width: 20px;
  height: 20px;
}

.s6o9 .s6o9-event-faq__icon::before {
  width: 14px;
  height: 2px;
}

.s6o9 .s6o9-event-faq__icon::after {
  width: 2px;
  height: 14px;
}

.s6o9 .s6o9-event-faq__panel {
  padding: 0;
  background: unset;
  transition: padding 0.3s ease;
}

.s6o9 .s6o9-event-faq__answer a {
  color: var(--deep-red);
  text-decoration: underline;
}
.s6o9 .s6o9-event-faq__answer a:hover {
  opacity: 0.82;
}

.s6o9 .s6o9-event-faq__item.is-open .s6o9-event-faq__panel {
  border-top: 0 none;
  padding: 0.9em 1.55em;
}
.s6o9 .s6o9-event-faq__item .s6o9-event-faq__panel,
.s6o9 .s6o9-event-faq__item.is-open .s6o9-event-faq__panel {
  padding-top: 0;
}

.s6o9 .s6o9-event-faq__answer p {
  margin: 0;
  color: rgba(63, 37, 30, 0.68);
  font-family: var(--s6o9-font-primary);
  font-size: 0.86em;
  font-weight: 400;
  line-height: 1.58;
}

/* -------------------------
   FAQ PAGE NOTE
------------------------- */

.s6o9 .s6o9-evtdeets-faq__note {
  width: min(100%, 32em);
  margin: 2em auto 0;
}

.s6o9 .s6o9-evtdeets-faq__note p {
  margin: 0;
  color: rgba(45, 20, 16, 0.82);
  font-family: var(--s6o9-font-primary);
  font-size: 0.95em;
  line-height: 1.42;
  text-align: left;
}

/* -------------------------
   SECTION B-2 — FOOTER
------------------------- */

.s6o9 .s6o9-evtdeets-sect_s6o9-foot {
  /* background: rgba(92, 22, 22, 0.96); */
  padding-top: 4em;
  /* padding-bottom: 4em; */
  text-align: left;
  opacity: 0.5;
}

.s6o9 .s6o9-evtdeets-sect_s6o9-foot .elementor-widget-text-editor a,
.s6o9 .s6o9-evtdeets-sect_s6o9-foot .elementor-widget-text-editor {
  color: var(--base-peach) !important;
}

/* -------------------------
   RESPONSIVE
------------------------- */

@media (max-width: 768px) {
}

@media (max-width: 900px) {
  .s6o9 .s6o9-evtdeets-sect_s6o9-info {
    overflow: hidden;
  }

  .s6o9 .s6o9-evtdeets-info {
    min-height: 0;
    padding-top: 5em;
    padding-bottom: 0em;
    padding-left: 1.5em;
    padding-right: 1.5em;
    width: 100%;
  }

  .s6o9 .s6o9-evtdeets-info__lead,
  .s6o9 .s6o9-evtdeets-info__body {
    width: 100% !important;
    max-width: 100% !important;
  }

  .s6o9 .s6o9-evtdeets-info__lead {
    font-size: 1.7em;
  }

  .s6o9 .s6o9-evtdeets-info__body p {
    font-size: 1.15em;
    line-height: 1.35;
  }

  .s6o9 .s6o9-evtdeets-info__media {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100% !important;
    margin: 3em auto 0;
    transform: scale(1.4);
  }

  /* FAQ section - full width container on mobile */
  .s6o9 .s6o9-evtdeets-faq {
    width: 100%;
  }

  .s6o9 .s6o9-evtdeets-faq__card {
    width: calc(100% - 2.5rem);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    padding: 2rem 1.25rem;
    margin-top: -12rem;
  }

  .s6o9 .s6o9-event-faq__trigger {
    gap: 0;
  }

  .s6o9 .s6o9-event-faq__question {
    font-size: 0.8em;
    font-weight: 500;
  }
}

@media (max-width: 480px) {
  .s6o9 .s6o9-evtdeets-faq__card {
    width: 100%;
    padding: 1.75rem 1rem;
    margin-top: -10rem;
  }
}

/* ============================================================
   HOME — reusable material fold seam
   Purpose: creates the physical crease once both sides share color
   ============================================================ */

/* .s6o9 .s6o9-seam {
  position: relative;
  pointer-events: none;
} */

/* reusable fold effect */
.s6o9 .s6o9-seam--fold::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--s6o9-fold-height, 34px);
  pointer-events: none;
  z-index: 20;

  background:
    /* darkening/compression above the fold */ linear-gradient(
    180deg,
    rgba(120, 50, 30, 0) 0%,
    rgba(120, 50, 30, 0.09) 34%,
    rgba(120, 50, 30, 0.21) 72%,
    rgba(120, 50, 30, 0.31) 100%
  );

  mix-blend-mode: hard-light;
  opacity: 0.5;
  transform: translateY(228px);
}

/* actual fold line */
.s6o9 .s6o9-seam--fold::after {
  /* content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  pointer-events: none;
  z-index: 30;

  background: rgba(120, 50, 30, 0.22);

  box-shadow:
    0 -1px 2px rgba(85, 34, 20, 0.16),
    0 1px 2px rgba(255, 238, 226, 0.28);

  filter: blur(2px);
  /* transform: translateY(220px); */
  /* mix-blend-mode: hard-light;  */
}

/* ============================================================
   TEMPLATES - Elementor Global Widgets
   Purpose:
   ============================================================ */

/* -------------------------
   Page Section Transition Seam
  ------------------------- */
.s6o9 .elementor-widget-shortcode:has(.s6o9-section-xition-seam) {
  position: absolute !important;
  left: 0;
  right: 0;
  z-index: 1;
  pointer-events: none;
}

.s6o9 .s6o9-section-xition-seam,
.s6o9 .s6o9-section-xition-seam * {
  padding: 0;
  margin: 0;
}

.s6o9 .elementor-widget-shortcode:has(.s6o9-section-xition-seam) {
  mask-image: linear-gradient(
    to right,
    transparent 10px,
    black 25%,
    black 75%,
    transparent calc(100% - 10px)
  );
}

.s6o9 .elementor-widget-shortcode:has(.s6o9-section-xition-seam--full-width) {
  mask-image: none;
}

/* - - - - - - - */

.s6o9 .elementor-widget-shortcode:has(.s6o9-section-xition-seam__top) {
  bottom: 0;
  --s6o9-seam-top-height: 34px;
  height: var(--s6o9-seam-top-height);
}

.s6o9 .s6o9-section-xition-seam__top-bg {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: visible;

  z-index: 10;
  background: linear-gradient(
    180deg,
    rgba(120, 50, 30, 0) 0%,
    rgba(120, 50, 30, 0.09) 34%,
    rgba(120, 50, 30, 0.21) 72%,
    rgba(120, 50, 30, 0.26) 100%
  );
  mix-blend-mode: hard-light;
  opacity: 0.5;
}

/* - - - - - - - */

.s6o9 .elementor-widget-shortcode:has(.s6o9-section-xition-seam__bot) {
  top: 0;
}

.s6o9 .s6o9-section-xition-seam__bot-bg {
  height: 80px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.45) 5%,
    transparent
  );
}

.s6o9 .s6o9-section-xition-seam__bot-bg::before {
  content: '';
  background: rgba(120, 50, 30, 0.65);
  box-shadow:
    0 2px 4px rgba(85, 34, 20, 0.72),
    0 1px 2px rgba(255, 238, 226, 0.28);
  filter: blur(1px);
  position: absolute;
  top: 0px;
  z-index: 10;
  width: 100%;
  height: 2px;
  mix-blend-mode: hard-light;
}

/* ============================================================
   IMAGE BRIDGE - dissolved-edged photo between sections
   ============================================================ */

.elementor-widget-shortcode:has(.s6o9-image-bridge) {
  /* --mask-url: url('/wp-content/uploads/masks/charcoal-mask-1.svg'); */
  --mask-url: url('/wp-content/uploads/masks/charcoal-mask-3.png');
  --outer-container-height: 320px;

  position: absolute !important;
  left: 0;
  right: 0;
  top: calc(-1 * var(--outer-container-height) / 2);
  z-index: 2;
}

.s6o9 .s6o9-image-bridge {
  position: relative;
  height: var(--outer-container-height);
  overflow: hidden;
  isolation: isolate;
}

/* IMAGE */
.s6o9 .s6o9-image-bridge__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

  mix-blend-mode: luminosity;
  opacity: 0.9;
  filter: saturate(0) contrast(1.05) brightness(1);

  width: 100%;
  height: 320px;
  object-fit: cover;

  mask-image: var(--mask-url);
  mask-size: 100% 100%;
  mask-repeat: no-repeat;

  -webkit-mask-image: var(--mask-url);
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
}

/* WHISPER TEXT */
.s6o9 .s6o9-image-bridge__whisper {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 18%;
  transform: translateX(-50%);

  margin: 0;
  max-width: min(70vw, 720px);

  font-size: clamp(0.85rem, 1.2vw, 1.1rem);
  letter-spacing: 0.18em;
  font-style: italic;
  line-height: 1.35;
  text-align: center;

  color: rgba(60, 45, 40, 0.45);
  mix-blend-mode: multiply;

  pointer-events: none;
}

.s6o9 .home-sect-wrap:has(+ .home-sect-wrap .s6o9-image-bridge) {
  padding-bottom: 200px !important;
}
.s6o9 .home-sect-wrap:has(.s6o9-image-bridge) {
  padding-top: 300px !important;
}

/* -----------------------------------------------------------
   S6O9 — art-directed button
   Source: SVG button treatment
 ----------------------------------------------------------- */
.s6o9 .s6o9-art-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  border: 2px solid rgba(242, 242, 242, 0.77);
  border-radius: 20px;
  background: var(--muted-cta-pink);
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  box-shadow: none;
  transition:
    background-color 160ms ease,
    transform 160ms ease,
    border-color 160ms ease;
  box-shadow:
    0 10px 22px rgba(96, 43, 30, 0.18),
    0 2px 6px rgba(96, 43, 30, 0.12);
}

.s6o9 .s6o9-art-button:hover,
.s6o9 .s6o9-art-button:focus-visible {
  background: var(--muted-cta-pink-hover);
  transform: translateY(-1px);
  color: rgba(255, 255, 255, 1);
  box-shadow:
    0 14px 28px rgba(96, 43, 30, 0.22),
    0 4px 10px rgba(96, 43, 30, 0.14);
}

.s6o9 .s6o9-art-button:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.7);
  outline-offset: 3px;
}

.s6o9 .s6o9-art-button__text {
  display: block;
  color: inherit;
  font-family: var(--s6o9-font-condensed);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.01em;
  text-align: center;
}

/* Sizes */

.s6o9 .s6o9-art-button--xs {
  min-height: 38px;
  padding: 0 18px;
  border-width: 1.5px;
  border-radius: 7px;
}

.s6o9 .s6o9-art-button--xs .s6o9-art-button__text {
  font-size: 0.95rem;
}

.s6o9 .s6o9-art-button--sm {
  min-height: 42px;
  padding: 0 20px;
  border-width: 1.5px;
  border-radius: 8px;
}

.s6o9 .s6o9-art-button__text {
  display: block;
  color: inherit;
  font-family: var(--s6o9-font-condensed);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.01em;
  text-align: center;

  /* replace heavy glow with subtle lift */
  text-shadow:
    0 1px 0 rgba(0, 0, 0, 0.35),
    0 2px 6px rgba(0, 0, 0, 0.25);
}

.s6o9 .s6o9-art-button--md {
  min-height: 58px;
  padding: 0 30px;
  border-radius: 13px;
}

.s6o9 .s6o9-art-button--md .s6o9-art-button__text {
  font-size: clamp(1.35rem, 1.65vw, 1.85rem);
}

.s6o9 .s6o9-art-button--lg {
  min-height: 90px;
  padding: 0 42px;
  border-radius: 20px;
}

.s6o9 .s6o9-art-button--lg .s6o9-art-button__text {
  font-size: clamp(2rem, 2.25vw, 2.75rem);
}

/* Optional utility modifiers */

.s6o9 .s6o9-art-button--block {
  width: 100%;
}

.s6o9 .s6o9-art-button--no-lift:hover,
.s6o9 .s6o9-art-button--no-lift:focus-visible {
  transform: none;
}

.text-align_center {
  text-align: center;
}

.s6o9
  #membership-sect-wrap_get-access
  .s6o9-get-access-form-placeholder::after {
  content: '';
  background-color: #f9ddcd;
  position: absolute;
  inset: 0;
  z-index: 10;
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* =========================================================
   SPLASH PAGE — MINIMAL LAUNCH HOMEPAGE (STEP 85)
   Desktop = Mobile Width (768px max, minimal media queries)
========================================================= */

/* Hide topbar on splash page */
.s6o9-splash-page ~ .s6o9-event-detail-topbar,
body:has(.s6o9-splash-page) .s6o9-event-detail-topbar {
  display: none !important;
}

.s6o9-splash-page {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.25rem;
  /* background: #f9ddcd; */
  color: rgba(63, 37, 30, 0.94);
}

/* Logo inside card */
.s6o9-splash-page__logo {
  margin-bottom: 0.5rem;
  text-align: center;
}

.s6o9-splash-page__logo img {
  width: 50%;
  height: auto;
  /* mix-blend-mode: luminosity;
  opacity: 0.9; */
  filter: saturate(1) drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.2));
}

.s6o9-splash-page__site-name {
  font-family: var(--s6o9-font-serif);
  font-size: 2rem;
  font-weight: 500;
  color: var(--deep-red);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

/* Intro text below logo */
.s6o9-splash-page__intro {
  text-align: center;
  margin-bottom: 2.5rem;
}

.s6o9-splash-page__intro p {
  margin: 0;
  font-family: var(--s6o9-font-primary);
  font-size: 1.2375rem;
  line-height: 1.6;
  color: rgba(63, 37, 30, 0.82);
}

/* Card container - matches FAQ card aesthetic */
.s6o9-splash-page__card {
  position: relative;
  z-index: 4;
  width: 100%;
  max-width: 768px;
  padding: 2.5rem;
  border-radius: 1.15em;
  overflow: hidden;
  isolation: isolate;
  background: transparent;
  box-shadow:
    0 0.9em 1.5em rgba(45, 10, 8, 0.24),
    inset 0 0 0 1px rgba(255, 255, 255, 0.34);
}

.s6o9-splash-page__card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  border-radius: inherit;
  background: linear-gradient(
    180deg,
    rgba(255, 236, 225, 0.92) 0%,
    rgba(244, 196, 181, 0.82) 100%
  );
  opacity: 0.5;
  border: 5px solid #fff;
}

.s6o9-splash-page__card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    radial-gradient(
      ellipse at 28% 12%,
      rgba(255, 255, 255, 0.58) 0%,
      rgba(255, 255, 255, 0.2) 38%,
      rgba(255, 255, 255, 0) 72%
    ),
    linear-gradient(135deg, rgba(117, 28, 29, 0.22), rgba(255, 230, 216, 0.38));
  mix-blend-mode: soft-light;
  pointer-events: none;
}

/* Events list */
.s6o9-splash-page__events {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Individual event row */
.s6o9-splash-page__event {
  border-bottom: 1px solid rgba(117, 28, 29, 0.16);
  border-radius: 8px;
  padding-left: 1rem;
  transition: all 0.2s ease;
}
.s6o9-splash-page__event > * {
  transition: all 0.2s ease;
  opacity: 0.92;
}

.s6o9-splash-page__event:last-child {
  border-bottom: none;
}

.s6o9-splash-page__event:hover {
  background: rgba(255, 247, 240, 0.2);
}
.s6o9-splash-page__event:hover > * {
  /* background: rgba(255, 247, 240, 0.4); */
  transform: scale(1.02) translateX(4px);
  opacity: 1;
}

.s6o9-splash-page__event-link {
  display: block;
  padding: 1.5rem 0;
  text-decoration: none;
  color: inherit;
}

.s6o9-splash-page__event-title {
  font-family: var(--s6o9-font-display);
  font-size: 2.175rem;
  font-weight: 600;
  line-height: 1.25;
  color: var(--s6o9-rust);
  margin-bottom: 0rem;
  transition: color 0.2s ease;
}

.s6o9-splash-page__event-link:hover .s6o9-splash-page__event-title {
  /* color: var(--deep-red); */
}

.s6o9-splash-page__event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  font-family: var(--s6o9-font-primary);
  font-size: 1.4375rem;
  color: rgba(63, 37, 30, 0.78);
  line-height: 1.5;
}

.s6o9-splash-page__event-date {
  font-weight: 500;
}

/* Empty state */
.s6o9-splash-page__empty {
  text-align: center;
  padding: 3rem 2rem;
}

.s6o9-splash-page__empty p {
  margin: 0;
  font-family: var(--s6o9-font-primary);
  font-size: 1.125rem;
  color: rgba(63, 37, 30, 0.68);
  line-height: 1.6;
}

/* Contact info below card */
.s6o9-splash-page__contact {
  margin-top: 2rem;
  text-align: center;
  max-width: 768px;
  width: 100%;
  padding: 0 2rem;
}

.s6o9-splash-page__contact p {
  margin: 0;
  font-family: var(--s6o9-font-primary);
  font-size: 0.875rem;
  font-style: italic;
  /* color: #888; */
  line-height: 1.7;
}

.s6o9-splash-page__contact a {
  color: var(--deep-blue) !important;
  text-decoration: underline !important;
  transition: all 0.2s ease;
}

.s6o9-splash-page__contact a:hover {
  /* color: var(--deep-blue); */
  opacity: 0.82;
}

/* Mobile adjustments (< 480px) */
@media (max-width: 480px) {
  .s6o9-splash-page {
    padding: 2rem 1rem;
  }

  .s6o9-splash-page__logo {
    margin-bottom: 1rem;
  }

  .s6o9-splash-page__logo img {
    max-width: 60%;
  }

  .s6o9-splash-page__site-name {
    font-size: 1.5rem;
  }

  .s6o9-splash-page__intro {
    margin-bottom: 2rem;
  }

  .s6o9-splash-page__intro p {
    font-size: 0.8125rem;
  }

  .s6o9-splash-page__card {
    padding: 1.75rem 1.25rem;
    border-radius: 0.875em;
  }

  .s6o9-splash-page__event-link {
    padding: 1.125rem 0;
  }

  .s6o9-splash-page__event-title {
    font-size: 1.125rem;
    margin-bottom: 0.375rem;
  }

  .s6o9-splash-page__event-meta {
    font-size: 0.875rem;
    gap: 0.5rem 1rem;
    flex-direction: column;
  }

  .s6o9-splash-page__empty {
    padding: 2rem 1rem;
  }

  .s6o9-splash-page__empty p {
    font-size: 1rem;
  }

  .s6o9-splash-page__contact {
    margin-top: 1.5rem;
    padding: 0 0.5rem;
  }

  .s6o9-splash-page__contact p {
    font-size: 0.75rem;
    line-height: 1.6;
  }
}

#fuk {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}
