/*
Theme Name: Yogava Child
Theme URI: http://thememascot.net
Description: Sun & Sage adaptation of the Yogava Home Video 2 demo.
Author: Thememascot Team
Author URI: http://thememascot.net
Version: 2.4.12
Minimum Requires PHP: 8.2
Tested up to: 7.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: yogava-child
Template: yogava
*/

:root {
  --sun-sage: #8a9a5b;
  --sun-deep-sage: #556b2f;
  --sun-cream: #f1e9db;
  --sun-latte: #d9c5b2;
  --sun-chocolate: #4b2e25;
  --sun-terracotta: #8b5e3c;
  --sun-charcoal: #2d3436;
  --theme-color1: #8a9a5b;
  --theme-color1-darker: #556b2f;
  --theme-color1-lighter: #a8b486;
  --theme-color1-rgb: 138, 154, 91;
  --theme-color2: #4b2e25;
  --theme-color2-darker: #2f1c17;
  --theme-color2-lighter: #6f463a;
  --theme-color2-rgb: 75, 46, 37;
  --theme-color3: #8b5e3c;
  --theme-color3-darker: #69462d;
  --theme-color3-lighter: #aa7a56;
  --theme-color3-rgb: 139, 94, 60;
  --theme-color-light: #f1e9db;
  --text-color: #756d67;
  --body-font-bold-color: #4b2e25;
  --headings-color: #4b2e25;
  --link-color: #4b2e25;
  --default-header-menu-color: #4b2e25;
  --mobile-menu-hamburger-color: #4b2e25;
  --mobile-menu-item-indicator-bg-color: #556b2f;
  --ss-page-gutter: clamp(18px, 3vw, 56px);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

#ss-site-preloader {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: none;
  place-items: center;
  padding: 28px;
  background: var(--sun-chocolate);
  opacity: 1;
  visibility: visible;
  transition: opacity .36s ease, visibility .36s ease;
}

.ss-preloader-enabled #ss-site-preloader { display: grid; }
#ss-site-preloader.is-complete { opacity: 0; visibility: hidden; pointer-events: none; }
#ss-site-preloader img {
  display: block;
  width: min(360px, 68vw);
  height: auto;
  max-height: 190px;
  object-fit: contain;
  opacity: 1;
  background: transparent;
  animation: sun-sage-logo-breathe 1.25s ease-in-out infinite;
  transform-origin: center;
  will-change: transform;
}

@keyframes sun-sage-logo-breathe {
  0%, 100% { transform: scale(.92); }
  50% { transform: scale(1.04); }
}

@media (prefers-reduced-motion: reduce) {
  #ss-site-preloader { transition-duration: .01ms; }
  #ss-site-preloader img { animation: none; }
}
body .main-content-section-wrapper > .container {
  box-sizing: border-box;
  padding-left: var(--ss-page-gutter) !important;
  padding-right: var(--ss-page-gutter) !important;
}
body .entry-content,
body .page-content,
body .elementor { min-width: 0; }
a, button { transition: color .25s ease, background-color .25s ease, transform .25s ease; }
.ss-mobile-menu-toggle { display: none; }
#elementor-header-top .ss-mobile-menu-backdrop { display: none !important; }

@media (max-width: 767px) {
  #elementor-header-top .ss-mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(35,24,20,.36);
    backdrop-filter: blur(2px);
  }
  #elementor-header-top.ss-mobile-menu-open .ss-mobile-menu-backdrop { display: block !important; }
}

body,
p,
li,
input,
select,
textarea,
button {
  font-family: "Montserrat", sans-serif;
}
h1, h2, h3,
.elementor-heading-title,
.tm-sc-section-title .title {
  font-family: "Playfair Display", "Gallient", serif;
  color: var(--sun-chocolate);
}
h4, h5, h6 { color: var(--sun-chocolate); }
.page-title .title,
.page-title .breadcrumbs,
.page-title a { color: var(--sun-cream) !important; }
.page-title {
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(31,20,16,.82), rgba(52,35,28,.52)),
    url("https://sunandsageyogastudio.com.au/wp-content/uploads/2026/09/studio-wide.jpeg") center 54% / cover no-repeat !important;
}
.page-title::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(20,12,10,.08), rgba(20,12,10,.32));
}
.service-subtitle,
.team-subtitle,
.pricing-plan-label,
.robina-service__duration,
.robina-stepper__label {
  font-family: "Azeret Mono", monospace;
  letter-spacing: .02em;
}

/* Robina inherits the same quiet-luxury system while keeping its native UI editable. */
.robina-display,
.robina-booking,
.robina-schedule {
  --robina-primary: var(--sun-deep-sage);
  color: var(--sun-charcoal);
  font-family: "Montserrat", sans-serif !important;
}
.robina-booking,
.robina-schedule {
  border-color: rgba(75,46,37,.12) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 20px 55px rgba(75,46,37,.08);
}
.robina-service,
.robina-schedule button,
.robina-booking button,
.robina-booking input,
.robina-booking select,
.robina-booking textarea {
  border-radius: 12px !important;
}
.robina-service:hover,
.robina-service:focus-visible {
  border-color: var(--sun-sage) !important;
  box-shadow: 0 10px 28px rgba(85,107,47,.10);
}
.robina-stepper__item.is-active .robina-stepper__dot,
.robina-booking button[type="submit"] {
  background: var(--sun-deep-sage) !important;
  border-color: var(--sun-deep-sage) !important;
}
.robina-fs__heading,
.robina-service__name { color: var(--sun-chocolate) !important; }

