:root{
  --bg:#fbf7f0;      /* cream */
  --bg2:#f3eadc;     /* warm beige */
  --text:#171513;    /* espresso */
  --muted:#6a6258;   /* warm taupe */
  --line:#e3d7c7;    /* sand line */
  --card:#ffffff;
  --shadow:0 14px 36px rgba(23,21,19,0.10);
  --radius:18px;
  --max:1120px;
  --serif:"Playfair Display", serif;
  --sans:"Manrope", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

a{color:inherit;text-decoration:none}
a:hover{opacity:.92}

.container{max-width:var(--max);margin:0 auto;padding:0 20px}

.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{
  left:20px;top:20px;width:auto;height:auto;padding:10px 12px;background:var(--card);
  border:1px solid var(--line);border-radius:10px;z-index:9999
}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(251,250,248,0.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(222,216,207,0.7);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0
}
.brand{display:flex;flex-direction:column;gap:2px}
.brand-mark{font-family:var(--serif);font-weight:600;letter-spacing:.2px}
.brand-sub{font-size:12px;color:var(--muted)}

.nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.nav a{
  font-size:14px;color:var(--muted);padding:8px 10px;border-radius:12px
}
.nav a:hover{background:rgba(222,216,207,0.35);color:var(--text)}
.nav a.active{background:rgba(222,216,207,0.55);color:var(--text)}
.nav .nav-cta{
  color:var(--text);
  border:1px solid var(--line);
  background:rgba(255,255,255,0.55);
}

/* Page header/hero */
.hero{
  padding:92px 0 52px;
  background:
    linear-gradient(90deg, rgba(251,250,248,0.92) 0%, rgba(251,250,248,0.78) 40%, rgba(251,250,248,0.65) 100%),
    radial-gradient(1200px 500px at 20% 10%, rgba(222,216,207,0.6), transparent 60%),
    radial-gradient(900px 400px at 80% 0%, rgba(175,160,132,0.18), transparent 55%),
    var(--hero-bg, none);
  background-size: cover;
  background-position: center;
}
.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--muted)}
h1{
  font-family:var(--serif);font-weight:600;letter-spacing:.2px;line-height:1.1;
  font-size:clamp(36px,4vw,56px);margin:0 0 14px
}
h2{font-family:var(--serif);font-size:32px;margin:0 0 10px;line-height:1.2}
h3{margin:0 0 8px;font-size:16px;letter-spacing:.02em}

.lede{max-width:820px;font-size:19px;color:var(--muted);margin:0 0 28px}

.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 0}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,0.55);color:var(--text);font-size:14px;letter-spacing:.02em
}
.button.primary{background:#171513;color:#fff;border-color:#171513}
.button:hover{transform:translateY(-1px)}

.hero-card{
  margin-top:18px;
  display:flex;justify-content:space-between;gap:14px;align-items:flex-start;
  background:rgba(255,255,255,0.7);
  border:1px solid rgba(222,216,207,0.9);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:16px 16px;
}
.hero-card-title{margin:0 0 4px;font-weight:600}
.hero-card-sub{margin:0;color:var(--muted);font-size:14px}
.hero-card-right{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.pill{
  font-size:13px;padding:8px 10px;border-radius:999px;
  border:1px solid var(--line);background:rgba(244,241,236,0.9);white-space:nowrap
}

.section{padding:56px 0}
.section.alt{
  background:var(--bg2);
  border-top:1px solid rgba(222,216,207,0.55);
  border-bottom:1px solid rgba(222,216,207,0.55);
}
.subhead{margin:0;color:var(--muted);max-width:760px}
.muted{color:var(--muted)}
.soft{color:var(--muted)}
.small{font-size:13px}

/* Layout helpers */
.grid-two{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
@media (max-width: 900px){
  .grid-two{grid-template-columns:1fr}
  .hero-card{flex-direction:column;align-items:flex-start}
  .hero-card-right{align-items:flex-start}
}

.panel{
  background:rgba(255,255,255,0.8);
  border:1px solid rgba(222,216,207,0.9);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:24px;
}
.divider{height:1px;background:rgba(222,216,207,0.9);margin:14px 0}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}
.card{
  grid-column:span 4;
  background:rgba(255,255,255,0.82);
  border:1px solid rgba(222,216,207,0.9);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:24px;
}
.card p{margin:0 0 12px;color:var(--muted)}
.bullets{margin:0;padding-left:18px;color:var(--muted)}
.bullets li{margin:8px 0}
@media (max-width: 980px){.card{grid-column:span 6}}
@media (max-width: 640px){.card{grid-column:span 12}}

/* Feature tiles for homepage options */
.tiles{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:18px}
.tile{
  grid-column:span 4;
  border-radius:var(--radius);
  border:1px solid rgba(222,216,207,0.9);
  background:rgba(255,255,255,0.82);
  box-shadow:var(--shadow);
  padding:24px;
  transition:transform .15s ease;
}
.tile:hover{transform:translateY(-2px)}
.tile .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 8px}
.tile h3{margin:0 0 6px;font-family:var(--serif);font-size:20px}
.tile p{margin:0;color:var(--muted)}
@media (max-width: 980px){.tile{grid-column:span 6}}
@media (max-width: 640px){.tile{grid-column:span 12}}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:10px}
.price-card{
  grid-column:span 4;
  background:rgba(255,255,255,0.85);
  border:1px solid rgba(222,216,207,0.9);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:24px;
}
.price-card.featured{
  border-color:rgba(20,19,19,0.22);
  background:linear-gradient(180deg, rgba(255,255,255,0.92), rgba(244,241,236,0.92));
}
.price-lines{margin-top:12px;border-top:1px solid rgba(222,216,207,0.75);padding-top:12px}
.price-line{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(222,216,207,0.55)}
.price-line:last-child{border-bottom:none}
@media (max-width: 980px){.price-card{grid-column:span 6}}
@media (max-width: 640px){.price-card{grid-column:span 12}}

