/* Art direction: Afro-minimalist luxury wellness brand → editorial calm, clinical authority, spiritual undertone.
   Palette: black, warm beige, muted gold with neutral layering.
   Typography: Playfair Display + Manrope for elegance with modern clarity.
   Density: spacious, restrained, high-end. */
:root,
[data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2.25rem, 1.3rem + 3vw, 4.75rem);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --color-bg: #f5f0e6;
  --color-surface: #f8f3ea;
  --color-surface-2: #fffaf3;
  --color-surface-offset: #ece3d3;
  --color-surface-dynamic: #e1d4c0;
  --color-border: rgba(0,0,0,0.12);
  --color-divider: rgba(0,0,0,0.08);
  --color-text: #111111;
  --color-text-muted: #544d43;
  --color-text-faint: #857a6c;
  --color-text-inverse: #f5f0e6;
  --color-primary: #000000;
  --color-primary-hover: #202020;
  --color-primary-highlight: #c8a96a;
  --color-gold: #c8a96a;
  --color-gold-deep: #a78643;
  --shadow-sm: 0 8px 24px rgba(35, 22, 0, 0.06);
  --shadow-md: 0 18px 48px rgba(35, 22, 0, 0.1);
  --radius-sm: 0.4rem;
  --radius-md: 0.75rem;
  --radius-lg: 1.25rem;
  --radius-xl: 2rem;
  --radius-full: 9999px;
  --content-default: 1180px;
  --content-narrow: 820px;
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

[data-theme="dark"] {
  --color-bg: #0f0e0c;
  --color-surface: #171513;
  --color-surface-2: #1e1a16;
  --color-surface-offset: #231e18;
  --color-surface-dynamic: #2d251d;
  --color-border: rgba(245, 240, 230, 0.14);
  --color-divider: rgba(245, 240, 230, 0.08);
  --color-text: #f5f0e6;
  --color-text-muted: #d3c6b0;
  --color-text-faint: #a5967e;
  --color-text-inverse: #111111;
  --color-primary: #f5f0e6;
  --color-primary-hover: #ffffff;
  --color-primary-highlight: #c8a96a;
  --shadow-sm: 0 10px 24px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 20px 54px rgba(0, 0, 0, 0.42);
}

