/*
  PAGE PILATES | MDB5 FREE
  -----------------------
  EDITING GUIDE
  1. Change brand colours, fonts and site-wide settings in :root below.
  2. Find the numbered section matching the homepage area you are editing.
  3. Desktop styles are above the responsive rules at the bottom.
  4. Keep custom styles in this file, not inline in index.html.
  5. MDB5 is loaded first; this stylesheet overrides it where needed.
*/

/* ============================================================
   01. COLOURS, FONTS & GLOBAL SETTINGS
   ============================================================ */

/* Change these values to update the palette throughout the site. */
:root {
  --teal:#167C80;
  --teal-dark:#13585b;
  --coral:#D98A70;
  --cream:#F6EEE2;
  --paper:#fffdfa;
  --ink:#243e3d;
  --muted:#586664;
  --line:#d9ddd6;
  --serif:'Newsreader',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif;
}

/* ============================================================
   02. BASE TYPOGRAPHY & LINKS
   ============================================================ */

html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}

body {
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  font-size:16px;
  line-height:1.75;
}

h1,h2,h3,blockquote {
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.025em;
}

h1 {
  font-size:clamp(3.5rem,6vw,6.6rem);
  line-height:.98;
}

h2 {
  font-size:clamp(2.3rem,4vw,4rem);
  line-height:1.1;
}

h3 {
  font-size:1.7rem;
}

p {
  margin-bottom:1.3rem;
}

/* ============================================================
   03. NAVIGATION & LOGO
   Edit all navbar sizes, spacing and colours in this section.
   ============================================================ */

:root {
  --nav-background: #F6EEE2;
  --nav-height: 100px;
  --nav-link-gap: 34px;
  --nav-link-size: .87rem;
  --nav-button-background: #D98A70;
  --nav-button-text: #263b38;
}

.site-header {
  background: var(--nav-background);
  border-bottom: 1px solid rgba(22, 124, 128, .14);
  box-shadow: none;
}

.site-header .navbar {
  box-shadow: none;
  padding: 0;
  min-height: var(--nav-height);
}

.nav-container { gap: 24px; }

.navbar-brand {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  padding: 4px 0;
  color: var(--teal-dark);
  text-decoration: none;
}

/* WORDMARK: change these settings to adjust the logo across all three pages.
   Two related teal colours, one upright typeface, no divider or tagline. */
.brand-wordmark {
  --logo-size: 2.85rem;
  --logo-page-colour: #13585B;
  --logo-pilates-colour: #167C80;
  --logo-word-spacing: .14em;
  display: inline-flex;
  align-items: baseline;
  gap: var(--logo-word-spacing);
  font-family: var(--serif);
  font-size: var(--logo-size);
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.045em;
  white-space: nowrap;
}
.brand-page, .brand-pilates { font-style: normal; font-weight: 500; }
.brand-page { color: var(--logo-page-colour); }
.brand-pilates { color: var(--logo-pilates-colour); }

.navbar-brand small {
  display: block;
  font-family: var(--sans);
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .27em;
  line-height: 1;
  margin-top: 9px;
  margin-left: 3px;
}

.nav-menu { gap: var(--nav-link-gap); }
.site-header .nav-link {
  position: relative;
  padding: 10px 0 !important;
  font-size: var(--nav-link-size);
  font-weight: 500;
  color: var(--ink) !important;
  transition: color .2s ease;
}

.site-header .nav-link::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--teal);
  transition: width .2s ease;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus-visible { color: var(--teal) !important; }
.site-header .nav-link:hover::after,
.site-header .nav-link:focus-visible::after { width: 100%; }

/* Booking button: independent from other buttons on the site. */
.site-header .nav-book-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  flex-shrink: 0;
  margin-left: 38px;
  padding: 12px 21px;
  border-radius: 100px;
  background: var(--nav-button-background);
  color: var(--nav-button-text);
  font-size: .82rem;
  font-weight: 600;
  text-transform: none;
  box-shadow: none;
  transition: background .2s ease, transform .2s ease;
}
.site-header .nav-book-button:hover { background: #e5a18b; transform: translateY(-1px); }
.site-header .nav-book-button i { font-size: .8rem; }

.navbar-toggler {
  padding: 12px;
  border: 1px solid rgba(22,124,128,.22);
  border-radius: 50%;
  box-shadow: none !important;
}
.nav-toggle-lines { display: flex; width: 20px; height: 16px; flex-direction: column; justify-content: space-around; }
.nav-toggle-lines span { display: block; height: 1.5px; background: var(--teal-dark); width: 100%; }
.nav-toggle-lines span:last-child { width: 70%; align-self: flex-end; }

@media (max-width: 991.98px) {
  :root { --nav-height: 76px; }
  .site-header .navbar-collapse { padding: 18px 0 25px; border-top: 1px solid rgba(22,124,128,.12); margin-top: 8px; }
  .nav-menu { align-items: flex-start !important; gap: 5px; }
  .site-header .nav-link { font-size: 1rem; padding: 10px 0 !important; }
  .site-header .nav-book-button { margin: 18px 0 0; }
  .brand-wordmark { --logo-size: 2.15rem; }
}

/* ============================================================
   04. BUTTONS & TEXT LINKS
   ============================================================ */

.btn {
  box-shadow:none!important;
  text-transform:none;
  letter-spacing:.01em;
  font-weight:600;
  font-size:.82rem;
  padding:13px 25px;
}

.btn-coral {
	background: var(--coral);
	color: #FFFFFF;
}

.btn-coral:hover {
  background:#c9785f;
  color:#262c29;
}

.btn-teal {
  background:var(--teal);
  color:#fff;
}

.btn-teal:hover {
  background:var(--teal-dark);
  color:#fff;
}

.text-link {
  display:inline-flex;
  align-items:center;
  color:var(--teal-dark);
  font-weight:600;
  font-size:.88rem;
  border-bottom:1px solid var(--teal);
  padding-bottom:4px;
}

.text-link:hover {
  color:var(--teal);
}

/* ============================================================
   05. HERO | Edit the variables below to change this section.
   Photograph: replace the placeholder in index.html, section 02.
   ============================================================ */

.hero-section {
  --hero-background: #FFFCF7; /* Lighter than the cream navbar; change here */
  --hero-title-colour: #13585b;
  --hero-accent-colour: #167C80;
  --hero-photo-background: #d9ded6;
  --hero-top-bottom-space: 72px;
  --hero-column-gap: 3%; /* Space between the copy and photograph */
  --hero-image-height: 610px; /* Desktop photograph height */
  --hero-text-width: 43%;
  --hero-photo-width: 54%;
  --hero-photo-position: center 44%; /* Adjust crop when Jaime’s photo is added */
  background: var(--hero-background);
  overflow: hidden;
}
.hero-grid {
  display: grid;
  grid-template-columns: var(--hero-text-width) var(--hero-photo-width);
  gap: var(--hero-column-gap);
  align-items: center;
  padding-top: var(--hero-top-bottom-space);
  padding-bottom: var(--hero-top-bottom-space);
}
.hero-copy { padding: 16px 0 28px; }
.hero-eyebrow { display:flex; align-items:center; gap:14px; margin-bottom:30px; }
.hero-eyebrow-rule { width:32px; height:1px; background:var(--coral); flex-shrink:0; }
.hero-copy h1 {
  color:var(--hero-title-colour);
  font-size:clamp(3.7rem, 5.7vw, 6.25rem);
  line-height:.98;
  letter-spacing:-.052em;
  margin:0;
  font-weight:500;
}
.hero-copy h1 span { color:var(--hero-accent-colour); }
.lead-copy {
  color:var(--muted);
  font-size:clamp(1.04rem,1.4vw,1.15rem);
  line-height:1.8;
  max-width:460px;
  margin:30px 0 0;
}
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; margin-top:32px; }
.hero-primary { padding:16px 28px; }
.hero-secondary { margin:0; }
.hero-location { display:flex; align-items:center; gap:10px; font-size:.78rem; color:var(--muted); margin:55px 0 0; }
.hero-location i { color:var(--coral); }
.hero-visual { position:relative; min-width:0; padding:0 0 25px 22px; }
.hero-image-frame { position:relative; height:var(--hero-image-height); }
.hero-image-frame::before {
  content:""; position:absolute; z-index:0;
  top:-13px; right:-13px; bottom:13px; left:13px;
  border:1px solid rgba(22,124,128,.27);
  pointer-events:none;
}
.hero-photo, .hero-image {
  position:relative; z-index:1; width:100%; height:100%;
  object-fit:cover; object-position:var(--hero-photo-position); display:block;
}
.hero-photo { background:var(--hero-photo-background); display:flex; }
.hero-photo small { font-size:.72rem; opacity:.7; }
.hero-photo-caption {
  display:flex; align-items:center; gap:13px; margin:19px 0 0 2px;
  font-size:.63rem; letter-spacing:.22em; color:var(--teal-dark); font-weight:700;
}
.hero-caption-rule { width:29px; height:1px; background:var(--coral); }

/* ============================================================
   06. SHARED SECTION STYLES
   ============================================================ */