/* Forms */
.form{
  display:grid;gap:12px;
}
.input{
  display:grid;gap:6px;
}
label{font-size:13px;color:var(--muted)}
input, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(222,216,207,0.95);
  background:rgba(255,255,255,0.85);
  font-family:var(--sans);
  font-size:14px;
}
textarea{min-height:120px;resize:vertical}

/* Footer */
.site-footer{
  padding:26px 0;border-top:1px solid rgba(222,216,207,0.7);
  background:rgba(251,250,248,0.9);
}
.footer-inner{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  color:var(--muted);font-size:13px
}



/* Hero background images (per page) */
.hero.hero-home{ --hero-bg: url('images/home.jpg'); }
.hero.hero-pilates{ --hero-bg: url('images/pilates.jpg'); }
.hero.hero-wellness{ --hero-bg: url('images/wellness.jpg'); }
.hero.hero-about{ --hero-bg: url('images/about.jpg'); }
.hero.hero-pricing{ --hero-bg: url('images/pricing.jpg'); }
.hero.hero-contact{ --hero-bg: url('images/contact.jpg'); }

/* Improve readability on small screens */
@media (max-width: 640px){
  .hero{
    background:
      linear-gradient(180deg, rgba(251,250,248,0.94) 0%, rgba(251,250,248,0.80) 55%, rgba(251,250,248,0.68) 100%),
      radial-gradient(1200px 500px at 20% 10%, rgba(222,216,207,0.55), transparent 60%),
      radial-gradient(900px 400px at 80% 0%, rgba(175,160,132,0.16), transparent 55%),
      var(--hero-bg, none);
    background-size: cover;
    background-position: center;
  }
}

/* Hero background images + overlays (page-specific) */
.hero{
  position: relative;
  overflow: hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  /* lighter, more transparent overlay so photos show */
  background: linear-gradient(180deg,
    rgba(251,247,240,0.62) 0%,
    rgba(251,247,240,0.46) 32%,
    rgba(251,247,240,0.36) 65%,
    rgba(251,247,240,0.50) 100%);
  pointer-events:none;
}
.hero > .container{ position: relative; z-index: 1; }

/* Default: no image, just organic gradients */
.hero.hero--sober{
  background:
    radial-gradient(1200px 500px at 20% 10%, rgba(227,215,199,0.85), transparent 60%),
    radial-gradient(900px 400px at 80% 0%, rgba(175,160,132,0.22), transparent 55%),
    var(--bg);
}

/* Pilates imagery (used for home / pilates / about / pricing) */
.hero.hero--pilates{
  background:
    url("images/home.jpg") center/cover no-repeat,
    radial-gradient(1200px 500px at 20% 10%, rgba(227,215,199,0.55), transparent 60%),
    var(--bg);
}

