:root {
  --sa-shadow-soft: 0 18px 45px rgba(59, 57, 53, 0.08);
  --sa-border: rgba(63, 87, 67, 0.18);
}

html { scroll-behavior: smooth; }

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid #C9A96E;
  outline-offset: 3px;
}

.wp-site-blocks { min-height: 100vh; }

.sa-site-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid var(--sa-border);
  background: rgba(247, 241, 231, 0.96);
}

.sa-site-header .wp-block-site-title a {
  text-decoration: none;
  letter-spacing: 0.02em;
}

.sa-hero {
  min-height: min(760px, 82vh);
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 86% 18%, rgba(201, 169, 110, 0.22), transparent 28%),
    radial-gradient(circle at 14% 80%, rgba(169, 183, 162, 0.34), transparent 34%),
    linear-gradient(145deg, #F7F1E7 0%, #EFE7DA 100%);
}

.sa-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  font-weight: 700;
  color: #7B3F4A;
}

.sa-introduction {
  max-width: 680px;
  font-size: clamp(1.15rem, 1.04rem + 0.45vw, 1.48rem);
  line-height: 1.75;
}

.sa-card {
  height: 100%;
  border: 1px solid var(--sa-border);
  border-radius: 24px;
  background: #FFFDF8;
  box-shadow: var(--sa-shadow-soft);
}

.sa-soft-section {
  background: #E7E0D5;
  border-radius: 32px;
}

.sa-quote {
  border-left: 4px solid #C9A96E;
  padding-left: 1.5rem;
  font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.85rem);
  line-height: 1.55;
  color: #3F5743;
}

.sa-site-footer {
  border-top: 1px solid var(--sa-border);
  background: #3F5743;
  color: #FFFDF8;
}

.sa-site-footer a { color: #FFFDF8; }

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  border: 1px solid #3F5743;
  color: #3F5743;
}

@media (max-width: 781px) {
  .sa-hero { min-height: auto; }
  .sa-site-header .wp-block-navigation { width: 100%; }
}

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

/* Stage 1B public shell */
.sa-header-inner { gap: 2rem; }
.sa-brand { flex-shrink: 0; }
.sa-wordmark {
  color: #3F5743;
  font-size: clamp(1.35rem, 1.2rem + .45vw, 1.75rem);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1;
  text-decoration: none;
}
.sa-main-navigation { font-weight: 700; }
.sa-main-navigation .wp-block-navigation-item__content { text-decoration: none; }
.sa-main-navigation .sa-nav-login > .wp-block-navigation-item__content {
  border: 1px solid #3F5743;
  border-radius: 999px;
  padding: .65rem 1rem;
}
.sa-membership-card h3 { margin-top: 0; }
.sa-check-list { list-style: none; padding-left: 0; }
.sa-check-list li { position: relative; padding-left: 1.65rem; margin-bottom: .8rem; }
.sa-check-list li::before { content: "✓"; position: absolute; left: 0; color: #3F5743; font-weight: 700; }
.sa-visual-placeholder {
  min-height: 330px;
  display: grid;
  place-items: center;
  padding: 3rem;
  border-radius: 32px;
  background:
    radial-gradient(circle at 75% 25%, rgba(201,169,110,.35), transparent 25%),
    radial-gradient(circle at 22% 75%, rgba(169,183,162,.5), transparent 31%),
    #F7F1E7;
  color: #3F5743;
  font-size: 1.25rem;
  line-height: 1.6;
}
.sa-first-chair {
  border: 1px solid rgba(123,63,74,.24);
  border-radius: 32px;
  background: linear-gradient(145deg, #FFFDF8, #F2E7E5);
  box-shadow: var(--sa-shadow-soft);
}
.sa-footer-links { list-style: none; padding-left: 0; }
.sa-footer-links li { margin-bottom: .65rem; }
.sa-footer-email { overflow-wrap: anywhere; }
.sa-page-intro { max-width: 760px; }
.sa-page-section { margin-top: clamp(3rem, 6vw, 6rem); }
.sa-detail-grid { align-items: stretch; }
.sa-detail-grid > .wp-block-column { display: flex; }
.sa-detail-grid > .wp-block-column > .wp-block-group { width: 100%; }

@media (max-width: 1080px) and (min-width: 782px) {
  .sa-seasons-grid { flex-wrap: wrap !important; }
  .sa-seasons-grid > .wp-block-column { flex-basis: calc(50% - 1rem) !important; }
  .sa-footer-columns { flex-wrap: wrap !important; }
  .sa-footer-columns > .wp-block-column { flex-basis: calc(50% - 1rem) !important; }
  .sa-main-navigation { font-size: .92rem; }
}

@media (max-width: 900px) {
  .sa-header-inner { flex-wrap: wrap !important; }
  .sa-main-navigation { margin-left: auto; }
}

@media (max-width: 781px) {
  .sa-site-header .wp-block-navigation { width: auto; }
  .sa-seasons-grid > .wp-block-column,
  .sa-footer-columns > .wp-block-column { flex-basis: 100% !important; }
  .sa-soft-section,
  .sa-first-chair { border-radius: 22px; }
  .sa-visual-placeholder { min-height: 240px; }
}

/* Stage 1C — responsive foundation */

/* Prevent long words, URLs and media from forcing horizontal scrolling. */
.wp-site-blocks,
.wp-site-blocks main,
.wp-block-group,
.wp-block-column {
  min-width: 0;
}

img,
video,
iframe,
svg {
  max-width: 100%;
}

img,
video {
  height: auto;
}

body {
  overflow-x: hidden;
}

:where(p, li, h1, h2, h3, h4, a) {
  overflow-wrap: break-word;
}

/* Keep section spacing generous on wide screens and proportionate on smaller ones. */
.wp-site-blocks main > .wp-block-group.alignfull {
  padding-top: clamp(3.75rem, 7vw, 7rem) !important;
  padding-bottom: clamp(3.75rem, 7vw, 7rem) !important;
}

/* Header */
.sa-site-header {
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 0px);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.sa-header-inner {
  display: flex;
  align-items: center;
  min-height: 3.25rem;
  gap: clamp(1rem, 2.5vw, 2rem);
}

.sa-brand {
  min-width: max-content;
}

.sa-brand .wp-block-site-logo {
  flex: 0 0 auto;
}

.sa-main-navigation {
  margin-left: auto;
}

.sa-main-navigation .wp-block-navigation__container {
  align-items: center;
  column-gap: clamp(.75rem, 1.5vw, 1.3rem);
  row-gap: .7rem;
}

.sa-main-navigation .wp-block-navigation-item__content {
  white-space: nowrap;
}

/* Hero */
.sa-hero {
  min-height: clamp(34rem, 74vh, 47.5rem);
}

.sa-hero > .wp-block-group {
  width: 100%;
}

.sa-hero h1 {
  max-width: 15ch;
  font-size: clamp(2.25rem, 4.6vw, 4.8rem);
  text-wrap: balance;
}

.sa-hero .sa-introduction {
  max-width: 42rem;
}

.sa-hero .wp-block-buttons {
  gap: .85rem;
}

/* Cards and grouped panels */
.sa-card,
.sa-soft-section,
.sa-first-chair {
  padding-top: clamp(1.5rem, 3.2vw, 3rem) !important;
  padding-right: clamp(1.5rem, 3.2vw, 3rem) !important;
  padding-bottom: clamp(1.5rem, 3.2vw, 3rem) !important;
  padding-left: clamp(1.5rem, 3.2vw, 3rem) !important;
}

.sa-card h3,
.sa-membership-card h3 {
  line-height: 1.24;
  text-wrap: balance;
  word-break: normal;
  hyphens: none;
}

/* Auto-fitting grids respond to the available container width, not just viewport width. */
.sa-seasons-grid,
.sa-membership-grid,
.sa-footer-columns {
  display: grid !important;
  align-items: stretch;
}

.sa-seasons-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.sa-membership-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: clamp(1.25rem, 2.5vw, 2rem);
  max-width: 58rem;
  margin-left: auto;
  margin-right: auto;
}

.sa-seasons-grid > .wp-block-column,
.sa-membership-grid > .wp-block-column,
.sa-footer-columns > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-seasons-grid .sa-card,
.sa-membership-grid .sa-card {
  width: 100%;
  box-sizing: border-box;
}

.sa-membership-grid > .wp-block-column {
  display: flex;
}

.sa-membership-card {
  display: flex;
  flex-direction: column;
}

.sa-membership-card .sa-check-list {
  margin-bottom: 0;
}

/* Workshop feature */
.sa-feature-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.sa-feature-columns > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-visual-placeholder {
  min-height: clamp(17rem, 31vw, 25rem);
  padding: clamp(1.75rem, 4vw, 3rem);
}

/* Footer */
.sa-footer-columns {
  grid-template-columns: minmax(16rem, 1.65fr) repeat(3, minmax(9.5rem, 1fr));
  gap: clamp(2rem, 4vw, 4rem);
}

.sa-site-footer .wp-block-heading {
  margin-bottom: .9rem;
}

.sa-footer-email a {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Tablet and compact desktop */
@media (max-width: 1100px) {
  .sa-footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sa-footer-columns > .wp-block-column:first-child {
    grid-column: 1 / -1;
    max-width: 34rem;
  }
}

@media (max-width: 960px) {
  .sa-site-header {
    padding-top: .75rem !important;
    padding-bottom: .75rem !important;
  }

  .sa-header-inner {
    flex-wrap: nowrap !important;
  }

  /* Force the navigation overlay before links become cramped. */
  .sa-main-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  .sa-main-navigation .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    height: 2.8rem;
    border: 1px solid var(--sa-border);
    border-radius: 999px;
    color: #3F5743;
  }

  .sa-main-navigation .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important;
    background: #F7F1E7;
    color: #3B3935;
    padding: clamp(1.5rem, 5vw, 3rem);
  }

  .sa-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  .sa-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    align-items: flex-start;
    width: 100%;
    gap: 1rem;
  }

  .sa-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    white-space: normal;
    font-size: clamp(1.25rem, 3vw, 1.65rem);
    line-height: 1.3;
  }

  .sa-main-navigation .wp-block-navigation__responsive-container-close {
    top: 1.25rem;
    right: 1.25rem;
  }

  .sa-feature-columns {
    grid-template-columns: 1fr;
  }

  .sa-feature-columns .sa-visual-placeholder {
    max-width: 46rem;
    width: 100%;
    margin-inline: auto;
  }

  .sa-hero {
    min-height: auto;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .sa-site-header .wp-block-site-logo {
    display: none;
  }

  .sa-wordmark {
    font-size: 1.25rem;
  }

  .sa-hero h1 {
    max-width: none;
    font-size: clamp(2.15rem, 10vw, 3.3rem);
  }

  .sa-hero .wp-block-buttons,
  .sa-hero .wp-block-button,
  .sa-hero .wp-block-button__link,
  .sa-first-chair .wp-block-buttons,
  .sa-first-chair .wp-block-button,
  .sa-first-chair .wp-block-button__link,
  .sa-soft-section .wp-block-buttons,
  .sa-soft-section .wp-block-button,
  .sa-soft-section .wp-block-button__link {
    width: 100%;
  }

  .sa-hero .wp-block-button__link,
  .sa-first-chair .wp-block-button__link,
  .sa-soft-section .wp-block-button__link {
    box-sizing: border-box;
    text-align: center;
  }

  .sa-seasons-grid,
  .sa-membership-grid,
  .sa-footer-columns {
    grid-template-columns: 1fr;
  }

  .sa-footer-columns > .wp-block-column:first-child {
    grid-column: auto;
  }

  .sa-site-footer {
    text-align: left;
  }

  .sa-quote {
    padding-left: 1rem;
    font-size: 1.15rem;
  }

  .sa-card,
  .sa-soft-section,
  .sa-first-chair,
  .sa-visual-placeholder {
    border-radius: 20px;
  }
}

/* Very small phones */
@media (max-width: 380px) {
  .sa-wordmark {
    font-size: 1.1rem;
  }

  .sa-main-navigation .wp-block-navigation__responsive-container-open {
    width: 2.55rem;
    height: 2.55rem;
  }

  .wp-site-blocks main > .wp-block-group.alignfull {
    padding-top: 3.25rem !important;
    padding-bottom: 3.25rem !important;
  }
}


/* Stage 1C-B — fluid typography
 *
 * Text scales smoothly with the available browser width. The minimum values
 * preserve readability on phones, while the maximum values stop wide-screen
 * text becoming oversized.
 */
:root {
  --sa-type-caption: clamp(0.76rem, 0.73rem + 0.11vw, 0.84rem);
  --sa-type-body: clamp(0.94rem, 0.90rem + 0.16vw, 1.01rem);
  --sa-type-nav: clamp(0.82rem, 0.79rem + 0.12vw, 0.92rem);
  --sa-type-button: clamp(0.84rem, 0.81rem + 0.12vw, 0.94rem);
  --sa-type-card-title: clamp(1.05rem, 0.97rem + 0.30vw, 1.30rem);
  --sa-type-section: clamp(1.48rem, 1.25rem + 0.85vw, 2.15rem);
  --sa-type-page: clamp(2rem, 1.55rem + 1.8vw, 3.6rem);
}

body {
  font-size: var(--sa-type-body);
}

.sa-eyebrow,
.has-small-font-size {
  font-size: var(--sa-type-caption) !important;
}

.sa-main-navigation,
.sa-footer-links,
.sa-site-footer p {
  font-size: var(--sa-type-nav);
}

.wp-block-button__link {
  font-size: var(--sa-type-button);
}

.sa-card h3,
.sa-membership-card h3,
.sa-site-footer h3 {
  font-size: var(--sa-type-card-title) !important;
}

.has-x-large-font-size,
.sa-site-footer h2 {
  font-size: var(--sa-type-section) !important;
}

.has-xx-large-font-size,
.sa-hero h1 {
  font-size: var(--sa-type-page) !important;
}

/* Avoid oversized text inside narrower cards while preserving fluid scaling. */
.sa-seasons-grid .sa-card p,
.sa-membership-grid .sa-card p,
.sa-membership-grid .sa-check-list {
  font-size: clamp(0.9rem, 0.85rem + 0.18vw, 1rem);
}

/* Compact desktop / split-screen: reduce headings a little before layouts stack. */
@media (max-width: 1100px) {
  :root {
    --sa-type-page: clamp(1.95rem, 1.55rem + 1.45vw, 3rem);
    --sa-type-section: clamp(1.42rem, 1.22rem + 0.72vw, 1.92rem);
  }
}

/* Mobile keeps text comfortably readable without consuming the whole screen. */
@media (max-width: 640px) {
  :root {
    --sa-type-body: clamp(0.94rem, 0.91rem + 0.14vw, 0.99rem);
    --sa-type-card-title: clamp(1.04rem, 0.99rem + 0.22vw, 1.20rem);
    --sa-type-section: clamp(1.38rem, 1.20rem + 0.82vw, 1.72rem);
    --sa-type-page: clamp(1.9rem, 1.55rem + 2.7vw, 2.55rem);
  }
}


/* Stage 1C — complete homepage */
.sa-section-intro {
  max-width: 52rem;
  margin-inline: auto;
}

.sa-section-link {
  margin-top: clamp(2rem, 4vw, 3.5rem);
  font-weight: 700;
}

.sa-section-link a,
.sa-hero-text-link a {
  color: #3F5743;
  text-underline-offset: .28em;
  text-decoration-thickness: 1px;
}

.sa-hero-complete {
  padding-block: clamp(4.5rem, 8vw, 8rem) !important;
}

.sa-hero-columns,
.sa-founder-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.sa-hero-columns > .wp-block-column,
.sa-founder-columns > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-hero-copy {
  position: relative;
  z-index: 2;
}

.sa-hero-text-link {
  display: flex;
  align-items: center;
  margin: 0;
  font-weight: 700;
}