.photo-placeholder {
  background:linear-gradient(135deg,#d4d8d0,#c2cec8);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#536d68;
  text-align:center;
  font-size:.83rem;
  letter-spacing:.03em;
}

.photo-placeholder i {
  font-size:2rem;
  opacity:.7;
}

.section-space {
  padding:110px 0;
}

.narrow-container {
  max-width:760px;
}

.section-intro {
  font-size:1.04rem;
  color:var(--muted);
  max-width:610px;
  margin:22px auto 0;
}

.eyebrow {
  font-family:var(--sans);
  font-size:.7rem;
  letter-spacing:.2em;
  font-weight:700;
  color:var(--teal);
  margin-bottom:1.5rem;
}

.section-heading {
  max-width:730px;
  margin:auto;
}

.section-cream {
  background:var(--cream);
}

/* ============================================================
   07. WELCOME SECTION | Easy-edit settings
   Change the values below to adjust this section only.
   ============================================================ */
.welcome-section {
  --welcome-background: #fffdfa;
  --welcome-padding-top: 110px;
  --welcome-padding-bottom: 115px;
  --welcome-icon-colour: var(--teal);
  --welcome-accent-colour: var(--coral);
  --welcome-icon-size: 62px;
  --welcome-column-gap: 40px;
  background: var(--welcome-background);
  padding: var(--welcome-padding-top) 0 var(--welcome-padding-bottom);
}
.welcome-intro { max-width: 760px; margin: 0 auto; }
.welcome-intro h2 { color: var(--teal-dark); margin: 0 0 22px; }
.welcome-lead { max-width: 660px; margin: 0 auto; color: var(--muted); font-size: 1.08rem; line-height: 1.85; }
.welcome-features { margin-top: 67px; --bs-gutter-x: var(--welcome-column-gap); }
.welcome-feature { padding: 0 26px; }
.welcome-icon { width: var(--welcome-icon-size); height: var(--welcome-icon-size); margin: 0 auto 23px; color: var(--welcome-icon-colour); }
.welcome-icon svg { width: 100%; height: 100%; display: block; }
.welcome-icon-accent { stroke: var(--welcome-accent-colour); }
.welcome-feature h3 { font-size: 1.65rem; margin: 0 0 12px; color: var(--teal-dark); }
.welcome-feature p { max-width: 295px; margin: 0 auto; font-size: .94rem; line-height: 1.75; color: var(--muted); }
/* Keep existing class-section icons working elsewhere. */
.feature { padding: 0 34px; }
.feature-icon { font-size: 2rem; color: var(--teal); margin-bottom: 24px; font-weight: 300; }
.feature h3 { margin-bottom: 12px; }
.feature p { font-size: .9rem; color: var(--muted); max-width: 290px; margin: 0 auto; }

/* ============================================================
   08. ABOUT JAIME
   ============================================================ */

.split-section {
  background:#edf0e9;
}

.split-photo {
  min-height:600px;
  height:100%;
}

.split-copy {
  display:flex;
  align-items:center;
  padding:80px clamp(40px,8vw,130px);
}

.split-copy-inner {
  max-width:460px;
}

.split-copy-inner p:not(.eyebrow) {
  color:var(--muted);
}

.split-copy-inner .text-link {
  margin-top:20px;
}

/* ============================================================
   09. VENUES
   ============================================================ */

.venue {
  background:var(--paper);
  height:100%;
}

.venue-photo {
  height:280px;
}

.venue-content {
  padding:32px 36px;
}

.venue-content .eyebrow {
  margin-bottom:10px;
}

.venue-content p:last-child {
  color:var(--muted);
  margin:0;
}

/* ============================================================
   10. TESTIMONIALS
   ============================================================ */

.testimonials {
  background:#fff;
}

.quote-icon {
  color:var(--coral);
  font-size:1.4rem;
  margin:30px 0;
}

.testimonials blockquote {
  font-size:clamp(1.6rem,3vw,2.7rem);
  line-height:1.3;
}

.quote-credit {
  font-size:.7rem;
  letter-spacing:.15em;
  color:var(--teal);
  font-weight:700;
}

/* ============================================================
   11. CONTACT & FOOTER
   ============================================================ */

.contact-section {
  padding:100px 0;
  background:var(--teal-dark);
  color:#fff;
}

.contact-section .eyebrow {
  color:#e8c3b5;
}

.contact-section h2 {
  color:#fff;
}

.contact-section p:not(.eyebrow) {
  color:#e6efeb;
}

.contact-section .btn {
  margin-top:16px;
}

.placeholder-note {
  font-size:.72rem;
  margin-top:18px;
  opacity:.7;
}

.site-footer {
  background:#173d3f;
  color:#d9e6df;
  padding:35px 0;
  font-size:.78rem;
}

.footer-brand {
  color:#fff;
}

.site-footer p {
  font-size:.78rem;
}

/* ============================================================
   12. RESPONSIVE STYLES
   Tablet: 991.98px and below | Mobile: 575.98px and below
   ============================================================ */

@media(max-width:991.98px) {
  .navbar-collapse {
    padding:18px 0;
  }
  .hero-grid {
    grid-template-columns:1fr;
  }
  .hero-copy {
    padding:75px 0 50px;
  }
  .hero-photo {
    min-height:450px;
  }
  .split-photo {
    min-height:450px;
  }
  .split-copy {
    padding:75px 8%;
  }
  .nav-social {
    margin-left:0!important;
  }
}

@media(max-width:575.98px) {
  .section-space {
    padding:75px 0;
  }
  .hero-copy {
    padding:65px 0 40px;
  }
  .hero-photo {
    min-height:350px;
  }
  .venue-photo {
    height:220px;
  }
  .feature {
    padding:0 20px;
  }
  .site-footer {
    text-align:center;
  }
}


/* Three-page navbar: active page indicator */
.site-header .nav-link.active { color: var(--teal-dark) !important; font-weight: 700; }
.site-header .nav-link.active::after { width: 100%; }

/* INNER PAGES: editable introductory section */
.inner-page-intro { background: var(--cream); min-height: 55vh; }
.inner-page-intro h1 { font-family: var(--serif); color: var(--teal-dark); font-size: clamp(2.8rem, 6vw, 5rem); }
.inner-page-intro p:not(.section-eyebrow) { max-width: 640px; }

/* ============================================================
   13. HERO RESPONSIVE OVERRIDES | Tablet and mobile
   ============================================================ */
@media (max-width: 991.98px) {
  .hero-section { --hero-top-bottom-space: 56px; --hero-image-height: 480px; }
  .hero-grid { grid-template-columns:1fr; gap:45px; }
  .hero-copy { padding:0; }
  .hero-copy h1 { font-size:clamp(4rem, 9vw, 6rem); }
  .hero-location { margin-top:32px; }
  .hero-visual { max-width:700px; width:100%; margin:auto; }
}
@media (max-width: 575.98px) {
  .hero-section { --hero-top-bottom-space: 48px; --hero-image-height:390px; }
  .hero-grid { gap:35px; }
  .hero-copy h1 { font-size:clamp(3.7rem, 13vw, 5.2rem); }
  .hero-eyebrow { margin-bottom:22px; }
  .lead-copy { margin-top:24px; }
  .hero-actions { gap:22px; margin-top:26px; }
  .hero-location { margin-top:30px; }
  .hero-visual { padding-left:10px; padding-right:10px; }
  .hero-image-frame::before { top:-12px; right:-12px; bottom:12px; left:12px; }
}

/* 14. WELCOME RESPONSIVE ADJUSTMENTS */
@media (max-width: 767.98px) {
  .welcome-section { --welcome-padding-top: 78px; --welcome-padding-bottom: 82px; --welcome-icon-size: 54px; }
  .welcome-features { margin-top: 45px; }
  .welcome-feature { padding: 0 22px; }
  .welcome-lead { font-size: 1rem; }
}


/* ============================================================
   15. HOMEPAGE PHOTO LAYOUT | EASY EDIT
   Full-width class photograph, venues, Jaime and accreditations.
   The custom welcome icons are intentionally parked for later.
   ============================================================ */
:root {
  --class-photo-height: 520px;
  --venue-photo-height: 300px;
  --about-background: #f4f5ef;
  --about-portrait-width: 340px;
  --footer-badge-height: 82px;
}
.welcome-section-compact { --welcome-padding-top: 95px; --welcome-padding-bottom: 95px; }
.class-photo-section { width: 100%; overflow: hidden; background: #e7e7df; }
.class-photo-section img { display: block; width: 100%; height: var(--class-photo-height); object-fit: cover; object-position: center 52%; }
/* Locations now sit immediately after the full-width class photograph. */
#venues { background: var(--cream); }
#venues .venue { background: var(--paper); }
.venue-image { width: 100%; height: var(--venue-photo-height); object-fit: cover; display: block; }
.venue-link { margin-top: 14px; }
/* Portrait is intentionally contained, not stretched to fill half the screen. */
#about { background: var(--about-background); }
.jaime-photo-wrap { min-height: 590px; height: 100%; display: flex; align-items: center; justify-content: center; padding: 70px 35px; background: #e9ede6; }
.jaime-photo { width: min(100%, var(--about-portrait-width)); aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; box-shadow: 18px 18px 0 rgba(22,124,128,.09); }
.accreditation-about { margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(19,88,91,.16); }
.accreditation-heading { font: 700 .68rem/1.5 var(--sans); letter-spacing: .15em; color: var(--teal-dark) !important; margin-bottom: 16px; }
.accreditation-logos { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.accreditation-logos img { max-width: 155px; height: 76px; width: auto; object-fit: contain; }
/* Footer badges are smaller than in the About section. */
.site-footer { padding: 42px 0 22px; }
.footer-main { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.footer-brand { display: inline-block; font: 500 2rem/1 var(--serif); color: #fff; margin-bottom: 12px; }
.footer-intro p { max-width: 310px; margin: 0; color: #d9e6df; }
.footer-credentials { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.footer-credentials img { height: var(--footer-badge-height); max-width: 180px; width: auto; object-fit: contain; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.16); margin-top: 30px; padding-top: 18px; display: flex; justify-content: space-between; gap: 15px; }
.footer-bottom a { color: #f6eee2; }
@media (max-width: 991.98px) {
  :root { --class-photo-height: 400px; --venue-photo-height: 250px; }
  .jaime-photo-wrap { min-height: 0; padding: 55px 30px; }
}
@media (max-width: 575.98px) {
  :root { --class-photo-height: 290px; --venue-photo-height: 220px; --footer-badge-height: 65px; }
  .welcome-section-compact { --welcome-padding-top: 70px; --welcome-padding-bottom: 70px; }
  .footer-main { flex-direction: column; align-items: flex-start; }
  .footer-bottom { flex-direction: column; }
  .accreditation-logos img { height: 64px; max-width: 125px; }
}

/* ============================================================
   16. CORAL ICON EXPERIMENT | Easy to edit or remove
   Change these variables to adjust the entire icon section.
   ============================================================ */
.icon-experiment {
  --icon-section-bg: #fffdfa;
  --icon-circle-bg: #d98a70;
  --icon-circle-size: 112px;
  --icon-line-width: 54px;
  --icon-heading-colour: #13585b;
  --icon-rule-colour: #d98a70;
  background: var(--icon-section-bg);
  padding: 94px 0 104px;
}
.icon-experiment-grid { margin-top: 32px; }
.icon-feature { display:flex; flex-direction:column; align-items:center; height:100%; text-align:center; color:var(--ink); text-decoration:none; padding:8px 6px; }
.icon-feature-circle { width:var(--icon-circle-size); height:var(--icon-circle-size); display:grid; place-items:center; background:var(--icon-circle-bg); border-radius:50%; transition:transform .25s ease, box-shadow .25s ease; }
.icon-feature-circle img { width:var(--icon-line-width); height:var(--icon-line-width); }
.icon-feature-title { font:500 1.55rem/1.15 var(--serif); color:var(--icon-heading-colour); margin-top:22px; }
.icon-feature-rule { width:28px; height:2px; background:var(--icon-rule-colour); margin:13px 0 12px; }
.icon-feature-copy { font:400 .87rem/1.55 var(--sans); color:var(--muted); max-width:190px; }
.icon-feature:hover .icon-feature-circle, .icon-feature:focus-visible .icon-feature-circle { transform:translateY(-5px); box-shadow:0 9px 22px rgba(19,88,91,.14); }
.icon-feature:focus-visible { outline:2px solid var(--teal); outline-offset:5px; border-radius:5px; }
@media(max-width:767.98px) { .icon-experiment { --icon-circle-size:88px; --icon-line-width:44px; padding:70px 0; } .icon-feature-title { font-size:1.35rem; } .icon-feature-copy { font-size:.82rem; } }
@media(prefers-reduced-motion:reduce) { .icon-feature-circle { transition:none; } }

/* ============================================================
   17. FLOATING CONTACT + BACK TO TOP | EASY EDIT
   Desktop: right edge. Mobile: fixed bottom enquiry bar.
   ============================================================ */
:root {
  --floating-coral: #D98A70;
  --floating-ink: #243E3D;
  --floating-right: 18px;
  --floating-bottom: 24px;
  --floating-mobile-bottom: 14px;
}
html { scroll-behavior: smooth; scroll-padding-top: 95px; }
.floating-actions { position:fixed; right:var(--floating-right); bottom:var(--floating-bottom); z-index:1050; display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.floating-enquiry { display:flex; align-items:center; gap:10px; background:var(--floating-coral); color:var(--floating-ink); padding:15px 19px; border-radius:999px; text-decoration:none; font:700 .9rem/1.2 var(--sans); box-shadow:0 7px 26px rgba(20,45,44,.18); transition:transform .2s, box-shadow .2s; }
.floating-enquiry:hover { color:var(--floating-ink); transform:translateY(-2px); box-shadow:0 10px 30px rgba(20,45,44,.22); }
.floating-enquiry-arrow { font-size:.8rem; }
.back-to-top { display:none; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid rgba(19,88,91,.22); border-radius:50%; background:#fffdfa; color:#13585b; box-shadow:0 4px 15px rgba(20,45,44,.12); cursor:pointer; }
.back-to-top.is-visible { display:flex; }
.back-to-top:hover { background:#13585b; color:white; }
@media(max-width:767.98px) {
  body { padding-bottom:82px; }
  .floating-actions { right:14px; left:14px; bottom:var(--floating-mobile-bottom); align-items:stretch; gap:9px; pointer-events:none; }
  .floating-enquiry { width:100%; justify-content:center; min-height:52px; pointer-events:auto; }
  .back-to-top { align-self:flex-end; pointer-events:auto; }
  .icon-experiment { --icon-circle-size:82px; --icon-line-width:40px; }
}
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} .floating-enquiry {transition:none;} }

/* ============================================================
   18. CLEANER TYPOGRAPHY + DEEPER ICON NAVIGATION | EASY EDIT
   Edit the variables here to change the whole navigation strip.
   ============================================================ */
.icon-experiment {
  --icon-section-bg: var(--cream); /* same warm cream as navbar */
  --icon-circle-bg: #c97861; /* richer coral */
  --icon-circle-size: 112px;
  background: var(--icon-section-bg);
  padding: 65px 0 76px;
}
.icon-experiment .section-heading { margin-bottom: 14px; }
.icon-experiment .section-heading h2 { margin-bottom: 0; }
.icon-experiment-grid { margin-top: 26px; }
.icon-feature-title { margin-top: 17px; }
/* Remove redundant fine-print styling from the revised sections. */
@media(max-width:767.98px) {
  .icon-experiment { padding: 52px 0 58px; }
  .icon-experiment-grid { row-gap: 22px !important; }
}

/* ============================================================
   19. TESTIMONIAL CAROUSEL | EDIT HERE
   Controls: card background, quote size, arrows and spacing.
   ============================================================ */
.testimonials { background: #fffdfa; padding: 94px 0 82px; }
.testimonials .section-heading { margin-bottom: 26px; }
.review-carousel-wrap { position: relative; max-width: 850px; margin: 0 auto; }
.review-carousel-wrap .carousel-inner { background: #f6eee2; border-radius: 5px; }
.review-slide { min-height: 300px; margin: 0; padding: 54px 100px 42px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.review-stars { color: #c97861; font-size: 1rem; letter-spacing: .24em; margin-bottom: 23px; }
.review-slide blockquote { margin: 0; color: #243e3d; font: 400 clamp(1.35rem, 2.2vw, 1.85rem)/1.42 var(--serif); }
.review-slide figcaption { margin-top: 24px; color: #13585b; font: 600 .92rem/1.5 var(--sans); }
.review-slide figcaption span { display: block; color: #586664; font-weight: 400; font-size: .78rem; }
.review-arrow { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; border: 1px solid #d6c9bd; background: #fffdfa; color: #13585b; display: grid; place-items: center; }
.review-prev { left: 18px; } .review-next { right: 18px; }
.review-arrow:hover, .review-arrow:focus-visible { background: #13585b; color: white; }
.review-counter { display: flex; justify-content: center; align-items: center; gap: 12px; color: #13585b; font-size: .83rem; margin-top: 22px; }
.review-counter-rule { width: 42px; height: 1px; background: #c97861; }
/* ============================================================
   20. FAQ | EDIT HERE
   The <details> elements open without JavaScript.
   ============================================================ */
.faq-section { background: #f6eee2; padding: 92px 0; }
.faq-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 7vw, 110px); align-items: start; }
.faq-heading h2 { max-width: 360px; font: 400 clamp(2.2rem, 4vw, 3.3rem)/1.1 var(--serif); color: #243e3d; }
.faq-heading p { max-width: 330px; margin: 20px 0 22px; color: #586664; }
.faq-list { border-top: 1px solid #cdbfb2; }
.faq-item { border-bottom: 1px solid #cdbfb2; }
.faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 23px 0; cursor: pointer; list-style: none; color: #243e3d; font: 500 1.18rem/1.35 var(--serif); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-plus { width: 24px; height: 24px; position: relative; flex: 0 0 24px; }
.faq-plus:before, .faq-plus:after { content: ''; position: absolute; background: #c97861; left: 6px; right: 6px; height: 2px; top: 11px; }
.faq-plus:after { transform: rotate(90deg); transition: transform .2s; }
.faq-item[open] .faq-plus:after { transform: rotate(0); }
.faq-answer { padding: 0 42px 20px 0; color: #586664; font-size: .94rem; line-height: 1.75; }
.faq-answer p { margin: 0; }
.faq-item summary:focus-visible { outline: 2px solid #167c80; outline-offset: 3px; }
@media(max-width:767.98px) {
 .testimonials { padding: 68px 0; }
 .review-slide { min-height: 350px; padding: 45px 55px; }
 .review-arrow { width: 34px; height: 34px; }
 .review-prev { left: 8px; } .review-next { right: 8px; }
 .faq-section { padding: 68px 0; }
 .faq-layout { grid-template-columns: 1fr; gap: 30px; }
 .faq-item summary { font-size: 1.1rem; }
}
@media(prefers-reduced-motion:reduce) { .faq-plus:after { transition: none; } }

.review-quote-mark { color:#c97861; font:400 4rem/.8 var(--serif); margin-bottom:12px; }

/* ============================================================
   21. REFINEMENTS | FAQ, TYPOGRAPHY & BUTTONS
   Edit these values first when adjusting the latest sections.
   ============================================================ */
:root {
  --heading-section-size: clamp(1.85rem, 3vw, 2.7rem);
  --heading-hero-size: clamp(3rem, 4.7vw, 5.1rem);
  --faq-panel-bg: #fffaf4;
  --faq-panel-border: #e2d2c5;
  --button-text-colour: #ffffff;
}
.section-heading h2, .split-copy h2, .contact-section h2,
.faq-heading h2, .icon-experiment .section-heading h2 {
  font-size: var(--heading-section-size);
  line-height: 1.16;
}
.hero-copy h1 { font-size: var(--heading-hero-size); line-height: 1.05; }
.inner-page-intro h1 { font-size: clamp(2.2rem, 4vw, 3.6rem); }
.btn-coral, .btn-coral:hover, .btn-coral:focus-visible,
.site-header .nav-book-button, .site-header .nav-book-button:hover,
.floating-enquiry, .floating-enquiry:hover, .floating-enquiry:focus-visible {
  color: var(--button-text-colour) !important;
}
.faq-section { background: var(--cream); }
.faq-heading h2 { max-width: 430px; }
.faq-list { border-top: 0; display: grid; gap: 12px; }
.faq-item { background: var(--faq-panel-bg); border: 1px solid var(--faq-panel-border); border-radius: 12px; overflow: hidden; transition: border-color .2s ease; }
.faq-item[open] { border-color: #c97861; }
.faq-item summary { padding: 19px 22px; font-size: 1.08rem; }
.faq-item summary:hover { color: var(--teal); }
.faq-answer { padding: 0 56px 21px 22px; line-height: 1.65; }
.faq-plus { border: 1px solid #d6b1a2; border-radius: 50%; width: 28px; height: 28px; flex-basis: 28px; }
.faq-plus:before, .faq-plus:after { top: 12px; left: 7px; right: 7px; }
.review-carousel-wrap .carousel-item[hidden] { display: none !important; }
.review-progress { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.review-progress-dot { width: 7px; height: 7px; background: #d8c4b9; border-radius: 50%; transition: background .2s ease, width .2s ease; }
.review-progress-dot.is-active { width: 20px; border-radius: 10px; background: #c97861; }
@media(max-width:767.98px) {
  .hero-copy h1 { font-size: clamp(2.9rem, 10vw, 4.2rem); }
  .faq-item summary { padding: 17px 16px; font-size: 1rem; }
  .faq-answer { padding: 0 18px 18px 16px; }
}

/* ============================================================
   22. EDITORIAL POLISH | SIMPLE CONTROLS
   Adjust colours, shadows, reveal speed and photo proportions here.
   ============================================================ */
:root {
  --soft-shadow: 0 12px 32px rgba(34, 54, 49, .10);
  --nav-shadow: 0 4px 18px rgba(34, 54, 49, .09);
  --reveal-distance: 22px;
  --reveal-duration: 700ms;
}
.site-header, .navbar { box-shadow: var(--nav-shadow); position: relative; z-index: 100; }
.venue, .review-carousel-wrap .carousel-inner { box-shadow: var(--soft-shadow); }
.venue-photo, .class-photo-section img { transition: transform .6s ease; }
.venue { overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.venue:hover { transform: translateY(-5px); box-shadow: 0 18px 35px rgba(34,54,49,.14); }
.venue:hover .venue-photo { transform: scale(1.035); }
/* Gentle reveal: content stays visible if JavaScript is unavailable. */
.js-motion .reveal:not(.is-revealed) { opacity: 0; transform: translateY(var(--reveal-distance)); }
.js-motion .reveal { transition: opacity var(--reveal-duration) ease, transform var(--reveal-duration) ease; }
.js-motion .reveal.is-revealed { opacity: 1; transform: none; }
/* About: warm off-white, portrait on right, no green panel. */
.about-photo-banner { width: 100%; height: clamp(220px, 29vw, 410px); overflow: hidden; }
.about-photo-banner img { width: 100%; height: 100%; object-fit: cover; object-position: center 43%; display: block; }
.about-editorial { background: #fffcf7; padding: clamp(60px, 7vw, 108px) 0; }
.about-editorial-copy { max-width: 555px; }
.about-editorial h2 { font: 400 clamp(2rem, 3vw, 2.75rem)/1.16 var(--serif); color: var(--ink); margin: 0 0 22px; }
.about-editorial p { color: var(--muted); line-height: 1.7; }
.about-editorial .about-lead { font: 400 clamp(1.25rem, 2vw, 1.55rem)/1.4 var(--serif); color: var(--teal-dark); }
.about-benefits { margin: 30px 0 27px; display: grid; gap: 24px; }
.about-benefit { display: flex; align-items: flex-start; gap: 18px; padding: 14px; margin-left: -14px; border-radius: 12px; transition: background .25s ease, transform .25s ease; }
.about-benefit:hover { background: #f6eee2; transform: translateX(4px); }
.about-benefit-icon { width: 48px; height: 48px; border-radius: 50%; background: #f6eee2; color: #c97861; display: grid; place-items: center; flex: 0 0 48px; font-size: 1.2rem; }
.about-benefit h3 { font: 500 1.25rem/1.3 var(--serif); color: var(--ink); margin: 0 0 5px; }
.about-benefit p { font-size: .94rem; margin: 0; }
.about-portrait-frame { max-width: 510px; margin: 0 auto; padding: clamp(28px, 4vw, 60px); background: #f6eee2; border-radius: 180px 180px 18px 18px; box-shadow: var(--soft-shadow); text-align: center; }
.about-portrait-frame img { width: 100%; max-width: 340px; aspect-ratio: 1 / 1.15; object-fit: cover; object-position: center top; border-radius: 170px 170px 10px 10px; box-shadow: 0 8px 25px rgba(0,0,0,.12); }
.about-editorial .accreditation-about { margin-top: 32px; }
.about-editorial .accreditation-heading { font: 600 .95rem/1.4 var(--sans); color: var(--ink); letter-spacing: 0; }
.about-editorial .accreditation-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.about-editorial .accreditation-logos img { object-fit: contain; max-height: 68px; max-width: 135px; width: auto; }
/* Friendlier FAQ, no numbered or uppercase eyebrow labels. */
.faq-section { background: #fffcf7; }
.faq-heading h2 { font-size: clamp(1.9rem, 3vw, 2.65rem); }
.faq-item { background: #fff; border-color: #ecddd1; box-shadow: 0 5px 17px rgba(34,54,49,.045); }
.faq-item[open] { background: #fffaf5; }
.faq-item summary { transition: background .2s ease, color .2s ease; }
.faq-item summary:hover { background: #fff6ee; }
/* Subtle icon hover on quick navigation */
.icon-feature-circle { transition: transform .3s ease, box-shadow .3s ease; }
.icon-feature:hover .icon-feature-circle { transform: translateY(-5px); box-shadow: 0 12px 25px rgba(130,65,48,.18); }
@media (max-width: 991.98px) { .about-editorial-copy { max-width: 100%; } .about-portrait-frame { max-width: 400px; } }
@media (prefers-reduced-motion: reduce) {
  .js-motion .reveal, .js-motion .reveal:not(.is-revealed) { opacity: 1; transform: none; transition: none; }
  .venue, .venue-photo, .about-benefit, .icon-feature-circle { transition: none; }
}


/* ============================================================
   23. ABOUT, FRIENDLY FAQ & SCROLL REVEALS | EDIT HERE
   All key values are grouped here for easy refinement.
   ============================================================ */
:root {
  --about-photo-height: 640px;
  --faq-open-speed: 380ms;
  --reveal-duration: 820ms;
  --reveal-distance: 26px;
}
.about-editorial { background: #fffcf7; }
.about-editorial .row { align-items: stretch !important; }
.about-editorial-copy { padding: clamp(12px, 2.4vw, 42px) 0; }
.about-editorial h2 { font-size: clamp(2rem, 3vw, 2.85rem); }
.about-feature-photo {
  position: relative; height: var(--about-photo-height); min-height: 520px;
  overflow: visible; margin: 0 12px 25px 0;
}
.about-feature-class {
  display: block; width: 100%; height: 100%; object-fit: cover;
  object-position: 53% center; border-radius: 4px;
  box-shadow: 0 20px 45px rgba(31,51,49,.15);
}
.about-feature-portrait {
  position: absolute; width: clamp(112px, 11vw, 165px); aspect-ratio: 1;
  bottom: -22px; left: -28px; padding: 7px; background: #fffaf4;
  border-radius: 50%; box-shadow: 0 10px 30px rgba(31,51,49,.15);
}
.about-feature-portrait img { width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:center top; }
.about-benefit { border-radius: 8px; border-bottom: 1px solid #e8ddd3; margin-left: 0; padding: 14px 10px; }
.about-benefit:hover { background: #f8efe8; transform: translateX(3px); }
.about-benefit-icon { background: transparent; color: #c97861; border: 1px solid #dfc5b7; border-radius: 50%; }
.about-benefit h3 { font-size: 1.18rem; }
.faq-section { background: #f6eee2; }
.faq-layout { gap: clamp(28px, 5vw, 78px); }
.faq-heading { position: relative; padding-top: 20px; }
.faq-heading h2 { max-width: 350px; font-size: clamp(1.85rem, 2.7vw, 2.5rem); }
.faq-heading p { max-width: 350px; }
.faq-item { border: 1px solid #ead8ca; border-radius: 16px; background: #fffcf8; box-shadow: 0 5px 18px rgba(63,53,47,.045); transition: border-color .25s, box-shadow .25s, background .25s; }
.faq-item[open] { background: #fff; border-color: #dcb8a7; box-shadow: 0 10px 28px rgba(63,53,47,.075); }
.faq-item summary { font: 500 1.13rem/1.4 var(--serif); padding: 22px 23px; }
.faq-item summary:hover { background: #fff6ee; }
.faq-plus { background: #f9e7dc; border: none; color: #b86752; }
.faq-answer { padding: 0 26px 24px 23px; font-size: .96rem; line-height: 1.8; }
/* The FAQ animation is controlled by main.js to animate both opening and closing. */
.faq-item .faq-answer { overflow: hidden; }
.reveal { will-change: auto; }
.js-motion .reveal:not(.is-revealed) { opacity: 0; transform: translate3d(0,var(--reveal-distance),0); }
.js-motion .reveal.is-revealed { opacity: 1; transform: translate3d(0,0,0); }
@media (max-width: 991.98px) {
  .about-feature-photo { height: 480px; min-height: 0; max-width: 680px; margin: 0 auto 35px; }
  .about-feature-portrait { left: 10px; }
}
@media (max-width: 575.98px) {
  .about-feature-photo { height: 350px; }
  .about-feature-portrait { width: 105px; }
  .faq-item summary { padding: 18px; }
  .faq-answer { padding: 0 19px 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .faq-item, .faq-item .faq-answer, .about-benefit { transition: none !important; }
}


/* ============================================================
   24. EDGE-TO-EDGE ABOUT + CENTRED FULL-WIDTH FAQ | EDIT HERE
   ============================================================ */
:root {
  --about-panel-bg: #f1f0eb;
  --about-split-min-height: 650px;
  --faq-content-width: 1050px;
}
.about-editorial-split { padding: 0; display: grid; grid-template-columns: 50% 50%; background: var(--about-panel-bg); min-height: var(--about-split-min-height); }
.about-split-media { min-height: var(--about-split-min-height); overflow: hidden; }
.about-split-media img { display: block; width: 100%; height: 100%; min-height: var(--about-split-min-height); object-fit: cover; object-position: 55% center; }
.about-split-panel { display: flex; align-items: center; padding: clamp(48px, 6vw, 100px); }
.about-split-copy { max-width: 530px; width: 100%; margin-inline: auto; }
.about-editorial-split h2 { font-size: clamp(2.1rem, 3vw, 2.9rem); margin-bottom: 20px; }
.about-editorial-split .about-lead { font-size: clamp(1.2rem, 1.65vw, 1.45rem); }
.about-editorial-split .about-benefits { gap: 24px; margin: 32px 0; }
.about-editorial-split .about-benefit { border: 0; padding: 0; margin: 0; border-radius: 0; background: transparent; }
.about-editorial-split .about-benefit:hover { background: transparent; transform: translateX(3px); }
.about-editorial-split .about-benefit-icon { border: 0; background: transparent; border-radius: 0; width: 52px; flex-basis: 52px; font-size: 1.65rem; }
.about-editorial-split .about-benefit h3 { font-size: 1.24rem; }
.about-credentials { background: #fffcf7; padding: 28px 0 34px; text-align: center; border-bottom: 1px solid #eee7e0; }
.about-credentials h3 { font: 500 1rem/1.4 var(--sans); color: var(--ink); margin: 0 0 15px; }
.about-credentials .accreditation-logos { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 24px; }
.about-credentials .accreditation-logos img { width: auto; height: auto; max-height: 66px; max-width: 150px; object-fit: contain; }
.faq-section .faq-layout { display: block; width: 100%; }
.faq-section .faq-heading { text-align: center; max-width: 780px; margin: 0 auto 38px; padding: 0; }
.faq-section .faq-heading h2 { max-width: none; margin: 0 auto 16px; font-size: clamp(1.9rem, 2.6vw, 2.5rem); }
.faq-section .faq-heading p { max-width: 650px; margin: 0 auto 14px; }
.faq-section .faq-list { width: min(100%, var(--faq-content-width)); margin: 0 auto; }
.faq-section .faq-item summary { text-align: center; position: relative; padding: 23px 60px; }
.faq-section .faq-plus { position: absolute; right: 23px; top: 50%; transform: translateY(-50%); }
.faq-section .faq-answer { text-align: center; padding-left: clamp(24px, 6vw, 85px); padding-right: clamp(24px, 6vw, 85px); }
@media (max-width: 991.98px) {
  .about-editorial-split { grid-template-columns: 1fr; }
  .about-split-media, .about-split-media img { min-height: 0; height: clamp(340px, 60vw, 540px); }
  .about-split-panel { padding: 48px 26px 58px; }
}
@media (max-width: 575.98px) {
  .about-split-panel { padding: 42px 22px 48px; }
  .faq-section .faq-item summary { text-align: left; padding: 20px 55px 20px 20px; }
  .faq-section .faq-answer { text-align: left; padding-left: 20px; padding-right: 20px; }
}


/* ============================================================
   25. HOMEPAGE REFRESH | Main editable design settings
   ============================================================ */
:root { --page-cream:#F6EEE2; --page-ivory:#FFFCF7; --page-coral:#C97861; --page-teal:#13585B; --page-shadow:0 12px 28px rgba(48,52,47,.09); --section-padding:clamp(60px,7vw,96px); }
body { background:var(--page-ivory); }
.site-header { box-shadow:0 3px 16px rgba(28,52,51,.09); }
.hero-section { background:var(--page-ivory); overflow:hidden; }
.hero-grid { min-height:560px; align-items:center; }
.hero-visual { align-self:stretch; display:flex; align-items:stretch; }
.hero-image-frame { width:100%; height:100%; min-height:560px; border:0; box-shadow:none; transform:none; }
.hero-image-frame::after,.hero-image-frame::before { display:none!important; }
.hero-image { width:100%;height:100%;min-height:560px;object-fit:cover;object-position:center; }
.hero-copy h1 { font-size:clamp(3.3rem,5.4vw,5.7rem);line-height:.99;letter-spacing:-.035em; }
.hero-copy { padding-block:65px; }
.hero-primary { background:var(--page-coral)!important;border-color:var(--page-coral)!important;color:white!important; }
.hero-primary:hover,.btn-coral:hover,.nav-book-button:hover { background:#b96551!important; color:#fff!important; }
.icon-experiment { background:var(--page-cream)!important;padding:48px 0 55px!important; }
.icon-experiment .section-heading { margin-bottom:24px!important; }
.icon-experiment .section-heading h2 { font-size:clamp(1.65rem,2.5vw,2.2rem)!important; }
.icon-feature-circle { background:var(--page-coral)!important; box-shadow:0 7px 15px rgba(156,83,64,.12); }
.icon-feature:hover .icon-feature-circle { transform:translateY(-5px);box-shadow:0 12px 24px rgba(156,83,64,.19); }
.class-photo-section { height:clamp(280px,35vw,470px);overflow:hidden; }
.class-photo-section img { height:100%;width:100%;object-fit:cover;object-position:center 44%; }
.section-space { padding-top:var(--section-padding);padding-bottom:var(--section-padding); }
.section-heading h2,.faq-heading h2 { font-size:clamp(2rem,3.2vw,3rem)!important; }
.section-heading { margin-bottom:26px; }
.section-cream { background:#faf5ef; }
.venue { border-radius:10px; overflow:hidden; background:white;box-shadow:var(--page-shadow);transition:transform .35s,box-shadow .35s; }
.venue:hover { transform:translateY(-5px);box-shadow:0 17px 35px rgba(48,52,47,.14); }
.venue-photo { height:260px; object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.venue:hover .venue-photo { transform:scale(1.045); }
.venue-content { padding:24px 26px 26px; }
.about-editorial-split { grid-template-columns:50% 50%; min-height:640px;background:#f5f3ee; }
.about-split-panel { order:1;padding:clamp(45px,7vw,110px); }
.about-split-media { order:2;min-height:640px; }
.about-split-media img { min-height:640px;object-position:center 25%; }
.about-split-copy { max-width:510px; }
.about-editorial-split h2 { font-size:clamp(2.2rem,3.3vw,3.2rem); }
.about-intro { font-size:1.07rem;line-height:1.85;margin:20px 0 35px; }
.about-editorial-split .about-benefit { display:flex;align-items:flex-start;gap:17px; }
.about-editorial-split .about-benefit-icon { color:var(--page-coral);width:40px;flex-basis:40px;font-size:1.8rem; }
.about-editorial-split .about-benefit h3 { font-size:1.24rem; }
.about-credentials { padding:30px 0 35px; }
.about-credentials .accreditation-logos img { max-height:75px; }
.testimonials { background:#f8f0e8; }
.review-carousel-wrap { max-width:880px;margin-inline:auto; }
#pageReviews .carousel-inner { position:relative;overflow:hidden; }
#pageReviews .carousel-item { float:none!important;margin:0!important; width:100%!important;transition:none!important; }
#pageReviews .carousel-item:not(.active),#pageReviews .carousel-item[hidden] { display:none!important; }
#pageReviews .carousel-item.active { display:block!important; }
.review-slide { max-width:740px;margin:auto;background:#fffdfa;min-height:255px;padding:34px clamp(36px,6vw,70px);border-radius:12px;box-shadow:var(--page-shadow);text-align:center; }
.review-slide blockquote { font-size:clamp(1.1rem,1.65vw,1.45rem);line-height:1.55; }
.review-stars { display:block;color:var(--page-coral);letter-spacing:.13em;font-size:.9rem;margin-top:5px; }
.review-arrow { z-index:5; }
.faq-section { background:var(--page-ivory); }
.faq-section .faq-list { max-width:1040px;background:white;border:1px solid #ece2d8;border-radius:12px;overflow:hidden;box-shadow:var(--page-shadow); }
.faq-section .faq-item { margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;border-bottom:1px solid #eee6de!important;background:transparent!important; }
.faq-section .faq-item:last-child { border-bottom:0!important; }
.faq-section .faq-item summary { text-align:left;padding:22px 62px 22px 30px;font-weight:600; }
.faq-section .faq-answer { text-align:left;padding:0 62px 20px 30px;max-width:none; }
.faq-section .faq-item summary:hover { background:#fcf6f1; }
.faq-plus { background:#f8e7de!important;color:var(--page-coral)!important; }
.contact-section { background:var(--page-teal); }
.contact-section .btn-coral,.nav-book-button,.btn-coral,.floating-enquiry { color:white!important; }
@media(max-width:991.98px){.hero-grid{min-height:0}.hero-image-frame,.hero-image{min-height:390px}.about-editorial-split{grid-template-columns:1fr}.about-split-panel{order:2;padding:48px 30px}.about-split-media{order:1;min-height:0}.about-split-media img{height:480px;min-height:0;object-fit:cover}.class-photo-section{height:330px}}
@media(max-width:575.98px){.hero-copy{padding-block:48px}.hero-copy h1{font-size:clamp(3rem,13vw,4rem)}.hero-image-frame,.hero-image{min-height:330px}.icon-experiment{padding:40px 0!important}.class-photo-section{height:230px}.venue-photo{height:220px}.about-split-media img{height:330px}.about-split-panel{padding:42px 24px}.review-slide{padding:30px 32px}.faq-section .faq-item summary{padding:20px 52px 20px 20px}.faq-section .faq-answer{padding:0 22px 20px}}
@media(prefers-reduced-motion:reduce){.venue,.venue-photo,.icon-feature-circle{transition:none!important}}

/* ==========================================================
   26. TEAL TESTIMONIAL ROTATOR | EDIT HERE
   Self-contained rotator: does not use MDB carousel classes.
   ========================================================== */
.testimonials {
  background: #28777a;
  color: #fffdf8;
  padding: clamp(64px, 7vw, 104px) 0;
}
.testimonials .section-heading h2 { color: #fffdf8; }
.review-carousel-wrap { max-width: 940px; }
#pageReviews .review-track {
  position: relative;
  background: transparent;
  min-height: 280px;
  box-shadow: none;
}
#pageReviews .review-panel { width: 100%; margin: 0; }
#pageReviews .review-panel[hidden] { display: none !important; }
#pageReviews .review-panel.is-current { display: block; animation: reviewFade .7s ease both; }
#pageReviews .review-slide {
  background: transparent;
  color: #fffdf8;
  box-shadow: none;
  border-radius: 0;
  max-width: 820px;
  min-height: 280px;
  padding: 24px clamp(52px, 8vw, 100px) 34px;
}
#pageReviews .review-quote-mark {
  color: #f0ad97;
  font-size: clamp(5rem, 10vw, 8rem);
  line-height: .72;
  margin-bottom: 24px;
  font-family: Georgia, serif;
}
#pageReviews .review-slide blockquote {
  color: #fffdf8;
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.55;
}
#pageReviews .review-slide figcaption { color: #fffdf8; }
#pageReviews .review-slide figcaption span { color: #f5d8cd; }
#pageReviews .review-stars { color: #f2b39d; }
#pageReviews .review-arrow {
  border: 1px solid rgba(255,255,255,.5);
  background: rgba(255,255,255,.13);
  color: white;
}
#pageReviews .review-arrow:hover,
#pageReviews .review-arrow:focus-visible { background: #fffdf8; color: #165c5e; }
.testimonials .review-progress-dot { background: rgba(255,255,255,.42); }
.testimonials .review-progress-dot.is-active { background: #f2b39d; }
@keyframes reviewFade { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  #pageReviews .review-panel.is-current { animation: none; }
}
@media (max-width: 575.98px) {
  #pageReviews .review-slide { min-height: 320px; padding: 25px 46px 35px; }
  #pageReviews .review-quote-mark { font-size: 5.5rem; }
}

/* ==========================================================
   27. EDITORIAL POLISH | Main controls for the larger hero
   ========================================================== */
:root {
  --v8-ink: #263f40;
  --v8-muted: #475d5c;
  --v8-hero-bg: #f9f5ee;
  --v8-hero-height: clamp(670px, 68vw, 850px);
  --v8-hero-photo-share: 64%;
  --v8-hero-text-share: 36%;
  --v8-teal-testimonials: #28777a;
}
body { color:var(--v8-ink); }
.lead-copy, .section-intro, .venue-content p, .about-intro,
.about-benefit p, .faq-heading p, .faq-answer p { color:var(--v8-muted)!important; }
.hero-section { background:var(--v8-hero-bg)!important; overflow:hidden; }
.hero-section .hero-grid {
  width:100%; max-width:none; padding:0; margin:0;
  min-height:var(--v8-hero-height);
  display:grid; grid-template-columns:var(--v8-hero-text-share) var(--v8-hero-photo-share);
  gap:0; align-items:stretch;
}
.hero-section .hero-copy {
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  padding:clamp(55px,7vw,115px) clamp(30px,4.6vw,100px) clamp(55px,7vw,115px) max(28px,calc((100vw - 1280px)/2));
  position:relative; z-index:1;
}
.hero-kicker { color:#a45e4e; font-size:.83rem; font-weight:650; letter-spacing:.06em; margin:0 0 24px; }
.hero-section .hero-copy h1 {
  font-size:clamp(3.45rem,5.15vw,6.25rem)!important;
  line-height:1.02; letter-spacing:-.045em; max-width:650px;
}
.hero-section .lead-copy { max-width:460px; font-size:clamp(1.02rem,1.15vw,1.2rem); line-height:1.7; margin-top:30px; }
.hero-section .hero-actions { margin-top:35px; gap:20px; }
.hero-section .hero-visual { padding:0!important; min-height:var(--v8-hero-height); display:block; overflow:hidden; }
.hero-section .hero-image-frame { height:100%; min-height:var(--v8-hero-height); border-radius:0; }
.hero-section .hero-image { height:100%; min-height:var(--v8-hero-height); object-fit:cover; object-position:50% 50%; transition:transform 1.3s ease; }
.hero-section .hero-image-frame:hover .hero-image { transform:scale(1.025); }
.hero-primary,.btn-coral,.floating-enquiry,.nav-book-button {
  color:white!important; transition:transform .28s ease,box-shadow .28s ease,background-color .28s ease!important;
}
.hero-primary:hover,.btn-coral:hover,.floating-enquiry:hover,.nav-book-button:hover {
  transform:translateY(-2px); box-shadow:0 10px 22px rgba(134,74,57,.18);
}
.venue { transition:transform .32s ease,box-shadow .32s ease; }
.venue:hover { transform:translateY(-5px);box-shadow:0 20px 40px rgba(35,54,52,.14); }
.testimonials { background:var(--v8-teal-testimonials)!important; }
#pageReviews .review-quote-mark { font-size:clamp(7rem,12vw,10rem)!important; }
#pageReviews .review-slide blockquote { font-size:clamp(1.35rem,2.1vw,1.9rem)!important; line-height:1.58; }
#pageReviews .review-slide { min-height:340px; }
.review-source { display:block; font-size:.8rem; opacity:.8; margin-top:7px; }
.faq-section .faq-item summary { font-size:1.04rem; }
.faq-section .faq-list { border-radius:16px; }
.faq-section .faq-item summary:focus-visible { outline:2px solid var(--page-teal); outline-offset:-3px; }
@media(max-width:991.98px) {
  .hero-section .hero-grid { grid-template-columns:1fr; min-height:0; }
  .hero-section .hero-copy { padding:65px max(28px,7vw) 55px; }
  .hero-section .hero-visual,.hero-section .hero-image-frame,.hero-section .hero-image { min-height:0; height:clamp(440px,65vw,640px); }
  .hero-section .hero-copy h1 { font-size:clamp(3.5rem,8vw,5.5rem)!important; }
}
@media(max-width:575.98px) {
  .hero-section .hero-copy { padding:48px 24px 46px; }
  .hero-section .hero-copy h1 { font-size:clamp(3.2rem,12vw,4.5rem)!important; }
  .hero-section .hero-visual,.hero-section .hero-image-frame,.hero-section .hero-image { height:390px; }
  #pageReviews .review-slide { min-height:360px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-section .hero-image,.hero-primary,.btn-coral,.floating-enquiry,.nav-book-button { transition:none!important; }
}

/* ==========================================================
   28. BALANCED HERO | Edit these variables to refine the split
   ========================================================== */
:root {
  --hero-balanced-copy: 43%;
  --hero-balanced-image: 57%;
  --hero-balanced-title-size: clamp(3.7rem, 4.45vw, 4.75rem);
}
@media (min-width: 992px) {
  .hero-section .hero-grid {
    grid-template-columns: var(--hero-balanced-copy) var(--hero-balanced-image);
  }
  .hero-section .hero-copy {
    padding: clamp(48px, 5vw, 86px) clamp(30px, 3.4vw, 70px)
             clamp(48px, 5vw, 86px) max(36px, calc((100vw - 1320px) / 2));
  }
  .hero-section .hero-copy h1 {
    font-size: var(--hero-balanced-title-size) !important;
    line-height: 1.07;
    letter-spacing: -.035em;
    max-width: 100%;
  }
  .hero-section .lead-copy {
    max-width: 440px;
    margin-top: 25px;
    font-size: clamp(1rem, 1.05vw, 1.12rem);
    line-height: 1.65;
  }
  .hero-section .hero-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px 24px;
    margin-top: 30px;
  }
}

/* ============================================================
   29. QUICK LINKS | V10 - EDIT THIS SECTION
   Intro width, icon sizes, section spacing and hover effects
   ============================================================ */
.icon-experiment {
  --quick-intro-width: 760px;
  --quick-icon-size: 102px;
  background: var(--page-cream, #F6EEE2) !important;
  padding: 64px 0 72px !important;
  border-bottom: 1px solid rgba(25,85,85,.12);
}
.quick-links-intro { max-width:var(--quick-intro-width); margin:0 auto 37px; }
.quick-links-intro h2 { color:var(--ink,#193d3d); font-size:clamp(2rem,3.4vw,2.8rem); font-weight:400; line-height:1.15; margin:0 0 16px; }
.quick-links-intro p { color:#3e5351; font-size:clamp(.98rem,1.15vw,1.075rem); line-height:1.75; margin:0 auto; max-width:700px; }
.icon-experiment-grid { margin-top:0 !important; }
.icon-feature { padding:10px 8px 14px; gap:0; }
.icon-feature-circle { width:var(--quick-icon-size) !important; height:var(--quick-icon-size) !important; box-shadow:0 6px 15px rgba(143,74,55,.12) !important; }
.icon-feature-circle img { width:48px !important; height:48px !important; }
.icon-feature-title { font-size:clamp(1.22rem,1.65vw,1.5rem) !important; margin-top:17px !important; transition:color .25s ease; }
.icon-feature:hover .icon-feature-title,.icon-feature:focus-visible .icon-feature-title { color:#b76650; }
.icon-feature:hover .icon-feature-circle,.icon-feature:focus-visible .icon-feature-circle { transform:translateY(-5px) !important; box-shadow:0 12px 25px rgba(143,74,55,.20) !important; }
@media(max-width:767.98px) {
  .icon-experiment { --quick-icon-size:82px; padding:48px 0 52px !important; }
  .quick-links-intro { margin-bottom:26px; padding-inline:8px; }
  .quick-links-intro p { font-size:.98rem; line-height:1.65; }
  .icon-feature-circle img { width:40px !important; height:40px !important; }
  .icon-feature-title { font-size:1.18rem !important; }
}
@media(prefers-reduced-motion:reduce) { .icon-feature-circle,.icon-feature-title { transition:none !important; } }


/* ============================================================
   30. SECTION HEADING UNDERLINES | V13 - EDIT HERE
   A simple, fine coral rule beneath principal section headings.
   ============================================================ */
:root {
  --heading-line-colour: #D98A70;
  --heading-line-width: 55px;
  --heading-line-height: 2px;
  --heading-line-gap: 14px;
}
#quick-links-title, #venues-title, #about-title,
#testimonials-title, #faq-title, #contact-title {
  position: relative;
  padding-bottom: calc(var(--heading-line-gap) + var(--heading-line-height));
}
#quick-links-title::after, #venues-title::after, #about-title::after,
#testimonials-title::after, #faq-title::after, #contact-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: var(--heading-line-width);
  height: var(--heading-line-height);
  border-radius: 2px;
  background: var(--heading-line-colour);
  transform: none;
  clip-path: none;
}
#quick-links-title::after, #venues-title::after,
#testimonials-title::after, #faq-title::after, #contact-title::after {
  left: 50%;
  transform: translateX(-50%);
}


/* ============================================================
   31. EDITORIAL CENTRED NAVBAR | V14
   Edit these values to change the navbar across all three pages.
   ============================================================ */
:root {
  --editorial-nav-height: 88px;
  --editorial-nav-cream: #F6EEE2;
  --editorial-nav-logo-size: 2.65rem;
  --editorial-nav-max-width: 1640px;
}
.site-header { background: var(--editorial-nav-cream); box-shadow: 0 3px 15px rgba(29,52,49,.10) !important; }
.site-header .navbar { min-height: var(--editorial-nav-height); background: transparent; box-shadow: none !important; padding: 0; }
.site-header .nav-editorial {
  position: relative;
  width: min(100% - 72px, var(--editorial-nav-max-width));
  min-height: var(--editorial-nav-height);
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.site-header .nav-editorial .navbar-brand {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  align-items: center;
  padding: 0;
}
.site-header .nav-editorial .brand-wordmark { --logo-size: var(--editorial-nav-logo-size); }
.site-header .nav-editorial .navbar-collapse {
  width: 100%;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
}
.site-header .nav-editorial .nav-menu { margin: 0; gap: clamp(18px, 2vw, 35px); }
.site-header .nav-editorial .nav-book-button {
  margin: 0;
  color: #fff !important;
  background: #C97861;
  border-radius: 5px;
  padding: 13px 21px;
  box-shadow: none;
}
.site-header .nav-editorial .nav-book-button:hover,
.site-header .nav-editorial .nav-book-button:focus-visible { background: #B86B56; color: #fff !important; box-shadow: 0 6px 15px rgba(115,61,45,.17); }
.site-header .nav-editorial .nav-link { font-size: .83rem; letter-spacing: .015em; }
@media (min-width: 992px) and (max-width: 1160px) {
  :root { --editorial-nav-logo-size: 2.2rem; }
  .site-header .nav-editorial { width: calc(100% - 44px); }
  .site-header .nav-editorial .nav-menu { gap: 16px; }
  .site-header .nav-editorial .nav-link { font-size: .76rem; }
}
@media (max-width: 991.98px) {
  :root { --editorial-nav-height: 74px; --editorial-nav-logo-size: 2.15rem; }
  .site-header .nav-editorial { width: calc(100% - 36px); min-height: var(--editorial-nav-height); flex-wrap: wrap; }
  .site-header .nav-editorial .navbar-brand { position: static; transform: none; margin-right: auto; }
  .site-header .nav-editorial .navbar-toggler { margin-left: auto; }
  .site-header .nav-editorial .navbar-collapse {
    display: none !important;
    flex-basis: 100%;
    width: 100%;
    padding: 16px 0 22px;
    flex-direction: column;
    align-items: stretch;
    background: var(--editorial-nav-cream);
    border-top: 1px solid rgba(22,124,128,.14);
  }
  .site-header .nav-editorial .navbar-collapse.show { display: flex !important; }
  .site-header .nav-editorial .nav-menu { align-items: stretch !important; gap: 3px; }
  .site-header .nav-editorial .nav-book-button { margin-top: 13px; align-self: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .nav-editorial .nav-book-button { transition: none; }
}


/* =============================================================
   V15 | FRESH WHITE EDITORIAL DESIGN
   Main controls for the new design. Adjust these variables first.
   This section intentionally overrides older V14 styling.
   ============================================================= */
:root {
 --v15-white:#ffffff;
 --v15-mist:#f2f8f7;
 --v15-teal:#155e62;
 --v15-teal-mid:#20777b;
 --v15-coral:#d77e66;
 --v15-text:#344e50;
 --v15-shadow:0 12px 30px rgba(16,63,66,.09);
 --v15-radius:12px;
 --heading-line-colour:#d98a70;
 --heading-line-width:52px;
 --heading-line-height:2px;
}
body {background:var(--v15-white);color:var(--v15-text);line-height:1.65}
h1,h2,h3 {color:var(--v15-teal)}
h2 {font-size:clamp(2rem,3.1vw,3.15rem)}
.section-space {padding-top:clamp(64px,7vw,110px);padding-bottom:clamp(64px,7vw,110px)}
.site-header,.site-header .navbar {background:#fff !important}
.site-header {box-shadow:0 3px 20px rgba(21,94,98,.085) !important}
.site-header .nav-editorial .nav-book-button {background:var(--v15-coral)}
.site-header .nav-editorial .navbar-collapse {background:transparent}
.site-header .nav-editorial .brand-pilates {color:#168f96}
/* Full-width split hero, with a soft curved boundary cut from the photograph */
.hero-section {background:#fff !important;overflow:hidden}
.hero-section .hero-grid {max-width:none !important;width:100% !important;padding:0 !important;margin:0 !important;display:grid !important;grid-template-columns:43% 57% !important;min-height:clamp(540px,48vw,760px)}
.hero-section .hero-copy {position:relative;z-index:2;background:#fff !important;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(44px,5.8vw,110px) clamp(28px,4.5vw,88px) clamp(44px,5.8vw,110px) max(32px,calc((100vw - 1320px)/2)) !important}
.hero-section .hero-copy::after {content:"";position:absolute;top:-4%;bottom:-4%;left:calc(100% - 2px);width:clamp(45px,7vw,125px);background:#fff;border-radius:0 53% 49% 0 / 0 47% 55% 0;pointer-events:none}
.hero-section .hero-copy>* {position:relative;z-index:1}
.hero-section .hero-kicker {color:#bd6651 !important;letter-spacing:.11em;font-size:.82rem;font-weight:700;text-transform:uppercase}
.hero-section h1 {font-size:clamp(3.8rem,5.2vw,6.4rem) !important;line-height:.96 !important;letter-spacing:-.04em;margin:20px 0 24px !important;max-width:610px}
.hero-section h1 span {color:#16888c}
.hero-section .lead-copy {max-width:460px;color:#40595a !important;font-size:clamp(1rem,1.22vw,1.18rem);line-height:1.65}
.hero-section .hero-actions {display:flex !important;flex-direction:row !important;align-items:center;flex-wrap:wrap;gap:14px 18px;margin-top:20px}
.hero-section .hero-primary,.btn-coral,.btn-teal {background:var(--v15-coral) !important;color:#fff !important;border-color:var(--v15-coral) !important;box-shadow:none}
.hero-section .hero-secondary {border:1px solid #e5a18f;border-radius:99px;padding:10px 20px;color:var(--v15-teal) !important;text-decoration:none !important}
.hero-section .hero-visual,.hero-section .hero-image-frame {height:100% !important;min-height:540px;overflow:hidden;position:relative}
.hero-section .hero-image {width:100%;height:100% !important;object-fit:cover;object-position:center center}
.hero-botanical {position:absolute !important;z-index:0 !important;left:-65px;bottom:-48px;width:220px;height:260px;background:url('../img/botanical-line.svg') center/contain no-repeat;opacity:.48;pointer-events:none}
/* Quick navigation */
.icon-experiment {background:var(--v15-mist) !important;padding:clamp(55px,5.5vw,86px) 0 !important}
.icon-experiment .quick-links-intro {max-width:850px;margin:0 auto 35px}
.icon-experiment .quick-links-intro p {color:#435d5e;max-width:720px;margin:16px auto 0;line-height:1.65}
.icon-feature {transition:transform .28s ease}
.icon-feature:hover {transform:translateY(-5px)}
.icon-feature-circle {background:var(--v15-coral) !important;box-shadow:0 7px 18px rgba(165,88,67,.14)}
.icon-feature-title {color:var(--v15-teal)}
/* Venues */
.section-cream {background:#fff !important}
.venue {background:#fff !important;border-radius:var(--v15-radius) !important;overflow:hidden;box-shadow:var(--v15-shadow) !important;transition:transform .3s ease,box-shadow .3s ease}
.venue:hover {transform:translateY(-5px);box-shadow:0 17px 36px rgba(16,63,66,.15) !important}
.venue-photo {object-fit:cover;transition:transform .5s ease}
.venue:hover .venue-photo {transform:scale(1.025)}
/* Jaime */
.about-editorial {background:var(--v15-mist) !important;position:relative;overflow:hidden}
.about-editorial-split {display:grid !important;grid-template-columns:50% 50%;align-items:center}
.about-split-panel {background:transparent !important;min-height:unset !important}
.about-split-copy {max-width:600px !important;padding:clamp(50px,6vw,100px) clamp(26px,5vw,90px) !important;margin-left:auto}
.about-split-media {position:relative;display:flex;align-items:center;justify-content:center;padding:40px clamp(24px,6vw,110px) 40px 24px;min-height:520px;background:transparent !important}
.about-split-media::before {content:"";position:absolute;width:72%;height:83%;background:#e2eeec;border-radius:55% 45% 40% 60%;transform:translate(5%,5%)}
.about-split-media img {position:relative;width:min(100%,460px) !important;height:clamp(380px,35vw,560px) !important;object-fit:cover;object-position:center 20%;border:7px solid white;border-radius:42% 42% 12px 12px !important;box-shadow:var(--v15-shadow)}
.about-botanical {position:absolute;right:-38px;bottom:-70px;width:235px;height:300px;background:url('../img/botanical-line.svg') center/contain no-repeat;opacity:.55}
.about-credentials {background:#fff !important;padding:24px 0 !important}
.about-credentials .container {display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap}
.about-credentials h3 {margin:0 !important;font-family:var(--sans);font-size:.95rem !important;letter-spacing:0}
/* Teal reviews and generous quote */
.testimonials {background:linear-gradient(120deg,#155d61,#237b7e) !important;color:white !important}
.testimonials h2,.testimonials blockquote,.testimonials figcaption {color:#fff !important}
.testimonials .review-quote-mark {color:#f2a48d !important;font-size:clamp(4.5rem,7vw,7rem) !important}
.testimonials .review-slide blockquote {font-size:clamp(1.25rem,2vw,1.8rem) !important;line-height:1.45 !important}
/* Full-width centred FAQ, as previously agreed */
.faq-section {background:#fff !important}
.faq-layout {display:block !important;max-width:1100px;margin:0 auto}
.faq-heading {text-align:center !important;max-width:800px;margin:0 auto 35px !important}
.faq-heading h2::after {left:50% !important;transform:translateX(-50%) !important}
.faq-list {width:100% !important;max-width:1050px !important;margin:0 auto !important;border-radius:14px;overflow:hidden;background:white;box-shadow:var(--v15-shadow)}
.faq-item {border-radius:0 !important;box-shadow:none !important;border-bottom:1px solid #e4edeb !important;margin:0 !important;background:#fff !important}
.faq-item:last-child {border-bottom:0 !important}
.faq-item summary {padding:20px 28px !important;color:var(--v15-teal)}
.faq-item .faq-answer {padding-left:28px !important;padding-right:28px !important}
/* Final CTA and footer */
.contact-section {background:var(--v15-teal-mid) !important;color:white !important}
.contact-section h2 {color:#fff !important}
.site-footer {background:#10474b !important}
/* Avoid the old cream on secondary pages */
main .section-cream,.page-hero,.page-intro {background:#fff}
@media(max-width:991.98px){
 .site-header .nav-editorial .navbar-collapse {background:#fff !important}
 .hero-section .hero-grid {grid-template-columns:48% 52% !important}
 .hero-section h1 {font-size:clamp(3rem,5.5vw,5rem) !important}
 .hero-section .hero-copy {padding:45px 25px !important}
 .about-split-copy {padding:48px 30px !important}
 .about-split-media {padding:30px;min-height:450px}
}
@media(max-width:767.98px){
 .hero-section .hero-grid {display:flex !important;flex-direction:column !important;min-height:0}
 .hero-section .hero-copy {padding:55px 24px 45px !important}
 .hero-section .hero-copy::after {display:none}
 .hero-section h1 {font-size:clamp(3.6rem,12vw,5.2rem) !important}
 .hero-section .hero-visual,.hero-section .hero-image-frame {height:340px !important;min-height:340px}
 .hero-botanical {opacity:.2}
 .about-editorial-split {display:flex !important;flex-direction:column !important}
 .about-split-panel,.about-split-media {width:100% !important}
 .about-split-copy {max-width:620px !important;margin:auto;padding:55px 24px 20px !important}
 .about-split-media {min-height:0;padding:20px 32px 55px}
 .about-split-media img {height:420px !important;width:min(100%,380px) !important}
 .faq-item summary {padding:18px 16px !important}
 .faq-item .faq-answer {padding-left:16px !important;padding-right:16px !important}
}
@media(prefers-reduced-motion:reduce){.venue,.venue-photo,.icon-feature{transition:none !important}}

/* V16: editable SVG hero boundary experiment */
.hero-section .hero-copy::after {display:none !important;}
.hero-section .hero-visual {isolation:isolate;}
.hero-section .hero-visual::before {content:"";position:absolute;z-index:3;pointer-events:none;left:-2px;top:-1px;bottom:-1px;width:clamp(52px,9vw,150px);background:url('../img/hero-wave.svg') left center / 100% 100% no-repeat;}
@media(max-width:767.98px){
 .hero-section .hero-visual::before {display:none;}
 .hero-section .hero-visual::after {content:"";position:absolute;pointer-events:none;left:0;right:0;top:-1px;height:42px;background:#fff;clip-path:ellipse(75% 100% at 50% 0%);}
}

/* V18: understated translucent abstract background washes.
   Restore V16 hero and original Jaime photograph framing. */
.icon-experiment, .about-editorial, .faq-section { position:relative; isolation:isolate; }
.icon-experiment::before, .about-editorial::after, .faq-section::before {
  content:""; position:absolute; pointer-events:none; z-index:-1;
  background-repeat:no-repeat; background-position:center; background-size:contain;
}
.icon-experiment::before {
  width:clamp(260px,36vw,520px); aspect-ratio:800/650; right:-125px; top:-120px;
  background-image:url('../img/abstract-wash-teal.svg');
}
.about-editorial::after {
  width:clamp(250px,34vw,490px); aspect-ratio:800/650; left:-135px; bottom:-125px;
  background-image:url('../img/abstract-wash-blush.svg');
}
.faq-section::before {
  width:clamp(220px,28vw,390px); aspect-ratio:800/650; right:-140px; bottom:-120px;
  background-image:url('../img/abstract-wash-teal.svg'); opacity:.65;
}
@media(max-width:767.98px) {
  .icon-experiment::before {width:280px;right:-170px;top:-85px;}
  .about-editorial::after {width:260px;left:-165px;bottom:-90px;}
  .faq-section::before {display:none;}
}


/* ============================================================
   V19 · Jaime editorial photo and whisper-soft full-height art
   Easy adjustments: --jaime-photo-tilt, --jaime-art-opacity.
   ============================================================ */
:root { --jaime-photo-tilt: 2.2deg; --jaime-art-opacity: .45; }
.about-editorial.about-editorial-split {
  background: #f8fbfa !important;
  min-height: 690px;
  isolation: isolate;
  overflow: hidden;
}
/* All decoration is behind the content, and extends to the bottom edge. */
.about-editorial.about-editorial-split::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  pointer-events: none; opacity: var(--jaime-art-opacity);
  background: url('../img/jaime-background-art.svg') center bottom / 100% 100% no-repeat;
}
/* Remove the older, more obvious blush wash. */
.about-editorial.about-editorial-split::after { display: none !important; }
.about-editorial-split .about-split-panel,
.about-editorial-split .about-split-media { position: relative; z-index: 1; }
.about-editorial-split .about-split-media {
  overflow: visible; min-height: 690px;
  padding: 58px clamp(42px, 8vw, 140px) 70px 35px;
}
/* Remove the arch backdrop and use a flat, slightly rotated print. */
.about-editorial-split .about-split-media::before { display: none !important; }
.about-editorial-split .about-split-media img {
  display: block; width: min(100%, 435px) !important;
  height: clamp(430px, 34vw, 555px) !important;
  min-height: 0 !important; object-fit: cover;
  object-position: center 22%;
  border: 11px solid #fff !important;
  border-bottom-width: 16px !important;
  border-radius: 3px !important;
  transform: rotate(var(--jaime-photo-tilt));
  box-shadow: 0 28px 46px rgba(28,67,64,.16), 0 8px 14px rgba(28,67,64,.07) !important;
  transition: transform .35s ease, box-shadow .35s ease;
}
.about-editorial-split .about-split-media img:hover {
  transform: rotate(.5deg) translateY(-4px);
  box-shadow: 0 32px 54px rgba(28,67,64,.18) !important;
}
/* Art contains its own botanical outline, so avoid a duplicate. */
.about-editorial-split .about-botanical { display: none !important; }
@media (max-width: 991.98px) {
  .about-editorial-split .about-split-media { min-height: 0; padding: 18px 48px 80px; }
  .about-editorial-split .about-split-media img { height: 480px !important; max-width: 390px; }
  .about-editorial.about-editorial-split::before { background-size: cover; background-position: center bottom; }
}
@media (max-width: 575.98px) {
  :root { --jaime-photo-tilt: 1.4deg; }
  .about-editorial-split .about-split-media { padding: 18px 35px 75px; }
  .about-editorial-split .about-split-media img { height: 400px !important; border-width: 8px !important; border-bottom-width: 13px !important; }
  .about-editorial.about-editorial-split::before { opacity: .34; background-size: auto 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .about-editorial-split .about-split-media img { transition: none; }
}


/* ==========================================================
   V20 | Refined editorial portrait and movement-inspired art
   ========================================================== */
:root { --jaime-photo-tilt: 3deg; --jaime-art-opacity: .38; }
.about-editorial.about-editorial-split { min-height: 615px; }
.about-editorial-split .about-split-media {
  min-height: 615px;
  padding: 36px clamp(52px, 8vw, 145px) 45px 35px;
}
.about-editorial-split .about-split-copy { padding-top: 58px !important; padding-bottom: 58px !important; }
.about-editorial-split .about-split-media img {
  width: min(100%, 405px) !important;
  height: clamp(405px, 31vw, 510px) !important;
  box-shadow: 0 33px 65px rgba(27,64,64,.19), 0 12px 22px rgba(27,64,64,.08) !important;
}
/* Restrained abstract movement, rather than botanical decoration. */
.icon-experiment { isolation: isolate; }
.icon-experiment::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: url('../img/section-flow-art.svg') center / 100% 100% no-repeat;
  pointer-events: none; opacity: .48;
}
/* Remove the remaining leaf ornament in the hero. */
.hero-botanical { display: none !important; }
@media (max-width: 991.98px) {
  .about-editorial.about-editorial-split { min-height: 0; }
  .about-editorial-split .about-split-media { min-height: 0; padding: 30px 45px 60px; }
  .about-editorial-split .about-split-media img { max-width: 375px; height: 455px !important; }
}
@media (max-width: 575.98px) {
  :root { --jaime-photo-tilt: 1.8deg; --jaime-art-opacity: .30; }
  .about-editorial-split .about-split-copy { padding-bottom: 20px !important; }
  .about-editorial-split .about-split-media { padding: 25px 38px 58px; }
  .about-editorial-split .about-split-media img { height: 395px !important; }
  .icon-experiment::after { opacity: .28; }
}


/* ============================================================
   V21 | Light teal headings and restrained movement artwork
   Edit these three variables to fine-tune the design.
   ============================================================ */
:root {
  --v21-heading-teal: #287b7d;
  --v21-art-opacity: .72;
  --v21-venue-art-opacity: .72;
}
/* Preserve white headings on the dark testimonial and CTA sections. */
.hero-copy h1, .hero-copy h1 span,
.quick-links-intro h2, .section-heading h2,
.about-editorial h2, .faq-heading h2,
.venue-content h3, .about-benefit h3,
.icon-feature-title, .about-credentials h3,
.page-intro h1, .page-hero h1, .inner-hero h1,
main h1, main h2, main h3 {
  color: var(--v21-heading-teal);
}
.testimonials h2, .testimonials h3,
.contact-section h2, .contact-section h3,
.site-footer h2, .site-footer h3 { color: #fffdfb !important; }
/* Existing accent on 'Feel good.' stays coral if defined elsewhere. */
.hero-copy h1 span { color: var(--v15-coral, #d98a70); }
/* Remove leftover circular backdrop ornaments, not the useful round icon links. */
.about-split-media::before, .about-feature-portrait::before,
.hero-image-frame::before, .hero-image-frame::after { display:none !important; }
/* Keep the refined Jaime artwork, and avoid stacked old washes. */
.about-editorial.about-editorial-split::before { opacity: var(--jaime-art-opacity, .38); }
.about-editorial.about-editorial-split::after { display:none !important; }
/* One extra area of abstract movement: venue cards section. */
#venues { position:relative; isolation:isolate; overflow:hidden; background:#f8fbfa !important; }
#venues::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:url('../img/venue-flow-art.svg') center / 100% 100% no-repeat;
  opacity:var(--v21-venue-art-opacity);
}
#venues > .container { position:relative; z-index:1; }
/* Avoid multiple separate blob overlays on the introductory links and FAQ. */
.icon-experiment::before, .faq-section::before { display:none !important; }
.icon-experiment::after { opacity:var(--v21-art-opacity); }
@media(max-width:767.98px) {
  #venues::before { background-size:auto 100%; background-position:center bottom; opacity:.48; }
  .icon-experiment::after { opacity:.34; }
}

/* ===========================================================
   V22 | Less decoration, sweeping hero, softer mobile menu
   =========================================================== */
/* Abstract artwork only around Jaime. Clean backgrounds elsewhere. */
.icon-experiment::before,.icon-experiment::after,
#venues::before,.faq-section::before { content:none !important; display:none !important; }
.icon-experiment { background:#f3f8f7 !important; }
#venues { background:#fff !important; }
/* Photo break after quick links, before venue cards. */
.class-photo-v22 { display:block; height:clamp(250px,32vw,430px); background:#eaf1ef; }
.class-photo-v22 img { width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%; }
/* One sweeping hero edge, using the updated SVG asset. */
.hero-section .hero-visual::before { width:clamp(70px,10vw,170px); }
/* Mobile Jaime image: more breathing room above the pinned photo. */
@media(max-width:991.98px) {
 .about-editorial-split .about-split-media { padding-top:64px !important; }
}
@media(max-width:575.98px) {
 .about-editorial-split .about-split-media { padding-top:64px !important; }
 .class-photo-v22 { height:240px; }
 .class-photo-v22 img { object-position:center center; }
}
/* Reveal the mobile navigation rather than snapping it open. */
@media(max-width:991.98px) {
 .site-header .nav-editorial #mainNav,
 .site-header .nav-editorial #mainNav.collapse,
 .site-header .nav-editorial #mainNav.collapsing {
   display:flex !important; flex-direction:column; align-items:stretch;
   max-height:0; opacity:0; visibility:hidden; overflow:hidden;
   padding-top:0; padding-bottom:0; height:auto !important;
   transform:translateY(-7px);
   transition:max-height .42s ease, opacity .32s ease, transform .42s ease,
              padding .42s ease, visibility 0s linear .42s;
 }
 .site-header .nav-editorial #mainNav.show {
   max-height:340px; opacity:1; visibility:visible;
   padding-top:16px; padding-bottom:22px; transform:translateY(0);
   transition:max-height .42s ease, opacity .32s ease, transform .42s ease,
              padding .42s ease, visibility 0s;
 }
}
@media(prefers-reduced-motion:reduce) {
 .site-header .nav-editorial #mainNav { transition:none !important; }
}

/* V23 — intentionally tall, Surreal-editable photographic break */
.class-photo-v22 { height:540px; overflow:hidden; }
.class-photo-v22 > img.editable { display:block; width:100%; height:100%; object-fit:cover; object-position:center 48%; }
@media (max-width:991.98px) { .class-photo-v22 { height:420px; } }
@media (max-width:575.98px) { .class-photo-v22 { height:320px; } }

/* =============================================================
   V24 | Light, purposeful refinements — edit values here
   ============================================================= */
:root { --page-coral:#df806b; --page-coral-hover:#c96b57; --page-teal:#287b7d; }
/* A little less pill-shaped and a fresher coral */
.btn-coral,.btn-teal,.nav-book-button,.nav-action,.floating-enquiry,.hero-primary,.contact-section .btn {
 border-radius:11px !important; background:var(--page-coral) !important;
 border-color:var(--page-coral) !important; color:white !important;
 box-shadow:0 6px 18px rgba(91,64,57,.09) !important;
 transition:background .25s,transform .25s,box-shadow .25s !important;
	font-size: 1.1rem;
}
.btn-coral:hover,.btn-teal:hover,.nav-action:hover,.floating-enquiry:hover,.hero-primary:hover,.contact-section .btn:hover {
 background:var(--page-coral-hover) !important; transform:translateY(-2px);
 box-shadow:0 9px 23px rgba(91,64,57,.15) !important;
}
/* Navbar: timetable, enrol and Instagram in one group */
.nav-actions {display:flex;align-items:center;gap:10px;margin-left:auto;}
.nav-action {display:inline-flex;align-items:center;justify-content:center;padding:10px 17px;font-size:.88rem;font-weight:600;text-decoration:none;}
.nav-timetable {background:transparent !important;border:1px solid #b9d4d1 !important;color:var(--page-teal) !important;box-shadow:none !important;}
.nav-timetable:hover {background:#eaf5f3 !important;color:#175e60 !important;}
.nav-instagram {display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;color:var(--page-teal);font-size:1.35rem;text-decoration:none;}
.nav-instagram:hover {background:#f0f7f6;color:var(--page-coral-hover);}
@media(max-width:991.98px) { .nav-actions {margin:15px 0 0;justify-content:flex-start;flex-wrap:wrap;} }
/* Portrait: show the whole photo, particularly on small screens */
.about-editorial-split .about-split-media img {object-fit:contain !important;object-position:center center !important;height:auto !important;max-height:none !important;aspect-ratio:auto !important;}
@media(max-width:991.98px){.about-editorial-split .about-split-media{padding-top:95px !important;}}
/* Icons are intentionally about movement and teaching */
.about-benefit-icon i {font-size:1.4rem;}
/* Qualifications, visible rather than tiny stamps */
.about-credentials {padding-top:25px !important;padding-bottom:28px !important;}
.about-credentials .accreditation-logos img {max-height:76px !important;height:auto !important;max-width:165px !important;width:auto !important;object-fit:contain !important;}
.about-credentials .accreditation-logos {gap:22px !important;flex-wrap:wrap;}
/* Testimonials: shorter but still visually strong */
.testimonials.section-space {padding-top:68px !important;padding-bottom:68px !important;}
.testimonials .review-slide blockquote {font-size:clamp(1.1rem,1.65vw,1.48rem) !important;line-height:1.52 !important;}
.testimonials .review-quote-mark {font-size:4.4rem !important;}
/* FAQ: light, editorial and not bold */
.faq-item summary {font-family:'Newsreader',Georgia,serif !important;font-weight:400 !important;font-size:clamp(1.15rem,1.5vw,1.4rem) !important;letter-spacing:.005em !important;color:#267b7d !important;}
.faq-item {border-color:#e3edeb !important;}
.faq-item[open] {background:#f8fbfa;}
.faq-plus {color:var(--page-coral) !important;}
/* Gallery: 3 columns / 2 rows desktop, editable images via Surreal */
.pilates-gallery {background:#fff;padding:82px 0 92px;}
.gallery-intro {max-width:540px;margin:0 auto 35px;text-align:center;color:#5e7577;}
.pilates-gallery-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
.pilates-gallery-item {margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:9px;background:#edf4f2;}
.pilates-gallery-item img {width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease;}
.pilates-gallery-item:hover img {transform:scale(1.035);}
@media(max-width:767px){.pilates-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pilates-gallery{padding:55px 0 65px;}}
/* Video CTA: more distinct from dark footer, legible with or without playback */
.contact-section {position:relative;isolation:isolate;overflow:hidden;background:#2b8584 !important;padding:100px 0 !important;}
.contact-section::before {content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(17,84,86,.80),rgba(29,113,115,.55));z-index:-1;}
.cta-ambient-video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.contact-section .container {position:relative;z-index:1;}
.contact-section h2 {font-size:clamp(2.1rem,4vw,3.5rem) !important;}
.contact-section p {font-size:1.05rem;max-width:590px;margin:10px auto 24px;}
@media(prefers-reduced-motion:reduce){.cta-ambient-video{display:none;}}
/* Useful footer links */
.footer-main {gap:30px;flex-wrap:wrap;}
.footer-useful {display:grid;grid-template-columns:repeat(2,max-content);gap:9px 24px;align-content:center;}
.footer-useful a {color:#e0efec;text-decoration:none;font-size:.91rem;}
.footer-useful a:hover {color:#fff;text-decoration:underline;}
@media(max-width:767px){.footer-useful{grid-template-columns:1fr 1fr;gap:12px}.contact-section{padding:78px 0 !important;}}

/* =============================================================
   V25 | Prominent video feature below the introductory links
   ============================================================= */
.movement-feature { position:relative; isolation:isolate; min-height:590px; height:min(67vw,680px); display:flex; align-items:center; overflow:hidden; background:#174f53 url('../img/movement-poster.jpg') center / cover no-repeat; color:#fff; }
.movement-feature-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.movement-feature-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,51,55,.68) 0%,rgba(10,51,55,.32) 57%,rgba(10,51,55,.18) 100%); }
.movement-feature-content { padding-block:75px; }
.movement-feature-kicker { font-size:.8rem; letter-spacing:.2em; font-weight:700; color:#f5d2c9; margin-bottom:16px; }
.movement-feature h2 { color:#fff !important; max-width:660px; font-size:clamp(2.8rem,5.4vw,5.6rem); line-height:1.07; margin:0 0 29px; text-wrap:balance; }
.movement-feature .btn { padding:13px 25px; }
.movement-video-toggle { position:absolute; right:26px; bottom:24px; width:43px; height:43px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(15,55,58,.35); color:white; backdrop-filter:blur(5px); cursor:pointer; }
.movement-video-toggle:hover,.movement-video-toggle:focus-visible { background:rgba(15,55,58,.75); }
/* Final invitation: separate from the footer, without repeating the video */
.contact-section { background:#eaf5f2 !important; color:#1d5559 !important; padding:100px 0 !important; }
.contact-section::before { display:none !important; }
.contact-section h2 { color:#287b7d !important; }
.contact-section p { color:#355d60 !important; }
@media(max-width:991.98px){.movement-feature{height:510px;min-height:0;}.movement-feature h2{max-width:570px;}}
@media(max-width:575.98px){.movement-feature{height:470px;}.movement-feature-content{padding:55px 22px 80px;}.movement-feature h2{font-size:clamp(2.5rem,10vw,3.7rem);}.movement-feature-shade{background:linear-gradient(90deg,rgba(10,51,55,.75),rgba(10,51,55,.3));}.movement-video-toggle{right:16px;bottom:16px;}.contact-section{padding:74px 0 !important;}}
@media(prefers-reduced-motion:reduce){.movement-feature-video{display:none;}}

/* =============================================================
   V26 — full-width cinematic video hero. Replaces split hero.
   Video is portrait source; crop focal point using object-position.
   ============================================================= */
.hero-cinema {position:relative; isolation:isolate; min-height:680px; height:min(85svh,900px); display:flex; align-items:center; overflow:hidden; background:#184e52 url('../img/movement-poster.jpg') center 45% / cover no-repeat; color:white;}
.hero-cinema-video {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 47%; z-index:-2;}
.hero-cinema-shade {position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(12,44,49,.79) 0%,rgba(12,44,49,.56) 41%,rgba(12,44,49,.14) 100%);}
.hero-cinema-content {position:relative; z-index:2; padding-top:95px; padding-bottom:135px;}
.hero-cinema .hero-copy {background:transparent!important; padding:0!important; max-width:680px; width:100%; position:relative; box-shadow:none!important;}
.hero-cinema .hero-copy::before,.hero-cinema .hero-copy::after {display:none!important;}
.hero-cinema .hero-kicker {color:#f8d6ca!important; letter-spacing:.13em; text-transform:uppercase; font-size:.85rem;}
.hero-cinema h1,.hero-cinema h1 span {color:#fff!important; text-shadow:0 2px 20px rgba(0,0,0,.1);}
.hero-cinema h1 {font-size:clamp(4.2rem,8vw,8rem)!important; line-height:.98!important; margin-bottom:25px!important;}
.hero-cinema .lead-copy {color:rgba(255,255,255,.96)!important; font-size:clamp(1.07rem,1.6vw,1.25rem); line-height:1.7; max-width:540px;}
.hero-cinema .hero-actions {display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin-top:28px;}
.hero-cinema .hero-primary {background:#e58d76!important; border-color:#e58d76!important; font-size:1.1rem; border-radius:7px!important; box-shadow:0 10px 26px rgba(0,0,0,.15);}
.hero-cinema .hero-primary:hover {background:#f2a08b!important; border-color:#f2a08b!important;}
.hero-cinema .hero-secondary {color:#fff!important; border-bottom:1px solid rgba(255,255,255,.7); text-decoration:none;}
.hero-cinema .hero-secondary:hover {color:#ffe1d7!important;}
.hero-cinema-curve {position:absolute; bottom:-1px; left:0; width:100%; height:clamp(45px,9vw,130px); background:#fff; clip-path:polygon(0 68%, 10% 75%, 24% 82%, 38% 85%, 52% 83%, 65% 74%, 78% 54%, 90% 26%, 100% 0, 100% 100%, 0 100%); z-index:1; pointer-events:none;}
.hero-cinema .movement-video-toggle {z-index:4; bottom:35px; right:35px;}
@media(max-width:991.98px){.hero-cinema{min-height:620px;height:78svh}.hero-cinema-content{padding-top:65px;padding-bottom:115px}.hero-cinema h1{font-size:clamp(4rem,10vw,6.5rem)!important}.hero-cinema-shade{background:linear-gradient(90deg,rgba(12,44,49,.8),rgba(12,44,49,.34));}}
@media(max-width:575.98px){.hero-cinema{min-height:630px;height:calc(100svh - 70px);max-height:850px}.hero-cinema-video{object-position:50% 50%}.hero-cinema-content{padding:75px 22px 110px}.hero-cinema h1{font-size:clamp(3.65rem,14vw,5.1rem)!important}.hero-cinema .lead-copy{font-size:1.04rem;max-width:380px}.hero-cinema-shade{background:linear-gradient(90deg,rgba(12,44,49,.82),rgba(12,44,49,.46))}.hero-cinema-curve{height:75px}.hero-cinema .movement-video-toggle{right:16px;bottom:19px;}}
@media(prefers-reduced-motion:reduce){.hero-cinema-video{display:none}}

/* =============================================================
   V27 | Cinematic hero gradient and gallery contrast
   ============================================================= */
/* Strong, readable teal at the copy; near-clear on the image's right.
   A faint warm lift adds colour without tinting the whole video. */
.hero-cinema-shade {
  background:
    linear-gradient(90deg,
      rgba(8,42,49,.90) 0%,
      rgba(11,49,56,.82) 22%,
      rgba(12,53,59,.55) 43%,
      rgba(12,53,59,.16) 67%,
      rgba(12,53,59,.015) 100%),
    linear-gradient(0deg,rgba(10,40,46,.20),transparent 38%);
}
/* Hide obsolete control if an older HTML copy is accidentally served. */
.hero-cinema .movement-video-toggle { display:none !important; }
/* Pale blue-green differentiates gallery from the white venues above. */
.pilates-gallery { background:#edf6f4 !important; }
.pilates-gallery-item { box-shadow:0 5px 18px rgba(28,82,81,.075); }
@media(max-width:991.98px){
  .hero-cinema-shade {
    background:linear-gradient(90deg,rgba(8,42,49,.85) 0%,rgba(10,49,55,.66) 47%,rgba(10,49,55,.12) 100%);
  }
}
@media(max-width:575.98px){
  /* Text spans much of the mobile image, so retain a readable overlay. */
  .hero-cinema-shade {
    background:linear-gradient(180deg,rgba(8,42,49,.76) 0%,rgba(9,45,51,.61) 46%,rgba(9,45,51,.28) 100%);
  }
}

/* Final responsive refinements: neutral section rhythm, readable mobile timetable */
:root{--page-porcelain:#F7F7F5;--page-stone:#EEEDEA}
.icon-experiment{background:var(--page-porcelain)!important}
.pilates-gallery{background:var(--page-stone)!important}
.about-editorial-split{background:#fff!important}
.faq-section{background:var(--page-porcelain)!important}
.contact-section{background:var(--page-stone)!important}
.about-editorial-split .about-split-panel{flex:1.2!important}
.about-editorial-split .about-split-media{flex:1!important}
.about-editorial-split .about-split-media img{width:min(90%,560px)!important;max-width:100%!important}
.inner-page-intro{background:var(--page-porcelain);text-align:center}
.inner-page-intro h1{font-family:'Newsreader',Georgia,serif;font-size:clamp(2.8rem,6vw,5.1rem);color:#246f72;line-height:1.06}
.inner-lead,.section-description{max-width:670px;margin:16px auto 0;line-height:1.75}
.eyebrow{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#467f7c}
.schedule-section{background:#fff}.schedule-section h2,.levels-section h2,.enrol-section h2,.contact-details-section h2{font-family:'Newsreader',Georgia,serif;color:#267b7d;font-size:clamp(2rem,4vw,3.3rem)}
.schedule-table-wrap{border:1px solid #e3e8e6;border-radius:14px;overflow:hidden;box-shadow:0 12px 36px rgba(24,70,72,.06)}
.schedule-table{font-size:.9rem;vertical-align:middle}.schedule-table th{background:#e9eeec!important;color:#245f61;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;padding:19px 14px}.schedule-table td{padding:18px 14px;line-height:1.5}.schedule-table tbody tr:nth-child(even){background:#fafaf9}.schedule-table tbody tr:hover{background:#f3f7f5}.table-enquire{color:#247879;font-weight:700;white-space:nowrap}
.schedule-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.class-card{background:#fff;border:1px solid #e2e7e5;border-radius:15px;padding:23px;box-shadow:0 6px 23px rgba(27,73,73,.055)}.class-day{font-size:.77rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#29777a}.class-price{font-size:.8rem;font-weight:700;color:#42686a}.class-card h3{font-family:'Newsreader',Georgia,serif;font-size:1.7rem;color:#236d70;margin:0 0 14px}.class-card p{font-size:.92rem;color:#435e60;line-height:1.5}.class-card p i{color:#c97f69;width:17px}.class-card .btn{font-size:.81rem!important;padding:13px 9px!important;white-space:normal}
.levels-section{background:var(--page-porcelain)}.levels-section .accordion-item{border:1px solid #e5e9e7;margin-bottom:10px;border-radius:10px!important;overflow:hidden}.levels-section .accordion-button{font-family:'DM Sans',sans-serif;color:#236e71;font-weight:600;font-size:1rem;padding:20px 22px}.levels-section .accordion-button:not(.collapsed){background:#eef3f0;box-shadow:none}.levels-section .accordion-body{line-height:1.7;padding:22px}.enrol-section{background:var(--page-stone)}
.contact-details-section{background:#fff}.contact-method{display:flex;align-items:center;gap:18px;margin:28px 0}.contact-method>i{display:grid;place-items:center;width:52px;height:52px;background:#edf2f0;border-radius:50%;color:#24777a}.contact-method span{display:block;color:#667c7b;font-size:.85rem}.contact-method a{color:#1c696d;font-weight:700;font-size:clamp(1rem,2.5vw,1.3rem)}.enquiry-panel{background:var(--page-porcelain);padding:clamp(24px,4vw,44px);border-radius:16px}.enquiry-panel .form-control,.enquiry-panel .form-select{background:#fff;border:1px solid #cfdad7;padding:13px;border-radius:8px}.enquiry-panel .form-label{font-weight:600;color:#355b5e}
@media(max-width:767.98px){.schedule-cards{grid-template-columns:1fr}.inner-page-intro{padding-top:55px!important;padding-bottom:55px!important}.inner-page-intro .container{padding-top:0!important;padding-bottom:0!important}.schedule-section,.levels-section,.enrol-section,.contact-details-section{padding-top:55px!important;padding-bottom:55px!important}.hero-cinema .hero-copy{max-width:100%}.hero-cinema .hero-actions{display:flex;flex-wrap:wrap;gap:10px}.icon-experiment .quick-link-icon{transform:scale(.88)}.about-editorial-split .about-split-media{padding-top:32px!important}.about-editorial-split .about-split-media img{width:min(82%,380px)!important}.testimonials .review-slide blockquote{max-width:90%;margin-inline:auto}.floating-enquiry{padding:10px 13px!important}.floating-enquiry span{display:none!important}.faq-item summary{padding:18px 15px!important}}
@media(min-width:768px) and (max-width:991.98px){.schedule-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Mobile header spacing and video framing fix — October 2026 */
@media (max-width: 991.98px) {
  :root { --editorial-nav-height: 90px; }
  .site-header .nav-editorial { min-height: 90px; padding-block: 12px; align-content: center; }
  .site-header .nav-editorial .navbar-brand { padding-block: 5px; }
  .site-header .nav-editorial .navbar-toggler { margin-block: 4px; }
}
@media (max-width: 575.98px) {
  .hero-cinema { height: calc(100svh - 90px); }
  .hero-cinema-video { object-fit: cover; object-position: 50% 50%; }
}

/* October 2026: photograph-led sections and accessible responsive images */
.full-bleed-moment{position:relative;min-height:clamp(300px,42vw,540px);display:grid;align-items:center;overflow:hidden;background:#174c50;color:#fff}
.full-bleed-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.full-bleed-overlay{position:relative;z-index:1;background:linear-gradient(90deg,rgba(9,43,47,.76),rgba(9,43,47,.18));padding:clamp(85px,11vw,160px) 0}
.full-bleed-moment h2{font-family:'Newsreader',Georgia,serif;font-size:clamp(2.8rem,7vw,5.5rem);color:#fff;line-height:1.1}
.full-bleed-moment .eyebrow{color:#ffe3d9}
.inner-photo-hero{position:relative;isolation:isolate;overflow:hidden;background:#245c60!important;text-align:left!important;min-height:330px;display:flex;align-items:center;color:#fff}
.inner-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.inner-photo-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,53,59,.92),rgba(10,53,59,.65) 52%,rgba(10,53,59,.20));z-index:-1}
.inner-photo-hero h1,.inner-photo-hero .eyebrow,.inner-photo-hero .inner-lead{color:#fff!important;text-align:left!important;margin-left:0!important}
.inner-photo-hero .inner-lead{max-width:580px}
.class-photo-feature{background:#fff}.class-photo-feature h2{font-family:'Newsreader',Georgia,serif;color:#287b7d;font-size:clamp(2.1rem,4vw,3.2rem)}
.class-feature-img{width:100%;height:340px;object-fit:cover}
.contact-venue-photo img{width:100%;height:245px;object-fit:cover}
@media(max-width:767.98px){.inner-photo-hero{min-height:320px}.inner-photo-hero:before{background:linear-gradient(90deg,rgba(10,53,59,.87),rgba(10,53,59,.45))}.class-feature-img{height:260px}.full-bleed-moment{min-height:340px}}

/* Photo divider: one uninterrupted, full-width photograph without overlay or text. */
.full-bleed-moment--photo-only { display:block; min-height:0; background:none; line-height:0; overflow:hidden; }
.full-bleed-moment--photo-only .full-bleed-photo { display:block; position:static; width:100%; height:auto; max-height:none; object-fit:initial; }
/* Quick actions: teal contact button, accessible back-to-top control. */
.floating-actions .floating-enquiry,
.floating-actions .floating-enquiry:hover,
.floating-actions .floating-enquiry:focus-visible { background:#08717a!important; color:#fff!important; }
.floating-actions .floating-enquiry:hover { background:#075d65!important; }
@media (max-width:767.98px) {
 body { padding-bottom:calc(78px + env(safe-area-inset-bottom,0px)); }
 .floating-actions { bottom:0; left:0; right:0; gap:0; align-items:stretch; }
 .floating-actions .floating-enquiry { border-radius:0; width:100%; min-height:58px; padding:14px 20px!important; padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))!important; }
 .floating-actions .floating-enquiry span { display:inline!important; }
 .floating-actions .back-to-top.is-visible { position:absolute; bottom:calc(74px + env(safe-area-inset-bottom,0px)); right:14px; }
}

/* October mobile refinements: compact navigation, comfortable portrait spacing, responsive alignment. */
@media (max-width: 991.98px) {
 .site-header .navbar {padding-top:0!important;padding-bottom:0!important;margin:0!important;min-height:0!important;}
 .site-header .nav-editorial {min-height:76px!important;padding-block:9px!important;align-items:center!important;}
 .site-header .nav-editorial .navbar-brand,.site-header .nav-editorial .navbar-toggler {margin-block:0!important;}
 .site-header {margin-bottom:0!important;padding-bottom:0!important;}
 .site-header + main {margin-top:0!important;padding-top:0!important;}
 .hero-cinema {height:calc(100svh - 76px)!important;}
 .about-editorial-split .about-split-media {padding-top:58px!important;padding-bottom:45px!important;}
}
@media (max-width:767.98px) {
 .class-photo-feature .col-md-6:last-child,.enrol-section .row > div {text-align:center!important;}
 .class-photo-feature .col-md-6:last-child h2,.enrol-section h2 {text-align:center!important;}
 .class-photo-feature .col-md-6:last-child .btn,.enrol-section .btn {margin-inline:auto;}
 .class-photo-feature .col-md-6:last-child {padding-top:8px;}
 .class-photo-feature .row {row-gap:28px!important;}
 .contact-details-section .col-lg-6 > .eyebrow,.contact-details-section .col-lg-6 > h2,.contact-details-section .col-lg-6 > p {text-align:center;}
 .venue-photos-section .text-center {text-align:center!important;}
 .about-editorial-split .about-split-media {padding-top:70px!important;padding-bottom:54px!important;}
 .inner-photo-hero .inner-hero-copy {text-align:center!important;}
 .inner-photo-hero h1,.inner-photo-hero .eyebrow,.inner-photo-hero .inner-lead {text-align:center!important;margin-inline:auto!important;}
}
/* Desktop hero: transparent right edge lets photography show through. */
@media (min-width: 992px) {
 .inner-photo-hero:before {background:linear-gradient(90deg,rgba(10,53,59,.76) 0%,rgba(10,53,59,.42) 43%,rgba(10,53,59,.04) 85%,transparent 100%)!important;}
}
.venue-photos-section {background:#f7f7f5;}
.venue-photos-section h2 {font-family:'Newsreader',Georgia,serif;color:#287b7d;font-size:clamp(2rem,4vw,3.1rem);}
.venue-photo-card {background:white;border-radius:12px;overflow:hidden;margin:0;box-shadow:0 9px 26px rgba(15,55,60,.08);}
.venue-photo-card img {display:block;width:100%;height:230px;object-fit:cover;}
.venue-photo-card figcaption {font-size:1rem;color:#236e72;font-weight:600;padding:16px 20px;}

/* Final refinements: portrait spacing, uncropped venues and mobile contact strip. */
.venue .venue-photo {height:auto!important;max-height:none!important;object-fit:contain!important;transform:none!important;}
.venue:hover .venue-photo {transform:none!important;}
.back-to-top {text-decoration:none!important;z-index:1100;pointer-events:auto!important;}
@media(max-width:991.98px){
 .about-editorial.about-editorial-split {display:flex!important;flex-direction:column!important;min-height:0!important;}
 .about-editorial-split .about-split-media {order:1!important;flex:none!important;height:auto!important;min-height:0!important;padding:28px 26px 10px!important;margin:0!important;}
 .about-editorial-split .about-split-media img {display:block!important;width:min(82%,380px)!important;height:auto!important;max-height:none!important;min-height:0!important;aspect-ratio:auto!important;margin:0 auto!important;}
 .about-editorial-split .about-split-panel {order:2!important;flex:none!important;padding:20px 24px 48px!important;margin:0!important;}
 .about-editorial-split .about-split-copy {padding:0!important;margin:0!important;}
}
@media(max-width:767.98px){
 .floating-actions {position:fixed!important;inset:auto 0 0!important;display:block!important;width:100%!important;margin:0!important;pointer-events:none!important;}
 .floating-actions .floating-enquiry {display:flex!important;justify-content:center!important;align-items:center!important;gap:12px!important;width:100%!important;min-height:60px!important;border-radius:0!important;margin:0!important;pointer-events:auto!important;}
 .floating-actions .floating-enquiry span {display:inline!important;}
 .floating-actions .back-to-top.is-visible {display:flex!important;position:absolute!important;bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;right:15px!important;pointer-events:auto!important;}
}

/* Contact page: centred contact links and full-width Jotform area */
.contact-intro{max-width:900px}
.contact-links{row-gap:14px!important}
.contact-link{display:inline-flex;align-items:center;gap:10px;color:#08717a;font-weight:600;text-decoration:none;white-space:normal}
.contact-link i{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#edf2f0;color:#08717a}
.contact-link:hover{color:#075960}
.contact-form-section{max-width:920px}
.jotform-embed-wrap{width:100%;background:#fff}
.jotform-embed-wrap iframe{display:block;width:100%;max-width:100%;border:0}
.jotform-placeholder{background:#f7f7f5;border:1px dashed #b9cfcb;border-radius:12px;padding:45px 20px;color:#355b5e}
@media(max-width:575.98px){.contact-links{flex-direction:column;gap:12px!important}.contact-form-section{margin-top:35px!important}.jotform-placeholder{padding:28px 15px}}


/* 2026-10 editorial legibility and enrolment refinements */
body {font-size: 1.0625rem; line-height: 1.7;}
p, li {line-height: 1.7;}
.section-description, .inner-lead, .accordion-body, .faq-item p {font-size: 1.0625rem;}
.eyebrow {font-size: .875rem;}
.nav-action {font-size: 1rem;}
.btn, .btn-coral, .btn-teal, .hero-primary, .floating-enquiry,
.nav-book-button, .contact-section .btn {font-size: 1.0625rem !important; font-weight: 600; line-height: 1.4;}
.schedule-table {font-size: 1rem;}
.schedule-table th {font-size: .875rem;}
.class-card p, .class-price {font-size: 1rem;}
.class-card .btn {font-size: 1rem !important; padding: 13px 14px !important;}
.footer-useful a {font-size: 1rem;}
.levels-section .accordion-button {font-size: 1.125rem;}
.levels-section .accordion-body {font-size: 1.0625rem; color:#263F46;}
.levels-section .accordion-body li {margin-bottom:.5rem;}
.hero-cinema h1 {font-size:clamp(3.4rem,6vw,6rem)!important;line-height:1.04!important;}
.movement-feature h2 {font-size:clamp(2.5rem,4.8vw,4.6rem);}
.inner-page-intro h1 {font-size:clamp(2.65rem,4.5vw,4.35rem);}
.enrol-actions {display:flex;flex-direction:column;align-items:stretch;gap:15px;}
.enrol-actions .btn {display:inline-flex;justify-content:center;align-items:center;text-align:center;white-space:normal;padding:15px 18px;}
.btn-outline-teal {color:#08717A;border:2px solid #08717A;background:#fff;border-radius:8px;text-decoration:none;}
.btn-outline-teal:hover {color:#fff;background:#08717A;}
.enrol-actions .text-link {font-size:1.0625rem;text-align:center;}
@media(max-width:575.98px){
  .hero-cinema h1 {font-size:clamp(3rem,11vw,4.25rem)!important;}
  .class-card .btn {font-size:1rem!important;}
  .enrol-actions .btn {width:100%;}
}


/* PAGE PILATES - WARMER INTERNAL PAGES / EDITORIAL POLISH */
:root { --page-link-charcoal:#263F46; }

/* Airier, taller image-led internal page headers */
.inner-page-intro.inner-photo-hero {
  min-height:clamp(490px,62vh,690px)!important;
  padding-block:clamp(95px,12vw,155px)!important;
  background:#f7f7f5!important;
  text-align:left!important;
}
.inner-photo-hero .inner-hero-photo {object-position:center 45%;filter:brightness(1.08) saturate(1.08);}
.inner-photo-hero::before {
  background:linear-gradient(90deg,
    rgba(18,47,49,.66) 0%,
    rgba(18,47,49,.40) 40%,
    rgba(18,47,49,.08) 78%,
    rgba(18,47,49,0) 100%)!important;
}
.inner-photo-hero .inner-hero-copy {position:relative;z-index:1;text-align:left!important;}
.inner-photo-hero h1 {
  font-size:clamp(2.9rem,4.8vw,4.8rem)!important;
  line-height:1.08!important;
  font-weight:400!important;
  max-width:730px;
  text-wrap:balance;
  text-shadow:0 2px 14px rgba(15,40,43,.12);
}
.inner-photo-hero .inner-lead {font-size:clamp(1.12rem,1.6vw,1.3rem)!important;line-height:1.65!important;max-width:620px;}
.inner-photo-hero .eyebrow {font-size:.91rem!important;letter-spacing:.12em;}
/* Menu: more legible, without crowding the nav actions */
.site-header .nav-editorial .nav-link {font-size:1.02rem!important;font-weight:600;letter-spacing:0!important;}
.site-header .nav-editorial .nav-menu {gap:clamp(12px,1.5vw,24px);}
.site-header .nav-editorial .nav-action {font-size:1rem!important;}

/* Page links charcoal with dotted underline; buttons keep white text */
main a:not(.btn):not(.nav-link):not(.nav-action):not(.floating-enquiry):not(.text-link),
.site-footer a:not(.footer-brand) {
  color:var(--page-link-charcoal)!important;
  text-decoration-line:underline!important;
  text-decoration-style:dotted!important;
  text-decoration-color:rgba(38,63,70,.60)!important;
  text-underline-offset:5px!important;
  text-decoration-thickness:1.5px!important;
}
main a:not(.btn):not(.nav-link):not(.nav-action):not(.floating-enquiry):hover,
.site-footer a:not(.footer-brand):hover {
  color:#08717A!important;
  text-decoration-color:#08717A!important;
}
/* Navigation uses a discreet dotted hover cue rather than solid lines */
.site-header .nav-editorial .nav-link:hover,
.site-header .nav-editorial .nav-link:focus-visible {text-decoration:underline dotted!important;text-underline-offset:7px!important;}
/* Avoid charcoal-on-dark in footer: footer links need contrast */
.site-footer a:not(.footer-brand) {color:#f6f6f3!important;text-decoration-color:rgba(246,246,243,.6)!important;}
.site-footer a:not(.footer-brand):hover {color:#fff!important;text-decoration-color:#fff!important;}

/* Softer timetable */
.schedule-section {background:#fffdfb!important;}
.schedule-section .section-description {max-width:700px;}
.schedule-table-wrap {border:1px solid #e5e5e0!important;border-radius:19px!important;box-shadow:0 16px 42px rgba(38,63,70,.055)!important;}
.schedule-table th {background:#f3f3ee!important;color:#263F46!important;font-size:.92rem!important;letter-spacing:.025em!important;text-transform:none!important;font-weight:700!important;}
.schedule-table td {font-size:1.045rem!important;padding:20px 15px!important;border-color:#eaeae5!important;}
.schedule-table tbody tr:nth-child(even) {background:#fafaf7!important;}
.schedule-table tbody tr:hover {background:#f0f6f3!important;}
.schedule-table td:first-child strong {color:#08717A;font-weight:700;}
.schedule-table .table-enquire {font-size:1rem!important;font-weight:700!important;}
.schedule-table .table-enquire i {color:#d98a70;}
.schedule-cards {gap:18px!important;}
.class-card {border:1px solid #e6e8e2!important;border-radius:20px!important;padding:26px!important;box-shadow:0 12px 30px rgba(38,63,70,.06)!important;}
.class-card .class-day {font-size:.9rem!important;}
.class-card h3 {font-size:1.85rem!important;}

/* Welcoming enrolment area: airy background, not a grey slab */
.enrol-section {background:#f7f7f5!important;position:relative;overflow:hidden;}
.enrol-section::before {content:'';position:absolute;width:360px;height:360px;right:-180px;top:-150px;border:1px solid rgba(8,113,122,.14);border-radius:50%;pointer-events:none;}
.enrol-section .container {position:relative;}
.enrol-section h2 {font-size:clamp(2.15rem,3.5vw,3.45rem)!important;color:#08717A!important;font-weight:400!important;}
.enrol-section p {font-size:1.09rem;line-height:1.8;max-width:690px;}
.enrol-actions {background:#fff;border:1px solid #e7eae6;border-radius:22px;padding:clamp(20px,3vw,32px);box-shadow:0 15px 35px rgba(38,63,70,.055);gap:18px!important;}
.enrol-actions .btn {font-size:1.0625rem!important;min-height:55px;border-radius:9px!important;}
.enrol-actions .text-link {font-weight:600;text-underline-offset:5px;}
.enrol-steps {display:flex;flex-wrap:wrap;gap:12px;margin:25px 0;}
.enrol-step {display:flex;align-items:center;gap:10px;padding:10px 15px;background:#fff;border:1px solid #e2e9e6;border-radius:999px;font-size:.98rem;font-weight:600;color:#263F46;}
.enrol-step-number {font-family:'Newsreader',Georgia,serif;font-size:1.25rem;color:#08717A;}
/* Buttons must stay legible and not inherit ordinary link styling */
main a.btn-coral, main .btn-coral {color:#fff!important;text-decoration:none!important;}
main a.btn-outline-teal {text-decoration:none!important;}
@media (max-width:991.98px) {
 .site-header .nav-editorial .nav-link {font-size:1.1rem!important;}
 .inner-page-intro.inner-photo-hero {min-height:490px!important;}
}
@media (max-width:767.98px) {
 .inner-page-intro.inner-photo-hero {min-height:460px!important;padding:95px 0 85px!important;}
 .inner-photo-hero::before {background:linear-gradient(90deg,rgba(18,47,49,.67),rgba(18,47,49,.27))!important;}
 .inner-photo-hero h1 {font-size:clamp(2.65rem,9vw,3.7rem)!important;}
 .inner-photo-hero .inner-lead {font-size:1.08rem!important;}
 .enrol-section .row > div {text-align:left!important;}
 .enrol-section h2 {text-align:left!important;}
 .enrol-steps {gap:9px;}
 .enrol-step {width:100%;border-radius:12px;}
}


/* OCT 16 - brighter timetable and enrolment; no menu underlines */
.site-header .nav-editorial .nav-link,
.site-header .nav-editorial .nav-link:hover,
.site-header .nav-editorial .nav-link:focus,
.site-header .nav-editorial .nav-link:focus-visible,
.site-header .nav-editorial .nav-link.active {
 text-decoration:none!important;
 border-bottom:0!important;
}
.schedule-section {background:#f9faf8!important;}
.schedule-section .eyebrow {font-size:.96rem!important;letter-spacing:.14em!important;}
.schedule-section h2 {font-size:clamp(2.8rem,4.4vw,4.5rem)!important;line-height:1.1!important;color:#08717A!important;}
.schedule-section .section-description {font-size:1.2rem!important;line-height:1.65!important;}
.schedule-table-wrap {border-radius:22px!important;border:1px solid #dbe9e5!important;box-shadow:0 20px 45px rgba(8,113,122,.07)!important;}
.schedule-table th {background:#dcece9!important;color:#164e52!important;font-size:1.03rem!important;padding:23px 18px!important;}
.schedule-table td {font-size:1.12rem!important;padding:24px 18px!important;}
.schedule-table tbody tr:nth-child(even) {background:#f0f8f5!important;}
.schedule-table tbody tr:hover {background:#e4f2ec!important;}
.schedule-table .table-enquire {color:#263F46!important;text-decoration:underline dotted!important;text-underline-offset:5px;}
.class-card {background:#fff!important;border-top:5px solid #e58b78!important;border-radius:20px!important;}
.class-card h3 {color:#08717A!important;}
.class-card .class-day {color:#263F46!important;}
.levels-section .accordion-button {font-size:1.2rem!important;}
/* Less clinical enrolment area: typography, icons, breathing room */
.enrol-section {background:#f1f7f5!important;padding-block:90px!important;}
.enrol-section::before {width:460px!important;height:460px!important;border:2px solid rgba(8,113,122,.10)!important;right:-160px!important;top:-220px!important;}
.enrol-section::after {content:'';position:absolute;left:-135px;bottom:-185px;width:330px;height:330px;border:2px solid rgba(229,139,120,.16);border-radius:50%;pointer-events:none;}
.enrol-section .eyebrow {color:#08717A!important;font-size:.96rem!important;}
.enrol-section h2 {font-size:clamp(2.65rem,4.2vw,4.2rem)!important;line-height:1.12!important;max-width:650px;}
.enrol-section .enrol-intro {font-family:'Newsreader',Georgia,serif!important;font-size:clamp(1.45rem,2vw,1.9rem)!important;line-height:1.35!important;color:#315a5a!important;max-width:580px;}
.enrol-notes {margin:26px 0 20px;display:grid;gap:18px;}
.enrol-notes p {display:flex;align-items:flex-start;gap:15px;margin:0!important;font-size:1.08rem!important;line-height:1.65!important;}
.enrol-notes i {display:flex;align-items:center;justify-content:center;flex:none;width:46px;height:46px;background:#fff;border:1px solid #dce9e3;border-radius:50%;font-size:1.12rem;color:#08717A;margin-top:2px;}
.enrol-notes strong {color:#263F46;}
.enrol-section .enrol-small-note {font-size:.97rem!important;line-height:1.6!important;color:#52676a!important;}
.enrol-actions {background:#fff!important;border:1px solid #e3ebe6!important;box-shadow:0 22px 50px rgba(8,70,68,.075)!important;padding:clamp(24px,3vw,36px)!important;}
.enrol-actions::before {content:'Ready when you are';display:block;font-family:'Newsreader',Georgia,serif;font-size:2rem;line-height:1.2;color:#08717A;text-align:center;margin-bottom:6px;}
.enrol-actions .btn {font-size:1.09rem!important;}
/* Back-to-top fixed independently of its parent, above mobile contact bar */
.floating-actions .back-to-top,
.floating-actions .back-to-top.is-visible {
 position:fixed!important;right:24px!important;bottom:105px!important;
 width:52px!important;height:52px!important;
 align-items:center!important;justify-content:center!important;
 border-radius:50%!important;background:#fff!important;color:#08717A!important;
 border:2px solid #08717A!important;
 box-shadow:0 8px 25px rgba(0,0,0,.15)!important;
 z-index:2147483000!important;pointer-events:auto!important;
 text-decoration:none!important;
}
.floating-actions .back-to-top {display:none!important;}
.floating-actions .back-to-top.is-visible {display:flex!important;}
.floating-actions .back-to-top:hover {background:#08717A!important;color:#fff!important;}
@media(min-width:768px) {
 .floating-actions .back-to-top,
 .floating-actions .back-to-top.is-visible {right:27px!important;bottom:100px!important;}
}
@media(max-width:767.98px) {
 .enrol-section {padding-block:65px!important;}
 .enrol-notes p {font-size:1.03rem!important;}
 .enrol-section .enrol-intro {font-size:1.55rem!important;}
 .floating-actions .back-to-top,
 .floating-actions .back-to-top.is-visible {right:16px!important;bottom:86px!important;}
}

/* Balance the narrower walking figure with the hands icon */
.about-editorial-split .about-benefit-icon .fa-person-walking {font-size:1.9rem !important;}


/* PAGE PILATES | October 2026 approved light video hero concept */
.site-header {background:#fcf8f3!important;box-shadow:0 1px 12px rgba(20,54,56,.06)!important;}
.site-header .nav-editorial {max-width:1800px!important;width:100%!important;padding-inline:clamp(20px,4vw,76px)!important;min-height:86px!important;}
.site-header .brand-wordmark,.site-header .brand-wordmark * {font-family:Inter,Arial,sans-serif!important;font-size:clamp(1.65rem,2.4vw,2.7rem)!important;font-weight:400!important;letter-spacing:.015em!important;text-transform:uppercase!important;}
.site-header .brand-page{color:#086578!important}.site-header .brand-pilates{color:#df8069!important}
.site-header .nav-menu{margin-inline:auto!important;gap:clamp(8px,1.15vw,23px)!important}
.site-header .nav-menu .nav-link{font-size:1.03rem!important;font-weight:500!important;color:#283f49!important;text-decoration:none!important;border-bottom:0!important;position:relative;padding:13px 5px!important}
.site-header .nav-menu .nav-link:after{content:none!important}
.site-header .nav-menu .nav-link.active:before{content:'';position:absolute;bottom:4px;left:5px;right:5px;height:2px;background:#db876d}
.site-header .nav-actions{display:flex!important;align-items:center!important;gap:22px!important}
.site-header .nav-actions .nav-timetable{display:none!important}
.site-header .nav-instagram{font-size:1.35rem!important;color:#dc856c!important;border:1.5px solid #dc856c!important;width:40px;height:40px;border-radius:12px;display:flex!important;align-items:center;justify-content:center}
.site-header .nav-enrol{background:#086578!important;color:#fff!important;border:0!important;border-radius:40px!important;padding:13px 25px!important;font-size:1rem!important;font-weight:500!important;white-space:nowrap!important}
.hero-cinema{background:#f9f2eb url('../img/pilates-hero-brightened.jpg') 77% center/auto 100% no-repeat!important;min-height:610px!important;height:clamp(610px,72svh,790px)!important;color:#173f48!important}
.hero-cinema-video{left:38%!important;right:0!important;width:62%!important;object-fit:cover!important;object-position:50% 49%!important;z-index:-2!important}
.hero-cinema-shade{background:linear-gradient(90deg,#faf5ef 0%,rgba(250,245,239,.98) 17%,rgba(250,245,239,.92) 28%,rgba(250,245,239,.62) 39%,rgba(250,245,239,.06) 61%,transparent 77%)!important;z-index:-1!important}
.hero-cinema-content{width:100%!important;max-width:1800px!important;padding:75px clamp(25px,5vw,90px) 105px!important}
.hero-cinema .hero-copy{max-width:565px!important}
.hero-cinema .hero-kicker{font-family:Inter,Arial,sans-serif!important;color:#304951!important;letter-spacing:.19em!important;font-weight:500!important;font-size:clamp(.78rem,1vw,.95rem)!important;margin-bottom:22px!important}
.hero-cinema h1,.hero-cinema h1 span{font-family:Inter,Arial,sans-serif!important;text-shadow:none!important;font-weight:400!important;letter-spacing:-.055em!important}
.hero-cinema h1{font-size:clamp(3.5rem,5.8vw,6.3rem)!important;line-height:1.05!important;color:#076578!important;margin-bottom:24px!important}
.hero-cinema h1 span{color:#df8069!important}
.hero-cinema .lead-copy{color:#40535c!important;font-size:clamp(1.07rem,1.3vw,1.32rem)!important;line-height:1.52!important;max-width:490px!important}
.hero-cinema .hero-primary{background:#df856b!important;border-color:#df856b!important;border-radius:40px!important;padding:15px 28px!important;box-shadow:none!important;color:#fff!important;font-size:1.1rem!important}
.hero-cinema-curve{height:clamp(45px,7vw,90px)!important;background:#fff!important;clip-path:polygon(0 40%,15% 65%,35% 85%,50% 93%,70% 88%,85% 69%,100% 35%,100% 100%,0 100%)!important}
@media(max-width:1199px){.site-header .nav-menu{gap:6px!important}.site-header .nav-menu .nav-link{font-size:.92rem!important}.hero-cinema-video{left:35%!important;width:65%!important}}
@media(max-width:991.98px){.site-header .nav-editorial{min-height:76px!important}.site-header .nav-menu{gap:0!important}.site-header .nav-actions{justify-content:flex-start!important;padding-bottom:16px}.hero-cinema{height:670px!important;min-height:670px!important}.hero-cinema-video{left:27%!important;width:73%!important}.hero-cinema-shade{background:linear-gradient(90deg,#faf5ef 0%,rgba(250,245,239,.95) 33%,rgba(250,245,239,.65) 57%,rgba(250,245,239,.12) 100%)!important}.hero-cinema h1{font-size:clamp(3.3rem,8vw,5rem)!important}.hero-cinema-content{padding:75px 32px 100px!important}}
@media(max-width:575.98px){.site-header .brand-wordmark,.site-header .brand-wordmark *{font-size:1.6rem!important}.hero-cinema{height:690px!important;min-height:690px!important;max-height:none!important;align-items:flex-start!important;background-position:75% bottom!important}.hero-cinema-video{left:0!important;top:32%!important;width:100%!important;height:68%!important;object-position:50% 42%!important}.hero-cinema-shade{background:linear-gradient(180deg,#faf5ef 0%,#faf5ef 27%,rgba(250,245,239,.95) 42%,rgba(250,245,239,.40) 67%,rgba(250,245,239,.04) 100%)!important}.hero-cinema-content{padding:48px 24px 85px!important}.hero-cinema h1{font-size:clamp(2.95rem,11.5vw,4.3rem)!important;margin-bottom:15px!important}.hero-cinema .hero-kicker{font-size:.71rem!important;margin-bottom:14px!important}.hero-cinema .lead-copy{font-size:1rem!important;line-height:1.45!important;max-width:345px!important}.hero-cinema .hero-actions{margin-top:18px!important}.hero-cinema .hero-primary{padding:12px 23px!important;font-size:1rem!important}.hero-cinema-curve{height:45px!important}}


/* Page Pilates hero refinement: clean navbar, genuine portrait video, no curved edge */
@media(min-width:992px){
 .site-header .nav-editorial{display:grid!important;grid-template-columns:minmax(250px,1fr) auto minmax(220px,1fr)!important;gap:clamp(18px,2.3vw,42px)!important;align-items:center!important;max-width:1920px!important;padding-inline:clamp(24px,4.3vw,85px)!important;}
 .site-header .navbar-brand{position:static!important;transform:none!important;margin:0!important;justify-self:start!important;width:auto!important;white-space:nowrap!important;}
 .site-header .navbar-collapse{display:contents!important;}
 .site-header .nav-menu{grid-column:2!important;justify-self:center!important;margin:0!important;display:flex!important;flex-wrap:nowrap!important;gap:clamp(10px,1.6vw,29px)!important;}
 .site-header .nav-menu .nav-link{font-size:clamp(.94rem,1vw,1.08rem)!important;white-space:nowrap!important;}
 .site-header .nav-actions{grid-column:3!important;justify-self:end!important;white-space:nowrap!important;}
}
.site-header .brand-wordmark,.site-header .brand-wordmark *{font-size:clamp(1.55rem,2.2vw,2.55rem)!important;}
.hero-cinema{overflow:hidden!important;isolation:isolate!important;position:relative!important;background:#faf5ef!important;min-height:600px!important;height:clamp(600px,72svh,770px)!important;}
.hero-cinema:before{content:'';position:absolute;inset:0 0 0 36%;background:url('../img/pilates-hero-brightened.jpg') center center/cover no-repeat;filter:blur(22px) brightness(1.15) saturate(.85);transform:scale(1.07);z-index:0;opacity:.66;}
.hero-cinema-video{position:absolute!important;top:0!important;left:41%!important;width:59%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;z-index:1!important;}
.hero-cinema-shade{position:absolute!important;inset:0!important;z-index:2!important;background:linear-gradient(90deg,#faf5ef 0%,#faf5ef 23%,rgba(250,245,239,.97) 33%,rgba(250,245,239,.83) 42%,rgba(250,245,239,.30) 55%,rgba(250,245,239,0) 72%)!important;}
.hero-cinema-content{position:relative!important;z-index:3!important;max-width:1920px!important;min-height:100%!important;display:flex!important;align-items:center!important;padding-block:55px!important;}
.hero-cinema .hero-copy{max-width:560px!important;}
.hero-cinema-curve{display:none!important;}
@media(min-width:992px) and (max-width:1250px){.site-header .nav-editorial{grid-template-columns:minmax(210px,1fr) auto minmax(165px,1fr)!important;gap:14px!important;padding-inline:25px!important}.site-header .nav-actions{gap:10px!important}.site-header .nav-enrol{padding:12px 17px!important}}
@media(max-width:991.98px){
 .site-header .nav-editorial{display:flex!important;justify-content:space-between!important;}
 .site-header .navbar-brand{position:static!important;transform:none!important;margin-right:auto!important;}
 .site-header .navbar-collapse{position:absolute!important;top:100%!important;left:0!important;right:0!important;background:#fcf8f3!important;padding:12px 24px 22px!important;box-shadow:0 12px 24px rgba(20,54,56,.12)!important;}
 .site-header .navbar-collapse:not(.show){display:none!important;}
 .site-header .navbar-collapse.show{display:block!important;}
 .hero-cinema:before{left:25%!important;}
 .hero-cinema-video{left:29%!important;width:71%!important;object-fit:contain!important;}
}
@media(max-width:575.98px){
 .hero-cinema{height:690px!important;min-height:690px!important;}
 .hero-cinema:before{inset:32% 0 0!important;}
 .hero-cinema-video{top:32%!important;left:0!important;width:100%!important;height:68%!important;object-fit:contain!important;}
 .hero-cinema-shade{background:linear-gradient(180deg,#faf5ef 0%,#faf5ef 28%,rgba(250,245,239,.95) 43%,rgba(250,245,239,.28) 72%,transparent 100%)!important;}
 .hero-cinema-content{align-items:flex-start!important;padding-top:44px!important;}
}

/* 17 Oct: Three-link navigation and true landscape hero */
@media(min-width:992px){
 .site-header .nav-editorial{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:28px!important;max-width:none!important;padding-inline:clamp(24px,3.6vw,72px)!important}
 .site-header .navbar-brand{flex:0 0 auto!important;margin-right:auto!important;white-space:nowrap!important}
 .site-header .navbar-collapse{display:flex!important;flex:0 1 auto!important;align-items:center!important;justify-content:flex-end!important;gap:clamp(18px,2.4vw,44px)!important;min-width:0!important}
 .site-header .nav-menu{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:clamp(12px,1.8vw,30px)!important;margin:0!important;flex-wrap:nowrap!important}
 .site-header .nav-actions{display:flex!important;align-items:center!important;gap:clamp(14px,1.3vw,24px)!important;justify-self:auto!important;margin:0!important}
}
@media(min-width:992px) and (max-width:1199px){.site-header .brand-wordmark,.site-header .brand-wordmark *{font-size:1.65rem!important}.site-header .nav-menu .nav-link{font-size:.94rem!important}.site-header .nav-editorial{gap:14px!important;padding-inline:24px!important}.site-header .navbar-collapse{gap:15px!important}}
.hero-cinema:before{display:none!important}
.hero-cinema-video{inset:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}
.hero-cinema-shade{background:linear-gradient(90deg,#faf5ef 0%,rgba(250,245,239,.98) 20%,rgba(250,245,239,.91) 33%,rgba(250,245,239,.57) 45%,rgba(250,245,239,.08) 63%,transparent 77%)!important}
@media(min-width:992px){.hero-cinema .hero-copy{max-width:570px!important}}
@media(max-width:991.98px){.hero-cinema-video{inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:60% center!important}.hero-cinema-shade{background:linear-gradient(90deg,#faf5ef 0%,rgba(250,245,239,.98) 30%,rgba(250,245,239,.72) 58%,rgba(250,245,239,.18) 100%)!important}}
@media(max-width:575.98px){.hero-cinema-video{inset:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:58% center!important}.hero-cinema-shade{background:linear-gradient(180deg,#faf5ef 0%,rgba(250,245,239,.98) 25%,rgba(250,245,239,.88) 47%,rgba(250,245,239,.30) 75%,rgba(250,245,239,.05) 100%)!important}}

/* 17 Oct 2026 — desktop landscape hero: preserve the class, not the ceiling */
@media (min-width: 992px) {
  .hero-cinema {
    height: clamp(510px, 61vh, 650px) !important;
    min-height: 510px !important;
    max-height: 650px !important;
  }
  .hero-cinema-video {
    object-position: 50% 82% !important;
  }
  .hero-cinema-shade {
    background: linear-gradient(90deg,
      #faf5ef 0%,
      rgba(250,245,239,.98) 14%,
      rgba(250,245,239,.90) 23%,
      rgba(250,245,239,.58) 32%,
      rgba(250,245,239,.12) 43%,
      transparent 53%) !important;
  }
  .hero-cinema-content {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }
}
@media (min-width: 1600px) {
  .hero-cinema-video { object-position: 50% 90% !important; }
}

/* 17 October: taller desktop hero, foreground subject to the right, less intrusive fade */
@media (min-width: 992px) {
  .hero-cinema {
    height: clamp(700px, 79vh, 850px) !important;
    min-height: 700px !important;
    max-height: 850px !important;
  }
  .hero-cinema-video {
    left: 5% !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 73% !important;
  }
  .hero-cinema-shade {
    background: linear-gradient(90deg,
      #faf5ef 0%,
      rgba(250,245,239,.99) 16%,
      rgba(250,245,239,.94) 24%,
      rgba(250,245,239,.72) 30%,
      rgba(250,245,239,.28) 37%,
      rgba(250,245,239,0) 47%) !important;
  }
  .hero-cinema-content {padding-block: 58px !important;}
}
@media (min-width: 1600px) {
  .hero-cinema-video {left: 7% !important;object-position:50% 75% !important;}
}

/* Refined landscape hero: softer blend and more of the moving class visible */
@media (min-width: 992px) {
  .hero-cinema {height:clamp(650px,76vh,790px)!important;min-height:650px!important;max-height:790px!important;}
  .hero-cinema-video {left:9%!important;width:100%!important;object-fit:cover!important;object-position:50% 72%!important;}
  .hero-cinema-shade {background:linear-gradient(90deg,#faf5ef 0%,rgba(250,245,239,.99) 14%,rgba(250,245,239,.96) 23%,rgba(250,245,239,.75) 29%,rgba(250,245,239,.24) 38%,rgba(250,245,239,0) 49%)!important;}
}
@media (max-width:991.98px) and (min-width:576px){.hero-cinema-video{object-position:64% center!important}}

/* 2026-10-17: portrait split hero closely matched to approved reference. */
.hero-cinema.hero-portrait-split{background:#faf5ef!important;min-height:0!important;height:auto!important;max-height:none!important;overflow:visible!important;isolation:auto!important;padding:16px clamp(22px,1.1vw,28px) 18px!important}
.hero-portrait-split:before,.hero-portrait-split:after,.hero-portrait-split .hero-cinema-shade{display:none!important}
.hero-portrait-split .hero-cinema-content{width:100%!important;max-width:1600px!important;margin:0 auto!important;min-height:0!important;height:auto!important;display:grid!important;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr)!important;gap:clamp(32px,5vw,90px)!important;align-items:center!important;padding:0 clamp(18px,3.9vw,65px)!important}
.hero-portrait-split .hero-copy{width:100%!important;max-width:610px!important;margin:0!important;padding:36px 0!important}
.hero-portrait-split .hero-kicker{font-size:clamp(13px,1vw,16px)!important;letter-spacing:.2em!important;margin:0 0 32px!important}
.hero-portrait-split h1{font-size:clamp(60px,6.2vw,106px)!important;line-height:1.08!important;letter-spacing:-.055em!important;font-weight:400!important;margin:0 0 34px!important;white-space:nowrap}
.hero-portrait-split .lead-copy{font-size:clamp(18px,1.35vw,23px)!important;line-height:1.48!important;max-width:575px!important;margin:0 0 35px!important}
.hero-portrait-split .hero-actions{display:flex!important;gap:clamp(18px,3.7vw,65px)!important;flex-wrap:wrap!important;align-items:center!important}
.hero-portrait-split .hero-actions .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;border-radius:50px!important;background:#df8069!important;border:1px solid #df8069!important;color:white!important;box-shadow:none!important;text-transform:none!important;font-size:clamp(17px,1.4vw,23px)!important;font-weight:400!important;letter-spacing:0!important;padding:14px 26px!important;min-height:58px!important}
.hero-portrait-split .hero-video-frame{width:100%!important;aspect-ratio: 0.973!important;background:#f3e4d7!important;border-radius:24px!important;padding:clamp(18px,2.8vw,48px) clamp(32px,4.7vw,78px) clamp(18px,2.2vw,35px) clamp(12px,1.2vw,20px)!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important}
.hero-portrait-split .hero-portrait-video{display:block!important;position:static!important;inset:auto!important;transform:none!important;filter:none!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:0!important;background:#f3e4d7!important}
@media(max-width:1199px){.hero-portrait-split .hero-cinema-content{gap:34px!important;padding:0 20px!important}.hero-portrait-split h1{font-size:clamp(53px,6vw,76px)!important}.hero-portrait-split .hero-actions{gap:15px!important}.hero-portrait-split .hero-actions .btn{font-size:17px!important;padding:13px 20px!important}}
@media(max-width:850px){.hero-portrait-split .hero-cinema-content{grid-template-columns:1fr!important;gap:10px!important;max-width:650px!important;padding:0 10px!important}.hero-portrait-split .hero-copy{padding:36px 0 16px!important}.hero-portrait-split .hero-video-frame{max-width:580px!important;margin:0 auto 15px!important;aspect-ratio:1.02!important}.hero-portrait-split h1{font-size:clamp(50px,10vw,78px)!important}.hero-portrait-split .lead-copy{font-size:18px!important}.hero-portrait-split .hero-kicker{margin-bottom:20px!important}}
@media(max-width:480px){.hero-cinema.hero-portrait-split{padding:8px 12px 22px!important}.hero-portrait-split .hero-copy{padding:30px 0 12px!important}.hero-portrait-split h1{font-size:clamp(43px,11.1vw,59px)!important;white-space:normal!important;margin-bottom:24px!important}.hero-portrait-split .hero-kicker{font-size:11px!important;letter-spacing:.15em!important}.hero-portrait-split .lead-copy{font-size:16px!important}.hero-portrait-split .hero-actions{gap:10px!important}.hero-portrait-split .hero-actions .btn{font-size:15px!important;min-height:49px!important;padding:10px 15px!important}.hero-portrait-split .hero-video-frame{padding:15px 24px 15px 10px!important;border-radius:17px!important}}
/* Offset portrait-video hero: more movement, less heavy frame */
@media(min-width:851px){
.hero-cinema.hero-portrait-split{padding-top:34px!important;padding-bottom:34px!important}
.hero-portrait-split .hero-cinema-content{gap:clamp(34px,4.4vw,76px)!important}
.hero-portrait-split .hero-video-frame{width:calc(100% - 22px)!important;margin:36px 0 0 22px!important;aspect-ratio:.98!important;padding:0!important;overflow:visible!important;position:relative!important;display:block!important;border-radius:26px!important;background:#f3e4d7!important}
.hero-portrait-split .hero-portrait-video{position:absolute!important;top:-34px!important;left:-38px!important;width:calc(100% - 12px)!important;height:calc(100% - 20px)!important;object-fit:cover!important;border-radius:5px!important;box-shadow:0 14px 35px rgba(48,42,37,.10)!important;background:#f3e4d7!important}
}
.hero-portrait-split .hero-actions .hero-primary{background:#086879!important;border-color:#086879!important;color:#fff!important}
.hero-portrait-split .hero-actions .hero-primary:hover{background:#075464!important;border-color:#075464!important}
.hero-portrait-split .hero-actions .hero-secondary{background:#df8069!important;border-color:#df8069!important;color:#fff!important}
.hero-portrait-split .hero-actions .hero-secondary:hover{background:#c66d58!important;border-color:#c66d58!important}
@media(max-width:850px){
.hero-portrait-split .hero-video-frame{overflow:visible!important;position:relative!important;margin:22px auto 25px!important;padding:0!important;width:calc(100% - 22px)!important;aspect-ratio:.98!important;display:block!important}
.hero-portrait-split .hero-portrait-video{position:absolute!important;top:-15px!important;left:-16px!important;width:calc(100% - 12px)!important;height:calc(100% - 15px)!important;object-fit:cover!important;border-radius:4px!important;box-shadow:0 9px 25px rgba(48,42,37,.08)!important}
}

/* Page Pilates: October 2026 refined quick-links and venue cards */
.icon-experiment {background:#f8f5f1!important;padding:clamp(58px,6vw,88px) 0!important;}
.icon-experiment .quick-links-intro {max-width:760px!important;margin:0 auto 30px!important;}
.icon-experiment-grid {row-gap:18px!important;}
.icon-experiment-grid > div {display:flex!important;}
.icon-experiment .icon-feature {
 width:100%!important; min-height:185px!important; padding:27px 16px 23px!important;
 background:#fffcf9!important;border:1px solid rgba(109,88,73,.045)!important;
 border-radius:12px!important;box-shadow:0 8px 25px rgba(57,48,41,.045)!important;
 display:flex!important;justify-content:center!important;align-items:center!important;
 text-decoration:none!important;transition:transform .25s ease,box-shadow .25s ease!important;
}
.icon-experiment .icon-feature:hover,.icon-experiment .icon-feature:focus-visible {
 transform:translateY(-4px)!important;box-shadow:0 15px 28px rgba(57,48,41,.09)!important;
}
.icon-experiment .icon-feature-circle {width:78px!important;height:78px!important;box-shadow:0 5px 12px rgba(156,83,64,.13)!important;}
.icon-experiment .icon-feature-circle img {width:42px!important;height:42px!important;}
.icon-experiment .icon-feature-title {
 font-size:clamp(1.15rem,1.55vw,1.45rem)!important;
 line-height:1.25!important;margin-top:18px!important;text-decoration:none!important;
}
.icon-experiment .icon-feature-title::after {display:none!important;}
#venues .venue {border-radius:15px!important;background:#fffcf9!important;box-shadow:0 8px 23px rgba(40,47,43,.075)!important;overflow:hidden!important;}
#venues .venue:hover {box-shadow:0 17px 35px rgba(40,47,43,.11)!important;}
#venues .venue-photo {height:clamp(240px,22vw,330px)!important;object-fit:cover!important;}
#venues .venue-content {padding:27px 29px 31px!important;}
#venues .venue-content h3 {font-size:clamp(1.6rem,2.2vw,2rem)!important;margin-bottom:9px!important;}
#venues .venue-content p {font-size:1.05rem!important;line-height:1.55!important;margin-bottom:21px!important;}
#venues .venue-button {
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:46px!important;padding:10px 21px!important;border:1.5px solid #086879!important;
 border-radius:50px!important;color:#086879!important;background:transparent!important;
 text-decoration:none!important;font-size:1rem!important;font-weight:600!important;
 transition:background .22s ease,color .22s ease!important;
}
#venues .venue-button:hover,#venues .venue-button:focus-visible {background:#086879!important;color:white!important;}
@media(max-width:767.98px){
 .icon-experiment .icon-feature {min-height:160px!important;padding:20px 10px!important;}
 .icon-experiment .icon-feature-circle {width:65px!important;height:65px!important;}
 .icon-experiment .icon-feature-circle img {width:36px!important;height:36px!important;}
 .icon-experiment .icon-feature-title {font-size:1.15rem!important;}
 #venues .venue-content {padding:23px!important;}
 #venues .venue-photo {height:240px!important;}
}
@media(prefers-reduced-motion:reduce){
 .icon-experiment .icon-feature,#venues .venue-button {transition:none!important;}
}

/* Match the quick-links section to the hero background */
.icon-experiment {background:#faf5ef!important;}

/* Final readability and spacing sweep — 17 October 2026 */
/* Keep established hero, palette and imagery unchanged. */
:root { --pp-readable: #344c52; }
.section-heading .section-intro,
.section-heading .gallery-intro,
.icon-experiment .quick-links-intro,
.faq-heading > p,
.about-editorial-split .about-intro {
  font-size: clamp(1.05rem, 1.2vw, 1.16rem) !important;
  line-height: 1.75 !important;
  color: var(--pp-readable) !important;
}
#venues .venue-content { padding: 30px 31px 33px !important; }
#venues .venue-content h3 { margin-bottom: 11px !important; }
#venues .venue-content p { font-size: 1.125rem !important; line-height: 1.65 !important; margin-bottom: 23px !important; }
#venues .venue-button { font-size: 1.0625rem !important; min-height: 48px !important; padding: 11px 23px !important; }
.about-editorial-split .about-split-copy { max-width: 690px !important; }
.about-editorial-split .about-benefit h3 { font-size: clamp(1.15rem, 1.4vw, 1.35rem) !important; line-height: 1.3 !important; }
.about-editorial-split .about-benefit p { font-size: 1.0625rem !important; line-height: 1.7 !important; }
.about-editorial-split .btn { font-size: 1rem !important; min-height: 46px !important; }
.faq-section .faq-item summary { font-size: 1.08rem !important; line-height: 1.55 !important; }
.faq-section .faq-answer p { font-size: 1.025rem !important; line-height: 1.75 !important; }
.review-slide blockquote { line-height: 1.65 !important; }
.site-footer .footer-intro p,
.site-footer .footer-useful a,
.site-footer .footer-bottom { font-size: max(.94rem, 15px) !important; line-height: 1.65 !important; }
/* Internal pages: body copy and controls, not oversized headings. */
.inner-photo-hero .inner-lead,
.schedule-section .section-description,
.enrol-section p,
.enrol-notes p,
.levels-section .accordion-body,
.class-card p,
.contact-section p,
.utility-body p,
.utility-body li { font-size: max(1.05rem, 17px) !important; line-height: 1.72 !important; }
.levels-section .accordion-button,
.schedule-table td,
.schedule-table th { line-height: 1.55 !important; }
main .btn, main button[type="submit"] { min-height: 44px; }
@media (max-width: 767.98px) {
  #venues .venue-content { padding: 24px !important; }
  #venues .venue-content p { font-size: 1.0625rem !important; }
  .about-editorial-split .about-intro,
  .about-editorial-split .about-benefit p,
  .section-heading .section-intro,
  .section-heading .gallery-intro { font-size: 1.025rem !important; }
  .site-footer .footer-bottom { font-size: .9rem !important; }
}

/* Matching static internal-page heroes */
.inner-page-intro.inner-split-hero{background:#faf5ef!important;color:#294650!important;padding:35px 0 45px!important;min-height:0!important;overflow:hidden!important;}
.inner-split-hero:before,.inner-split-hero:after{display:none!important;}
.inner-split-hero .inner-split-container{display:grid!important;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)!important;gap:clamp(30px,5vw,90px)!important;align-items:center!important;position:relative!important;max-width:1240px!important;min-height:370px!important;}
.inner-split-hero .inner-split-container>.eyebrow,.inner-split-hero .inner-split-container>h1,.inner-split-hero .inner-split-container>.inner-lead,.inner-split-hero .inner-split-container>.btn{grid-column:1!important;position:relative!important;z-index:2!important;margin-left:0!important;text-shadow:none!important;}
.inner-split-hero .inner-split-container>.eyebrow{align-self:end!important;margin-bottom:-12px!important;color:#29545b!important;}
.inner-split-hero .inner-split-container>h1{font-size:clamp(2.7rem,4vw,3.6rem)!important;font-weight:400!important;line-height:1.12!important;color:#086879!important;margin-bottom:-10px!important;}
.inner-split-hero .inner-split-container>.inner-lead{font-size:clamp(1.08rem,1.4vw,1.3rem)!important;line-height:1.55!important;color:#314b52!important;max-width:510px!important;}
.inner-split-hero .inner-split-container>.btn{justify-self:start!important;align-self:start!important;margin-top:0!important;}
.inner-split-hero .inner-split-image-wrap{grid-column:2!important;grid-row:1 / span 4!important;position:relative!important;width:calc(100% - 28px)!important;margin:20px 0 0 0!important;isolation:isolate!important;}
.inner-split-hero .inner-split-image-wrap:before{content:''!important;position:absolute!important;inset:22px -25px -20px 27px!important;border-radius:23px!important;background:#f2e3d7!important;z-index:-1!important;}
.inner-split-hero .inner-split-image{display:block!important;width:100%!important;height:310px!important;object-fit:cover!important;object-position:center!important;border-radius:5px!important;box-shadow:0 12px 27px rgba(47,46,39,.08)!important;}
/* Timetable column headings */
#timetable .schedule-table thead,#timetable .schedule-table thead tr,#timetable .schedule-table thead th{background:#086879!important;color:#fff!important;}
#timetable .schedule-table thead th{font-size:1.16rem!important;font-weight:400!important;letter-spacing:.015em!important;line-height:1.35!important;padding:19px 15px!important;border:0!important;text-transform:none!important;}
@media(max-width:850px){.inner-split-hero .inner-split-container{grid-template-columns:1fr!important;gap:18px!important;min-height:0!important;padding-top:25px!important;padding-bottom:20px!important;}.inner-split-hero .inner-split-container>.eyebrow,.inner-split-hero .inner-split-container>h1,.inner-split-hero .inner-split-container>.inner-lead,.inner-split-hero .inner-split-container>.btn{grid-column:1!important;margin-bottom:0!important;}.inner-split-hero .inner-split-image-wrap{grid-column:1!important;grid-row:auto!important;width:calc(100% - 25px)!important;margin:12px 0 10px!important;}.inner-split-hero .inner-split-image{height:clamp(210px,53vw,320px)!important;}}

/* Editorial internal heroes and intentional section contrast */
.inner-page-intro.inner-split-hero{background:#faf5ef!important;padding:48px 0 60px!important;overflow:hidden!important;}
.inner-split-hero .inner-split-container{display:grid!important;grid-template-columns:minmax(0, .94fr) minmax(0,1.06fr)!important;gap:clamp(45px,5.3vw,90px)!important;min-height:0!important;align-items:center!important;max-width:1360px!important;}
.inner-split-hero .inner-hero-copy{grid-column:1!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;text-align:left!important;max-width:580px!important;}
.inner-split-hero .inner-hero-copy .eyebrow{color:#355a62!important;font-size:.92rem!important;letter-spacing:.2em!important;font-weight:500!important;margin:0 0 21px!important;}
.inner-split-hero .inner-hero-copy h1{font-size:clamp(3rem,4.35vw,4.65rem)!important;font-weight:400!important;letter-spacing:-.035em!important;line-height:1.05!important;text-align:left!important;margin:0 0 23px!important;color:#086879!important;max-width:590px!important;}
.inner-split-hero .inner-hero-copy h1 span{color:#df8069!important;}
.inner-split-hero .inner-hero-copy .inner-lead{font-size:clamp(1.08rem,1.35vw,1.24rem)!important;line-height:1.64!important;color:#344c52!important;text-align:left!important;max-width:515px!important;margin:0 0 26px!important;}
.inner-split-hero .inner-hero-copy .btn{font-size:1.03rem!important;min-height:48px!important;padding:12px 25px!important;border-radius:50px!important;margin:0!important;}
.inner-split-hero .inner-split-image-wrap{grid-column:2!important;grid-row:1!important;position:relative!important;width:calc(100% - 25px)!important;margin:0 0 0 0!important;isolation:isolate!important;}
.inner-split-hero .inner-split-image-wrap:before{inset:-16px -25px -23px 30px!important;background:#f2e3d7!important;border-radius:24px!important;}
.inner-split-hero .inner-split-image{height:clamp(265px,25vw,345px)!important;object-fit:cover!important;border-radius:7px!important;}
/* Deliberate cream/white separation: the quick links should not disappear into the hero */
.icon-experiment{background:#fffdfa!important;border-top:1px solid #f0e8e0!important;border-bottom:1px solid #f0e8e0!important;}
.icon-experiment .icon-feature{background:#fff!important;border:1px solid #f0e7e0!important;box-shadow:0 8px 24px rgba(54,49,44,.06)!important;}
/* Distinct surfaces across adjacent content sections */
#venues{background:#fff!important;}
#gallery{background:#f6f4f1!important;}
@media(max-width:850px){
 .inner-page-intro.inner-split-hero{padding:35px 0 42px!important;}
 .inner-split-hero .inner-split-container{grid-template-columns:1fr!important;gap:35px!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important;}
 .inner-split-hero .inner-hero-copy{grid-column:1!important;grid-row:1!important;}
 .inner-split-hero .inner-hero-copy h1{font-size:clamp(2.7rem,8.8vw,3.7rem)!important;}
 .inner-split-hero .inner-split-image-wrap{grid-column:1!important;grid-row:2!important;width:calc(100% - 28px)!important;margin:0!important;}
 .inner-split-hero .inner-split-image{height:clamp(220px,50vw,340px)!important;}
}

/* Final tidy-up: remove decorative swirls throughout, retaining only
   the gentle artwork in the homepage About Jaime section. */
.hero-botanical,
.about-botanical,
.inner-hero-decoration,
.hero-cinema-curve {display:none!important;}
.icon-experiment::before,.icon-experiment::after,
#venues::before,.faq-section::before,
.enrol-section::before,.enrol-section::after,
.inner-page-intro::before,.inner-page-intro::after {
  content:none!important;display:none!important;
}
/* Jaime's editorial artwork remains intentionally untouched. */


/* October 2026: brighter homepage hero and contrasting quick links */
.hero-cinema.hero-portrait-split {
  background:#FCFAF7!important;position:relative!important;isolation:isolate!important;
  padding-top:24px!important;padding-bottom:44px!important;overflow:hidden!important;
}
.hero-portrait-split .hero-cinema-content {
  max-width:1710px!important;gap:clamp(34px,4.2vw,72px)!important;
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important;
  padding-left:clamp(24px,4.5vw,78px)!important;
  padding-right:clamp(24px,2.7vw,47px)!important;
  position:relative!important;z-index:1!important;
}
.hero-portrait-split .hero-copy {position:relative!important;z-index:2!important;}
.hero-portrait-split .hero-video-frame {
  width:calc(100% - 42px)!important;margin:39px 0 0 25px!important;
  aspect-ratio:1.01!important;border-radius:28px!important;
  background:#F3E2D5!important;
}
.hero-portrait-split .hero-portrait-video {
  top:-39px!important;left:-35px!important;width:calc(100% + 3px)!important;
  height:calc(100% - 10px)!important;object-fit:cover!important;
  border-radius:6px!important;box-shadow:0 18px 42px rgba(41,50,49,.15)!important;
}
/* Restrained abstract accent: no botanical motifs */
.hero-cinema.hero-portrait-split::before {
  content:''!important;display:block!important;position:absolute!important;z-index:0!important;
  left:-110px!important;bottom:-165px!important;width:620px!important;height:390px!important;
  background:radial-gradient(ellipse at 24% 68%,rgba(243,226,213,.26),rgba(243,226,213,0) 72%)!important;
  pointer-events:none!important;
}
.hero-cinema.hero-portrait-split::after {
  content:''!important;display:block!important;position:absolute!important;z-index:0!important;
  left:-125px!important;bottom:-100px!important;width:720px!important;height:255px!important;
  background:url('img/hero-fine-line.svg') left bottom / contain no-repeat!important;
  opacity:.42!important;pointer-events:none!important;
}
.icon-experiment {background:#F4F6F5!important;border-top:1px solid #E7EBE8!important;border-bottom:1px solid #E7EBE8!important;}
.icon-experiment .icon-feature {background:#FFFDFC!important;border-color:#E8E7E3!important;}
.icon-experiment .icon-feature-title {text-decoration:none!important;border-bottom:0!important;}
.icon-experiment .icon-feature-title::after {display:none!important;}
@media(max-width:850px){
 .hero-portrait-split .hero-cinema-content{grid-template-columns:1fr!important;padding:0 16px!important;gap:12px!important;}
 .hero-portrait-split .hero-video-frame{width:calc(100% - 35px)!important;margin:29px auto 20px!important;aspect-ratio:1.01!important;}
 .hero-portrait-split .hero-portrait-video{top:-22px!important;left:-18px!important;width:calc(100% + 1px)!important;height:calc(100% - 5px)!important;}
 .hero-cinema.hero-portrait-split::after{width:400px!important;left:-140px!important;opacity:.2!important;}
}

/* Intentional hero image / peach frame offset; restrained visible line */
@media(min-width:851px){
.hero-cinema.hero-portrait-split{overflow:hidden!important;padding-top:26px!important;padding-bottom:58px!important;}
.hero-portrait-split .hero-video-frame{position:relative!important;display:block!important;overflow:visible!important;width:calc(100% - 42px)!important;aspect-ratio:1.01!important;margin:35px 0 0 32px!important;padding:0!important;background:#F3E2D5!important;border-radius:28px!important;box-shadow:none!important;}
.hero-portrait-split .hero-portrait-video{position:absolute!important;display:block!important;top:-35px!important;left:-32px!important;width:calc(100% - 12px)!important;height:calc(100% - 18px)!important;object-fit:cover!important;object-position:center!important;border-radius:5px!important;box-shadow:0 19px 42px rgba(40,48,47,.13)!important;}
}
.hero-cinema.hero-portrait-split::before{display:block!important;content:""!important;left:-110px!important;bottom:-125px!important;width:570px!important;height:320px!important;background:radial-gradient(ellipse at 24% 68%,rgba(226,196,177,.14),rgba(243,226,213,0) 73%)!important;opacity:1!important;z-index:0!important;}
.hero-cinema.hero-portrait-split::after{display:block!important;content:""!important;left:-90px!important;bottom:-34px!important;width:720px!important;height:240px!important;background:url('../img/hero-fine-line.svg') left bottom/contain no-repeat!important;opacity:.58!important;z-index:0!important;}
@media(max-width:850px){.hero-cinema.hero-portrait-split::before{width:380px!important;height:240px!important;bottom:-100px!important;}.hero-cinema.hero-portrait-split::after{width:440px!important;height:150px!important;left:-80px!important;bottom:-30px!important;opacity:.3!important;}}

/* Hero abstract movement: same line-and-wash artwork language as About Jaime */
.hero-cinema.hero-portrait-split {position:relative!important;isolation:isolate!important;overflow:hidden!important;}
.hero-cinema.hero-portrait-split::before {
 content:""!important;display:block!important;position:absolute!important;
 inset:auto auto 0 0!important;width:min(58%,850px)!important;height:78%!important;
 background:url('../img/hero-about-style-art.svg') left bottom/100% 100% no-repeat!important;
 opacity:.62!important;z-index:0!important;pointer-events:none!important;
}
.hero-cinema.hero-portrait-split::after {display:none!important;content:none!important;}
.hero-cinema.hero-portrait-split .hero-cinema-content {position:relative!important;z-index:1!important;}
@media(max-width:850px){
 .hero-cinema.hero-portrait-split::before {width:100%!important;height:47%!important;opacity:.42!important;}
}

/* Visible hero movement artwork: explicit layer avoids overridden pseudo-elements */
.hero-cinema.hero-portrait-split {position:relative!important;isolation:isolate!important;overflow:hidden!important;}
.hero-cinema.hero-portrait-split::before,.hero-cinema.hero-portrait-split::after {content:none!important;display:none!important;}
.hero-cinema.hero-portrait-split .hero-artwork {display:block!important;position:absolute!important;left:0!important;bottom:0!important;width:min(51vw,780px)!important;height:260px!important;background:url('../img/hero-artwork-visible.svg') left bottom/100% 100% no-repeat!important;opacity:.72!important;z-index:1!important;pointer-events:none!important;}
.hero-cinema.hero-portrait-split .hero-cinema-content {position:relative!important;z-index:2!important;}
@media(max-width:850px){.hero-cinema.hero-portrait-split .hero-artwork{width:95%!important;height:145px!important;opacity:.4!important;}}

/* Seamless fade for homepage hero artwork: no abrupt right edge */
.hero-cinema.hero-portrait-split .hero-artwork {
 width:min(83vw,1300px)!important;
 height:260px!important;
 background-image:url('../img/hero-artwork-visible.svg')!important;
 background-size:100% 100%!important;
}
@media(max-width:850px){.hero-cinema.hero-portrait-split .hero-artwork{width:110%!important;height:145px!important;opacity:.4!important;}}

/* Final hero detail: peach backing as an offset silhouette, not a large card */
@media (min-width:851px) {
 .hero-cinema.hero-portrait-split .hero-video-frame {
   position:relative!important;display:block!important;overflow:visible!important;
   width:calc(100% - 52px)!important;aspect-ratio:1.01!important;
   margin:0 0 38px 0!important;padding:0!important;
   border-radius:0!important;background:transparent!important;box-shadow:none!important;
 }
 .hero-cinema.hero-portrait-split .hero-video-frame::before {
   content:""!important;display:block!important;position:absolute!important;
   top:30px!important;left:34px!important;width:100%!important;height:100%!important;
   border-radius:9px!important;background:#F3E2D5!important;
   z-index:0!important;box-shadow:none!important;
 }
 .hero-cinema.hero-portrait-split .hero-portrait-video {
   position:relative!important;top:0!important;left:0!important;
   display:block!important;width:100%!important;height:100%!important;
   aspect-ratio:1.01!important;object-fit:cover!important;
   border-radius:6px!important;z-index:1!important;
   box-shadow:0 17px 32px rgba(34,46,45,.12)!important;
 }
}
.hero-cinema.hero-portrait-split .hero-artwork {
 width:min(77vw,1220px)!important;height:230px!important;
 background-image:url('../img/hero-artwork-visible.svg')!important;
 background-size:100% 100%!important;opacity:.65!important;
}
@media(max-width:850px) {
 .hero-cinema.hero-portrait-split .hero-video-frame {position:relative!important;overflow:visible!important;background:transparent!important;border-radius:0!important;padding:0!important;}
 .hero-cinema.hero-portrait-split .hero-video-frame::before {content:""!important;display:block!important;position:absolute!important;inset:16px -16px -16px 16px!important;border-radius:7px!important;background:#F3E2D5!important;z-index:0!important;}
 .hero-cinema.hero-portrait-split .hero-portrait-video {position:relative!important;top:0!important;left:0!important;width:100%!important;height:100%!important;border-radius:5px!important;z-index:1!important;box-shadow:0 12px 26px rgba(34,46,45,.11)!important;}
 .hero-cinema.hero-portrait-split .hero-artwork {width:110%!important;height:140px!important;opacity:.35!important;}
}

/* Final 17 Oct refinement: curves end after Contact Jaime, before video */
@media (min-width:851px) {
  .hero-cinema.hero-portrait-split .hero-artwork {
    width:min(43vw,700px)!important;
    height:205px!important;
    opacity:.57!important;
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 30%,rgba(0,0,0,.78) 52%,transparent 91%)!important;
    mask-image:linear-gradient(to right,#000 0%,#000 30%,rgba(0,0,0,.78) 52%,transparent 91%)!important;
  }
  .hero-cinema.hero-portrait-split .hero-video-frame::before {
    top:24px!important;
    left:24px!important;
    border-radius:7px!important;
  }
}
@media(max-width:850px){
 .hero-cinema.hero-portrait-split .hero-artwork {
    width:min(83vw,550px)!important;
    -webkit-mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.6) 45%,transparent 92%)!important;
    mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.6) 45%,transparent 92%)!important;
 }
}

/* Editorial hero concept: single grey-green offset plane, 18 Oct 2026 */
.hero-cinema.hero-portrait-split .hero-artwork{display:none!important;}
.hero-cinema.hero-portrait-split{background:#FCFAF7!important;}
@media(min-width:851px){
  .hero-cinema.hero-portrait-split{padding-top:24px!important;padding-bottom:56px!important;}
  .hero-cinema.hero-portrait-split .hero-cinema-content{align-items:center!important;grid-template-columns:minmax(0,.96fr) minmax(0,1.08fr)!important;gap:clamp(44px,5.4vw,96px)!important;}
  .hero-cinema.hero-portrait-split .hero-video-frame{
    width:calc(100% - 43px)!important;aspect-ratio:1.10!important;
    margin:0 0 38px 0!important;padding:0!important;
    position:relative!important;display:block!important;overflow:visible!important;
    background:transparent!important;border-radius:0!important;
  }
  .hero-cinema.hero-portrait-split .hero-video-frame::before{
    content:""!important;display:block!important;position:absolute!important;
    top:38px!important;left:40px!important;width:100%!important;height:100%!important;
    background:#E7EFEC!important;border-radius:5px!important;box-shadow:none!important;z-index:0!important;
  }
  .hero-cinema.hero-portrait-split .hero-portrait-video{
    position:relative!important;top:0!important;left:0!important;
    display:block!important;width:100%!important;height:100%!important;
    aspect-ratio:1.10!important;object-fit:cover!important;object-position:center!important;
    border-radius:5px!important;z-index:1!important;
    box-shadow:0 18px 35px rgba(34,48,46,.14)!important;
  }
}
@media(max-width:850px){
  .hero-cinema.hero-portrait-split .hero-video-frame{
    position:relative!important;display:block!important;overflow:visible!important;
    background:transparent!important;border-radius:0!important;padding:0!important;
    width:calc(100% - 25px)!important;aspect-ratio:1.08!important;margin:18px 0 32px 0!important;
  }
  .hero-cinema.hero-portrait-split .hero-video-frame::before{
    content:""!important;display:block!important;position:absolute!important;
    inset:18px -18px -18px 18px!important;background:#E7EFEC!important;
    border-radius:5px!important;z-index:0!important;
  }
  .hero-cinema.hero-portrait-split .hero-portrait-video{
    position:relative!important;top:0!important;left:0!important;width:100%!important;height:100%!important;
    aspect-ratio:1.08!important;object-fit:cover!important;border-radius:5px!important;
    z-index:1!important;box-shadow:0 12px 28px rgba(34,48,46,.13)!important;
  }
}

/* Final hero: two independent staggered planes, inspired by approved mock-up */
@media (min-width:851px) {
 .hero-cinema.hero-portrait-split .hero-video-frame {
   margin:50px 0 34px 45px!important;
   width:calc(100% - 85px)!important;
   isolation:isolate!important;
 }
 .hero-cinema.hero-portrait-split .hero-video-frame::before,
 .hero-cinema.hero-portrait-split .hero-video-frame::after {
   content:""!important;display:block!important;position:absolute!important;
   width:100%!important;height:100%!important;border-radius:2px!important;
   box-shadow:none!important;pointer-events:none!important;
 }
 /* Upper-left panel is intentionally lighter and slightly recessed. */
 .hero-cinema.hero-portrait-split .hero-video-frame::before {
   top:-50px!important;left:-72px!important;right:auto!important;bottom:auto!important;
   background:#F0F4F2!important;z-index:0!important;
 }
 /* Lower-right panel creates the second stepped plane. */
 .hero-cinema.hero-portrait-split .hero-video-frame::after {
   top:28px!important;left:35px!important;right:auto!important;bottom:auto!important;
   background:#E5EEEB!important;z-index:1!important;
 }
 .hero-cinema.hero-portrait-split .hero-portrait-video {
   position:relative!important;z-index:2!important;border-radius:3px!important;
   box-shadow:0 14px 32px rgba(37,52,50,.12)!important;
 }
}
@media (max-width:850px) {
 .hero-cinema.hero-portrait-split .hero-video-frame {isolation:isolate!important;margin:30px 0 28px 18px!important;width:calc(100% - 48px)!important;}
 .hero-cinema.hero-portrait-split .hero-video-frame::before {
   content:""!important;display:block!important;position:absolute!important;
   inset:auto!important;top:-22px!important;left:-18px!important;width:100%!important;height:100%!important;
   background:#F0F4F2!important;z-index:0!important;border-radius:2px!important;
 }
 .hero-cinema.hero-portrait-split .hero-video-frame::after {
   content:""!important;display:block!important;position:absolute!important;
   top:17px!important;left:20px!important;width:100%!important;height:100%!important;
   background:#E5EEEB!important;z-index:1!important;border-radius:2px!important;
 }
 .hero-cinema.hero-portrait-split .hero-portrait-video {position:relative!important;z-index:2!important;border-radius:3px!important;}
}

/* Exact stepped-panel geometry from client's reference: equally spaced layers */
@media (min-width:851px) {
  .hero-cinema.hero-portrait-split .hero-video-frame {
    margin:50px 0 52px 55px!important;
    width:calc(100% - 128px)!important;
  }
  .hero-cinema.hero-portrait-split .hero-video-frame::before {
    top:-50px!important;left:-72px!important;
    width:100%!important;height:100%!important;
    background:#F0F4F2!important;
  }
  .hero-cinema.hero-portrait-split .hero-video-frame::after {
    top:50px!important;left:72px!important;
    width:100%!important;height:100%!important;
    background:#E5EEEB!important;
  }
}
@media (max-width:850px) {
  .hero-cinema.hero-portrait-split .hero-video-frame {
    margin:22px 0 30px 18px!important;width:calc(100% - 45px)!important;
  }
  .hero-cinema.hero-portrait-split .hero-video-frame::before {
    top:-18px!important;left:-20px!important;width:100%!important;height:100%!important;
  }
  .hero-cinema.hero-portrait-split .hero-video-frame::after {
    top:18px!important;left:20px!important;width:100%!important;height:100%!important;
  }
}

/* Final homepage polish — 18 October 2026. Preserve established fonts and hero. */
#venues .venue-content {padding:34px 34px 37px!important;}
#venues .venue-content h3 {font-size:clamp(1.75rem,2.3vw,2.15rem)!important;}
#venues .venue-button,
#venues .venue-button:link,
#venues .venue-button:visited {
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 background:#086879!important;color:#fff!important;border:2px solid #086879!important;
 border-radius:50px!important;min-height:54px!important;padding:13px 27px!important;
 font-size:1.0625rem!important;font-weight:600!important;line-height:1.35!important;
 text-decoration:none!important;box-shadow:0 6px 16px rgba(8,104,121,.13)!important;
 transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
#venues .venue-button:hover,#venues .venue-button:focus-visible {
 background:#075362!important;color:#fff!important;border-color:#075362!important;
 transform:translateY(-2px)!important;box-shadow:0 9px 19px rgba(8,104,121,.2)!important;
}
#venues .venue-button:focus-visible,.icon-experiment .icon-feature:focus-visible,
.contact-section .btn:focus-visible {outline:3px solid #d77d69!important;outline-offset:4px!important;}
/* Better definition for clickable shortcut cards. */
.icon-experiment .icon-feature {border:1px solid #e6e9e6!important;box-shadow:0 7px 22px rgba(33,60,57,.075)!important;}
.icon-experiment .icon-feature:hover,.icon-experiment .icon-feature:focus-visible {box-shadow:0 13px 29px rgba(33,60,57,.13)!important;}
/* Darker supporting copy, while preserving the chosen heading faces and weights. */
.icon-experiment .quick-links-intro p,#venues .section-heading p,
#venues .venue-content p,.pilates-gallery .gallery-intro,
.faq-heading p,.faq-section .faq-answer p {color:#344b50!important;}
.faq-section .faq-item summary {color:#146b72!important;}
.faq-section .faq-answer p {font-size:1.0625rem!important;line-height:1.75!important;}
/* Shorter testimonial panel; maintain comfortably readable quote sizes. */
.testimonials.section-space {padding-top:54px!important;padding-bottom:54px!important;}
.testimonials .review-slide blockquote {font-size:clamp(1.125rem,1.55vw,1.45rem)!important;line-height:1.6!important;}
/* Stronger final invitation with a clear change of section tone. */
.contact-section {background:#eaf1ee!important;padding:76px 20px 82px!important;}
.contact-section p {color:#344b50!important;font-size:1.1rem!important;line-height:1.7!important;}
.contact-section .btn {display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:55px!important;padding:14px 30px!important;font-size:1.075rem!important;
 border-radius:50px!important;box-shadow:0 8px 20px rgba(181,89,67,.15)!important;}
@media(max-width:767.98px){
 #venues .venue-content {padding:25px 24px 30px!important;}
 #venues .venue-button {width:100%!important;min-height:52px!important;}
 .testimonials.section-space {padding-top:48px!important;padding-bottom:48px!important;}
 .contact-section {padding:59px 18px 66px!important;}
}
@media(prefers-reduced-motion:reduce){#venues .venue-button{transition:none!important;transform:none!important;}}

/* Final review readability and section rhythm — 18 October 2026.
   Keep the approved heading typography, palette and hero unchanged. */
#pageReviews .review-slide blockquote,
.testimonials #pageReviews .review-slide blockquote {
  font-size:clamp(1.5rem, 2.05vw, 2rem)!important;
  line-height:1.5!important;
  max-width:760px;
  margin-inline:auto;
  text-wrap:pretty;
}
#pageReviews .review-slide figcaption {font-size:1rem!important;line-height:1.5!important;margin-top:24px!important;}
#pageReviews .review-slide figcaption span {font-size:.9rem!important;}
#pageReviews .review-slide {min-height:330px!important;padding:32px clamp(58px,8vw,95px) 36px!important;}
#pageReviews .review-track {min-height:330px!important;}
.testimonials.section-space {padding-top:76px!important;padding-bottom:74px!important;}
.testimonials .section-heading {margin-bottom:16px!important;}
.testimonials .review-progress {margin-top:8px!important;}
/* Regularise transitions between content blocks without introducing blank bands. */
.icon-experiment {padding-top:72px!important;padding-bottom:78px!important;}
#venues.section-space {padding-top:82px!important;padding-bottom:86px!important;}
#gallery.section-space {padding-top:80px!important;padding-bottom:84px!important;}
.faq-section {padding-top:82px!important;padding-bottom:86px!important;}
.contact-section {padding-top:77px!important;padding-bottom:83px!important;}
@media(max-width:767.98px) {
  #pageReviews .review-slide blockquote,.testimonials #pageReviews .review-slide blockquote {
    font-size:clamp(1.35rem,4.7vw,1.65rem)!important;line-height:1.5!important;
  }
  #pageReviews .review-slide {min-height:330px!important;padding:28px 43px 32px!important;}
  #pageReviews .review-track {min-height:330px!important;}
  .testimonials.section-space {padding-top:58px!important;padding-bottom:60px!important;}
  .icon-experiment {padding-top:56px!important;padding-bottom:62px!important;}
  #venues.section-space,#gallery.section-space,.faq-section {padding-top:62px!important;padding-bottom:66px!important;}
  .contact-section {padding-top:62px!important;padding-bottom:68px!important;}
}

/* October 2026 finishing pass: venue personality, gallery rhythm, readable text. */
#venues .venue {overflow:hidden;box-shadow:0 12px 30px rgba(25,64,67,.09);transition:transform .2s ease,box-shadow .2s ease;}
#venues .venue:hover {transform:translateY(-3px);box-shadow:0 17px 35px rgba(25,64,67,.14);}
#venues .venue-content {padding:36px 37px 40px!important;}
#venues .venue-content h3 {font-size:clamp(1.9rem,2.5vw,2.35rem)!important;line-height:1.2!important;margin-bottom:13px!important;}
#venues .venue-content p {font-size:1.075rem!important;line-height:1.65!important;margin-bottom:23px!important;}
#venues .venue-button {min-height:56px!important;padding:14px 29px!important;font-size:1.0625rem!important;}
.pilates-gallery .gallery-intro,#venues .section-intro,.icon-experiment .quick-links-intro p,.faq-heading p {font-size:clamp(1rem,1.15vw,1.125rem)!important;line-height:1.7!important;}
.pilates-gallery-grid {gap:16px!important;}
.pilates-gallery-grid .pilates-gallery-item {overflow:hidden;border-radius:7px;}
#gallery.section-space {padding-top:76px!important;padding-bottom:66px!important;}
.full-bleed-moment--photo-only {margin-top:0!important;}
/* Keep the enlarged review text, trim excess teal surrounding it. */
.testimonials.section-space {padding-top:58px!important;padding-bottom:58px!important;}
.testimonials .section-heading {margin-bottom:10px!important;}
#pageReviews .review-slide {padding-top:20px!important;padding-bottom:22px!important;min-height:310px!important;}
#pageReviews .review-track {min-height:310px!important;}
#pageReviews .review-slide blockquote {font-size:clamp(1.5rem,2.05vw,2rem)!important;}
/* Final invitation: generous action target and distinct soft teal backdrop. */
.contact-section {background:#eaf1ee!important;padding:83px 20px 88px!important;}
.contact-section .btn {font-size:1.125rem!important;min-height:60px!important;padding:16px 34px!important;border-radius:50px!important;}
.faq-section .faq-item summary {font-size:1.0625rem!important;line-height:1.55!important;}
.faq-section .faq-answer p {font-size:1.0625rem!important;}
.site-footer p,.site-footer a,.site-footer .footer-bottom {font-size:max(.95rem,15px)!important;line-height:1.6!important;}
@media(max-width:767.98px){
 #venues .venue-content {padding:27px 25px 31px!important;}
 #venues .venue-content h3 {font-size:1.95rem!important;}
 #venues .venue-button {width:100%!important;}
 .pilates-gallery-grid {gap:10px!important;}
 .testimonials.section-space {padding-top:48px!important;padding-bottom:48px!important;}
 #pageReviews .review-slide {min-height:330px!important;padding:24px 42px 27px!important;}
 #pageReviews .review-track {min-height:330px!important;}
 .contact-section {padding:66px 18px 71px!important;}
}
@media(prefers-reduced-motion:reduce){#venues .venue{transition:none!important;transform:none!important;}}

/* Classes page: organic editorial photo hero, intentionally distinct from video homepage */
.inner-page-intro.organic-class-hero{background:#faf5ef!important;padding:0!important;overflow:hidden!important;min-height:0!important;}
.organic-class-hero .organic-class-container{display:grid!important;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)!important;max-width:1500px!important;min-height:440px!important;gap:clamp(32px,4vw,72px)!important;align-items:center!important;padding:0 32px 0 0!important;}
.organic-class-hero .organic-class-photo{grid-column:1!important;grid-row:1!important;position:relative!important;overflow:hidden!important;height:440px!important;width:100%!important;isolation:isolate!important;}
.organic-class-hero .organic-class-photo>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;}
.organic-class-hero .organic-class-mask{position:absolute;top:-1px;bottom:-1px;right:-2px;width:31%;height:calc(100% + 2px);pointer-events:none;}
.organic-class-hero .organic-class-line{position:absolute;right:6%;bottom:0;width:19%;height:73%;pointer-events:none;}
.organic-class-hero .organic-class-copy{grid-column:2!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;max-width:570px!important;padding:45px 20px 45px 0!important;text-align:left!important;}
.organic-class-hero .organic-class-copy .eyebrow{font-size:.84rem!important;letter-spacing:.19em!important;color:#27525b!important;margin:0 0 22px!important;}
.organic-class-hero .organic-class-copy h1{font-size:clamp(2.7rem,3.7vw,4rem)!important;line-height:1.08!important;font-weight:400!important;color:#086879!important;margin:0 0 20px!important;}
.organic-class-hero .organic-class-copy h1 span{color:#df8069!important;}
.organic-class-hero .organic-class-copy .inner-lead{font-size:clamp(1.05rem,1.25vw,1.2rem)!important;line-height:1.65!important;color:#314b52!important;margin:0 0 25px!important;text-align:left!important;}
.organic-class-hero .organic-class-copy .btn{margin:0!important;font-size:1rem!important;min-height:48px!important;border-radius:50px!important;padding:12px 24px!important;}
@media(max-width:800px){.organic-class-hero .organic-class-container{grid-template-columns:1fr!important;gap:0!important;padding:0!important;}.organic-class-hero .organic-class-photo{grid-column:1!important;grid-row:1!important;height:clamp(240px,54vw,380px)!important;}.organic-class-hero .organic-class-copy{grid-column:1!important;grid-row:2!important;padding:30px 26px 45px!important;max-width:680px!important;}.organic-class-hero .organic-class-mask{width:24%;}.organic-class-hero .organic-class-copy h1{font-size:clamp(2.5rem,8vw,3.5rem)!important;}}

/* Temporary side-by-side-in-scroll homepage hero comparison */
.hero-compare-simple{position:relative;display:grid;grid-template-columns:46% 54%;min-height:570px;background:#faf7f3;isolation:isolate;overflow:hidden;}
.hero-compare-copy{z-index:2;align-self:center;max-width:680px;padding:70px 25px 70px max(6vw,calc((100vw - 1500px)/2));}
.hero-compare-kicker{font-family:inherit;font-size:14px;letter-spacing:.21em;text-transform:uppercase;color:#244e59;margin-bottom:26px;}
.hero-compare-copy h2{font-family:inherit;font-weight:400;letter-spacing:-.055em;line-height:1.03;font-size:clamp(3.8rem,5.3vw,6.6rem);color:#086879;margin:0 0 32px;white-space:nowrap;}
.hero-compare-copy h2 span{color:#e1826d;}
.hero-compare-copy>p:not(.hero-compare-kicker){font-size:clamp(17px,1.3vw,21px);line-height:1.65;color:#304b53;max-width:540px;margin-bottom:30px;}
.hero-compare-actions{display:flex;flex-wrap:wrap;gap:16px;}
.hero-compare-actions .btn{border-radius:50px;padding:13px 24px;font-size:16px;}
.hero-compare-photo{position:relative;min-height:570px;background:url('../img/pilates-class.jpg') center 48%/cover no-repeat;}
.hero-compare-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#faf7f3 0%,rgba(250,247,243,.9) 7%,rgba(250,247,243,.38) 23%,transparent 45%);}
.hero-comparison-divider{text-align:center;background:#e7f0ef;color:#126c77;padding:13px 20px;font-size:14px;letter-spacing:.12em;text-transform:uppercase;}
@media(max-width:900px){.hero-compare-simple{grid-template-columns:1fr;}.hero-compare-copy{padding:52px 7% 35px;max-width:none;}.hero-compare-copy h2{font-size:clamp(3.4rem,10vw,5.5rem);}.hero-compare-photo{min-height:350px;}.hero-compare-photo:before{background:linear-gradient(180deg,#faf7f3,transparent 30%);}}
@media(max-width:480px){.hero-compare-copy h2{font-size:clamp(3rem,12vw,4.5rem);white-space:normal;}.hero-compare-photo{min-height:270px;}}

/* October 2026: FAQs and fade-only introduction */
.faq-section .faq-list{border:0!important;display:grid;gap:12px;}
.faq-section .faq-item{background:#fff!important;border:1px solid #e0e8e6!important;border-radius:10px;overflow:hidden;box-shadow:0 3px 10px rgba(25,58,59,.035);}
.faq-section .faq-item summary{font-family:Inter,Arial,sans-serif!important;font-weight:500!important;font-size:clamp(1.18rem,1.5vw,1.4rem)!important;line-height:1.45!important;color:#086c78!important;padding:21px 25px!important;}
.faq-section .faq-item summary:hover{background:#fbf8f5;}
.faq-section .faq-item .faq-plus{width:25px;height:25px;flex:0 0 25px;}
.faq-section .faq-item .faq-plus:before,.faq-section .faq-item .faq-plus:after{background:#df806c!important;left:4px;right:4px;height:2.5px;top:11px;border-radius:2px;}
.faq-section .faq-answer{padding:0 25px 23px!important;}
.faq-section .faq-answer p{color:#344b50!important;font-size:1.075rem!important;line-height:1.75!important;}
.js-motion .reveal-fade-only:not(.is-revealed){opacity:0!important;transform:none!important;}
.js-motion .reveal-fade-only.is-revealed{opacity:1!important;transform:none!important;}
.js-motion .reveal-fade-only{transition:opacity .8s ease!important;}
@media(prefers-reduced-motion:reduce){.js-motion .reveal-fade-only{opacity:1!important;transition:none!important;}}
@media(max-width:767.98px){.faq-section .faq-item summary{padding:18px 18px!important;font-size:1.16rem!important}.faq-section .faq-answer{padding:0 18px 19px!important;}}

/* Wide, clean internal page heroes */
.inner-page-intro.clean-wide-hero{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;min-height:440px!important;padding:0!important;margin:0!important;background:#faf5ef!important;overflow:hidden!important;align-items:stretch!important;}
.clean-wide-hero .clean-wide-copy{display:flex;align-items:center;justify-content:flex-end;padding:56px clamp(30px,4vw,82px)!important;background:#faf5ef!important;}
.clean-wide-hero .clean-wide-copy-inner{width:100%;max-width:575px;}
.clean-wide-hero .eyebrow{font-size:.83rem!important;letter-spacing:.18em!important;color:#28545d!important;margin:0 0 20px!important;}
.clean-wide-hero h1{font-size:clamp(2.8rem,4.2vw,4.6rem)!important;font-weight:400!important;line-height:1.12!important;color:#086879!important;margin:0 0 26px!important;}
.clean-wide-hero h1 span{color:#df8069!important;}
.clean-wide-hero .inner-lead{font-size:clamp(1.05rem,1.3vw,1.25rem)!important;line-height:1.65!important;color:#314b52!important;margin:0 0 25px!important;max-width:530px!important;text-align:left!important;}
.clean-wide-hero .btn{font-size:1rem!important;min-height:48px!important;padding:12px 25px!important;border-radius:32px!important;}
.clean-wide-hero .clean-wide-photo{min-height:440px;overflow:hidden;}
.clean-wide-hero .clean-wide-photo img{width:100%;height:100%;min-height:440px;display:block;object-fit:cover;object-position:center;}
@media(min-width:1500px){.inner-page-intro.clean-wide-hero{min-height:490px!important}.clean-wide-hero .clean-wide-photo,.clean-wide-hero .clean-wide-photo img{min-height:490px;}}
@media(max-width:767px){.inner-page-intro.clean-wide-hero{grid-template-columns:1fr!important;min-height:0!important;}.clean-wide-hero .clean-wide-copy{padding:45px 24px 38px!important;justify-content:flex-start;}.clean-wide-hero h1{font-size:clamp(2.5rem,9vw,3.6rem)!important;}.clean-wide-hero .clean-wide-photo,.clean-wide-hero .clean-wide-photo img{min-height:260px;height:clamp(260px,65vw,400px);}}

/* Gallery and venue refinements, October 2026 */
#gallery .pilates-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
#gallery .pilates-gallery-item{margin:0;min-width:0;aspect-ratio:1.42;overflow:hidden;border-radius:7px}
#gallery .pilates-gallery-item img{display:block;width:100%;height:100%;object-fit:cover}
#gallery{padding-bottom:clamp(60px,6vw,90px)}
.gallery-instagram-action{margin:36px auto 0}
.gallery-instagram-action p{font-size:1.05rem;margin-bottom:15px;color:#294b51}
.instagram-follow-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#086d7d;color:#fff!important;border-radius:40px;padding:15px 29px;font-size:1.075rem;font-weight:500;min-height:54px;box-shadow:0 8px 22px rgba(5,78,87,.13);text-decoration:none}
.instagram-follow-button i{font-size:1.35rem}
.instagram-follow-button:hover,.instagram-follow-button:focus-visible{background:#095564;color:#fff!important;transform:translateY(-2px)}
#venues .venue-content p{margin-bottom:0!important}
.venue-unified-action{margin-top:32px}
.venue-unified-button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:15px 32px;border-radius:40px;background:#087080;color:#fff!important;font-size:1.075rem;font-weight:500;box-shadow:0 8px 22px rgba(5,78,87,.12)}
.venue-unified-button:hover,.venue-unified-button:focus-visible{background:#095564;color:#fff!important}
@media(max-width:767px){#gallery .pilates-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#gallery .pilates-gallery-item{aspect-ratio:1.05}.venue-unified-button,.instagram-follow-button{width:auto;max-width:100%}}

/* October finishing touches: quieter corners, clearer social proof and CTA */
.btn,.btn-coral,.btn-teal,.hero-actions .btn,.nav-book-button,.nav-action,
.venue-unified-button,.instagram-follow-button,.contact-section .btn,
.floating-enquiry,.enrol-actions .btn,.clean-wide-hero .btn,
.organic-class-hero .organic-class-copy .btn {border-radius:13px!important;}
.hero-actions .btn i {font-size:.93em;opacity:.9;margin-left:12px!important;}
.venue-unified-action {margin-top:48px!important;margin-bottom:12px!important;}
#pageReviews .review-slide figcaption {font-size:1.25rem!important;font-weight:600!important;line-height:1.5!important;}
#pageReviews .review-slide figcaption span.review-source,
#pageReviews .review-slide figcaption span:not(.review-stars) {font-size:1.05rem!important;line-height:1.5!important;opacity:1!important;}
#pageReviews .review-slide figcaption .review-stars {display:block!important;color:#ffc9ac!important;font-size:1.45rem!important;letter-spacing:.18em!important;line-height:1.4!important;margin-top:8px!important;}
#pageReviews .review-progress {margin-top:15px!important;}
.contact-section.contact-photo-cta {position:relative;isolation:isolate;overflow:hidden;min-height:410px;display:flex;align-items:center;background:#e8f0ed!important;padding:76px 22px!important;}
.contact-photo-cta::before {content:"";position:absolute;inset:0;z-index:-2;background-image:url('../img/pilates-class.jpg');background-size:cover;background-position:center 47%;filter:saturate(.8);}
.contact-photo-cta::after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(248,250,247,.97) 0%,rgba(248,250,247,.94) 37%,rgba(248,250,247,.82) 66%,rgba(248,250,247,.52) 100%);}
.contact-photo-cta .contact-cta-content {max-width:850px;position:relative;}
.contact-photo-cta h2 {color:#086879!important;font-size:clamp(2.6rem,4.1vw,4.25rem)!important;line-height:1.13!important;margin-bottom:22px!important;}
.contact-photo-cta p {font-size:clamp(1.1rem,1.35vw,1.3rem)!important;line-height:1.6!important;max-width:650px;margin:0 auto 32px!important;color:#29474e!important;}
.contact-photo-cta .btn {min-height:60px!important;padding:17px 30px!important;font-size:1.12rem!important;box-shadow:0 9px 22px rgba(98,60,46,.12)!important;}
@media(max-width:767px){.venue-unified-action{margin-top:36px!important}.contact-section.contact-photo-cta{min-height:350px;padding:62px 18px!important}.contact-photo-cta::after{background:rgba(250,250,247,.88)}.contact-photo-cta h2{font-size:clamp(2.3rem,8vw,3.25rem)!important}}

/* October 2026: visible photographic CTA and balanced internal-page split heroes */
.contact-section.contact-photo-cta{isolation:isolate!important;position:relative!important;background:#f3f6f2!important;}
.contact-section.contact-photo-cta::before{z-index:0!important;background-image:url('../img/pilates-class.jpg')!important;background-position:center 48%!important;opacity:1!important;filter:saturate(.9)!important;}
.contact-section.contact-photo-cta::after{z-index:1!important;background:linear-gradient(90deg,rgba(248,250,247,.94) 0%,rgba(248,250,247,.87) 45%,rgba(248,250,247,.55) 100%)!important;}
.contact-photo-cta .contact-cta-content{z-index:2!important;position:relative!important;}
@media(min-width:851px){
 .inner-page-intro.inner-split-hero{padding:55px 0!important;}
 .inner-split-hero .inner-split-container{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(36px,4vw,72px)!important;align-items:center!important;}
 .inner-split-hero .inner-hero-copy{justify-content:center!important;align-self:stretch!important;max-width:none!important;padding:18px 0!important;}
 .inner-split-hero .inner-hero-copy h1{font-size:clamp(2.9rem,3.8vw,4rem)!important;line-height:1.1!important;max-width:100%!important;}
 .inner-split-hero .inner-split-image-wrap{width:calc(100% - 24px)!important;margin:0!important;align-self:stretch!important;display:flex!important;}
 .inner-split-hero .inner-split-image{height:100%!important;min-height:370px!important;max-height:430px!important;object-fit:cover!important;}
}
@media(max-width:767px){.contact-section.contact-photo-cta::after{background:rgba(248,250,247,.78)!important;}}

/* 18 October: grounded photographic CTA, keeping contrast with dark footer */
.contact-section.contact-photo-cta {background:#cbd9d3!important;}
.contact-section.contact-photo-cta::before {filter:saturate(.82) brightness(.88)!important;}
.contact-section.contact-photo-cta::after {background:linear-gradient(90deg,rgba(223,233,227,.88) 0%,rgba(223,233,227,.78) 45%,rgba(223,233,227,.64) 100%)!important;}
.contact-photo-cta h2 {color:#075f6d!important;}
.contact-photo-cta p {color:#243f46!important;}
@media(max-width:767px){.contact-section.contact-photo-cta::after{background:rgba(224,234,229,.84)!important;}}

/* Robust CTA photo: put the image on the section itself rather than hidden pseudo-elements. */
section.contact-section.contact-photo-cta {
 background-color:#cbd9d3!important;
 background-image:linear-gradient(90deg,rgba(222,232,226,.84),rgba(222,232,226,.67)),url('../img/pilates-class.jpg')!important;
 background-size:cover,cover!important;
 background-position:center,center 46%!important;
 background-repeat:no-repeat!important;
}
section.contact-section.contact-photo-cta::before,
section.contact-section.contact-photo-cta::after {content:none!important;display:none!important;}
section.contact-section.contact-photo-cta .contact-cta-content {position:relative!important;z-index:1!important;}
@media(max-width:767px){section.contact-section.contact-photo-cta{background-image:linear-gradient(rgba(222,232,226,.83),rgba(222,232,226,.83)),url('../img/pilates-class.jpg')!important;}}

/* CMS timetable: keep editor accessible at all widths; retain mobile cards on public site */
@media(max-width:991.98px){.schedule-editor-desktop{display:none!important;}body.cms-editing .schedule-editor-desktop{display:block!important;overflow-x:auto;}}

/* Surreal CMS repeatable timetable: div-based grid, not HTML table rows */
.schedule-grid-wrap{border:1px solid #dbe9e5;border-radius:22px;overflow:hidden;box-shadow:0 20px 45px rgba(8,113,122,.07)}
.schedule-grid-head,.schedule-grid-row{display:grid;grid-template-columns:1fr 1.18fr 1.65fr 1.75fr 1.13fr .9fr;align-items:stretch}
.schedule-grid-head{background:#086879;color:#fff}
.schedule-grid-head>span{padding:19px 15px;font-size:1.08rem;line-height:1.4}
.schedule-grid-row{background:#fff;border-bottom:1px solid #e7ece9}
.schedule-grid-row:nth-child(odd){background:#f0f8f5}
.schedule-grid-row:last-child{border-bottom:0}
.schedule-grid-row:hover{background:#e4f2ec}
.schedule-grid-cell{padding:22px 15px;display:flex;align-items:center;font-size:1.06rem;line-height:1.55;color:#263f46;min-width:0}
.schedule-grid-cell:first-child{color:#08717a;font-weight:700}
.schedule-grid-cell .cms-unlock{min-width:0}
.schedule-grid-cell .table-enquire{color:#263f46!important;text-decoration:underline dotted!important;text-underline-offset:5px;font-size:1rem!important;font-weight:700}
@media(min-width:992px) and (max-width:1199px){.schedule-grid-head>span,.schedule-grid-cell{padding:17px 10px;font-size:.96rem}}
@media(max-width:991.98px){.schedule-grid-wrap{display:none!important}body.cms-editing .schedule-grid-wrap{display:block!important;overflow-x:auto}.schedule-grid-head,.schedule-grid-row{min-width:850px}}

/* Surreal CMS v5: editable timetable region and insertable class-row snippets */
.schedule-grid-wrap {overflow:visible;}
.schedule-grid-body {display:block;min-height:40px;outline-offset:4px;}
.schedule-grid-body .schedule-grid-row:last-child {border-bottom:0;}
.schedule-grid-body .schedule-grid-row:nth-child(even) {background:#f0f8f5;}
.schedule-grid-body .schedule-grid-row:nth-child(odd) {background:#fff;}
.schedule-grid-body .schedule-grid-row:hover {background:#e4f2ec;}
@media(max-width:991.98px){.schedule-editor-desktop{display:block!important;overflow-x:auto}.schedule-grid-head,.schedule-grid-row{min-width:850px}.schedule-cards{display:none!important}}

@media(max-width:991.98px){body:not(:has([contenteditable="true"])) .schedule-editor-desktop{display:block!important}body:not(:has([contenteditable="true"])) .schedule-cards{display:block!important}body:has([contenteditable="true"]) .schedule-cards{display:none!important}}

/* Native timetable for Surreal CMS v5: the editor renders actual table columns. */
.schedule-table-wrap{overflow-x:auto;border:1px solid #dbe9e5;border-radius:18px;box-shadow:0 18px 42px rgba(8,113,122,.07)}
.pilates-timetable{width:100%;border-collapse:collapse;table-layout:fixed;background:white;color:#263f46;}
.pilates-timetable th{background:#086879;color:#fff;text-align:left;font-size:1.04rem;font-weight:700;padding:18px 13px;}
.pilates-timetable td{padding:20px 13px;border-bottom:1px solid #e3ece8;vertical-align:middle;font-size:1.04rem;line-height:1.5;overflow-wrap:break-word;}
.pilates-timetable tbody tr:nth-child(even){background:#f0f8f5;}
.pilates-timetable tbody tr:hover{background:#e4f2ec;}
.pilates-timetable td:first-child{color:#08717a;font-weight:700;}
.pilates-timetable th:nth-child(1){width:12%}.pilates-timetable th:nth-child(2){width:16%}.pilates-timetable th:nth-child(3){width:22%}.pilates-timetable th:nth-child(4){width:23%}.pilates-timetable th:nth-child(5){width:16%}.pilates-timetable th:nth-child(6){width:11%}
.pilates-timetable .table-enquire{color:#263f46!important;text-decoration:underline dotted!important;text-underline-offset:5px;font-weight:700;}
@media(max-width:991.98px){.schedule-table-wrap.schedule-editor-desktop{display:block!important}.schedule-cards{display:grid!important}}



/* Page Pilates timetable: ONE maintainable desktop/mobile layout.
   The same Surreal CMS v5 .repeatable blocks are used at every width. */
#timetable .pilates-repeatable-wrap {
  display:block!important; overflow:hidden!important; width:100%!important;
  border:1px solid #dbe9e5!important; border-radius:17px!important;
  background:#fff!important; box-shadow:0 12px 35px rgba(8,113,122,.06)!important;
}
#timetable .pilates-grid-head,
#timetable #pilates-timetable-classes > .pilates-grid-row {
  display:grid!important;
  grid-template-columns:minmax(0,12fr) minmax(0,16fr) minmax(0,22fr) minmax(0,23fr) minmax(0,16fr) minmax(0,11fr)!important;
  width:100%!important; min-width:0!important;
  margin:0!important; padding:0!important; align-items:stretch!important;
  box-sizing:border-box!important;
}
#timetable .pilates-grid-head {background:#086879!important;color:#fff!important;}
#timetable .pilates-grid-head > span {padding:17px 12px!important;font-weight:700!important;font-size:15px!important;}
#timetable #pilates-timetable-classes > .pilates-grid-row {border-bottom:1px solid #e3ece8!important;min-height:68px!important;}
#timetable #pilates-timetable-classes > .pilates-grid-row:nth-child(even){background:#f0f8f5!important;}
#timetable #pilates-timetable-classes > .pilates-grid-row > .pilates-grid-cell {
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  min-width:0!important;width:auto!important;max-width:none!important;
  margin:0!important;padding:14px 12px!important;line-height:1.45!important;
  font-size:15px!important;overflow-wrap:break-word!important;word-break:normal!important;
  box-sizing:border-box!important;
}
#timetable #pilates-timetable-classes .pilates-mobile-label {display:none!important;}
#timetable #pilates-timetable-classes .pilates-grid-value {display:block!important;}
#timetable #pilates-timetable-classes > .pilates-grid-row > .pilates-grid-cell:first-child .pilates-grid-value {
  color:#08717a!important;font-weight:700!important;
}
#timetable #pilates-timetable-classes .table-enquire {
  color:#263f46!important;font-weight:700!important;text-decoration:underline dotted!important;text-underline-offset:4px!important;
}
#timetable .schedule-cards {display:none!important;}
@media(max-width:991.98px){
  html body #timetable .schedule-table-wrap.schedule-editor-desktop.pilates-repeatable-wrap {
    display:block!important;visibility:visible!important;opacity:1!important;
    height:auto!important;max-height:none!important;
    overflow:visible!important;min-width:0!important;
    border:0!important;background:transparent!important;box-shadow:none!important;
  }
  html body #timetable .pilates-grid-head {display:none!important;}
  html body #timetable #pilates-timetable-classes {
    display:flex!important;flex-direction:column!important;
    gap:14px!important;margin:0!important;padding:0!important;
    width:100%!important;min-width:0!important;
  }
  html body #timetable #pilates-timetable-classes > .pilates-grid-row {
    display:block!important;
    width:100%!important;min-width:0!important;max-width:100%!important;
    height:auto!important;min-height:0!important;
    margin:0!important;padding:16px 18px!important;
    border:1px solid #dce9e5!important;border-radius:14px!important;
    background:#fff!important;box-shadow:0 5px 15px rgba(8,113,122,.05)!important;
  }
  html body #timetable #pilates-timetable-classes > .pilates-grid-row:nth-child(even) {
    background:#f0f7f4!important;
  }
  html body #timetable #pilates-timetable-classes > .pilates-grid-row > .pilates-grid-cell {
    display:grid!important;grid-template-columns:90px minmax(0,1fr)!important;
    align-items:start!important;justify-content:initial!important;
    gap:10px!important;width:100%!important;min-width:0!important;
    height:auto!important;min-height:0!important;
    padding:7px 0!important;margin:0!important;
    border:0!important;font-size:15px!important;line-height:1.5!important;
    overflow-wrap:break-word!important;word-break:normal!important;
  }
  html body #timetable #pilates-timetable-classes .pilates-mobile-label {
    display:block!important;position:static!important;
    grid-column:1!important;min-width:0!important;width:auto!important;
    margin:0!important;padding:0!important;
    color:#527a7d!important;font-size:13px!important;font-weight:700!important;
    line-height:1.5!important;letter-spacing:0!important;text-transform:none!important;
    overflow-wrap:normal!important;word-break:normal!important;
  }
  html body #timetable #pilates-timetable-classes .pilates-grid-value {
    display:block!important;position:static!important;
    grid-column:2!important;min-width:0!important;width:auto!important;
    margin:0!important;padding:0!important;
    color:#24494e!important;font-size:15px!important;font-weight:400!important;
    line-height:1.5!important;letter-spacing:0!important;text-transform:none!important;
    overflow-wrap:break-word!important;word-break:normal!important;
  }
  html body #timetable #pilates-timetable-classes > .pilates-grid-row > .pilates-grid-cell:first-child .pilates-grid-value {
    font-size:19px!important;font-weight:700!important;color:#08717a!important;
  }
  html body #timetable #pilates-timetable-classes > .pilates-grid-row > .pilates-grid-cell:last-child {
    display:block!important;margin-top:10px!important;padding:13px 0 0!important;
    border-top:1px solid #dce9e5!important;
  }
  html body #timetable #pilates-timetable-classes > .pilates-grid-row > .pilates-grid-cell:last-child .pilates-mobile-label {
    display:none!important;
  }
  html body #timetable #pilates-timetable-classes > .pilates-grid-row > .pilates-grid-cell:last-child .pilates-grid-value {
    display:block!important;width:100%!important;
  }
  html body #timetable #pilates-timetable-classes .table-enquire {
    display:block!important;width:100%!important;
    padding:12px 18px!important;border-radius:11px!important;
    background:#08717a!important;color:#fff!important;
    text-align:center!important;text-decoration:none!important;
    font-size:15px!important;font-weight:700!important;
  }
}
@media(max-width:380px){
  html body #timetable #pilates-timetable-classes > .pilates-grid-row {padding:14px!important;}
  html body #timetable #pilates-timetable-classes > .pilates-grid-row > .pilates-grid-cell {
    grid-template-columns:75px minmax(0,1fr)!important;gap:8px!important;
  }
}

/* Full-bleed, seamless Instagram-style gallery, October 2026 */
#gallery .pilates-gallery-grid {
  width:100%;max-width:none;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0!important;margin:30px 0 0;
}
#gallery .pilates-gallery-item {
  aspect-ratio:1.28!important;border-radius:0!important;
  box-shadow:none!important;margin:0!important;
}
#gallery .pilates-gallery-item img {width:100%;height:100%;object-fit:cover;}
#gallery .gallery-instagram-action {padding:30px 16px 0;}
@media(max-width:767px) {
  #gallery .pilates-gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:0!important;}
  #gallery .pilates-gallery-item {aspect-ratio:1!important;}
}
.venue-map-panel {padding:14px 4px 8px;text-align:center;}
.venue-map-load {
  border:1px solid #167c80;border-radius:24px;
  background:#fff;color:#176f73;font-weight:600;
  padding:12px 28px;cursor:pointer;min-height:46px;
}
.venue-map-load:hover,.venue-map-load:focus-visible {background:#e7f4f2;}
.venue-map-frame {width:100%;height:260px;border:0;border-radius:10px;display:block;margin-bottom:12px;}
.venue-directions-link {display:inline-block;color:#176f73!important;font-weight:600;
  text-decoration:underline;text-underline-offset:4px;margin:12px 0;}

/* Contact map controls: deliberate space between button and link */
.venue-map-panel {display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:20px;row-gap:10px;}
.venue-map-panel .venue-directions-link {margin:0;}
.venue-map-panel .venue-map-frame {flex:0 0 100%;}

/* Surreal CMS compatible, seamless edge-to-edge gallery. CMS retains only anchors and images. */
#gallery .pilates-gallery-grid.editable-gallery {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;width:100%!important;max-width:none!important;margin:30px 0 0!important;}
#gallery .pilates-gallery-grid.editable-gallery>a {display:block;aspect-ratio:1.28;overflow:hidden;min-width:0;line-height:0;}
#gallery .pilates-gallery-grid.editable-gallery>a>img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
#gallery .pilates-gallery-grid.editable-gallery>a:hover>img {transform:scale(1.025);}
@media(max-width:767px){#gallery .pilates-gallery-grid.editable-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;}#gallery .pilates-gallery-grid.editable-gallery>a{aspect-ratio:1;}}
/* Darker image-led CTA with clear visual separation from dark footer */
section.contact-section.contact-photo-cta {
 background-color:#203b3b!important;
 background-image:linear-gradient(90deg,rgba(13,40,43,.82) 0%,rgba(13,40,43,.68) 55%,rgba(13,40,43,.58) 100%),url('../img/jaime-photos/dart.jpg')!important;
 background-position:center,center 52%!important;background-size:cover,cover!important;
 min-height:430px!important;
}
section.contact-section.contact-photo-cta h2{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.16);}
section.contact-section.contact-photo-cta p{color:#fff!important;}
section.contact-section.contact-photo-cta .btn-coral{background:#D98A70!important;color:#172f31!important;border-color:#D98A70!important;}
@media(max-width:767px){
 section.contact-section.contact-photo-cta{background-image:linear-gradient(rgba(13,40,43,.76),rgba(13,40,43,.76)),url('../img/jaime-photos/dart.jpg')!important;min-height:390px!important;}
}

/* Instagram link follows the full-width gallery */
#gallery .gallery-instagram-action {padding:32px 16px 42px!important;margin:0 auto;text-align:center;}
/* Accessible, CMS-safe native-dialog lightbox */
.pilates-lightbox{position:fixed;inset:0;margin:auto;padding:0;border:0;background:transparent;color:#fff;max-width:min(96vw,1400px);max-height:96vh;overflow:visible;}
.pilates-lightbox::backdrop{background:rgba(10,23,25,.91);backdrop-filter:blur(5px);}
.pilates-lightbox-inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;max-height:96vh;padding:45px 65px 18px;}
.pilates-lightbox-photo{display:block;max-width:100%;max-height:calc(96vh - 120px);width:auto;height:auto;object-fit:contain;box-shadow:0 12px 45px rgba(0,0,0,.3);}
.pilates-lightbox-caption{color:#fff;text-align:center;font-size:15px;line-height:1.5;margin:14px 0 0;}
.pilates-lightbox button{position:absolute;border:0;border-radius:50%;width:44px;height:44px;background:rgba(255,255,255,.15);color:#fff;font-size:36px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;}
.pilates-lightbox button:hover,.pilates-lightbox button:focus-visible{background:rgba(255,255,255,.33);outline-offset:3px;}
.pilates-lightbox-close{right:10px;top:0;}
.pilates-lightbox-prev{left:6px;top:45%;}
.pilates-lightbox-next{right:6px;top:45%;}
@media(max-width:600px){.pilates-lightbox-inner{padding:52px 40px 20px;}.pilates-lightbox-prev{left:0;}.pilates-lightbox-next{right:0;}.pilates-lightbox button{width:38px;height:38px;}.pilates-lightbox-caption{font-size:13px;}}

/* Smooth lightbox entrance. Reduced motion respected. */
.pilates-lightbox[open] {
  animation:pilates-lightbox-appear .32s cubic-bezier(.2,.7,.2,1) both;
}
.pilates-lightbox[open]::backdrop {
  animation:pilates-backdrop-appear .32s ease-out both;
}
@keyframes pilates-lightbox-appear {
  from {opacity:0;transform:translateY(10px) scale(.985);}
  to {opacity:1;transform:translateY(0) scale(1);}
}
@keyframes pilates-backdrop-appear {
  from {background:rgba(10,23,25,0);backdrop-filter:blur(0);}
  to {background:rgba(10,23,25,.91);backdrop-filter:blur(5px);}
}
@media (prefers-reduced-motion:reduce) {
 .pilates-lightbox[open],.pilates-lightbox[open]::backdrop {animation:none;}
}

/* Expanded Jaime biography */
.about-more-details{margin-top:28px;border-top:1px solid #d4e3df;border-bottom:1px solid #d4e3df;max-width:650px}
.about-more-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:19px 2px;font-size:1.1rem;font-weight:650;color:#086879}
.about-more-details summary::-webkit-details-marker{display:none}
.about-more-details summary:focus-visible{outline:2px solid #086879;outline-offset:4px}
.about-more-icon{font-size:1.7rem;font-weight:400;color:#d98a70;line-height:1}
.about-more-details[open] .about-more-icon{font-size:0}
.about-more-details[open] .about-more-icon::after{content:'−';font-size:1.7rem}
.about-more-content{padding:2px 2px 22px;color:#334f51;line-height:1.75}
.about-more-content p{margin:0 0 15px}
.about-more-content .about-more-link{margin-bottom:0}
.about-more-content a{color:#086879;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}

.about-editorial.about-editorial-split::before,
.about-editorial.about-editorial-split::after {
  content: none !important;
  display: none !important;
  background-image: none !important;
}
/* Force white text on homepage bottom CTA */
.contact-section.contact-photo-cta a,
.contact-section.contact-photo-cta a.btn,
.contact-section.contact-photo-cta a.btn-coral,
.contact-section.contact-photo-cta a.btn * {
    color: #fff !important;
}
/* Prevent sideways movement on mobile */
@media (max-width: 767px) {
    html,
    body {
        max-width: 100%;
        overflow-x: clip;
    }
}

/* Surreal CMS v2 gallery: direct image links, no wrapper figures. */
#gallery #page-pilates-photo-gallery {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;align-items:stretch!important;width:100%!important;max-width:none!important;margin:30px 0 0!important;}
#gallery #page-pilates-photo-gallery > a {display:block!important;position:relative;aspect-ratio:1.28!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;line-height:0!important;}
#gallery #page-pilates-photo-gallery > a > img {display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;transition:transform .4s ease;}
@media (hover:hover){#gallery #page-pilates-photo-gallery > a:hover > img {transform:scale(1.025);}}
@media(max-width:767px){#gallery #page-pilates-photo-gallery {grid-template-columns:repeat(2,minmax(0,1fr))!important;}#gallery #page-pilates-photo-gallery > a {aspect-ratio:1!important;}}


/* PAGE PILATES: Seven-column timetable, desktop, 27 October 2026.
   Matches the seven editable cells; overrides the earlier six-column !important grid. */
@media (min-width: 992px) {
  html body #timetable .pilates-grid-head,
  html body #timetable #pilates-timetable-classes > .pilates-grid-row {
    grid-template-columns: minmax(0, 11fr) minmax(0, 16fr) minmax(0, 22fr) minmax(0, 23fr) minmax(0, 16fr) minmax(0, 7fr) minmax(0, 9fr) !important;
  }
  html body #timetable .pilates-grid-head > span,
  html body #timetable #pilates-timetable-classes > .pilates-grid-row > .pilates-grid-cell,
  html body #timetable #pilates-timetable-classes .pilates-grid-value {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  html body #timetable #pilates-timetable-classes > .pilates-grid-row > .pilates-grid-cell:last-child {
    text-align: right !important;
  }
}
/* Uniform body text across all timetable entries on mobile too. */
@media (max-width: 991.98px) {
  html body #timetable #pilates-timetable-classes > .pilates-grid-row > .pilates-grid-cell:first-child .pilates-grid-value {
    font-size: 15px !important;
  }
}