/* Rich Week timetable layered around Robina's native dynamic booking rows. */
.page-id-3566 .robina-schedule { padding: clamp(18px,4vw,42px) !important; }
.page-id-3566 .robina-schedule-view { max-width: 1180px; }
.page-id-3566 .robina-schedule-view.is-month { max-width: 1040px; }
.robina-schedule-view__switch {
  width: fit-content;
  margin: 0 auto 34px;
  padding: 5px;
  border: 1px solid rgba(75,46,37,.12);
  border-radius: 999px;
  background: var(--sun-cream);
}
.robina-schedule-view__switch button { min-width: 112px; color: var(--sun-chocolate) !important; }
.robina-schedule-view__switch button.is-active { background: var(--sun-chocolate) !important; color: #fff !important; }
.ss-schedule-tools { margin-bottom: 38px; }
.robina-schedule-view.is-month .ss-schedule-tools { display: none; }
.ss-schedule-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.6fr); align-items: end; gap: 30px; margin-bottom: 26px; }
.ss-schedule-intro h2 { margin: 5px 0 0; font-size: clamp(38px,5vw,64px); line-height: 1; }
.ss-schedule-intro p { margin: 0; line-height: 1.75; }
.ss-schedule-kicker,
.ss-sched-label { color: var(--sun-terracotta); font: 600 11px/1.2 "Azeret Mono",monospace; letter-spacing: .12em; text-transform: uppercase; }
.ss-schedule-date-strip { display: grid; grid-template-columns: repeat(8,1fr); gap: 8px; margin-bottom: 18px; }
.ss-sched-date { display: flex; min-width: 0; min-height: 76px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid rgba(75,46,37,.12) !important; background: #fff !important; color: var(--sun-chocolate) !important; }
.ss-sched-date span { font: 500 10px/1 "Azeret Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }
.ss-sched-date strong { font: 500 24px/1 "Playfair Display",serif; }
.ss-sched-date.is-active { border-color: var(--sun-deep-sage) !important; background: var(--sun-deep-sage) !important; color: #fff !important; }
.ss-schedule-filters { display: grid; grid-template-columns: auto repeat(3,minmax(0,1fr)); gap: 12px; align-items: end; padding: 16px; border-radius: 18px; background: #f7f2e9; }
.ss-schedule-filters label { margin: 0; }
.ss-schedule-filters label span { display: block; margin: 0 0 6px 4px; color: var(--sun-chocolate); font: 600 10px/1 "Azeret Mono",monospace; text-transform: uppercase; }
.ss-schedule-filters select,
.ss-filter-today { width: 100%; min-height: 48px; padding: 0 15px; border: 1px solid rgba(75,46,37,.14); border-radius: 12px !important; background: #fff; color: var(--sun-chocolate); }
.ss-filter-today { width: auto; min-width: 92px; background: var(--sun-chocolate) !important; color: #fff !important; }
.robina-sched-day { margin-bottom: 34px; }
.robina-sched-day__title { margin: 0 0 13px; padding-bottom: 10px; border-bottom: 1px solid rgba(75,46,37,.14); font-size: 28px; }
.page-id-3566 .robina-sched-list { display: grid; gap: 18px; }
.page-id-3566 .robina-sched-item { display: grid; grid-template-columns: minmax(190px,270px) minmax(0,1fr) auto; gap: clamp(18px,3vw,34px); align-items: stretch; overflow: hidden; padding: 0 !important; border: 1px solid rgba(75,46,37,.11); border-radius: 22px; background: #fff; box-shadow: 0 18px 45px rgba(75,46,37,.07); }
.page-id-3566 .robina-sched-item__time,
.page-id-3566 .robina-sched-item__accent { display: none; }
.ss-sched-image { min-height: 260px; background: var(--sun-latte); }
.ss-sched-image img { width: 100%; height: 100%; object-fit: cover; }
.ss-sched-image span { display: grid; height: 100%; place-items: center; color: var(--sun-chocolate); font: 500 34px "Playfair Display",serif; }
.page-id-3566 .robina-sched-item__main { align-self: center; padding: 28px 0; }
.page-id-3566 .robina-sched-item__name { display: block; margin: 10px 0 5px; color: var(--sun-chocolate); font: 500 clamp(30px,3vw,43px)/1.05 "Playfair Display",serif; }
.page-id-3566 .robina-sched-item__meta { color: var(--sun-terracotta); font-size: 12px; }
.ss-sched-description { margin: 15px 0 18px; line-height: 1.65; }
.ss-sched-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 20px; margin: 0; }
.ss-sched-facts dt { color: #8a817a; font: 500 9px/1 "Azeret Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }
.ss-sched-facts dd { margin: 4px 0 0; color: var(--sun-charcoal); font-size: 12px; line-height: 1.35; }
.page-id-3566 .robina-sched-item__side { display: flex; min-width: 155px; flex-direction: column; align-items: stretch; justify-content: center; gap: 12px; padding: 28px; border-left: 1px solid rgba(75,46,37,.09); background: #fbf8f2; text-align: center; }
.page-id-3566 .robina-sched-item__price { color: var(--sun-chocolate); font: 500 29px/1 "Playfair Display",serif; }
.page-id-3566 .robina-sched-item__book { min-height: 48px; background: var(--sun-chocolate) !important; color: #fff !important; }

@media (max-width: 767px) {
  .tm-header .site-brand img,
  .tm-header .tm-ele-site-logo img,
  .site-brand img { max-width: 128px !important; max-height: 58px !important; }
  .page-title { padding-block: 72px !important; }
  .page-title .title { font-size: clamp(36px, 10vw, 48px) !important; line-height: 1.05 !important; }
  .robina-booking,
  .robina-schedule { border-radius: 16px !important; box-shadow: none; }
  .robina-booking__body { padding-inline: 14px !important; }
}

/* Booking journey: compact progress, photographic services and deliberate contrast. */
.ss-rich-booking-modal .robina-service__thumb[data-ss-image="ready"],
.page-id-3573 .robina-service__thumb[data-ss-image="ready"] {
  position: relative;
  min-height: 154px;
  background-color: var(--sun-latte) !important;
  background-repeat: no-repeat !important;
  box-shadow: inset 0 -32px 54px rgba(31,24,18,.10);
}
.ss-rich-booking-modal .robina-cal__day,
.page-id-3573 .robina-cal__day {
  border: 1px solid rgba(75,46,37,.14) !important;
  background: #f7f4ee !important;
  color: #746c65 !important;
  font-weight: 700 !important;
}
.ss-rich-booking-modal .robina-cal__day:not(.is-disabled):not(.is-selected):not(.robina-cal__day--blank),
.page-id-3573 .robina-cal__day:not(.is-disabled):not(.is-selected):not(.robina-cal__day--blank) {
  border-color: rgba(85,107,47,.5) !important;
  background: #e3e9d8 !important;
  color: #2f3f1c !important;
  box-shadow: inset 0 0 0 1px rgba(85,107,47,.08);
}
.ss-rich-booking-modal .robina-cal__day:not(.is-disabled):not(.is-selected):not(.robina-cal__day--blank):hover,
.page-id-3573 .robina-cal__day:not(.is-disabled):not(.is-selected):not(.robina-cal__day--blank):hover {
  border-color: var(--sun-deep-sage) !important;
  background: #d4dfc2 !important;
  color: #263516 !important;
  transform: translateY(-2px);
}
.ss-rich-booking-modal .robina-cal__day.is-disabled,
.page-id-3573 .robina-cal__day.is-disabled {
  border-color: rgba(75,46,37,.08) !important;
  background: #f5f2ed !important;
  color: #a09891 !important;
  opacity: .72 !important;
}
.ss-rich-booking-modal .robina-cal__day.robina-cal__day--blank,
.page-id-3573 .robina-cal__day.robina-cal__day--blank {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ss-rich-booking-modal .robina-cal__day.is-selected,
.page-id-3573 .robina-cal__day.is-selected,
.ss-rich-booking-modal .robina-dt__slot.is-selected,
.page-id-3573 .robina-dt__slot.is-selected {
  border-color: #3f5424 !important;
  background: #4f672c !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(63,84,36,.22);
}
.ss-rich-booking-modal .robina-dt__slot:not(.is-selected),
.page-id-3573 .robina-dt__slot:not(.is-selected) {
  min-height: 48px;
  border: 1px solid rgba(85,107,47,.48) !important;
  background: #f8faf4 !important;
  color: #2e3d1e !important;
  font-weight: 750 !important;
}
.ss-rich-booking-modal .robina-dt__slot:not(.is-selected):hover,
.page-id-3573 .robina-dt__slot:not(.is-selected):hover {
  border-color: var(--sun-deep-sage) !important;
  background: #e3e9d8 !important;
  color: #263516 !important;
  transform: translateY(-1px);
}
.ss-rich-booking-modal .robina-dt__slot:disabled,
.page-id-3573 .robina-dt__slot:disabled {
  border-color: rgba(75,46,37,.10) !important;
  background: #f5f2ed !important;
  color: #9f9891 !important;
  opacity: .75 !important;
}
.ss-rich-booking-modal .robina-cal__nav,
.page-id-3573 .robina-cal__nav {
  border: 1px solid rgba(75,46,37,.18) !important;
  background: #fff !important;
  color: var(--sun-chocolate) !important;
}

@media (min-width: 1025px) {
  .ss-rich-booking-modal .robina-fs,
  .page-id-3573 .robina-fs { grid-template-columns: 198px minmax(0,1fr) !important; }
  .ss-rich-booking-modal .robina-fs__sb,
  .page-id-3573 .robina-fs__sb { padding: 22px 14px !important; }
  .ss-rich-booking-modal .robina-stepper,
  .page-id-3573 .robina-stepper {
    align-content: start !important;
    grid-template-rows: none !important;
    grid-auto-rows: 58px !important;
    gap: 8px !important;
  }
  .ss-rich-booking-modal .robina-stepper__item,
  .page-id-3573 .robina-stepper__item {
    grid-template-columns: 30px minmax(0,1fr) !important;
    min-height: 58px !important;
    height: 58px !important;
    gap: 9px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
  }
  .ss-rich-booking-modal .robina-stepper__dot,
  .page-id-3573 .robina-stepper__dot { width: 29px !important; height: 29px !important; }
  .ss-rich-booking-modal .robina-stepper__label,
  .page-id-3573 .robina-stepper__label { font-size: 11px !important; }
}

/* A complete, image-led classes destination that uses the homepage's brand language. */
.ss-classes-showcase {
  width: min(1480px, calc(100% - (var(--ss-page-gutter) * 2)));
  margin: 0 auto;
  padding: clamp(62px,7vw,108px) 0;
  color: var(--sun-charcoal);
}
.ss-classes-intro { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.62fr); gap: clamp(30px,6vw,92px); align-items: end; }
.ss-classes-intro span,
.ss-classes-heading > span,
.ss-classes-cta > div > span { color: var(--sun-terracotta); font: 700 10px/1.2 "Azeret Mono",monospace; letter-spacing: .13em; }
.ss-classes-intro h2 { max-width: 850px; margin: 13px 0 0; font: 500 clamp(48px,6vw,82px)/.98 "Playfair Display",serif; text-wrap: balance; }
.ss-classes-intro > p { margin: 0; font-size: 16px; line-height: 1.75; }
.ss-classes-benefits { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: clamp(38px,5vw,66px) 0 clamp(70px,8vw,112px); padding: 22px 12px; border: 1px solid rgba(75,46,37,.1); border-radius: 22px; background: #fffdfa; box-shadow: 0 18px 48px rgba(75,46,37,.07); }
.ss-classes-benefits article { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; align-items: center; padding: 8px 18px; border-right: 1px solid rgba(75,46,37,.1); }
.ss-classes-benefits article:last-child { border-right: 0; }
.ss-classes-benefits i { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(85,107,47,.3); border-radius: 50%; color: var(--sun-deep-sage); font: normal 700 18px/1 "Playfair Display",serif; }
.ss-classes-benefits strong { display: block; color: var(--sun-chocolate); font-size: 13px; }
.ss-classes-benefits p { margin: 5px 0 0; font-size: 11px; line-height: 1.5; }
.ss-classes-heading { margin-bottom: 28px; text-align: center; }
.ss-classes-heading h3 { margin: 10px 0 0; font: 500 clamp(38px,4.5vw,60px)/1 "Playfair Display",serif; }
.ss-classes-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.ss-class-card { overflow: hidden; border: 1px solid rgba(75,46,37,.12); border-radius: 22px; background: #fff; box-shadow: 0 18px 48px rgba(75,46,37,.07); transition: transform .25s ease, box-shadow .25s ease; }
.ss-class-card:hover { transform: translateY(-5px); box-shadow: 0 25px 62px rgba(75,46,37,.12); }
.ss-class-card__image { display: block; height: 250px; overflow: hidden; background: var(--sun-latte); }
.ss-class-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.ss-class-card:hover .ss-class-card__image img { transform: scale(1.035); }
.ss-class-card__body { display: flex; min-height: 265px; flex-direction: column; padding: 25px; }
.ss-class-card__body small { color: var(--sun-terracotta); font: 700 9px/1.3 "Azeret Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }
.ss-class-card__body h3 { margin: 12px 0 10px; font: 500 31px/1.05 "Playfair Display",serif; }
.ss-class-card__body h3 a { color: var(--sun-chocolate); }
.ss-class-card__body p { margin: 0 0 22px; font-size: 13px; line-height: 1.65; }
.ss-class-card__body > div { display: flex; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(75,46,37,.1); }
.ss-class-card__body > div a { color: var(--sun-chocolate); font-size: 12px; font-weight: 800; }
.ss-class-card__body > div a:last-child { color: var(--sun-deep-sage); }
.ss-classes-cta { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 30px; align-items: center; margin-top: clamp(46px,6vw,76px); padding: clamp(30px,5vw,58px); border-radius: 26px; background: var(--sun-deep-sage); color: #fff; }
.ss-classes-cta h3 { margin: 10px 0 7px; color: #fff; font: 500 clamp(34px,4vw,52px)/1 "Playfair Display",serif; }
.ss-classes-cta p { max-width: 700px; margin: 0; color: #fff; opacity: .88; }
.ss-classes-cta > a { display: inline-flex; min-height: 58px; align-items: center; gap: 13px; padding: 14px 22px; border-radius: 999px; background: #fff; color: var(--sun-chocolate); font-weight: 800; }
.ss-classes-cta > a:hover { background: var(--sun-chocolate); color: #fff; transform: translateY(-2px); }

@media (max-width: 1024px) {
  .ss-classes-intro { grid-template-columns: 1fr; }
  .ss-classes-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ss-classes-benefits article:nth-child(2) { border-right: 0; }
  .ss-classes-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  :root { --ss-page-gutter: 14px; }
  .ss-rich-booking-modal .robina-stepper,
  .page-id-3573 .robina-stepper { grid-template-columns: repeat(4,minmax(124px,1fr)) !important; }
  .ss-rich-booking-modal .robina-stepper__item,
  .page-id-3573 .robina-stepper__item { min-height: 54px !important; padding: 8px 10px !important; }
  .ss-classes-showcase { width: calc(100% - 28px); padding-block: 48px 72px; }
  .ss-classes-intro h2 { font-size: clamp(42px,13vw,58px); }
  .ss-classes-benefits,.ss-classes-grid { grid-template-columns: 1fr; }
  .ss-classes-benefits article { border-right: 0; border-bottom: 1px solid rgba(75,46,37,.1); }
  .ss-classes-benefits article:last-child { border-bottom: 0; }
  .ss-class-card__image { height: 220px; }
  .ss-class-card__body { min-height: 0; }
  .ss-classes-cta { grid-template-columns: 1fr; }
  .ss-classes-cta > a { width: 100%; justify-content: center; }
}

/* September refinement: one spacing and CTA system across custom pages. */
.ss-approved-footer .ss-footer-cta h2 {
  max-width: 760px;
  font-size: clamp(36px,4.2vw,58px);
  line-height: 1.02;
}

.sun-sage-practice-page .ss-practice-enrichment { text-align: left; }
.sun-sage-practice-page .ss-practice-rich-title,
.sun-sage-practice-page .ss-practice-rich-copy { max-width: 980px; margin-left: 0; margin-right: 0; }
.sun-sage-practice-page .ss-practice-rich-copy { margin-bottom: 38px; }
.sun-sage-practice-page .ss-practice-benefit-card {
  display: flex;
  min-height: 190px;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  padding: 34px 24px;
  text-align: center;
}
.sun-sage-practice-page .ss-practice-benefit-card h3 { margin: 14px 0 0; }
.sun-sage-practice-page .ss-practice-inline-cta { margin: 34px 0 46px; }
.sun-sage-practice-page .ss-practice-inline-cta .elementor-button { min-height: 54px; padding: 17px 26px; border-radius: 999px; }
.sun-sage-practice-page .ss-practice-cta-panel {
  margin-top: clamp(50px,6vw,76px);
  padding: clamp(44px,6vw,72px) clamp(24px,5vw,60px);
}
.sun-sage-practice-page .ss-practice-cta-panel p { margin: 0 0 20px; line-height: 1.7; }

.sun-sage-ttc-page .ss-ttc-section > .e-con-inner { row-gap: clamp(30px,4vw,58px); }
.sun-sage-ttc-page .ss-ttc-hero > .e-con-inner { align-items: stretch; }
.sun-sage-ttc-page .ss-ttc-hero-copy,
.sun-sage-ttc-page .ss-ttc-hero-visual,
.sun-sage-ttc-page .ss-ttc-hero-image,
.sun-sage-ttc-page .ss-ttc-hero-image .elementor-widget-container { height: 100%; }
.sun-sage-ttc-page .ss-ttc-hero-image img { height: 100%; min-height: 0; }
.sun-sage-ttc-page .ss-ttc-facts { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
.sun-sage-ttc-page .ss-ttc-facts > .elementor-widget { display: flex; min-height: 118px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 9px; padding: 24px; background: #fff; }
.sun-sage-ttc-page .ss-ttc-facts > .elementor-widget .elementor-widget-container { display: flex; align-items: flex-start; flex-direction: column; gap: 9px; }
.sun-sage-ttc-page .ss-ttc-facts > .elementor-widget span { display: block; margin: 0; color: var(--sun-terracotta); font: 500 9px/1 "Azeret Mono",monospace; letter-spacing: .09em; text-transform: uppercase; }
.sun-sage-ttc-page .ss-ttc-facts > .elementor-widget strong { display: block; margin: 0; color: var(--sun-chocolate); font: 500 24px/1.1 "Playfair Display",serif; }
.sun-sage-ttc-page .ss-ttc-media-grid { display: grid !important; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-top: 30px; }
.sun-sage-ttc-page .ss-ttc-media-main img,
.sun-sage-ttc-page .ss-ttc-media-pair img { width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: 22px; }
.sun-sage-ttc-page .ss-ttc-media-main img { min-height: 540px; }
.sun-sage-ttc-page .ss-ttc-media-pair { display: grid !important; grid-template-rows: repeat(2,minmax(0,1fr)); gap: 18px; }
.sun-sage-ttc-page .ss-ttc-media-pair .elementor-widget-image { height: 100%; }
.sun-sage-ttc-page .ss-ttc-mid-cta { display: flex; align-items: center; justify-content: space-between; gap: 26px; margin-top: 30px; padding: clamp(28px,4vw,44px); border-radius: 22px; background: var(--sun-deep-sage); }
.sun-sage-ttc-page .ss-ttc-mid-cta h3,
.sun-sage-ttc-page .ss-ttc-mid-cta p { color: #fff !important; }
.sun-sage-ttc-page .ss-ttc-mid-cta h3 { margin: 0 0 8px; font-size: clamp(30px,4vw,46px); }
.sun-sage-ttc-page .ss-ttc-mid-cta p { margin: 0; }

/* Filled actions use the same approved chocolate and white treatment. */
.elementor-widget-button:not(.ss-ttc-secondary) .elementor-button,
.ss-ttc-secondary .elementor-button,
.theme-btn,
.btn-style3,
.btn-style5,
.btn-style6,
input[type="submit"],
button[type="submit"] {
  border-color: var(--sun-chocolate) !important;
  background: var(--sun-chocolate) !important;
  color: #fff !important;
}
.elementor-widget-button .elementor-button *,
.theme-btn *,
.btn-style3 *,
.btn-style5 *,
.btn-style6 * { color: #fff !important; }

@media (max-width: 767px) {
  .ss-approved-footer .ss-footer-cta h2 { font-size: clamp(32px,10vw,44px); }
  .sun-sage-practice-page .ss-practice-rich-title .elementor-heading-title { font-size: clamp(38px,11vw,54px); }
  .sun-sage-practice-page .ss-practice-benefit-card { min-height: 150px; padding: 28px 20px; }
  .sun-sage-practice-page .ss-practice-inline-cta { margin: 28px 0 40px; }
  .sun-sage-practice-page .ss-practice-cta-panel { margin-top: 42px; padding: 38px 20px; }
  .sun-sage-ttc-page .ss-ttc-hero-copy,
  .sun-sage-ttc-page .ss-ttc-hero-visual,
  .sun-sage-ttc-page .ss-ttc-hero-image,
  .sun-sage-ttc-page .ss-ttc-hero-image .elementor-widget-container { height: auto; }
  .sun-sage-ttc-page .ss-ttc-hero-image img { height: auto; min-height: 380px; }
  .sun-sage-ttc-page .ss-ttc-facts { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .sun-sage-ttc-page .ss-ttc-facts > .elementor-widget { min-height: 108px; padding: 19px 16px; }
  .sun-sage-ttc-page .ss-ttc-facts > .elementor-widget strong { font-size: 20px; }
  .sun-sage-ttc-page .ss-ttc-media-grid { grid-template-columns: 1fr; }
  .sun-sage-ttc-page .ss-ttc-media-main img { min-height: 360px; }
  .sun-sage-ttc-page .ss-ttc-media-pair { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; }
  .sun-sage-ttc-page .ss-ttc-media-pair img { min-height: 210px; }
  .sun-sage-ttc-page .ss-ttc-mid-cta { align-items: stretch; flex-direction: column; }
  .sun-sage-ttc-page .ss-ttc-mid-cta .elementor-widget-button,
  .sun-sage-ttc-page .ss-ttc-mid-cta .elementor-button { width: 100%; }
  #elementor-header-top .ss-mobile-account-action { margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid rgba(75,46,37,.14); }
  #elementor-header-top .ss-mobile-account-action > a { justify-content: center !important; background: var(--sun-chocolate) !important; color: #fff !important; font-weight: 700 !important; text-align: center; }
  #elementor-header-top .ss-mobile-account-source { display: none !important; }
}

.tm-header .site-brand img,
.tm-header .tm-ele-site-logo img,
.site-brand img {
  width: auto !important;
  max-width: 175px !important;
  max-height: 76px !important;
  object-fit: contain;
}
#header .header-nav-wrapper { display: none !important; }
@media (min-width: 768px) {
  #elementor-header-top .menuzord-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    white-space: nowrap;
    overflow: visible;
  }
  #elementor-header-top .menuzord-menu > li { flex: 0 0 auto; }
  #elementor-header-top .menuzord-menu > li > a {
    padding-inline: 12px !important;
    font-size: 13px !important;
  }
}

/* Final Robina overrides live after the plugin/theme compatibility rules. */
.ss-rich-booking-modal .robina-cal__day,
.page-id-3573 .robina-cal__day { border-color:rgba(75,46,37,.14) !important; background:#f7f4ee !important; color:#746c65 !important; font-weight:700 !important; }
.ss-rich-booking-modal .robina-cal__day:not(.is-disabled):not(.is-selected):not(.robina-cal__day--blank),
.page-id-3573 .robina-cal__day:not(.is-disabled):not(.is-selected):not(.robina-cal__day--blank) { border-color:rgba(85,107,47,.5) !important; background:#e3e9d8 !important; color:#2f3f1c !important; }
.ss-rich-booking-modal .robina-cal__day.is-disabled,
.page-id-3573 .robina-cal__day.is-disabled { border-color:rgba(75,46,37,.08) !important; background:#f5f2ed !important; color:#918980 !important; opacity:.78 !important; }
.ss-rich-booking-modal .robina-cal__day.robina-cal__day--blank,
.page-id-3573 .robina-cal__day.robina-cal__day--blank { border-color:transparent !important; background:transparent !important; box-shadow:none !important; }
.ss-rich-booking-modal .robina-cal__day.is-selected,
.page-id-3573 .robina-cal__day.is-selected,
.ss-rich-booking-modal .robina-dt__slot.is-selected,
.page-id-3573 .robina-dt__slot.is-selected { border-color:#3f5424 !important; background:#4f672c !important; color:#fff !important; box-shadow:0 8px 20px rgba(63,84,36,.22); }
.ss-rich-booking-modal .robina-dt__slot:not(.is-selected),
.page-id-3573 .robina-dt__slot:not(.is-selected) { min-height:48px; border:1px solid rgba(85,107,47,.48) !important; background:#f8faf4 !important; color:#2e3d1e !important; font-weight:750 !important; }
.ss-rich-booking-modal .robina-dt__slot:not(.is-selected):hover,
.page-id-3573 .robina-dt__slot:not(.is-selected):hover { border-color:var(--sun-deep-sage) !important; background:#e3e9d8 !important; color:#263516 !important; transform:translateY(-1px); }
.ss-rich-booking-modal .robina-dt__slot:disabled,
.page-id-3573 .robina-dt__slot:disabled { border-color:rgba(75,46,37,.1) !important; background:#f5f2ed !important; color:#918980 !important; opacity:.78 !important; }

@media (min-width:1025px) {
  .ss-rich-booking-modal .robina-fs,
  .page-id-3573 .robina-fs { grid-template-columns:198px minmax(0,1fr) !important; }
  .ss-rich-booking-modal .robina-fs__sb,
  .page-id-3573 .robina-fs__sb { padding:22px 14px !important; }
  .ss-rich-booking-modal .robina-stepper,
  .page-id-3573 .robina-stepper { align-content:start !important; grid-template-rows:none !important; grid-auto-rows:58px !important; gap:8px !important; }
  .ss-rich-booking-modal .robina-stepper__item,
  .page-id-3573 .robina-stepper__item { grid-template-columns:30px minmax(0,1fr) !important; min-height:58px !important; height:58px !important; gap:9px !important; padding:8px 10px !important; border-radius:12px !important; }
  .ss-rich-booking-modal .robina-stepper__dot,
  .page-id-3573 .robina-stepper__dot { width:29px !important; height:29px !important; }
  .ss-rich-booking-modal .robina-stepper__label,
  .page-id-3573 .robina-stepper__label { font-size:11px !important; }
}

/* September 9 operations and conversion refinements. */
@media (min-width: 1025px) {
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu { gap: 0 12px; }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu > li > a { padding-inline: 8px !important; font-size: 15px !important; letter-spacing: .015em; }
}
.page-id-3566 .robina-schedule-view__switch button,
.page-id-3566 .robina-schedule-view__switch button[aria-selected="false"] { background:#fff !important; color:var(--sun-chocolate) !important; opacity:1 !important; font-weight:700 !important; }
.page-id-3566 .robina-schedule-view__switch button.is-active,
.page-id-3566 .robina-schedule-view__switch button[aria-selected="true"] { background:var(--sun-chocolate) !important; color:#fff !important; }
.page-id-3566 .robina-schedmo__chip,
.page-id-3566 .robina-schedmo__chip * { opacity:1 !important; }
.page-id-3566 .robina-schedmo__chip-name,
.page-id-3566 .robina-schedmo__chip-time { color:#3a241d !important; font-weight:800 !important; text-shadow:none !important; }
.page-id-3566 .robina-schedmo__chip { background:#efe8dd !important; border-left-color:var(--sun-deep-sage) !important; }
.ss-checkout-class-bar em { display:block; margin-top:8px; color:var(--sun-deep-sage); font-size:12px; font-style:normal; font-weight:800; }
.sun-sage-ttc-page .ss-ttc-who p,
.sun-sage-ttc-page .ss-ttc-who li,
.sun-sage-ttc-page .ss-ttc-who .elementor-heading-title { color:#33231e !important; }
.sun-sage-ttc-page .ss-ttc-final,
.sun-sage-ttc-page .ss-ttc-final > .e-con-inner,
.sun-sage-ttc-page .ss-ttc-final .elementor-widget,
.sun-sage-ttc-page .ss-ttc-final .elementor-widget-container { text-align:left !important; }
.sun-sage-ttc-page .ss-ttc-final .ss-ttc-display,
.sun-sage-ttc-page .ss-ttc-final .ss-ttc-lead,
.sun-sage-ttc-page .ss-ttc-final .ss-ttc-primary { margin-inline:0 !important; }
.sun-sage-ttc-page .ss-ttc-manual-grid { align-items:center !important; }
.sun-sage-ttc-page .ss-ttc-manual .ss-ttc-wide-image img { min-height:0 !important; height:clamp(360px,42vw,520px) !important; object-position:center 42%; }
.ss-ttc-manual-copy .ss-ttc-manual-cta { display:inline-flex; min-height:54px; align-items:center; margin-top:18px; padding:14px 24px; border-radius:999px; background:#fff; color:var(--sun-chocolate) !important; font-weight:800; }
.sun-sage-ttc-page .ss-ttc-included-card { position:relative; padding-top:84px; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.sun-sage-ttc-page .ss-ttc-included-card:hover { transform:translateY(-6px); border-color:var(--sun-deep-sage); box-shadow:0 22px 44px rgba(75,46,37,.12); }
.sun-sage-ttc-page .ss-ttc-included-card::before { content:"✓"; position:absolute; top:24px; left:26px; display:grid; width:43px; height:43px; place-items:center; border-radius:50%; background:var(--sun-deep-sage); color:#fff; font-size:21px; font-weight:800; }
.sun-sage-ttc-page .ss-ttc-primary .elementor-button,
.sun-sage-ttc-page a.ss-ttc-enrol { min-height:62px !important; padding:19px 32px !important; font-size:16px !important; font-weight:800 !important; animation:ss-enrol-breathe 2.8s ease-in-out infinite; }
@keyframes ss-enrol-breathe { 0%,100%{transform:scale(1)} 50%{transform:scale(1.045)} }
@media (prefers-reduced-motion:reduce) { .sun-sage-ttc-page .ss-ttc-primary .elementor-button,.sun-sage-ttc-page a.ss-ttc-enrol{animation:none;} }
.ss-team-carousel { position:relative; }
.ss-team-carousel__nav { display:flex; justify-content:flex-end; gap:10px; margin-bottom:16px; }
.ss-team-carousel__nav button { width:48px; height:48px; border:1px solid rgba(75,46,37,.16); border-radius:50%; background:#fff; color:var(--sun-chocolate); font-size:22px; cursor:pointer; }
.ss-team-track { display:flex; gap:18px; overflow-x:auto; padding:4px 3px 18px; scroll-snap-type:x mandatory; scrollbar-width:none; }
.ss-team-track::-webkit-scrollbar { display:none; }
.ss-team-card { flex:0 0 min(360px,82vw); overflow:hidden; border:1px solid rgba(75,46,37,.12); border-radius:22px; background:#fff; scroll-snap-align:start; }
.ss-team-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.ss-team-card div { padding:24px; }
.ss-team-card span { color:var(--sun-terracotta); font:700 10px/1.2 "Azeret Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.ss-team-card h3 { margin:10px 0 8px; font-size:30px; }
.ss-team-card p { margin:0; line-height:1.65; }
.ss-header-cart { position:fixed; z-index:10001; top:45px; right:330px; display:inline-flex; min-height:44px; align-items:center; gap:7px; padding:8px 13px; border:1px solid rgba(75,46,37,.14); border-radius:999px; background:#fffdfa; color:var(--sun-chocolate) !important; box-shadow:0 8px 24px rgba(75,46,37,.10); font-size:13px; }
.ss-header-cart b { display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:var(--sun-deep-sage); color:#fff; font-size:11px; }
.admin-bar .ss-header-cart { top:77px; }
.woocommerce-cart .woocommerce { width:min(1180px,calc(100% - 32px)); margin:50px auto 90px; }
.woocommerce-cart table.shop_table { overflow:hidden; border:1px solid rgba(75,46,37,.13) !important; border-radius:20px; background:#fff; }
.woocommerce-cart table.shop_table th { color:var(--sun-terracotta); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce-cart .cart_totals { width:min(520px,100%) !important; padding:26px; border-radius:20px; background:var(--sun-cream); }
.woocommerce-cart .checkout-button { background:var(--sun-deep-sage) !important; color:#fff !important; border-radius:999px !important; }
.woocommerce-cart .wc-block-cart__submit,
.woocommerce-cart .wc-block-cart__submit-container { display:flex !important; width:100% !important; height:auto !important; visibility:visible !important; opacity:1 !important; }
.woocommerce-cart .wc-block-cart__submit-container { margin-top:18px; }
.woocommerce-cart .wc-block-cart__submit-button { min-height:54px; align-items:center; justify-content:center; border-radius:999px !important; background:var(--sun-deep-sage) !important; color:#fff !important; font-weight:800; }
.ss-empty-cart-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:22px 0 36px; }
.ss-empty-cart-actions a { display:inline-flex; min-height:48px; align-items:center; padding:11px 19px; border-radius:999px; background:var(--sun-deep-sage); color:#fff !important; font-weight:800; }
.ss-gst-component { display:block; margin-top:7px; color:#6f655f; font-size:12px; font-weight:500; }
.ss-saved-checkout { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; margin:24px 0; padding:24px; border:1px solid #d7cbbd; border-radius:20px; background:var(--ss-cream,#f3ebdd); }
.ss-saved-checkout h3 { margin:7px 0; }
.ss-saved-checkout>div:last-child { display:flex; align-items:flex-end; flex-direction:column; gap:10px; }
.ss-saved-checkout a { display:inline-flex; min-height:46px; align-items:center; padding:11px 18px; border-radius:999px; background:var(--sun-deep-sage); color:#fff !important; font-weight:800; }
.ss-credit-progress { height:10px; margin:16px 0 8px; overflow:hidden; border-radius:999px; background:#e4ddd3; }
.ss-credit-progress i { display:block; height:100%; border-radius:inherit; background:var(--sun-deep-sage); }
.ss-member-booking.is-completed { border-left:6px solid var(--sun-deep-sage); }
.ss-member-booking.is-no-show { border-left:6px solid #7b7069; }
.ss-member-booking.is-no-show .ss-booked-badge { background:#7b7069; }
@media (max-width:1180px) and (min-width:1025px) { .ss-header-cart{right:270px;} }
@media (max-width:1024px) { .ss-header-cart{top:auto !important;right:18px;bottom:18px;} }
@media (max-width:767px) { .ss-saved-checkout{grid-template-columns:1fr}.ss-saved-checkout>div:last-child{align-items:flex-start}.sun-sage-ttc-page .ss-ttc-manual .ss-ttc-wide-image img{height:300px !important;} }

/* September launch release: consistent actions and content systems. */
.elementor a.elementor-button,
.elementor .elementor-button,
.elementor button,
.elementor input[type="submit"],
.robina-booking button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  color: #fff !important;
}

.elementor a.elementor-button:hover,
.elementor .elementor-button:hover,
.elementor button:hover,
.elementor input[type="submit"]:hover,
.robina-booking button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  color: #fff !important;
}

#elementor-header-top .elementor-element-11b3672 .theme-btn,
#elementor-header-top .elementor-element-11b3672 a {
  min-width: 210px;
  padding-inline: 22px !important;
  white-space: nowrap;
}

.ss-home-release-wrap { background: #fffdfa; }
.ss-home-release { color: #4b2d23; }
.ss-home-benefits,
.ss-home-utility {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin-bottom: 84px;
  overflow: hidden;
  border: 1px solid #e3dbd0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 15px 38px rgba(75,45,35,.07);
}
.ss-home-benefits > div,
.ss-home-utility > div {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-content: center;
  min-height: 126px;
  padding: 22px;
  border-right: 1px solid #e8e0d5;
}
.ss-home-benefits > div:last-child,
.ss-home-utility > div:last-child { border-right: 0; }
.ss-home-benefits b,
.ss-home-utility b { grid-row: 1 / 3; color: #7b8d50; font: 400 29px Georgia,serif; }
.ss-home-benefits strong,
.ss-home-utility strong { display: block; font-size: 14px; }
.ss-home-benefits span,
.ss-home-utility span { margin-top: 6px; color: #766860; font-size: 12px; line-height: 1.5; }
.ss-home-section-heading { max-width: 800px; margin: 0 auto 42px; text-align: center; }
.ss-home-section-heading > span,
.ss-membership-head > span,
.ss-contact-intro > span,
.ss-class-authority > div > span,
.ss-ttc-cert > div > span,
.ss-ttc-media header > span {
  color: #9b6434;
  font: 800 12px/1.3 "Courier New",monospace;
  letter-spacing: .13em;
}
.ss-home-section-heading h2,
.ss-membership-head h2,
.ss-contact-intro h2,
.ss-class-authority h2,
.ss-ttc-cert h2,
.ss-ttc-media h2 {
  margin: 14px 0 0;
  color: #4b2d23;
  font: 400 clamp(42px,5vw,72px)/1.04 Georgia,serif;
}
.ss-home-class-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; }
.ss-home-class { overflow: hidden; border: 1px solid #e5dcd1; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(75,45,35,.06); }
.ss-home-class-image { display: block; height: 230px; overflow: hidden; }
.ss-home-class-image img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .45s ease; }
.ss-home-class:hover img { transform: scale(1.05); }
.ss-home-class > div { padding: 25px 21px 26px; }
.ss-home-class span { color: #8c633e; font: 700 11px "Courier New",monospace; letter-spacing: .07em; }
.ss-home-class h3 { margin: 10px 0; color: #4b2d23; font: 400 28px/1.05 Georgia,serif; }
.ss-home-class p { min-height: 68px; color: #71635b; font-size: 14px; line-height: 1.55; }
.ss-home-class > div > a { color: #556b2f; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.ss-home-centre-cta { margin: 42px 0 92px; text-align: center; }
.ss-home-centre-cta a,
.ss-home-story a,
.ss-membership-new-grid article > a,
.ss-dropin > a,
.ss-class-authority > div > a,
.ss-ttc-cert > div > a,
.ss-ttc-inline-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 14px 25px;
  border-radius: 999px;
  background: #556b2f;
  color: #fff !important;
  font-weight: 800;
  text-decoration: none;
}
.ss-home-story { display: grid; grid-template-columns: .85fr 1.15fr; overflow: hidden; min-height: 500px; border-radius: 22px; background: #677154; color: #fff; }
.ss-home-story > div { padding: clamp(38px,5vw,72px); align-self: center; }
.ss-home-story > div > span { font: 800 12px "Courier New",monospace; letter-spacing: .12em; }
.ss-home-story h2 { margin: 16px 0; color: #fff; font: 400 clamp(42px,5vw,70px)/.98 Georgia,serif; }
.ss-home-story p { max-width: 560px; font-size: 17px; line-height: 1.7; }
.ss-home-story a { margin-top: 16px; background: #fff; color: #4b2d23 !important; }
.ss-home-story img { width: 100%; height: 100% !important; object-fit: cover; }
.ss-home-utility { grid-template-columns: repeat(4,1fr); margin: 18px 0 0; }

.ss-membership-release-wrap { background: #f7f1e8; }
.ss-membership-head { max-width: 860px; margin-bottom: 48px; }
.ss-membership-head p { max-width: 700px; font-size: 18px; line-height: 1.65; }
.ss-membership-new-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.ss-membership-new-grid article { display: flex; flex-direction: column; min-height: 520px; padding: clamp(30px,4vw,48px); border: 1px solid #ddd3c7; border-radius: 24px; background: #fff; }
.ss-membership-new-grid article > span { color: #9b6434; font: 800 12px "Courier New",monospace; letter-spacing: .1em; }
.ss-membership-new-grid h3 { margin: 20px 0 12px; color: #4b2d23; font: 400 clamp(36px,4vw,54px)/1 Georgia,serif; }
.ss-membership-new-grid article > strong { font-size: 20px; }
.ss-membership-new-grid p { color: #695a52; line-height: 1.65; }
.ss-membership-new-grid ul { margin: 16px 0 30px; padding: 0; list-style: none; }
.ss-membership-new-grid li { position: relative; margin: 12px 0; padding-left: 25px; }
.ss-membership-new-grid li::before { content: "✓"; position: absolute; left: 0; color: #556b2f; font-weight: 900; }
.ss-membership-new-grid article > a { align-self: flex-start; margin-top: auto; }
.ss-dropin { display: flex; align-items: center; justify-content: space-between; gap: 34px; margin-top: 24px; padding: 38px; border-radius: 22px; background: #4b2d23; color: #fff; }
.ss-dropin h3 { margin: 6px 0; color: #fff; font: 400 38px Georgia,serif; }
.ss-dropin p { margin: 0; }
.ss-dropin > a { background: #fff; color: #4b2d23 !important; white-space: nowrap; }

.ss-contact-release-wrap { background: #fff; }
.ss-contact-intro { max-width: 1040px; margin: 0 auto 56px; padding-top: 8px; text-align: center; }
.ss-contact-intro p { max-width: 720px; margin: 24px auto 0; color: #70625a; font-size: 18px; line-height: 1.7; }
.ss-contact-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 24px; align-items: stretch; }
.ss-contact-grid > aside,
.ss-contact-grid > section { padding: clamp(28px,4vw,46px); border: 1px solid #e2d9ce; border-radius: 22px; background: #fffdfa; }
.ss-contact-grid h3 { margin: 0 0 26px; color: #4b2d23; font: 400 36px Georgia,serif; }
.ss-contact-grid aside > div { margin: 12px 0; padding: 18px 20px; border-radius: 14px; background: #f1e8d9; }
.ss-contact-grid aside span { display: block; margin-bottom: 7px; color: #9b6434; font: 800 11px "Courier New",monospace; letter-spacing: .1em; }
.ss-contact-grid aside strong,.ss-contact-grid aside a { color: #4b2d23; font-weight: 700; line-height: 1.55; }
.ss-contact-grid aside > p { margin: 24px 4px 0; color: #71635b; line-height: 1.6; }
.ss-contact-grid .wpcf7 form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ss-contact-grid .wpcf7 p { margin: 0; }
.ss-contact-grid .wpcf7 p:nth-last-child(-n+3) { grid-column: 1/-1; }
.ss-contact-grid input,.ss-contact-grid select,.ss-contact-grid textarea { width: 100%; border: 1px solid #d9cec1; border-radius: 12px; background: #fff; }
.ss-contact-grid input,.ss-contact-grid select { min-height: 56px; padding: 0 14px; }
.ss-contact-grid textarea { min-height: 160px; padding: 14px; }
.ss-contact-grid input[type="submit"] { width: auto; min-width: 180px; border: 0; border-radius: 999px; background: #556b2f; }
.ss-contact-map,
.ss-contact-map-widget { margin-top: 24px; overflow: hidden; border-radius: 22px; }
.ss-contact-map iframe,
.ss-contact-map-widget iframe { display: block; width: 100%; height: 480px; border: 0; }
.ss-contact-visit { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 16px; }
.ss-contact-visit article { min-height: 160px; padding: 28px; border-radius: 18px; background: #f1e8d9; }
.ss-contact-visit strong { color: #4b2d23; font: 400 25px Georgia,serif; }
.ss-contact-visit p { color: #70625a; line-height: 1.65; }

.ss-class-authority-wrap { background: #fffdfa; }
.ss-class-authority { display: grid; grid-template-columns: minmax(320px,.85fr) minmax(0,1.15fr); gap: clamp(38px,6vw,84px); align-items: stretch; }
.ss-class-authority > img { width: 100%; height: 100% !important; min-height: 720px; border-radius: 24px; object-fit: cover; }
.ss-class-authority > div { align-self: center; }
.ss-class-authority > div > p { color: #6e6058; font-size: 17px; line-height: 1.75; }
.ss-class-facts { display: flex; gap: 12px; margin: 26px 0 32px; }
.ss-class-facts strong { padding: 12px 16px; border-radius: 999px; background: #eee5d7; }
.ss-class-authority h3 { margin: 28px 0 12px; color: #4b2d23; font: 400 30px Georgia,serif; }
.ss-class-authority ul { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 22px; padding: 0; list-style: none; }
.ss-class-authority li { position: relative; padding-left: 23px; }
.ss-class-authority li::before { content: "✓"; position: absolute; left: 0; color: #556b2f; }
.ss-class-authority > div > a { margin-top: 18px; }

.ss-ttc-cert-wrap { background: #f4ecdf; }
.ss-ttc-cert { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: clamp(35px,6vw,85px); align-items: center; }
.ss-ttc-cert > div > p { max-width: 780px; font-size: 17px; line-height: 1.7; }
.ss-ttc-cert-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin: 30px 0; }
.ss-ttc-cert-grid article { padding: 24px; border: 1px solid #dbd0c2; border-radius: 16px; background: #fffdfa; }
.ss-ttc-cert-grid b { color: #9b6434; font: 700 12px "Courier New",monospace; }
.ss-ttc-cert-grid h3 { margin: 14px 0 8px; color: #4b2d23; font: 400 25px Georgia,serif; }
.ss-ttc-cert-grid p { color: #6e6058; font-size: 14px; line-height: 1.6; }
.ss-ttc-certificate-mock { position: relative; padding: 70px 34px; border: 12px double #b88b5b; outline: 1px solid #7f5b3f; background:#fff; text-align:center; box-shadow:0 24px 60px rgba(75,45,35,.16); }
.ss-ttc-certificate-mock::before { content:"S&S"; display:grid; place-items:center; width:84px; height:84px; margin:0 auto 28px; border:2px solid #9b6434; border-radius:50%; color:#9b6434; font:400 28px Georgia,serif; }
.ss-ttc-certificate-mock span { font:700 11px "Courier New",monospace; letter-spacing:.14em; }
.ss-ttc-certificate-mock h3 { font:400 34px/1.1 Georgia,serif; }
.ss-ttc-certificate-mock i { display:inline-block; margin-top:24px; padding:10px; border:1px solid #9b6434; color:#6d4a33; font:normal 700 10px "Courier New",monospace; }
.ss-ttc-media-wrap { background: #fffdfa; }
.ss-ttc-media header { max-width: 930px; margin-bottom: 42px; }
.ss-ttc-media-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; grid-template-rows: 330px 330px; gap: 14px; }
.ss-ttc-media-grid img,.ss-ttc-media-grid video { width: 100%; height: 100% !important; border-radius: 18px; object-fit: cover; }
.ss-ttc-media-grid > :first-child { grid-row: 1/3; }
.ss-ttc-media-grid video { grid-column: 2/4; }
.ss-ttc-inline-cta { display: flex; align-items: center; justify-content: space-between; gap: 36px; margin-top: 22px; padding: 34px; border-radius: 20px; background:#4b2d23; color:#fff; }
.ss-ttc-inline-cta h3 { margin:0;color:#fff;font:400 34px Georgia,serif; }
.ss-ttc-inline-cta p { max-width:760px;margin-bottom:0;line-height:1.65; }
.ss-ttc-inline-cta a { flex:0 0 auto; }

.ss-approved-footer .ss-footer-cta h2 { max-width: 940px; font-size: clamp(38px,5vw,64px) !important; line-height: 1.02 !important; overflow-wrap: anywhere; }
.ss-approved-footer .ss-footer-cta { gap: 32px; padding-top: clamp(56px,7vw,96px); padding-bottom: clamp(46px,6vw,78px); }

@media (max-width: 1100px) {
  .ss-home-benefits { grid-template-columns: repeat(3,1fr); }
  .ss-home-benefits > div:nth-child(3) { border-right: 0; }
  .ss-home-class-grid { grid-template-columns: repeat(3,1fr); }
  .ss-ttc-cert,.ss-class-authority { grid-template-columns: 1fr; }
  .ss-class-authority > img { min-height: 520px; max-height: 650px; }
  .ss-ttc-cert-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
  #elementor-header-top .elementor-element-11b3672 .theme-btn,
  #elementor-header-top .elementor-element-11b3672 a { min-width: 0; }
  .ss-home-benefits,.ss-home-utility { grid-template-columns: 1fr; margin-bottom: 52px; }
  .ss-home-benefits > div,.ss-home-utility > div { min-height: 104px; border-right:0;border-bottom:1px solid #e8e0d5; }
  .ss-home-class-grid,.ss-membership-new-grid,.ss-contact-visit,.ss-ttc-cert-grid { grid-template-columns: 1fr; }
  .ss-home-class-image { height: 260px; }
  .ss-home-class p { min-height:0; }
  .ss-home-story,.ss-contact-grid { grid-template-columns:1fr; }
  .ss-home-story img { min-height:340px; }
  .ss-dropin,.ss-ttc-inline-cta { display:block; padding:28px 24px; }
  .ss-dropin > a,.ss-ttc-inline-cta a { margin-top:20px; }
  .ss-contact-grid .wpcf7 form { grid-template-columns:1fr; }
  .ss-contact-grid .wpcf7 p { grid-column:1!important; }
  .ss-contact-map iframe { height:360px; }
  .ss-class-authority { gap:32px; }
  .ss-class-authority > img { min-height:400px; max-height:480px; }
  .ss-class-authority ul { grid-template-columns:1fr; }
  .ss-class-facts { flex-wrap:wrap; }
  .ss-ttc-media-grid { display:grid; grid-template-columns:1fr; grid-template-rows:none; }
  .ss-ttc-media-grid > :first-child,.ss-ttc-media-grid video { grid-column:auto;grid-row:auto;height:300px!important; }
  .ss-ttc-media-grid img { height:280px!important; }
  .ss-ttc-certificate-mock { padding:50px 24px; }
}

/* Stable shared rendering of the approved homepage footer. */
.ss-approved-footer { padding: clamp(58px,7vw,96px) clamp(22px,6vw,100px) 28px; background: var(--sun-cream); color: var(--sun-chocolate); }
.ss-footer-cta { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding-bottom: 44px; border-bottom: 1px solid rgba(75,46,37,.15); }
.ss-footer-cta h2 { max-width: 820px; margin: 0; font-size: clamp(42px,5.5vw,76px); line-height: .98; }
.ss-footer-cta > a { flex: 0 0 auto; padding: 16px 24px; border-radius: 999px; background: var(--sun-chocolate); color: #fff !important; font-weight: 600; }
.ss-footer-identity { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; padding: 38px 0; border-bottom: 1px solid rgba(75,46,37,.15); }
.ss-footer-identity p { margin: 0; line-height: 1.7; }
.ss-footer-identity p:last-child { text-align: right; }
.ss-footer-logo img { width: 138px; max-height: 110px; object-fit: contain; }
.ss-footer-main,
.ss-footer-practices { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 28px; padding-top: 28px; }
.ss-footer-main a,
.ss-footer-practices a { color: var(--sun-chocolate); }
.ss-footer-practices { padding-top: 14px; font-size: 13px; }
.ss-footer-legal { display: flex; justify-content: space-between; gap: 22px; margin-top: 34px; padding-top: 24px; border-top: 1px solid rgba(75,46,37,.15); font-size: 12px; }
.ss-footer-legal a { color: var(--sun-chocolate); }

@media (max-width: 767px) {
  .ss-footer-cta { align-items: flex-start; flex-direction: column; }
  .ss-footer-identity { grid-template-columns: 1fr; text-align: center; }
  .ss-footer-identity p:last-child { text-align: center; }
  .ss-footer-logo { grid-row: 1; }
  .ss-footer-legal { flex-direction: column; align-items: center; text-align: center; }
  .page-id-3566 .robina-sched-item { display: block !important; }
  .page-id-3566 .ss-sched-image { display: block; width: 100% !important; min-height: 220px !important; max-height: 240px; }
  .page-id-3566 .ss-sched-image img { display: block; width: 100% !important; height: 230px !important; object-fit: cover; }
  .page-id-3566 .robina-sched-item__main { display: block; width: 100%; padding: 24px 20px !important; }
  .page-id-3566 .robina-sched-item__side { display: flex !important; width: 100%; }
}

/* Desktop classes megamenu: the existing WordPress submenu stays Elementor-editable. */
@media (min-width: 1025px) {
  #elementor-header-top .menuzord-menu > .menu-item-has-children { position: static !important; }
  #elementor-header-top .menuzord-menu > .menu-item-has-children > a::after {
    content: "+";
    display: inline-grid;
    width: 20px;
    height: 20px;
    margin-left: 7px;
    place-items: center;
    border: 1px solid rgba(75,46,37,.28);
    border-radius: 50%;
    font: 700 14px/1 "Montserrat",sans-serif;
    transition: transform .2s ease, background .2s ease, color .2s ease;
  }
  #elementor-header-top .menuzord-menu > .menu-item-has-children:hover > a::after,
  #elementor-header-top .menuzord-menu > .menu-item-has-children:focus-within > a::after {
    transform: rotate(45deg);
    background: var(--sun-chocolate);
    color: #fff;
  }
  #elementor-header-top .menuzord-menu > .menu-item-has-children > ul.dropdown {
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    width: min(840px, calc(100vw - 80px)) !important;
    padding: 22px !important;
    transform: translateX(-50%);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 14px;
    border: 1px solid rgba(75,46,37,.10) !important;
    border-radius: 0 0 22px 22px !important;
    background: rgba(241,233,219,.98) !important;
    box-shadow: 0 26px 60px rgba(75,46,37,.16) !important;
    backdrop-filter: blur(16px);
  }
  #elementor-header-top .menuzord-menu > .menu-item-has-children:hover > ul.dropdown,
  #elementor-header-top .menuzord-menu > .menu-item-has-children:focus-within > ul.dropdown {
    display: grid !important;
  }
  #elementor-header-top .menuzord-menu ul.dropdown li {
    width: auto !important;
    border: 0 !important;
  }
  #elementor-header-top .menuzord-menu ul.dropdown li a {
    display: flex !important;
    align-items: center;
    min-height: 52px;
    padding: 11px 14px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 12px;
    background: var(--sun-chocolate) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  }
  #elementor-header-top .menuzord-menu ul.dropdown li a:hover,
  #elementor-header-top .menuzord-menu ul.dropdown li.current-menu-item a {
    background: var(--sun-deep-sage) !important;
    color: #fff !important;
    transform: translateY(-1px);
  }
}

/* The booking page is a focused conversion journey, not the imported demo contact page. */
.page-id-3573 .ss-booking-intro { padding: clamp(54px,7vw,96px) 20px 26px; text-align: center; }
.page-id-3573 .ss-booking-intro .elementor-widget-container { max-width: 800px; margin-inline: auto; }
.page-id-3573 .ss-booking-kicker { color: var(--sun-terracotta); font: 600 11px/1.2 "Azeret Mono",monospace; letter-spacing: .13em; text-transform: uppercase; }
.page-id-3573 .ss-booking-title { margin: 10px 0 18px; font: 500 clamp(46px,6vw,78px)/.98 "Playfair Display",serif; color: var(--sun-chocolate); }
.page-id-3573 .ss-booking-lead { max-width: 690px; margin-inline: auto; font-size: 17px; line-height: 1.75; }
.page-id-3573 .ss-booking-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; width: min(1040px,calc(100% - 32px)); margin: 0 auto 28px; }
.page-id-3573 .ss-booking-step { padding: 15px 14px; border: 1px solid rgba(75,46,37,.12); border-radius: 14px; background: var(--sun-cream); color: var(--sun-chocolate); text-align: center; font-size: 13px; font-weight: 700; }
.page-id-3573 .ss-booking-step span { display: block; margin-bottom: 5px; color: var(--sun-terracotta); font: 600 10px/1 "Azeret Mono",monospace; }
.page-id-3573 .ss-booking-shell { width: min(1120px,calc(100% - 32px)); margin: 0 auto 40px; }
.page-id-3573 .ss-booking-shell,
.page-id-3573 .ss-booking-shell > .e-con-inner,
.page-id-3573 .ss-booking-shell .elementor-widget-shortcode,
.page-id-3573 .ss-booking-shell .elementor-widget-shortcode > .elementor-widget-container {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  flex-grow: 0 !important;
  align-self: auto !important;
}
.page-id-3573 .robina-booking { overflow: hidden; padding: clamp(18px,3vw,36px) !important; }
.page-id-3573 .robina-stepper { margin-bottom: 30px !important; padding: 14px !important; border-radius: 16px; background: #f8f3eb; }
.page-id-3573 .robina-stepper__label { color: var(--sun-chocolate) !important; font-weight: 700 !important; }
.page-id-3573 .robina-service { min-height: 112px; border: 1px solid rgba(75,46,37,.13) !important; background: #fff !important; }
.page-id-3573 .robina-service__name { font-family: "Playfair Display",serif !important; font-size: 24px !important; }
.page-id-3573 .robina-booking button { min-height: 48px; }
.page-id-3573 .robina-booking button:not([disabled]) { color: #fff !important; }
.page-id-3573 .ss-booking-policies { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; width: min(1120px,calc(100% - 32px)); margin: 0 auto clamp(70px,8vw,110px); }
.page-id-3573 .ss-booking-policy { padding: 24px; border-radius: 18px; background: var(--sun-cream); }
.page-id-3573 .ss-booking-policy strong { display: block; margin-bottom: 8px; color: var(--sun-chocolate); font: 500 25px/1.1 "Playfair Display",serif; }
.page-id-3573 .ss-booking-policy p { margin: 0; font-size: 13px; line-height: 1.65; }

@media (max-width: 767px) {
  .page-id-3573 .ss-booking-intro { padding: 40px 16px 22px; }
  .page-id-3573 .ss-booking-lead { font-size: 15px; }
  .page-id-3573 .ss-booking-steps { grid-template-columns: repeat(2,1fr); width: calc(100% - 20px); }
  .page-id-3573 .ss-booking-shell { width: calc(100% - 20px); }
  .page-id-3573 .robina-booking { padding: 12px !important; }
  .page-id-3573 .robina-stepper { overflow-x: auto; }
  .page-id-3573 .robina-stepper__label { font-size: 9px !important; }
  .page-id-3573 .ss-booking-policies { grid-template-columns: 1fr; width: calc(100% - 20px); }
}

/* Green and chocolate actions always retain accessible white labels. */
.theme-btn:not(.btn-transparent),
.theme-btn:not(.btn-transparent) *,
.btn-theme-colored1,
.btn-theme-colored1 *,
.btn-theme-colored2,
.btn-theme-colored2 *,
.ss-inline-book-cta,
.ss-pricing-grid .tm-sc-button,
.robina-booking button[type="submit"] {
  color: #fff !important;
}

/* Keep every sage/olive action legible, including imported Elementor widgets. */
.theme-btn:not(.btn-transparent),
.theme-btn:not(.btn-transparent) *,
.btn-theme-colored1,
.btn-theme-colored1 *,
.btn-theme-colored2,
.btn-theme-colored2 *,
.tm-sc-button [class*="btn-theme-colored"],
.tm-sc-button [class*="btn-theme-colored"] *,
.ss-green-action,
.ss-green-action *,
.ss-sched-date.is-active,
.ss-sched-date.is-active * {
  color: #fff !important;
}

/* Schedule conversion modal: rich class context, then the native Robina flow. */
.ss-rich-booking-modal .robina-booking-modal__panel {
  width: min(1480px, 96vw) !important;
  max-width: none !important;
  height: min(94vh, 980px) !important;
  max-height: 94vh !important;
  overflow: auto !important;
  border-radius: 26px !important;
  background: #fff !important;
}
.ss-rich-booking-modal .robina-sess {
  display: grid !important;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  min-height: 100%;
}
.ss-rich-booking-modal .robina-sess__hero {
  min-height: 100% !important;
  padding: clamp(28px, 4vw, 58px) !important;
  border-radius: 0 !important;
}
.ss-rich-booking-modal .robina-sess__body {
  padding: clamp(28px, 4vw, 54px) !important;
  overflow-y: auto;
}
.ss-rich-booking-modal .robina-sess__cta {
  min-height: 58px;
  margin-top: 22px !important;
  background: var(--sun-chocolate) !important;
  color: #fff !important;
  font-weight: 700;
}
.ss-modal-class-context { margin-top: 26px; padding-top: 24px; border-top: 1px solid rgba(75,46,37,.13); }
.ss-modal-guidance { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ss-modal-guidance article { padding: 17px 18px; border-radius: 16px; background: #f8f3eb; }
.ss-modal-guidance span,
.ss-checkout-class-bar > span { color: var(--sun-terracotta); font: 700 10px/1.2 "Azeret Mono",monospace; letter-spacing: .1em; text-transform: uppercase; }
.ss-modal-guidance p { margin: 8px 0 0; font-size: 13px; line-height: 1.6; }
.ss-modal-choice { margin: 26px 0 15px; }
.ss-modal-choice h4 { margin: 6px 0 5px; color: var(--sun-chocolate); font: 500 29px/1.08 "Playfair Display",serif; }
.ss-modal-choice p { max-width: 650px; margin: 0; font-size: 13px; line-height: 1.55; }
.ss-modal-plans { display: grid; grid-template-columns: minmax(0,520px); }
.ss-booking-option { display:grid; gap:7px; min-height:122px; padding:20px; border:1px solid rgba(75,46,37,.13); border-radius:17px; background:var(--sun-deep-sage); color:#fff; box-shadow:0 12px 28px rgba(85,107,47,.18); }
.ss-booking-option span { font-size:13px; font-weight:700; }
.ss-booking-option strong { color:#fff; font:600 25px/1.1 "Playfair Display",serif; }
.ss-booking-option small { color:#fff; line-height:1.5; opacity:.88; }
.ss-booking-option.is-single { background:#fff; color:var(--sun-chocolate); box-shadow:none; }
.ss-booking-option.is-single strong,.ss-booking-option.is-single small { color:var(--sun-chocolate); }
.ss-plan-savings { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 22px; margin-top:13px; padding:17px 19px; border:1px solid rgba(75,46,37,.13); border-radius:15px; background:#f8f3eb; }
.ss-plan-savings span,.ss-entitlement-review > span { color:var(--sun-terracotta); font:700 10px/1.2 "Azeret Mono",monospace; letter-spacing:.1em; }
.ss-plan-savings p { margin:5px 0 0; font-size:13px; line-height:1.5; }
.ss-plan-savings p a,.ss-plan-savings > a,.ss-access-confirmation a { color:var(--sun-chocolate); font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.ss-plan-savings > a { font-size:13px; white-space:nowrap; }
.ss-plan-savings > small { grid-column:1/-1; color:#76675f; font-size:11px; }
.ss-checkout-class-bar { display: flex; align-items: center; gap: 15px; padding: 16px 58px 16px 26px; border-bottom: 1px solid rgba(75,46,37,.13); background: var(--sun-cream); }
.ss-checkout-class-bar strong { color: var(--sun-chocolate); font: 500 22px/1.1 "Playfair Display",serif; }
.ss-checkout-class-bar small { flex: 1; color: #6f625b; }
.ss-checkout-class-bar a { color: var(--sun-chocolate); font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.ss-rich-booking-modal .robina-booking { max-width: none !important; min-height: 100%; }
.ss-rich-booking-modal .robina-fs { min-height: calc(94vh - 62px); }

@media (max-width: 767px) {
  .ss-rich-booking-modal .robina-booking-modal__panel { width: 96vw !important; height: 94vh !important; border-radius: 18px !important; }
  .ss-rich-booking-modal .robina-booking-modal__close { top: 8px !important; right: 8px !important; z-index: 5; }
  .ss-rich-booking-modal .robina-sess { display: block !important; }
  .ss-rich-booking-modal .robina-sess__hero { min-height: 250px !important; }
  .ss-rich-booking-modal .robina-sess__body { padding: 22px 17px !important; overflow: visible; }
  .ss-modal-guidance,
  .ss-modal-plans { grid-template-columns: 1fr; }
  .ss-booking-option { min-height: 0; }
  .ss-plan-savings { grid-template-columns:1fr; }
  .ss-plan-savings > small { grid-column:auto; }
  .ss-checkout-class-bar { align-items: flex-start; flex-direction: column; gap: 5px; padding: 18px 48px 18px 18px; }
  .ss-checkout-class-bar small { flex: none; }
  .ss-rich-booking-modal .robina-fs { min-height: 0; }
}

/* Prevent the account item and primary booking action colliding in the desktop header. */
.ss-mobile-account-action { display: none !important; }
@media (min-width: 768px) {
  #elementor-header-top .menuzord-menu > li.ss-mobile-account-action { display: flex !important; }
}
@media (min-width: 1025px) {
  #elementor-header-top .elementor-element-daf785e > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(160px,190px) minmax(0,1fr) minmax(176px,205px) !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    padding-inline: clamp(12px,1.8vw,28px) !important;
  }
  #elementor-header-top .elementor-element-ac5d23e,
  #elementor-header-top .elementor-element-5da20ed,
  #elementor-header-top .elementor-element-2d737c3 { width: auto !important; min-width: 0 !important; }
  #elementor-header-top .elementor-element-5da20ed { justify-self: center; }
  #elementor-header-top .elementor-element-2d737c3 { justify-self: end; }
  #elementor-header-top .menuzord-menu > li > a { padding-inline: clamp(5px,.62vw,10px) !important; font-size: clamp(10px,.86vw,13px) !important; }
  #elementor-header-top .elementor-element-2d737c3 .theme-btn { min-width: 176px; justify-content: center; }
}

/* September 2026 booking, schedule and contact refinement. */
.ss-week-selector { display: flex; justify-content: flex-start; margin: 0 0 12px; }
.ss-week-selector label { width: min(280px,100%); }
.ss-week-selector span,
.ss-schedule-filters label > span { display: block; margin: 0 0 7px 4px; color: var(--sun-terracotta); font: 700 10px/1.2 "Azeret Mono",monospace; letter-spacing: .1em; text-transform: uppercase; }
.ss-week-selector select,
.ss-schedule-filters select { width: 100%; min-height: 52px; padding: 0 42px 0 16px; border: 1px solid rgba(75,46,37,.16); border-radius: 13px; background-color: #fff; color: var(--sun-chocolate); }
.ss-schedule-date-strip { grid-template-columns: 54px repeat(7,minmax(82px,1fr)) 54px !important; }
.ss-sched-arrow { min-height: 82px; border: 1px solid rgba(75,46,37,.14); border-radius: 13px; background: var(--sun-chocolate); color: #fff !important; font-size: 22px; }
.ss-sched-arrow:disabled { opacity: .3; cursor: not-allowed; }
.ss-schedule-filters { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.ss-sched-date { min-height: 82px; }

.ss-rich-booking-modal .robina-booking-modal__close { position: fixed !important; top: max(18px,env(safe-area-inset-top)) !important; right: max(18px,env(safe-area-inset-right)) !important; z-index: 100004 !important; display: grid !important; place-items: center; width: 48px !important; height: 48px !important; border: 1px solid rgba(75,46,37,.16) !important; border-radius: 50% !important; background: #fff !important; color: var(--sun-chocolate) !important; box-shadow: 0 10px 28px rgba(0,0,0,.16); }
.ss-rich-booking-modal .robina-sess__hero::before,
.ss-rich-booking-modal .robina-sess__hero::after { display: none !important; content: none !important; }
.ss-rich-booking-modal .robina-sess__hero { background-blend-mode: normal !important; }
.ss-modal-class-title { margin: 0 0 16px; }
.ss-modal-class-title span { color: var(--sun-terracotta); font: 700 10px/1.2 "Azeret Mono",monospace; letter-spacing: .12em; }
.ss-modal-class-title h2 { margin: 7px 0 0; color: var(--sun-chocolate); font: 500 clamp(38px,4vw,58px)/1 "Playfair Display",serif; }
.ss-rich-booking-modal .robina-pay[hidden] { display:none !important; }
.ss-entitlement-review { margin-top:14px; padding:16px 18px; border-radius:14px; background:#e7eddc; color:#34451e; }
.ss-entitlement-review strong { display:block; margin-top:5px; color:#34451e; font-size:16px; }
.ss-entitlement-review p { margin:5px 0 0; font-size:13px; line-height:1.5; }
.ss-access-confirmation { margin:14px auto 0; padding:12px 14px; border-radius:12px; background:#e7eddc; color:#34451e; font-weight:700; }
.ss-booking-exit { position: fixed; inset: 0; z-index: 100005; display: none; place-items: center; padding: 18px; background: rgba(35,24,20,.76); backdrop-filter: blur(5px); }
.ss-booking-exit.is-open { display: grid; }
.ss-booking-exit__card { width: min(520px,100%); padding: clamp(28px,5vw,46px); border-radius: 24px; background: #fbf8f2; text-align: center; box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.ss-booking-exit__card > span { color: var(--sun-terracotta); font: 700 10px/1.2 "Azeret Mono",monospace; letter-spacing: .12em; }
.ss-booking-exit__card h3 { margin: 12px 0; color: var(--sun-chocolate); font: 500 38px/1.08 "Playfair Display",serif; }
.ss-booking-exit__card > div { display: flex; justify-content: center; gap: 10px; margin-top: 22px; }
.ss-booking-exit__card button { min-height: 50px; padding: 12px 20px; border-radius: 999px; border: 1px solid var(--sun-chocolate); background: transparent; color: var(--sun-chocolate); font-weight: 700; }
.ss-booking-exit__card [data-keep-booking] { background: var(--sun-deep-sage); border-color: var(--sun-deep-sage); color: #fff; }

.page-id-3573 .ss-booking-shell { width: min(1380px,calc(100% - 32px)); }
.page-id-3573 .ss-booking-intro > .e-con-inner { padding: 0 !important; }
.page-id-3573 .robina-booking { max-width: 1320px !important; }
.page-id-3573 .robina-fs { grid-template-columns: 240px minmax(0,1fr) !important; }
.page-id-3573 .robina-services { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.page-id-3573 .robina-service { min-width: 0; min-height: 300px; }
.page-id-3573 .robina-service__thumb { height: 145px !important; }
.page-id-3573 .robina-service__price,
.ss-money { color: var(--sun-deep-sage) !important; font-weight: 800 !important; }
.page-id-3573 .robina-cal__day:not(.is-disabled):not(.is-selected):not(.robina-cal__day--blank),
.page-id-3573 .robina-dt__slot:not(.is-selected) { background: #e7eddc !important; border-color: rgba(85,107,47,.35) !important; color: #34451e !important; }
.page-id-3573 .robina-cal__day.is-selected,
.page-id-3573 .robina-dt__slot.is-selected { background: var(--sun-deep-sage) !important; border-color: var(--sun-deep-sage) !important; color: #fff !important; transform: scale(1.06); box-shadow: 0 8px 20px rgba(85,107,47,.2); }
.page-id-3573 .robina-cal__nav,
.page-id-3573 .robina-btn--ghost { border-color: var(--sun-deep-sage) !important; background: #fff !important; color: var(--sun-deep-sage) !important; font-weight: 700; }
.page-id-3573 .robina-cal__nav:not(:disabled):hover,
.page-id-3573 .robina-btn--ghost:hover { background: var(--sun-deep-sage) !important; color: #fff !important; }
.page-id-3573 .ss-booking-policies { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.page-id-3573 .ss-booking-policy { min-height: 220px; padding: 30px; }
.ss-booking-help { width: min(1120px,calc(100% - 32px)); margin: -50px auto 90px; padding: clamp(30px,5vw,54px); border-radius: 24px; background: var(--sun-deep-sage); color: #fff; text-align: center; }
.ss-booking-help h2 { margin: 0 0 12px; color: #fff; font: 500 clamp(34px,5vw,54px)/1.08 "Playfair Display",serif; }
.ss-booking-help p { max-width: 650px; margin: 0 auto 22px; }
.ss-booking-help a { display: inline-flex; min-height: 52px; align-items: center; padding: 12px 24px; border-radius: 999px; background: var(--sun-chocolate); color: #fff !important; font-weight: 700; }

.ss-contact-intro { text-align: center; }
.ss-contact-intro > .e-con-inner,
.ss-contact-map > .e-con-inner,
.ss-contact-visit-wrap > .e-con-inner { padding: 0 !important; }
.ss-contact-intro h2 { margin: 8px auto 16px; max-width: 900px; color: var(--sun-chocolate); font: 500 clamp(42px,6vw,72px)/1 "Playfair Display",serif; }
.ss-contact-intro p { max-width: 720px; margin-inline: auto; }
.ss-contact-grid > .e-con-inner { display: grid !important; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 28px; padding: 0 !important; }
.ss-contact-details,.ss-contact-form { padding: clamp(26px,4vw,44px); border: 1px solid rgba(75,46,37,.12); border-radius: 24px; background: #fff; box-shadow: 0 18px 45px rgba(75,46,37,.06); }
.ss-contact-details h3,.ss-contact-form h3 { margin: 0 0 20px; color: var(--sun-chocolate); font: 500 38px/1.08 "Playfair Display",serif; }
.ss-contact-list { display: grid; gap: 14px; }
.ss-contact-list a,.ss-contact-list address { display: block; padding: 18px; border-radius: 15px; background: var(--sun-cream); color: var(--sun-chocolate); font-style: normal; }
.ss-contact-form input,.ss-contact-form textarea { width: 100%; min-height: 52px; padding: 12px 15px; border: 1px solid rgba(75,46,37,.18); border-radius: 12px; background: #fbf8f2; }
.ss-contact-form input[type="submit"] { width: auto; padding-inline: 26px; border: 0; border-radius: 999px; background: var(--sun-chocolate); color: #fff; font-weight: 700; }
.ss-contact-map iframe,
.ss-contact-map .elementor-google-map { display: block; width: 100%; height: min(58vw,520px) !important; border: 0; border-radius: 24px; overflow: hidden; }
.ss-contact-visit { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.ss-contact-visit article { padding: 26px; border-radius: 18px; background: var(--sun-cream); }
.ss-contact-visit h3 { margin: 0 0 9px; font-size: 28px; }

.woocommerce-checkout .woocommerce { width: min(1180px,calc(100% - 32px)); margin: 58px auto 90px; }
.ss-commerce-intro { margin: 0 0 30px; padding: clamp(28px,5vw,46px); border-radius: 24px; background: var(--sun-cream); }
.ss-commerce-intro h2 { margin: 7px 0 10px; color: var(--sun-chocolate); font: 500 clamp(38px,5vw,60px)/1 "Playfair Display",serif; }
.ss-order-celebration { margin: 30px 0; padding: clamp(34px,6vw,70px); border-radius: 28px; background: #edf2e4; text-align: center; }
.ss-order-check { display: grid; place-items: center; width: 84px; height: 84px; margin: 0 auto 20px; border-radius: 50%; background: var(--sun-deep-sage); color: #fff; font-size: 48px; }
.ss-order-celebration h2 { margin: 8px 0 14px; color: var(--sun-chocolate); font: 500 clamp(40px,6vw,68px)/1 "Playfair Display",serif; }
.ss-order-selection { font-weight: 800; }
.ss-order-celebration a { display: inline-flex; min-height: 52px; align-items: center; margin-top: 18px; padding: 12px 24px; border-radius: 999px; background: var(--sun-chocolate); color: #fff !important; font-weight: 700; }

@media (max-width: 900px) {
  .ss-schedule-date-strip { display: flex !important; overflow-x: auto; }
  .ss-schedule-date-strip > * { flex: 0 0 84px; }
  .ss-sched-arrow { flex-basis: 52px; }
  .page-id-3573 .robina-fs { grid-template-columns: 1fr !important; }
  .page-id-3573 .robina-services { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .ss-contact-grid > .e-con-inner { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  #elementor-header-top .ss-mobile-account-action { display: block !important; }
  .ss-schedule-filters { grid-template-columns: 1fr !important; }
  .ss-modal-plans,.ss-booking-exit__card > div { grid-template-columns: 1fr; display: grid; }
  .page-id-3573 .robina-services { grid-template-columns: 1fr !important; }
  .page-id-3573 .robina-service { min-height: 0; }
  .page-id-3573 .ss-booking-policies,.ss-contact-visit { grid-template-columns: 1fr; }
  .page-id-3573 .ss-booking-policy { min-height: 0; padding: 24px; }
  .ss-booking-help { width: calc(100% - 20px); margin-top: -45px; }
  .ss-contact-map iframe { height: 390px; }
  .ss-rich-booking-modal .robina-booking-modal__close { top: 10px !important; right: 10px !important; }
}

/* Footer composition: address / small mark / contact, then calm navigation rows. */
#elementor-footer .elementor-element-c986e8c,
.elementor-location-footer .elementor-element-c986e8c {
  display: grid !important;
  grid-template-columns: minmax(220px,1fr) auto minmax(260px,1fr) !important;
  align-items: center !important;
  gap: 34px !important;
}
#elementor-footer .elementor-element-c986e8c .elementor-widget-image,
.elementor-location-footer .elementor-element-c986e8c .elementor-widget-image { justify-self: center; }
#elementor-footer .elementor-element-be44618,
.elementor-location-footer .elementor-element-be44618 {
  justify-self: end;
  text-align: right;
}
#elementor-footer .elementor-element-2c77dc1 .menuzord-menu,
#elementor-footer .elementor-element-e6e25d9 .menuzord-menu,
.elementor-location-footer .elementor-element-2c77dc1 .menuzord-menu,
.elementor-location-footer .elementor-element-e6e25d9 .menuzord-menu {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
  gap: 6px 26px;
}
#elementor-footer .menuzord-menu ul.dropdown,
.elementor-location-footer .menuzord-menu ul.dropdown { display: none !important; }
#elementor-footer .menuzord-menu > li > a,
.elementor-location-footer .menuzord-menu > li > a { padding: 8px 0 !important; }

/* Phase-one Founding 50 proposition: only the first 30 are currently offered. */
.page-id-3605 .ss-founding-offer-title .elementor-heading-title,
.page-id-3605 .tm-sc-section-title .title {
  text-wrap: balance;
}
.page-id-3605 .ss-founding-phase-card {
  border: 1px solid rgba(75,46,37,.12) !important;
  border-radius: 22px !important;
  box-shadow: 0 20px 55px rgba(75,46,37,.08);
  overflow: hidden;
}
.page-id-3605 .elementor-element-8454bbc.ss-founding-phase-card,
.home .elementor-element-8454bbc.ss-founding-phase-card {
  background: var(--sun-deep-sage) !important;
  color: #fff !important;
  box-shadow: 0 25px 70px rgba(85,107,47,.25);
}
.page-id-3605 .elementor-element-8454bbc.ss-founding-phase-card h1,
.page-id-3605 .elementor-element-8454bbc.ss-founding-phase-card h2,
.page-id-3605 .elementor-element-8454bbc.ss-founding-phase-card h3,
.page-id-3605 .elementor-element-8454bbc.ss-founding-phase-card h4,
.page-id-3605 .elementor-element-8454bbc.ss-founding-phase-card p,
.page-id-3605 .elementor-element-8454bbc.ss-founding-phase-card span,
.home .elementor-element-8454bbc.ss-founding-phase-card h4,
.home .elementor-element-8454bbc.ss-founding-phase-card span { color: #fff !important; }
.page-id-3605 .elementor-element-8454bbc .pricing-block-style1,
.page-id-3605 .elementor-element-8454bbc .inner-block,
.page-id-3605 .elementor-element-8454bbc .content-block,
.home .elementor-element-8454bbc .pricing-block-style1,
.home .elementor-element-8454bbc .inner-block,
.home .elementor-element-8454bbc .content-block {
  background: var(--sun-deep-sage) !important;
}
.page-id-3605 .elementor-element-8454bbc .pricing-title,
.page-id-3605 .elementor-element-8454bbc .pricing-title a,
.page-id-3605 .elementor-element-8454bbc .pricing-details,
.page-id-3605 .elementor-element-8454bbc .pricing-details *,
.page-id-3605 .elementor-element-8454bbc .price,
.home .elementor-element-8454bbc .pricing-title,
.home .elementor-element-8454bbc .pricing-title a,
.home .elementor-element-8454bbc .pricing-details,
.home .elementor-element-8454bbc .pricing-details *,
.home .elementor-element-8454bbc .price { color: #fff !important; }
.ss-founding-phase-card .btn-theme-colored1 {
  background: var(--sun-chocolate) !important;
  border-color: var(--sun-chocolate) !important;
  color: #fff !important;
}
.elementor-element-8454bbc.ss-founding-phase-card .btn-theme-colored1 {
  background: var(--sun-cream) !important;
  border-color: var(--sun-cream) !important;
  color: var(--sun-chocolate) !important;
}
.page-id-3605 .ss-founding-phase-card h3,
.page-id-3605 .ss-founding-phase-card .pricing-plan-label { font-weight: 700 !important; }
.ss-founding-urgency {
  display: inline-flex;
  margin: 0 0 14px;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--sun-chocolate);
  color: #fff;
  font: 600 12px/1 "Azeret Mono", monospace;
  letter-spacing: .07em;
  text-transform: uppercase;
}

/* Pricing is intentionally spacious: two substantial choices per row. */
.page-id-3568 .elementor-element-cf2758b { align-items: stretch !important; }
.page-id-3568 .ss-price-card {
  min-height: 100%;
  border-radius: 22px;
  overflow: hidden;
}
.page-id-3568 .ss-price-featured {
  background: var(--sun-chocolate) !important;
  box-shadow: 0 26px 70px rgba(75,46,37,.22);
}
.page-id-3568 .ss-price-featured h1,
.page-id-3568 .ss-price-featured h2,
.page-id-3568 .ss-price-featured h3,
.page-id-3568 .ss-price-featured h4,
.page-id-3568 .ss-price-featured p,
.page-id-3568 .ss-price-featured li,
.page-id-3568 .ss-price-featured span { color: #fff !important; }
.page-id-3568 .ss-price-featured .tm-sc-pricing-plan * { color: #fff !important; }
.page-id-3568 .ss-price-featured .pricing-plan-label {
  background: var(--sun-sage) !important;
  color: #fff !important;
}
.page-id-3568 .ss-price-featured .btn {
  border-color: #fff !important;
  background: transparent !important;
  color: #fff !important;
}
.page-id-3568 .ss-membership-intro { padding: clamp(58px,7vw,96px) 20px 34px; text-align: center; }
.page-id-3568 .ss-membership-intro > .e-con-inner,
.page-id-3568 .ss-membership-intro .elementor-widget-container { max-width: 820px; margin-inline: auto; }
.page-id-3568 .ss-membership-kicker { color: var(--sun-terracotta); font: 600 11px/1.2 "Azeret Mono",monospace; letter-spacing: .13em; text-transform: uppercase; }
.page-id-3568 .ss-membership-title { margin: 10px 0 16px; font: 500 clamp(46px,6vw,76px)/.98 "Playfair Display",serif; }
.page-id-3568 .ss-membership-lead { font-size: 17px; line-height: 1.75; }
.page-id-3568 .ss-membership-grid { display: block !important; width: min(1180px,calc(100% - 32px)); margin: 0 auto 28px; }
.page-id-3568 .ss-membership-grid > .e-con-inner { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; width: 100%; padding: 0 !important; }
.page-id-3568 .ss-membership-grid > .e-con-inner > .ss-membership-card { width: auto !important; max-width: none !important; }
.page-id-3568 .ss-membership-card { display: flex; min-height: 480px; flex-direction: column; padding: clamp(26px,4vw,42px); border: 1px solid rgba(75,46,37,.13); border-radius: 24px; background: #fff; box-shadow: 0 18px 50px rgba(75,46,37,.07); }
.page-id-3568 .ss-membership-card .elementor-widget-button { margin-top: auto; }
.page-id-3568 .ss-membership-card .elementor-button { width: 100%; min-height: 54px; border-radius: 999px; background: var(--sun-chocolate); color: #fff !important; font-weight: 700; }
.page-id-3568 .ss-membership-card h3 { margin: 12px 0 14px; font-size: clamp(34px,4vw,52px); line-height: 1; }
.page-id-3568 .ss-membership-price { margin: 3px 0 24px; color: var(--sun-chocolate); font: 500 clamp(48px,6vw,72px)/1 "Playfair Display",serif; }
.page-id-3568 .ss-membership-price small { font: 600 11px/1.2 "Azeret Mono",monospace; }
.page-id-3568 .ss-membership-card ul { margin: 8px 0 28px; padding: 0; list-style: none; }
.page-id-3568 .ss-membership-card li { padding: 11px 0 11px 26px; border-bottom: 1px solid rgba(75,46,37,.10); position: relative; }
.page-id-3568 .ss-membership-card li::before { content: "✓"; position: absolute; left: 0; color: var(--sun-deep-sage); font-weight: 800; }
.page-id-3568 .ss-membership-card.is-featured { background: var(--sun-chocolate); color: #fff; box-shadow: 0 26px 70px rgba(75,46,37,.22); }
.page-id-3568 .ss-membership-card.is-featured h3,
.page-id-3568 .ss-membership-card.is-featured .ss-membership-price,
.page-id-3568 .ss-membership-card.is-featured li { color: #fff; }
.page-id-3568 .ss-membership-card.is-featured .ss-membership-kicker { color: var(--sun-latte); }
.page-id-3568 .ss-membership-card.is-featured li { border-color: rgba(255,255,255,.16); }
.page-id-3568 .ss-membership-card.is-featured li::before { color: var(--sun-latte); }
.page-id-3568 .ss-membership-card.is-featured .elementor-button { background: var(--sun-sage); }
.page-id-3568 .ss-membership-note { width: min(1180px,calc(100% - 32px)); margin: 0 auto clamp(70px,8vw,105px); padding: clamp(24px,4vw,38px); border-radius: 22px; background: var(--sun-cream); text-align: center; }
.page-id-3568 .ss-membership-note h3 { font-size: clamp(30px,4vw,46px); }
.page-id-3568 .ss-membership-note .elementor-button { border-radius: 999px; background: var(--sun-chocolate); color: #fff !important; }

@media (max-width: 767px) {
  .page-id-3568 .ss-membership-intro { padding: 42px 16px 25px; }
  .page-id-3568 .ss-membership-lead { font-size: 15px; }
  .page-id-3568 .ss-membership-grid { grid-template-columns: 1fr; width: calc(100% - 20px); }
  .page-id-3568 .ss-membership-grid > .e-con-inner { grid-template-columns: 1fr; }
  .page-id-3568 .ss-membership-card { min-height: 0; padding: 25px 20px; }
  .page-id-3568 .ss-membership-note { width: calc(100% - 20px); }
}

/* Practice pages lead with the named modality and keep booking close at hand. */
.sun-sage-practice-page .ss-practice-name h2 {
  margin: 0 0 18px;
  color: var(--sun-chocolate);
  font-size: clamp(42px,6vw,78px);
  line-height: .98;
}
.sun-sage-practice-page .ss-practice-name .ss-practice-eyebrow,
.ss-member-kicker {
  color: var(--sun-terracotta);
  font: 600 12px/1.2 "Azeret Mono", monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sun-sage-practice-page .elementor-widget-image img {
  max-width: 100%;
  object-fit: cover;
  object-position: center;
}
.ss-inline-book-cta {
  display: inline-flex;
  align-items: center;
  min-height: 50px;
  margin-top: 16px;
  padding: 12px 22px;
  border-radius: 999px;
  background: var(--sun-chocolate);
  font-weight: 600;
}
.ss-inline-book-cta:hover { background: var(--sun-deep-sage); color: #fff; transform: translateY(-2px); }

/* Category agenda opens into relevant, actionable service cards. */
.ss-agenda-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
  margin-top: 18px;
}
.ss-agenda-card {
  overflow: hidden;
  border: 1px solid rgba(75,46,37,.10);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(75,46,37,.07);
}
.ss-agenda-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center; }
.ss-agenda-card-content { padding: 18px; }
.ss-agenda-card h4 { margin: 0 0 8px; font-size: 25px; }
.ss-agenda-card p { margin-bottom: 14px; font-size: 14px; line-height: 1.6; }
.ss-agenda-meta { font: 500 11px/1.4 "Azeret Mono", monospace; color: var(--sun-terracotta); text-transform: uppercase; }

/* Logged-in students can recognise booked classes immediately. */
.ss-member-classes h2 { font-size: clamp(42px,6vw,68px); }
.ss-member-booking-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.ss-member-booking,
.ss-member-empty {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 22px;
  padding: 24px;
  border: 1px solid rgba(75,46,37,.12);
  border-radius: 18px;
  background: #fff;
}
.ss-member-booking.is-booked { border-left: 7px solid var(--sun-deep-sage); }
.ss-member-booking time { display: flex; flex-direction: column; text-align: center; }
.ss-member-booking time strong { font: 500 46px/.95 "Playfair Display",serif; color: var(--sun-chocolate); }
.ss-booked-badge { display: inline-block; padding: 5px 10px; border-radius: 999px; background: var(--sun-deep-sage); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.ss-member-empty { display: block; }

/* 200-hour TTC: editorial, information-rich and entirely Elementor-editable. */
.sun-sage-ttc-page .ss-ttc-section > .e-con-inner { gap: clamp(26px,4vw,58px); }
.sun-sage-ttc-page .ss-ttc-hero > .e-con-inner,
.sun-sage-ttc-page .ss-ttc-split > .e-con-inner,
.sun-sage-ttc-page .ss-ttc-manual-grid,
.sun-sage-ttc-page .ss-ttc-invest > .e-con-inner { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; }
.sun-sage-ttc-page .ss-ttc-hero > .e-con-inner { grid-template-columns: minmax(0,1.08fr) minmax(340px,.92fr); }
.ss-ttc-hero-copy { align-self: center; }
.ss-ttc-display { max-width: 920px; }
.ss-ttc-display .elementor-heading-title { margin: 10px 0 24px; font-size: clamp(52px,7vw,98px); line-height: .94; letter-spacing: -.035em; }
.ss-ttc-section-title .elementor-heading-title { margin: 10px 0 24px; font-size: clamp(40px,5vw,70px); line-height: 1; letter-spacing: -.025em; }
.ss-ttc-eyebrow { color: var(--sun-terracotta); font: 600 11px/1.2 "Azeret Mono",monospace; letter-spacing: .13em; text-transform: uppercase; }
.ss-ttc-lead { max-width: 720px; font-size: clamp(17px,2vw,21px); line-height: 1.75; }
.ss-ttc-actions { display: flex; gap: 12px; margin-top: 26px; }
.ss-ttc-primary .elementor-button { min-height: 54px; padding: 17px 25px; border-radius: 999px; background: var(--sun-chocolate); color: #fff; }
.ss-ttc-secondary .elementor-button { min-height: 54px; padding: 16px 25px; border: 1px solid rgba(75,46,37,.24); border-radius: 999px; background: transparent; color: var(--sun-chocolate); }
.ss-ttc-hero-visual { position: relative; }
.ss-ttc-hero-image img,
.ss-ttc-wide-image img { width: 100%; object-fit: cover; }
.ss-ttc-hero-image img { min-height: 620px; border-radius: 48% 48% 22px 22px; }
.ss-ttc-image-note { position: absolute; right: 18px; bottom: 18px; padding: 12px 17px; border-radius: 999px; background: rgba(241,233,219,.92); color: var(--sun-chocolate); font: 600 10px/1 "Azeret Mono",monospace; text-transform: uppercase; }
.ss-ttc-facts { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: 8px; overflow: hidden; border: 1px solid rgba(75,46,37,.13); border-radius: 18px; background: rgba(75,46,37,.13); }
.ss-ttc-fact { padding: 22px; background: #fff; }
.ss-ttc-fact p { margin: 0; }
.ss-ttc-fact span { display: block; margin-bottom: 7px; color: var(--sun-terracotta); font: 500 9px/1 "Azeret Mono",monospace; text-transform: uppercase; }
.ss-ttc-fact strong { color: var(--sun-chocolate); font: 500 24px/1.1 "Playfair Display",serif; }
.ss-ttc-copy-col p,
.ss-ttc-intro { font-size: 17px; line-height: 1.8; }
.ss-ttc-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.ss-ttc-card { padding: 26px; border: 1px solid rgba(75,46,37,.10); border-radius: 20px; background: #fff; box-shadow: 0 14px 36px rgba(75,46,37,.06); }
.ss-ttc-card h3 { margin: 0 0 10px; font-size: 27px; }
.ss-ttc-card p { margin: 0; line-height: 1.65; }
.ss-ttc-manual,
.ss-ttc-manual h2,
.ss-ttc-manual h3,
.ss-ttc-manual p,
.ss-ttc-manual li,
.ss-ttc-final,
.ss-ttc-final h2,
.ss-ttc-final p { color: #fff !important; }
.ss-ttc-manual .ss-ttc-eyebrow,
.ss-ttc-final .ss-ttc-eyebrow { color: var(--sun-cream); }
.ss-ttc-wide-image img { min-height: 520px; border-radius: 22px; }
.ss-ttc-manual-copy { padding: clamp(20px,4vw,54px); }
.ss-ttc-manual-copy p,
.ss-ttc-manual-copy li { font-size: 16px; line-height: 1.75; }
.ss-ttc-module-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 32px; }
.ss-ttc-module { min-height: 100%; padding: 28px; border: 1px solid rgba(75,46,37,.11); border-radius: 20px; background: #fff; }
.ss-ttc-module h3 { margin: 14px 0 12px; font-size: 28px; }
.ss-ttc-module p { margin: 0; line-height: 1.7; }
.ss-ttc-number { color: var(--sun-terracotta); font: 500 13px "Azeret Mono",monospace; }
.ss-ttc-included-grid { grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 30px; }
.ss-ttc-included-card { box-shadow: none; }
.ss-ttc-timeline { overflow: hidden; border: 1px solid rgba(75,46,37,.12); border-radius: 22px; }
.ss-ttc-time { padding: 18px 22px; border-bottom: 1px solid rgba(75,46,37,.09); background: #fff; }
.ss-ttc-time:last-child { border: 0; }
.ss-ttc-time p { display: grid; grid-template-columns: 90px 1fr; gap: 20px; margin: 0; }
.ss-ttc-time strong { color: var(--sun-terracotta); font-family: "Azeret Mono",monospace; }
.ss-ttc-checklist ul { margin: 22px 0; padding: 0; list-style: none; }
.ss-ttc-checklist li { position: relative; margin: 0 0 12px; padding-left: 28px; line-height: 1.6; }
.ss-ttc-checklist li::before { content: "✓"; position: absolute; left: 0; color: var(--sun-deep-sage); font-weight: 700; }
.ss-ttc-placeholder { border-style: dashed; background: var(--sun-cream); box-shadow: none; }
.ss-ttc-invest,
.ss-ttc-invest h2,
.ss-ttc-invest h3,
.ss-ttc-invest p,
.ss-ttc-invest li { color: #fff !important; }
.ss-ttc-invest .ss-ttc-eyebrow { color: var(--sun-latte); }
.ss-ttc-invest .ss-ttc-checklist li::before { color: var(--sun-sage); }
.ss-ttc-price .elementor-heading-title { margin: 14px 0; color: #fff; font-size: clamp(62px,8vw,105px); line-height: .9; }
.ss-ttc-faq-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 34px; margin-top: 26px; border-top: 1px solid rgba(75,46,37,.12); }
.ss-ttc-faq { padding: 24px 0; border-bottom: 1px solid rgba(75,46,37,.12); }
.ss-ttc-faq h3 { margin: 0 0 10px; font-size: 25px; }
.ss-ttc-faq p { margin: 0; line-height: 1.7; }
.ss-ttc-final { text-align: center; }
.ss-ttc-final .ss-ttc-display,
.ss-ttc-final .ss-ttc-lead { margin-inline: auto; }
.ss-ttc-final .ss-ttc-primary { margin: 24px auto 0; }

/* Knowledge-rich conversion section appended to each practice page. */
.ss-practice-enrichment { text-align: center; }
.ss-practice-rich-title { max-width: 960px; margin-inline: auto; }
.ss-practice-rich-title .elementor-heading-title { margin: 10px 0 20px; font-size: clamp(42px,5.5vw,72px); line-height: 1; }
.ss-practice-rich-copy { max-width: 800px; margin: 0 auto 32px; font-size: 17px; line-height: 1.8; }
.ss-practice-benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.ss-practice-benefit-card { padding: 30px 20px; border: 1px solid rgba(75,46,37,.11); border-radius: 120px 120px 20px 20px; background: #fff; }
.ss-practice-benefit-card h3 { margin: 12px 0 0; font-size: 29px; }
.ss-practice-benefit-number { color: var(--sun-terracotta); font: 500 11px "Azeret Mono",monospace; }
.ss-practice-cta-panel { margin-top: 46px; padding: clamp(28px,5vw,54px); border-radius: 22px; background: var(--sun-deep-sage); color: #fff; }
.ss-practice-cta-panel h2,
.ss-practice-cta-panel p { color: #fff !important; }
.ss-practice-cta-panel h2 { margin: 0 0 10px; font-size: clamp(36px,4vw,54px); }
.ss-practice-cta-panel .ss-ttc-primary { margin: 18px auto 0; }

@media (max-width: 1024px) {
  .ss-agenda-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ss-member-booking-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  #elementor-footer .elementor-element-c986e8c,
  .elementor-location-footer .elementor-element-c986e8c {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    text-align: center;
  }
  #elementor-footer .elementor-element-be44618,
  .elementor-location-footer .elementor-element-be44618 { justify-self: center; text-align: center; }
  #elementor-footer .elementor-element-2c77dc1 .menuzord-menu,
  #elementor-footer .elementor-element-e6e25d9 .menuzord-menu,
  .elementor-location-footer .elementor-element-2c77dc1 .menuzord-menu,
  .elementor-location-footer .elementor-element-e6e25d9 .menuzord-menu { gap: 2px 18px; }
  .ss-agenda-grid { grid-template-columns: 1fr; }
  .ss-member-booking { grid-template-columns: 74px 1fr; gap: 16px; padding: 18px; }
  .page-id-3568 .ss-price-card { width: 100% !important; }
  .page-id-3566 .robina-schedule { padding: 16px !important; }
  .robina-schedule-view__switch { margin-bottom: 24px; }
  .ss-schedule-intro { grid-template-columns: 1fr; gap: 12px; }
  .ss-schedule-date-strip { display: flex; margin-inline: -16px; padding: 0 16px 8px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .ss-sched-date { flex: 0 0 68px; scroll-snap-align: start; }
  .ss-schedule-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ss-filter-today { width: 100%; }
  .page-id-3566 .robina-sched-item { grid-template-columns: 1fr; gap: 0; }
  .ss-sched-image { min-height: 210px; max-height: 235px; }
  .page-id-3566 .robina-sched-item__main { padding: 24px 20px; }
  .page-id-3566 .robina-sched-item__side { min-width: 0; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 18px 20px; border-top: 1px solid rgba(75,46,37,.09); border-left: 0; text-align: left; }
  .page-id-3566 .robina-sched-item__book { min-width: 128px; }
  .sun-sage-ttc-page .ss-ttc-hero > .e-con-inner,
  .sun-sage-ttc-page .ss-ttc-split > .e-con-inner,
  .sun-sage-ttc-page .ss-ttc-manual-grid,
  .sun-sage-ttc-page .ss-ttc-invest > .e-con-inner { grid-template-columns: 1fr; }
  .ss-ttc-display .elementor-heading-title { font-size: clamp(48px,14vw,66px); }
  .ss-ttc-hero-image img { min-height: 440px; }
  .ss-ttc-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ss-ttc-card-grid,
  .ss-ttc-module-grid,
  .ss-ttc-included-grid,
  .ss-ttc-faq-grid,
  .ss-practice-benefit-grid { grid-template-columns: 1fr; }
  .ss-ttc-module { padding: 24px 20px; }
  .ss-ttc-wide-image img { min-height: 330px; }
  .ss-ttc-actions { flex-direction: column; }
  .ss-ttc-actions .elementor-widget-button { width: 100%; }
  .ss-ttc-actions .elementor-button { width: 100%; }
  .ss-practice-benefit-card { border-radius: 80px 80px 18px 18px; }
}
.tm-header .menuzord-menu > li > a { color: var(--sun-chocolate) !important; }
.tm-header .menuzord-menu > li > a:hover { color: var(--sun-deep-sage) !important; }
.tm-header .menuzord-menu > li > a[href*="/book-a-class/"] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-block: 13px;
  padding: 10px 18px !important;
  border-radius: 999px;
  background: var(--sun-chocolate);
  color: #fff !important;
}
.tm-header .menuzord-menu > li > a[href*="/book-a-class/"]:hover { background: var(--sun-deep-sage); }

/* Keep the supplied footer composition, but restore useful proportions. */
#elementor-footer .elementor-element-9ea5bb5 img,
.elementor-location-footer .elementor-element-9ea5bb5 img,
.elementor-element-1250 .elementor-element-9ea5bb5 img {
  width: 138px !important;
  max-width: 138px !important;
  max-height: 118px !important;
  object-fit: contain;
}
#elementor-footer .elementor-element-775df66,
.elementor-location-footer .elementor-element-775df66 {
  min-width: 250px;
}
#elementor-footer .elementor-element-775df66 a,
.elementor-location-footer .elementor-element-775df66 a {
  overflow-wrap: anywhere;
}

/* Rich detail-page copy remains readable within the original service template. */
.page-id-3569 .elementor-widget-text-editor p,
[class*="page-id-"] .elementor-widget-text-editor p {
  line-height: 1.75;
}
.ss-practice-meta {
  font-family: "Azeret Mono", monospace;
  letter-spacing: .02em;
}

.ss-v2-hero { position: relative; isolation: isolate; }
.ss-v2-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(32,24,21,.70) 0%, rgba(32,24,21,.35) 58%, rgba(32,24,21,.30) 100%);
}
.ss-v2-hero > .e-con-inner,
.ss-v2-hero > .elementor-element { position: relative; z-index: 2; }
.ss-v2-hero .elementor-background-video-container,
.ss-v2-hero .elementor-background-video-container video { width: 100%; height: 100%; }
.ss-v2-hero .elementor-background-video-container video { object-fit: cover; }
.ss-v2-hero-title { max-width: 680px; }
.ss-v2-hero-title .elementor-heading-title { text-wrap: balance; }
.ss-v2-hero-copy { max-width: 500px; }
.ss-v2-hero-copy p { margin-bottom: 0; }
.ss-v2-hero-actions { flex-wrap: wrap; }
.ss-v2-hero-micro p {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.ss-v2-hero-micro strong {
  font-family: "Gallient", serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0;
}
.ss-v2-hero-micro,
.ss-v2-hero-micro p,
.ss-v2-hero-micro strong { color: #fff !important; }
.ss-v2-hero-badge {
  border: 1px solid rgba(255,255,255,.30);
  border-radius: 18px;
  background: rgba(255,255,255,.20);
  box-shadow: 0 18px 50px rgba(35,25,21,.16);
  backdrop-filter: blur(14px);
  overflow: hidden;
}
.ss-v2-badge-title .elementor-heading-title { margin-bottom: 2px; }
.ss-v2-badge-copy p { margin: 0; font-size: 13px; line-height: 1.45; }
.ss-v2-badge-image img {
  width: 100%;
  aspect-ratio: 1 / 1.15;
  object-fit: cover;
  border-radius: 13px;
}

.theme-btn,
.btn-style3,
.btn-style5,
.btn-style6 { --theme-color1: var(--sun-deep-sage); }
.ss-v2-training .team-social-links,
.ss-v2-training .team-social { display: none !important; }

.ss-v2-waitlist-panel { overflow: hidden; }
.ss-v2-waitlist-title { max-width: 600px; }
.ss-v2-waitlist-copy { max-width: 570px; }
.ss-v2-waitlist-copy p { color: var(--sun-cream); font-size: 17px; line-height: 1.7; }
.ss-v2-waitlist-form label {
  display: block;
  margin: 0 0 16px;
  color: var(--sun-chocolate);
  font-size: 13px;
  font-weight: 600;
}
.ss-v2-waitlist-form input[type="text"],
.ss-v2-waitlist-form input[type="email"],
.ss-v2-waitlist-form input[type="tel"] {
  width: 100%;
  min-height: 56px;
  margin-top: 7px;
  padding: 0 20px;
  border: 1px solid rgba(75,46,37,.14);
  border-radius: 999px;
  background: #fff;
  color: var(--sun-chocolate);
}
.ss-v2-waitlist-form input[type="submit"] {
  width: 100%;
  min-height: 58px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: var(--sun-chocolate);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
.ss-v2-waitlist-form input[type="submit"]:hover { background: var(--sun-deep-sage); }
.ss-v2-waitlist-form .wpcf7-spinner { display: none; }
.ss-v2-waitlist-form .wpcf7-response-output { margin: 14px 0 0 !important; border-radius: 12px; }

/* September 9 completion pass: consistent margins, clearer booking flow and the Founding 50 launch system. */
.ss-sched-date .ss-sched-month { color: var(--sun-terracotta); font: 700 10px/1 "Azeret Mono",monospace; letter-spacing: .11em; }
.ss-sched-date small { color: #776961; font: 600 9px/1 "Montserrat",sans-serif; text-transform: uppercase; }
.ss-sched-date.is-active .ss-sched-month,
.ss-sched-date.is-active small { color: #fff !important; }

.ss-rich-booking-modal .robina-fs__sb,
.page-id-3573 .robina-fs__sb {
  position: relative;
  overflow: hidden;
  padding: clamp(24px,3vw,38px) 20px !important;
  background: linear-gradient(165deg,#34451e 0%,#556b2f 62%,#6d7f45 100%) !important;
}
.ss-rich-booking-modal .robina-fs__sb::before,
.page-id-3573 .robina-fs__sb::before {
  content:""; position:absolute; width:210px; height:210px; right:-120px; bottom:-80px;
  border:1px solid rgba(255,255,255,.17); border-radius:50%; box-shadow:0 0 0 34px rgba(255,255,255,.04),0 0 0 72px rgba(255,255,255,.025);
}
.ss-rich-booking-modal .robina-stepper,
.page-id-3573 .robina-stepper { position:relative; display:grid !important; gap:10px; padding:0 !important; background:transparent !important; }
.ss-rich-booking-modal .robina-stepper__item,
.page-id-3573 .robina-stepper__item { position:relative; display:grid !important; grid-template-columns:38px 1fr; align-items:center; gap:12px; min-height:64px; padding:12px 14px !important; border:1px solid rgba(255,255,255,.16); border-radius:15px; background:rgba(255,255,255,.08); }
.ss-rich-booking-modal .robina-stepper__item::before,
.page-id-3573 .robina-stepper__item::before { display:none !important; }
.ss-rich-booking-modal .robina-stepper__item.is-active,
.page-id-3573 .robina-stepper__item.is-active { background:#fffdfa !important; border-color:#fffdfa; box-shadow:0 14px 30px rgba(24,34,13,.18); }
.ss-rich-booking-modal .robina-stepper__item.is-done,
.page-id-3573 .robina-stepper__item.is-done { background:rgba(255,255,255,.14); }
.ss-rich-booking-modal .robina-stepper__dot,
.page-id-3573 .robina-stepper__dot { display:grid !important; width:34px !important; height:34px !important; place-items:center; border:1px solid rgba(255,255,255,.7) !important; border-radius:50% !important; background:transparent !important; color:#fff !important; font:700 12px "Azeret Mono",monospace !important; }
.ss-rich-booking-modal .robina-stepper__item.is-active .robina-stepper__dot,
.page-id-3573 .robina-stepper__item.is-active .robina-stepper__dot { background:var(--sun-deep-sage) !important; border-color:var(--sun-deep-sage) !important; color:#fff !important; }
.ss-rich-booking-modal .robina-stepper__label,
.page-id-3573 .robina-stepper__label { color:#fff !important; font:700 13px/1.3 "Montserrat",sans-serif !important; letter-spacing:.01em !important; }
.ss-rich-booking-modal .robina-stepper__item.is-active .robina-stepper__label,
.page-id-3573 .robina-stepper__item.is-active .robina-stepper__label { color:var(--sun-chocolate) !important; }
.ss-booking-exit__card [data-cancel-booking] { background:#fffdfa !important; border-color:var(--sun-chocolate) !important; color:var(--sun-chocolate) !important; }
.ss-booking-exit__card [data-cancel-booking]:hover { background:var(--sun-chocolate) !important; color:#fff !important; }

.ss-header-cart {
  position:fixed !important; top:auto !important; right:max(18px,env(safe-area-inset-right)) !important; bottom:max(92px,calc(env(safe-area-inset-bottom) + 92px)) !important;
  z-index:10001; display:grid !important; width:58px; height:58px; min-height:58px; place-items:center; padding:0 !important;
  border:0 !important; border-radius:50% !important; background:var(--sun-chocolate) !important; color:#fff !important; box-shadow:0 14px 36px rgba(44,26,20,.28);
}
.ss-header-cart > span { font-size:22px; line-height:1; filter:grayscale(1) brightness(5); }
.ss-header-cart > strong { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ss-header-cart b { position:absolute; top:-4px; right:-3px; display:grid; width:23px; height:23px; place-items:center; border:2px solid #fff; border-radius:50%; background:var(--sun-deep-sage); color:#fff; font-size:10px; }
.ss-header-cart:hover { transform:translateY(-3px); background:var(--sun-deep-sage) !important; }

@media (min-width:1025px) {
  #elementor-header-top .elementor-element-daf785e > .e-con-inner {
    grid-template-columns:minmax(145px,176px) minmax(0,1fr) minmax(170px,194px) !important;
    gap:clamp(6px,1vw,15px) !important; padding-inline:clamp(16px,2.2vw,38px) !important;
  }
  #elementor-header-top .menuzord-menu { display:flex !important; align-items:center; justify-content:center; gap:clamp(0px,.25vw,4px); white-space:nowrap; }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu > li > a,
  #elementor-header-top .menuzord-menu > li > a { padding-inline:clamp(4px,.52vw,8px) !important; font-size:clamp(11px,.88vw,13px) !important; }
  #elementor-header-top .elementor-element-2d737c3 .theme-btn { min-width:170px !important; padding-inline:14px !important; font-size:12px !important; }
}

.ss-founder { width:min(1460px,calc(100% - 40px)); margin:0 auto; padding:clamp(58px,8vw,110px) 0; color:var(--sun-charcoal); }
.ss-founder-hero { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:clamp(30px,6vw,80px); align-items:end; }
.ss-founder-kicker { margin:0 0 13px; color:var(--sun-terracotta); font:700 11px/1.2 "Azeret Mono",monospace; letter-spacing:.13em; text-transform:uppercase; }
.ss-founder-hero h2,.ss-founder-form-wrap h2 { max-width:900px; margin:0 0 18px; color:var(--sun-chocolate); font:500 clamp(46px,6.2vw,84px)/.97 "Playfair Display",serif; text-wrap:balance; }
.ss-founder-hero > div:first-child > p:last-child { max-width:820px; font-size:17px; line-height:1.75; }
.ss-founder-scarcity { padding:26px; border-radius:22px; background:var(--sun-chocolate); color:#fff; }
.ss-founder-scarcity strong { display:block; color:#fff; font:500 70px/.8 "Playfair Display",serif; }
.ss-founder-scarcity span { display:block; margin:15px 0 8px; font-weight:800; }
.ss-founder-scarcity small { line-height:1.5; opacity:.8; }
.ss-founder-offer { margin-top:42px; overflow:hidden; border:1px solid rgba(75,46,37,.14); border-radius:28px; background:#fffdfa; box-shadow:0 24px 70px rgba(75,46,37,.09); }
.ss-founder-offer > header { display:grid; grid-template-columns:1fr auto; align-items:end; gap:12px; padding:clamp(27px,4vw,46px); border-bottom:1px solid rgba(75,46,37,.12); }
.ss-founder-offer > header span { grid-column:1/-1; color:var(--sun-terracotta); font:700 10px "Azeret Mono",monospace; letter-spacing:.12em; }
.ss-founder-offer > header h3 { margin:0; font:500 clamp(38px,5vw,60px)/1 "Playfair Display",serif; }
.ss-founder-offer > header p { margin:0; font-size:17px; }
.ss-founder-phases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ss-founder-phases article { padding:clamp(28px,4vw,48px); border-right:1px solid rgba(75,46,37,.12); background:#f7f2e9; }
.ss-founder-phases article:last-child { border-right:0; background:#fff; }
.ss-founder-phases b { display:block; margin-bottom:15px; color:var(--sun-terracotta); font:700 10px "Azeret Mono",monospace; letter-spacing:.11em; }
.ss-founder-phases strong { display:block; color:var(--sun-chocolate); font:500 clamp(30px,3vw,43px)/1.05 "Playfair Display",serif; }
.ss-founder-phases p { min-height:84px; margin:14px 0; line-height:1.65; }
.ss-founder-phases span { display:inline-flex; padding:8px 12px; border-radius:999px; background:var(--sun-deep-sage); color:#fff; font-size:11px; font-weight:800; }
.ss-founder-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 28px; margin:0; padding:clamp(30px,4vw,48px); list-style:none; }
.ss-founder-benefits li { position:relative; padding-left:31px; line-height:1.55; }
.ss-founder-benefits li::before { content:"✓"; position:absolute; left:0; display:grid; width:21px; height:21px; place-items:center; border-radius:50%; background:var(--sun-deep-sage); color:#fff; font-size:11px; font-weight:800; }
.ss-founder-note { margin:0 clamp(28px,4vw,48px) 28px; padding:22px 24px; border-left:4px solid var(--sun-terracotta); background:var(--sun-cream); }
.ss-founder-note strong { color:var(--sun-chocolate); font-size:18px; }
.ss-founder-note p { margin:7px 0 0; line-height:1.6; }
.ss-founder-cta { display:flex; min-height:64px; align-items:center; justify-content:center; margin:0 clamp(28px,4vw,48px) clamp(30px,4vw,48px); padding:15px 26px; border-radius:999px; background:var(--sun-chocolate); color:#fff !important; font-size:16px; font-weight:800; }
.ss-founder-cta:hover { background:var(--sun-deep-sage); transform:translateY(-2px); }
.ss-founder-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:34px 0; }
.ss-founder-steps article { padding:28px; border-radius:20px; background:var(--sun-cream); }
.ss-founder-steps span { color:var(--sun-terracotta); font:700 12px "Azeret Mono",monospace; }
.ss-founder-steps h3 { margin:12px 0 8px; font-size:30px; }
.ss-founder-form-wrap { display:grid; grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr); gap:clamp(34px,6vw,80px); align-items:start; margin-top:42px; padding:clamp(34px,5vw,68px); border-radius:28px; background:var(--sun-deep-sage); color:#fff; }
.ss-founder-form-wrap h2,.ss-founder-form-wrap p,.ss-founder-form-wrap a { color:#fff !important; }
.ss-founder-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:24px; border-radius:20px; background:#fffdfa; color:var(--sun-chocolate); }
.ss-founder-form label { display:grid; gap:7px; font-size:12px; font-weight:700; }
.ss-founder-form input:not([type="checkbox"]) { width:100%; min-height:52px; padding:0 14px; border:1px solid #d8cec1; border-radius:11px; background:#fff; }
.ss-founder-form label:nth-of-type(3),.ss-founder-form .ss-founder-consent,.ss-founder-form button { grid-column:1/-1; }
.ss-founder-consent { display:flex !important; align-items:flex-start; gap:9px; font-weight:500 !important; line-height:1.5; }
.ss-founder-consent input { flex:0 0 18px; width:18px; height:18px; margin-top:2px; }
.ss-founder-consent a { color:var(--sun-deep-sage) !important; text-decoration:underline; }
.ss-founder-form button { min-height:58px; border:0; border-radius:999px; background:var(--sun-chocolate); color:#fff; font-weight:800; }
.ss-founder-thanks { padding:24px; border-radius:18px; background:#fff; color:var(--sun-chocolate) !important; font-weight:800; }
.ss-hp { position:absolute !important; left:-9999px !important; }
.ss-founder--compact { padding-block:clamp(52px,7vw,90px); }
.ss-founder--compact .ss-founder-steps,.ss-founder--compact .ss-founder-form-wrap { display:none; }
.home .ss-v2-waitlist,
.page-id-3605 .ss-v2-waitlist { display:none !important; }

.ss-account-founder { margin:18px 0 28px; padding:24px; border:1px solid rgba(75,46,37,.12); border-left:6px solid var(--sun-deep-sage); border-radius:18px; background:#f7f2e9; }
.ss-account-founder h2 { margin:6px 0 9px; }
.ss-account-founder a { display:inline-flex; margin-top:9px; padding:11px 17px; border-radius:999px; background:var(--sun-chocolate); color:#fff !important; font-weight:700; }

html:has(body.sun-sage-ttc-page),
body.sun-sage-ttc-page { overflow-x:clip !important; overflow-y:visible !important; }
.sun-sage-ttc-page .elementor-3569 { overflow:visible; }
.ss-ttc-layout { display:grid; grid-template-columns:248px minmax(0,1fr); gap:clamp(24px,3vw,44px); width:min(1580px,calc(100% - 48px)); margin:28px auto 0; align-items:start; }
.ss-ttc-layout-main { min-width:0; overflow:clip; border-radius:28px; }
.ss-ttc-jump-nav { position:sticky; top:118px; z-index:20; max-height:calc(100vh - 140px); overflow:auto; padding:18px; border:1px solid rgba(75,46,37,.13); border-radius:20px; background:#fffdfa; box-shadow:0 18px 45px rgba(75,46,37,.10); }
.ss-ttc-jump-nav summary { list-style:none; cursor:pointer; }
.ss-ttc-jump-nav summary::-webkit-details-marker { display:none; }
.ss-ttc-jump-nav summary span { display:block; color:var(--sun-terracotta); font:700 9px "Azeret Mono",monospace; letter-spacing:.1em; }
.ss-ttc-jump-nav summary strong { display:block; margin-top:7px; color:var(--sun-chocolate); font:500 24px/1.1 "Playfair Display",serif; }
.ss-ttc-jump-nav nav { display:grid; margin-top:15px; border-top:1px solid rgba(75,46,37,.11); }
.ss-ttc-jump-nav nav a { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; align-items:center; min-height:48px; padding:7px 4px; border-bottom:1px solid rgba(75,46,37,.09); color:var(--sun-charcoal); font-size:12px; font-weight:700; }
.ss-ttc-jump-nav nav a i { display:grid; width:28px; height:28px; place-items:center; border:1px solid rgba(85,107,47,.28); border-radius:8px; background:#f5f1e8; color:var(--sun-deep-sage); font:normal 800 13px/1 "Azeret Mono",monospace; }
.ss-ttc-jump-nav nav a span { line-height:1.25; }
.ss-ttc-jump-nav nav a:hover { color:var(--sun-deep-sage); transform:translateX(3px); }
.ss-ttc-nav-cta { display:flex; min-height:48px; align-items:center; justify-content:center; margin-top:15px; padding:10px; border-radius:999px; background:var(--sun-chocolate); color:#fff !important; font-size:12px; font-weight:800; }
.sun-sage-ttc-page .ss-ttc-layout-main .ss-ttc-section > .e-con-inner,
.sun-sage-ttc-page .ss-ttc-layout-main .ss-ttc-cert-wrap > .e-con-inner,
.sun-sage-ttc-page .ss-ttc-layout-main .ss-ttc-media-wrap > .e-con-inner { width:100%; max-width:none !important; padding-inline:clamp(24px,4vw,64px) !important; }
.sun-sage-ttc-page .ss-ttc-layout-main .ss-ttc-cert { display:grid; grid-template-columns:1fr; gap:32px; align-items:start; }
.sun-sage-ttc-page .ss-ttc-layout-main .ss-ttc-cert > div:first-child { min-width:0; }
.sun-sage-ttc-page .ss-ttc-layout-main .ss-ttc-cert h2 { max-width:820px; font-size:clamp(42px,5vw,68px); line-height:1.02; overflow-wrap:normal; }
.sun-sage-ttc-page .ss-ttc-layout-main .ss-ttc-cert-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ss-ttc-certificate-preview { display:block; width:min(100%,820px); margin:4px auto 0; padding:14px; overflow:hidden; border:1px solid rgba(75,46,37,.14); border-radius:20px; background:#fff; box-shadow:0 20px 55px rgba(75,46,37,.14); text-align:center; }
.ss-ttc-certificate-preview img { display:block; width:100%; height:auto; }
.ss-ttc-certificate-preview span { display:inline-flex; min-height:52px; align-items:center; justify-content:center; margin:14px auto 2px; padding:13px 24px; border-radius:999px; background:var(--sun-chocolate); color:#fff; text-align:center; font-weight:800; }
.sun-sage-ttc-page .ss-ttc-manual-cta { display:inline-flex !important; min-height:54px; align-items:center; justify-content:center; margin-top:20px; padding:14px 24px !important; border:1px solid rgba(255,255,255,.5); border-radius:999px; background:#fff !important; color:var(--sun-chocolate) !important; font-weight:800; line-height:1.2; text-decoration:none; box-shadow:0 10px 28px rgba(28,20,16,.16); }
.sun-sage-ttc-page .ss-ttc-manual-cta:hover { background:var(--sun-chocolate) !important; color:#fff !important; transform:translateY(-2px); }
.sun-sage-ttc-page .ss-ttc-hero-image img { min-height:500px !important; max-height:650px; }
.sun-sage-ttc-page .ss-ttc-display .elementor-heading-title { font-size:clamp(48px,5.4vw,78px); }

.ss-approved-footer .ss-footer-cta h2,
#elementor-footer .elementor-element-d7d7bc8 .title,
.elementor-location-footer .elementor-element-d7d7bc8 .title { max-width:680px !important; font-size:clamp(26px,2.7vw,40px) !important; line-height:1.12 !important; }
#elementor-footer .elementor-element-be44618,
.elementor-location-footer .elementor-element-be44618 { display:flex !important; width:100% !important; min-width:260px; align-items:flex-end !important; text-align:right !important; }
#elementor-footer .elementor-element-be44618 .elementor-widget,
.elementor-location-footer .elementor-element-be44618 .elementor-widget { width:100%; text-align:right !important; }

/* Homepage editorial service showcase: readable overlays, consistent cards and CTA alignment. */
.home .elementor-element-22b4256,.home .elementor-element-1b624cb { position:relative; overflow:hidden; border-radius:22px; }
.home .elementor-element-22b4256::after,.home .elementor-element-1b624cb::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(25,17,14,.82)); pointer-events:none; }
.home .elementor-element-22b4256 .elementor-heading-title,.home .elementor-element-1b624cb .elementor-heading-title { position:relative; z-index:2; color:#fff !important; text-shadow:0 2px 14px rgba(0,0,0,.28); }
.home .elementor-element-22b4256 a,.home .elementor-element-1b624cb a { position:relative; z-index:2; color:#fff !important; }
.ss-business-hours { display:grid; gap:7px; margin-top:14px; padding:18px; border-radius:15px; background:var(--sun-cream); }
.ss-business-hours strong { color:var(--sun-chocolate); font:500 24px/1.1 "Playfair Display",serif; }
.ss-business-hours span { color:var(--sun-charcoal); font-size:13px; line-height:1.5; }

@media (max-width:1024px) {
  .ss-rich-booking-modal .robina-fs__sb,.page-id-3573 .robina-fs__sb { padding:14px !important; }
  .ss-rich-booking-modal .robina-stepper,.page-id-3573 .robina-stepper { grid-template-columns:repeat(4,minmax(150px,1fr)); overflow-x:auto; padding-bottom:5px !important; }
  .ss-ttc-layout { display:block; width:min(100% - 24px,980px); }
  .ss-ttc-jump-nav { top:8px; z-index:1000; max-height:none; margin:12px 0; padding:13px 16px; }
  .ss-ttc-jump-nav details:not([open]) nav,.ss-ttc-jump-nav details:not([open]) .ss-ttc-nav-cta { display:none; }
  .ss-ttc-jump-nav summary { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .ss-ttc-jump-nav summary strong { margin:0; font-size:20px; }
  .ss-ttc-jump-nav nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sun-sage-ttc-page .ss-ttc-layout-main .ss-ttc-cert-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .ss-founder { width:calc(100% - 24px); }
  .ss-founder-hero,.ss-founder-form-wrap { grid-template-columns:1fr; }
  .ss-founder-scarcity { max-width:280px; }
  .ss-founder-offer > header { grid-template-columns:1fr; }
  .ss-founder-phases,.ss-founder-benefits,.ss-founder-steps,.ss-founder-form { grid-template-columns:1fr; }
  .ss-founder-phases article { min-height:0; border-right:0; border-bottom:1px solid rgba(75,46,37,.12); }
  .ss-founder-phases p { min-height:0; }
  .ss-founder-form label { grid-column:1 !important; }
  .ss-ttc-layout-main { border-radius:18px; }
  .ss-ttc-jump-nav nav { grid-template-columns:1fr 1fr; }
  .ss-ttc-jump-nav nav a { grid-template-columns:25px minmax(0,1fr); gap:7px; font-size:11px; }
  .ss-ttc-jump-nav nav a i { width:24px; height:24px; border-radius:7px; font-size:11px; }
  .sun-sage-ttc-page .ss-ttc-layout-main .ss-ttc-section > .e-con-inner,
  .sun-sage-ttc-page .ss-ttc-layout-main .ss-ttc-cert-wrap > .e-con-inner { padding-inline:18px !important; }
  .sun-sage-ttc-page .ss-ttc-display .elementor-heading-title { font-size:clamp(42px,13vw,58px); }
  .sun-sage-ttc-page .ss-ttc-hero-image img { min-height:340px !important; }
  .sun-sage-ttc-page .ss-ttc-layout-main .ss-ttc-cert-grid { grid-template-columns:1fr; }
  .ss-header-cart { width:54px; height:54px; min-height:54px; right:14px !important; bottom:82px !important; }
}

/* Release 2.0.7: warmer editorial language, Founding 50 focus and live sessions. */
.ss-home-benefits b,
.ss-home-utility b {
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  align-self:start;
}
.ss-home-benefits b svg,
.ss-home-utility b svg {
  width:32px;
  height:32px;
  fill:none;
  stroke:#7b8d50;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ss-home-benefits > div,
.ss-home-utility > div { grid-template-columns:48px 1fr; padding:24px 20px; }
.ss-home-benefits strong,
.ss-home-utility strong { color:#3f302b; font-size:15px; line-height:1.25; }
.ss-home-benefits span,
.ss-home-utility span { color:#6f625b; font-size:12.5px; line-height:1.55; }

.ss-home-founding-experience {
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(36px,5vw,82px);
  width:min(1480px,calc(100% - 40px));
  margin:clamp(64px,8vw,118px) auto;
  padding:clamp(28px,4vw,66px);
  border:1px solid rgba(75,46,37,.13);
  border-radius:30px;
  background:#f2e9da;
  color:#4b2e25;
  box-shadow:0 24px 60px rgba(75,46,37,.08);
}
.ss-home-founding-media {
  position:relative;
  display:grid;
  grid-template-columns:1fr .72fr;
  grid-template-rows:1fr .68fr;
  gap:14px;
  min-height:660px;
}
.ss-home-founding-media img { width:100%; height:100% !important; object-fit:cover; border-radius:180px 180px 28px 28px; }
.ss-home-founding-media img:first-child { grid-row:1 / 3; }
.ss-home-founding-media img:nth-child(2) { grid-column:2; grid-row:2; border-radius:28px 28px 140px 140px; }
.ss-home-founding-media > span {
  grid-column:2;
  grid-row:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:28px 18px;
  border-radius:140px 140px 28px 28px;
  background:#536b2e;
  color:#fff;
  text-align:center;
  font:700 13px/1.35 Montserrat,sans-serif;
}
.ss-home-founding-media > span b { display:block; margin-bottom:2px; font:500 clamp(54px,6vw,88px)/1 "Playfair Display",serif; }
.ss-home-founding-copy { align-self:center; }
.ss-home-founding-copy > span,
.ss-home-upcoming > header span { color:#9b6434; font:700 11px "Azeret Mono",monospace; letter-spacing:.13em; }
.ss-home-founding-copy h2 { max-width:780px; margin:14px 0 22px; color:#4b2e25; font:500 clamp(44px,5vw,74px)/.98 "Playfair Display",serif; }
.ss-home-founding-lead { max-width:760px; color:#5f534c; font-size:17px; line-height:1.72; }
.ss-home-founding-phases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:30px 0 24px; }
.ss-home-founding-phases article { padding:24px; border:1px solid rgba(75,46,37,.13); border-radius:19px; background:rgba(255,255,255,.7); }
.ss-home-founding-phases small { display:block; margin-bottom:10px; color:#9b6434; font:700 10px "Azeret Mono",monospace; letter-spacing:.09em; }
.ss-home-founding-phases strong { display:block; color:#4b2e25; font:500 clamp(24px,2.3vw,34px)/1.08 "Playfair Display",serif; }
.ss-home-founding-phases p { margin:12px 0 0; color:#6f625b; font-size:13px; line-height:1.6; }
.ss-home-founding-copy ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; margin:0 0 28px; padding:0; list-style:none; }
.ss-home-founding-copy li { position:relative; padding-left:25px; color:#5f534c; font-size:13px; line-height:1.5; }
.ss-home-founding-copy li::before { content:"✓"; position:absolute; left:0; top:0; color:#536b2e; font-weight:900; }
.ss-home-founding-actions { display:flex; flex-wrap:wrap; gap:12px; }
.ss-home-founding-actions a { display:inline-flex; min-height:54px; align-items:center; justify-content:center; padding:12px 22px; border:2px solid #4b2e25; border-radius:999px; color:#4b2e25 !important; font-weight:800; }
.ss-home-founding-actions a:first-child { background:#4b2e25; color:#fff !important; }
.ss-home-founding-actions a:hover { background:#536b2e; border-color:#536b2e; color:#fff !important; }

.home .ss-home-ttc-final { margin-top:clamp(54px,7vw,100px); margin-bottom:clamp(76px,9vw,132px); }

.ss-home-upcoming {
  width:min(1460px,calc(100% - 40px));
  margin:clamp(68px,8vw,120px) auto;
  padding:clamp(30px,4.5vw,68px);
  border:1px solid rgba(75,46,37,.12);
  border-radius:30px;
  background:#fbf8f2;
  overflow:hidden;
}
.ss-home-upcoming > header { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr) auto; gap:28px; align-items:end; margin-bottom:36px; }
.ss-home-upcoming h2 { margin:12px 0 0; color:#4b2e25; font:500 clamp(42px,5vw,72px)/1 "Playfair Display",serif; }
.ss-home-upcoming > header p { margin:0; color:#6f625b; font-size:15px; line-height:1.7; }
.ss-home-upcoming nav { display:flex; gap:8px; }
.ss-home-upcoming nav button { display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(75,46,37,.22); border-radius:50%; background:#fff; color:#4b2e25; font-size:21px; }
.ss-home-upcoming nav button:hover { background:#536b2e; border-color:#536b2e; color:#fff; }
.ss-home-upcoming nav button { color:#4b2e25 !important; font-family:Arial,sans-serif !important; font-weight:700 !important; line-height:1 !important; }
.ss-home-upcoming nav button:hover,
.ss-home-upcoming nav button:focus-visible { background:#536b2e !important; border-color:#536b2e !important; color:#fff !important; }
.ss-upcoming-track { display:flex; gap:18px; overflow-x:auto; padding:2px 2px 18px; scroll-snap-type:x mandatory; scrollbar-width:none; }
.ss-upcoming-track::-webkit-scrollbar { display:none; }
.ss-upcoming-card { flex:0 0 min(360px,82vw); overflow:hidden; scroll-snap-align:start; border:1px solid rgba(75,46,37,.13); border-radius:20px; background:#fff; box-shadow:0 12px 34px rgba(75,46,37,.06); }
.ss-upcoming-card__image { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; }
.ss-upcoming-card__image img { width:100%; height:100% !important; object-fit:cover; transition:transform .45s ease; }
.ss-upcoming-card:hover .ss-upcoming-card__image img { transform:scale(1.045); }
.ss-upcoming-card__image span { position:absolute; right:14px; bottom:14px; padding:7px 10px; border-radius:999px; background:#536b2e; color:#fff; font-size:10px; font-weight:800; }
.ss-upcoming-card > div { padding:22px; }
.ss-upcoming-card small { color:#9b6434; font:700 10px "Azeret Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.ss-upcoming-card h3 { margin:10px 0 7px; color:#4b2e25; font:500 31px/1.05 "Playfair Display",serif; }
.ss-upcoming-card p { margin:0 0 18px; color:#6f625b; font-size:13px; }
.ss-upcoming-card__foot { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:16px; border-top:1px solid rgba(75,46,37,.11); }
.ss-upcoming-card__foot strong { color:#4b2e25; }
.ss-upcoming-card__foot a,.ss-upcoming-all a,.ss-upcoming-empty a { color:#536b2e !important; font-size:12px; font-weight:800; }
.ss-upcoming-all { margin:24px 0 0; text-align:right; }
.ss-upcoming-loading,.ss-upcoming-empty { width:100%; padding:60px 24px; border-radius:18px; background:#f2e9da; color:#5f534c; text-align:center; }

.page-id-3605 .ss-founder-shortcode-host { padding-top:clamp(36px,5vw,72px) !important; }
.ss-founder-editorial { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0 auto clamp(44px,6vw,82px); }
.ss-founder-editorial figure { position:relative; min-height:380px; margin:0; overflow:hidden; border-radius:24px; }
.ss-founder-editorial img { width:100%; height:100% !important; min-height:380px; object-fit:cover; }
.ss-founder-editorial figcaption { position:absolute; right:18px; bottom:18px; left:18px; padding:13px 16px; border-radius:14px; background:rgba(48,32,27,.84); color:#fff; font-size:13px; }

.ss-journal-article-content { max-width:960px !important; }
.ss-journal-article-content h3 { margin:30px 0 8px; color:#4b2e25; font:500 clamp(22px,2.3vw,30px)/1.15 "Playfair Display",serif; }
.ss-journal-article-content ul,.ss-journal-article-content ol { margin:18px 0 26px; padding-left:25px; }
.ss-journal-article-content li { margin:9px 0; font-size:16px; line-height:1.7; }
.ss-journal-figure { margin:38px 0; }
.ss-journal-figure img { width:100%; max-height:620px; object-fit:cover; border-radius:22px; }
.ss-journal-figure--wide img { aspect-ratio:16/9; }
.ss-journal-figure--certificate img { object-fit:contain; padding:20px; background:#f2e9da; }
.ss-journal-figure figcaption { margin-top:10px; color:#7a6d65; font-size:12px; line-height:1.5; text-align:center; }
.ss-journal-checklist { padding:22px 22px 22px 44px !important; border-radius:18px; background:#f2e9da; }
.ss-journal-text-link { display:inline-flex; margin-left:15px; color:#536b2e !important; font-weight:800; }

.woocommerce-cart .page-title,.woocommerce-cart h1.entry-title { font-size:clamp(42px,6vw,72px) !important; }
.woocommerce-cart .cart_totals h2 { font-size:clamp(28px,3vw,40px) !important; }

@media (max-width:1024px) {
  .ss-home-founding-experience { grid-template-columns:1fr; }
  .ss-home-founding-media { min-height:560px; }
  .ss-home-upcoming > header { grid-template-columns:1fr auto; }
  .ss-home-upcoming > header p { grid-column:1; }
  .ss-home-upcoming > header nav { grid-column:2; grid-row:1/3; }
}

@media (max-width:767px) {
  .ss-home-founding-experience,.ss-home-upcoming { width:calc(100% - 24px); padding:24px 18px; border-radius:22px; }
  .ss-home-founding-media { grid-template-columns:1fr .55fr; min-height:430px; }
  .ss-home-founding-media > span b { font-size:48px; }
  .ss-home-founding-copy h2 { font-size:clamp(38px,12vw,54px); }
  .ss-home-founding-phases,.ss-home-founding-copy ul,.ss-founder-editorial { grid-template-columns:1fr; }
  .ss-home-upcoming > header { grid-template-columns:1fr; }
  .ss-home-upcoming > header p,.ss-home-upcoming > header nav { grid-column:1; grid-row:auto; }
  .ss-home-upcoming > header nav { justify-self:end; }
  .ss-upcoming-card { flex-basis:84vw; }
  .ss-founder-editorial figure,.ss-founder-editorial img { min-height:300px; }
  .ss-journal-text-link { margin:16px 0 0; }
  .ss-home-story > div { padding:32px 24px; }
  .ss-home-story > div > span { font-size:10px; line-height:1.4; }
  .ss-home-story h2 { max-width:270px; margin:12px 0 16px; font-size:clamp(34px,10.5vw,42px); line-height:1.02; }
  .ss-home-story p { max-width:290px; margin:0; font-size:15px; line-height:1.62; }
}

@media (max-width: 1024px) {
  .tm-header .site-brand img,
  .tm-header .tm-ele-site-logo img,
  .site-brand img { max-width: 160px !important; max-height: 64px !important; }
  .ss-v2-hero-title { max-width: 590px; }
}

@media (max-width: 767px) {
  #elementor-header-top .elementor-element-7d1fe51 {
    display: flex !important;
    width: calc(100% - 20px) !important;
    margin: 10px !important;
    border-radius: 16px !important;
  }
  #elementor-header-top .elementor-element-daf785e {
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 78px !important;
  }
  #elementor-header-top .elementor-element-daf785e > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 10px !important;
    padding: 10px 16px !important;
  }
  #elementor-header-top .elementor-element-5da20ed {
    display: flex !important;
    flex: 0 0 52px !important;
    width: 52px !important;
    justify-content: flex-end !important;
    align-items: center !important;
    background: transparent !important;
  }
  #elementor-header-top .elementor-element-ac5d23e {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }
  #elementor-header-top .elementor-element-ac5d23e .elementor-widget,
  #elementor-header-top .elementor-element-ac5d23e .elementor-widget-container,
  #elementor-header-top .elementor-element-ac5d23e a {
    align-self: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }
  #elementor-header-top .elementor-element-2d737c3 {
    display: none !important;
  }
  #elementor-header-top .elementor-element-5da20ed .menuzord-mobile-showhide,
  #elementor-header-top .elementor-element-5da20ed .showhide {
    display: none !important;
  }
  #elementor-header-top .ss-mobile-menu-toggle {
    position: relative;
    z-index: 1002;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--sun-chocolate);
    cursor: pointer;
    margin: 0 !important;
  }
  #elementor-header-top .ss-mobile-menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 4px;
    background: #fff;
    transition: transform .2s ease, opacity .2s ease;
  }
  #elementor-header-top.ss-mobile-menu-open .ss-mobile-menu-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  #elementor-header-top.ss-mobile-menu-open .ss-mobile-menu-toggle span:nth-child(2) {
    opacity: 0;
  }
  #elementor-header-top.ss-mobile-menu-open .ss-mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu {
    position: fixed !important;
    top: 98px !important;
    right: 10px !important;
    left: 10px !important;
    z-index: 1001 !important;
    display: none !important;
    width: auto !important;
    max-height: calc(100vh - 118px);
    margin: 0 !important;
    padding: 12px !important;
    overflow-y: auto;
    border: 1px solid rgba(75,46,37,.12);
    border-radius: 18px;
    background: var(--sun-cream) !important;
    box-shadow: 0 22px 55px rgba(75,46,37,.18);
  }
  #elementor-header-top.ss-mobile-menu-open .elementor-element-5da20ed .menuzord-menu {
    display: block !important;
  }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu > li > a {
    min-height: 46px;
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: 12px;
    font-size: 14px !important;
  }
  #elementor-header-top .menuzord-menu > li.menu-item-has-children > a .indicator {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    float: right;
    width: 30px;
    height: 30px;
    margin: -4px 0 -4px auto !important;
    border: 1px solid rgba(75,46,37,.18);
    border-radius: 999px;
    background: transparent !important;
    color: var(--sun-chocolate) !important;
  }
  #elementor-header-top .menuzord-menu > li.menu-item-has-children > a .indicator i { display: none !important; }
  #elementor-header-top .menuzord-menu > li.menu-item-has-children > a .indicator::after {
    content: "+";
    font: 500 20px/1 "Montserrat", sans-serif;
  }
  #elementor-header-top .menuzord-menu > li.menu-item-has-children.active > a .indicator::after { content: "–"; }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu ul.dropdown {
    position: static !important;
    width: 100% !important;
    padding-left: 14px !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  #elementor-header-top .ss-v2-site-logo img { max-width: 132px !important; }
  .elementor-page-3536 img { max-width: 100% !important; height: auto; }
  .elementor-page-3536 .elementor-element-6eb5886 .each-object,
  .elementor-page-3536 .elementor-element-6f12874 .each-object { display: none !important; }
  .elementor-page-3536 .elementor-element-ad034f0,
  .elementor-page-3536 .elementor-element-ad034f0 .elementor-widget-container,
  .elementor-page-3536 .elementor-element-ad034f0 img { max-width: 100% !important; }
  .elementor-page-3536 .elementor-element-ad034f0 img { width: 100% !important; }
  .elementor-page-3536 .elementor-element-86f0b6d,
  .elementor-page-3536 .elementor-element-86f0b6d .elementor-widget-container,
  .elementor-page-3536 .elementor-element-86f0b6d .tm-marquee-parent { width: 100% !important; max-width: 100% !important; overflow: hidden !important; left: 0 !important; }
  .elementor-page-3536 .elementor-element-5fc2237 { display: none !important; }
  .ss-v2-hero-wrap { width: 100% !important; }
  .ss-v2-hero::before {
    background: linear-gradient(180deg, rgba(32,24,21,.34) 0%, rgba(32,24,21,.48) 48%, rgba(32,24,21,.82) 100%);
  }
  .ss-v2-hero-title { max-width: 330px; }
  .ss-v2-hero-title .elementor-heading-title { line-height: 1.02 !important; }
  .ss-v2-hero-copy { max-width: 320px; }
  .ss-v2-hero-actions { gap: 12px !important; }
  .ss-v2-hero-badge { width: 100% !important; }
  .ss-v2-badge-image img { max-height: 120px; }
  .ss-v2-waitlist-panel,
  .ss-v2-waitlist-card { width: 100% !important; }
  .ss-v2-waitlist-copy p { font-size: 15px; }
  .ss-v2-waitlist-form input[type="text"],
  .ss-v2-waitlist-form input[type="email"],
  .ss-v2-waitlist-form input[type="tel"] { min-height: 52px; }

  #elementor-footer .elementor-element-9ea5bb5 img,
  .elementor-location-footer .elementor-element-9ea5bb5 img,
  .elementor-element-1250 .elementor-element-9ea5bb5 img {
    width: 112px !important;
    max-width: 112px !important;
    max-height: 96px !important;
  }
  #elementor-footer .elementor-element-775df66,
  .elementor-location-footer .elementor-element-775df66 {
    min-width: 0;
  }
}

@media (min-width: 768px) {
  #elementor-header-top .menuzord-menu > li > a .indicator {
    display: none !important;
  }
  #elementor-header-top .elementor-element-11b3672 .theme-btn,
  #elementor-header-top .elementor-element-11b3672 a {
    background: var(--sun-chocolate) !important;
    color: #fff !important;
  }
}

/* Booking contrast and progress sizing: last in the cascade by design. */
.ss-rich-booking-modal .robina-cal__day,
.page-id-3573 .robina-cal__day { border-color:rgba(75,46,37,.14) !important; background:#f7f4ee !important; color:#746c65 !important; font-weight:700 !important; }
.ss-rich-booking-modal .robina-cal__day:not(.is-disabled):not(.is-selected):not(.robina-cal__day--blank),
.page-id-3573 .robina-cal__day:not(.is-disabled):not(.is-selected):not(.robina-cal__day--blank) { border-color:rgba(85,107,47,.5) !important; background:#e3e9d8 !important; color:#2f3f1c !important; }
.ss-rich-booking-modal .robina-cal__day.is-disabled,
.page-id-3573 .robina-cal__day.is-disabled { border-color:rgba(75,46,37,.08) !important; background:#f5f2ed !important; color:#918980 !important; opacity:.78 !important; }
.ss-rich-booking-modal .robina-cal__day.robina-cal__day--blank,
.page-id-3573 .robina-cal__day.robina-cal__day--blank { border-color:transparent !important; background:transparent !important; box-shadow:none !important; }
.ss-rich-booking-modal .robina-cal__day.is-selected,
.page-id-3573 .robina-cal__day.is-selected,
.ss-rich-booking-modal .robina-dt__slot.is-selected,
.page-id-3573 .robina-dt__slot.is-selected { border-color:#3f5424 !important; background:#4f672c !important; color:#fff !important; box-shadow:0 8px 20px rgba(63,84,36,.22); }
.ss-rich-booking-modal .robina-dt__slot:not(.is-selected),
.page-id-3573 .robina-dt__slot:not(.is-selected) { min-height:48px; border:1px solid rgba(85,107,47,.48) !important; background:#f8faf4 !important; color:#2e3d1e !important; font-weight:750 !important; }
.ss-rich-booking-modal .robina-dt__slot:not(.is-selected):hover,
.page-id-3573 .robina-dt__slot:not(.is-selected):hover { border-color:var(--sun-deep-sage) !important; background:#e3e9d8 !important; color:#263516 !important; transform:translateY(-1px); }
.ss-rich-booking-modal .robina-dt__slot:disabled,
.page-id-3573 .robina-dt__slot:disabled { border-color:rgba(75,46,37,.1) !important; background:#f5f2ed !important; color:#918980 !important; opacity:.78 !important; }

@media (min-width:1025px) {
  .ss-rich-booking-modal .robina-fs,
  .page-id-3573 .robina-fs { grid-template-columns:198px minmax(0,1fr) !important; }
  .ss-rich-booking-modal .robina-fs__sb,
  .page-id-3573 .robina-fs__sb { padding:22px 14px !important; }
  .ss-rich-booking-modal .robina-stepper,
  .page-id-3573 .robina-stepper { align-content:start !important; grid-template-rows:none !important; grid-auto-rows:58px !important; gap:8px !important; }
  .ss-rich-booking-modal .robina-stepper__item,
  .page-id-3573 .robina-stepper__item { grid-template-columns:30px minmax(0,1fr) !important; min-height:58px !important; height:58px !important; gap:9px !important; padding:8px 10px !important; border-radius:12px !important; }
  .ss-rich-booking-modal .robina-stepper__dot,
  .page-id-3573 .robina-stepper__dot { width:29px !important; height:29px !important; }
  .ss-rich-booking-modal .robina-stepper__label,
  .page-id-3573 .robina-stepper__label { font-size:11px !important; }
}

/* Final September public-site convergence. */
:root {
  --ss-brown:#4b2e25;
  --ss-green:#556b2f;
  --ss-cream:#f1e9db;
  --ss-paper:#fffdfa;
  --ss-ink:#26211e;
}

/* Keep all primary content within a calm, repeatable safe area. */
body:not(.robina-modal-open) .page-content,
body:not(.robina-modal-open) main,
.elementor-location-single > .elementor,
.ss-journal-page { overflow-x:clip; }
.elementor > .e-con-boxed > .e-con-inner,
.elementor > section > .elementor-container { padding-left:max(20px,env(safe-area-inset-left)) !important; padding-right:max(20px,env(safe-area-inset-right)) !important; }

/* Image-led classes megamenu positioned directly below the header. */
@media (min-width:1025px) {
  #elementor-header-top,
  #elementor-header-top .elementor-element-5da20ed,
  #elementor-header-top .menuzord,
  #elementor-header-top .menuzord-menu { position:static !important; }
  #elementor-header-top .menuzord-menu > .ss-mega-parent { position:static !important; }
  #elementor-header-top .menuzord-menu > .ss-mega-parent > ul.ss-class-mega {
    position:absolute !important; top:100% !important; left:50% !important; right:auto !important;
    z-index:10000 !important; display:none !important; width:min(980px,calc(100vw - 48px)) !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:11px !important;
    margin:0 !important; padding:18px !important; transform:translateX(-50%) !important;
    border:1px solid rgba(75,46,37,.13) !important; border-radius:0 0 22px 22px !important;
    background:rgba(255,253,250,.985) !important; box-shadow:0 28px 70px rgba(49,31,24,.2) !important;
    backdrop-filter:blur(14px);
  }
  #elementor-header-top .menuzord-menu > .ss-mega-parent:hover > ul.ss-class-mega,
  #elementor-header-top .menuzord-menu > .ss-mega-parent:focus-within > ul.ss-class-mega,
  #elementor-header-top .menuzord-menu > .ss-mega-parent > ul.ss-class-mega:hover { display:grid !important; }
  #elementor-header-top ul.ss-class-mega::before { content:""; position:absolute; top:-12px; left:0; width:100%; height:14px; }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card { width:auto !important; margin:0 !important; border:0 !important; }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card > a {
    display:grid !important; grid-template-columns:70px minmax(0,1fr); gap:12px; min-height:72px; align-items:center;
    padding:8px !important; border:1px solid rgba(75,46,37,.1) !important; border-radius:13px !important;
    background:var(--ss-cream) !important; color:var(--ss-brown) !important; transform:none !important;
  }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card > a:hover { background:#fff !important; border-color:rgba(85,107,47,.52) !important; box-shadow:0 9px 23px rgba(75,46,37,.1); }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card img { width:70px; height:54px; object-fit:cover; border-radius:9px; }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card span { min-width:0; }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card strong { display:block; color:var(--ss-brown); font:600 13px/1.25 Montserrat,sans-serif; }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card small { display:block; margin-top:4px; overflow:hidden; color:#786b63; font-size:10px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature { grid-column:1/-1; width:auto !important; margin-top:3px; border:0 !important; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature > a { display:grid !important; grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr); min-height:128px; overflow:hidden; padding:0 !important; border:0 !important; border-radius:17px !important; background:var(--ss-brown) !important; color:#fff !important; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature span { display:flex; align-items:flex-start; justify-content:center; flex-direction:column; padding:22px 26px; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature small { color:#d7b58e; font:700 9px/1.2 "Azeret Mono",monospace; letter-spacing:.12em; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature strong { margin:6px 0; color:#fff; font:500 25px/1.05 "Playfair Display",serif; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature em { color:#f3eadb; font-size:11px; font-style:normal; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature b { margin-top:12px; color:#fff; font-size:11px; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature img { width:100%; height:128px; object-fit:cover; object-position:center 45%; }
}

/* Remove the false full-width checkbox field that created the checkout blank block. */
.woocommerce-checkout .ss-checkout-waiver { min-height:0 !important; margin:14px 0 18px !important; padding:18px 20px !important; border:1px solid rgba(75,46,37,.12); border-radius:14px; background:var(--ss-cream); }
.woocommerce-checkout .ss-checkout-waiver .woocommerce-input-wrapper { display:block !important; }
.woocommerce-checkout .ss-checkout-waiver label.checkbox { display:flex !important; align-items:flex-start; gap:11px; margin:0 !important; color:#625852; font-size:14px; line-height:1.55; }
.woocommerce-checkout .ss-checkout-waiver input[type="checkbox"] { position:static !important; display:block !important; flex:0 0 20px; width:20px !important; height:20px !important; min-height:20px !important; margin:2px 0 0 !important; padding:0 !important; border:1px solid var(--ss-brown) !important; border-radius:4px !important; background:#fff !important; box-shadow:none !important; appearance:auto !important; }
.woocommerce-checkout .ss-checkout-waiver a { color:var(--ss-green) !important; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* A complete, editorial homepage feature for the RYS 200 course. */
.ss-home-ttc-final { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:clamp(34px,6vw,90px); width:min(1420px,calc(100% - 40px)); margin:0 auto; padding:clamp(66px,8vw,118px) clamp(24px,5vw,72px); border-radius:32px; background:var(--ss-brown); color:#fff; }
.ss-home-ttc-copy > span { color:#d7b58e; font:700 10px/1.2 "Azeret Mono",monospace; letter-spacing:.13em; }
.ss-home-ttc-copy h2 { max-width:780px; margin:16px 0 22px; color:#fff; font:500 clamp(42px,5vw,70px)/.98 "Playfair Display",serif; text-wrap:balance; }
.ss-home-ttc-copy > p { max-width:720px; color:#f4ece1; font-size:17px; line-height:1.75; }
.ss-home-ttc-copy ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 22px; margin:26px 0 32px; padding:0; list-style:none; }
.ss-home-ttc-copy li { position:relative; padding-left:28px; color:#fff; font-size:13px; line-height:1.45; }
.ss-home-ttc-copy li::before { content:"✓"; position:absolute; left:0; display:grid; width:20px; height:20px; place-items:center; border-radius:50%; background:var(--ss-green); color:#fff; font-size:10px; }
.ss-home-ttc-copy > div { display:flex; flex-wrap:wrap; gap:11px; }
.ss-home-ttc-copy > div a { display:inline-flex; min-height:53px; align-items:center; padding:12px 20px; border:2px solid #fff; border-radius:999px; color:#fff !important; font-weight:800; }
.ss-home-ttc-copy > div a:first-child { background:#fff; color:var(--ss-brown) !important; }
.ss-home-ttc-copy > div a:hover { border-color:var(--ss-green); background:var(--ss-green); color:#fff !important; transform:translateY(-2px); }
.ss-home-ttc-image { position:relative; display:block; min-height:560px; overflow:hidden; border-radius:180px 180px 24px 24px; color:#fff !important; }
.ss-home-ttc-image::after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,rgba(35,21,17,.86)); }
.ss-home-ttc-image img { width:100%; height:100%; min-height:560px; object-fit:cover; object-position:center; }
.ss-home-ttc-image span { position:absolute; z-index:2; right:25px; bottom:25px; left:25px; display:flex; align-items:end; gap:11px; color:#fff; line-height:1.35; }
.ss-home-ttc-image b { color:#fff; font:500 60px/.8 "Playfair Display",serif; }

/* Added call-to-action within What is included. */
.sun-sage-ttc-page .ss-ttc-included-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:end; width:calc(100% - clamp(36px,7vw,100px)); margin:34px auto 0; padding:clamp(28px,4vw,48px); border-radius:23px; background:var(--ss-brown); color:#fff; }
.ss-ttc-included-cta span { color:#d7b58e; font:700 10px "Azeret Mono",monospace; letter-spacing:.12em; }
.ss-ttc-included-cta h3 { max-width:650px; margin:10px 0; color:#fff; font:500 clamp(30px,3.3vw,48px)/1.04 "Playfair Display",serif; }
.ss-ttc-included-cta p { max-width:640px; margin:0; color:#f0e8dc; line-height:1.6; }
.ss-ttc-included-cta > div:last-child { display:flex; align-items:stretch; flex-direction:column; gap:9px; }
.ss-ttc-included-cta a { display:flex; min-height:49px; align-items:center; justify-content:center; padding:11px 18px; border:2px solid #fff; border-radius:999px; color:#fff !important; font-size:12px; font-weight:800; white-space:nowrap; }
.ss-ttc-included-cta a:first-child { border-color:var(--ss-green); background:var(--ss-green); }
.ss-ttc-included-cta a:hover { background:#fff; color:var(--ss-brown) !important; }

/* Contact page: replace repetitive arrival cards with a clear first-class path. */
.ss-contact-first-class { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; gap:34px !important; align-items:center; width:100%; margin-top:18px; padding:clamp(30px,5vw,58px); border-radius:24px; background:var(--ss-green); color:#fff; }
.ss-contact-first-class span { color:#e4d0b7; font:700 10px "Azeret Mono",monospace; letter-spacing:.13em; }
.ss-contact-first-class h2 { max-width:700px; margin:11px 0 13px; color:#fff; font:500 clamp(34px,4vw,54px)/1.02 "Playfair Display",serif; }
.ss-contact-first-class p { max-width:740px; color:#fff; line-height:1.7; }
.ss-contact-first-class ul { display:flex; flex-wrap:wrap; gap:8px 20px; margin:20px 0 0; padding:0; list-style:none; }
.ss-contact-first-class li { position:relative; padding-left:20px; color:#fff; font-size:12px; }
.ss-contact-first-class li::before { content:"✓"; position:absolute; left:0; }
.ss-contact-first-class > a { display:inline-flex; min-height:56px; align-items:center; gap:14px; padding:13px 20px; border:2px solid #fff; border-radius:999px; background:#fff; color:var(--ss-brown) !important; font-weight:800; white-space:nowrap; }
.ss-contact-first-class > a:hover { background:transparent; color:#fff !important; }

/* Journal archive and articles. */
.ss-journal-archive .main-content-area { padding:0 !important; }
.ss-journal-page { width:min(1400px,calc(100% - 40px)); margin:0 auto; padding:clamp(60px,8vw,112px) 0; }
.ss-journal-page > header { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr); gap:35px; align-items:end; margin-bottom:46px; padding-bottom:34px; border-bottom:1px solid rgba(75,46,37,.15); }
.ss-journal-page > header span,.ss-journal-grid article span { color:#9b6434; font:700 10px "Azeret Mono",monospace; letter-spacing:.12em; }
.ss-journal-page > header h1 { grid-column:1; max-width:880px; margin:10px 0 0; color:var(--ss-brown); font:500 clamp(48px,6vw,80px)/.98 "Playfair Display",serif; }
.ss-journal-page > header p { grid-column:2; grid-row:1/3; margin:0; color:#6f625b; font-size:17px; line-height:1.7; }
.ss-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ss-journal-grid article { overflow:hidden; border:1px solid rgba(75,46,37,.12); border-radius:22px; background:#fff; transition:transform .25s ease,box-shadow .25s ease; }
.ss-journal-grid article:hover { transform:translateY(-6px); box-shadow:0 22px 50px rgba(75,46,37,.12); }
.ss-journal-grid article > img { width:100%; height:270px; object-fit:cover; }
.ss-journal-grid article > div { padding:26px; }
.ss-journal-grid h2 { margin:11px 0 12px; font:500 31px/1.08 "Playfair Display",serif; }
.ss-journal-grid h2 a { color:var(--ss-brown); }
.ss-journal-grid p { min-height:78px; color:#73665e; line-height:1.65; }
.ss-journal-grid article > div > a { color:var(--ss-green); font-size:12px; font-weight:800; }
.ss-journal-single .main-content-area { background:#fbf8f2; }
.ss-journal-single article .entry-content,.ss-journal-article-content { max-width:880px; margin-inline:auto; }
.ss-journal-article-content { padding:clamp(40px,6vw,80px) max(22px,4vw); color:#504741; }
.ss-journal-lead { color:var(--ss-brown); font:500 clamp(24px,2.6vw,34px)/1.35 "Playfair Display",serif; }
.ss-journal-article-content h2 { margin:42px 0 13px; color:var(--ss-brown); font:500 clamp(30px,3.4vw,44px)/1.08 "Playfair Display",serif; }
.ss-journal-article-content p { font-size:17px; line-height:1.8; }
.ss-journal-note { padding:23px; border-left:4px solid var(--ss-green); background:var(--ss-cream); }
.ss-journal-button { display:inline-flex; min-height:52px; align-items:center; padding:12px 20px; border-radius:999px; background:var(--ss-green); color:#fff !important; font-weight:800; }

/* One restrained footer everywhere. */
.ss-footer-final { padding:clamp(38px,4.5vw,68px) max(22px,6vw) 26px !important; }
.ss-footer-final .ss-footer-cta { align-items:center; padding-bottom:32px; }
.ss-footer-final .ss-footer-cta h2 { max-width:700px !important; font-size:clamp(28px,3.1vw,45px) !important; line-height:1.08 !important; }
.ss-footer-final .ss-footer-cta > p { margin:0; }
.ss-footer-final .ss-footer-cta > a,.ss-footer-final .ss-footer-cta > p > a { display:inline-flex; min-height:52px; align-items:center; padding:12px 22px; border:2px solid var(--ss-green); border-radius:999px; background:var(--ss-green); color:#fff !important; font-weight:800; }
.ss-footer-final .ss-footer-cta > a:hover,.ss-footer-final .ss-footer-cta > p > a:hover { background:#fff; color:var(--ss-brown) !important; }
.ss-footer-final .ss-footer-identity { grid-template-columns:minmax(250px,1fr) 190px minmax(250px,1fr); gap:clamp(48px,8vw,130px); padding:34px 0; }
.ss-footer-final .ss-footer-logo { display:flex; justify-content:center; }
.ss-footer-final .ss-footer-logo img { width:150px; }
.ss-footer-final .ss-footer-identity p:first-child { justify-self:start; }
.ss-footer-final .ss-footer-identity p:last-child { justify-self:end; min-width:300px; }
.ss-footer-final .ss-footer-main { padding-top:24px; }
.ss-footer-final .ss-footer-legal { margin-top:26px; }

/* Meditation-inspired floating cart icon from the supplied reference. */
.ss-header-cart > span { display:grid; width:34px; height:34px; place-items:center; filter:none !important; }
.ss-header-cart > span svg { width:32px; height:32px; overflow:visible; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ss-header-cart > span svg circle { fill:#fff; stroke:none; }

/* Page-title and account typography that fits the available space. */
.page-id-3572 .page-title,.page-id-3572 h1.entry-title { font-size:clamp(40px,5vw,66px) !important; }
.sun-sage-member-hub .page-title,.sun-sage-member-hub h1,.sun-sage-member-hub .woocommerce-MyAccount-content h2 { font-size:clamp(28px,3.2vw,44px) !important; line-height:1.1 !important; }
.sun-sage-member-hub .woocommerce-MyAccount-content h3 { font-size:clamp(22px,2.3vw,31px) !important; }
.sun-sage-member-hub .woocommerce-MyAccount-content,.sun-sage-member-hub .woocommerce-MyAccount-navigation { font-size:14px; }

@media (max-width:1024px) {
  .ss-home-ttc-final { grid-template-columns:1fr; }
  .ss-home-ttc-image { min-height:460px; border-radius:24px; }
  .ss-home-ttc-image img { min-height:460px; }
  .ss-journal-page > header { grid-template-columns:1fr; }
  .ss-journal-page > header p { grid-column:1; grid-row:auto; }
  .ss-journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ss-contact-first-class,.sun-sage-ttc-page .ss-ttc-included-cta { grid-template-columns:1fr !important; }
  .ss-footer-final .ss-footer-identity { grid-template-columns:1fr; gap:24px; text-align:center; }
  .ss-footer-final .ss-footer-identity p:first-child,.ss-footer-final .ss-footer-identity p:last-child { justify-self:center; min-width:0; text-align:center; }
  .ss-footer-final .ss-footer-logo { grid-row:1; }
}

@media (max-width:767px) {
  .ss-home-ttc-final,.ss-journal-page { width:calc(100% - 24px); }
  .ss-home-ttc-final { padding:46px 20px; border-radius:22px; }
  .ss-home-ttc-copy ul,.ss-journal-grid { grid-template-columns:1fr; }
  .ss-home-ttc-image,.ss-home-ttc-image img { min-height:380px; }
  .ss-home-ttc-image span { right:18px; bottom:18px; left:18px; }
  .ss-home-ttc-image b { font-size:48px; }
  .sun-sage-ttc-page .ss-ttc-included-cta { width:calc(100% - 24px); }
  .ss-contact-first-class { padding:28px 22px; }
  .ss-contact-first-class ul { display:grid; }
  .ss-journal-page > header { margin-bottom:28px; }
  .ss-journal-grid article > img { height:230px; }
  .ss-footer-final { padding-top:32px !important; }
  .ss-footer-final .ss-footer-cta { align-items:flex-start; gap:20px; padding-bottom:27px; }
  .ss-footer-final .ss-footer-main { gap:10px 18px; }
}

/* September 10 visual refinement: distinct photography, a quieter Founding 50 feature and compact mobile navigation. */
.ss-classes-showcase img,
.ss-upcoming-card__image img,
.robina-service__thumb[data-ss-image="ready"] { object-position:center 42% !important; }

.ss-home-founding-experience {
  grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);
  gap:clamp(32px,5vw,76px);
  align-items:center;
  width:min(1400px,calc(100% - 40px));
  margin:clamp(48px,6vw,84px) auto;
  padding:clamp(28px,4vw,56px);
  background:#f4ecdf;
  box-shadow:none;
}
.ss-home-founding-media {
  position:relative;
  display:block;
  min-height:0;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:26px;
  background:#ded3c3;
}
.ss-home-founding-media img,
.ss-home-founding-media img:first-child {
  display:block;
  width:100%;
  height:100% !important;
  object-fit:cover;
  object-position:center;
  border-radius:0;
}
.ss-home-founding-media > span {
  position:absolute;
  right:18px;
  bottom:18px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto;
  gap:0 9px;
  align-items:center;
  width:auto;
  max-width:185px;
  padding:13px 17px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:999px;
  background:rgba(75,46,37,.9);
  box-shadow:0 12px 28px rgba(34,22,18,.18);
  backdrop-filter:blur(8px);
}
.ss-home-founding-media > span b { margin:0; font-size:35px; line-height:1; }
.ss-home-founding-media > span small { color:#fff; font-size:10px; line-height:1.25; text-align:left; text-transform:uppercase; letter-spacing:.06em; }
.ss-home-founding-copy h2 { max-width:720px; font-size:clamp(42px,4.7vw,67px); line-height:1; text-wrap:balance; }
.ss-home-founding-phases article { padding:21px; border-radius:16px; }
.ss-home-founding-phases strong { font-size:clamp(23px,2vw,31px); }

.robina-booking button.ss-booking-back,
.robina-booking button[class*="back" i],
.robina-booking button[class*="prev" i],
.robina-booking button[aria-label*="back" i],
.robina-booking button[aria-label*="previous" i] {
  min-width:116px;
  border:1px solid rgba(75,46,37,.24) !important;
  background:#fffdfa !important;
  color:var(--sun-chocolate) !important;
  font-weight:700;
}
.robina-booking button.ss-booking-back:hover,
.robina-booking button[class*="back" i]:hover,
.robina-booking button[class*="prev" i]:hover { border-color:var(--sun-chocolate) !important; background:var(--sun-cream) !important; color:var(--sun-chocolate) !important; }

@media (max-width:1024px) {
  #elementor-header-top ul.ss-class-mega {
    width:100% !important;
    max-height:min(68vh,620px);
    overflow-y:auto;
    padding:10px !important;
    border-radius:15px !important;
    background:#fffdfa !important;
  }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card { margin:0 0 7px !important; border:0 !important; }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card > a {
    display:grid !important;
    grid-template-columns:62px minmax(0,1fr);
    gap:10px;
    min-height:62px;
    align-items:center;
    padding:7px !important;
    border:1px solid rgba(75,46,37,.1) !important;
    border-radius:11px !important;
    background:var(--ss-cream) !important;
    color:var(--ss-brown) !important;
  }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card img { width:62px; height:48px; object-fit:cover; border-radius:8px; }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card strong { display:block; color:var(--ss-brown); font-size:12px; line-height:1.2; }
  #elementor-header-top ul.ss-class-mega li.ss-mega-card small { display:block; margin-top:2px; color:#786b63; font-size:9px; line-height:1.25; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature { margin-top:9px !important; border:0 !important; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature > a {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 92px;
    min-height:92px;
    overflow:hidden;
    padding:0 !important;
    border-radius:13px !important;
    background:var(--ss-brown) !important;
    color:#fff !important;
  }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature span { display:flex; justify-content:center; flex-direction:column; padding:13px !important; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature small { color:#d7b58e; font-size:7px; letter-spacing:.08em; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature strong { margin:4px 0; color:#fff; font:500 17px/1.05 "Playfair Display",serif; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature em { color:#f3eadb; font-size:8px; font-style:normal; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature b { margin-top:5px; color:#fff; font-size:9px; }
  #elementor-header-top ul.ss-class-mega .ss-mega-feature img { width:92px; height:92px; object-fit:cover; }

  .ss-home-founding-experience { grid-template-columns:1fr; }
  .ss-home-founding-media { aspect-ratio:16/9; }
}

@media (max-width:767px) {
  .ss-home-founding-experience { width:calc(100% - 24px); gap:27px; padding:18px; }
  .ss-home-founding-media { min-height:240px; aspect-ratio:4/3; border-radius:18px; }
  .ss-home-founding-media > span { right:12px; bottom:12px; padding:10px 13px; }
  .ss-home-founding-media > span b { font-size:28px; }
  .ss-home-founding-copy h2 { margin-bottom:16px; font-size:clamp(35px,10.5vw,48px); }
  .ss-home-founding-lead { font-size:15px; line-height:1.65; }
  .ss-home-founding-phases { gap:10px; margin:22px 0 20px; }
  .ss-home-founding-phases article { padding:17px; }
  .ss-home-founding-actions { display:grid; grid-template-columns:1fr; }
  .ss-home-founding-actions a { min-height:49px; }
  .ss-classes-showcase { width:calc(100% - 24px) !important; }
}

/* Restore Yogava Header Style 2 while retaining Sun & Sage content. */
@media (min-width:1025px) {
  #elementor-header-top .elementor-element-7d1fe51 {
    padding:20px 20px 0 !important;
    background:transparent !important;
  }
  #elementor-header-top .elementor-element-daf785e {
    min-height:96px !important;
    height:auto !important;
    border:0 !important;
    border-radius:10px !important;
    background:#f2f0ec !important;
    box-shadow:none !important;
  }
  #elementor-header-top .elementor-element-daf785e > .e-con-inner {
    display:flex !important;
    width:100% !important;
    max-width:1700px !important;
    min-height:76px !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:0 !important;
    padding:10px 20px !important;
    overflow:visible !important;
  }
  #elementor-header-top .elementor-element-daf785e .elementor-widget,
  #elementor-header-top .elementor-element-daf785e .elementor-widget-container { margin-block:0 !important; }
  #elementor-header-top .elementor-element-ac5d23e {
    width:12% !important;
    min-width:145px !important;
    align-self:center !important;
    justify-content:center !important;
  }
  #elementor-header-top .elementor-element-5da20ed {
    width:52% !important;
    min-width:0 !important;
    align-self:center !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  #elementor-header-top .elementor-element-5da20ed::before { content:none !important; display:none !important; }
  #elementor-header-top .elementor-element-2d737c3 {
    width:25% !important;
    min-width:190px !important;
    align-self:center !important;
    align-items:flex-end !important;
    justify-content:center !important;
  }
  #elementor-header-top .elementor-element-ac5d23e .elementor-widget-container,
  #elementor-header-top .elementor-element-ac5d23e a,
  #elementor-header-top .elementor-element-2d737c3 .elementor-widget-container {
    display:flex !important;
    align-items:center !important;
  }
  #elementor-header-top .elementor-element-5da20ed .menuzord {
    display:flex !important;
    width:100% !important;
    min-height:52px !important;
    align-items:center !important;
    justify-content:center !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu {
    min-height:52px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
    scrollbar-width:none !important;
  }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu > li { display:flex !important; align-items:center !important; }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu > li > a {
    display:inline-flex !important;
    min-height:52px !important;
    align-items:center !important;
    margin:0 !important;
    padding-block:0 !important;
    padding-inline:clamp(5px,.65vw,12px) !important;
    color:var(--sun-chocolate) !important;
    font-size:clamp(11px,.78vw,14px) !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
  }
  #elementor-header-top .elementor-element-5da20ed .menuzord-mobile-showhide,
  #elementor-header-top .elementor-element-5da20ed .showhide,
  #elementor-header-top .menuzord-responsive > .showhide,
  #elementor-header-top .menuzord-responsive > a.showhide,
  #elementor-header-top .ss-mobile-menu-toggle { display:none !important; }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu > li > a:hover,
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu > li.current-menu-item > a,
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu > li.current-menu-ancestor > a {
    color:var(--sun-deep-sage) !important;
  }
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu > li > a .indicator,
  #elementor-header-top .elementor-element-5da20ed .menuzord-menu > li > a::after {
    color:var(--sun-chocolate) !important;
    border-color:var(--sun-chocolate) !important;
  }
  #elementor-header-top .elementor-element-2d737c3 .theme-btn {
    min-width:clamp(176px,12vw,190px) !important;
    min-height:52px !important;
    align-items:center !important;
    justify-content:center !important;
    padding-inline:18px !important;
    font-size:clamp(11px,.72vw,13px) !important;
  }
}