.sa-hero-art {
  position: relative;
  min-height: clamp(26rem, 42vw, 38rem);
  border-radius: min(12vw, 6rem) 1.8rem min(12vw, 6rem) 1.8rem;
  overflow: hidden;
  background:
    radial-gradient(circle at 77% 18%, rgba(201,169,110,.62), transparent 20%),
    radial-gradient(circle at 16% 82%, rgba(169,183,162,.72), transparent 27%),
    linear-gradient(145deg, #EAE0D1 0%, #F8F2E8 54%, #DCE4D7 100%);
  box-shadow: 0 30px 80px rgba(59,57,53,.13);
}

.sa-hero-art::before {
  content: "";
  position: absolute;
  inset: 10% 12% 25% 28%;
  border: 12px solid rgba(255,253,248,.82);
  border-bottom-width: 22px;
  border-radius: 12rem 12rem 1rem 1rem;
  background:
    linear-gradient(90deg, transparent 48%, rgba(63,87,67,.18) 49%, rgba(63,87,67,.18) 51%, transparent 52%),
    linear-gradient(rgba(255,253,248,.48), rgba(255,253,248,.2));
}

.sa-hero-art::after {
  content: "";
  position: absolute;
  left: 16%;
  bottom: 12%;
  width: 48%;
  height: 32%;
  border-radius: 45% 45% 24% 24%;
  background: #7B3F4A;
  box-shadow:
    1.4rem 1.6rem 0 -.35rem #C9A96E,
    4.8rem -1.2rem 0 -1.8rem #3F5743;
  opacity: .86;
}

.sa-hero-art-window {
  position: absolute;
  z-index: 2;
  right: 8%;
  bottom: 8%;
  width: min(74%, 21rem);
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid rgba(63,87,67,.15);
  border-radius: 1.5rem;
  background: rgba(255,253,248,.88);
  box-shadow: var(--sa-shadow-soft);
  backdrop-filter: blur(8px);
}

.sa-hero-art-words {
  margin: 0;
  color: #3F5743;
  font-size: clamp(1.05rem, .95rem + .45vw, 1.35rem);
  font-weight: 700;
  line-height: 1.5;
}

.sa-home-welcome .wp-block-group {
  max-width: 54rem;
}

.sa-season-card {
  position: relative;
  overflow: hidden;
  min-height: 18rem;
  padding: clamp(1.5rem, 2.7vw, 2.4rem) !important;
}

.sa-season-card::after {
  content: "";
  position: absolute;
  right: -2.2rem;
  bottom: -2.2rem;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  opacity: .35;
}

.sa-season-spring::after { background: #A9B7A2; }
.sa-season-summer::after { background: #C9A96E; }
.sa-season-autumn::after { background: #B77A52; }
.sa-season-winter::after { background: #A9B7B9; }

.sa-season-number,
.sa-value-mark {
  margin: 0 0 2.5rem;
  color: #7B3F4A;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
}

.sa-plan-label {
  margin: 0 0 .75rem;
  color: #7B3F4A;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sa-membership-featured {
  border-color: rgba(123,63,74,.3);
  background: linear-gradient(145deg, #FFFDF8, #F7EEEA);
}

.sa-workshop-art {
  position: relative;
  display: grid;
  place-items: end center;
  min-height: clamp(22rem, 38vw, 33rem);
  padding: clamp(1.75rem, 4vw, 3rem);
  overflow: hidden;
  border-radius: 3rem 1.5rem 3rem 1.5rem;
  background:
    radial-gradient(circle at 72% 20%, rgba(201,169,110,.48), transparent 20%),
    radial-gradient(circle at 20% 78%, rgba(169,183,162,.65), transparent 28%),
    linear-gradient(145deg, #F8F2E8, #E8DED0);
}

.sa-workshop-art::before,
.sa-workshop-art::after {
  content: "";
  position: absolute;
  border-radius: 50% 50% 44% 56%;
  transform: rotate(-18deg);
}

.sa-workshop-art::before {
  width: 11rem;
  height: 18rem;
  top: 14%;
  left: 24%;
  background: rgba(63,87,67,.78);
}

.sa-workshop-art::after {
  width: 8rem;
  height: 12rem;
  top: 26%;
  left: 46%;
  background: rgba(123,63,74,.72);
}

.sa-workshop-art-title {
  position: relative;
  z-index: 2;
  max-width: 24rem;
  margin: 0;
  padding: 1.25rem 1.5rem;
  border-radius: 1.25rem;
  background: rgba(255,253,248,.9);
  color: #3F5743;
  box-shadow: var(--sa-shadow-soft);
  font-weight: 700;
}

.sa-values-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.sa-values-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-value-card {
  height: 100%;
  padding: clamp(1.6rem, 3vw, 2.6rem);
  border-top: 1px solid rgba(63,87,67,.25);
  background: linear-gradient(180deg, rgba(231,224,213,.5), transparent);
}

.sa-value-card h3 {
  margin-top: 0;
  font-size: var(--sa-type-card-title);
}

.sa-founder-section {
  background: #E7E0D5;
}

.sa-founder-art {
  display: grid;
  place-items: end center;
  min-height: clamp(26rem, 42vw, 38rem);
  padding: 2rem;
  overflow: hidden;
  border-radius: 48% 48% 2rem 2rem;
  background:
    radial-gradient(circle at 50% 23%, #D5B092 0 12%, transparent 12.5%),
    radial-gradient(ellipse at 50% 55%, #A65345 0 24%, transparent 24.5%),
    linear-gradient(155deg, #F7F1E7, #D8E0D3);
  box-shadow: var(--sa-shadow-soft);
}

.sa-founder-art-label {
  width: min(90%, 25rem);
  margin: 0;
  padding: 1rem 1.25rem;
  border-radius: 1rem;
  background: rgba(255,253,248,.9);
  color: #3F5743;
  font-weight: 700;
}

.sa-founder-art-label span {
  display: block;
  margin-top: .25rem;
  font-size: .82em;
  font-weight: 400;
}

.sa-first-chair-note {
  color: #7B3F4A;
  font-weight: 700;
}

.sa-home-faq .sa-faq-item {
  margin-top: 1rem;
  padding: 0;
  border: 1px solid rgba(63,87,67,.18);
  border-radius: 1rem;
  background: #FFFDF8;
  overflow: hidden;
}

.sa-faq-item summary {
  cursor: pointer;
  padding: 1.25rem 3.4rem 1.25rem 1.4rem;
  color: #3F5743;
  font-weight: 800;
  list-style: none;
  position: relative;
}

.sa-faq-item summary::-webkit-details-marker { display: none; }

.sa-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 1.35rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  font-weight: 400;
}

.sa-faq-item[open] summary::after { content: "–"; }

.sa-faq-item > p {
  margin: 0;
  padding: 0 1.4rem 1.4rem;
}

.sa-waiting-panel {
  max-width: 64rem;
}

.sa-waiting-form {
  margin-top: clamp(2rem, 4vw, 3rem);
}

.sa-waiting-form-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) auto;
  gap: .85rem;
  align-items: end;
}

.sa-form-field label {
  display: block;
  margin-bottom: .45rem;
  color: #3F5743;
  font-size: .9rem;
  font-weight: 800;
}

.sa-form-field input[type="text"],
.sa-form-field input[type="email"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 3.25rem;
  padding: .8rem 1rem;
  border: 1px solid rgba(63,87,67,.3);
  border-radius: .8rem;
  background: #FFFDF8;
  color: #3B3935;
  font: inherit;
}

.sa-form-field input:focus {
  border-color: #3F5743;
  outline: 3px solid rgba(201,169,110,.45);
  outline-offset: 1px;
}

.sa-waiting-submit {
  min-height: 3.25rem;
  padding: .8rem 1.3rem;
  border: 0;
  border-radius: 999px;
  background: #3F5743;
  color: #FFFDF8;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.sa-waiting-consent {
  display: flex;
  gap: .7rem;
  align-items: flex-start;
  margin-top: 1rem;
  font-size: .9rem;
  line-height: 1.55;
}

.sa-waiting-consent input {
  flex: 0 0 auto;
  margin-top: .25rem;
}

.sa-form-message {
  margin: 0 0 1rem;
  padding: 1rem 1.15rem;
  border-radius: .8rem;
  background: rgba(169,183,162,.28);
  color: #3F5743;
  font-weight: 700;
}

.sa-form-message.is-error {
  background: rgba(123,63,74,.1);
  color: #6F3440;
}

.sa-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (max-width: 960px) {
  .sa-hero-columns,
  .sa-founder-columns {
    grid-template-columns: 1fr;
  }

  .sa-hero-art {
    min-height: 29rem;
    max-width: 42rem;
    width: 100%;
    margin-inline: auto;
  }

  .sa-founder-columns > .wp-block-column:first-child {
    order: 2;
  }

  .sa-founder-art {
    max-width: 34rem;
    width: 100%;
    margin-inline: auto;
  }

  .sa-values-grid {
    grid-template-columns: 1fr;
  }

  .sa-waiting-form-grid {
    grid-template-columns: 1fr 1fr;
  }

  .sa-waiting-submit {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .sa-hero-art {
    min-height: 23rem;
    border-radius: 3rem 1.2rem 3rem 1.2rem;
  }

  .sa-hero-art::before {
    inset: 10% 8% 27% 20%;
  }

  .sa-hero-art::after {
    left: 10%;
    bottom: 13%;
  }

  .sa-hero-art-window {
    right: 5%;
    bottom: 5%;
    width: 78%;
  }

  .sa-season-card {
    min-height: auto;
  }

  .sa-workshop-art,
  .sa-founder-art {
    min-height: 23rem;
    border-radius: 1.5rem;
  }

  .sa-waiting-form-grid {
    grid-template-columns: 1fr;
  }

  .sa-waiting-submit {
    width: 100%;
  }
}


/* Stage 1D-1 — About Sit Awhile */
.sa-about-page {
  overflow: hidden;
}

.sa-about-hero,
.sa-about-story,
.sa-about-mission,
.sa-about-values,
.sa-about-founder,
.sa-about-difference,
.sa-about-faq,
.sa-about-invitation {
  padding-inline: var(--sa-page-gutter);
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.sa-about-hero {
  background:
    radial-gradient(circle at 80% 20%, rgba(201,169,110,.24), transparent 28%),
    radial-gradient(circle at 12% 88%, rgba(169,183,162,.34), transparent 26%),
    #F7F1E7;
}

.sa-about-hero-inner,
.sa-about-story-inner,
.sa-about-founder-inner {
  width: min(100%, var(--wp--style--global--wide-size));
  margin-inline: auto;
}

.sa-about-hero-grid,
.sa-about-story-grid,
.sa-about-founder-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(19rem, .98fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.sa-about-hero-grid > .wp-block-column,
.sa-about-story-grid > .wp-block-column,
.sa-about-founder-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-about-hero h1 {
  max-width: 12ch;
  margin-top: .45rem;
}

.sa-about-hero-copy {
  max-width: 44rem;
}

.sa-about-art,
.sa-about-story-art {
  position: relative;
  min-height: clamp(25rem, 40vw, 37rem);
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(59,57,53,.12);
}

.sa-about-art {
  border-radius: 48% 48% 1.75rem 1.75rem;
  background:
    radial-gradient(circle at 70% 18%, rgba(201,169,110,.52), transparent 18%),
    radial-gradient(circle at 20% 74%, rgba(169,183,162,.72), transparent 28%),
    linear-gradient(150deg, #FFFDF8, #E6DDCF);
}

.sa-about-art::before {
  content: "";
  position: absolute;
  width: 56%;
  height: 42%;
  left: 11%;
  bottom: 12%;
  border-radius: 46% 46% 22% 22%;
  background: #6E4248;
  box-shadow:
    4.7rem -5.5rem 0 -2.3rem #C9A96E,
    9rem -1.8rem 0 -2.2rem #3F5743;
  opacity: .88;
}

.sa-about-art::after {
  content: "";
  position: absolute;
  inset: 12% 14% 38% 30%;
  border: 10px solid rgba(255,253,248,.78);
  border-radius: 10rem 10rem 1rem 1rem;
  background:
    linear-gradient(90deg, transparent 48%, rgba(63,87,67,.14) 49%, rgba(63,87,67,.14) 51%, transparent 52%);
}

.sa-about-art-note {
  position: absolute;
  z-index: 2;
  right: 7%;
  bottom: 7%;
  width: min(76%, 21rem);
  margin: 0;
  padding: 1.25rem 1.45rem;
  border: 1px solid rgba(63,87,67,.14);
  border-radius: 1.2rem;
  background: rgba(255,253,248,.9);
  color: #3F5743;
  font-weight: 700;
  line-height: 1.55;
}

.sa-about-story {
  background: #FFFDF8;
}

.sa-about-story-copy {
  max-width: 46rem;
}

.sa-about-story-copy p {
  font-size: clamp(1.04rem, .98rem + .22vw, 1.17rem);
  line-height: 1.78;
}

.sa-about-story-art {
  border-radius: 1.5rem 5rem 1.5rem 5rem;
  background:
    radial-gradient(circle at 74% 24%, rgba(201,169,110,.5), transparent 17%),
    radial-gradient(circle at 26% 77%, rgba(169,183,162,.78), transparent 28%),
    linear-gradient(145deg, #E7E0D5, #F7F1E7);
}

.sa-about-story-art::before {
  content: "";
  position: absolute;
  width: 60%;
  height: 48%;
  left: 20%;
  bottom: 16%;
  border-radius: 1rem;
  transform: rotate(-5deg);
  background: #FFFDF8;
  box-shadow:
    0 0 0 1px rgba(63,87,67,.14),
    1rem 1rem 0 rgba(201,169,110,.28);
}

.sa-about-story-art::after {
  content: "";
  position: absolute;
  width: 25%;
  height: 5px;
  left: 33%;
  top: 42%;
  background: rgba(63,87,67,.42);
  box-shadow:
    0 1.3rem 0 rgba(63,87,67,.3),
    0 2.6rem 0 rgba(63,87,67,.22),
    0 3.9rem 0 rgba(63,87,67,.18);
}

.sa-about-mission {
  background: #E7E0D5;
}

.sa-about-section-inner {
  width: min(100%, var(--wp--style--global--wide-size));
  margin-inline: auto;
}

.sa-purpose-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.2rem, 3vw, 2.4rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.sa-purpose-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-purpose-card {
  height: 100%;
  padding: clamp(2rem, 4vw, 3.25rem);
  border: 1px solid rgba(63,87,67,.14);
  border-radius: 1.5rem;
  background: rgba(255,253,248,.82);
  box-shadow: var(--sa-shadow-soft);
}

.sa-purpose-card .sa-eyebrow {
  margin-bottom: 1rem;
}

.sa-purpose-statement {
  margin-bottom: 0;
  color: #3F5743;
  font-size: clamp(1.18rem, 1.03rem + .6vw, 1.62rem);
  line-height: 1.58;
  font-weight: 700;
}

.sa-about-values {
  background: #F7F1E7;
}

.sa-values-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .8rem;
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.sa-value-pill {
  display: grid;
  min-height: 8.6rem;
  place-items: center;
  margin: 0;
  padding: 1rem;
  border: 1px solid rgba(63,87,67,.15);
  border-radius: 1.2rem;
  background: #FFFDF8;
  color: #3F5743;
  text-align: center;
  font-weight: 800;
  box-shadow: 0 12px 30px rgba(59,57,53,.06);
}

.sa-about-founder {
  background: #FFFDF8;
}

.sa-about-founder-portrait {
  display: grid;
  min-height: clamp(28rem, 43vw, 39rem);
  place-items: end center;
  padding: 2rem;
  overflow: hidden;
  border-radius: 48% 48% 2rem 2rem;
  background:
    radial-gradient(circle at 50% 24%, #D5B092 0 12%, transparent 12.5%),
    radial-gradient(ellipse at 50% 57%, #A65345 0 24%, transparent 24.5%),
    linear-gradient(155deg, #F7F1E7, #D8E0D3);
  box-shadow: var(--sa-shadow-soft);
}

.sa-about-founder-placeholder {
  width: min(92%, 24rem);
  margin: 0;
  padding: 1rem 1.2rem;
  border-radius: 1rem;
  background: rgba(255,253,248,.9);
  color: #3F5743;
  text-align: center;
  font-size: .9rem;
}

.sa-about-founder-copy p {
  font-size: clamp(1.02rem, .97rem + .2vw, 1.14rem);
  line-height: 1.75;
}

.sa-about-difference {
  background: #E7E0D5;
}

.sa-difference-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 1.8rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

/* Three comfortably sized cards on the first row. */
.sa-difference-grid > .wp-block-column {
  grid-column: span 2;
}

/* Centre the final two cards on the second desktop row. */
.sa-difference-grid > .wp-block-column:nth-child(4) {
  grid-column: 2 / span 2;
}

.sa-difference-grid > .wp-block-column:nth-child(5) {
  grid-column: 4 / span 2;
}

.sa-difference-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-difference-card {
  height: 100%;
  padding: 1.45rem;
  border-top: 3px solid rgba(123,63,74,.55);
  background: rgba(255,253,248,.72);
}

.sa-difference-card h3 {
  margin-top: 0;
  font-size: clamp(1.04rem, .96rem + .3vw, 1.28rem);
}

.sa-about-faq {
  background: #F7F1E7;
}

.sa-about-faq .sa-faq-item {
  width: min(100%, 56rem);
  margin-inline: auto;
}

.sa-about-invitation {
  background: #FFFDF8;
}

.sa-about-invitation-panel {
  width: min(100%, 62rem);
  margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 5rem);
  border: 1px solid rgba(123,63,74,.16);
  border-radius: 1.8rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.22), transparent 23%),
    linear-gradient(145deg, #FFFDF8, #F5EBE9);
  text-align: center;
}

.sa-about-invitation-panel .wp-block-buttons {
  justify-content: center;
}

@media (max-width: 1000px) {
  .sa-about-hero-grid,
  .sa-about-story-grid,
  .sa-about-founder-grid {
    grid-template-columns: 1fr;
  }

  .sa-about-art,
  .sa-about-story-art,
  .sa-about-founder-portrait {
    width: min(100%, 38rem);
    margin-inline: auto;
  }

  .sa-values-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sa-difference-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sa-difference-grid > .wp-block-column,
  .sa-difference-grid > .wp-block-column:nth-child(4),
  .sa-difference-grid > .wp-block-column:nth-child(5) {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .sa-about-hero,
  .sa-about-story,
  .sa-about-mission,
  .sa-about-values,
  .sa-about-founder,
  .sa-about-difference,
  .sa-about-faq,
  .sa-about-invitation {
    padding-block: clamp(3.5rem, 12vw, 5rem);
  }

  .sa-about-art,
  .sa-about-story-art,
  .sa-about-founder-portrait {
    min-height: 23rem;
    border-radius: 1.5rem;
  }

  .sa-purpose-grid,
  .sa-values-list,
  .sa-difference-grid {
    grid-template-columns: 1fr;
  }

  .sa-value-pill {
    min-height: 5.2rem;
  }

  .sa-about-invitation-panel .wp-block-button,
  .sa-about-invitation-panel .wp-block-button__link {
    width: 100%;
  }
}


/* Stage 1D-2 — Meet Your Host */
.sa-host-page {
  overflow: hidden;
}

.sa-host-hero,
.sa-host-welcome,
.sa-host-role,
.sa-host-approach,
.sa-host-spaces,
.sa-host-experience,
.sa-host-note,
.sa-host-invitation {
  padding-inline: var(--sa-page-gutter);
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.sa-host-inner {
  width: min(100%, var(--wp--style--global--wide-size));
  margin-inline: auto;
}

.sa-host-reading {
  width: min(100%, 54rem);
  margin-inline: auto;
}

.sa-host-hero {
  background:
    radial-gradient(circle at 80% 15%, rgba(201,169,110,.28), transparent 26%),
    radial-gradient(circle at 10% 86%, rgba(169,183,162,.32), transparent 25%),
    #F7F1E7;
}

.sa-host-hero-grid,
.sa-host-welcome-grid,
.sa-host-role-grid,
.sa-host-experience-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.03fr) minmax(19rem, .97fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.sa-host-hero-grid > .wp-block-column,
.sa-host-welcome-grid > .wp-block-column,
.sa-host-role-grid > .wp-block-column,
.sa-host-experience-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-host-hero h1 {
  max-width: 11ch;
  margin-top: .5rem;
}

.sa-host-hero-copy {
  max-width: 45rem;
}

.sa-host-portrait {
  position: relative;
  display: grid;
  min-height: clamp(29rem, 46vw, 43rem);
  place-items: end center;
  padding: 2rem;
  overflow: hidden;
  border-radius: 48% 48% 2rem 2rem;
  background:
    radial-gradient(circle at 50% 23%, #D6AF91 0 11%, transparent 11.5%),
    radial-gradient(ellipse at 50% 57%, #A85445 0 23%, transparent 23.5%),
    radial-gradient(circle at 76% 18%, rgba(201,169,110,.48), transparent 18%),
    linear-gradient(155deg, #F7F1E7, #D8E0D3);
  box-shadow: 0 30px 80px rgba(59,57,53,.13);
}

.sa-host-portrait::before {
  content: "";
  position: absolute;
  inset: 12% 12% 37% 29%;
  border: 10px solid rgba(255,253,248,.72);
  border-radius: 10rem 10rem 1rem 1rem;
}

.sa-host-portrait-note {
  position: relative;
  z-index: 2;
  width: min(92%, 25rem);
  margin: 0;
  padding: 1rem 1.2rem;
  border-radius: 1rem;
  background: rgba(255,253,248,.91);
  color: #3F5743;
  text-align: center;
  font-size: .9rem;
  box-shadow: var(--sa-shadow-soft);
}

.sa-host-welcome {
  background: #FFFDF8;
}

.sa-host-letter {
  position: relative;
  padding: clamp(2rem, 5vw, 4rem);
  border-left: 3px solid rgba(201,169,110,.85);
  background:
    linear-gradient(135deg, rgba(247,241,231,.9), rgba(255,253,248,.75));
}

.sa-host-letter::before {
  content: "“";
  position: absolute;
  top: -.6rem;
  right: 1.2rem;
  color: rgba(123,63,74,.12);
  font-size: clamp(6rem, 12vw, 10rem);
  font-weight: 800;
  line-height: 1;
}

.sa-host-letter p {
  position: relative;
  z-index: 1;
  font-size: clamp(1.04rem, .98rem + .25vw, 1.18rem);
  line-height: 1.8;
}

.sa-host-signature {
  margin-top: 2rem;
  color: #3F5743;
  font-weight: 800;
}

.sa-host-welcome-art {
  position: relative;
  min-height: clamp(24rem, 38vw, 34rem);
  overflow: hidden;
  border-radius: 1.5rem 5rem 1.5rem 5rem;
  background:
    radial-gradient(circle at 72% 20%, rgba(201,169,110,.55), transparent 18%),
    radial-gradient(circle at 22% 76%, rgba(169,183,162,.74), transparent 28%),
    linear-gradient(145deg, #E7E0D5, #F7F1E7);
  box-shadow: var(--sa-shadow-soft);
}

.sa-host-welcome-art::before {
  content: "";
  position: absolute;
  width: 54%;
  height: 39%;
  left: 13%;
  bottom: 14%;
  border-radius: 46% 46% 24% 24%;
  background: rgba(63,87,67,.82);
  box-shadow:
    4.8rem -3.8rem 0 -1.7rem rgba(201,169,110,.9),
    8.8rem -.7rem 0 -2rem rgba(123,63,74,.85);
}

.sa-host-welcome-art::after {
  content: "";
  position: absolute;
  right: 12%;
  top: 16%;
  width: 3.2rem;
  height: 10rem;
  border-radius: 70% 30% 70% 30%;
  transform: rotate(28deg);
  background: rgba(63,87,67,.45);
  box-shadow:
    -2.5rem 2rem 0 -.45rem rgba(63,87,67,.3),
    1.5rem 3rem 0 -.7rem rgba(63,87,67,.22);
}

.sa-host-role {
  background: #E7E0D5;
}

.sa-host-role-art {
  position: relative;
  min-height: clamp(25rem, 39vw, 35rem);
  overflow: hidden;
  border-radius: 4rem 1.5rem 4rem 1.5rem;
  background:
    radial-gradient(circle at 68% 23%, rgba(201,169,110,.52), transparent 18%),
    radial-gradient(circle at 24% 77%, rgba(169,183,162,.64), transparent 27%),
    linear-gradient(145deg, #F7F1E7, #DED5C8);
}

.sa-host-role-art::before {
  content: "";
  position: absolute;
  width: 48%;
  height: 55%;
  left: 26%;
  top: 21%;
  border-radius: 1.2rem;
  transform: rotate(-4deg);
  background: #FFFDF8;
  box-shadow:
    0 0 0 1px rgba(63,87,67,.13),
    1rem 1rem 0 rgba(201,169,110,.26);
}

.sa-host-role-art::after {
  content: "";
  position: absolute;
  width: 23%;
  height: 4px;
  left: 38%;
  top: 39%;
  background: rgba(63,87,67,.42);
  box-shadow:
    0 1.3rem 0 rgba(63,87,67,.31),
    0 2.6rem 0 rgba(63,87,67,.23),
    0 3.9rem 0 rgba(63,87,67,.17);
}

.sa-host-role-copy p,
.sa-host-experience-copy p {
  font-size: clamp(1.02rem, .97rem + .2vw, 1.14rem);
  line-height: 1.75;
}

.sa-host-responsibilities {
  margin-top: 2rem;
  padding: 0;
  list-style: none;
}

.sa-host-responsibilities li {
  position: relative;
  margin-top: .9rem;
  padding-left: 1.8rem;
}

.sa-host-responsibilities li::before {
  content: "○";
  position: absolute;
  left: 0;
  top: -.05rem;
  color: #7B3F4A;
  font-weight: 800;
}

.sa-host-approach {
  background: #F7F1E7;
}

.sa-host-principles {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.6vw, 2rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.sa-host-principles > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-host-principle {
  height: 100%;
  padding: clamp(1.8rem, 3.4vw, 2.8rem);
  border: 1px solid rgba(63,87,67,.14);
  border-radius: 1.35rem;
  background: #FFFDF8;
  box-shadow: 0 14px 36px rgba(59,57,53,.06);
}

.sa-host-principle-number {
  margin: 0 0 2rem;
  color: #7B3F4A;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .15em;
}

.sa-host-principle h3 {
  margin-top: 0;
  font-size: var(--sa-type-card-title);
}

.sa-host-spaces {
  background: #E7E0D5;
}

.sa-host-space-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2.8vw, 2rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.sa-host-space-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-host-space-card {
  height: 100%;
  padding: clamp(1.8rem, 3.4vw, 2.8rem);
  border-left: 3px solid rgba(123,63,74,.52);
  background: rgba(255,253,248,.79);
}

.sa-host-space-card h3 {
  margin-top: 0;
  font-size: var(--sa-type-card-title);
}

.sa-host-experience {
  background: #FFFDF8;
}

.sa-host-experience-art {
  position: relative;
  min-height: clamp(25rem, 40vw, 36rem);
  overflow: hidden;
  border-radius: 48% 48% 1.75rem 1.75rem;
  background:
    radial-gradient(circle at 77% 19%, rgba(201,169,110,.5), transparent 18%),
    linear-gradient(155deg, #E2E9DE, #F7F1E7);
  box-shadow: var(--sa-shadow-soft);
}

.sa-host-experience-art::before {
  content: "";
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 14%;
  height: 33%;
  border-radius: 2rem 2rem .8rem .8rem;
  background: rgba(63,87,67,.78);
}

.sa-host-experience-art::after {
  content: "";
  position: absolute;
  left: 34%;
  bottom: 35%;
  width: 32%;
  height: 23%;
  border-radius: 50% 50% 42% 42%;
  background: rgba(123,63,74,.84);
  box-shadow:
    0 -5rem 0 -2.7rem #D6AF91,
    5.8rem 2rem 0 -2.5rem rgba(201,169,110,.85);
}

.sa-host-boundary {
  margin-top: 1.8rem;
  padding: 1.2rem 1.35rem;
  border-radius: 1rem;
  background: rgba(169,183,162,.22);
  color: #3F5743;
}

.sa-host-note {
  background:
    radial-gradient(circle at 88% 15%, rgba(201,169,110,.2), transparent 24%),
    #F7F1E7;
}

.sa-host-note-card {
  width: min(100%, 58rem);
  margin-inline: auto;
  padding: clamp(2.4rem, 6vw, 5rem);
  border: 1px solid rgba(123,63,74,.15);
  border-radius: 1.8rem;
  background: rgba(255,253,248,.88);
  text-align: center;
  box-shadow: var(--sa-shadow-soft);
}

.sa-host-note-card p {
  font-size: clamp(1.06rem, .98rem + .34vw, 1.28rem);
  line-height: 1.75;
}

.sa-host-invitation {
  background: #FFFDF8;
}

.sa-host-invitation-panel {
  width: min(100%, 62rem);
  margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 5rem);
  border-radius: 1.8rem;
  background: linear-gradient(145deg, #E7E0D5, #F7F1E7);
  text-align: center;
}

.sa-host-invitation-panel .wp-block-buttons {
  justify-content: center;
}

@media (max-width: 960px) {
  .sa-host-hero-grid,
  .sa-host-welcome-grid,
  .sa-host-role-grid,
  .sa-host-experience-grid {
    grid-template-columns: 1fr;
  }

  .sa-host-portrait,
  .sa-host-welcome-art,
  .sa-host-role-art,
  .sa-host-experience-art {
    width: min(100%, 38rem);
    margin-inline: auto;
  }

  .sa-host-welcome-grid > .wp-block-column:last-child,
  .sa-host-role-grid > .wp-block-column:first-child,
  .sa-host-experience-grid > .wp-block-column:last-child {
    order: 2;
  }

  .sa-host-principles {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .sa-host-hero,
  .sa-host-welcome,
  .sa-host-role,
  .sa-host-approach,
  .sa-host-spaces,
  .sa-host-experience,
  .sa-host-note,
  .sa-host-invitation {
    padding-block: clamp(3.5rem, 12vw, 5rem);
  }

  .sa-host-portrait,
  .sa-host-welcome-art,
  .sa-host-role-art,
  .sa-host-experience-art {
    min-height: 23rem;
    border-radius: 1.5rem;
  }

  .sa-host-space-grid {
    grid-template-columns: 1fr;
  }

  .sa-host-invitation-panel .wp-block-button,
  .sa-host-invitation-panel .wp-block-button__link {
    width: 100%;
  }
}


/* Stage 1D-3 — Membership page */
.sa-membership-page { overflow: hidden; }

.sa-member-hero,
.sa-member-shared,
.sa-member-plans,
.sa-member-journey,
.sa-member-mentoring,
.sa-member-first-chair,
.sa-member-faq,
.sa-member-invitation {
  padding-inline: var(--sa-page-gutter);
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.sa-member-inner {
  width: min(100%, var(--wp--style--global--wide-size));
  margin-inline: auto;
}

.sa-member-hero {
  background:
    radial-gradient(circle at 84% 18%, rgba(201,169,110,.25), transparent 25%),
    radial-gradient(circle at 8% 86%, rgba(169,183,162,.34), transparent 25%),
    #F7F1E7;
}

.sa-member-hero-grid,
.sa-member-journey-grid,
.sa-member-mentoring-grid,
.sa-member-first-chair-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(19rem, .96fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.sa-member-hero-grid > .wp-block-column,
.sa-member-journey-grid > .wp-block-column,
.sa-member-mentoring-grid > .wp-block-column,
.sa-member-first-chair-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-member-hero h1 { max-width: 12ch; }

.sa-member-hero-art {
  position: relative;
  min-height: clamp(27rem, 43vw, 39rem);
  overflow: hidden;
  border-radius: 4.5rem 1.5rem 4.5rem 1.5rem;
  background:
    radial-gradient(circle at 73% 18%, rgba(201,169,110,.54), transparent 18%),
    radial-gradient(circle at 20% 76%, rgba(169,183,162,.72), transparent 27%),
    linear-gradient(145deg, #FFFDF8, #E3D9CB);
  box-shadow: var(--sa-shadow-soft);
}

.sa-member-hero-art::before {
  content: "";
  position: absolute;
  width: 62%;
  height: 45%;
  left: 19%;
  bottom: 16%;
  border-radius: 1rem;
  background: rgba(255,253,248,.92);
  box-shadow: 0 0 0 1px rgba(63,87,67,.12), 1rem 1rem 0 rgba(123,63,74,.16);
}

.sa-member-hero-art::after {
  content: "";
  position: absolute;
  left: 33%;
  top: 39%;
  width: 35%;
  height: 4px;
  background: rgba(63,87,67,.4);
  box-shadow:
    0 1.4rem 0 rgba(63,87,67,.3),
    0 2.8rem 0 rgba(63,87,67,.22),
    0 4.2rem 0 rgba(63,87,67,.16);
}

.sa-member-shared { background: #FFFDF8; }

.sa-member-shared-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2.3vw, 1.8rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.sa-member-shared-grid > .wp-block-column,
.sa-member-plan-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-member-shared-card {
  height: 100%;
  padding: clamp(1.6rem, 3vw, 2.5rem);
  border-top: 3px solid rgba(201,169,110,.7);
  background: #F7F1E7;
}

.sa-member-shared-card h3,
.sa-member-mentoring-card h3 { margin-top: 0; }

.sa-member-plans { background: #E7E0D5; }

.sa-member-plan-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.4rem, 3vw, 2.6rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.sa-member-plan-card {
  height: 100%;
  padding: clamp(2rem, 4.3vw, 3.6rem);
  border: 1px solid rgba(63,87,67,.14);
  border-radius: 1.6rem;
  background: #FFFDF8;
  box-shadow: 0 18px 46px rgba(59,57,53,.08);
}

.sa-member-plan-card.is-featured {
  border-color: rgba(123,63,74,.3);
  background:
    radial-gradient(circle at 92% 8%, rgba(201,169,110,.18), transparent 23%),
    linear-gradient(145deg, #FFFDF8, #F8EFEC);
}

.sa-member-plan-badge {
  display: inline-block;
  margin: 0 0 1rem;
  padding: .45rem .75rem;
  border-radius: 999px;
  background: rgba(169,183,162,.26);
  color: #3F5743;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sa-member-plan-card.is-featured .sa-member-plan-badge {
  background: rgba(123,63,74,.1);
  color: #7B3F4A;
}

.sa-member-price {
  margin: 1.5rem 0 .5rem;
  color: #3F5743;
  font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem);
  font-weight: 800;
}

.sa-member-price-note {
  margin-top: 0;
  color: rgba(59,57,53,.76);
  font-size: .92rem;
}

.sa-member-benefits,
.sa-member-journey-points,
.sa-member-first-chair-list {
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}

.sa-member-benefits li,
.sa-member-first-chair-list li {
  position: relative;
  margin-top: .9rem;
  padding-left: 1.8rem;
  line-height: 1.55;
}

.sa-member-benefits li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #3F5743;
  font-weight: 900;
}

.sa-member-plan-footer {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(63,87,67,.13);
}

.sa-member-plan-footer p { margin: 0; font-size: .92rem; }
.sa-member-plan-footer .wp-block-button { margin-top: 1.25rem; }

.sa-member-journey { background: #F7F1E7; }

.sa-member-journey-art {
  position: relative;
  min-height: clamp(24rem, 38vw, 34rem);
  overflow: hidden;
  border-radius: 48% 48% 1.5rem 1.5rem;
  background:
    radial-gradient(circle at 75% 20%, rgba(201,169,110,.45), transparent 18%),
    linear-gradient(155deg, #E2E9DE, #F7F1E7);
  box-shadow: var(--sa-shadow-soft);
}

.sa-member-journey-art::before {
  content: "";
  position: absolute;
  width: 58%;
  height: 58%;
  left: 21%;
  top: 22%;
  border-radius: 50%;
  border: 2px solid rgba(63,87,67,.28);
  box-shadow: 0 0 0 2rem rgba(169,183,162,.14), 0 0 0 4rem rgba(201,169,110,.11);
}

.sa-member-journey-art::after {
  content: "Spring   Summer   Autumn   Winter";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 10%;
  color: #3F5743;
  text-align: center;
  font-size: .88rem;
  font-weight: 800;
  word-spacing: 1rem;
}

.sa-member-journey-copy p {
  font-size: clamp(1.02rem, .97rem + .2vw, 1.14rem);
  line-height: 1.75;
}

.sa-member-journey-points li {
  position: relative;
  margin-top: .9rem;
  padding-left: 1.6rem;
}

.sa-member-journey-points li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: #7B3F4A;
}

.sa-member-mentoring { background: #FFFDF8; }

.sa-member-mentoring-card {
  padding: clamp(2rem, 4vw, 3.4rem);
  border-left: 3px solid rgba(201,169,110,.8);
  background: #F7F1E7;
}

.sa-member-mentoring-art {
  position: relative;
  min-height: clamp(24rem, 38vw, 34rem);
  overflow: hidden;
  border-radius: 1.5rem 4rem 1.5rem 4rem;
  background:
    radial-gradient(circle at 70% 18%, rgba(201,169,110,.52), transparent 17%),
    radial-gradient(circle at 25% 78%, rgba(169,183,162,.68), transparent 27%),
    linear-gradient(145deg, #E7E0D5, #F7F1E7);
}

.sa-member-mentoring-art::before {
  content: "";
  position: absolute;
  left: 19%;
  right: 19%;
  bottom: 17%;
  height: 36%;
  border-radius: 3rem 3rem 1rem 1rem;
  background: rgba(63,87,67,.78);
}

.sa-member-mentoring-art::after {
  content: "";
  position: absolute;
  left: 38%;
  bottom: 40%;
  width: 24%;
  height: 18%;
  border-radius: 50%;
  background: #D6AF91;
  box-shadow: 0 4rem 0 1rem rgba(123,63,74,.78), 6rem 5rem 0 -1rem rgba(201,169,110,.78);
}

.sa-member-first-chair {
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.2), transparent 25%),
    #E7E0D5;
}

.sa-member-first-chair-panel {
  padding: clamp(2.2rem, 5vw, 4.3rem);
  border: 1px solid rgba(123,63,74,.18);
  border-radius: 1.8rem;
  background: rgba(255,253,248,.86);
}

.sa-member-first-chair-list li::before {
  content: "○";
  position: absolute;
  left: 0;
  color: #7B3F4A;
  font-weight: 800;
}

.sa-member-first-chair-art {
  position: relative;
  min-height: clamp(23rem, 36vw, 32rem);
  overflow: hidden;
  border-radius: 48% 48% 1.5rem 1.5rem;
  background:
    radial-gradient(circle at 75% 17%, rgba(201,169,110,.52), transparent 17%),
    linear-gradient(155deg, #F7F1E7, #DDE5D9);
}

.sa-member-first-chair-art::before {
  content: "";
  position: absolute;
  left: 24%;
  right: 24%;
  bottom: 15%;
  height: 48%;
  border-radius: 3rem 3rem 1rem 1rem;
  background: rgba(123,63,74,.78);
}

.sa-member-first-chair-art::after {
  content: "";
  position: absolute;
  left: 37%;
  bottom: 54%;
  width: 26%;
  height: 16%;
  border-radius: 50% 50% 30% 30%;
  background: #C9A96E;
}

.sa-member-faq { background: #F7F1E7; }
.sa-member-faq .sa-faq-item { width: min(100%, 56rem); margin-inline: auto; }

.sa-member-invitation { background: #FFFDF8; }

.sa-member-invitation-panel {
  width: min(100%, 62rem);
  margin-inline: auto;
  padding: clamp(2.6rem, 6vw, 5rem);
  border-radius: 1.8rem;
  background: linear-gradient(145deg, #E7E0D5, #F7F1E7);
  text-align: center;
}

.sa-member-invitation-panel .wp-block-buttons { justify-content: center; }

@media (max-width: 1000px) {
  .sa-member-hero-grid,
  .sa-member-journey-grid,
  .sa-member-mentoring-grid,
  .sa-member-first-chair-grid {
    grid-template-columns: 1fr;
  }

  .sa-member-hero-art,
  .sa-member-journey-art,
  .sa-member-mentoring-art,
  .sa-member-first-chair-art {
    width: min(100%, 38rem);
    margin-inline: auto;
  }

  .sa-member-shared-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .sa-member-hero,
  .sa-member-shared,
  .sa-member-plans,
  .sa-member-journey,
  .sa-member-mentoring,
  .sa-member-first-chair,
  .sa-member-faq,
  .sa-member-invitation {
    padding-block: clamp(3.5rem, 12vw, 5rem);
  }

  .sa-member-shared-grid,
  .sa-member-plan-grid {
    grid-template-columns: 1fr;
  }

  .sa-member-hero-art,
  .sa-member-journey-art,
  .sa-member-mentoring-art,
  .sa-member-first-chair-art {
    min-height: 23rem;
    border-radius: 1.5rem;
  }

  .sa-member-plan-card .wp-block-button,
  .sa-member-plan-card .wp-block-button__link,
  .sa-member-invitation-panel .wp-block-button,
  .sa-member-invitation-panel .wp-block-button__link {
    width: 100%;
  }
}


/* Stage 1D-4 — First Chair */
.sa-first-chair-page {
  overflow: hidden;
}

.sa-fc-hero,
.sa-fc-meaning,
.sa-fc-benefits,
.sa-fc-offer,
.sa-fc-support,
.sa-fc-status,
.sa-fc-faq,
.sa-fc-invitation {
  padding-inline: var(--sa-page-gutter);
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.sa-fc-inner {
  width: min(100%, var(--wp--style--global--wide-size));
  margin-inline: auto;
}

.sa-fc-hero {
  background:
    radial-gradient(circle at 83% 17%, rgba(201,169,110,.28), transparent 25%),
    radial-gradient(circle at 9% 86%, rgba(169,183,162,.33), transparent 26%),
    #F7F1E7;
}

.sa-fc-hero-grid,
.sa-fc-meaning-grid,
.sa-fc-offer-grid,
.sa-fc-support-grid,
.sa-fc-status-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(19rem, .96fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.sa-fc-hero-grid > .wp-block-column,
.sa-fc-meaning-grid > .wp-block-column,
.sa-fc-offer-grid > .wp-block-column,
.sa-fc-support-grid > .wp-block-column,
.sa-fc-status-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-fc-hero h1 {
  max-width: 11ch;
}

.sa-fc-hero-art {
  position: relative;
  min-height: clamp(28rem, 44vw, 40rem);
  overflow: hidden;
  border-radius: 48% 48% 1.8rem 1.8rem;
  background:
    radial-gradient(circle at 74% 17%, rgba(201,169,110,.56), transparent 18%),
    linear-gradient(155deg, #F7F1E7, #DEE6DA);
  box-shadow: var(--sa-shadow-soft);
}

.sa-fc-hero-art::before {
  content: "";
  position: absolute;
  left: 24%;
  right: 24%;
  bottom: 13%;
  height: 48%;
  border-radius: 3.2rem 3.2rem 1rem 1rem;
  background: rgba(123,63,74,.82);
}

.sa-fc-hero-art::after {
  content: "";
  position: absolute;
  left: 36%;
  bottom: 54%;
  width: 28%;
  height: 17%;
  border-radius: 50% 50% 32% 32%;
  background: #C9A96E;
  box-shadow:
    0 8rem 0 -3.8rem rgba(63,87,67,.68);
}

.sa-fc-availability {
  margin-top: 1.8rem;
  padding: 1rem 1.15rem;
  border-left: 3px solid #C9A96E;
  background: rgba(255,253,248,.7);
  color: #3F5743;
  font-weight: 700;
}

.sa-fc-meaning {
  background: #FFFDF8;
}

.sa-fc-meaning-copy p,
.sa-fc-offer-copy p,
.sa-fc-status-copy p {
  font-size: clamp(1.02rem, .97rem + .2vw, 1.14rem);
  line-height: 1.75;
}

.sa-fc-meaning-art {
  position: relative;
  min-height: clamp(24rem, 38vw, 34rem);
  overflow: hidden;
  border-radius: 1.5rem 4.5rem 1.5rem 4.5rem;
  background:
    radial-gradient(circle at 73% 19%, rgba(201,169,110,.5), transparent 18%),
    radial-gradient(circle at 22% 78%, rgba(169,183,162,.68), transparent 28%),
    linear-gradient(145deg, #E7E0D5, #F7F1E7);
}

.sa-fc-meaning-art::before {
  content: "";
  position: absolute;
  left: 16%;
  bottom: 13%;
  width: 54%;
  height: 42%;
  border-radius: 45% 45% 24% 24%;
  background: rgba(63,87,67,.76);
  box-shadow:
    5rem -4rem 0 -1.7rem rgba(201,169,110,.86),
    9rem -.6rem 0 -2.2rem rgba(123,63,74,.78);
}

.sa-fc-benefits {
  background: #E7E0D5;
}

.sa-fc-benefit-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.6vw, 2rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.sa-fc-benefit-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-fc-benefit-card {
  height: 100%;
  padding: clamp(1.8rem, 3.5vw, 2.8rem);
  border: 1px solid rgba(63,87,67,.13);
  border-radius: 1.35rem;
  background: rgba(255,253,248,.87);
  box-shadow: 0 14px 36px rgba(59,57,53,.06);
}

.sa-fc-benefit-number {
  margin: 0 0 2rem;
  color: #7B3F4A;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .15em;
}

.sa-fc-benefit-card h3 {
  margin-top: 0;
  font-size: var(--sa-type-card-title);
}

.sa-fc-offer {
  background: #F7F1E7;
}

.sa-fc-offer-panel {
  padding: clamp(2.2rem, 5vw, 4rem);
  border-left: 3px solid rgba(123,63,74,.55);
  background: #FFFDF8;
  box-shadow: var(--sa-shadow-soft);
}

.sa-fc-offer-highlight {
  margin: 1.6rem 0 .8rem;
  color: #3F5743;
  font-size: clamp(2rem, 1.45rem + 2vw, 3.4rem);
  line-height: 1.05;
  font-weight: 800;
}

.sa-fc-offer-art {
  position: relative;
  min-height: clamp(24rem, 37vw, 33rem);
  overflow: hidden;
  border-radius: 48% 48% 1.5rem 1.5rem;
  background:
    radial-gradient(circle at 72% 18%, rgba(201,169,110,.52), transparent 18%),
    linear-gradient(155deg, #DFE7DB, #F7F1E7);
}

.sa-fc-offer-art::before {
  content: "10";
  position: absolute;
  left: 13%;
  top: 24%;
  color: rgba(63,87,67,.8);
  font-size: clamp(6rem, 14vw, 11rem);
  font-weight: 900;
  line-height: 1;
}

.sa-fc-offer-art::after {
  content: "12";
  position: absolute;
  right: 12%;
  bottom: 18%;
  color: rgba(123,63,74,.76);
  font-size: clamp(6rem, 14vw, 11rem);
  font-weight: 900;
  line-height: 1;
}

.sa-fc-support {
  background: #FFFDF8;
}

.sa-fc-support-grid {
  align-items: stretch;
}

.sa-fc-support-card {
  height: 100%;
  padding: clamp(2rem, 4vw, 3.4rem);
  border-radius: 1.5rem;
  background: #F7F1E7;
}

.sa-fc-support-card h3 {
  margin-top: 0;
}

.sa-fc-support-list {
  margin: 1.6rem 0 0;
  padding: 0;
  list-style: none;
}

.sa-fc-support-list li {
  position: relative;
  margin-top: .9rem;
  padding-left: 1.8rem;
}

.sa-fc-support-list li::before {
  content: "○";
  position: absolute;
  left: 0;
  color: #7B3F4A;
  font-weight: 800;
}

.sa-fc-gathering-art {
  position: relative;
  min-height: 100%;
  padding: clamp(2rem, 4vw, 3rem);
  overflow: hidden;
  border-radius: 1.5rem 4rem 1.5rem 4rem;
  background:
    radial-gradient(circle at 75% 18%, rgba(201,169,110,.48), transparent 18%),
    radial-gradient(circle at 19% 78%, rgba(169,183,162,.7), transparent 27%),
    linear-gradient(145deg, #E7E0D5, #F7F1E7);
}

.sa-fc-gathering-art::before,
.sa-fc-gathering-art::after {
  content: "";
  position: absolute;
  bottom: 16%;
  width: 28%;
  height: 39%;
  border-radius: 3rem 3rem .8rem .8rem;
}

.sa-fc-gathering-art::before {
  left: 19%;
  background: rgba(63,87,67,.78);
}

.sa-fc-gathering-art::after {
  right: 19%;
  background: rgba(123,63,74,.76);
}

.sa-fc-gathering-label {
  position: relative;
  z-index: 2;
  width: min(90%, 24rem);
  margin: 0 auto;
  padding: 1.15rem 1.3rem;
  border-radius: 1rem;
  background: rgba(255,253,248,.91);
  color: #3F5743;
  text-align: center;
  font-weight: 700;
}

.sa-fc-status {
  background:
    radial-gradient(circle at 88% 14%, rgba(201,169,110,.18), transparent 25%),
    #E7E0D5;
}

.sa-fc-status-panel {
  padding: clamp(2.2rem, 5vw, 4rem);
  border: 1px solid rgba(63,87,67,.14);
  border-radius: 1.6rem;
  background: rgba(255,253,248,.84);
}

.sa-fc-status-points {
  margin: 1.7rem 0 0;
  padding: 0;
  list-style: none;
}

.sa-fc-status-points li {
  position: relative;
  margin-top: .85rem;
  padding-left: 1.65rem;
}

.sa-fc-status-points li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: #7B3F4A;
}

.sa-fc-status-art {
  display: grid;
  min-height: clamp(23rem, 35vw, 31rem);
  place-items: center;
  border-radius: 48% 48% 1.5rem 1.5rem;
  background:
    radial-gradient(circle at 72% 18%, rgba(201,169,110,.5), transparent 18%),
    linear-gradient(155deg, #F7F1E7, #DDE5D9);
  box-shadow: var(--sa-shadow-soft);
}

.sa-fc-status-mark {
  display: grid;
  width: clamp(11rem, 21vw, 16rem);
  aspect-ratio: 1;
  place-items: center;
  border: 2px solid rgba(63,87,67,.25);
  border-radius: 50%;
  color: #3F5743;
  font-size: clamp(3rem, 7vw, 5rem);
  font-weight: 900;
  box-shadow:
    0 0 0 1.5rem rgba(169,183,162,.13),
    0 0 0 3rem rgba(201,169,110,.1);
}

.sa-fc-faq {
  background: #F7F1E7;
}

.sa-fc-faq .sa-faq-item {
  width: min(100%, 56rem);
  margin-inline: auto;
}

.sa-fc-invitation {
  background: #FFFDF8;
}

.sa-fc-invitation-panel {
  width: min(100%, 62rem);
  margin-inline: auto;
  padding: clamp(2.6rem, 6vw, 5rem);
  border: 1px solid rgba(123,63,74,.15);
  border-radius: 1.8rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.2), transparent 24%),
    linear-gradient(145deg, #FFFDF8, #F6ECE9);
  text-align: center;
}

.sa-fc-invitation-panel .wp-block-buttons {
  justify-content: center;
}

@media (max-width: 1000px) {
  .sa-fc-hero-grid,
  .sa-fc-meaning-grid,
  .sa-fc-offer-grid,
  .sa-fc-support-grid,
  .sa-fc-status-grid {
    grid-template-columns: 1fr;
  }

  .sa-fc-hero-art,
  .sa-fc-meaning-art,
  .sa-fc-offer-art,
  .sa-fc-gathering-art,
  .sa-fc-status-art {
    width: min(100%, 38rem);
    margin-inline: auto;
    min-height: 28rem;
  }

  .sa-fc-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .sa-fc-hero,
  .sa-fc-meaning,
  .sa-fc-benefits,
  .sa-fc-offer,
  .sa-fc-support,
  .sa-fc-status,
  .sa-fc-faq,
  .sa-fc-invitation {
    padding-block: clamp(3.5rem, 12vw, 5rem);
  }

  .sa-fc-benefit-grid {
    grid-template-columns: 1fr;
  }

  .sa-fc-hero-art,
  .sa-fc-meaning-art,
  .sa-fc-offer-art,
  .sa-fc-gathering-art,
  .sa-fc-status-art {
    min-height: 23rem;
    border-radius: 1.5rem;
  }

  .sa-fc-invitation-panel .wp-block-button,
  .sa-fc-invitation-panel .wp-block-button__link {
    width: 100%;
  }
}


/* ==========================================================
   Launch Sprint v0.9 — Workshops, Waiting List, FAQ, Contact
   ========================================================== */

.sa-launch-section,
.sa-ws-hero,
.sa-ws-list,
.sa-ws-members,
.sa-ws-cta,
.sa-wd-hero,
.sa-wd-body,
.sa-wd-info,
.sa-wd-member-note,
.sa-wd-cta,
.sa-wait-hero,
.sa-wait-body,
.sa-faq-hero,
.sa-faq-main,
.sa-contact-hero,
.sa-contact-main {
  padding-inline: var(--sa-page-gutter);
  padding-block: clamp(4.25rem, 8vw, 7.5rem);
}

.sa-launch-inner {
  width: min(100%, var(--wp--style--global--wide-size));
  margin-inline: auto;
}

.sa-launch-reading {
  width: min(100%, 54rem);
  margin-inline: auto;
}

.sa-nav-waiting .wp-block-navigation-item__content {
  white-space: nowrap;
}

/* Workshops overview */
.sa-ws-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(201,169,110,.25), transparent 25%),
    radial-gradient(circle at 10% 86%, rgba(169,183,162,.32), transparent 26%),
    #F7F1E7;
}

.sa-ws-hero-grid,
.sa-wd-hero-grid,
.sa-wd-body-grid,
.sa-wait-hero-grid,
.sa-contact-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.03fr) minmax(19rem, .97fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.sa-ws-hero-grid > .wp-block-column,
.sa-wd-hero-grid > .wp-block-column,
.sa-wd-body-grid > .wp-block-column,
.sa-wait-hero-grid > .wp-block-column,
.sa-contact-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-ws-hero h1,
.sa-wd-hero h1,
.sa-wait-hero h1,
.sa-faq-hero h1,
.sa-contact-hero h1 {
  max-width: 12ch;
}

.sa-ws-art,
.sa-wd-art,
.sa-wait-art,
.sa-contact-art {
  position: relative;
  min-height: clamp(25rem, 40vw, 36rem);
  overflow: hidden;
  border-radius: 4rem 1.5rem 4rem 1.5rem;
  background:
    radial-gradient(circle at 74% 18%, rgba(201,169,110,.52), transparent 18%),
    radial-gradient(circle at 20% 78%, rgba(169,183,162,.7), transparent 27%),
    linear-gradient(145deg, #E7E0D5, #F7F1E7);
  box-shadow: var(--sa-shadow-soft);
}

.sa-ws-art::before,
.sa-wd-art::before {
  content: "";
  position: absolute;
  left: 17%;
  bottom: 15%;
  width: 53%;
  height: 39%;
  border-radius: 45% 45% 25% 25%;
  background: rgba(63,87,67,.78);
  box-shadow:
    5rem -3rem 0 -1.7rem rgba(201,169,110,.84),
    9rem -.6rem 0 -2.2rem rgba(123,63,74,.76);
}

.sa-ws-list {
  background: #FFFDF8;
}

.sa-ws-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.6vw, 2rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.sa-ws-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-ws-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: clamp(1.8rem, 3.4vw, 2.8rem);
  border: 1px solid rgba(63,87,67,.14);
  border-radius: 1.4rem;
  background: #F7F1E7;
  box-shadow: 0 14px 36px rgba(59,57,53,.06);
}

.sa-ws-card.is-live {
  background:
    radial-gradient(circle at 92% 8%, rgba(201,169,110,.18), transparent 23%),
    #FFFDF8;
  border-color: rgba(123,63,74,.25);
}

.sa-ws-month {
  margin: 0 0 .8rem;
  color: #7B3F4A;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.sa-ws-card h2 {
  margin-top: 0;
  font-size: clamp(1.35rem, 1.1rem + .8vw, 1.9rem);
}

.sa-ws-meta {
  margin: .5rem 0 1.1rem;
  color: #3F5743;
  font-weight: 700;
}

.sa-ws-card .wp-block-buttons {
  margin-top: auto;
  padding-top: 1.5rem;
}

.sa-ws-members {
  background: #E7E0D5;
}

.sa-ws-member-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.2rem, 3vw, 2.4rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.sa-ws-member-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-ws-member-card {
  height: 100%;
  padding: clamp(2rem, 4vw, 3.2rem);
  border-radius: 1.4rem;
  background: rgba(255,253,248,.86);
}

.sa-ws-cta {
  background: #FFFDF8;
}

.sa-ws-cta-panel,
.sa-wd-cta-panel {
  width: min(100%, 62rem);
  margin-inline: auto;
  padding: clamp(2.6rem, 6vw, 5rem);
  border-radius: 1.8rem;
  background: linear-gradient(145deg, #E7E0D5, #F7F1E7);
  text-align: center;
}

/* Workshop detail */
.sa-wd-hero {
  background:
    radial-gradient(circle at 84% 18%, rgba(201,169,110,.26), transparent 25%),
    #F7F1E7;
}

.sa-wd-art {
  border-radius: 48% 48% 1.5rem 1.5rem;
}

.sa-wd-date-card {
  margin-top: 1.7rem;
  padding: 1rem 1.2rem;
  border-left: 3px solid #C9A96E;
  background: rgba(255,253,248,.74);
  color: #3F5743;
  font-weight: 700;
}

.sa-wd-body {
  background: #FFFDF8;
}

.sa-wd-body-copy p {
  font-size: clamp(1.02rem, .97rem + .2vw, 1.15rem);
  line-height: 1.78;
}

.sa-wd-explore {
  padding: clamp(2rem, 4vw, 3rem);
  border-radius: 1.5rem;
  background: #F7F1E7;
}

.sa-wd-list {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.sa-wd-list li {
  position: relative;
  margin-top: .85rem;
  padding-left: 1.7rem;
}

.sa-wd-list li::before {
  content: "○";
  position: absolute;
  left: 0;
  color: #7B3F4A;
  font-weight: 800;
}

.sa-wd-info {
  background: #E7E0D5;
}

.sa-wd-info-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.sa-wd-info-grid > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-wd-info-card {
  height: 100%;
  padding: 1.5rem;
  border-radius: 1.1rem;
  background: rgba(255,253,248,.87);
}

.sa-wd-info-label {
  margin: 0 0 .6rem;
  color: #7B3F4A;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.sa-wd-member-note {
  background: #F7F1E7;
}

.sa-wd-member-panel {
  width: min(100%, 60rem);
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 4rem);
  border-left: 3px solid rgba(63,87,67,.5);
  background: #FFFDF8;
}

.sa-wd-cta {
  background: #FFFDF8;
}

/* Waiting list */
.sa-wait-hero {
  background:
    radial-gradient(circle at 84% 18%, rgba(201,169,110,.25), transparent 25%),
    radial-gradient(circle at 10% 84%, rgba(169,183,162,.34), transparent 25%),
    #F7F1E7;
}

.sa-wait-art::before {
  content: "";
  position: absolute;
  width: 58%;
  height: 43%;
  left: 21%;
  bottom: 15%;
  border-radius: 1.2rem;
  transform: rotate(-4deg);
  background: rgba(255,253,248,.92);
  box-shadow:
    0 0 0 1px rgba(63,87,67,.12),
    1rem 1rem 0 rgba(201,169,110,.28);
}

.sa-wait-art::after {
  content: "";
  position: absolute;
  width: 27%;
  height: 4px;
  left: 36%;
  top: 43%;
  background: rgba(63,87,67,.42);
  box-shadow:
    0 1.3rem 0 rgba(63,87,67,.3),
    0 2.6rem 0 rgba(63,87,67,.22);
}

.sa-wait-body {
  background: #FFFDF8;
}

.sa-wait-form-panel {
  width: min(100%, 62rem);
  margin-inline: auto;
  padding: clamp(2.2rem, 5vw, 4rem);
  border: 1px solid rgba(63,87,67,.14);
  border-radius: 1.6rem;
  background: #F7F1E7;
  box-shadow: var(--sa-shadow-soft);
}

.sa-wait-reasons {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2rem, 4vw, 3rem);
}

.sa-wait-reasons > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
  margin: 0 !important;
}

.sa-wait-reason {
  height: 100%;
  padding: 1.5rem;
  border-radius: 1rem;
  background: rgba(255,253,248,.9);
}

/* FAQ */
.sa-faq-hero {
  background:
    radial-gradient(circle at 86% 17%, rgba(201,169,110,.22), transparent 24%),
    #F7F1E7;
}

.sa-faq-main {
  background: #FFFDF8;
}

.sa-faq-public-list {
  width: min(100%, 58rem);
  margin-inline: auto;
}

.sa-faq-public-list .sa-faq-item {
  margin-top: 1rem;
}

/* Contact */
.sa-contact-hero {
  background:
    radial-gradient(circle at 83% 18%, rgba(201,169,110,.24), transparent 24%),
    #F7F1E7;
}

.sa-contact-main {
  background: #FFFDF8;
}

.sa-contact-card {
  padding: clamp(2rem, 4vw, 3.4rem);
  border-radius: 1.5rem;
  background: #F7F1E7;
}

.sa-contact-email {
  overflow-wrap: anywhere;
  font-size: clamp(1.2rem, 1rem + .6vw, 1.55rem);
  font-weight: 800;
}

.sa-contact-art::before {
  content: "";
  position: absolute;
  left: 20%;
  bottom: 18%;
  width: 60%;
  height: 37%;
  border-radius: 4rem 4rem 1rem 1rem;
  background: rgba(63,87,67,.76);
}

.sa-contact-art::after {
  content: "";
  position: absolute;
  left: 39%;
  bottom: 43%;
  width: 22%;
  height: 16%;
  border-radius: 50%;
  background: #D6AF91;
  box-shadow: 0 4rem 0 1rem rgba(123,63,74,.76);
}

@media (max-width: 1000px) {
  .sa-ws-hero-grid,
  .sa-wd-hero-grid,
  .sa-wd-body-grid,
  .sa-wait-hero-grid,
  .sa-contact-grid {
    grid-template-columns: 1fr;
  }

  .sa-ws-grid {
    grid-template-columns: 1fr;
  }

  .sa-wd-info-grid,
  .sa-wait-reasons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sa-ws-art,
  .sa-wd-art,
  .sa-wait-art,
  .sa-contact-art {
    width: min(100%, 38rem);
    margin-inline: auto;
  }
}

@media (max-width: 720px) {
  .sa-launch-section,
  .sa-ws-hero,
  .sa-ws-list,
  .sa-ws-members,
  .sa-ws-cta,
  .sa-wd-hero,
  .sa-wd-body,
  .sa-wd-info,
  .sa-wd-member-note,
  .sa-wd-cta,
  .sa-wait-hero,
  .sa-wait-body,
  .sa-faq-hero,
  .sa-faq-main,
  .sa-contact-hero,
  .sa-contact-main {
    padding-block: clamp(3.4rem, 12vw, 5rem);
  }

  .sa-ws-member-grid,
  .sa-wd-info-grid,
  .sa-wait-reasons {
    grid-template-columns: 1fr;
  }

  .sa-ws-art,
  .sa-wd-art,
  .sa-wait-art,
  .sa-contact-art {
    min-height: 22rem;
    border-radius: 1.5rem;
  }

  .sa-ws-card .wp-block-button,
  .sa-ws-card .wp-block-button__link,
  .sa-ws-cta-panel .wp-block-button,
  .sa-ws-cta-panel .wp-block-button__link,
  .sa-wd-cta-panel .wp-block-button,
  .sa-wd-cta-panel .wp-block-button__link {
    width: 100%;
  }
}


/* v0.9.2 — restrained typography only */
.has-large-font-size {
  font-size: clamp(1.04rem, 0.98rem + 0.25vw, 1.22rem) !important;
}


/* v0.9.3 — homepage hero heading + supplied saved-seat image only */
.sa-hero h1,
.sa-hero .has-xx-large-font-size {
  max-width: 21ch;
  font-size: clamp(1.9rem, 1.55rem + 1.35vw, 2.85rem) !important;
  line-height: 1.08;
  text-wrap: pretty;
}

.sa-hero-columns {
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
  gap: clamp(2rem, 5vw, 5rem);
}

.sa-hero-photo {
  min-height: 0;
  aspect-ratio: 1 / 1;
  border-radius: 2rem;
  background: none;
  box-shadow: 0 24px 58px rgba(59,57,53,.12);
}

.sa-hero-photo::before,
.sa-hero-photo::after {
  display: none;
  content: none;
}

.sa-hero-photo-frame {
  width: 100%;
  height: 100%;
  margin: 0;
}

.sa-hero-photo-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 2rem;
}

@media (max-width: 1100px) {
  .sa-hero h1,
  .sa-hero .has-xx-large-font-size {
    max-width: 19ch;
    font-size: clamp(1.85rem, 1.5rem + 1.2vw, 2.45rem) !important;
  }

  .sa-hero-columns {
    grid-template-columns: minmax(0, 1.08fr) minmax(17rem, .92fr);
    gap: clamp(1.75rem, 4vw, 3.5rem);
  }
}

@media (max-width: 960px) {
  .sa-hero-columns {
    grid-template-columns: 1fr;
  }

  .sa-hero h1,
  .sa-hero .has-xx-large-font-size {
    max-width: 20ch;
  }

  .sa-hero-photo {
    width: min(100%, 36rem);
    margin-inline: auto;
  }
}

@media (max-width: 640px) {
  .sa-hero h1,
  .sa-hero .has-xx-large-font-size {
    max-width: 17ch;
    font-size: clamp(1.75rem, 1.5rem + 2.2vw, 2.15rem) !important;
    line-height: 1.1;
  }

  .sa-hero-photo {
    border-radius: 1.35rem;
  }

  .sa-hero-photo-image {
    border-radius: 1.35rem;
  }
}


/* v0.9.4 — precise homepage hero heading line break */
.sa-hero-columns {
  grid-template-columns: minmax(0, 1.38fr) minmax(17rem, .62fr);
  gap: clamp(1.75rem, 4vw, 4rem);
}

.sa-hero-heading {
  max-width: none !important;
  font-size: clamp(1.55rem, 1.30rem + .85vw, 2.15rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.018em;
}

.sa-hero-heading-line-one,
.sa-hero-heading-line-two {
  display: block;
}

.sa-hero-heading-line-one {
  white-space: nowrap;
}

.sa-hero-heading-line-two {
  margin-top: .08em;
}

@media (max-width: 1180px) {
  .sa-hero-columns {
    grid-template-columns: minmax(0, 1.42fr) minmax(15rem, .58fr);
    gap: 1.6rem;
  }

  .sa-hero-heading {
    font-size: clamp(1.42rem, 1.18rem + .82vw, 1.90rem) !important;
  }
}

@media (max-width: 960px) {
  .sa-hero-columns {
    grid-template-columns: 1fr;
  }

  .sa-hero-heading {
    font-size: clamp(1.55rem, 1.30rem + 1.2vw, 2rem) !important;
  }

  .sa-hero-heading-line-one {
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .sa-hero-heading {
    font-size: clamp(1.45rem, 1.24rem + 1.5vw, 1.75rem) !important;
    line-height: 1.1 !important;
  }
}


/* v0.9.5 — corrected homepage hero line break + gentler background flow */
.sa-hero-heading-line-one {
  white-space: nowrap;
}

.sa-hero-heading-line-two {
  margin-top: .12em;
}

.sa-hero-complete {
  background:
    radial-gradient(circle at 84% 16%, rgba(201,169,110,.14), transparent 24%),
    radial-gradient(circle at 12% 88%, rgba(169,183,162,.16), transparent 26%),
    linear-gradient(180deg, #F8F2E8 0%, #F4EDE1 100%);
}

.sa-home-welcome {
  background:
    linear-gradient(180deg, #F4EDE1 0%, #F7F1E7 100%);
}

.sa-seasons-section {
  background:
    radial-gradient(circle at 88% 12%, rgba(201,169,110,.08), transparent 21%),
    linear-gradient(180deg, #F7F1E7 0%, #ECE4D8 100%) !important;
}

.sa-membership-preview {
  background:
    linear-gradient(180deg, #ECE4D8 0%, #F3ECE2 100%) !important;
}

.sa-workshop-preview {
  background:
    linear-gradient(180deg, #F3ECE2 0%, #F8F2E8 100%) !important;
}

.sa-guiding-columns {
  background:
    linear-gradient(180deg, #F8F2E8 0%, #EEE7DB 100%) !important;
}

.sa-host-preview {
  background:
    linear-gradient(180deg, #EEE7DB 0%, #F5EEE5 100%) !important;
}

.sa-first-chair-preview {
  background:
    linear-gradient(180deg, #F5EEE5 0%, #FAF5EE 100%) !important;
}

.sa-faq-preview {
  background:
    linear-gradient(180deg, #FAF5EE 0%, #F4EDE3 100%) !important;
}

.sa-waiting-list-cta {
  background:
    linear-gradient(180deg, #F4EDE3 0%, #EEE6DA 100%) !important;
}

@media (max-width: 960px) {
  .sa-hero-heading-line-one {
    white-space: normal;
  }
}


/* ==========================================================
   v0.9.6 — Continuous flowing homepage background
   ========================================================== */

.sa-home-flow {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 6%, rgba(201,169,110,.16), transparent 20rem),
    radial-gradient(circle at 8% 24%, rgba(169,183,162,.14), transparent 24rem),
    radial-gradient(circle at 92% 48%, rgba(183,122,82,.07), transparent 23rem),
    radial-gradient(circle at 9% 70%, rgba(169,183,162,.13), transparent 24rem),
    radial-gradient(circle at 88% 89%, rgba(201,169,110,.10), transparent 22rem),
    linear-gradient(
      180deg,
      #F8F2E8 0%,
      #F4EDE1 13%,
      #F7F1E7 27%,
      #ECE5D9 42%,
      #F3ECE2 56%,
      #EEE7DC 70%,
      #F7F1E8 84%,
      #EEE7DB 100%
    );
}

/* Let the long background show through every homepage section. */
.sa-home-flow > .wp-block-group,
.sa-home-flow .sa-hero-complete,
.sa-home-flow .sa-home-welcome,
.sa-home-flow .sa-seasons-section,
.sa-home-flow .sa-membership-section,
.sa-home-flow .sa-membership-preview,
.sa-home-flow .sa-workshop-section,
.sa-home-flow .sa-workshop-preview,
.sa-home-flow .sa-why-section,
.sa-home-flow .sa-guiding-columns,
.sa-home-flow .sa-founder-section,
.sa-home-flow .sa-host-preview,
.sa-home-flow .sa-first-chair-section,
.sa-home-flow .sa-first-chair-preview,
.sa-home-flow .sa-home-faq,
.sa-home-flow .sa-faq-preview,
.sa-home-flow .sa-final-invitation,
.sa-home-flow .sa-waiting-list-cta {
  background: transparent !important;
}

/* Replace hard section edges with very soft tonal veils. */
.sa-home-flow .sa-home-welcome,
.sa-home-flow .sa-membership-section,
.sa-home-flow .sa-why-section,
.sa-home-flow .sa-founder-section,
.sa-home-flow .sa-home-faq {
  position: relative;
}

.sa-home-flow .sa-home-welcome::before,
.sa-home-flow .sa-membership-section::before,
.sa-home-flow .sa-why-section::before,
.sa-home-flow .sa-founder-section::before,
.sa-home-flow .sa-home-faq::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(255,253,248,0) 0%,
    rgba(255,253,248,.22) 28%,
    rgba(255,253,248,.22) 72%,
    rgba(255,253,248,0) 100%
  );
}

/* Sections that previously used the stronger stone background now get
   only a gentle transparent wash, so the change is gradual rather than boxed. */
.sa-home-flow .sa-seasons-section,
.sa-home-flow .sa-workshop-section,
.sa-home-flow .sa-first-chair-section,
.sa-home-flow .sa-final-invitation {
  position: relative;
}

.sa-home-flow .sa-seasons-section::after,
.sa-home-flow .sa-workshop-section::after,
.sa-home-flow .sa-first-chair-section::after,
.sa-home-flow .sa-final-invitation::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(231,224,213,0) 0%,
    rgba(231,224,213,.24) 30%,
    rgba(231,224,213,.24) 70%,
    rgba(231,224,213,0) 100%
  );
}

/* Keep cards readable while allowing the page colour to show around them. */
.sa-home-flow .sa-card,
.sa-home-flow .sa-season-card,
.sa-home-flow .sa-membership-card,
.sa-home-flow .sa-value-card,
.sa-home-flow .sa-faq-item,
.sa-home-flow .sa-soft-section,
.sa-home-flow .sa-first-chair,
.sa-home-flow .sa-waiting-panel {
  backdrop-filter: blur(2px);
}

/* Remove old separator line that made the welcome section feel boxed. */
.sa-home-flow .sa-home-welcome::after {
  display: none !important;
}

/* Make the transition into the footer feel intentional rather than abrupt. */
.sa-home-flow .sa-final-invitation {
  padding-bottom: clamp(5rem, 9vw, 8rem);
}

@media (max-width: 640px) {
  .sa-home-flow {
    background:
      radial-gradient(circle at 90% 5%, rgba(201,169,110,.13), transparent 14rem),
      radial-gradient(circle at 5% 28%, rgba(169,183,162,.12), transparent 16rem),
      radial-gradient(circle at 92% 64%, rgba(183,122,82,.055), transparent 15rem),
      radial-gradient(circle at 8% 88%, rgba(169,183,162,.11), transparent 15rem),
      linear-gradient(
        180deg,
        #F8F2E8 0%,
        #F4EDE1 15%,
        #F7F1E7 30%,
        #ECE5D9 45%,
        #F3ECE2 60%,
        #EEE7DC 75%,
        #F7F1E8 88%,
        #EEE7DB 100%
      );
  }
}


/* ==========================================================
   v0.9.7 — Homepage Four Seasons + Membership balance
   Font sizes remain locked.
   ========================================================== */

/* Give these two sections a little more useful horizontal space. */
.sa-home-flow .sa-seasons-section > .wp-block-group,
.sa-home-flow .sa-membership-section > .wp-block-group {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 72rem);
  max-width: 72rem;
  margin-inline: auto;
}

/* ---------- Four Seasons ---------- */
.sa-home-flow .sa-seasons-grid {
  width: 100%;
  max-width: 68rem;
  margin: clamp(2.2rem, 4vw, 3.4rem) auto 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.sa-home-flow .sa-seasons-grid > .wp-block-column {
  min-width: 0;
}

.sa-home-flow .sa-season-card {
  display: flex;
  flex-direction: column;
  min-height: 16.5rem;
  height: 100%;
  padding: clamp(1.45rem, 2.3vw, 2rem) !important;
  border-radius: 1.25rem;
  background: rgba(255,253,248,.90) !important;
}

.sa-home-flow .sa-season-card .sa-season-number {
  margin-bottom: 1.65rem;
}

.sa-home-flow .sa-season-card h3 {
  margin-bottom: .7rem;
}

.sa-home-flow .sa-season-card p:last-child {
  margin-bottom: 0;
}

/* Keep the decorative seasonal circle subtle so it doesn't crowd the copy. */
.sa-home-flow .sa-season-card::after {
  width: 6.5rem;
  height: 6.5rem;
  right: -2.35rem;
  bottom: -2.35rem;
  opacity: .24;
}

/* ---------- Membership ---------- */
.sa-home-flow .sa-membership-grid {
  width: 100%;
  max-width: 66rem;
  margin: clamp(2.2rem, 4vw, 3.4rem) auto 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.8vw, 2.2rem);
}

.sa-home-flow .sa-membership-grid > .wp-block-column {
  min-width: 0;
}

.sa-home-flow .sa-membership-card {
  min-height: 25rem;
  height: 100%;
  padding: clamp(1.8rem, 3vw, 2.6rem) !important;
  border-radius: 1.35rem;
  background: rgba(255,253,248,.92) !important;
}

.sa-home-flow .sa-membership-card .sa-plan-label {
  margin-bottom: .85rem;
}

.sa-home-flow .sa-membership-card .sa-check-list {
  margin-top: 1.45rem;
}

.sa-home-flow .sa-membership-card .sa-check-list li {
  margin-bottom: .72rem;
  line-height: 1.55;
}

.sa-home-flow .sa-membership-section .wp-block-buttons {
  margin-top: 1.6rem;
}

/* Tablet / split-screen: two comfortable season cards per row. */
@media (max-width: 1050px) {
  .sa-home-flow .sa-seasons-grid {
    max-width: 44rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sa-home-flow .sa-season-card {
    min-height: 15rem;
  }

  .sa-home-flow .sa-membership-grid {
    max-width: 48rem;
  }
}

/* Narrow tablets / large phones: membership cards stack before they get cramped. */
@media (max-width: 760px) {
  .sa-home-flow .sa-membership-grid {
    max-width: 34rem;
    grid-template-columns: 1fr;
  }

  .sa-home-flow .sa-membership-card {
    min-height: auto;
  }
}

/* Phones: seasons also become one clean column. */
@media (max-width: 560px) {
  .sa-home-flow .sa-seasons-grid {
    max-width: 32rem;
    grid-template-columns: 1fr;
  }

  .sa-home-flow .sa-season-card {
    min-height: auto;
  }
}


/* ==========================================================
   v0.9.8 — Welcome width + Four Seasons heading/circle colours
   ========================================================== */

/* Welcome section: use more of the available horizontal space. */
.sa-home-flow .sa-home-welcome > .wp-block-group {
  width: 90%;
  max-width: 68rem;
  margin-inline: auto;
}

.sa-home-flow .sa-home-welcome .has-large-font-size,
.sa-home-flow .sa-home-welcome .sa-quote {
  max-width: 90%;
}

/* Four Seasons heading: keep the main descriptive line on one line
   on desktop while there is enough room. */
.sa-home-flow .sa-seasons-section .sa-section-intro {
  max-width: none;
  white-space: nowrap;
}

/* Seasonal decorative circle colours */
.sa-home-flow .sa-season-spring::after {
  background: #8FA77F; /* fresh leaf green */
}

.sa-home-flow .sa-season-summer::after {
  background: #D8B45F; /* warm sun gold */
}

.sa-home-flow .sa-season-autumn::after {
  background: #C9784E; /* burnt autumn orange */
}

.sa-home-flow .sa-season-winter::after {
  background: #9FB2BC; /* cool winter blue-grey */
}

/* Slightly stronger seasonal presence while keeping it soft. */
.sa-home-flow .sa-season-card::after {
  opacity: .34;
}

/* Allow the heading/subheading to wrap naturally again on smaller widths. */
@media (max-width: 980px) {
  .sa-home-flow .sa-seasons-section .sa-section-intro {
    white-space: normal;
    max-width: 42rem;
  }

  .sa-home-flow .sa-home-welcome > .wp-block-group {
    width: 94%;
  }

  .sa-home-flow .sa-home-welcome .has-large-font-size,
  .sa-home-flow .sa-home-welcome .sa-quote {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .sa-home-flow .sa-home-welcome > .wp-block-group {
    width: 100%;
  }
}


/* v0.9.9 — Four Seasons subtitle only */
.sa-home-flow .sa-seasons-section .sa-section-intro {
  width: 100%;
  max-width: 60rem;
  margin-inline: auto;
  font-size: clamp(0.92rem, 0.86rem + 0.18vw, 1.02rem) !important;
  line-height: 1.5;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .sa-home-flow .sa-seasons-section .sa-section-intro {
    max-width: 42rem;
    font-size: clamp(0.92rem, 0.88rem + 0.14vw, 0.98rem) !important;
    white-space: normal;
  }
}


/* ==========================================================
   v0.10.0 — Homepage Membership + September Workshop design pass
   Typography, hero and flowing background remain locked.
   ========================================================== */

/* ---------- Membership ---------- */
.sa-home-flow .sa-membership-section {
  position: relative;
}

.sa-home-flow .sa-membership-section > .wp-block-group {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
  margin-inline: auto;
}

.sa-home-flow .sa-membership-section .sa-section-intro {
  max-width: 52rem;
  margin-inline: auto;
}

.sa-home-flow .sa-membership-grid {
  max-width: 64rem;
  gap: clamp(1.4rem, 3vw, 2.4rem);
}

.sa-home-flow .sa-membership-card {
  position: relative;
  overflow: hidden;
  min-height: 23rem;
  padding: clamp(1.9rem, 3vw, 2.7rem) !important;
  border: 1px solid rgba(63,87,67,.12);
  border-radius: 1.45rem;
  background: rgba(255,253,248,.92) !important;
  box-shadow: 0 16px 38px rgba(59,57,53,.06);
}

.sa-home-flow .sa-membership-card::after {
  content: "";
  position: absolute;
  width: 7.5rem;
  height: 7.5rem;
  right: -2.6rem;
  bottom: -2.6rem;
  border-radius: 50%;
  background: rgba(169,183,162,.22);
}

.sa-home-flow .sa-membership-card.sa-membership-featured::after {
  background: rgba(123,63,74,.15);
}

.sa-home-flow .sa-membership-card h3,
.sa-home-flow .sa-membership-card p,
.sa-home-flow .sa-membership-card ul,
.sa-home-flow .sa-membership-card .wp-block-buttons {
  position: relative;
  z-index: 1;
}

.sa-home-flow .sa-membership-card .sa-plan-label {
  margin-bottom: .75rem;
}

.sa-home-flow .sa-membership-card .sa-check-list {
  margin-top: 1.45rem;
}

.sa-home-flow .sa-membership-card .sa-check-list li {
  margin-bottom: .72rem;
  line-height: 1.52;
}

.sa-home-flow .sa-membership-section > .wp-block-group > .wp-block-buttons {
  margin-top: clamp(1.8rem, 3vw, 2.6rem);
}

/* ---------- September workshop ---------- */
.sa-home-flow .sa-workshop-section {
  position: relative;
}

.sa-home-flow .sa-workshop-section > .wp-block-columns {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
  margin-inline: auto;
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
}

.sa-home-flow .sa-workshop-section .wp-block-column:first-child {
  max-width: 34rem;
}

.sa-home-flow .sa-workshop-section .sa-eyebrow {
  margin-bottom: .75rem;
}

.sa-home-flow .sa-workshop-section h2 {
  max-width: 15ch;
  margin-bottom: 1rem;
}

.sa-home-flow .sa-workshop-section .has-large-font-size {
  max-width: 32rem;
  line-height: 1.65;
}

.sa-home-flow .sa-workshop-section .wp-block-buttons {
  margin-top: 1.5rem;
}

.sa-home-flow .sa-workshop-art {
  min-height: clamp(22rem, 34vw, 30rem);
  border-radius: 2.6rem 1.3rem 2.6rem 1.3rem;
  background:
    radial-gradient(circle at 76% 18%, rgba(201,169,110,.42), transparent 18%),
    radial-gradient(circle at 20% 80%, rgba(169,183,162,.58), transparent 27%),
    linear-gradient(145deg, rgba(247,241,231,.94), rgba(231,224,213,.86));
  box-shadow: 0 18px 42px rgba(59,57,53,.06);
}

.sa-home-flow .sa-workshop-art::before {
  width: 10rem;
  height: 16rem;
  top: 16%;
  left: 25%;
  background: rgba(63,87,67,.72);
}

.sa-home-flow .sa-workshop-art::after {
  width: 7rem;
  height: 11rem;
  top: 29%;
  left: 49%;
  background: rgba(123,63,74,.66);
}

.sa-home-flow .sa-workshop-art-title {
  max-width: 21rem;
  padding: 1.15rem 1.3rem;
  border-radius: 1.05rem;
  background: rgba(255,253,248,.92);
  line-height: 1.5;
}

/* Make the visual transition between membership and workshop very soft. */
.sa-home-flow .sa-membership-section::after,
.sa-home-flow .sa-workshop-section::before {
  content: "";
  position: absolute;
  left: 50%;
  width: min(42rem, 80vw);
  height: 8rem;
  transform: translateX(-50%);
  pointer-events: none;
  filter: blur(28px);
  opacity: .25;
  border-radius: 50%;
}

.sa-home-flow .sa-membership-section::after {
  bottom: -3rem;
  background: rgba(201,169,110,.18);
}

.sa-home-flow .sa-workshop-section::before {
  top: -3rem;
  background: rgba(169,183,162,.18);
}

/* Tablet */
@media (max-width: 960px) {
  .sa-home-flow .sa-membership-grid {
    max-width: 48rem;
  }

  .sa-home-flow .sa-workshop-section > .wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: 2rem;
  }

  .sa-home-flow .sa-workshop-section .wp-block-column:first-child {
    max-width: 40rem;
  }

  .sa-home-flow .sa-workshop-art {
    width: min(100%, 38rem);
    margin-inline: auto;
    min-height: 24rem;
  }
}

/* Mobile */
@media (max-width: 720px) {
  .sa-home-flow .sa-membership-card {
    min-height: auto;
    padding: 1.55rem !important;
  }

  .sa-home-flow .sa-workshop-section h2 {
    max-width: none;
  }

  .sa-home-flow .sa-workshop-art {
    min-height: 21rem;
    border-radius: 1.4rem;
  }

  .sa-home-flow .sa-workshop-art-title {
    max-width: 90%;
  }
}


/* ==========================================================
   v0.10.1 — Final homepage design pass
   Why Sit Awhile + Founder + First Chair + FAQ + Invitation
   Typography and all previous locks remain unchanged.
   ========================================================== */

.sa-home-flow .sa-why-section > .wp-block-group {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
  margin-inline: auto;
}

.sa-home-flow .sa-why-section .sa-section-intro {
  max-width: 50rem;
  margin-inline: auto;
}

.sa-home-flow .sa-values-grid {
  max-width: 66rem;
  margin: clamp(2.2rem, 4vw, 3.4rem) auto 0;
  gap: clamp(1rem, 2.4vw, 1.8rem);
}

.sa-home-flow .sa-value-card {
  min-height: 14rem;
  padding: clamp(1.6rem, 3vw, 2.4rem);
  border: 1px solid rgba(63,87,67,.11);
  border-top: 2px solid rgba(123,63,74,.38);
  border-radius: 1.2rem;
  background: rgba(255,253,248,.83) !important;
  box-shadow: 0 12px 30px rgba(59,57,53,.045);
}

.sa-home-flow .sa-value-mark {
  margin-bottom: 1.6rem;
}

.sa-home-flow .sa-value-card h3 {
  margin-bottom: .7rem;
}

.sa-home-flow .sa-founder-section {
  position: relative;
}

.sa-home-flow .sa-founder-section > .wp-block-columns {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 68rem);
  max-width: 68rem;
  margin-inline: auto;
  gap: clamp(2.4rem, 6vw, 5rem);
}

.sa-home-flow .sa-founder-art {
  min-height: clamp(23rem, 36vw, 31rem);
  max-width: 30rem;
  margin-inline: auto;
  border-radius: 42% 42% 1.5rem 1.5rem;
  box-shadow: 0 18px 42px rgba(59,57,53,.06);
}

.sa-home-flow .sa-founder-art-label {
  width: min(88%, 22rem);
  padding: .9rem 1.05rem;
  font-size: .86rem;
}

.sa-home-flow .sa-founder-section .wp-block-column:last-child {
  max-width: 34rem;
}

.sa-home-flow .sa-founder-section .wp-block-buttons {
  margin-top: 1.4rem;
}

.sa-home-flow .sa-first-chair-section {
  position: relative;
}

.sa-home-flow .sa-first-chair {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 58rem);
  max-width: 58rem;
  padding: clamp(2.4rem, 5vw, 4rem);
  border: 1px solid rgba(123,63,74,.14);
  border-radius: 1.6rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.12), transparent 22%),
    rgba(255,253,248,.86) !important;
  box-shadow: 0 16px 38px rgba(59,57,53,.05);
}

.sa-home-flow .sa-first-chair-note {
  margin-top: 1.2rem;
}

.sa-home-flow .sa-home-faq > .wp-block-group {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 58rem);
  max-width: 58rem;
  margin-inline: auto;
}

.sa-home-flow .sa-home-faq .sa-faq-item {
  margin-top: .8rem;
  border-color: rgba(63,87,67,.13);
  background: rgba(255,253,248,.88) !important;
  box-shadow: 0 8px 22px rgba(59,57,53,.035);
}

.sa-home-flow .sa-home-faq .sa-faq-item summary {
  padding-block: 1.1rem;
}

.sa-home-flow .sa-home-faq .sa-section-link {
  margin-top: 1.8rem;
}

.sa-home-flow .sa-final-invitation {
  padding-top: clamp(4rem, 7vw, 6rem);
}

.sa-home-flow .sa-waiting-panel {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 60rem);
  max-width: 60rem;
  margin-inline: auto;
  padding: clamp(2.5rem, 5vw, 4.2rem);
  border: 1px solid rgba(63,87,67,.13);
  border-radius: 1.6rem;
  background:
    radial-gradient(circle at 88% 12%, rgba(201,169,110,.11), transparent 22%),
    rgba(255,253,248,.86) !important;
  box-shadow: 0 16px 38px rgba(59,57,53,.05);
}

.sa-home-flow .sa-waiting-panel .sa-waiting-form {
  margin-top: 2rem;
}

.sa-home-flow .sa-why-section,
.sa-home-flow .sa-founder-section,
.sa-home-flow .sa-first-chair-section,
.sa-home-flow .sa-home-faq,
.sa-home-flow .sa-final-invitation {
  position: relative;
}

.sa-home-flow .sa-why-section::after,
.sa-home-flow .sa-founder-section::after,
.sa-home-flow .sa-first-chair-section::after,
.sa-home-flow .sa-home-faq::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.6rem;
  width: min(38rem, 76vw);
  height: 6rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(169,183,162,.09);
  filter: blur(26px);
  pointer-events: none;
}

@media (max-width: 960px) {
  .sa-home-flow .sa-values-grid {
    max-width: 42rem;
    grid-template-columns: 1fr;
  }

  .sa-home-flow .sa-value-card {
    min-height: auto;
  }

  .sa-home-flow .sa-founder-section > .wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  .sa-home-flow .sa-founder-section .wp-block-column:last-child {
    max-width: 40rem;
    margin-inline: auto;
  }
}

@media (max-width: 640px) {
  .sa-home-flow .sa-first-chair,
  .sa-home-flow .sa-waiting-panel {
    padding: 1.6rem;
    border-radius: 1.2rem;
  }

  .sa-home-flow .sa-founder-art {
    min-height: 21rem;
    border-radius: 1.3rem;
  }

  .sa-home-flow .sa-home-faq .sa-faq-item summary {
    padding-right: 3rem;
  }
}


/* ==========================================================
   v0.10.3 — Homepage waiting-list form polish
   ========================================================== */

/* Give the homepage form more breathing room. */
.sa-home-flow .sa-waiting-panel .sa-waiting-form {
  margin-top: 2.2rem;
}

.sa-home-flow .sa-waiting-panel .sa-waiting-form-row {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.25fr) auto;
  gap: 1rem;
  align-items: end;
}

.sa-home-flow .sa-waiting-panel .sa-waiting-form label {
  display: block;
  margin-bottom: .45rem;
  font-weight: 700;
}

.sa-home-flow .sa-waiting-panel .sa-waiting-form input[type="text"],
.sa-home-flow .sa-waiting-panel .sa-waiting-form input[type="email"] {
  width: 100%;
  min-height: 3.25rem;
  padding: .78rem .95rem;
  border-radius: .8rem;
}

.sa-home-flow .sa-waiting-panel .sa-waiting-form button,
.sa-home-flow .sa-waiting-panel .sa-waiting-form input[type="submit"] {
  min-height: 3.25rem;
  padding-inline: 1.25rem;
  white-space: nowrap;
}

.sa-home-flow .sa-waiting-panel .sa-waiting-consent,
.sa-home-flow .sa-waiting-panel .sa-waiting-privacy,
.sa-home-flow .sa-waiting-panel .sa-form-consent {
  margin-top: .9rem;
  line-height: 1.5;
}

/* Stack before the fields start to feel squeezed. */
@media (max-width: 900px) {
  .sa-home-flow .sa-waiting-panel .sa-waiting-form-row {
    grid-template-columns: 1fr 1fr;
  }

  .sa-home-flow .sa-waiting-panel .sa-waiting-form-row > :last-child {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 620px) {
  .sa-home-flow .sa-waiting-panel .sa-waiting-form-row {
    grid-template-columns: 1fr;
    gap: .85rem;
  }

  .sa-home-flow .sa-waiting-panel .sa-waiting-form-row > :last-child {
    grid-column: auto;
    width: 100%;
  }

  .sa-home-flow .sa-waiting-panel .sa-waiting-form button,
  .sa-home-flow .sa-waiting-panel .sa-waiting-form input[type="submit"] {
    width: 100%;
  }
}


/* ==========================================================
   v0.10.4 — Waiting List page design pass
   Functionality and wording remain unchanged.
   ========================================================== */

.sa-waiting-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 87% 8%, rgba(201,169,110,.15), transparent 22rem),
    radial-gradient(circle at 8% 34%, rgba(169,183,162,.13), transparent 24rem),
    radial-gradient(circle at 92% 74%, rgba(183,122,82,.06), transparent 21rem),
    linear-gradient(
      180deg,
      #F8F2E8 0%,
      #F4EDE1 28%,
      #F7F1E7 54%,
      #EEE7DC 100%
    );
}

/* Remove the old hard section bands so the page flows as one surface. */
.sa-waiting-page .sa-wait-hero,
.sa-waiting-page .sa-wait-body {
  background: transparent !important;
}

/* ---------- Hero ---------- */
.sa-waiting-page .sa-wait-hero {
  padding-block: clamp(5rem, 9vw, 7.5rem);
}

.sa-waiting-page .sa-wait-hero-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 72rem);
  max-width: 72rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.1fr) minmax(19rem, .9fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-waiting-page .sa-wait-hero h1 {
  max-width: 12ch;
  margin-bottom: 1rem;
}

.sa-waiting-page .sa-wait-hero .has-large-font-size {
  max-width: 42rem;
  line-height: 1.68;
}

.sa-waiting-page .sa-wait-art {
  min-height: clamp(24rem, 37vw, 33rem);
  border-radius: 3rem 1.4rem 3rem 1.4rem;
  background:
    radial-gradient(circle at 76% 18%, rgba(201,169,110,.46), transparent 18%),
    radial-gradient(circle at 18% 82%, rgba(169,183,162,.52), transparent 27%),
    linear-gradient(145deg, rgba(247,241,231,.92), rgba(231,224,213,.83));
  box-shadow: 0 20px 48px rgba(59,57,53,.07);
}

.sa-waiting-page .sa-wait-art::before {
  width: 60%;
  height: 44%;
  left: 20%;
  bottom: 16%;
  border-radius: 1.2rem;
}

.sa-waiting-page .sa-wait-art::after {
  width: 29%;
  left: 35%;
}

/* ---------- Form section ---------- */
.sa-waiting-page .sa-wait-body {
  padding-top: clamp(3rem, 6vw, 5rem);
  padding-bottom: clamp(5.5rem, 9vw, 8rem);
}

.sa-waiting-page .sa-wait-form-panel {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 68rem);
  max-width: 68rem;
  margin-inline: auto;
  padding: clamp(2.5rem, 5vw, 4.2rem);
  border: 1px solid rgba(63,87,67,.13);
  border-radius: 1.7rem;
  background:
    radial-gradient(circle at 92% 8%, rgba(201,169,110,.10), transparent 20%),
    rgba(255,253,248,.88);
  box-shadow: 0 18px 44px rgba(59,57,53,.055);
}

.sa-waiting-page .sa-wait-form-panel > .sa-eyebrow,
.sa-waiting-page .sa-wait-form-panel > h2,
.sa-waiting-page .sa-wait-form-panel > p {
  max-width: 52rem;
}

.sa-waiting-page .sa-waiting-form {
  margin-top: 2.2rem;
}

/* Form spacing consistent with the approved homepage version. */
.sa-waiting-page .sa-waiting-form-row {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.25fr) auto;
  gap: 1rem;
  align-items: end;
}

.sa-waiting-page .sa-waiting-form label {
  display: block;
  margin-bottom: .45rem;
  font-weight: 700;
}

.sa-waiting-page .sa-waiting-form input[type="text"],
.sa-waiting-page .sa-waiting-form input[type="email"] {
  width: 100%;
  min-height: 3.25rem;
  padding: .78rem .95rem;
  border-radius: .8rem;
}

.sa-waiting-page .sa-waiting-form button,
.sa-waiting-page .sa-waiting-form input[type="submit"] {
  min-height: 3.25rem;
  padding-inline: 1.3rem;
  white-space: nowrap;
}

/* ---------- Reasons cards ---------- */
.sa-waiting-page .sa-wait-reasons {
  margin-top: clamp(2.4rem, 4vw, 3.4rem);
  gap: clamp(1rem, 2.3vw, 1.6rem);
}

.sa-waiting-page .sa-wait-reason {
  min-height: 11.5rem;
  padding: 1.6rem;
  border: 1px solid rgba(63,87,67,.10);
  border-radius: 1.1rem;
  background: rgba(255,253,248,.84);
  box-shadow: 0 10px 26px rgba(59,57,53,.035);
}

.sa-waiting-page .sa-wait-reason h3 {
  margin-top: 0;
  margin-bottom: .7rem;
}

/* Soften the space between hero and form rather than showing a hard join. */
.sa-waiting-page .sa-wait-hero::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2rem;
  width: min(40rem, 78vw);
  height: 7rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(169,183,162,.10);
  filter: blur(28px);
  pointer-events: none;
}

@media (max-width: 980px) {
  .sa-waiting-page .sa-wait-hero-grid {
    grid-template-columns: 1fr;
  }

  .sa-waiting-page .sa-wait-art {
    width: min(100%, 38rem);
    margin-inline: auto;
  }

  .sa-waiting-page .sa-waiting-form-row {
    grid-template-columns: 1fr 1fr;
  }

  .sa-waiting-page .sa-waiting-form-row > :last-child {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .sa-waiting-page .sa-wait-reasons {
    grid-template-columns: 1fr 1fr;
  }

  .sa-waiting-page .sa-wait-reason:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .sa-waiting-page .sa-wait-hero {
    padding-block: 4rem 3.5rem;
  }

  .sa-waiting-page .sa-wait-art {
    min-height: 21rem;
    border-radius: 1.4rem;
  }

  .sa-waiting-page .sa-wait-form-panel {
    padding: 1.6rem;
    border-radius: 1.2rem;
  }

  .sa-waiting-page .sa-waiting-form-row {
    grid-template-columns: 1fr;
    gap: .85rem;
  }

  .sa-waiting-page .sa-waiting-form-row > :last-child {
    grid-column: auto;
    width: 100%;
  }

  .sa-waiting-page .sa-waiting-form button,
  .sa-waiting-page .sa-waiting-form input[type="submit"] {
    width: 100%;
  }

  .sa-waiting-page .sa-wait-reasons {
    grid-template-columns: 1fr;
  }

  .sa-waiting-page .sa-wait-reason:last-child {
    grid-column: auto;
  }

  .sa-waiting-page .sa-wait-reason {
    min-height: auto;
  }
}


/* v0.10.5 — Waiting List bottom-card height refinement only */
.sa-waiting-page .sa-wait-reason {
  min-height: 8.5rem;
  padding: 1.45rem 1.55rem;
}

@media (max-width: 980px) {
  .sa-waiting-page .sa-wait-reason {
    min-height: 8rem;
  }
}

@media (max-width: 640px) {
  .sa-waiting-page .sa-wait-reason {
    min-height: auto;
    padding: 1.35rem;
  }
}


/* ==========================================================
   v0.10.6 — Workshops overview page design pass
   Content and links remain unchanged.
   ========================================================== */

.sa-workshops-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 87% 7%, rgba(201,169,110,.15), transparent 22rem),
    radial-gradient(circle at 8% 32%, rgba(169,183,162,.13), transparent 24rem),
    radial-gradient(circle at 91% 70%, rgba(183,122,82,.06), transparent 22rem),
    linear-gradient(
      180deg,
      #F8F2E8 0%,
      #F4EDE1 28%,
      #F7F1E7 55%,
      #EEE7DC 100%
    );
}

.sa-workshops-page .sa-ws-hero,
.sa-workshops-page .sa-ws-list,
.sa-workshops-page .sa-ws-members,
.sa-workshops-page .sa-ws-cta {
  background: transparent !important;
}

/* ---------- Hero ---------- */
.sa-workshops-page .sa-ws-hero {
  padding-block: clamp(5rem, 9vw, 7.5rem);
}

.sa-workshops-page .sa-ws-hero-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 72rem);
  max-width: 72rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.05fr) minmax(19rem, .95fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-workshops-page .sa-ws-hero h1 {
  max-width: 11ch;
  margin-bottom: 1rem;
}

.sa-workshops-page .sa-ws-hero .has-large-font-size {
  max-width: 42rem;
  line-height: 1.68;
}

.sa-workshops-page .sa-ws-art {
  min-height: clamp(24rem, 37vw, 33rem);
  border-radius: 3rem 1.4rem 3rem 1.4rem;
  background:
    radial-gradient(circle at 76% 18%, rgba(201,169,110,.45), transparent 18%),
    radial-gradient(circle at 18% 82%, rgba(169,183,162,.55), transparent 27%),
    linear-gradient(145deg, rgba(247,241,231,.94), rgba(231,224,213,.84));
  box-shadow: 0 20px 48px rgba(59,57,53,.07);
}

/* ---------- Upcoming workshops ---------- */
.sa-workshops-page .sa-ws-list {
  padding-top: clamp(3.5rem, 6vw, 5rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

.sa-workshops-page .sa-ws-list > .sa-launch-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 72rem);
  max-width: 72rem;
}

.sa-workshops-page .sa-ws-list .sa-section-intro {
  max-width: 48rem;
  margin-inline: auto;
}

.sa-workshops-page .sa-ws-grid {
  max-width: 68rem;
  margin: clamp(2.4rem, 4vw, 3.5rem) auto 0;
  gap: clamp(1.2rem, 2.5vw, 2rem);
}

.sa-workshops-page .sa-ws-card {
  position: relative;
  overflow: hidden;
  min-height: 25rem;
  padding: clamp(1.8rem, 3vw, 2.5rem);
  border: 1px solid rgba(63,87,67,.11);
  border-radius: 1.4rem;
  background: rgba(255,253,248,.86);
  box-shadow: 0 14px 34px rgba(59,57,53,.045);
}

.sa-workshops-page .sa-ws-card::after {
  content: "";
  position: absolute;
  right: -2.6rem;
  bottom: -2.6rem;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  background: rgba(169,183,162,.18);
}

.sa-workshops-page .sa-ws-card.is-live {
  border-color: rgba(123,63,74,.22);
  background:
    radial-gradient(circle at 92% 8%, rgba(201,169,110,.14), transparent 23%),
    rgba(255,253,248,.91);
}

.sa-workshops-page .sa-ws-card.is-live::after {
  background: rgba(123,63,74,.14);
}

.sa-workshops-page .sa-ws-card > * {
  position: relative;
  z-index: 1;
}

.sa-workshops-page .sa-ws-month {
  margin-bottom: .9rem;
}

.sa-workshops-page .sa-ws-meta {
  margin-bottom: 1.2rem;
  line-height: 1.5;
}

.sa-workshops-page .sa-ws-card .wp-block-buttons {
  margin-top: auto;
  padding-top: 1.6rem;
}

/* ---------- Member access ---------- */
.sa-workshops-page .sa-ws-members {
  padding-block: clamp(4.5rem, 7vw, 6.5rem);
}

.sa-workshops-page .sa-ws-members > .sa-launch-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 66rem);
  max-width: 66rem;
}

.sa-workshops-page .sa-ws-member-grid {
  max-width: 60rem;
  margin: clamp(2.2rem, 4vw, 3.2rem) auto 0;
  gap: clamp(1.2rem, 2.8vw, 2rem);
}

.sa-workshops-page .sa-ws-member-card {
  min-height: 13rem;
  padding: clamp(1.8rem, 3vw, 2.5rem);
  border: 1px solid rgba(63,87,67,.10);
  border-radius: 1.3rem;
  background: rgba(255,253,248,.84);
  box-shadow: 0 10px 28px rgba(59,57,53,.035);
}

/* ---------- Final CTA ---------- */
.sa-workshops-page .sa-ws-cta {
  padding-top: clamp(4rem, 7vw, 6rem);
  padding-bottom: clamp(5.5rem, 9vw, 8rem);
}

.sa-workshops-page .sa-ws-cta-panel {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 60rem);
  max-width: 60rem;
  padding: clamp(2.5rem, 5vw, 4rem);
  border: 1px solid rgba(123,63,74,.13);
  border-radius: 1.6rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.11), transparent 22%),
    rgba(255,253,248,.86);
  box-shadow: 0 16px 38px rgba(59,57,53,.05);
}

/* Soft transitions between page areas. */
.sa-workshops-page .sa-ws-hero,
.sa-workshops-page .sa-ws-list,
.sa-workshops-page .sa-ws-members {
  position: relative;
}

.sa-workshops-page .sa-ws-hero::after,
.sa-workshops-page .sa-ws-list::after,
.sa-workshops-page .sa-ws-members::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.4rem;
  width: min(40rem, 78vw);
  height: 6rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(169,183,162,.09);
  filter: blur(26px);
  pointer-events: none;
}

@media (max-width: 980px) {
  .sa-workshops-page .sa-ws-hero-grid {
    grid-template-columns: 1fr;
  }

  .sa-workshops-page .sa-ws-art {
    width: min(100%, 38rem);
    margin-inline: auto;
  }

  .sa-workshops-page .sa-ws-grid {
    max-width: 42rem;
    grid-template-columns: 1fr;
  }

  .sa-workshops-page .sa-ws-card {
    min-height: auto;
  }

  .sa-workshops-page .sa-ws-member-grid {
    max-width: 42rem;
    grid-template-columns: 1fr;
  }

  .sa-workshops-page .sa-ws-member-card {
    min-height: auto;
  }
}

@media (max-width: 640px) {
  .sa-workshops-page .sa-ws-hero {
    padding-block: 4rem 3.5rem;
  }

  .sa-workshops-page .sa-ws-art {
    min-height: 21rem;
    border-radius: 1.4rem;
  }

  .sa-workshops-page .sa-ws-card,
  .sa-workshops-page .sa-ws-member-card,
  .sa-workshops-page .sa-ws-cta-panel {
    padding: 1.5rem;
    border-radius: 1.15rem;
  }
}


/* v0.10.7 — Workshops member-access card height refinement only */
.sa-workshops-page .sa-ws-member-grid {
  align-items: stretch;
}

.sa-workshops-page .sa-ws-member-card {
  min-height: 9.25rem;
  padding: 1.55rem 1.75rem;
}

@media (max-width: 980px) {
  .sa-workshops-page .sa-ws-member-card {
    min-height: auto;
  }
}


/* ==========================================================
   v0.10.8 — September Workshop page design pass
   Wording, workshop details and Eventbrite link remain locked.
   ========================================================== */

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 87% 7%, rgba(201,169,110,.16), transparent 22rem),
    radial-gradient(circle at 8% 34%, rgba(169,183,162,.13), transparent 24rem),
    radial-gradient(circle at 92% 72%, rgba(183,122,82,.06), transparent 22rem),
    linear-gradient(
      180deg,
      #F8F2E8 0%,
      #F4EDE1 27%,
      #F7F1E7 54%,
      #EEE7DC 100%
    );
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-hero,
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-body,
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info,
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-member-note,
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-cta {
  background: transparent !important;
}

/* ---------- Hero ---------- */
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-hero {
  padding-block: clamp(5rem, 9vw, 7.5rem);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-hero-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 72rem);
  max-width: 72rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.08fr) minmax(19rem, .92fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-hero h1 {
  max-width: 11ch;
  margin-bottom: 1rem;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-hero .has-large-font-size {
  max-width: 41rem;
  line-height: 1.68;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-date-card {
  max-width: 39rem;
  margin-top: 1.8rem;
  padding: 1rem 1.15rem;
  border-left: 3px solid #C9A96E;
  border-radius: 0 .8rem .8rem 0;
  background: rgba(255,253,248,.70);
  box-shadow: 0 8px 22px rgba(59,57,53,.025);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-art {
  min-height: clamp(24rem, 37vw, 33rem);
  border-radius: 3rem 1.4rem 3rem 1.4rem;
  background:
    radial-gradient(circle at 76% 18%, rgba(201,169,110,.45), transparent 18%),
    radial-gradient(circle at 18% 82%, rgba(169,183,162,.55), transparent 27%),
    linear-gradient(145deg, rgba(247,241,231,.94), rgba(231,224,213,.84));
  box-shadow: 0 20px 48px rgba(59,57,53,.07);
}

/* ---------- About + Explore ---------- */
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-body {
  padding-top: clamp(3.5rem, 6vw, 5rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-body-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.04fr) minmax(18rem, .96fr);
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: start;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-body-copy {
  max-width: 37rem;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-body-copy h2 {
  max-width: 16ch;
  margin-bottom: 1rem;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-body-copy p {
  line-height: 1.75;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-explore {
  padding: clamp(2rem, 4vw, 3rem);
  border: 1px solid rgba(63,87,67,.10);
  border-radius: 1.4rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.10), transparent 20%),
    rgba(255,253,248,.84);
  box-shadow: 0 14px 34px rgba(59,57,53,.04);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-explore h3 {
  margin-top: .3rem;
  margin-bottom: 1rem;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-list {
  margin-top: 1.35rem;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-list li {
  margin-top: .8rem;
  line-height: 1.55;
}

/* ---------- Date / Time / Where / Booking ---------- */
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info {
  padding-block: clamp(4rem, 7vw, 6rem);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info > .sa-launch-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 68rem);
  max-width: 68rem;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-grid {
  gap: clamp(.9rem, 2vw, 1.4rem);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-card {
  min-height: 8.5rem;
  padding: 1.5rem 1.6rem;
  border: 1px solid rgba(63,87,67,.10);
  border-radius: 1.15rem;
  background: rgba(255,253,248,.86);
  box-shadow: 0 10px 26px rgba(59,57,53,.03);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-card p:last-child {
  margin-bottom: 0;
  line-height: 1.45;
}

/* ---------- Membership note ---------- */
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-member-note {
  padding-block: clamp(4rem, 7vw, 6rem);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-member-panel {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 62rem);
  max-width: 62rem;
  margin-inline: auto;
  padding: clamp(2.2rem, 5vw, 3.8rem);
  border: 1px solid rgba(63,87,67,.11);
  border-left: 3px solid rgba(63,87,67,.42);
  border-radius: 0 1.4rem 1.4rem 0;
  background: rgba(255,253,248,.86);
  box-shadow: 0 14px 34px rgba(59,57,53,.04);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-member-panel h2 {
  margin-bottom: .9rem;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-member-panel p:last-child {
  max-width: 54rem;
  line-height: 1.7;
}

/* ---------- Final Eventbrite CTA ---------- */
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-cta {
  padding-top: clamp(4rem, 7vw, 6rem);
  padding-bottom: clamp(5.5rem, 9vw, 8rem);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-cta-panel {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 60rem);
  max-width: 60rem;
  padding: clamp(2.6rem, 5vw, 4.2rem);
  border: 1px solid rgba(123,63,74,.13);
  border-radius: 1.6rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.11), transparent 22%),
    rgba(255,253,248,.87);
  box-shadow: 0 16px 38px rgba(59,57,53,.05);
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-cta-panel .wp-block-buttons {
  margin-top: 1.8rem;
}

/* Soft transitions between major page areas. */
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-hero,
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-body,
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info,
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-member-note {
  position: relative;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-hero::after,
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-body::after,
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info::after,
:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-member-note::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.4rem;
  width: min(40rem, 78vw);
  height: 6rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(169,183,162,.09);
  filter: blur(26px);
  pointer-events: none;
}

@media (max-width: 980px) {
  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-hero-grid,
  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-body-grid {
    grid-template-columns: 1fr;
  }

  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-art {
    width: min(100%, 38rem);
    margin-inline: auto;
  }

  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-body-copy {
    max-width: 42rem;
  }

  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-explore {
    max-width: 42rem;
  }

  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-card {
    min-height: 7.5rem;
  }
}

@media (max-width: 640px) {
  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-hero {
    padding-block: 4rem 3.5rem;
  }

  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-art {
    min-height: 21rem;
    border-radius: 1.4rem;
  }

  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-explore,
  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-member-panel,
  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-cta-panel {
    padding: 1.55rem;
    border-radius: 1.15rem;
  }

  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-member-panel {
    border-left-width: 2px;
  }

  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-grid {
    grid-template-columns: 1fr;
  }

  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-card {
    min-height: auto;
  }

  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-cta-panel .wp-block-button,
  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-cta-panel .wp-block-button__link {
    width: 100%;
  }
}


/* ==========================================================
   v0.10.9 — Workshops member-access height fix
   Exact override for the two Core / Full Journey cards.
   ========================================================== */

.sa-workshops-page .sa-ws-member-grid {
  align-items: start !important;
}

.sa-workshops-page .sa-ws-member-grid > .wp-block-column {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
}

.sa-workshops-page .sa-ws-member-card {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 1.55rem 1.75rem !important;
}

.sa-workshops-page .sa-ws-member-card > *:last-child {
  margin-bottom: 0 !important;
}

/* Keep both cards visually balanced without forcing a large empty height. */
@media (min-width: 981px) {
  .sa-workshops-page .sa-ws-member-grid {
    grid-auto-rows: auto !important;
  }
}

@media (max-width: 980px) {
  .sa-workshops-page .sa-ws-member-card {
    height: auto !important;
    min-height: 0 !important;
  }
}


/* ==========================================================
   v0.11.0 — September Workshop info-card refinement only
   ========================================================== */

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-card {
  min-height: 6.7rem;
  padding: 1.2rem 1.35rem;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-label {
  margin-bottom: .45rem;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-card p {
  margin-top: 0;
}

:is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-card p:last-child {
  margin-bottom: 0;
}

@media (max-width: 980px) {
  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-card {
    min-height: 6.2rem;
  }
}

@media (max-width: 640px) {
  :is(.sa-workshop-september, .sa-workshop-october, .sa-workshop-november) .sa-wd-info-card {
    min-height: auto;
    padding: 1.15rem 1.25rem;
  }
}


/* ==========================================================
   v0.11.1 — FAQ page design pass
   Wording and accordion behaviour remain unchanged.
   ========================================================== */

.sa-faq-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 87% 7%, rgba(201,169,110,.14), transparent 22rem),
    radial-gradient(circle at 8% 34%, rgba(169,183,162,.13), transparent 24rem),
    radial-gradient(circle at 91% 78%, rgba(183,122,82,.055), transparent 21rem),
    linear-gradient(
      180deg,
      #F8F2E8 0%,
      #F4EDE1 30%,
      #F7F1E7 58%,
      #EEE7DC 100%
    );
}

.sa-faq-page .sa-faq-hero,
.sa-faq-page .sa-faq-main {
  background: transparent !important;
}

/* ---------- Hero ---------- */
.sa-faq-page .sa-faq-hero {
  padding-top: clamp(5rem, 9vw, 7.5rem);
  padding-bottom: clamp(4rem, 7vw, 5.5rem);
}

.sa-faq-page .sa-faq-hero .sa-launch-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 62rem);
  max-width: 62rem;
  margin-inline: auto;
}

.sa-faq-page .sa-faq-hero h1 {
  max-width: 10ch;
  margin-bottom: 1rem;
}

.sa-faq-page .sa-faq-hero .has-large-font-size {
  max-width: 48rem;
  line-height: 1.68;
}

/* ---------- FAQ list ---------- */
.sa-faq-page .sa-faq-main {
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(5.5rem, 9vw, 8rem);
}

.sa-faq-page .sa-faq-public-list {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 60rem);
  max-width: 60rem;
  margin-inline: auto;
}

.sa-faq-page .sa-faq-public-list .sa-faq-item {
  margin-top: .85rem;
  overflow: hidden;
  border: 1px solid rgba(63,87,67,.12);
  border-radius: 1rem;
  background: rgba(255,253,248,.88);
  box-shadow: 0 9px 24px rgba(59,57,53,.035);
}

.sa-faq-page .sa-faq-public-list .sa-faq-item:first-child {
  margin-top: 0;
}

.sa-faq-page .sa-faq-public-list .sa-faq-item summary {
  position: relative;
  padding: 1.15rem 3.25rem 1.15rem 1.25rem;
  color: #3F5743;
  font-weight: 800;
  line-height: 1.45;
  cursor: pointer;
  list-style: none;
}

.sa-faq-page .sa-faq-public-list .sa-faq-item summary::-webkit-details-marker {
  display: none;
}

.sa-faq-page .sa-faq-public-list .sa-faq-item summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 1.2rem;
  transform: translateY(-50%);
  color: #3F5743;
  font-size: 1.2rem;
  font-weight: 700;
}

.sa-faq-page .sa-faq-public-list .sa-faq-item[open] summary::after {
  content: "−";
}

.sa-faq-page .sa-faq-public-list .sa-faq-item[open] {
  background:
    radial-gradient(circle at 94% 10%, rgba(201,169,110,.09), transparent 20%),
    rgba(255,253,248,.92);
}

.sa-faq-page .sa-faq-public-list .sa-faq-item[open] summary {
  padding-bottom: .9rem;
}

.sa-faq-page .sa-faq-public-list .sa-faq-item p {
  margin: 0;
  padding: 0 1.25rem 1.25rem;
  max-width: 52rem;
  line-height: 1.72;
}

/* ---------- Final contact link ---------- */
.sa-faq-page .sa-section-link {
  margin-top: clamp(2.4rem, 5vw, 3.5rem);
  text-align: center;
}

.sa-faq-page .sa-section-link a {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding-bottom: .2rem;
  border-bottom: 1px solid rgba(63,87,67,.35);
  text-decoration: none;
  font-weight: 700;
}

/* Soft join into footer. */
.sa-faq-page .sa-faq-main::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.5rem;
  width: min(40rem, 78vw);
  height: 6rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(169,183,162,.09);
  filter: blur(26px);
  pointer-events: none;
}

@media (max-width: 640px) {
  .sa-faq-page .sa-faq-hero {
    padding-top: 4rem;
    padding-bottom: 3rem;
  }

  .sa-faq-page .sa-faq-public-list .sa-faq-item summary {
    padding: 1rem 3rem 1rem 1rem;
  }

  .sa-faq-page .sa-faq-public-list .sa-faq-item p {
    padding: 0 1rem 1rem;
  }
}


/* ==========================================================
   v0.11.2 — Contact page design pass
   Wording and email link remain unchanged.
   ========================================================== */

.sa-contact-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 87% 7%, rgba(201,169,110,.14), transparent 22rem),
    radial-gradient(circle at 8% 36%, rgba(169,183,162,.13), transparent 24rem),
    radial-gradient(circle at 91% 78%, rgba(183,122,82,.055), transparent 21rem),
    linear-gradient(180deg,#F8F2E8 0%,#F4EDE1 30%,#F7F1E7 58%,#EEE7DC 100%);
}

.sa-contact-page .sa-contact-hero,
.sa-contact-page .sa-contact-main {
  background: transparent !important;
}

.sa-contact-page .sa-contact-hero {
  padding-top: clamp(5rem, 9vw, 7.5rem);
  padding-bottom: clamp(3.5rem, 6vw, 5rem);
}

.sa-contact-page .sa-contact-hero .sa-launch-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 62rem);
  max-width: 62rem;
  margin-inline: auto;
}

.sa-contact-page .sa-contact-hero h1 {
  max-width: 12ch;
  margin-bottom: 1rem;
}

.sa-contact-page .sa-contact-hero .has-large-font-size {
  max-width: 48rem;
  line-height: 1.68;
}

.sa-contact-page .sa-contact-main {
  padding-top: clamp(3rem, 5vw, 4rem);
  padding-bottom: clamp(5.5rem, 9vw, 8rem);
}

.sa-contact-page .sa-contact-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, .9fr);
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
}

.sa-contact-page .sa-contact-card {
  max-width: 38rem;
  padding: clamp(2.2rem, 4.5vw, 3.6rem);
  border: 1px solid rgba(63,87,67,.11);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 92% 8%, rgba(201,169,110,.10), transparent 20%),
    rgba(255,253,248,.88);
  box-shadow: 0 16px 38px rgba(59,57,53,.045);
}

.sa-contact-page .sa-contact-card h2 {
  margin-top: .4rem;
  margin-bottom: 1rem;
}

.sa-contact-page .sa-contact-email {
  display: inline-block;
  margin: .25rem 0 1.1rem;
  font-size: clamp(1.05rem, .98rem + .25vw, 1.28rem);
  font-weight: 800;
  line-height: 1.45;
}

.sa-contact-page .sa-contact-email a {
  color: #3F5743;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.sa-contact-page .sa-contact-card p {
  line-height: 1.7;
}

.sa-contact-page .sa-contact-card .wp-block-buttons {
  margin-top: 1.6rem;
  gap: .85rem;
}

.sa-contact-page .sa-contact-art {
  min-height: clamp(24rem, 37vw, 33rem);
  border-radius: 3rem 1.4rem 3rem 1.4rem;
  background:
    radial-gradient(circle at 76% 18%, rgba(201,169,110,.45), transparent 18%),
    radial-gradient(circle at 18% 82%, rgba(169,183,162,.55), transparent 27%),
    linear-gradient(145deg, rgba(247,241,231,.94), rgba(231,224,213,.84));
  box-shadow: 0 20px 48px rgba(59,57,53,.07);
}

.sa-contact-page .sa-contact-art::before {
  left: 19%;
  bottom: 17%;
  width: 62%;
  height: 38%;
  border-radius: 4rem 4rem 1rem 1rem;
  background: rgba(63,87,67,.74);
}

.sa-contact-page .sa-contact-art::after {
  left: 39%;
  bottom: 43%;
  width: 22%;
  height: 16%;
  border-radius: 50%;
  background: #D6AF91;
  box-shadow: 0 4rem 0 1rem rgba(123,63,74,.74);
}

.sa-contact-page .sa-contact-main::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.5rem;
  width: min(40rem, 78vw);
  height: 6rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(169,183,162,.09);
  filter: blur(26px);
  pointer-events: none;
}

@media (max-width: 980px) {
  .sa-contact-page .sa-contact-grid {
    grid-template-columns: 1fr;
  }

  .sa-contact-page .sa-contact-card {
    max-width: 42rem;
  }

  .sa-contact-page .sa-contact-art {
    width: min(100%, 38rem);
    margin-inline: auto;
  }
}

@media (max-width: 640px) {
  .sa-contact-page .sa-contact-hero {
    padding-top: 4rem;
    padding-bottom: 3rem;
  }

  .sa-contact-page .sa-contact-card {
    padding: 1.6rem;
    border-radius: 1.2rem;
  }

  .sa-contact-page .sa-contact-card .wp-block-button,
  .sa-contact-page .sa-contact-card .wp-block-button__link {
    width: 100%;
  }

  .sa-contact-page .sa-contact-art {
    min-height: 21rem;
    border-radius: 1.4rem;
  }
}


/* v0.11.4 — Contact hero heading refinement only */
.sa-contact-page .sa-contact-hero h1 {
  width: min(100%, 34rem);
  max-width: none;
  font-size: clamp(1.95rem, 1.55rem + 1.35vw, 3rem) !important;
  line-height: 1.08;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

@media (max-width: 980px) {
  .sa-contact-page .sa-contact-hero h1 {
    width: min(100%, 30rem);
    font-size: clamp(1.85rem, 1.55rem + 1.05vw, 2.55rem) !important;
  }
}

@media (max-width: 640px) {
  .sa-contact-page .sa-contact-hero h1 {
    width: 100%;
    font-size: clamp(1.75rem, 1.5rem + 2vw, 2.15rem) !important;
    line-height: 1.1;
    text-wrap: pretty;
  }
}


/* ==========================================================
   v0.11.5 — Membership page full design pass
   Content, rules and links remain unchanged.
   ========================================================== */

.sa-membership-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 6%, rgba(201,169,110,.15), transparent 22rem),
    radial-gradient(circle at 7% 26%, rgba(169,183,162,.13), transparent 24rem),
    radial-gradient(circle at 91% 52%, rgba(183,122,82,.055), transparent 22rem),
    radial-gradient(circle at 9% 79%, rgba(169,183,162,.11), transparent 23rem),
    linear-gradient(
      180deg,
      #F8F2E8 0%,
      #F4EDE1 20%,
      #F7F1E7 41%,
      #ECE5D9 62%,
      #F4EDE3 81%,
      #EEE7DC 100%
    );
}

.sa-membership-page .sa-member-hero,
.sa-membership-page .sa-member-shared,
.sa-membership-page .sa-member-plans,
.sa-membership-page .sa-member-journey,
.sa-membership-page .sa-member-mentoring,
.sa-membership-page .sa-member-first-chair,
.sa-membership-page .sa-member-faq,
.sa-membership-page .sa-member-invitation {
  background: transparent !important;
}

/* ---------- Hero ---------- */
.sa-membership-page .sa-member-hero {
  padding-top: clamp(5rem, 9vw, 7.5rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-membership-page .sa-member-hero-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 72rem);
  max-width: 72rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.18fr) minmax(18rem, .82fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-membership-page .sa-member-hero h1 {
  max-width: 15ch;
  font-size: clamp(1.95rem, 1.6rem + 1.35vw, 3rem) !important;
  line-height: 1.07;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.sa-membership-page .sa-member-hero .has-large-font-size {
  max-width: 43rem;
  line-height: 1.65;
}

.sa-membership-page .sa-member-hero .wp-block-column:first-child > p:last-child {
  max-width: 41rem;
  line-height: 1.7;
}

.sa-membership-page .sa-member-hero-art {
  min-height: clamp(23rem, 35vw, 31rem);
  border-radius: 3rem 1.4rem 3rem 1.4rem;
  box-shadow: 0 20px 48px rgba(59,57,53,.07);
}

/* ---------- Shared journey ---------- */
.sa-membership-page .sa-member-shared {
  padding-top: clamp(3.5rem, 6vw, 5rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

.sa-membership-page .sa-member-shared > .sa-member-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 68rem);
  max-width: 68rem;
}

.sa-membership-page .sa-member-shared .sa-section-intro {
  max-width: 52rem;
  margin-inline: auto;
  line-height: 1.65;
}

.sa-membership-page .sa-member-shared-grid {
  max-width: 62rem;
  margin: clamp(2.4rem, 4vw, 3.5rem) auto 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.1rem, 2.5vw, 1.8rem);
}

.sa-membership-page .sa-member-shared-card {
  height: auto;
  min-height: 11.5rem;
  padding: clamp(1.5rem, 2.8vw, 2rem);
  border: 1px solid rgba(63,87,67,.10);
  border-top: 2px solid rgba(201,169,110,.60);
  border-radius: 1.15rem;
  background: rgba(255,253,248,.85);
  box-shadow: 0 10px 26px rgba(59,57,53,.035);
}

.sa-membership-page .sa-member-shared-card h3 {
  margin-bottom: .65rem;
}

.sa-membership-page .sa-member-shared-card p:last-child {
  margin-bottom: 0;
  line-height: 1.62;
}

/* ---------- Core / Full Journey plans ---------- */
.sa-membership-page .sa-member-plans {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

.sa-membership-page .sa-member-plans > .sa-member-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
}

.sa-membership-page .sa-member-plans .sa-section-intro {
  max-width: 50rem;
  margin-inline: auto;
  line-height: 1.65;
}

.sa-membership-page .sa-member-plan-grid {
  max-width: 64rem;
  margin: clamp(2.4rem, 4vw, 3.5rem) auto 0;
  gap: clamp(1.5rem, 3vw, 2.4rem);
  align-items: start;
}

.sa-membership-page .sa-member-plan-grid > .wp-block-column {
  align-self: start !important;
  height: auto !important;
}

.sa-membership-page .sa-member-plan-card {
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(1.8rem, 3vw, 2.5rem);
  border-radius: 1.4rem;
  background: rgba(255,253,248,.90);
  box-shadow: 0 15px 36px rgba(59,57,53,.055);
}

.sa-membership-page .sa-member-plan-card.is-featured {
  background:
    radial-gradient(circle at 92% 8%, rgba(201,169,110,.13), transparent 23%),
    linear-gradient(145deg, rgba(255,253,248,.94), rgba(248,239,236,.92));
}

.sa-membership-page .sa-member-plan-badge {
  margin-bottom: .75rem;
}

.sa-membership-page .sa-member-price {
  margin-top: 1.1rem;
  margin-bottom: .25rem;
  font-size: clamp(1.18rem, 1.03rem + .5vw, 1.55rem);
}

.sa-membership-page .sa-member-benefits {
  margin-top: 1.45rem;
}

.sa-membership-page .sa-member-benefits li {
  margin-top: .7rem;
  line-height: 1.5;
}

.sa-membership-page .sa-member-plan-footer {
  margin-top: 1.5rem;
  padding-top: 1.2rem;
}

/* ---------- Journey / Mentoring / First Chair ---------- */
.sa-membership-page .sa-member-journey,
.sa-membership-page .sa-member-mentoring,
.sa-membership-page .sa-member-first-chair {
  padding-top: clamp(4.5rem, 7vw, 6.5rem);
  padding-bottom: clamp(4.5rem, 7vw, 6.5rem);
}

.sa-membership-page .sa-member-journey-grid,
.sa-membership-page .sa-member-mentoring-grid,
.sa-membership-page .sa-member-first-chair-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-membership-page .sa-member-journey-art,
.sa-membership-page .sa-member-mentoring-art,
.sa-membership-page .sa-member-first-chair-art {
  min-height: clamp(21rem, 31vw, 27rem);
  border-radius: 2.6rem 1.3rem 2.6rem 1.3rem;
  box-shadow: 0 16px 38px rgba(59,57,53,.045);
}

.sa-membership-page .sa-member-journey-copy,
.sa-membership-page .sa-member-mentoring-card,
.sa-membership-page .sa-member-first-chair-panel {
  max-width: 38rem;
}

.sa-membership-page .sa-member-journey-copy p {
  font-size: var(--sa-type-body);
  line-height: 1.72;
}

.sa-membership-page .sa-member-mentoring-card,
.sa-membership-page .sa-member-first-chair-panel {
  padding: clamp(1.9rem, 3.5vw, 2.8rem);
  border: 1px solid rgba(63,87,67,.10);
  border-radius: 1.3rem;
  background: rgba(255,253,248,.84);
  box-shadow: 0 12px 30px rgba(59,57,53,.035);
}

.sa-membership-page .sa-member-mentoring-card {
  border-left: 3px solid rgba(201,169,110,.7);
}

.sa-membership-page .sa-member-mentoring-card h3 {
  margin-top: 1.35rem;
  margin-bottom: .4rem;
}

.sa-membership-page .sa-member-first-chair-list {
  margin-top: 1.45rem;
}

.sa-membership-page .sa-member-first-chair-list li {
  margin-top: .7rem;
}

/* ---------- FAQ ---------- */
.sa-membership-page .sa-member-faq {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-membership-page .sa-member-faq > .sa-member-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 60rem);
  max-width: 60rem;
}

.sa-membership-page .sa-member-faq .sa-faq-item {
  margin-top: .8rem;
  overflow: hidden;
  border: 1px solid rgba(63,87,67,.11);
  border-radius: 1rem;
  background: rgba(255,253,248,.85);
  box-shadow: 0 8px 22px rgba(59,57,53,.03);
}

.sa-membership-page .sa-member-faq .sa-faq-item summary {
  padding: 1.05rem 3rem 1.05rem 1.15rem;
}

/* ---------- Final invitation ---------- */
.sa-membership-page .sa-member-invitation {
  padding-top: clamp(4rem, 7vw, 5.5rem);
  padding-bottom: clamp(5.5rem, 9vw, 8rem);
}

.sa-membership-page .sa-member-invitation-panel {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 60rem);
  max-width: 60rem;
  padding: clamp(2.4rem, 5vw, 4rem);
  border: 1px solid rgba(123,63,74,.12);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.10), transparent 22%),
    rgba(255,253,248,.86);
  box-shadow: 0 15px 36px rgba(59,57,53,.045);
}

/* Soft transitions instead of hard horizontal bands. */
.sa-membership-page .sa-member-hero,
.sa-membership-page .sa-member-shared,
.sa-membership-page .sa-member-plans,
.sa-membership-page .sa-member-journey,
.sa-membership-page .sa-member-mentoring,
.sa-membership-page .sa-member-first-chair,
.sa-membership-page .sa-member-faq {
  position: relative;
}

.sa-membership-page .sa-member-hero::after,
.sa-membership-page .sa-member-shared::after,
.sa-membership-page .sa-member-plans::after,
.sa-membership-page .sa-member-journey::after,
.sa-membership-page .sa-member-mentoring::after,
.sa-membership-page .sa-member-first-chair::after,
.sa-membership-page .sa-member-faq::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.4rem;
  width: min(40rem, 78vw);
  height: 6rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(169,183,162,.08);
  filter: blur(26px);
  pointer-events: none;
}

@media (max-width: 1000px) {
  .sa-membership-page .sa-member-hero-grid,
  .sa-membership-page .sa-member-journey-grid,
  .sa-membership-page .sa-member-mentoring-grid,
  .sa-membership-page .sa-member-first-chair-grid {
    grid-template-columns: 1fr;
  }

  .sa-membership-page .sa-member-hero-art,
  .sa-membership-page .sa-member-journey-art,
  .sa-membership-page .sa-member-mentoring-art,
  .sa-membership-page .sa-member-first-chair-art {
    width: min(100%, 38rem);
    margin-inline: auto;
  }

  .sa-membership-page .sa-member-shared-grid {
    max-width: 44rem;
  }

  .sa-membership-page .sa-member-plan-grid {
    max-width: 48rem;
  }
}

@media (max-width: 760px) {
  .sa-membership-page .sa-member-shared-grid,
  .sa-membership-page .sa-member-plan-grid {
    grid-template-columns: 1fr;
  }

  .sa-membership-page .sa-member-plan-grid {
    max-width: 34rem;
  }

  .sa-membership-page .sa-member-shared-card {
    min-height: auto;
  }

  .sa-membership-page .sa-member-hero h1 {
    font-size: clamp(1.8rem, 1.5rem + 1.8vw, 2.25rem) !important;
  }
}

@media (max-width: 640px) {
  .sa-membership-page .sa-member-hero,
  .sa-membership-page .sa-member-shared,
  .sa-membership-page .sa-member-plans,
  .sa-membership-page .sa-member-journey,
  .sa-membership-page .sa-member-mentoring,
  .sa-membership-page .sa-member-first-chair,
  .sa-membership-page .sa-member-faq,
  .sa-membership-page .sa-member-invitation {
    padding-block: 3.8rem;
  }

  .sa-membership-page .sa-member-hero-art,
  .sa-membership-page .sa-member-journey-art,
  .sa-membership-page .sa-member-mentoring-art,
  .sa-membership-page .sa-member-first-chair-art {
    min-height: 20rem;
    border-radius: 1.35rem;
  }

  .sa-membership-page .sa-member-shared-card,
  .sa-membership-page .sa-member-plan-card,
  .sa-membership-page .sa-member-mentoring-card,
  .sa-membership-page .sa-member-first-chair-panel,
  .sa-membership-page .sa-member-invitation-panel {
    padding: 1.5rem;
    border-radius: 1.15rem;
  }
}


/* ==========================================================
   v0.11.6 — First Chair page full design pass
   Content, limits, dates and benefits remain unchanged.
   ========================================================== */

.sa-first-chair-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 87% 6%, rgba(201,169,110,.15), transparent 22rem),
    radial-gradient(circle at 8% 26%, rgba(169,183,162,.13), transparent 24rem),
    radial-gradient(circle at 91% 51%, rgba(183,122,82,.055), transparent 22rem),
    radial-gradient(circle at 9% 80%, rgba(169,183,162,.11), transparent 23rem),
    linear-gradient(
      180deg,
      #F8F2E8 0%,
      #F4EDE1 20%,
      #F7F1E7 42%,
      #ECE5D9 63%,
      #F4EDE3 82%,
      #EEE7DC 100%
    );
}

.sa-first-chair-page .sa-fc-hero,
.sa-first-chair-page .sa-fc-meaning,
.sa-first-chair-page .sa-fc-benefits,
.sa-first-chair-page .sa-fc-offer,
.sa-first-chair-page .sa-fc-support,
.sa-first-chair-page .sa-fc-status,
.sa-first-chair-page .sa-fc-faq,
.sa-first-chair-page .sa-fc-invitation {
  background: transparent !important;
}

/* ---------- Hero ---------- */
.sa-first-chair-page .sa-fc-hero {
  padding-top: clamp(5rem, 9vw, 7.5rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-first-chair-page .sa-fc-hero-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 72rem);
  max-width: 72rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.14fr) minmax(18rem, .86fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-first-chair-page .sa-fc-hero h1 {
  max-width: 13ch;
  font-size: clamp(1.95rem, 1.58rem + 1.35vw, 3rem) !important;
  line-height: 1.07;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.sa-first-chair-page .sa-fc-hero .has-large-font-size {
  max-width: 42rem;
  line-height: 1.66;
}

.sa-first-chair-page .sa-fc-availability {
  max-width: 40rem;
  margin-top: 1.6rem;
  padding: .95rem 1.1rem;
  border-left: 3px solid #C9A96E;
  border-radius: 0 .8rem .8rem 0;
  background: rgba(255,253,248,.72);
}

.sa-first-chair-page .sa-fc-hero-art {
  min-height: clamp(23rem, 35vw, 31rem);
  border-radius: 3rem 1.4rem 3rem 1.4rem;
  box-shadow: 0 20px 48px rgba(59,57,53,.07);
}

/* ---------- Meaning ---------- */
.sa-first-chair-page .sa-fc-meaning {
  padding-top: clamp(3.5rem, 6vw, 5rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-first-chair-page .sa-fc-meaning-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .92fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-first-chair-page .sa-fc-meaning-copy {
  max-width: 38rem;
}

.sa-first-chair-page .sa-fc-meaning-copy p {
  line-height: 1.72;
}

.sa-first-chair-page .sa-fc-meaning-copy .sa-quote {
  margin-top: 1.5rem;
  padding: 1rem 1.15rem;
  border-left: 3px solid #C9A96E;
  background: rgba(255,253,248,.68);
}

.sa-first-chair-page .sa-fc-meaning-art {
  min-height: clamp(21rem, 31vw, 27rem);
  border-radius: 2.6rem 1.3rem 2.6rem 1.3rem;
  box-shadow: 0 16px 38px rgba(59,57,53,.045);
}

/* ---------- Benefits ---------- */
.sa-first-chair-page .sa-fc-benefits {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

.sa-first-chair-page .sa-fc-benefits > .sa-fc-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
}

.sa-first-chair-page .sa-fc-benefit-grid {
  max-width: 66rem;
  margin: clamp(2.4rem, 4vw, 3.5rem) auto 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.4vw, 1.7rem);
}

.sa-first-chair-page .sa-fc-benefit-grid > .wp-block-column {
  align-self: start !important;
  height: auto !important;
}

.sa-first-chair-page .sa-fc-benefit-card {
  height: auto !important;
  min-height: 13rem;
  padding: clamp(1.5rem, 2.7vw, 2rem);
  border: 1px solid rgba(63,87,67,.10);
  border-top: 2px solid rgba(123,63,74,.34);
  border-radius: 1.2rem;
  background: rgba(255,253,248,.86);
  box-shadow: 0 10px 26px rgba(59,57,53,.035);
}

.sa-first-chair-page .sa-fc-benefit-number {
  margin-bottom: 1.25rem;
}

.sa-first-chair-page .sa-fc-benefit-card h3 {
  margin-bottom: .65rem;
}

.sa-first-chair-page .sa-fc-benefit-card p:last-child {
  margin-bottom: 0;
  line-height: 1.6;
}

/* ---------- 10 for 12 ---------- */
.sa-first-chair-page .sa-fc-offer {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-first-chair-page .sa-fc-offer-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-first-chair-page .sa-fc-offer-panel {
  max-width: 38rem;
  padding: clamp(2rem, 4vw, 3rem);
  border-left: 3px solid rgba(123,63,74,.48);
  border-radius: 0 1.3rem 1.3rem 0;
  background: rgba(255,253,248,.86);
  box-shadow: 0 14px 34px rgba(59,57,53,.04);
}

.sa-first-chair-page .sa-fc-offer-highlight {
  margin-top: 1.3rem;
  font-size: clamp(1.65rem, 1.3rem + 1vw, 2.45rem);
}

.sa-first-chair-page .sa-fc-offer-art {
  min-height: clamp(21rem, 31vw, 27rem);
  border-radius: 2.6rem 1.3rem 2.6rem 1.3rem;
  box-shadow: 0 16px 38px rgba(59,57,53,.045);
}

/* ---------- Seasonal mentoring / quarterly gatherings ---------- */
.sa-first-chair-page .sa-fc-support {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-first-chair-page .sa-fc-support-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
  margin-inline: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.4rem);
}

.sa-first-chair-page .sa-fc-support-grid > .wp-block-column {
  align-self: start !important;
  height: auto !important;
}

.sa-first-chair-page .sa-fc-support-card {
  height: auto !important;
  min-height: 0;
  padding: clamp(2rem, 4vw, 3rem);
  border: 1px solid rgba(63,87,67,.10);
  border-radius: 1.3rem;
  background: rgba(255,253,248,.85);
  box-shadow: 0 12px 30px rgba(59,57,53,.035);
}

.sa-first-chair-page .sa-fc-support-list li {
  margin-top: .75rem;
  line-height: 1.55;
}

.sa-first-chair-page .sa-fc-gathering-art {
  min-height: 22rem;
  border-radius: 2.6rem 1.3rem 2.6rem 1.3rem;
  box-shadow: 0 16px 38px rgba(59,57,53,.045);
}

/* ---------- Status ---------- */
.sa-first-chair-page .sa-fc-status {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-first-chair-page .sa-fc-status-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.06fr) minmax(18rem, .94fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-first-chair-page .sa-fc-status-panel {
  max-width: 39rem;
  padding: clamp(2rem, 4vw, 3rem);
  border: 1px solid rgba(63,87,67,.10);
  border-radius: 1.3rem;
  background: rgba(255,253,248,.85);
  box-shadow: 0 12px 30px rgba(59,57,53,.035);
}

.sa-first-chair-page .sa-fc-status-points li {
  margin-top: .75rem;
  line-height: 1.55;
}

.sa-first-chair-page .sa-fc-status-art {
  min-height: clamp(21rem, 31vw, 27rem);
  border-radius: 2.6rem 1.3rem 2.6rem 1.3rem;
  box-shadow: 0 16px 38px rgba(59,57,53,.045);
}

/* ---------- FAQ ---------- */
.sa-first-chair-page .sa-fc-faq {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-first-chair-page .sa-fc-faq > .sa-fc-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 60rem);
  max-width: 60rem;
}

.sa-first-chair-page .sa-fc-faq .sa-faq-item {
  margin-top: .8rem;
  overflow: hidden;
  border: 1px solid rgba(63,87,67,.11);
  border-radius: 1rem;
  background: rgba(255,253,248,.85);
  box-shadow: 0 8px 22px rgba(59,57,53,.03);
}

.sa-first-chair-page .sa-fc-faq .sa-faq-item summary {
  padding: 1.05rem 3rem 1.05rem 1.15rem;
}

/* ---------- Final invitation ---------- */
.sa-first-chair-page .sa-fc-invitation {
  padding-top: clamp(4rem, 7vw, 5.5rem);
  padding-bottom: clamp(5.5rem, 9vw, 8rem);
}

.sa-first-chair-page .sa-fc-invitation-panel {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 60rem);
  max-width: 60rem;
  padding: clamp(2.4rem, 5vw, 4rem);
  border: 1px solid rgba(123,63,74,.12);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.10), transparent 22%),
    rgba(255,253,248,.86);
  box-shadow: 0 15px 36px rgba(59,57,53,.045);
}

/* Soft page transitions. */
.sa-first-chair-page .sa-fc-hero,
.sa-first-chair-page .sa-fc-meaning,
.sa-first-chair-page .sa-fc-benefits,
.sa-first-chair-page .sa-fc-offer,
.sa-first-chair-page .sa-fc-support,
.sa-first-chair-page .sa-fc-status,
.sa-first-chair-page .sa-fc-faq {
  position: relative;
}

.sa-first-chair-page .sa-fc-hero::after,
.sa-first-chair-page .sa-fc-meaning::after,
.sa-first-chair-page .sa-fc-benefits::after,
.sa-first-chair-page .sa-fc-offer::after,
.sa-first-chair-page .sa-fc-support::after,
.sa-first-chair-page .sa-fc-status::after,
.sa-first-chair-page .sa-fc-faq::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.4rem;
  width: min(40rem, 78vw);
  height: 6rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(169,183,162,.08);
  filter: blur(26px);
  pointer-events: none;
}

@media (max-width: 1000px) {
  .sa-first-chair-page .sa-fc-hero-grid,
  .sa-first-chair-page .sa-fc-meaning-grid,
  .sa-first-chair-page .sa-fc-offer-grid,
  .sa-first-chair-page .sa-fc-support-grid,
  .sa-first-chair-page .sa-fc-status-grid {
    grid-template-columns: 1fr;
  }

  .sa-first-chair-page .sa-fc-benefit-grid {
    max-width: 44rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sa-first-chair-page .sa-fc-hero-art,
  .sa-first-chair-page .sa-fc-meaning-art,
  .sa-first-chair-page .sa-fc-offer-art,
  .sa-first-chair-page .sa-fc-gathering-art,
  .sa-first-chair-page .sa-fc-status-art {
    width: min(100%, 38rem);
    margin-inline: auto;
  }

  .sa-first-chair-page .sa-fc-support-card,
  .sa-first-chair-page .sa-fc-status-panel,
  .sa-first-chair-page .sa-fc-offer-panel,
  .sa-first-chair-page .sa-fc-meaning-copy {
    max-width: 42rem;
  }
}

@media (max-width: 700px) {
  .sa-first-chair-page .sa-fc-benefit-grid {
    grid-template-columns: 1fr;
  }

  .sa-first-chair-page .sa-fc-benefit-card {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .sa-first-chair-page .sa-fc-hero,
  .sa-first-chair-page .sa-fc-meaning,
  .sa-first-chair-page .sa-fc-benefits,
  .sa-first-chair-page .sa-fc-offer,
  .sa-first-chair-page .sa-fc-support,
  .sa-first-chair-page .sa-fc-status,
  .sa-first-chair-page .sa-fc-faq,
  .sa-first-chair-page .sa-fc-invitation {
    padding-block: 3.8rem;
  }

  .sa-first-chair-page .sa-fc-hero h1 {
    font-size: clamp(1.8rem, 1.5rem + 1.8vw, 2.25rem) !important;
  }

  .sa-first-chair-page .sa-fc-hero-art,
  .sa-first-chair-page .sa-fc-meaning-art,
  .sa-first-chair-page .sa-fc-offer-art,
  .sa-first-chair-page .sa-fc-gathering-art,
  .sa-first-chair-page .sa-fc-status-art {
    min-height: 20rem;
    border-radius: 1.35rem;
  }

  .sa-first-chair-page .sa-fc-benefit-card,
  .sa-first-chair-page .sa-fc-offer-panel,
  .sa-first-chair-page .sa-fc-support-card,
  .sa-first-chair-page .sa-fc-status-panel,
  .sa-first-chair-page .sa-fc-invitation-panel {
    padding: 1.5rem;
    border-radius: 1.15rem;
  }
}


/* ==========================================================
   v0.11.7 — First Chair final refinements
   ========================================================== */

/* Give the hero title a little more room so it breaks less. */
.sa-first-chair-page .sa-fc-hero h1 {
  max-width: 16ch;
}

/* Separate the 10 and 12 so the founding offer reads instantly. */
.sa-first-chair-page .sa-fc-offer-art::before {
  left: 12%;
  top: 25%;
  font-size: clamp(5.5rem, 11vw, 8.5rem);
}

.sa-first-chair-page .sa-fc-offer-art::after {
  right: 9%;
  bottom: 17%;
  font-size: clamp(5.5rem, 11vw, 8.5rem);
}

@media (max-width: 1000px) {
  .sa-first-chair-page .sa-fc-hero h1 {
    max-width: 18ch;
  }

  .sa-first-chair-page .sa-fc-offer-art::before {
    left: 16%;
  }

  .sa-first-chair-page .sa-fc-offer-art::after {
    right: 14%;
  }
}

@media (max-width: 640px) {
  .sa-first-chair-page .sa-fc-hero h1 {
    max-width: 100%;
  }

  .sa-first-chair-page .sa-fc-offer-art::before,
  .sa-first-chair-page .sa-fc-offer-art::after {
    font-size: clamp(4.6rem, 22vw, 6.5rem);
  }
}


/* ==========================================================
   v0.11.8 — About Sit Awhile full design pass
   Content and links remain unchanged.
   ========================================================== */

.sa-about-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 6%, rgba(201,169,110,.15), transparent 22rem),
    radial-gradient(circle at 8% 27%, rgba(169,183,162,.13), transparent 24rem),
    radial-gradient(circle at 91% 54%, rgba(183,122,82,.055), transparent 22rem),
    radial-gradient(circle at 9% 81%, rgba(169,183,162,.11), transparent 23rem),
    linear-gradient(
      180deg,
      #F8F2E8 0%,
      #F4EDE1 20%,
      #F7F1E7 42%,
      #ECE5D9 63%,
      #F4EDE3 82%,
      #EEE7DC 100%
    );
}

.sa-about-page .sa-about-hero,
.sa-about-page .sa-about-story,
.sa-about-page .sa-about-mission,
.sa-about-page .sa-about-values,
.sa-about-page .sa-about-founder,
.sa-about-page .sa-about-difference,
.sa-about-page .sa-about-faq,
.sa-about-page .sa-about-invitation {
  background: transparent !important;
}

/* ---------- Hero ---------- */
.sa-about-page .sa-about-hero {
  padding-top: clamp(5rem, 9vw, 7.5rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-about-page .sa-about-hero-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 72rem);
  max-width: 72rem;
}

.sa-about-page .sa-about-hero-grid {
  grid-template-columns: minmax(0, 1.14fr) minmax(18rem, .86fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-about-page .sa-about-hero-copy {
  max-width: 45rem;
}

.sa-about-page .sa-about-hero h1 {
  max-width: 15ch;
  font-size: clamp(1.95rem, 1.6rem + 1.35vw, 3rem) !important;
  line-height: 1.07;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.sa-about-page .sa-about-hero .has-large-font-size {
  max-width: 42rem;
  line-height: 1.66;
}

.sa-about-page .sa-about-art {
  min-height: clamp(23rem, 35vw, 31rem);
  border-radius: 3rem 1.4rem 3rem 1.4rem;
  box-shadow: 0 20px 48px rgba(59,57,53,.07);
}

.sa-about-page .sa-about-art-note {
  right: 6%;
  bottom: 6%;
  width: min(80%, 22rem);
  padding: 1rem 1.2rem;
}

/* ---------- Story ---------- */
.sa-about-page .sa-about-story {
  padding-top: clamp(3.5rem, 6vw, 5rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-about-page .sa-about-story-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
}

.sa-about-page .sa-about-story-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .92fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-about-page .sa-about-story-copy {
  max-width: 40rem;
}

.sa-about-page .sa-about-story-copy p {
  font-size: var(--sa-type-body);
  line-height: 1.75;
}

.sa-about-page .sa-about-story-art {
  min-height: clamp(21rem, 31vw, 27rem);
  border-radius: 2.6rem 1.3rem 2.6rem 1.3rem;
  box-shadow: 0 16px 38px rgba(59,57,53,.045);
}

/* ---------- Mission / vision ---------- */
.sa-about-page .sa-about-mission {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

.sa-about-page .sa-about-section-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
}

.sa-about-page .sa-purpose-grid {
  max-width: 62rem;
  margin: clamp(2.4rem, 4vw, 3.5rem) auto 0;
  gap: clamp(1.3rem, 3vw, 2.2rem);
  align-items: start;
}

.sa-about-page .sa-purpose-grid > .wp-block-column {
  align-self: start !important;
  height: auto !important;
}

.sa-about-page .sa-purpose-card {
  height: auto !important;
  min-height: 15rem;
  padding: clamp(1.8rem, 3.5vw, 2.6rem);
  border: 1px solid rgba(63,87,67,.11);
  border-radius: 1.35rem;
  background: rgba(255,253,248,.86);
  box-shadow: 0 13px 32px rgba(59,57,53,.04);
}

.sa-about-page .sa-purpose-statement {
  font-size: clamp(1.08rem, 1rem + .32vw, 1.32rem);
  line-height: 1.58;
}

/* ---------- Values ---------- */
.sa-about-page .sa-about-values {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

.sa-about-page .sa-values-list {
  max-width: 66rem;
  margin: clamp(2.4rem, 4vw, 3.5rem) auto 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(.8rem, 1.7vw, 1.15rem);
}

.sa-about-page .sa-value-pill {
  min-height: 6.5rem;
  padding: .9rem;
  border-radius: 1rem;
  background: rgba(255,253,248,.86);
  box-shadow: 0 9px 24px rgba(59,57,53,.035);
}

/* ---------- Founder ---------- */
.sa-about-page .sa-about-founder {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-about-page .sa-about-founder-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
}

.sa-about-page .sa-about-founder-grid {
  grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.1fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-about-page .sa-about-founder-portrait {
  min-height: clamp(23rem, 34vw, 30rem);
  max-width: 30rem;
  margin-inline: auto;
  border-radius: 42% 42% 1.5rem 1.5rem;
  box-shadow: 0 18px 42px rgba(59,57,53,.06);
}

.sa-about-page .sa-about-founder-copy {
  max-width: 40rem;
}

.sa-about-page .sa-about-founder-copy p {
  font-size: var(--sa-type-body);
  line-height: 1.72;
}

/* ---------- What makes us different ---------- */
.sa-about-page .sa-about-difference {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

.sa-about-page .sa-difference-grid {
  max-width: 66rem;
  margin: clamp(2.4rem, 4vw, 3.5rem) auto 0;
  gap: clamp(1rem, 2.2vw, 1.5rem);
}

.sa-about-page .sa-difference-grid > .wp-block-column {
  align-self: start !important;
  height: auto !important;
}

.sa-about-page .sa-difference-card {
  height: auto !important;
  min-height: 12.5rem;
  padding: 1.5rem;
  border: 1px solid rgba(63,87,67,.10);
  border-top: 2px solid rgba(123,63,74,.42);
  border-radius: 1.1rem;
  background: rgba(255,253,248,.82);
  box-shadow: 0 9px 24px rgba(59,57,53,.03);
}

.sa-about-page .sa-difference-card h3 {
  margin-bottom: .65rem;
}

.sa-about-page .sa-difference-card p:last-child {
  margin-bottom: 0;
  line-height: 1.6;
}

/* ---------- FAQ ---------- */
.sa-about-page .sa-about-faq {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-about-page .sa-about-faq .sa-faq-item {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 58rem);
  margin-top: .8rem;
  overflow: hidden;
  border: 1px solid rgba(63,87,67,.11);
  border-radius: 1rem;
  background: rgba(255,253,248,.85);
  box-shadow: 0 8px 22px rgba(59,57,53,.03);
}

.sa-about-page .sa-about-faq .sa-faq-item summary {
  padding: 1.05rem 3rem 1.05rem 1.15rem;
}

/* ---------- Final invitation ---------- */
.sa-about-page .sa-about-invitation {
  padding-top: clamp(4rem, 7vw, 5.5rem);
  padding-bottom: clamp(5.5rem, 9vw, 8rem);
}

.sa-about-page .sa-about-invitation-panel {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 60rem);
  max-width: 60rem;
  padding: clamp(2.4rem, 5vw, 4rem);
  border: 1px solid rgba(123,63,74,.12);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.10), transparent 22%),
    rgba(255,253,248,.86);
  box-shadow: 0 15px 36px rgba(59,57,53,.045);
}

/* Soft transitions. */
.sa-about-page .sa-about-hero,
.sa-about-page .sa-about-story,
.sa-about-page .sa-about-mission,
.sa-about-page .sa-about-values,
.sa-about-page .sa-about-founder,
.sa-about-page .sa-about-difference,
.sa-about-page .sa-about-faq {
  position: relative;
}

.sa-about-page .sa-about-hero::after,
.sa-about-page .sa-about-story::after,
.sa-about-page .sa-about-mission::after,
.sa-about-page .sa-about-values::after,
.sa-about-page .sa-about-founder::after,
.sa-about-page .sa-about-difference::after,
.sa-about-page .sa-about-faq::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.4rem;
  width: min(40rem, 78vw);
  height: 6rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(169,183,162,.08);
  filter: blur(26px);
  pointer-events: none;
}

@media (max-width: 1000px) {
  .sa-about-page .sa-about-hero-grid,
  .sa-about-page .sa-about-story-grid,
  .sa-about-page .sa-about-founder-grid {
    grid-template-columns: 1fr;
  }

  .sa-about-page .sa-about-art,
  .sa-about-page .sa-about-story-art,
  .sa-about-page .sa-about-founder-portrait {
    width: min(100%, 38rem);
    margin-inline: auto;
  }

  .sa-about-page .sa-values-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sa-about-page .sa-difference-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sa-about-page .sa-difference-grid > .wp-block-column,
  .sa-about-page .sa-difference-grid > .wp-block-column:nth-child(4),
  .sa-about-page .sa-difference-grid > .wp-block-column:nth-child(5) {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .sa-about-page .sa-purpose-grid,
  .sa-about-page .sa-values-list,
  .sa-about-page .sa-difference-grid {
    grid-template-columns: 1fr;
  }

  .sa-about-page .sa-about-hero h1 {
    max-width: 100%;
    font-size: clamp(1.8rem, 1.5rem + 1.8vw, 2.25rem) !important;
  }

  .sa-about-page .sa-about-art,
  .sa-about-page .sa-about-story-art,
  .sa-about-page .sa-about-founder-portrait {
    min-height: 20rem;
    border-radius: 1.35rem;
  }

  .sa-about-page .sa-purpose-card,
  .sa-about-page .sa-difference-card,
  .sa-about-page .sa-about-invitation-panel {
    padding: 1.5rem;
    border-radius: 1.15rem;
  }

  .sa-about-page .sa-purpose-card,
  .sa-about-page .sa-difference-card {
    min-height: 0;
  }

  .sa-about-page .sa-value-pill {
    min-height: 5rem;
  }
}


/* ==========================================================
   v0.11.9 — About hero heading refinement only
   ========================================================== */

.sa-about-page .sa-about-hero-grid {
  grid-template-columns: minmax(0, 1.28fr) minmax(17rem, .72fr);
  gap: clamp(2rem, 5vw, 4.5rem);
}

.sa-about-page .sa-about-hero-copy {
  max-width: 49rem;
}

.sa-about-page .sa-about-hero h1 {
  width: min(100%, 30rem);
  max-width: none;
  font-size: clamp(1.85rem, 1.52rem + 1.12vw, 2.7rem) !important;
  line-height: 1.08;
  text-wrap: balance;
}

@media (max-width: 1000px) {
  .sa-about-page .sa-about-hero-grid {
    grid-template-columns: 1fr;
  }

  .sa-about-page .sa-about-hero h1 {
    width: min(100%, 32rem);
  }
}

@media (max-width: 680px) {
  .sa-about-page .sa-about-hero h1 {
    width: 100%;
    font-size: clamp(1.75rem, 1.5rem + 1.6vw, 2.15rem) !important;
    text-wrap: pretty;
  }
}


/* ==========================================================
   v0.12.0 — Meet Your Host full design pass
   Content and links remain unchanged.
   ========================================================== */

.sa-host-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 6%, rgba(201,169,110,.15), transparent 22rem),
    radial-gradient(circle at 8% 26%, rgba(169,183,162,.13), transparent 24rem),
    radial-gradient(circle at 91% 54%, rgba(183,122,82,.055), transparent 22rem),
    radial-gradient(circle at 9% 81%, rgba(169,183,162,.11), transparent 23rem),
    linear-gradient(
      180deg,
      #F8F2E8 0%,
      #F4EDE1 20%,
      #F7F1E7 42%,
      #ECE5D9 63%,
      #F4EDE3 82%,
      #EEE7DC 100%
    );
}

.sa-host-page .sa-host-hero,
.sa-host-page .sa-host-welcome,
.sa-host-page .sa-host-role,
.sa-host-page .sa-host-approach,
.sa-host-page .sa-host-spaces,
.sa-host-page .sa-host-experience,
.sa-host-page .sa-host-note,
.sa-host-page .sa-host-invitation {
  background: transparent !important;
}

.sa-host-page .sa-host-inner {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 70rem);
  max-width: 70rem;
  margin-inline: auto;
}

/* ---------- Hero ---------- */
.sa-host-page .sa-host-hero {
  padding-top: clamp(5rem, 9vw, 7.5rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-host-page .sa-host-hero-grid {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 72rem);
  max-width: 72rem;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1.18fr) minmax(18rem, .82fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-host-page .sa-host-hero-copy {
  max-width: 47rem;
}

.sa-host-page .sa-host-hero h1 {
  width: min(100%, 32rem);
  max-width: none;
  font-size: clamp(1.95rem, 1.6rem + 1.35vw, 3rem) !important;
  line-height: 1.07;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.sa-host-page .sa-host-hero-copy .has-large-font-size,
.sa-host-page .sa-host-hero-copy p {
  max-width: 42rem;
  line-height: 1.68;
}

.sa-host-page .sa-host-portrait {
  min-height: clamp(23rem, 35vw, 31rem);
  max-width: 31rem;
  margin-inline: auto;
  border-radius: 42% 42% 1.5rem 1.5rem;
  box-shadow: 0 20px 48px rgba(59,57,53,.07);
}

.sa-host-page .sa-host-portrait-note {
  width: min(88%, 22rem);
  padding: .9rem 1.05rem;
  border-radius: .9rem;
  background: rgba(255,253,248,.92);
}

/* ---------- Personal welcome ---------- */
.sa-host-page .sa-host-welcome {
  padding-top: clamp(3.5rem, 6vw, 5rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-host-page .sa-host-welcome-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(18rem, .88fr);
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
}

.sa-host-page .sa-host-letter {
  max-width: 41rem;
  padding: clamp(2rem, 4vw, 3rem);
  border: 1px solid rgba(63,87,67,.10);
  border-left: 3px solid rgba(201,169,110,.70);
  border-radius: 0 1.3rem 1.3rem 0;
  background: rgba(255,253,248,.86);
  box-shadow: 0 14px 34px rgba(59,57,53,.04);
}

.sa-host-page .sa-host-letter::before {
  opacity: .08;
}

.sa-host-page .sa-host-letter p {
  font-size: var(--sa-type-body);
  line-height: 1.75;
}

.sa-host-page .sa-host-signature {
  margin-top: 1.35rem;
}

.sa-host-page .sa-host-welcome-art {
  min-height: clamp(21rem, 31vw, 27rem);
  border-radius: 2.6rem 1.3rem 2.6rem 1.3rem;
  box-shadow: 0 16px 38px rgba(59,57,53,.045);
}

/* ---------- Founder / vision holder ---------- */
.sa-host-page .sa-host-role {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-host-page .sa-host-role-grid {
  grid-template-columns: minmax(18rem, .88fr) minmax(0, 1.12fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-host-page .sa-host-role-art {
  min-height: clamp(21rem, 31vw, 27rem);
  border-radius: 2.6rem 1.3rem 2.6rem 1.3rem;
  box-shadow: 0 16px 38px rgba(59,57,53,.045);
}

.sa-host-page .sa-host-role-copy {
  max-width: 41rem;
}

.sa-host-page .sa-host-role-copy p {
  font-size: var(--sa-type-body);
  line-height: 1.72;
}

.sa-host-page .sa-host-responsibilities {
  margin-top: 1.45rem;
}

.sa-host-page .sa-host-responsibilities li {
  margin-top: .72rem;
  line-height: 1.52;
}

/* ---------- Gentle way of guiding ---------- */
.sa-host-page .sa-host-approach {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

.sa-host-page .sa-host-principles {
  max-width: 64rem;
  margin: clamp(2.4rem, 4vw, 3.5rem) auto 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.1rem, 2.5vw, 1.8rem);
}

.sa-host-page .sa-host-principles > .wp-block-column {
  align-self: start !important;
  height: auto !important;
}

.sa-host-page .sa-host-principle {
  height: auto !important;
  min-height: 13rem;
  padding: clamp(1.5rem, 2.8vw, 2rem);
  border: 1px solid rgba(63,87,67,.10);
  border-top: 2px solid rgba(123,63,74,.40);
  border-radius: 1.2rem;
  background: rgba(255,253,248,.85);
  box-shadow: 0 10px 26px rgba(59,57,53,.035);
}

.sa-host-page .sa-host-principle-number {
  margin-bottom: 1.3rem;
}

.sa-host-page .sa-host-principle h3 {
  margin-bottom: .65rem;
}

/* ---------- How each space is held ---------- */
.sa-host-page .sa-host-spaces {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(5rem, 8vw, 7rem);
}

.sa-host-page .sa-host-space-grid {
  max-width: 64rem;
  margin: clamp(2.4rem, 4vw, 3.5rem) auto 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.2rem, 2.8vw, 2rem);
}

.sa-host-page .sa-host-space-grid > .wp-block-column {
  align-self: start !important;
  height: auto !important;
}

.sa-host-page .sa-host-space-card {
  height: auto !important;
  min-height: 12rem;
  padding: clamp(1.6rem, 3vw, 2.2rem);
  border: 1px solid rgba(63,87,67,.10);
  border-left: 2px solid rgba(123,63,74,.42);
  border-radius: 0 1.15rem 1.15rem 0;
  background: rgba(255,253,248,.84);
  box-shadow: 0 10px 26px rgba(59,57,53,.03);
}

.sa-host-page .sa-host-space-card h3 {
  margin-bottom: .65rem;
}

.sa-host-page .sa-host-space-card p:last-child {
  margin-bottom: 0;
  line-height: 1.62;
}

/* ---------- Preparation / experience ---------- */
.sa-host-page .sa-host-experience {
  padding-top: clamp(4.5rem, 7vw, 6rem);
  padding-bottom: clamp(4.5rem, 7vw, 6rem);
}

.sa-host-page .sa-host-experience-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(18rem, .88fr);
  gap: clamp(2.5rem, 6vw, 5rem);
}

.sa-host-page .sa-host-experience-copy {
  max-width: 41rem;
}

.sa-host-page .sa-host-experience-copy p {
  font-size: var(--sa-type-body);
  line-height: 1.72;
}

.sa-host-page .sa-host-boundary {
  margin-top: 1.4rem;
  padding: 1.05rem 1.2rem;
  border-radius: .9rem;
  background: rgba(169,183,162,.15);
}

.sa-host-page .sa-host-experience-art {
  min-height: clamp(21rem, 31vw, 27rem);
  border-radius: 2.6rem 1.3rem 2.6rem 1.3rem;
  box-shadow: 0 16px 38px rgba(59,57,53,.045);
}

/* ---------- Final note ---------- */
.sa-host-page .sa-host-note {
  padding-top: clamp(4rem, 7vw, 5.5rem);
  padding-bottom: clamp(4rem, 7vw, 5.5rem);
}

.sa-host-page .sa-host-note-card {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 58rem);
  max-width: 58rem;
  margin-inline: auto;
  padding: clamp(2.4rem, 5vw, 4rem);
  border: 1px solid rgba(63,87,67,.11);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.10), transparent 22%),
    rgba(255,253,248,.86);
  box-shadow: 0 15px 36px rgba(59,57,53,.045);
}

.sa-host-page .sa-host-note-card p {
  max-width: 48rem;
  margin-inline: auto;
  line-height: 1.7;
}

/* ---------- Invitation ---------- */
.sa-host-page .sa-host-invitation {
  padding-top: clamp(4rem, 7vw, 5.5rem);
  padding-bottom: clamp(5.5rem, 9vw, 8rem);
}

.sa-host-page .sa-host-invitation-panel {
  width: min(calc(100% - (var(--sa-page-gutter) * 2)), 60rem);
  max-width: 60rem;
  padding: clamp(2.4rem, 5vw, 4rem);
  border: 1px solid rgba(123,63,74,.12);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 90% 10%, rgba(201,169,110,.10), transparent 22%),
    rgba(255,253,248,.86);
  box-shadow: 0 15px 36px rgba(59,57,53,.045);
}

/* Soft transitions across the page. */
.sa-host-page .sa-host-hero,
.sa-host-page .sa-host-welcome,
.sa-host-page .sa-host-role,
.sa-host-page .sa-host-approach,
.sa-host-page .sa-host-spaces,
.sa-host-page .sa-host-experience,
.sa-host-page .sa-host-note {
  position: relative;
}

.sa-host-page .sa-host-hero::after,
.sa-host-page .sa-host-welcome::after,
.sa-host-page .sa-host-role::after,
.sa-host-page .sa-host-approach::after,
.sa-host-page .sa-host-spaces::after,
.sa-host-page .sa-host-experience::after,
.sa-host-page .sa-host-note::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2.4rem;
  width: min(40rem, 78vw);
  height: 6rem;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(169,183,162,.08);
  filter: blur(26px);
  pointer-events: none;
}

@media (max-width: 1000px) {
  .sa-host-page .sa-host-hero-grid,
  .sa-host-page .sa-host-welcome-grid,
  .sa-host-page .sa-host-role-grid,
  .sa-host-page .sa-host-experience-grid {
    grid-template-columns: 1fr;
  }

  .sa-host-page .sa-host-portrait,
  .sa-host-page .sa-host-welcome-art,
  .sa-host-page .sa-host-role-art,
  .sa-host-page .sa-host-experience-art {
    width: min(100%, 38rem);
    margin-inline: auto;
  }

  .sa-host-page .sa-host-principles {
    max-width: 44rem;
    grid-template-columns: 1fr;
  }

  .sa-host-page .sa-host-space-grid {
    max-width: 44rem;
  }

  .sa-host-page .sa-host-letter,
  .sa-host-page .sa-host-role-copy,
  .sa-host-page .sa-host-experience-copy {
    max-width: 42rem;
  }
}

@media (max-width: 700px) {
  .sa-host-page .sa-host-space-grid {
    grid-template-columns: 1fr;
  }

  .sa-host-page .sa-host-principle,
  .sa-host-page .sa-host-space-card {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .sa-host-page .sa-host-hero,
  .sa-host-page .sa-host-welcome,
  .sa-host-page .sa-host-role,
  .sa-host-page .sa-host-approach,
  .sa-host-page .sa-host-spaces,
  .sa-host-page .sa-host-experience,
  .sa-host-page .sa-host-note,
  .sa-host-page .sa-host-invitation {
    padding-block: 3.8rem;
  }

  .sa-host-page .sa-host-hero h1 {
    width: 100%;
    font-size: clamp(1.8rem, 1.5rem + 1.8vw, 2.25rem) !important;
    text-wrap: pretty;
  }

  .sa-host-page .sa-host-portrait,
  .sa-host-page .sa-host-welcome-art,
  .sa-host-page .sa-host-role-art,
  .sa-host-page .sa-host-experience-art {
    min-height: 20rem;
    border-radius: 1.35rem;
  }

  .sa-host-page .sa-host-letter,
  .sa-host-page .sa-host-principle,
  .sa-host-page .sa-host-space-card,
  .sa-host-page .sa-host-note-card,
  .sa-host-page .sa-host-invitation-panel {
    padding: 1.5rem;
    border-radius: 1.15rem;
  }

  .sa-host-page .sa-host-letter,
  .sa-host-page .sa-host-space-card {
    border-left-width: 2px;
  }
}


/* v0.12.1 — optional images selected through Sit Awhile Page Editor */
.sa-home-editable-art-frame {
  width: 100%;
  height: 100%;
  margin: 0;
}

.sa-home-editable-art-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  border-radius: inherit;
}

.sa-workshop-art:has(.sa-home-editable-art-image)::before,
.sa-workshop-art:has(.sa-home-editable-art-image)::after,
.sa-founder-art:has(.sa-home-editable-art-image)::before,
.sa-founder-art:has(.sa-home-editable-art-image)::after {
  display: none;
}


/* 0.12.2 — Page Editor colour / extra paragraphs */
.sa-pe-live-has-paragraphs {
  display: block;
}

.sa-pe-live-paragraph {
  display: block;
}

.sa-pe-live-paragraph + .sa-pe-live-paragraph {
  margin-top: 1em;
}


/* 0.12.3 — independent paragraph blocks added through Page Editor */
.sa-pe-added-paragraph {
  display: block;
  margin-top: 1em;
  margin-bottom: 0;
}


/* ==========================================================
   0.12.5 — Page Editor replacement images auto-fit
   ========================================================== */

/* Optional Homepage workshop/founder replacement images. */
.sa-home-editable-art-frame {
  display: grid;
  place-items: center;
  background: #f7f1e7;
  overflow: hidden;
}

.sa-home-editable-art-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain !important;
  object-position: center center !important;
}

/*
 * Only a custom Homepage hero replacement uses auto-fit.
 * The original locked saved-seat hero image keeps its existing treatment.
 */
.sa-hero-photo-frame.sa-home-image-auto-fit {
  display: grid;
  place-items: center;
  background: #f7f1e7;
  overflow: hidden;
}

.sa-hero-photo-image.sa-home-auto-fit-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain !important;
  object-position: center center !important;
}


/* ==========================================================
   0.12.6 — Homepage frame settings mirror Page Editor
   ========================================================== */

.sa-hero-photo-frame,
.sa-home-editable-art-frame,
.sa-hero-photo-image,
.sa-home-editable-art-image {
  border-radius: inherit !important;
}

.sa-hero-photo,
.sa-workshop-art,
.sa-founder-art {
  max-width: 100%;
  overflow: hidden;
}

.sa-hero-photo-frame,
.sa-home-editable-art-frame {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
}


/* ==========================================================
   0.12.7 — Homepage frame fit matches Page Editor
   ========================================================== */

.sa-hero-photo-image.sa-home-auto-fit-image,
.sa-home-editable-art-image {
  object-fit: var(--sa-frame-fit, cover) !important;
}


/* 0.12.8 — optional Page Editor image captions */
.sa-home-image-caption {
  width: min(100%, 620px);
  margin: 8px auto 0;
  color: #6f6b64;
  font-size: .78rem;
  line-height: 1.45;
  text-align: center;
}


/* ==========================================================
   0.12.9 — block headings use full width of their block
   ========================================================== */

/*
 * Block/section headings should occupy the full width supplied by their
 * card, column or section. This removes older heading-only max-width rules
 * without changing the width of the parent layout itself.
 *
 * H1 hero/page titles are excluded so approved hero wrapping is preserved.
 */
:where(
  .sa-home-flow,
  .sa-about-page,
  .sa-host-page,
  .sa-membership-page,
  .sa-first-chair-page,
  .sa-workshops-page,
  .sa-workshop-september,
  .sa-workshop-october,
  .sa-workshop-november,
  .sa-waiting-page,
  .sa-faq-page,
  .sa-contact-page
) :is(h2, h3) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}


/* ==========================================================
   0.12.10 — exact full-width block heading overrides
   ========================================================== */

/*
 * Final explicit overrides for older section-specific heading caps.
 * Parent card/column widths remain untouched; only the heading itself
 * expands to all available width inside that block.
 */
.sa-wd-body-copy > h2,
.sa-wd-body-copy > h3,
.sa-wd-explore > h2,
.sa-wd-explore > h3,
.sa-wd-member-panel > h2,
.sa-wd-member-panel > h3,
.sa-wd-cta-panel > h2,
.sa-wd-cta-panel > h3,
.sa-ws-member-card > h2,
.sa-ws-member-card > h3,
.sa-ws-card > h2,
.sa-ws-card > h3 {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Most visible conflict on the workshop detail page. */
:is(
  .sa-workshop-september,
  .sa-workshop-october,
  .sa-workshop-november
) .sa-wd-body-copy > h2 {
  max-width: none !important;
  width: 100% !important;
}


/* ==========================================================
   0.12.11 — FINAL site-wide full-width block headings
   ========================================================== */

/*
 * A full stylesheet audit found legacy max-width caps on headings on most
 * page families (including the workshop hero's 11ch title cap).
 *
 * This final rule deliberately includes H1 as well as H2/H3.
 * It does NOT change the width of the parent column/card/section.
 */
body :where(
  .sa-home-flow,
  .sa-hero,
  .sa-about-page,
  .sa-host-page,
  .sa-membership-page,
  .sa-first-chair-page,
  .sa-workshops-page,
  .sa-workshop-september,
  .sa-workshop-october,
  .sa-workshop-november,
  .sa-waiting-page,
  .sa-faq-page,
  .sa-contact-page
) :is(h1, h2, h3) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Homepage's custom split-line hero remains visually intact, but its H1 box
   itself is no longer artificially narrowed. */
body .sa-hero .sa-hero-heading {
  width: 100% !important;
  max-width: none !important;
}

/* Strongest safeguards for the page families that historically had H1 caps. */
body :is(
  .sa-about-page .sa-about-hero,
  .sa-host-page .sa-host-hero,
  .sa-membership-page .sa-member-hero,
  .sa-first-chair-page .sa-fc-hero,
  .sa-workshops-page .sa-ws-hero,
  .sa-workshop-september .sa-wd-hero,
  .sa-workshop-october .sa-wd-hero,
  .sa-workshop-november .sa-wd-hero,
  .sa-waiting-page .sa-wait-hero,
  .sa-faq-page .sa-faq-hero,
  .sa-contact-page .sa-contact-hero
) > :is(h1, h2, h3),
body :is(
  .sa-about-page .sa-about-hero,
  .sa-host-page .sa-host-hero,
  .sa-membership-page .sa-member-hero,
  .sa-first-chair-page .sa-fc-hero,
  .sa-workshops-page .sa-ws-hero,
  .sa-workshop-september .sa-wd-hero,
  .sa-workshop-october .sa-wd-hero,
  .sa-workshop-november .sa-wd-hero,
  .sa-waiting-page .sa-wait-hero,
  .sa-faq-page .sa-faq-hero,
  .sa-contact-page .sa-contact-hero
) :is(h1, h2, h3) {
  width: 100% !important;
  max-width: none !important;
}


/* ==========================================================
   0.12.12 — Workshops live hero mirrors Page Editor
   ========================================================== */

/*
 * The Page Editor is the visual reference for this hero.
 * These values mirror the editor's .sa-pe-section / .sa-pe-two-col /
 * .sa-pe-h1 / .sa-pe-lead proportions on desktop.
 */
.sa-workshops-page .sa-ws-hero {
  padding-block: 62px !important;
  padding-inline: clamp(34px, 6vw, 82px) !important;
}

.sa-workshops-page .sa-ws-hero-grid {
  width: min(100%, 84rem) !important;
  max-width: 84rem !important;
  margin-inline: auto !important;
  grid-template-columns: minmax(0, 1.16fr) minmax(300px, .84fr) !important;
  gap: 56px !important;
  align-items: center !important;
}

/* Match Page Editor H1 rather than the larger public-site page-title scale. */
.sa-workshops-page .sa-ws-hero h1 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 8px !important;
  font-size: clamp(25px, 2.7vw, 37px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

/* First hero paragraph = Page Editor lead treatment. */
.sa-workshops-page .sa-ws-hero .has-large-font-size {
  width: 100% !important;
  max-width: none !important;
  margin-top: 0 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* Second paragraph mirrors the normal editable body field. */
.sa-workshops-page .sa-ws-hero-grid > .wp-block-column:first-child > p:not(.sa-eyebrow):not(.has-large-font-size) {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Keep the Page Editor's visual rhythm between the two body paragraphs. */
.sa-workshops-page .sa-ws-hero-grid > .wp-block-column:first-child > .has-large-font-size + p {
  margin-top: 32px !important;
}

/*
 * Image Settings still owns the image frame itself. This only makes the
 * image column behave like the editor column, without forcing a different
 * frame width/height.
 */
.sa-workshops-page .sa-ws-hero-grid > .wp-block-column:last-child {
  display: grid !important;
  justify-items: center !important;
  align-items: center !important;
  min-width: 0 !important;
}

.sa-workshops-page .sa-ws-art {
  max-width: 100% !important;
  margin-inline: auto !important;
}

/* Same responsive switch point as the Page Editor two-column layout. */
@media (max-width: 1050px) {
  .sa-workshops-page .sa-ws-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .sa-workshops-page .sa-ws-hero-grid > .wp-block-column:last-child {
    width: min(100%, 680px) !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 720px) {
  .sa-workshops-page .sa-ws-hero {
    padding: 48px 24px !important;
  }

  .sa-workshops-page .sa-ws-hero h1 {
    font-size: clamp(25px, 8vw, 34px) !important;
  }
}


/* ==========================================================
   0.12.13 — Upcoming Workshop cards use their content height
   ========================================================== */

/*
 * The old grid stretched all three cards to the height of the longest
 * September card, leaving large empty areas in October and November.
 * Each card now finishes naturally after its own button/content, matching
 * the Page Editor behaviour.
 */
.sa-workshops-page .sa-ws-grid {
  align-items: start !important;
}

.sa-workshops-page .sa-ws-grid > .wp-block-column {
  align-self: start !important;
  height: auto !important;
}

.sa-workshops-page .sa-ws-card {
  height: auto !important;
  min-height: 0 !important;
}

/*
 * The base card is a flex column. With natural height, margin-top:auto no
 * longer creates a large spacer; keep a consistent normal gap above buttons.
 */
.sa-workshops-page .sa-ws-card .wp-block-buttons {
  margin-top: 0 !important;
  padding-top: 1.6rem !important;
}


/* ==========================================================
   0.12.14 — Workshops live buttons mirror Page Editor
   ========================================================== */

/*
 * Page Editor reference:
 * - min-width: 145px
 * - padding: 9px 15px
 * - 1px Sit Awhile green border
 * - fully rounded pill
 * - solid Sit Awhile green
 * - white 12px / 750 text
 *
 * Apply that same treatment to all actionable buttons on the live
 * Workshops overview page, including buttons whose Gutenberg block was
 * originally saved with the outline style.
 */
.sa-workshops-page :is(
  .sa-ws-card,
  .sa-ws-cta-panel
) .wp-block-button {
  width: auto !important;
  margin: 0 !important;
}

.sa-workshops-page :is(
  .sa-ws-card,
  .sa-ws-cta-panel
) .wp-block-button__link,
.sa-workshops-page :is(
  .sa-ws-card,
  .sa-ws-cta-panel
) .wp-block-button.is-style-outline .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 145px !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  padding: 9px 15px !important;
  border: 1px solid #3F5743 !important;
  border-radius: 999px !important;
  background: #3F5743 !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  transition:
    background-color .16s ease,
    border-color .16s ease,
    transform .16s ease !important;
}

.sa-workshops-page :is(
  .sa-ws-card,
  .sa-ws-cta-panel
) .wp-block-button__link:hover,
.sa-workshops-page :is(
  .sa-ws-card,
  .sa-ws-cta-panel
) .wp-block-button__link:focus-visible {
  border-color: #344A38 !important;
  background: #344A38 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
}

/* Match the Page Editor's normal button spacing. */
.sa-workshops-page .sa-ws-card .wp-block-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  margin-top: 0 !important;
  padding-top: 1.6rem !important;
}

.sa-workshops-page .sa-ws-cta-panel .wp-block-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
}

/*
 * Older responsive rules made workshop buttons 100% wide.
 * The Page Editor keeps compact pill buttons, so preserve that treatment
 * on the live page at smaller sizes too.
 */
@media (max-width: 781px) {
  .sa-workshops-page :is(
    .sa-ws-card,
    .sa-ws-cta-panel
  ) .wp-block-button,
  .sa-workshops-page :is(
    .sa-ws-card,
    .sa-ws-cta-panel
  ) .wp-block-button__link {
    width: auto !important;
  }
}


/* ==========================================================
   0.12.15 — Workshops button SIZE mirrors Page Editor
   ========================================================== */

/*
 * v0.12.14 matched colour, shape and weight, but the live buttons were
 * still noticeably smaller than the Page Editor controls.
 *
 * Workshop card buttons now use a larger fixed visual footprint:
 * - 240px wide
 * - 46px minimum height
 * - larger horizontal/vertical padding
 * - 14px bold text
 */
.sa-workshops-page .sa-ws-card .wp-block-buttons {
  width: 100% !important;
}

.sa-workshops-page .sa-ws-card .wp-block-button {
  width: auto !important;
  max-width: 100% !important;
}

.sa-workshops-page .sa-ws-card .wp-block-button__link,
.sa-workshops-page .sa-ws-card .wp-block-button.is-style-outline .wp-block-button__link {
  width: 240px !important;
  max-width: 100% !important;
  min-width: 240px !important;
  min-height: 46px !important;
  padding: 12px 20px !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
}

/* The lower invitation buttons should also feel like the Page Editor,
   but remain comfortable as a two-button group. */
.sa-workshops-page .sa-ws-cta-panel .wp-block-button__link,
.sa-workshops-page .sa-ws-cta-panel .wp-block-button.is-style-outline .wp-block-button__link {
  width: 210px !important;
  max-width: 100% !important;
  min-width: 210px !important;
  min-height: 46px !important;
  padding: 12px 20px !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
}

/* Keep the same dark-green Page Editor treatment from v0.12.14. */
.sa-workshops-page :is(
  .sa-ws-card,
  .sa-ws-cta-panel
) .wp-block-button__link,
.sa-workshops-page :is(
  .sa-ws-card,
  .sa-ws-cta-panel
) .wp-block-button.is-style-outline .wp-block-button__link {
  border: 1px solid #3F5743 !important;
  border-radius: 999px !important;
  background: #3F5743 !important;
  color: #FFFFFF !important;
}

/* On narrow screens, keep them large but never overflow the card. */
@media (max-width: 520px) {
  .sa-workshops-page .sa-ws-card .wp-block-button,
  .sa-workshops-page .sa-ws-card .wp-block-button__link,
  .sa-workshops-page .sa-ws-cta-panel .wp-block-button,
  .sa-workshops-page .sa-ws-cta-panel .wp-block-button__link {
    width: 100% !important;
    min-width: 0 !important;
  }
}
