/* Rasraj Ayurveda design system */
:root {
    --color-brand: #a70a57;
    --color-brand-hover: #870445;
    --color-brand-soft: #f9eaf2;
    --color-leaf: #35684a;
    --color-leaf-dark: #1f4430;
    --color-whatsapp: #128c7e;
    --color-ink: #20251f;
    --color-muted: #62685f;
    --color-surface: #fff;
    --color-soft: #f7f4ee;
    --color-soft-green: #edf4ee;
    --color-border: #dedbd3;
    --color-footer: #18231c;
    --font-body: "Poppins", "Segoe UI", Arial, sans-serif;
    --font-display: "Questrial", "Trebuchet MS", sans-serif;
    --text-sm: .875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.375rem;
    --text-2xl: clamp(1.75rem, 3vw, 2.5rem);
    --text-hero: clamp(2.5rem, 6vw, 5rem);
    --space-1: .25rem;
    --space-2: .5rem;
    --space-3: .75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    --space-8: 4.5rem;
    --space-9: 6rem;
    --container: 73.5rem;
    --content-narrow: 47rem;
    --radius-sm: .5rem;
    --radius: .875rem;
    --radius-lg: 1.5rem;
    --shadow-sm: 0 .5rem 1.5rem rgba(31,45,35,.08);
    --shadow-md: 0 1rem 2.75rem rgba(31,45,35,.14);
    --transition: 180ms ease;
}