/* About uses about.jpg (duet photo) */
.hero.hero--about{
  background:
    url("images/about.jpg") center/cover no-repeat,
    radial-gradient(1200px 500px at 20% 10%, rgba(227,215,199,0.55), transparent 60%),
    var(--bg);
}

/* Pilates page uses pilates.jpg */
.hero.hero--pilatespage{
  background:
    url("images/pilates.jpg") center/cover no-repeat,
    radial-gradient(1200px 500px at 20% 10%, rgba(227,215,199,0.55), transparent 60%),
    var(--bg);
}

/* Pricing uses pricing.jpg */
.hero.hero--pricing{
  background:
    url("images/pricing.jpg") center/cover no-repeat,
    radial-gradient(1200px 500px at 20% 10%, rgba(227,215,199,0.55), transparent 60%),
    var(--bg);
}

/* Wellness uses infrared sauna image */
.hero.hero--wellness{
  background:
    url("images/infrared-sauna.jpg") center/cover no-repeat,
    radial-gradient(1200px 500px at 20% 10%, rgba(227,215,199,0.45), transparent 60%),
    var(--bg);
}

/* Contact: sober earthy */
.hero.hero--contact{
  background:
    radial-gradient(900px 420px at 78% 0%, rgba(170,150,120,0.18), transparent 55%),
    radial-gradient(1200px 520px at 18% 10%, rgba(227,215,199,0.80), transparent 60%),
    linear-gradient(180deg, rgba(251,247,240,1), rgba(243,234,220,1));
}

/* Minimal landing */
.landing{
  min-height: calc(100vh - 74px);
  display:flex;
  align-items:center;
  padding: 96px 0;
}
.landing-inner{
  max-width: 900px;
}
.landing h1{
  margin-bottom: 10px;
}
.landing .tagline{
  font-size: 14px;
  color: var(--muted);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 14px;
}
.landing .lede{
  margin-top: 8px;
}
.landing-actions{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px;
}

/* Bubbles overlay for wellness services */
.bubbles{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
  margin-top: 18px;
}
.bubble{
  grid-column: span 6;
  border-radius: 999px;
  border: 1px solid rgba(227,215,199,0.95);
  background: rgba(251,247,240,0.78);
  box-shadow: var(--shadow);
  padding: 16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
.bubble strong{
  font-weight: 600;
}
.bubble span{
  color: var(--muted);
  font-size: 13px;
}
@media (max-width: 900px){
  .bubble{ grid-column: span 12; border-radius: var(--radius); }
}

/* Exercise background band */
.exercise-band{
  position: relative;
  background: url("images/pilates.jpg") center/cover no-repeat;
  border-top: 1px solid rgba(227,215,199,0.7);
  border-bottom: 1px solid rgba(227,215,199,0.7);
}
.exercise-band::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg,
    rgba(251,247,240,0.58) 0%,
    rgba(251,247,240,0.42) 35%,
    rgba(251,247,240,0.38) 65%,
    rgba(251,247,240,0.52) 100%);
}
.exercise-band .container{ position:relative; z-index:1; }
.exercise-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 22px;
  margin-top: 22px;
}
.exercise-grid .card{ grid-column: span 6; }
@media (max-width: 900px){
  .exercise-grid .card{ grid-column: span 12; }
}