*,:before,:after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth;scroll-padding-top:6rem}
body{min-height:100vh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;background:var(--color-bg);color:var(--color-text);background-image:radial-gradient(circle at top right, rgba(200,169,106,.14), transparent 30%), linear-gradient(to bottom, rgba(255,255,255,.08), transparent 20%)}
a{color:inherit;text-decoration:none} img,svg{display:block;max-width:100%;height:auto} button,input,textarea,select{font:inherit;color:inherit} button{cursor:pointer;border:none;background:none} ul[role="list"]{list-style:none}
:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:var(--space-4);top:var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);z-index:1000}
.container{width:min(calc(100% - 2rem), var(--content-default));margin-inline:auto}.site-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(18px);background:rgba(245,240,230,.84);border-bottom:1px solid var(--color-divider)}[data-theme="dark"] .site-header{background:rgba(15,14,12,.84)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:5.5rem}.brand{display:flex;align-items:center;gap:var(--space-3)}.brand-mark{width:3rem;height:3rem;color:var(--color-gold)}.brand-ring{stroke:currentColor;stroke-width:1.75;fill:none}.brand-path{fill:currentColor}.brand span{display:grid}.brand strong{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase}.brand small{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.18em;text-transform:uppercase}
.site-nav{display:flex;align-items:center;gap:var(--space-5)}.site-nav a{font-size:var(--text-sm);color:var(--color-text-muted)}.site-nav a.active,.site-nav a:hover{color:var(--color-text)}.nav-actions{display:flex;align-items:center;gap:var(--space-3)}.theme-toggle,.nav-toggle{min-width:44px;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-full);display:grid;place-items:center}.nav-toggle{display:none;padding-inline:var(--space-4)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 var(--space-6);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{border:1px solid var(--color-border);background:transparent;color:var(--color-text)}.mobile-cta{display:none}
.hero,.page-hero{padding:clamp(4rem,8vw,8rem) 0}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-12);align-items:center}.eyebrow{font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--color-gold-deep);margin-bottom:var(--space-4);font-weight:800}.hero h1,.page-hero h1,.section-heading h2,.section-intro h2,.editorial-copy h2,.service-panel h2,.program-panel h2,.contact-card h2,.contact-aside h2,.topic-card h2{font-family:var(--font-display);line-height:1.05}.hero h1{font-size:var(--text-2xl);max-width:11ch;margin-bottom:var(--space-5)}.hero-text,.lead{font-size:var(--text-lg);max-width:58ch;color:var(--color-text-muted)}.hero-actions{display:flex;gap:var(--space-4);margin:var(--space-8) 0}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-divider)}.hero-metrics strong{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm)}.hero-metrics span{font-size:var(--text-xs);color:var(--color-text-muted)}
.portrait-card{position:relative;padding:var(--space-4);background:linear-gradient(180deg, rgba(200,169,106,.18), rgba(255,255,255,.2));border:1px solid var(--color-border);border-radius:calc(var(--radius-xl) + var(--space-2));box-shadow:var(--shadow-md)}.portrait-card img{border-radius:var(--radius-xl);aspect-ratio:4/5;object-fit:cover;background:var(--color-surface-offset)}.portrait-note{position:absolute;left:var(--space-8);bottom:var(--space-8);background:rgba(17,17,17,.78);color:#fff;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);backdrop-filter:blur(10px)}.portrait-note span{display:block;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:#d6c09a}.portrait-note strong{font-size:var(--text-lg);font-family:var(--font-display)}
.section{padding:clamp(4rem,7vw,7rem) 0}.section-soft{background:var(--color-surface)}.section-dark{background:#101010;color:#f4ece0}.section-dark .eyebrow,.section-dark p,.section-dark .section-heading h2{color:inherit}.light-copy .eyebrow{color:#d2b67f}
.section-heading{max-width:44rem;margin-bottom:var(--space-10)}.section-heading h2,.section-intro h2,.page-hero h1{font-size:var(--text-xl);margin-bottom:var(--space-4)}.split-section,.editorial-grid,.contact-grid,.cta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-10);align-items:start}.section-body p + p,.editorial-copy p + p{margin-top:var(--space-5)}
.program-grid,.testimonial-grid,.values-grid,.topic-grid,.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.program-grid{grid-template-columns:repeat(2,1fr)}.feature-card,.testimonial-card,.value-card,.topic-card,.mini-card,.service-panel,.program-panel,.contact-card,.info-panel{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.feature-card img,.program-panel img{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);aspect-ratio:16/10;object-fit:cover;background:var(--color-surface-offset)}.card-content,.panel-copy,.contact-card,.info-panel,.service-panel,.topic-card,.value-card,.mini-card{padding:var(--space-8)}
.text-link{display:inline-block;margin-top:var(--space-4);font-weight:700;color:var(--color-gold-deep)}.outcome-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.outcome-card{padding:var(--space-8);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);background:rgba(255,255,255,.03)}.outcome-card strong{display:block;margin-bottom:var(--space-3);font-family:var(--font-display);font-size:var(--text-lg)}
.testimonial-card p{font-size:var(--text-lg);font-family:var(--font-display);line-height:1.45;margin-bottom:var(--space-5)}.testimonial-card cite{font-style:normal;color:var(--color-text-muted);font-size:var(--text-sm)}.media-list{display:grid;gap:var(--space-4)}.media-item{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-divider)}.media-item span{display:block;font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-2)}
.cta-band{border-top:1px solid var(--color-divider)}.email-signup label,.contact-form label{display:block;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-2)}.input-row{display:flex;gap:var(--space-3);align-items:center} input,textarea,select{width:100%;padding:0 var(--space-4);min-height:54px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-2)}textarea{padding-block:var(--space-4);min-height:10rem;resize:vertical}.stacked{display:grid;gap:var(--space-3)}
.page-hero-narrow .container{max-width:var(--content-narrow)}.editorial-grid{grid-template-columns:.9fr 1.1fr}.image-stack img{border-radius:var(--radius-xl);background:var(--color-surface-offset);box-shadow:var(--shadow-md)}.services-stack,.program-detail-grid{display:grid;gap:var(--space-6)}.service-panel,.program-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-6);align-items:start}.benefit-grid .mini-grid{margin-top:var(--space-8)}.detail-list{display:grid;gap:var(--space-3);margin-top:var(--space-6)}.detail-list li{padding-left:1.2rem;position:relative}.detail-list li::before{content:"";position:absolute;left:0;top:.7rem;width:.45rem;height:.45rem;border-radius:50%;background:var(--color-gold)}.contact-grid{grid-template-columns:1.1fr .9fr}.contact-form{display:grid;gap:var(--space-4)}.contact-aside{display:grid;gap:var(--space-6)}.info-panel a{font-weight:700}
.site-footer{padding:var(--space-16) 0;border-top:1px solid var(--color-divider)}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:var(--space-8)}.site-footer h3,.site-footer h4{margin-bottom:var(--space-4);font-family:var(--font-display)}.site-footer a{display:block;color:var(--color-text-muted);margin-bottom:var(--space-2)}.site-footer p{color:var(--color-text-muted)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s ease}.reveal.in-view{opacity:1;transform:none}.reveal-delay{transition-delay:.15s}.reveal-delay-2{transition-delay:.3s}

@media (max-width: 980px){
  .hero-grid,.split-section,.editorial-grid,.contact-grid,.cta-grid,.service-panel,.program-panel,.program-grid,.testimonial-grid,.values-grid,.topic-grid,.mini-grid,.outcome-grid,.footer-grid,.hero-metrics{grid-template-columns:1fr}
  .site-nav{position:absolute;top:100%;left:1rem;right:1rem;display:none;flex-direction:column;align-items:flex-start;padding:var(--space-5);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}
  .site-nav.open{display:flex}.nav-toggle{display:grid}.desktop-cta{display:none}.mobile-cta{display:inline-flex;width:100%}.hero h1{max-width:12ch}.hero-actions,.input-row{flex-direction:column;align-items:stretch}
}

@media (max-width: 640px){
  .container{width:min(calc(100% - 1.25rem), var(--content-default))}
  .nav-wrap{min-height:5rem}.card-content,.panel-copy,.contact-card,.info-panel,.service-panel,.topic-card,.value-card,.mini-card{padding:var(--space-6)}
  .portrait-note{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn:hover{transform:none}
}