*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { margin: 0; color: var(--color-ink); background: var(--color-surface); font-family: var(--font-body); font-size: var(--text-base); line-height: 1.7; text-rendering: optimizeLegibility; }
body.nav-open { overflow: hidden; }
img,svg,video { display: block; max-width: 100%; }
img,video { height: auto; }
button,input,textarea,select { font: inherit; }
a { color: inherit; text-underline-offset: .2em; }
h1,h2,h3,h4,p { margin-top: 0; }
h1,h2,h3,h4 { font-family: var(--font-display); line-height: 1.15; text-wrap: balance; }
h1 { font-size: var(--text-hero); }
h2 { font-size: var(--text-2xl); }
h3 { font-size: var(--text-xl); }
:focus-visible { outline: 3px solid #e5a400; outline-offset: 3px; }

.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.content-narrow { width: min(100%, var(--content-narrow)); }
.section { padding-block: var(--space-8); }
.section--soft { background: var(--color-soft); }
.section--green { background: var(--color-soft-green); }
.section-heading { max-width: 48rem; margin-bottom: var(--space-7); }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading h2 { margin-bottom: var(--space-3); }
.section-heading p { margin-bottom: 0; color: var(--color-muted); font-size: var(--text-lg); }
.eyebrow { margin-bottom: var(--space-3); color: var(--color-brand); font-size: var(--text-sm); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.grid { display: grid; gap: var(--space-6); }
.grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.grid--4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: var(--space-2); left: var(--space-2); padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); color: #fff; background: var(--color-leaf-dark); transform: translateY(-150%); transition: transform var(--transition); }
.skip-link:focus { transform: translateY(0); }

/* Header */
.site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgba(222,219,211,.8); background: rgba(255,255,255,.95); backdrop-filter: blur(.75rem); }
.header-inner { display: flex; min-height: 5.25rem; align-items: center; gap: var(--space-5); }
.brand { flex: 0 0 auto; margin-right: auto; }
.brand img { width: 10.75rem; max-height: 4rem; object-fit: contain; }
.primary-navigation ul { display: flex; align-items: center; gap: clamp(.75rem,1.4vw,1.4rem); margin: 0; padding: 0; list-style: none; }
.primary-navigation a { position: relative; display: block; padding-block: var(--space-3); text-decoration: none; font-size: .95rem; font-weight: 600; transition: color var(--transition); }
.primary-navigation a::after { position: absolute; right: 0; bottom: .35rem; left: 0; height: 2px; background: var(--color-brand); content: ""; transform: scaleX(0); transition: transform var(--transition); }
.primary-navigation a:hover,.primary-navigation a[aria-current="page"] { color: var(--color-brand); }
.primary-navigation a:hover::after,.primary-navigation a[aria-current="page"]::after { transform: scaleX(1); }
.nav-toggle { display: none; width: 2.75rem; height: 2.75rem; padding: .55rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-ink); background: #fff; cursor: pointer; }
.nav-toggle span:not(.sr-only) { display: block; width: 100%; height: 2px; margin: .28rem 0; border-radius: 2px; background: currentColor; transition: transform var(--transition),opacity var(--transition); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(4) { transform: translateY(-6px) rotate(-45deg); }

/* Buttons */
.button,.floating-whatsapp { display: inline-flex; min-height: 2.8rem; align-items: center; justify-content: center; gap: var(--space-2); border: 1px solid transparent; border-radius: 999px; color: #fff; background: var(--color-brand); box-shadow: 0 .5rem 1rem rgba(167,10,87,.18); text-decoration: none; font-weight: 700; transition: transform var(--transition),background var(--transition),box-shadow var(--transition); }
.button { padding: .7rem 1.15rem; }
.button:hover,.floating-whatsapp:hover { background: var(--color-brand-hover); box-shadow: 0 .75rem 1.5rem rgba(167,10,87,.24); transform: translateY(-2px); }
.button--secondary { color: var(--color-leaf-dark); background: #fff; border-color: var(--color-leaf-dark); box-shadow: none; }
.button--secondary:hover { color: #fff; background: var(--color-leaf-dark); }
.text-link { color: var(--color-brand); font-weight: 700; }

/* Heroes */
.hero,.page-hero { position: relative; isolation: isolate; display: grid; overflow: hidden; color: #fff; background: var(--color-leaf-dark); }
.hero { min-height: clamp(31rem,72vh,47rem); align-items: center; }
.page-hero { min-height: clamp(19rem,48vh,32rem); align-items: end; }
.hero::after,.page-hero::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(12,27,18,.84),rgba(12,27,18,.42) 58%,rgba(12,27,18,.18)); content: ""; }
.hero__media,.page-hero__media { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__content { max-width: 46rem; padding-block: var(--space-9); }
.hero__content h1,.page-hero h1 { margin-bottom: var(--space-5); }
.hero__content p { max-width: 40rem; margin-bottom: var(--space-6); font-size: var(--text-lg); }
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.page-hero__content { padding-block: var(--space-8); }
.page-foundation { min-height: 40vh; padding: var(--space-9) 0; background: linear-gradient(135deg,var(--color-soft),var(--color-soft-green)); }
.page-foundation h1 { max-width: 18ch; margin-bottom: var(--space-5); }
.page-foundation p { max-width: 45rem; color: var(--color-muted); font-size: var(--text-lg); }

/* Cards and media */
.card { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); box-shadow: var(--shadow-sm); transition: transform var(--transition),box-shadow var(--transition); }
.card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); }
.card__media { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.card__body { padding: var(--space-6); }
.card__body>:last-child { margin-bottom: 0; }
.feature-card { min-height: 100%; padding: var(--space-6); border-radius: var(--radius); color: #fff; background: var(--color-leaf-dark); }
.feature-card--brand { background: var(--color-brand); }
.media-frame { overflow: hidden; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.media-frame img { width: 100%; height: 100%; object-fit: cover; }

/* Forms */
.form-grid { display: grid; gap: var(--space-5); }
.field label { display: block; margin-bottom: var(--space-2); font-weight: 700; }
.field input,.field textarea,.field select { width: 100%; min-height: 3rem; padding: .75rem .9rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-ink); background: #fff; transition: border-color var(--transition),box-shadow var(--transition); }
.field textarea { min-height: 8rem; resize: vertical; }
.field input:focus,.field textarea:focus,.field select:focus { border-color: var(--color-brand); box-shadow: 0 0 0 4px var(--color-brand-soft); outline: 0; }
.field-help { margin-top: var(--space-2); color: var(--color-muted); font-size: var(--text-sm); }

/* Footer */
.site-footer { padding: var(--space-8) 0 var(--space-5); color: #fff; background: var(--color-footer); }
.footer-grid { display: grid; grid-template-columns: .8fr 1.2fr 1.2fr; gap: var(--space-7); }
.site-footer h2 { margin-bottom: var(--space-4); font-size: var(--text-lg); }
.site-footer p { margin-bottom: var(--space-3); color: #d6ddd7; }
.site-footer a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: var(--space-5); margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid #435047; font-size: var(--text-sm); }
.footer-bottom nav { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.floating-whatsapp { position: fixed; z-index: 50; right: var(--space-4); bottom: var(--space-4); padding: .75rem 1rem; background: var(--color-whatsapp); box-shadow: 0 .75rem 1.75rem rgba(18,140,126,.3); }
.floating-whatsapp:hover { background: #0b7468; }

@media (max-width:68rem) {
    .nav-toggle { display: block; }
    .header-cta { display: none; }
    .primary-navigation { display: none; position: absolute; inset: 5.25rem 1rem auto; z-index: 100; max-height: calc(100vh - 6.5rem); overflow-y: auto; padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-md); }
    .primary-navigation.is-open { display: block; }
    .primary-navigation ul { align-items: stretch; flex-direction: column; gap: 0; }
    .primary-navigation a { padding: .8rem; }
    .primary-navigation a::after { display: none; }
    .primary-navigation a[aria-current="page"] { border-radius: var(--radius-sm); background: var(--color-brand-soft); }
    .grid--4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width:48rem) {
    :root { --space-8: 3.5rem; --space-9: 4.5rem; }
    .grid--2,.grid--3,.grid--4,.footer-grid { grid-template-columns: 1fr; }
    .hero { min-height: 35rem; }
    .hero::after,.page-hero::after { background: linear-gradient(0deg,rgba(12,27,18,.9),rgba(12,27,18,.35)); }
    .footer-bottom { flex-direction: column; }
    .floating-whatsapp { right: var(--space-3); bottom: var(--space-3); }
}

/* Live-site fidelity layer: preserves Rasraj's established visual identity. */
:root {
    --color-brand: #a70a57;
    --color-brand-hover: #870445;
    --color-whatsapp: #268f91;
    --color-ink: #292929;
    --color-muted: #555;
    --color-soft: #f7f7f7;
    --color-soft-green: #fff;
    --color-border: #e6e6e6;
    --color-footer: #fff;
    --container: 74rem;
    --radius: .35rem;
    --radius-lg: .45rem;
    --shadow-sm: 0 .35rem 1rem rgba(0,0,0,.08);
    --shadow-md: 0 .8rem 2rem rgba(0,0,0,.14);
}

body { overflow-x: hidden; color: var(--color-ink); background: #fff; font-family: "Poppins", "Segoe UI", Arial, sans-serif; line-height: 1.65; }
.section { padding-block: clamp(3.5rem,7vw,6rem); }
.eyebrow { color: #268f91; letter-spacing: .03em; text-transform: none; }
.section-heading h2 { font-weight: 600; }

/* Floating, rounded header used by the current live website. */
.site-header { position: sticky; top: .8rem; z-index: 100; width: min(calc(100% - 2rem), 78rem); margin: .8rem auto 0; border: 1px solid #eee; border-radius: 0 0 2rem 2rem; background: rgba(255,255,255,.98); box-shadow: 0 .2rem .8rem rgba(0,0,0,.12); backdrop-filter: blur(10px); }
.header-inner { min-height: 6.1rem; gap: 1.35rem; padding-inline: 2rem; }
.brand img { width: 13.2rem; max-height: 4.5rem; }
.primary-navigation { order: 2; }
.primary-navigation ul { gap: clamp(.7rem,1.55vw,1.55rem); }
.primary-navigation a { color: #303030; font-size: .98rem; font-weight: 500; }
.primary-navigation a::after { display: none; }
.primary-navigation a:hover,.primary-navigation a[aria-current="page"] { color: #278b8d; }
.header-cta { order: 3; flex: 0 0 auto; border: 0; border-radius: .2rem; background: #288d8f; box-shadow: none; font-weight: 500; }
.header-cta:hover { background: #217879; box-shadow: none; }

/* The live hero artwork already contains its own text and call to action. */
.home-hero { min-height: 0; margin-top: -7.75rem; padding-top: 7.75rem; aspect-ratio: 16/9; color: transparent; background: #d4e57e; }
.home-hero::after { display: none; }
.home-hero__slides,.home-hero__slide { top: 7.75rem; height: calc(100% - 7.75rem); }
.home-hero__slide { object-fit: cover; transform: none; }
.home-hero__slide.is-active { transform: none; }
.home-hero__controls { bottom: 1rem; }
.home-hero__controls button { width: .65rem; height: .65rem; border-color: #8eb6b6; background: #8eb6b6; }
.home-hero__controls button[aria-pressed="true"] { background: #287f81; box-shadow: none; }

.intro-section { padding-top: 4.25rem; padding-bottom: 2.25rem; }
.intro-section .section-heading { max-width: 62rem; }
.intro-section h2 { margin-bottom: 1rem; font-size: clamp(1.65rem,3vw,2.15rem); }
.intro-section p { color: #555; font-size: 1rem; }

.section--soft { background: #fff; }
.value-grid { gap: 0; }
.value-card { min-height: 24rem; border-radius: 0; box-shadow: none; }
.value-card:first-child { background: #218b8e; }
.value-card:nth-child(2) { background: #a70a57; }
.value-card:nth-child(3) { background: #2b805d; }
.value-card>img { opacity: .28; }
.value-card__overlay,.value-card--brand .value-card__overlay { background: linear-gradient(0deg,rgba(0,0,0,.5),rgba(0,0,0,.06)); }
.value-card__content { padding: clamp(1.75rem,4vw,3rem); }
.value-card__content>span { display: none; }
.value-card__content h3 { font-size: 1.35rem; }

.about-preview { background: #fff; }
.about-preview__grid { gap: clamp(2rem,6vw,5rem); }
.about-preview__visual { padding: 1.5rem; }
.about-preview__visual::before { background: #fbecf4; }
.about-preview__visual>p { right: 4%; bottom: 9%; border-radius: 0; background: #a70a57; }
.about-preview__content .button { border-radius: .2rem; background: #288d8f; box-shadow: none; font-weight: 500; }

.section--green { background: #fff; }
.video-strip { grid-auto-columns: minmax(18rem,24rem); gap: 1.5rem; scrollbar-color: #288d8f #eee; }
.video-card { border: 0; border-radius: 0; box-shadow: none; }
.video-card h3 { display: none; }
.video-strip__action { display: none; }

.home-cta { position: relative; isolation: isolate; padding-block: clamp(4rem,8vw,7rem); background: #171717 url('../images/home/cta-background.webp') center/cover no-repeat; }
.home-cta::before { position: absolute; z-index: -1; inset: 0; background: rgba(0,0,0,.58); content: ""; }
.home-cta h2 { font-size: clamp(2rem,4vw,3.25rem); }
.home-cta .button { border-radius: 0; color: #fff; background: #288d8f; }
.home-cta .button:hover { background: #217879; }

/* Inner pages retain the same content, with the live site's clean rectangular treatment cards. */
.page-hero { min-height: clamp(17rem,42vw,29rem); }
.page-hero::after { background: rgba(0,0,0,.42); }
.page-hero__content { padding-bottom: clamp(3rem,7vw,5rem); }
.page-hero h1 { font-size: clamp(2.4rem,6vw,4.6rem); }
.card,.treatment-card,.location-card,.media-frame { border-radius: .25rem; }
.treatment-card { box-shadow: 0 .25rem 1.2rem rgba(0,0,0,.08); }
.text-link { color: #278b8d; }

/* Light footer matching the live site. */
.site-footer { padding: 4.5rem 0 0; color: #292929; background: #fff; }
.footer-grid { grid-template-columns: .9fr 1fr 1fr; }
.footer-logo { width: 15rem; margin-bottom: 1.25rem; }
.site-footer h2 { color: #292929; font-family: inherit; font-size: 1.25rem; font-weight: 500; text-transform: uppercase; }
.site-footer p,.site-footer a { color: #454545; text-decoration: none; }
.footer-closed { color: #c72d3a; }
.footer-bottom { align-items: center; margin-top: 2.5rem; padding-block: 1.3rem; border-top: 0; background: #f6f6f6; }
.footer-bottom::before { position: absolute; right: 0; left: 0; height: 4.3rem; background: #f6f6f6; content: ""; z-index: -1; }
.footer-bottom nav a { color: #333; }

.floating-socials { position: fixed; z-index: 80; right: 1.9rem; bottom: 8.5rem; display: grid; gap: .5rem; }
.floating-social { display: grid; width: 2.55rem; height: 2.55rem; place-items: center; border: 0; color: #fff; text-decoration: none; cursor: pointer; font-family: Arial,sans-serif; font-size: .9rem; font-weight: 700; box-shadow: 0 .25rem .7rem rgba(0,0,0,.16); }
.floating-social--whatsapp { background: #138b78; }
.floating-social--instagram { background: linear-gradient(135deg,#f58529,#dd2a7b,#8134af); }
.floating-social--facebook { background: #3565a8; font-size: 1.35rem; }
.floating-whatsapp { display: none; }

/* Appointment dialog */
.appointment-dialog { width: min(calc(100% - 2rem),32rem); max-height: calc(100dvh - 2rem); padding: 0; overflow: auto; border: 0; border-radius: .5rem; background: transparent; box-shadow: 0 1.25rem 4rem rgba(0,0,0,.3); }
.appointment-dialog::backdrop { background: rgba(10,20,15,.72); backdrop-filter: blur(3px); }
.appointment-dialog__panel { position: relative; padding: clamp(1.5rem,5vw,2.5rem); background: #fff; }
.appointment-dialog__panel h2 { margin-bottom: .75rem; font-size: clamp(1.6rem,5vw,2.2rem); }
.appointment-dialog__panel>p:not(.eyebrow) { color: #666; }
.appointment-dialog__close { position: absolute; top: .75rem; right: .75rem; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 0; border-radius: 50%; background: #f1f1f1; cursor: pointer; font-size: 1.7rem; line-height: 1; }
.appointment-form { display: grid; gap: .85rem; margin-top: 1.5rem; }
.appointment-form .field label { margin-bottom: .3rem; font-weight: 600; }
.appointment-form .field label span { color: #777; font-size: .85rem; font-weight: 400; }
.appointment-form .field input,.appointment-form .field textarea { border-radius: .2rem; }
.appointment-form .field textarea { min-height: 5.5rem; }
.appointment-form .field-help { min-height: 1.1rem; margin-top: .15rem; font-size: .78rem; line-height: 1.25; }
.appointment-submit { width: 100%; border-radius: .2rem; background: #138b78; box-shadow: none; }

@media (max-width:68rem) {
    .site-header { top: .4rem; width: calc(100% - 1rem); margin-top: .4rem; border-radius: 0 0 1.4rem 1.4rem; }
    .header-inner { min-height: 5.25rem; padding-inline: 1.25rem; }
    .brand img { width: 11.5rem; }
    .nav-toggle { order: 3; display: block; }
    .primary-navigation { top: calc(100% + .45rem); right: .5rem; left: .5rem; padding: .75rem; border-radius: .75rem; }
    .header-cta { display: inline-flex; margin-left: auto; padding-inline: .9rem; font-size: .9rem; }
    .home-hero { margin-top: -6.05rem; padding-top: 6.05rem; aspect-ratio: 16/10; }
    .home-hero__slides,.home-hero__slide { top: 6.05rem; height: calc(100% - 6.05rem); }
}

@media (max-width:48rem) {
    .container { width: min(calc(100% - 1.5rem),var(--container)); }
    .site-header { position: sticky; top: 0; width: 100%; margin: 0; border-width: 0 0 1px; border-radius: 0; }
    .header-inner { min-height: 4.6rem; gap: .6rem; padding-inline: .75rem; }
    .brand img { width: 9.7rem; }
    .header-cta { width: 2.75rem; min-height: 2.75rem; padding: 0; overflow: hidden; color: transparent; font-size: 0; }
    .header-cta span { color: #fff; font-size: 1.1rem; }
    .nav-toggle { width: 2.65rem; height: 2.65rem; }
    .primary-navigation { inset: 4.7rem .5rem auto; }
    .home-hero { margin: 0; padding: 0; aspect-ratio: 16/9; min-height: 0; }
    .home-hero__slides,.home-hero__slide { top: 0; height: 100%; }
    .home-hero__slide { object-fit: contain; object-position: center; }
    .home-hero__controls { bottom: .6rem; }
    .intro-section { padding-top: 3rem; }
    .value-grid { grid-template-columns: 1fr; }
    .value-card,.value-card:last-child { min-height: 20rem; }
    .about-preview__visual>p { position: relative; right: auto; bottom: auto; width: max-content; margin: -2rem auto 0; }
    .video-strip { grid-auto-columns: 88%; padding-inline: 0; }
    .home-cta { padding-block: 4rem; }
    .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
    .footer-bottom { align-items: center; flex-direction: column; text-align: center; }
    .floating-socials { right: .75rem; bottom: 1rem; }
    .floating-social { width: 2.7rem; height: 2.7rem; }
    .treatment-card>img { min-height: 13rem; }
}

@media (max-width:24rem) {
    .brand img { width: 8.25rem; }
    .header-cta { display: none; }
}

.not-found { display: grid; min-height: 65vh; place-items: center; padding-block: var(--space-9); text-align: center; background: linear-gradient(135deg,var(--color-soft),var(--color-soft-green)); }
.not-found .container { max-width: 47rem; }
.not-found__code { margin-bottom: 0; color: var(--color-brand-soft); font-family: var(--font-display); font-size: clamp(7rem,22vw,15rem); font-weight: 800; line-height: .7; }
.not-found h1 { margin-bottom: var(--space-5); font-size: clamp(2.25rem,5vw,4rem); }
.not-found .container>p:not(.eyebrow):not(.not-found__code) { color: var(--color-muted); font-size: var(--text-lg); }
.not-found .hero__actions { justify-content: center; }

/* Inner pages */
.page-hero p:not(.eyebrow) { max-width: 42rem; margin-bottom: 0; font-size: var(--text-lg); }
.split-layout,.founder-layout,.article-layout,.contact-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: clamp(3rem,7vw,6rem); }
.photo-collage { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--space-3); }
.photo-collage img { width: 100%; height: 14rem; border-radius: var(--radius); object-fit: cover; }
.photo-collage img:first-child { grid-row: span 2; height: 100%; min-height: 29rem; }
.founder-layout { grid-template-columns: minmax(16rem,.65fr) minmax(20rem,1.35fr); }
.founder-photo { max-width: 27rem; aspect-ratio: 3/4; }
.article-layout { grid-template-columns: minmax(15rem,.6fr) minmax(20rem,1.4fr); }
.article-mark { padding: var(--space-6); border-radius: 50%; background: var(--color-brand-soft); }
.prose { max-width: 48rem; }
.prose p { color: var(--color-muted); }
.prose p:first-of-type { color: var(--color-brand); }
.dosha-grid .card { border-top: 4px solid var(--color-brand); text-align: center; }
.dosha-symbol { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; margin: 0 auto var(--space-4); border-radius: 50%; color: #fff; background: var(--color-leaf); font-weight: 800; }
.philosophy-grid>article { padding: var(--space-7); border-radius: var(--radius-lg); background: var(--color-soft); }
.philosophy-grid>article:last-child { background: var(--color-brand-soft); }
.cta-panel { display: flex; align-items: center; justify-content: space-between; gap: var(--space-7); padding: var(--space-7); border: 1px solid rgba(53,104,74,.18); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.cta-panel>div { max-width: 48rem; }
.cta-panel h2 { margin-bottom: var(--space-3); }
.cta-panel p:not(.eyebrow) { margin-bottom: 0; color: var(--color-muted); }

.treatment-grid { display: grid; gap: var(--space-6); }
.treatment-card { display: grid; grid-template-columns: minmax(17rem,.75fr) minmax(20rem,1.25fr); overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.treatment-card:nth-child(even) { grid-template-columns: minmax(20rem,1.25fr) minmax(17rem,.75fr); }
.treatment-card:nth-child(even)>img { order: 2; }
.treatment-card>img { width: 100%; height: 100%; min-height: 25rem; object-fit: cover; }
.treatment-card__body { align-self: center; padding: clamp(2rem,5vw,4rem); }
.treatment-card__body>span { color: var(--color-brand); font-size: var(--text-sm); font-weight: 800; letter-spacing: .1em; }
.treatment-card__body h2 { margin: var(--space-2) 0 var(--space-4); }
.treatment-card__body p { color: var(--color-muted); }
.treatment-card__body ul { display: grid; gap: var(--space-2); margin: var(--space-5) 0; padding-left: 1.25rem; }
.treatment-card__body li::marker { color: var(--color-brand); }

.testimonial-grid .video-card h2 { font-size: var(--text-base); }
.gallery-grid { columns: 3 18rem; column-gap: var(--space-5); }
.gallery-item { position: relative; width: 100%; margin: 0 0 var(--space-5); padding: 0; overflow: hidden; break-inside: avoid; border: 0; border-radius: var(--radius); background: var(--color-soft); box-shadow: var(--shadow-sm); cursor: zoom-in; }
.gallery-item img { width: 100%; transition: transform 350ms ease; }
.gallery-item>span { position: absolute; right: var(--space-3); bottom: var(--space-3); padding: .45rem .7rem; border-radius: 999px; color: #fff; background: rgba(24,35,28,.82); font-size: var(--text-sm); opacity: 0; transform: translateY(.5rem); transition: opacity var(--transition),transform var(--transition); }
.gallery-item:hover img { transform: scale(1.025); }
.gallery-item:hover>span,.gallery-item:focus-visible>span { opacity: 1; transform: translateY(0); }
.lightbox { width: min(92vw,70rem); max-height: 92vh; padding: 0; overflow: visible; border: 0; border-radius: var(--radius); background: transparent; }
.lightbox::backdrop { background: rgba(8,16,11,.9); backdrop-filter: blur(5px); }
.lightbox img { max-width: 100%; max-height: 88vh; margin: auto; border-radius: var(--radius); object-fit: contain; }
.lightbox__close { position: absolute; z-index: 2; top: -.9rem; right: -.9rem; display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 0; border-radius: 50%; color: var(--color-ink); background: #fff; box-shadow: var(--shadow-md); cursor: pointer; font-size: 1.5rem; }

.location-grid { align-items: stretch; }
.location-card { padding: var(--space-7); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.location-card address { margin-bottom: var(--space-5); color: var(--color-muted); font-style: normal; }
.location-card dl { margin: 0 0 var(--space-5); }
.location-card dl>div { display: grid; grid-template-columns: 6rem 1fr; gap: var(--space-4); padding-block: var(--space-3); border-top: 1px solid var(--color-border); }
.location-card dt { font-weight: 700; }
.location-card dd { margin: 0; }
.contact-layout { align-items: start; }
.contact-list { display: grid; gap: var(--space-3); padding: 0; list-style: none; font-weight: 700; }
.contact-form { overflow: visible; }
.field [aria-invalid="true"] { border-color: #b42318; box-shadow: 0 0 0 4px rgba(180,35,24,.1); }
.field-help { min-height: 1.4em; margin-bottom: 0; color: #b42318; }
.form-note { min-height: 1.7em; margin: 0; color: var(--color-leaf-dark); font-weight: 600; }

@media (max-width:68rem) {
    .testimonial-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width:48rem) {
    .split-layout,.founder-layout,.article-layout,.contact-layout,.treatment-card,.treatment-card:nth-child(even) { grid-template-columns: 1fr; }
    .treatment-card:nth-child(even)>img { order: 0; }
    .treatment-card>img { min-height: 17rem; max-height: 23rem; }
    .photo-collage img { height: 10rem; }
    .photo-collage img:first-child { min-height: 21rem; }
    .founder-photo { margin-inline: auto; }
    .cta-panel { align-items: flex-start; flex-direction: column; padding: var(--space-6); }
    .testimonial-grid { grid-template-columns: 1fr; }
    .gallery-grid { columns: 2 9rem; column-gap: var(--space-3); }
    .gallery-item { margin-bottom: var(--space-3); }
    .gallery-item>span { display: none; }
}

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

/* Homepage */
.home-hero { position: relative; isolation: isolate; display: grid; min-height: clamp(32rem,72vh,48rem); align-items: center; overflow: hidden; color: #fff; background: var(--color-leaf-dark); }
.home-hero::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(10,25,16,.88),rgba(10,25,16,.56) 52%,rgba(10,25,16,.16)); content: ""; }
.home-hero__slides,.home-hero__slide { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.home-hero__slide { object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity 700ms ease,transform 6s ease; }
.home-hero__slide.is-active { opacity: 1; transform: scale(1); }
.home-hero__content { padding-block: var(--space-9); }
.home-hero__content h1 { max-width: 12ch; margin-bottom: var(--space-5); text-shadow: 0 3px 18px rgba(0,0,0,.2); }
.home-hero__content>p:not(.eyebrow) { max-width: 42rem; margin-bottom: var(--space-6); font-size: var(--text-lg); }
.home-hero__eyebrow { color: #f2c6dc; }
.home-hero .button--secondary { color: #fff; border-color: rgba(255,255,255,.8); background: rgba(255,255,255,.08); }
.home-hero .button--secondary:hover { color: var(--color-leaf-dark); background: #fff; }
.home-hero__controls { position: absolute; right: 0; bottom: var(--space-5); left: 0; z-index: 2; display: flex; justify-content: center; gap: var(--space-2); }
.home-hero__controls button { width: .75rem; height: .75rem; padding: 0; border: 1px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.home-hero__controls button[aria-pressed="true"] { background: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,.2); }
.intro-section { padding-bottom: var(--space-7); }
.intro-section .section-heading { margin-bottom: 0; }

.value-card { position: relative; isolation: isolate; min-height: 27rem; display: flex; align-items: end; overflow: hidden; border-radius: var(--radius-lg); color: #fff; box-shadow: var(--shadow-sm); }
.value-card>img,.value-card__overlay { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.value-card>img { object-fit: cover; transition: transform 500ms ease; }
.value-card__overlay { z-index: -1; background: linear-gradient(0deg,rgba(8,20,12,.95),rgba(8,20,12,.18)); }
.value-card--brand .value-card__overlay { background: linear-gradient(0deg,rgba(135,4,69,.96),rgba(167,10,87,.45)); }
.value-card:hover>img { transform: scale(1.04); }
.value-card__content { padding: var(--space-6); }
.value-card__content>span { display: inline-block; margin-bottom: var(--space-5); color: rgba(255,255,255,.72); font-size: var(--text-sm); font-weight: 700; letter-spacing: .1em; }
.value-card__content h3 { margin-bottom: var(--space-3); text-transform: uppercase; }
.value-card__content p { margin-bottom: 0; color: rgba(255,255,255,.9); }

.about-preview__grid { display: grid; grid-template-columns: minmax(18rem,.85fr) minmax(20rem,1.15fr); align-items: center; gap: clamp(3rem,8vw,7rem); }
.about-preview__visual { position: relative; padding: var(--space-6); }
.about-preview__visual::before { position: absolute; z-index: -1; inset: 4% 8% 16%; border-radius: 50%; background: var(--color-brand-soft); content: ""; }
.about-preview__mark { max-width: 27rem; margin-inline: auto; }
.about-preview__visual>p { position: absolute; right: 0; bottom: 8%; min-width: 12rem; margin: 0; padding: var(--space-4) var(--space-5); border-radius: var(--radius); color: #fff; background: var(--color-brand); box-shadow: var(--shadow-md); }
.about-preview__visual>p strong,.about-preview__visual>p span { display: block; }
.about-preview__visual>p strong { font-size: var(--text-xl); }
.about-preview__visual>p span { font-size: var(--text-sm); }
.about-preview__content h2 { margin-bottom: var(--space-5); }
.about-preview__content p:not(.eyebrow) { color: var(--color-muted); }

.video-strip { display: grid; grid-auto-columns: minmax(19rem,31rem); grid-auto-flow: column; gap: var(--space-5); overflow-x: auto; padding: var(--space-2) var(--space-2) var(--space-5); scroll-snap-type: x mandatory; scrollbar-color: var(--color-brand) var(--color-border); }
.video-card { overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); scroll-snap-align: start; }
.video-card__frame { aspect-ratio: 16/9; background: var(--color-leaf-dark); }
.video-card iframe { width: 100%; height: 100%; border: 0; }
.video-card h3 { margin: 0; padding: var(--space-4) var(--space-5); font-size: var(--text-base); }
.video-strip__action { margin: var(--space-5) 0 0; text-align: center; }

.home-cta { color: #fff; background: linear-gradient(135deg,var(--color-brand-hover),var(--color-brand)); text-align: center; }
.home-cta__inner { max-width: 58rem; }
.home-cta .eyebrow { color: #f8cee3; }
.home-cta h2 { margin-bottom: var(--space-4); }
.home-cta p:not(.eyebrow) { max-width: 46rem; margin: 0 auto var(--space-6); color: rgba(255,255,255,.9); font-size: var(--text-lg); }
.home-cta .button { color: var(--color-brand); background: #fff; box-shadow: none; }
.home-cta .button:hover { color: #fff; background: var(--color-leaf-dark); }

@media (max-width:68rem) {
    .value-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .value-card:last-child { grid-column: 1/-1; min-height: 23rem; }
}

@media (max-width:48rem) {
    .home-hero { min-height: 38rem; align-items: end; }
    .home-hero::after { background: linear-gradient(0deg,rgba(10,25,16,.94),rgba(10,25,16,.34)); }
    .home-hero__content { padding-bottom: var(--space-9); }
    .value-grid { grid-template-columns: 1fr; }
    .value-card,.value-card:last-child { grid-column: auto; min-height: 24rem; }
    .about-preview__grid { grid-template-columns: 1fr; gap: var(--space-7); }
    .about-preview__visual>p { right: var(--space-4); }
    .video-strip { grid-auto-columns: 88%; }
}