/* Ultra-minimal landing */
body.landing-only{
  background-image: url("images/red-clay-texture.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* Subtle "clock" motif using conic + radial gradients (no image needed) */
.clock-bg{
  position: fixed;
  inset: 0;
  pointer-events:none;
  opacity: 0.18;
  background:
    radial-gradient(circle at 50% 46%, rgba(23,21,19,0.14) 0 2px, transparent 3px 100%),
    radial-gradient(circle at 50% 46%, rgba(23,21,19,0.06) 0 260px, transparent 261px 100%),
    conic-gradient(from -90deg at 50% 46%,
      rgba(23,21,19,0.045) 0 1deg,
      transparent 1deg 30deg,
      rgba(23,21,19,0.03) 30deg 31deg,
      transparent 31deg 60deg,
      rgba(23,21,19,0.03) 60deg 61deg,
      transparent 61deg 90deg,
      rgba(23,21,19,0.03) 90deg 91deg,
      transparent 91deg 120deg,
      rgba(23,21,19,0.03) 120deg 121deg,
      transparent 121deg 150deg,
      rgba(23,21,19,0.03) 150deg 151deg,
      transparent 151deg 180deg,
      rgba(23,21,19,0.03) 180deg 181deg,
      transparent 181deg 210deg,
      rgba(23,21,19,0.03) 210deg 211deg,
      transparent 211deg 240deg,
      rgba(23,21,19,0.03) 240deg 241deg,
      transparent 241deg 270deg,
      rgba(23,21,19,0.03) 270deg 271deg,
      transparent 271deg 300deg,
      rgba(23,21,19,0.03) 300deg 301deg,
      transparent 301deg 330deg,
      rgba(23,21,19,0.03) 330deg 331deg,
      transparent 331deg 360deg
    );
}

/* Landing center layout */
.landing-center{
  min-height: 100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 72px 18px;
}
.landing-center h1{
  font-size: clamp(44px, 6vw, 72px);
  margin: 0 0 10px;
}
.landing-center .subtitle{
  font-family: var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
  font-size: 12px;
  margin: 0 0 18px;
}
.landing-center .landing-actions{
  margin-top: 22px;
  justify-content:center;
}
/* Tiny corner intro offer */
.corner-offer{
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 60;
  display:flex;
  flex-direction:column;
  gap: 8px;
  align-items:flex-end;
}
.corner-offer .pill{
  background: rgba(251,247,240,0.88);
}

/* Full-page image background pages */
body.page-bg{
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
body.page-bg::before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events:none;
  background: linear-gradient(180deg,
    rgba(251,247,240,0.70) 0%,
    rgba(251,247,240,0.48) 30%,
    rgba(251,247,240,0.42) 70%,
    rgba(243,234,220,0.58) 100%);
}
/* Ensure page content sits above overlay */
.page-wrap{
  position: relative;
  z-index: 1;
}

/* Pricing bubbles (cards feel floating on image) */
.price-card, .card, .panel, .bubble{
  backdrop-filter: blur(8px);
}

/* Discreet landing header */
.landing-header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 70;
  background: transparent;
}
.landing-header .header-inner{
  padding: 14px 0;
}
.landing-header .brand-sub{ display:none; }
.landing-header .nav a{
  background: transparent;
}
.landing-header .nav .nav-cta{
  background: rgba(251,247,240,0.55);
}

/* Intro bubble under CTAs */
.intro-bubble{
  margin: 18px auto 0;
  width: fit-content;
  max-width: 520px;
  border-radius: 999px;
  border: 1px solid rgba(227,215,199,0.95);
  background: rgba(251,247,240,0.78);
  box-shadow: var(--shadow);
  
  padding: 10px 14px;
  display:flex;
  gap: 14px;
  align-items:center;
  justify-content:center;
  flex-wrap: wrap;
}
.intro-bubble .pill{
  background: transparent;
  border-color: rgba(227,215,199,0.95);
  font-size: 12px;
  padding: 7px 10px;
}

/* Small clickable pop-up style link */
.popup-link{
  display:inline-block;
  margin-top: 12px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(227,215,199,0.9);
  background: rgba(251,247,240,0.64);
  color: #0f0f10;
  font-size: 12.5px;
  box-shadow: 0 10px 22px rgba(23,21,19,0.07);
}
.popup-link:hover{
  color: var(--text);
  transform: translateY(-1px);
}

body.landing-only::before{
  content:"";
  position: fixed;
  inset: 0;
  /* very light overlay for legibility */
  background: rgba(251,247,240,0.18);
  pointer-events:none;
}

/* Landing readability (black text) */
body.landing-only, body.landing-only .brand-mark{
  color:#111;
}
body.landing-only .subtitle,
body.landing-only .lede{
  color:#111;
  opacity: 1;
}
body.landing-only .nav a{
  color:#111;
  opacity: .86;
}
body.landing-only .nav a:hover{
  opacity: 1;
  background: rgba(251,247,240,0.35);
}
body.landing-only .nav a.active{
  background: rgba(251,247,240,0.55);
  opacity: 1;
}

/* Bigger primary CTAs on landing */
body.landing-only .landing-actions .button{
  padding: 14px 20px;
  font-size: 15px;
}
body.landing-only .landing-actions .button.primary{
  padding: 14px 22px;
}

/* FORCE full-dark text on landing */
body.landing-only,
body.landing-only .brand-mark,
body.landing-only .nav a,
body.landing-only .subtitle,
body.landing-only .lede,
body.landing-only h1{
  color:#0f0f10 !important;
  opacity:1 !important;
}

/* Side note bubble (Pilates page) */
.side-note{
  margin: 16px 0 6px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(227,215,199,0.95);
  background: rgba(251,247,240,0.70);
  box-shadow: 0 10px 22px rgba(23,21,19,0.07);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.side-note strong{ color: var(--text); font-weight: 600; }

/* Airier longform (About) */
.editorial-bio{
  margin: 0 0 18px;
  line-height: 1.75;
  font-size: 16.5px;
}

/* Mobile refinements */
@media (max-width: 760px){
  .container{ padding-left: 18px; padding-right: 18px; }
  .header-inner{ gap: 10px; }
  .nav{ flex-wrap: wrap; justify-content: flex-end; row-gap: 8px; }
  .nav a{ padding: 8px 10px; }
  .hero{ padding: 70px 0 44px; }
  .lede{ font-size: 18px; }
  .pricing-grid{ grid-template-columns: 1fr !important; }
  .grid-two{ grid-template-columns: 1fr !important; }
  .landing-center{ padding-top: 96px; } /* room for fixed header on landing */
}

/* Front page background */
.hero--landing{
  background-image: url("assets/images/front-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Contact actions */
.contact-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:22px;
}
.btn{
  padding:12px 18px;
  border-radius:999px;
  font-size:14px;
  text-decoration:none;
  border:1px solid transparent;
}
.btn-primary{ background:#1c1b1a; color:#fff; }
.btn-secondary{ background:#f4efe7; color:#1c1b1a; border-color:#d8d1c7; }
.btn-outline{ background:transparent; color:#1c1b1a; border-color:#1c1b1a; }

/* Readability scrim for hero text on image backgrounds */
.text-scrim{
  display:inline-block;
  padding: 12px 16px;
  border-radius: 18px;
  background: rgba(251,247,240,0.90);
  border: 1px solid rgba(227,215,199,0.95);
  box-shadow: 0 12px 26px rgba(23,21,19,0.10);
  color: #1c1b1a;
}
.text-scrim.dark{
  background: rgba(23,21,19,0.55);
  border-color: rgba(255,255,255,0.18);
  color: #fff;
}
/* Slight lift for hero lede/subhead when on images */
.hero .lede, .hero .subhead, .hero .subtitle{
  text-shadow: 0 3px 20px rgba(0,0,0,0.22);
}

/* Wellness hero: slightly stronger overlay for brown-on-brown readability */
.hero--wellness::before{
  background: linear-gradient(180deg, rgba(251,247,240,0.34) 0%, rgba(251,247,240,0.52) 45%, rgba(251,247,240,0.34) 100%);
}
/* Pilates hero: offset text block to avoid hair overlap */
.hero--pilates .hero-copy{
  max-width: 560px;
}
@media (min-width: 900px){
  .hero--pilates .hero-copy{ margin-left: 36px; }
}
/* About hero: slightly stronger overlay */
.hero--about::before{
  background: linear-gradient(180deg, rgba(251,247,240,0.28) 0%, rgba(251,247,240,0.44) 45%, rgba(251,247,240,0.28) 100%);
}

/* Ensure nav stays right-aligned when brand is hidden on home */
.header-inner{
  display:flex;
  justify-content: space-between;
}
.header-inner .nav{
  margin-left:auto;
}

/* About page long-form readability */
.about-panel{
  background: rgba(251,247,240,0.88);
  border: 1px solid rgba(227,215,199,0.9);
  border-radius: 22px;
  padding: 40px 42px;
  margin-top: -60px;
  box-shadow: 0 18px 40px rgba(23,21,19,0.08);
}
.about-panel .editorial-bio{
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
  font-size: 17px;
  line-height: 1.8;
}
@media (max-width: 760px){
  .about-panel{
    padding: 26px 22px;
    margin-top: -30px;
  }
}

.hero--pilates::before{
  background: linear-gradient(180deg, rgba(251,247,240,0.28) 0%, rgba(251,247,240,0.46) 45%, rgba(251,247,240,0.28) 100%);
}

.about-panel .editorial-bio{ color:#1c1b1a; }

/* --- Aesthetic refinements (final) --- */

/* Smaller, cleaner hero tagline chip */
.hero-tagline{
  display: inline-block;
  max-width: 720px;
  padding: 12px 16px;
  border-radius: 18px;
  background: rgba(251,247,240,0.86);
  border: 1px solid rgba(227,215,199,0.92);
  box-shadow: 0 10px 22px rgba(23,21,19,0.10);
  color: #1c1b1a;
  font-size: 18px;
  line-height: 1.55;
}

/* Prevent oversized scrim styles from earlier passes from affecting layout */
.text-scrim{
  background: rgba(251,247,240,0.86);
  color:#1c1b1a;
}

/* About page: remove negative overlap and keep panel airy */
.about-panel{
  margin-top: 28px !important;   /* no overlap into the hero */
  padding: 44px 46px !important;
  background: rgba(251,247,240,0.92) !important;
}
.about-subtitle{
  font-size: 28px;
  line-height: 1.15;
  margin: 8px 0 16px;
}
/* Keep hero lede clean (no pill look) */
.hero--about .lede{
  margin-top: 10px;
  font-size: 18px;
  color: rgba(28,27,26,0.92);
}
/* Slight stronger overlay for about hero to keep title readable */
.hero--about::before{
  background: linear-gradient(180deg, rgba(251,247,240,0.34) 0%, rgba(251,247,240,0.50) 45%, rgba(251,247,240,0.34) 100%) !important;
}

/* Wellness hero: keep subhead readable without looking "blurred" */
.hero--wellness::before{
  background: linear-gradient(180deg, rgba(251,247,240,0.36) 0%, rgba(251,247,240,0.54) 45%, rgba(251,247,240,0.36) 100%) !important;
}

/* Buttons: keep consistent spacing */
.hero-actions{ gap: 12px; }
@media (max-width: 760px){
  .hero-tagline{ font-size: 16px; padding: 11px 14px; }
  .about-panel{ padding: 28px 22px !important; margin-top: 18px !important; }
  .about-subtitle{ font-size: 22px; }
}

/* Final consistency: same banner text size for Pilates & Wellness */
.hero-tagline,
.hero--wellness .text-scrim{
  font-size: 18px !important;
  line-height: 1.55 !important;
}

/* Button color hierarchy consistency */
.btn-primary,
a.btn-primary,
.hero-actions a:first-child{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}

.btn-secondary,
a.btn-secondary,
.hero-actions a:last-child{
  background:rgba(251,247,240,0.92) !important;
  color:#1c1b1a !important;
  border:1px solid rgba(227,215,199,0.95) !important;
}

/* Darken Wellness & Recovery hero title only */
.hero--wellness h1{
  color:#1b1b1b !important;
}

/* FINAL COLOR CORRECTIONS FOR READABILITY */

/* Eyebrow labels (e.g. WELLNESS & RECOVERY, RECOVERY PRICING) */
.eyebrow,
.section-label{
  color: #3a332f !important;
  letter-spacing: 0.12em;
}

/* Wellness hero subtitle text */
.hero--wellness .text-scrim{
  color: #1e1c1a !important;
}

/* Recovery pricing subtitle */
#recovery-pricing p,
#recovery-pricing .subtle,
#recovery-pricing .lede{
  color: #2b2623 !important;
}

/* Secondary explanatory text */
.hero--wellness p,
.hero--wellness .note{
  color: #2a2521 !important;
}

/* Ensure nothing uses reduced opacity */
.hero--wellness,
.hero--wellness *{
  opacity: 1 !important;
}

/* Reinforce scrim bubble styling for About hero subtitle */
.hero--about .text-scrim{
  padding: 10px 14px;
  background: rgba(251,247,240,0.88);
  border: 1px solid rgba(227,215,199,0.95);
  border-radius: 16px;
  box-shadow: 0 10px 22px rgba(23,21,19,0.10);
  color:#1c1b1a;
}

/* Home page: nudge top menu slightly lower to match other pages */
body.home .site-header,
body.home .header{
  padding-top: 6px !important;
}

/* Home only: nudge top navigation down slightly to match inner pages */
body.home .site-header .nav,
body.home .header .nav,
body.home nav,
body.home .top-nav,
body.home .nav-links {
  margin-top: 6px !important;
}

