/* āshrams homepage */
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,300;0,400;1,300;1,400&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,300;1,400&family=Cormorant+Infant:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,600;1,700&family=DM+Sans:wght@300;400;500&family=Inter:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400&family=Manrope:wght@200;300;400;500;600;700;800&family=Montserrat:wght@100;200;300;400&family=Noto+Serif:ital,wght@0,400;0,500;0,600;1,400&family=Playfair+Display:ital,wght@0,300;0,400;0,700;1,300;1,400&family=Ysabeau+Infant:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

:root {
    --ashrams-terracotta: #9a4f3a;
    --ashrams-terracotta-light: #b86b52;
    --ashrams-text: #1a1a1a;
    --ashrams-nav-text: #000000;
    --ashrams-nav-font: 'Ysabeau Infant';
    --ashrams-nav-pill: rgba(189, 189, 189, 0.13);
    --ashrams-nav-pill-hover: rgba(189, 189, 189, 0.2);
    --ashrams-muted: #5c5c5c;
    --ashrams-cream: #faf8f5;
    /* Major headings + display serif — Cormorant Infant (Garamond fallback) */
    --ashrams-serif: 'Cormorant Infant';
    --ashrams-serif-mosaic: var(--ashrams-serif);
    --ashrams-sans: 'DM Sans';
    --ashrams-inter: 'Inter';
    --ashrams-manrope: 'Manrope';
    /* Arriving here — matches Figma */
    --ashrams-arriving-head-accent: #8b4513;
    --ashrams-arriving-body: #55433d;
}

html,
body.ashrams-home {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

body.ashrams-home {
    font-family: var(--ashrams-sans);
    color: var(--ashrams-text);
    background: #ffffff;
}

body.ashrams-home .header,
body.ashrams-home .footer {
    display: none !important;
}

/* Header */
.ashrams-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 100;
    padding: 0;
}

body.ashrams-home .ashrams-header {
    padding-top: 0;
    padding-bottom: 0;
}

/* No global nav/logo on inner āshrams pages (retreat detail, paths, etc.) */
body.ashrams-no-header {
    background: #ffffff;
}

body.ashrams-no-header .ashrams-footer {
    margin-top: 0;
}

/* Profile — full header */
body.ashrams-profile-page {
    background: #ffffff;
}

body.ashrams-profile-page .ashrams-header {
    position: relative;
    background: #ffffff;
    padding-bottom: 0;
}

body.ashrams-profile-page .ashrams-header__nav {
    transform: none;
    align-items: center;
}

body.ashrams-profile-page .ashrams-header__menu {
    display: none !important;
}

body.ashrams-profile-page .ashrams-header__logo {
    display: none;
}

body.ashrams-profile-page .ashrams-header__wordmark--my-journeys {
    display: inline-flex;
}

@media (min-width: 1000px) {
    body.ashrams-profile-page .ashrams-header__logo img {
        width: 132px;
        height: 80px;
    }
}

body.ashrams-profile-page .ashrams-footer {
    margin-top: 0;
    padding-top: 0;
    background: transparent;
}

.ashrams-header__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 81px;
}

.ashrams-header__nav--full {
    width: 100%;
    max-width: var(--ashrams-page-max);
    margin-inline: auto;
    padding-inline: var(--ashrams-shell-pad);
    box-sizing: border-box;
}

.ashrams-header__wordmark-text--mobile {
    display: none;
}

@media (max-width: 767px) {
    .ashrams-header__wordmark-text--desktop {
        display: none;
    }

    .ashrams-header__wordmark-text--mobile:not(.ashrams-header__wordmark-logo) {
        display: inline;
    }
}

.ashrams-header__logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 132px;
    height: 80px;
    margin: 0;
}

.ashrams-header__logo img {
    width: 132px;
    height: 80px;
    max-width: none;
    object-fit: contain;
    filter: none;
}

.ashrams-header__actions {
    display: flex;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
}

.ashrams-header__lang-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: #f3f0ec;
    border-radius: 999px;
    padding: 0.2rem;
    margin-right: 0.65rem;
}

.ashrams-header__lang-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    height: 1.8rem;
    border-radius: 999px;
    font-family: var(--ashrams-sans);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-decoration: none;
    color: #6b5b53;
    transition: all 0.2s ease;
}

.ashrams-header__lang-option:hover {
    color: var(--ashrams-terracotta);
}

.ashrams-header__lang-option.is-active {
    background: var(--ashrams-terracotta);
    color: #fff;
}

.ashrams-header__currency {
    position: relative;
    display: none;
}

@media (min-width: 992px) {
    .ashrams-header__currency {
        display: inline-block;
    }
}

.ashrams-header__currency-btn {
    margin: 0;
    padding: 0.45rem 0.75rem;
    gap: 0.5rem;
    background: #fff;
    border: 1px solid #d4d9e0;
    border-radius: 0.375rem;
    color: #2c3e50;
    font-family: var(--ashrams-sans);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1;
    box-shadow: none;
}

.ashrams-header__currency-btn:hover {
    border-color: #b8c0cb;
    background: #fff;
}

.ashrams-header__currency-icon {
    display: inline-flex;
    align-items: center;
    color: #5c6773;
}

.ashrams-header__currency-icon svg {
    display: block;
}

.ashrams-header__currency-chevron {
    display: inline-flex;
    align-items: center;
    margin-left: 0.15rem;
    color: #5c6773;
}

.ashrams-header__currency-btn img {
    display: none;
}

.ashrams-header__currency-label {
    margin-top: 0;
    white-space: nowrap;
}

.ashrams-header__currency-dropdown {
    right: 0;
    left: auto;
    min-width: 7.5rem;
    border: 1px solid #d4d9e0;
    border-radius: 0.375rem;
    padding: 0.25rem 0;
    margin-top: 0.35rem;
    display: none;
    z-index: 1200;
}

/* Click-to-open on āshrams; disable legacy hover-only behaviour */
.ashrams-header__currency.currency-selector:hover .currency-dropdown {
    display: none;
}

.ashrams-header__currency.currency-selector.is-open .currency-dropdown {
    display: block;
}

.ashrams-header__currency-btn[aria-expanded="true"] .ashrams-header__currency-chevron {
    transform: rotate(180deg);
}

.ashrams-header__currency-chevron {
    transition: transform 0.15s ease;
}

.ashrams-header__currency-dropdown .ashrams-currency-option {
    display: block;
    padding: 0.45rem 0.85rem;
    font-family: var(--ashrams-sans);
    font-size: 0.8125rem;
    color: #2c3e50;
    text-decoration: none;
}

.ashrams-header__currency-dropdown .ashrams-currency-option:hover,
.ashrams-header__currency-dropdown .ashrams-currency-option.is-selected {
    background: #eef2f7;
}

.ashrams-header__currency-dropdown .ashrams-currency-option.is-selected {
    font-weight: 500;
}

.ashrams-header__currency-dropdown img {
    display: none;
}

.ashrams-header__menu {
    display: flex;
    align-items: center;
    gap: 42px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ashrams-header__menu-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 39px;
    padding: 6px 8px;
    border-radius: 21px;
    background: var(--ashrams-nav-pill);
    color: var(--ashrams-nav-text);
    text-decoration: none;
    font-family: var(--ashrams-nav-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.019em;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.ashrams-header__menu-link:hover {
    background: var(--ashrams-nav-pill-hover);
    color: var(--ashrams-nav-text);
}

.ashrams-header__toggle {
    width: 22px;
    min-width: 22px;
    height: 39px;
    margin-left: 24px;
    padding: 0;
    border: none;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
}

.ashrams-header__toggle-line {
    display: block;
    height: 2px;
    background: var(--ashrams-terracotta, #984629);
    border-radius: 999px;
}

/* Figma mobile menu: top + mid same length, bottom shorter, right-aligned */
.ashrams-header__toggle-line--top {
    width: 22px;
}

.ashrams-header__toggle-line--mid {
    width: 22px;
}

.ashrams-header__toggle-line--bottom {
    width: 12px;
}

/* Legacy alias */
.ashrams-header__toggle-line--short {
    width: 12px;
}

@media (max-width: 999px) {
    .ashrams-header {
        border-bottom: 0.5px solid #E5E7EB;
    }

    .ashrams-header__logo,
    .ashrams-header__logo img {
        width: 140px;
        height: 85px;
        max-width: none;
        max-height: none;
        object-fit: contain;
        object-position: left center;
    }

    .ashrams-header__toggle {
        width: 22px;
        min-width: 22px;
        height: 39px;
        margin-left: 1rem;
        padding: 0;
        border-radius: 0;
        background: transparent;
        align-items: flex-end;
        justify-content: center;
        gap: 6px;
    }

    .ashrams-header__toggle-line {
        height: 2px;
    }

    .ashrams-header__toggle-line--top {
        width: 22px;
    }

    .ashrams-header__toggle-line--mid {
        width: 22px;
    }

    .ashrams-header__toggle-line--bottom {
        width: 12px;
    }
}

/* Mobile nav drawer — Figma 390px full-height overlay */
.ashrams-offcanvas {
    --bs-offcanvas-width: min(100%, 24.375rem);
    display: flex;
    flex-direction: column;
    border: none;
    background: #fbf9fe;
}

.ashrams-offcanvas__header {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: flex-start;
    flex: none;
    padding: 2rem 2rem 3rem;
}

.ashrams-offcanvas__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    padding: 0.5rem;
    border: none;
    background: transparent;
    cursor: pointer;
}

.ashrams-offcanvas__close-icon {
    display: block;
    width: 2rem;
    height: 2rem;
    flex: none;
}

.ashrams-offcanvas__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 0;
    overflow-y: auto;
}

.ashrams-offcanvas__primary {
    flex: 1 1 auto;
    padding: 0 2rem;
}

.ashrams-offcanvas__links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
}

.ashrams-offcanvas__links a {
    display: flex;
    align-items: center;
    padding: 0;
    color: #707070;
    text-decoration: none;
    font-family: var(--ashrams-inter);
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.75rem;
    letter-spacing: -0.03125rem;
    border-bottom: none;
    transition: color 0.2s ease;
}

.ashrams-offcanvas__links a:hover {
    color: #1a1a1a;
}

.ashrams-offcanvas__utility {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    margin-top: auto;
    padding: 3rem 2rem 4rem;
    background: #fcfaf8;
}

.ashrams-offcanvas__magazine {
    display: flex;
    align-items: center;
    color: #707070;
    text-decoration: none;
    font-family: var(--ashrams-inter);
    font-size: 1.1rem;
    font-weight: 300;
    line-height: 1.625rem;
    transition: color 0.2s ease;
}

.ashrams-offcanvas__magazine:hover {
    color: #1a1a1a;
}

.ashrams-offcanvas__icon-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.ashrams-offcanvas__icon-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    padding: 0;
    color: #707070;
    text-decoration: none;
    font-family: var(--ashrams-inter);
    font-size: 1.1rem;
    font-weight: 300;
    line-height: 1.625rem;
    transition: color 0.2s ease;
}

.ashrams-offcanvas__icon-link:first-child {
    padding-top: 1.5rem;
    padding-bottom: 0.625rem;
}

.ashrams-offcanvas__icon-link:hover {
    color: #1a1a1a;
}

.ashrams-offcanvas__icon {
    flex: none;
    display: block;
    width: 1.375rem;
    height: 1.375rem;
}

.ashrams-offcanvas__icon-link span {
    margin-left: 0.75rem;
}

/* Phone nav drawer — Figma 393px (≤767px covers 375–414) */
@media (max-width: 767px) {
    .ashrams-offcanvas {
        --bs-offcanvas-width: 100%;
        background: #fdfdfd;
    }

    body.ashrams-home .ashrams-offcanvas.offcanvas,
    body.ashrams-place-page .ashrams-offcanvas.offcanvas {
        min-height: 100dvh;
    }

    .ashrams-offcanvas__header {
        position: relative;
        isolation: isolate;
        flex: none;
        align-items: flex-start;
        justify-content: flex-end;
        height: 5rem;
        min-height: 5rem;
        padding: 0 2rem;
    }

    .ashrams-offcanvas__close {
        position: absolute;
        top: 1rem;
        right: 2rem;
        z-index: 0;
    }

    .ashrams-offcanvas__body {
        flex: none;
    }

    .ashrams-offcanvas__primary {
        flex: none;
        padding: 0 2rem 3.125rem;
    }

    .ashrams-offcanvas__links a {
        font-weight: 300;
    }

    .ashrams-offcanvas__utility {
        margin-top: 0;
        padding: 3rem 2rem 4rem;
    }

    .ashrams-offcanvas__magazine,
    .ashrams-offcanvas__icon-link {
        font-weight: 300;
        font-size: 1.1rem;
        line-height: 1.625rem;
    }
}

/* Typography */
.ashrams-eyebrow {
    font-size: clamp(0.625rem, 1.4vw, 0.7rem);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--ashrams-terracotta);
    margin-bottom: 0.75rem;
}

.ashrams-title {
    font-family: var(--ashrams-serif);
    font-weight: 300;
    line-height: 1.1;
    margin: 0 0 1.5rem;
}

.ashrams-title .accent {
    color: var(--ashrams-terracotta);
    font-style: italic;
}

.ashrams-title--xl {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
}

.ashrams-title--lg {
    font-size: clamp(2rem, 4.5vw, 3.5rem);
}

/* Why Āshrams Exist — match India, A Mosaic of Life title */
.ashrams-why .ashrams-title {
    font-family: var(--ashrams-serif);
    font-weight: 300;
    font-size: clamp(1.6875rem, 4.1vw, 2.5625rem);
    line-height: 1.15;
    letter-spacing: 0;
    color: #4a4a4a;
    text-align: center;
}

.ashrams-why .ashrams-title .accent {
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    font-style: normal;
    color: #984629;
}

/* Less space between headline band and split narrative (“Our roots”) */
.ashrams-why {
    padding-bottom: clamp(0.625rem, 2vw, 1rem);
}

.ashrams-why + .ashrams-began {
    padding-top: clamp(0.625rem, 2vw, 1rem);
}

/* Split narrative rows: Our roots / Our context / Our intent — unified Figma styling */
.ashrams-split-narrative .ashrams-split__text {
    font-family: var(--ashrams-inter);
    color: var(--ashrams-text);
}

.ashrams-split-narrative .ashrams-eyebrow {
    font-weight: 500;
}

.ashrams-split-narrative .ashrams-title {
    font-family: var(--ashrams-inter);
    font-size: clamp(1.625rem, 3vw, 2rem);
    font-weight: 200;
    line-height: 1.33;
    margin-bottom: 1.25rem;
    letter-spacing: 0;
    color: var(--ashrams-text);
}

.ashrams-split-narrative .ashrams-body {
    font-size: clamp(0.9375rem, 1.65vw, 1.09375rem);
    font-weight: 300;
    line-height: 1.75;
}

/* Desktop — inset row from guide lines; equal columns, shared text/image sizing */
@media (min-width: 1000px) {
    body.ashrams-home .ashrams-split-narrative .container.cnt-max__1320.ashrams-split {
        padding-inline: calc(var(--ashrams-shell-pad) + clamp(1.25rem, 2.5vw, 2.5rem));
        box-sizing: border-box;
    }

    .ashrams-split-narrative .ashrams-split {
        grid-template-columns: 1fr 1fr;
        gap: clamp(2rem, 4vw, 3.5rem);
    }

    .ashrams-split-narrative .ashrams-split__text {
        max-width: 30.875rem;
        width: 100%;
    }

    .ashrams-split-narrative .ashrams-split--reverse .ashrams-split__text {
        justify-self: end;
    }

    .ashrams-split-narrative .ashrams-split__media {
        width: 92%;
        max-width: 100%;
        justify-self: center;
    }

    .ashrams-split-narrative .ashrams-title {
        font-size: 2rem;
        line-height: 2.65rem;
    }

    .ashrams-split-narrative .ashrams-body {
        font-size: 1.09375rem;
        line-height: 1.78;
    }

    .ashrams-split-narrative .ashrams-body p + p {
        margin-top: 1rem;
    }
}

.ashrams-body {
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.75;
    color: var(--ashrams-muted);
    font-weight: 300;
}

.ashrams-body p + p {
    margin-top: 1rem;
}

.ashrams-section {
    padding: clamp(3rem, 8vw, 5rem) 0;
    background: #ffffff;
}

/* Hero → “Arriving here” — no negative overlap; image stays fully visible above */
.ashrams-hero-fade + .ashrams-section {
    position: relative;
    z-index: 2;
    margin-top: 0;
    padding-top: clamp(2.5rem, 5vw, 4rem);
    background: #ffffff;
}

.ashrams-hero-fade + .ashrams-section::before {
    display: none;
}

.ashrams-hero-fade + .ashrams-section.ashrams-arriving {
    background: #ffffff;
}

.ashrams-hero-fade + .ashrams-section.ashrams-arriving::before {
    display: none;
}

.ashrams-arriving {
    background-color: #ffffff;
    padding-bottom: 0;
}

@media (min-width: 1301px) {
    .ashrams-section.ashrams-arriving {
        padding-top: clamp(1.5rem, 3vw, 2.5rem);
    }
}

.ashrams-arriving__intro {
    padding-bottom: 0;
}

/* Figma — title + body over upper mist band of panorama (desktop) or stacked (mobile) */
.ashrams-arriving__overlay .ashrams-title.ashrams-title--lg {
    font-family: var(--ashrams-serif);
    font-weight: 300;
    font-style: normal;
    font-size: clamp(2rem, 3.65vw, 2.5rem);
    line-height: 2.75rem;
    letter-spacing: 0;
    color: #4A4A4A;
    margin: 0 0 clamp(1.125rem, 2.75vw, 1.625rem);
    text-wrap: balance;
}

.ashrams-arriving__overlay .ashrams-title--lg .accent {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: #984629;
    font-style: normal;
}

.ashrams-arriving__overlay .ashrams-arriving__body {
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
    font-family: var(--ashrams-manrope);
    font-weight: 300;
    font-size: clamp(0.75rem, 1.85vw, 1rem);
    line-height: clamp(1.1875rem, 3vw, 1.625rem);
    letter-spacing: 0;
    color: var(--ashrams-arriving-body);
}


.ashrams-arriving__overlay .ashrams-arriving__body p {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
}

.ashrams-arriving__overlay .ashrams-arriving__body p + p {
    margin-top: 1rem;
}

.ashrams-arriving__panorama {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    line-height: normal;
    border: 0;
}

/* Title + para 1 on white; para 2 sits on image fade only (no white seam) */
.ashrams-arriving__overlay {
    position: relative;
    z-index: 3;
    order: 1;
    padding: clamp(1rem, 4vw, 2.5rem) var(--ashrams-shell-pad, clamp(1rem, 4vw, 3.75rem)) 0;
    background: transparent;
    pointer-events: auto;
}

/* White block only behind title + first paragraph */
.ashrams-arriving__overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: auto;
    height: calc(100% - clamp(5.25rem, 11.5vw, 6.75rem));
    background: #ffffff;
    z-index: -1;
    pointer-events: none;
}

.ashrams-arriving__overlay .ashrams-arriving__body p:last-child {
    position: relative;
    z-index: 4;
    margin-bottom: 0;
}

.ashrams-arriving__picture {
    order: 2;
    position: relative;
    z-index: 1;
    display: block;
    margin: clamp(-3.75rem, -7vw, -2rem) 0 0;
    padding: 0;
    line-height: 0;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1920 / 730;
}

.ashrams-arriving__picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: scaleX(-1);
}

/* Desktop (≥1000px) — arriving headline + body */
@media (min-width: 1000px) {
    .ashrams-arriving__overlay .ashrams-title.ashrams-title--lg {
        font-size: 2.5rem;
        line-height: 2.75rem;
        margin-bottom: 1.625rem;
    }

    .ashrams-arriving__overlay .ashrams-arriving__body {
        max-width: 38.75rem;
        font-size: 1rem;
        line-height: 1.625rem;
        font-weight: 200;
        letter-spacing: 0.01em;
        color: #4A4A4A;
    }

    .ashrams-arriving__overlay .ashrams-arriving__body p + p {
        margin-top: 1.25rem;
    }

    /* Seamless text → Varanasi handoff (no visible horizontal seam) */
    .ashrams-arriving__overlay::before {
        height: calc(100% - clamp(4.5rem, 10vw, 6rem));
        background: linear-gradient(
            180deg,
            #ffffff 0%,
            #ffffff 58%,
            rgba(255, 255, 255, 0.96) 72%,
            rgba(255, 255, 255, 0.72) 86%,
            rgba(255, 255, 255, 0) 100%
        );
    }

    .ashrams-arriving__overlay .ashrams-arriving__body p:last-child {
        padding-bottom: clamp(0.5rem, 1vw, 0.875rem);
        text-shadow:
            0 0 1.25rem rgba(255, 255, 255, 0.98),
            0 0 0.5rem rgba(255, 255, 255, 0.95),
            0 1px 0 rgba(255, 255, 255, 0.9);
    }

    .ashrams-arriving__picture {
        margin-top: clamp(-7.5rem, -11.5vw, -5.5rem);
    }

    .ashrams-arriving__picture::before {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(
            180deg,
            #ffffff 0%,
            rgba(255, 255, 255, 0.97) 5%,
            rgba(255, 255, 255, 0.86) 12%,
            rgba(255, 255, 255, 0.62) 22%,
            rgba(255, 255, 255, 0.35) 32%,
            rgba(255, 255, 255, 0.14) 42%,
            transparent 52%
        );
    }
}

/* Desktop-L (≥1301px) */
@media (min-width: 1301px) {
    .ashrams-arriving__overlay::before {
        height: calc(100% - clamp(5rem, 10.5vw, 6.5rem));
    }

    .ashrams-arriving__overlay .ashrams-arriving__body p:last-child {
        padding-bottom: clamp(0.75rem, 1.5vw, 1.125rem);
    }

    .ashrams-arriving__picture {
        margin-top: clamp(-8rem, -12vw, -6rem);
    }
}

.ashrams-arriving__overlay .ashrams-arriving__intro {
    pointer-events: auto;
}

/* Bottom feather only — handoff to next section */
.ashrams-arriving__picture::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        to top,
        #ffffff 0%,
        rgba(255, 255, 255, 0.5) 10%,
        transparent 22%
    );
}

/* Paths after Varanasi: start pure white — no beige seam — then taper into cream */
.ashrams-arriving + .ashrams-section.ashrams-section--cream {
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        #ffffff clamp(64px, 11vh, 140px),
        var(--ashrams-cream) clamp(200px, 32vh, 420px),
        var(--ashrams-cream) 100%
    );
}

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

/* Keep Arriving -> Mosaic transition pure white at all widths */
.ashrams-arriving + .ashrams-section.ashrams-section--cream,
.ashrams-section--cream,
.ashrams-places {
    background: #ffffff;
}

.ashrams-center {
    text-align: center;
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
}

/* Hero — Figma 1444×1071: temple + reflection bottom-left, centered headline, scroll */
.ashrams-hero {
    position: relative;
    width: 100%;
    aspect-ratio: 1440 / 1120;
    height: auto;
    min-height: 0;
    max-height: none;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(6rem, 13.5vw, 12.5rem) 1.5rem clamp(5rem, 11vh, 7rem);
    text-align: center;
    overflow: hidden;
}

.ashrams-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-size: 135%;
    background-position: 0% 26%;
}

/* Figma: keep reflection visible, then long mist → white (bottom ~half) */
.ashrams-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        transparent 0%,
        transparent 80%,
        rgba(255, 255, 255, 0.12) 89%,
        rgba(255, 255, 255, 0.55) 96%,
        #ffffff 100%
    );
}

/* Light foot blur only — handoff to “Arriving here” */
.ashrams-hero::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: clamp(2.25rem, 5vh, 3.5rem);
    z-index: 1;
    pointer-events: none;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.45) 60%,
        #ffffff 100%
    );
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 80%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 80%);
}

.ashrams-hero__scroll {
    position: absolute;
    left: 50%;
    bottom: 38%;
    z-index: 2;
    margin: 0;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--ashrams-sans);
    font-size: clamp(0.5rem, 1.2vw, 0.625rem);
    font-weight: 300;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.82);
    text-shadow: 0 0 12px rgba(255, 255, 255, 0.65);
    pointer-events: none;
}

.ashrams-hero__scroll::after {
    content: '';
    display: block;
    width: 1px;
    height: clamp(2rem, 5vh, 3rem);
    background: rgba(255, 255, 255, 0.75);
}

.ashrams-hero__content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
}

.ashrams-hero__title {
    font-family: var(--ashrams-serif);
    font-size: clamp(1.7rem, 3vw, 2.65rem);
    font-weight: 350;
    line-height: 1.15;
    margin-bottom: 1.75rem;
    color: var(--ashrams-text);
    text-shadow: none;
}

.ashrams-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1.5rem;
    border-radius: 999px;
    background: #f0f0f2;
    color: #000000;
    font-family: var(--ashrams-sans);
    font-weight: 300;
    text-decoration: none;
    font-size: clamp(0.75rem, 1.5vw, 0.9rem);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease;
}

.ashrams-btn:hover {
    background: #e8e8ea;
    color: #000000;
}

.ashrams-btn--solid {
    background: var(--ashrams-terracotta);
    color: #fff;
}

.ashrams-btn--solid:hover {
    background: var(--ashrams-terracotta-light);
    color: #fff;
}

/* Optional strip below hero — hidden until asset matches Figma (single full-bleed hero) */
.ashrams-hero-fade {
    display: none;
    position: relative;
    margin-top: -10rem;
    z-index: 2;
}
 
.ashrams-hero-fade img {
    width: 100%;
    max-height: 24rem;
    object-fit: cover;
    object-position: center 30%;
    mask-image: linear-gradient(180deg, #000 25%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, #000 25%, transparent 100%);
}

/*
 * Desktop-M (1000–1300px): shorter hero, same Figma crop (non-Rishikesh heroes)
 */
@media (min-width: 1000px) and (max-width: 1300px) {
    .ashrams-hero:not(:has(.ashrams-hero__bg--rishikesh)) {
        aspect-ratio: 1440 / 1120;
        height: auto;
        min-height: 0;
    }

    .ashrams-hero__bg:not(.ashrams-hero__bg--rishikesh) {
        background-size: 135%;
        background-position: 0% 26%;
    }
}

/*
 * Tablet + mobile (≤999px) — show full temple scene, headline unchanged
 */
@media (max-width: 999px) {
    .ashrams-hero:not(:has(.ashrams-hero__bg--rishikesh)) {
        aspect-ratio: auto;
        height: 100svh;
        min-height: 560px;
        max-height: none;
        padding: clamp(5rem, 12vw, 7rem) 1.25rem clamp(3.5rem, 8vh, 5rem);
    }

    .ashrams-hero__bg:not(.ashrams-hero__bg--rishikesh) {
        background-size: 168%;
        background-position: 18% 30%;
    }

    .ashrams-hero__title {
        font-size: clamp(1.65rem, 4.8vw, 2.45rem);
    }

    .ashrams-section {
        padding: clamp(2.75rem, 7vw, 4rem) 0;
    }
}

/* Tablet (≤999px): larger headline + natural body wrap */
@media (max-width: 999px) {
    .ashrams-arriving__overlay .ashrams-title.ashrams-title--lg {
        font-size: clamp(2rem, 5.5vw, 3rem);
        line-height: 1.1;
        text-wrap: balance;
        white-space: normal;
    }

    .ashrams-arriving__body .ashrams-arriving__br {
        display: none;
    }

    .ashrams-arriving__overlay .ashrams-arriving__body {
        font-size: clamp(0.75rem, 2vw, 1rem);
        line-height: clamp(1.1875rem, 2.85vw, 1.55);
        font-weight: 300;
        max-width: 36rem;
        margin-inline: auto;
    }
}

@media (max-width: 480px) {
    .ashrams-arriving + .ashrams-section.ashrams-section--cream,
    .ashrams-section--cream,
    .ashrams-places {
        background: #ffffff;
    }

    .ashrams-arriving__overlay .ashrams-title.ashrams-title--lg {
        font-size: clamp(1.5rem, 6.5vw, 2rem);
        line-height: 1.15;
    }

    .ashrams-arriving__overlay .ashrams-arriving__body {
        font-size: 0.75rem;
        line-height: 1.1875rem;
        font-weight: 300;
    }

    .ashrams-hero:not(:has(.ashrams-hero__bg--rishikesh)) {
        min-height: 520px;
        padding: clamp(3.25rem, 11vw, 4.5rem) 0.875rem clamp(3rem, 7vh, 4rem);
    }

    .ashrams-hero__bg:not(.ashrams-hero__bg--rishikesh) {
        background-size: 175%;
        background-position: 20% 32%;
    }

    .ashrams-hero:not(:has(.ashrams-hero__bg--rishikesh)) .ashrams-hero__scroll {
        font-size: 0.5625rem;
        bottom: 34%;
        color: rgba(255, 255, 255, 0.78);
    }

    .ashrams-hero__title {
        font-size: clamp(1.35rem, 7.2vw, 1.7rem);
    }
}

/*
 * Rishikesh — mobile portrait (Figma 393×692) — non-frame heroes only
 */
@media (max-width: 480px) {
    .ashrams-hero__bg--rishikesh:not(.ashrams-place__hero-frame-bg) {
        inset: 0 !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        transform: none !important;
        background-image: url('../img/ashram/hero-temple-mobile.jpg') !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
        background-position: center 42% !important;
    }

    .ashrams-hero__bg--rishikesh:not(.ashrams-place__hero-frame-bg)::after {
        inset: 0;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100%;
        background: linear-gradient(
            180deg,
            transparent 0%,
            transparent 88%,
            rgba(255, 255, 255, 0.12) 93%,
            rgba(255, 255, 255, 0.45) 97%,
            rgba(255, 255, 255, 0.85) 100%
        );
    }

    /* Non-homepage frame bg layout only */
    .ashrams-hero:not(.ashrams-hero--home):has(.ashrams-place__hero-frame-bg--rishikesh) {
        aspect-ratio: auto;
        height: min(calc(100vw * 692 / 393), 100svh);
        min-height: min(calc(100vw * 692 / 393), 100svh);
        max-height: 100svh;
        padding: clamp(5rem, 12vw, 6.5rem) 1.25rem clamp(2rem, 5vh, 3rem);
        align-items: flex-start;
        background: #ffffff;
    }

    .ashrams-hero:not(.ashrams-hero--home):has(.ashrams-place__hero-frame-bg--rishikesh)::after {
        display: none;
    }

    .ashrams-hero:not(.ashrams-hero--home):has(.ashrams-place__hero-frame-bg--rishikesh) .ashrams-hero__scroll {
        bottom: clamp(1.25rem, 4vw, 2rem);
        color: rgba(120, 120, 120, 0.85);
        text-shadow: none;
    }

    /* Non-homepage frame bg — bottom fade */
    .ashrams-hero:not(.ashrams-hero--home):not(.ashrams-place__hero-stage) .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh::after {
        display: block !important;
        content: '';
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(
            180deg,
            transparent 0%,
            transparent 88%,
            rgba(255, 255, 255, 0.12) 93%,
            rgba(255, 255, 255, 0.45) 97%,
            rgba(255, 255, 255, 0.85) 100%
        );
    }

    .ashrams-hero:has(.ashrams-hero__bg--rishikesh):not(:has(.ashrams-place__hero-frame-bg--rishikesh)) {
        aspect-ratio: auto;
        height: min(calc(100vw * 692 / 393), 100svh);
        min-height: min(calc(100vw * 692 / 393), 100svh);
        max-height: 100svh;
        padding: clamp(5rem, 12vw, 6.5rem) 1.25rem clamp(2rem, 5vh, 3rem);
        align-items: flex-start;
        background: #ffffff;
    }

    .ashrams-hero:has(.ashrams-hero__bg--rishikesh):not(:has(.ashrams-place__hero-frame-bg--rishikesh))::after {
        display: none;
    }

    .ashrams-hero:has(.ashrams-hero__bg--rishikesh):not(:has(.ashrams-place__hero-frame-bg--rishikesh)) .ashrams-hero__scroll {
        bottom: clamp(1.25rem, 4vw, 2rem);
        color: rgba(120, 120, 120, 0.85);
        text-shadow: none;
    }
}

/*
 * Rishikesh — tablet (481–999px) — non-frame heroes only; frame uses place.css
 */
@media (min-width: 481px) and (max-width: 999px) {
    .ashrams-hero:not(.ashrams-hero--home):has(.ashrams-place__hero-frame-bg--rishikesh) {
        aspect-ratio: auto;
        height: auto;
        min-height: min(calc(100vw * 1120 / 1440), 100svh);
        max-height: none;
        padding: clamp(5rem, 12vw, 7rem) 1.25rem clamp(2rem, 5vh, 3rem);
        background: #ffffff;
    }

    .ashrams-hero__bg--rishikesh:not(.ashrams-place__hero-frame-bg) {
        background-image: url('../img/ashram/hero-temple.jpg') !important;
        background-size: 135% !important;
        background-repeat: no-repeat !important;
        background-position: 0% 26% !important;
    }

    .ashrams-hero__bg--rishikesh:not(.ashrams-place__hero-frame-bg)::after {
        background: linear-gradient(
            180deg,
            transparent 0%,
            transparent 80%,
            rgba(255, 255, 255, 0.12) 89%,
            rgba(255, 255, 255, 0.55) 96%,
            #ffffff 100%
        );
    }

    .ashrams-hero:not(.ashrams-hero--home):has(.ashrams-place__hero-frame-bg--rishikesh) .ashrams-hero__scroll {
        bottom: 38%;
        color: rgba(255, 255, 255, 0.82);
        text-shadow: 0 0 12px rgba(255, 255, 255, 0.65);
    }

    .ashrams-hero:has(.ashrams-hero__bg--rishikesh):not(:has(.ashrams-place__hero-frame-bg--rishikesh)) {
        aspect-ratio: auto;
        height: min(calc(100vw * 1120 / 1440), 100svh);
        min-height: 0;
        max-height: 100svh;
        padding: clamp(5rem, 12vw, 7rem) 1.25rem clamp(2rem, 5vh, 3rem);
        background: #ffffff;
    }

    .ashrams-hero:has(.ashrams-hero__bg--rishikesh):not(:has(.ashrams-place__hero-frame-bg--rishikesh)) .ashrams-hero__scroll {
        bottom: 38%;
        color: rgba(255, 255, 255, 0.82);
        text-shadow: 0 0 12px rgba(255, 255, 255, 0.65);
    }
}

/*
 * Rishikesh desktop — homepage frame bg matches place hero stage height; place.css handles crop
 */
@media (min-width: 1000px) {
    .ashrams-hero:has(.ashrams-place__hero-frame-bg--rishikesh) {
        aspect-ratio: auto;
        height: auto;
        min-height: clamp(32rem, 73vw, 65.625rem);
        max-height: none;
    }

    .ashrams-hero:has(.ashrams-hero__bg--rishikesh):not(:has(.ashrams-place__hero-frame-bg--rishikesh)) {
        aspect-ratio: auto;
        height: min(calc(100vw * 1120 / 1440), 100svh);
        min-height: 0;
        max-height: 100svh;
    }

    .ashrams-hero__bg--rishikesh:not(.ashrams-place__hero-frame-bg) {
        background-size: 135% !important;
        background-position: 0% 26% !important;
    }
}

/*
 * Homepage only — HD hero (Figma 3×: 4320×3213)
 * --home-n  0→1 : 1000px → 393px (narrowing / portrait height blend)
 * --home-m  0→1 : 480px → 393px (phone: center dome, show water reflection)
 * Dome ≈ 30% from left in source — pan bg-x right as viewport narrows to center it.
 */
.ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) {
    --home-n: clamp(0, calc((1000px - 100vw) / (1000px - 393px)), 1);
    --home-m: clamp(0, calc((480px - 100vw) / (480px - 393px)), 1);
    /* ≤394: extra push so BEGIN/headline stay on cloud, not mountain ridge */
    --home-p: clamp(0, calc((394px - 100vw) / (394px - 300px)), 1);
    /* Tablet left-bias → phone: pan to center dome (~30% in source) */
    --home-bg-x: calc(38% - var(--home-n) * 14% - var(--home-m) * 12% - var(--home-p) * 3%);
    /* Full image height visible on phone cover; slight drift keeps mist/reflection balanced */
    --home-bg-y: calc(32% - var(--home-n) * 4% - var(--home-m) * 6%);
}

.ashrams-hero--home .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh {
    /* CMS desktop image via --hero-bg-image; fallback to bundled temple asset */
    background-image: var(
        --hero-bg-image,
        url('../img/ashram/hero-home-temple.png')
    ) !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    background-repeat: no-repeat !important;
    /* Full-frame Figma export — cover matches 1440×1071 artboard */
    background-size: cover !important;
    background-position: center center !important;
}

.ashrams-hero--home .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh::after {
    display: none !important;
}

/* Scroll cue — over water / reflection */
.ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) .ashrams-hero__scroll {
    bottom: 28%;
}

@media (min-width: 1000px) {
    .ashrams-hero--home .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh {
        background-size: cover !important;
        background-position: center center !important;
    }

    .ashrams-hero--home .ashrams-hero__title {
        color: #4A4A4A;
        line-height: 1.28;
        word-spacing: 0.08em;
    }

    .ashrams-hero--home .ashrams-btn {
        font-weight: 350;
    }
}

@media (max-width: 999.98px) {
    /* Cover = no gaps on any edge; fluid pan centers dome + keeps reflection */
    .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh {
        top: 0 !important;
        height: 100% !important;
        background-size: cover !important;
        background-position: var(--home-bg-x) var(--home-bg-y) !important;
    }

    .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) {
        aspect-ratio: auto;
        height: auto;
        max-height: none;
        align-items: flex-start;
        background: #ffffff;
        overflow: hidden;
        /* Landscape frame → Figma phone 393×692 (no jump at 999) */
        min-height: calc(
            clamp(32rem, 73vw, 65.625rem) * (1 - var(--home-n))
            + (100vw * 692 / 393) * var(--home-n)
        );
        /* Headline + BEGIN stay on mist — above mountains, not on temple */
        padding: calc(clamp(5.75rem, 11.5vw, 9.5rem) + var(--home-m) * 0.35rem)
            1.25rem
            clamp(2rem, 5vh, 3rem);
    }

    .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh)::after {
        opacity: calc((1 - var(--home-n) * 0.85) * (1 - var(--home-m)));
    }

    /* Fade scroll out 480→303 (Figma phone has no scroll cue) */
    .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) .ashrams-hero__scroll {
        bottom: calc(28% - var(--home-n) * 28%);
        opacity: calc(1 - var(--home-m));
        pointer-events: none;
        color: color-mix(in srgb, rgba(255, 255, 255, 0.82) calc((1 - var(--home-n)) * 100%), rgba(120, 120, 120, 0.85));
        text-shadow: 0 0 calc(12px * (1 - var(--home-n))) rgba(255, 255, 255, 0.65);
    }

    .ashrams-hero--home .ashrams-hero__title {
        /* Scales down below 393; grows 393→999 */
        font-size: clamp(
            1.35rem,
            max(calc(100vw * 25 / 393), calc(25px + (100vw - 393px) * 14 / 606)),
            2.65rem
        );
    }

    .ashrams-hero--home .ashrams-btn {
        font-size: clamp(
            0.68rem,
            max(calc(100vw * 12 / 393), calc(12px + (100vw - 393px) * 2.4 / 606)),
            0.9rem
        );
        padding:
            clamp(0.45rem, max(calc(100vw * 9.5 / 393), calc(9.5px + (100vw - 393px) * 0.9 / 606)), 0.65rem)
            clamp(0.95rem, max(calc(100vw * 22 / 393), calc(22px + (100vw - 393px) * 2 / 606)), 1.5rem);
    }
}

/* ≤394 — viewport fill + soft fade (393px layout unchanged) */
@media (max-width: 394px) {
    .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) {
        min-height: max(calc(100vw * 692 / 393), 100svh);
    }

    .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh)::after {
        opacity: 0.5;
    }
}

/* <392 — bring bg down as width narrows; flat bit left on all */
@media (max-width: 391.98px) {
    .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) {
        --home-left: 22px;
        --home-down: clamp(0px, calc((392px - 100vw) * 7), 88px);
    }

    .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh {
        top: calc(0px - var(--home-down)) !important;
        left: 0 !important;
        width: calc(100% + var(--home-left)) !important;
        height: calc(100% + var(--home-down)) !important;
        transform: translate(calc(-1 * var(--home-left)), var(--home-down)) !important;
        background-position: var(--home-bg-x) var(--home-bg-y) !important;
    }
}

/* <350 — extra bit left on top of <392 */
@media (max-width: 349.98px) {
    .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) {
        --home-left: 42px;
    }
}

/* ≤393 — scroll off (Figma phone frame) */
@media (max-width: 393px) {
    .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) .ashrams-hero__scroll {
        display: none !important;
    }
}

/* Paths — fluid grid (Figma 1440 reference, not fixed px layout) */
.ashrams-section-paths {
    --paths-content-max: min(63.5rem, 100%);
    background: #ffffff;
    padding: 0 0 clamp(3rem, 10vw, 5rem);
}

.ashrams-section-paths__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0.5rem, 1.5vw, 0.875rem);
    width: 100%;
    max-width: var(--paths-content-max);
    min-height: clamp(10rem, 24vw, 13.5rem);
    padding: clamp(3rem, 10vw, 5rem) 0 clamp(1.75rem, 3.5vw, 2.5rem);
    margin: 0 auto;
    text-align: center;
}

.ashrams-section-paths__eyebrow {
    margin: 0;
    font-family: var(--ashrams-sans);
    font-size: clamp(0.65rem, 1.5vw, 0.75rem);
    font-weight: 600;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: #8a8a8a;
}

.ashrams-section-paths__eyebrow span {
    color: var(--ashrams-terracotta);
    letter-spacing: 0.28em;
}

.ashrams-section-paths__title {
    margin: 0;
    font-family: var(--ashrams-serif);
    font-size: clamp(1.75rem, 4.25vw, 2.65rem);
    font-weight: 300;
    font-style: normal;
    line-height: 1.15;
    letter-spacing: 0;
    color: var(--ashrams-text);
}

.ashrams-section-paths__title span {
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}

.ashrams-section-paths__title-accent {
    color: #984629;
}

.ashrams-section-paths__title-rest {
    color: #4a4a4a;
}

/* Paths layout — slight inset from shell (Figma); modest column gap */
.ashrams-section-paths .ashrams-paths {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
    column-gap: clamp(1.5rem, 5vw, 6.5rem);
    row-gap: clamp(0.35rem, 0.85vw, 0.5rem);
    align-items: start;
    width: 100%;
    max-width: var(--paths-content-max);
    min-height: 0;
    margin-inline: auto;
}

.ashrams-section-paths .ashrams-paths__media {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1024 / 747;
    border-radius: clamp(1.25rem, 2.2vw, 2rem);
    overflow: hidden;
    background: #e5e0da;
}

.ashrams-section-paths .ashrams-paths__media img,
.ashrams-section-paths .ashrams-paths__image img {
    width: 100%;
    height: 100%;
    max-width: none;
    aspect-ratio: auto;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
    display: block;
}

.ashrams-section-paths .ashrams-paths__quote {
    font-family: var(--ashrams-sans);
    font-size: clamp(0.8125rem, 1.5vw, 0.9375rem);
    font-style: normal;
    font-weight: 300;
    line-height: 1.45;
    color: #6b6b6b;
    margin: 0.35rem 0 0.15rem;
    max-width: 100%;
}

.ashrams-section-paths .ashrams-paths__quote-mark {
    color: var(--ashrams-terracotta);
    font-family: var(--ashrams-serif);
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    line-height: 1;
    margin-right: 0.15rem;
}

.ashrams-section-paths__cta {
    display: inline-block;
    font-family: var(--ashrams-sans);
    font-size: clamp(0.5625rem, 1vw, 0.625rem);
    font-weight: 300;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--ashrams-terracotta);
    text-decoration: none;
    transition: color 0.2s ease;
}

.ashrams-section-paths__cta:hover {
    color: var(--ashrams-terracotta-light);
}

.ashrams-section-paths .ashrams-paths__panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.ashrams-section-paths .ashrams-paths__tabs {
    list-style: none;
    width: 100%;
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
    display: grid;
    grid-template-rows: repeat(4, minmax(4.5rem, auto)) minmax(7rem, auto);
    padding: 0;
    margin: 0;
}

.ashrams-section-paths .ashrams-paths__tabs li {
    display: flex;
    align-items: center;
    height: auto;
    min-height: 4.5rem;
    box-sizing: border-box;
    border-bottom: 1px solid #e8e4df;
}

.ashrams-section-paths .ashrams-paths__tabs li:first-child {
    border-top: 1px solid #e8e4df;
}

/* Desktop — tab rules align with image top/bottom (Figma) */
@media (min-width: 1000px) {
    .ashrams-section-paths .ashrams-paths__image {
        display: contents;
    }

    .ashrams-section-paths .ashrams-paths__media {
        grid-column: 1;
        grid-row: 1;
    }

    .ashrams-section-paths .ashrams-paths__quote {
        grid-column: 1;
        grid-row: 2;
    }

    .ashrams-section-paths .ashrams-paths__image .ashrams-section-paths__cta {
        grid-column: 1;
        grid-row: 3;
    }

    .ashrams-section-paths .ashrams-paths__panel {
        grid-column: 2;
        grid-row: 1;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .ashrams-section-paths .ashrams-paths__tabs {
        flex: 1 1 auto;
        height: 100%;
        min-height: 100%;
        grid-template-rows: repeat(4, 1fr);
    }

    .ashrams-section-paths .ashrams-paths__tabs li {
        min-height: 0;
    }
}

.ashrams-section-paths .ashrams-paths__tabs a {
    display: block;
    width: 100%;
    padding: 0;
    text-decoration: none;
    font-family: var(--ashrams-inter);
    font-size: clamp(1.125rem, 2.5vw, 1.875rem);
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 0;
    color: #999999;
    transition: color 0.2s ease;
}

.ashrams-section-paths .ashrams-paths__tabs a.is-active,
.ashrams-section-paths .ashrams-paths__tabs a:hover {
    color: #984629;
}

/* Tablet: stacked Paths + horizontal tab strip */
@media (max-width: 999px) {
    .ashrams-section-paths {
        --paths-content-max: 100%;
        padding: 0 0 3.5rem;
    }

    .ashrams-section-paths__head {
        min-height: auto;
        padding: 2.5rem 0 1.25rem;
        gap: 0.55rem;
    }

    .ashrams-section-paths__title {
        font-size: clamp(2.1rem, 7.5vw, 2.75rem);
        line-height: 1.12;
    }

    .ashrams-section-paths .ashrams-paths {
        display: flex;
        flex-direction: column;
        gap: 1.2rem;
    }

    .ashrams-section-paths .ashrams-paths__panel {
        order: -1;
    }

    .ashrams-section-paths .ashrams-paths__tabs {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: clamp(1rem, 4vw, 1.5rem);
        height: auto;
        margin: 0 auto;
    }

    .ashrams-section-paths .ashrams-paths__tabs li,
    .ashrams-section-paths .ashrams-paths__tabs li:first-child {
        height: auto;
        min-height: 0;
        border: 0;
    }

    .ashrams-section-paths .ashrams-paths__tabs a {
        width: auto;
        padding: 0 0 0.45rem;
        font-family: var(--ashrams-manrope);
        font-size: clamp(0.875rem, 3.2vw, 0.9375rem);
        font-weight: 300;
        line-height: 1.2;
        letter-spacing: 0.04em;
        color: #4a4a4a;
        border-bottom: 2px solid transparent;
    }

    .ashrams-section-paths .ashrams-paths__tabs a.is-active {
        color: #111111;
        border-bottom-color: var(--ashrams-terracotta);
    }

    .ashrams-section-paths .ashrams-paths__media {
        border-radius: 28px;
        aspect-ratio: 1024 / 747;
    }

    .ashrams-section-paths .ashrams-paths__quote {
        margin: 0.15rem 0 0;
        padding-right: 1.6rem;
        font-size: clamp(0.95rem, 3.6vw, 1.15rem);
        line-height: 1.4;
        position: relative;
    }

    .ashrams-section-paths .ashrams-paths__quote::after {
        content: '›';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-52%);
        font-size: clamp(1.5rem, 5vw, 2rem);
        color: var(--ashrams-terracotta);
        line-height: 1;
    }

    .ashrams-section-paths .ashrams-paths__quote-mark {
        font-size: clamp(1.25rem, 4vw, 1.6rem);
        margin-right: 0.25rem;
    }

    .ashrams-section-paths__cta {
        display: none;
    }
}

/* Travellers Stories */
.ashrams-section-travellers .ashrams-title {
    font-family: var(--ashrams-serif);
    font-weight: 600;
    font-size: clamp(2rem, 5vw, 3rem);
    line-height: 1.17;
    letter-spacing: 0;
    color: var(--ashrams-text);
}

.ashrams-section-travellers .ashrams-title .accent {
    font-family: inherit;
    font-weight: inherit;
    font-style: normal;
    color: var(--ashrams-terracotta);
}

/* Travellers — white canvas like Figma (bento on white), not cream */
.ashrams-section-travellers {
    background-color: #ffffff;
}

/* Stats captions — sans (comp) */
.ashrams-section-travellers .ashrams-stat span {
    font-family: var(--ashrams-manrope);
    font-weight: 300;
}

/* Paths layout */
.ashrams-paths {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.ashrams-paths__image img {
    width: 100%;
    border-radius: 1.25rem;
    aspect-ratio: 4/5;
    object-fit: cover;
}

.ashrams-paths__quote {
    font-family: var(--ashrams-serif);
    font-size: 1.35rem;
    line-height: 1.5;
    color: var(--ashrams-muted);
    margin: 1.5rem 0;
}

.ashrams-paths__tabs {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ashrams-paths__tabs li {
    border-bottom: 1px solid #e8e4df;
}

.ashrams-paths__tabs a {
    display: block;
    padding: 1rem 0;
    text-decoration: none;
    font-family: var(--ashrams-serif);
    font-size: 1.5rem;
    color: #bbb;
}

.ashrams-paths__tabs a.is-active,
.ashrams-paths__tabs a:hover {
    color: var(--ashrams-terracotta);
}

.ashrams-link {
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--ashrams-terracotta);
    text-decoration: none;
}

/* Places — Mosaic of Life (Figma 1440 reference) */
.ashrams-places {
    --places-card-gap: clamp(0.375rem, 0.55vw, 0.5rem);
    --places-card-radius: clamp(1rem, 1.45vw, 1.3125rem);
}

.ashrams-places .ashrams-places__intro {
    margin-bottom: 0;
}

.ashrams-places .ashrams-eyebrow {
    margin: 0 0 clamp(0.75rem, 1.5vw, 1rem);
    font-family: var(--ashrams-sans);
    font-size: clamp(0.65rem, 1.5vw, 0.75rem);
    font-weight: 600;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: #8a8a8a;
}

.ashrams-places .ashrams-eyebrow span {
    font-family: inherit;
    color: var(--ashrams-terracotta);
    letter-spacing: 0.28em;
}

/* Heading — match Paths through India title */
.ashrams-places .ashrams-title.ashrams-title--lg {
    font-family: var(--ashrams-serif);
    font-weight: 300;
    font-size: clamp(1.75rem, 4.25vw, 2.65rem);
    line-height: 1.15;
    letter-spacing: 0;
    color: #4a4a4a;
    margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
}

.ashrams-places .ashrams-title--lg .accent,
.ashrams-places .ashrams-title--lg span {
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    font-style: normal;
}

.ashrams-places .ashrams-title--lg .accent {
    color: #984629;
}

/* Intro copy */
.ashrams-places__intro .ashrams-body {
    max-width: 36.25rem;
    margin-inline: auto;
    font-family: var(--ashrams-manrope);
    font-weight: 300;
    font-size: clamp(0.9375rem, 1.06vw, 1.125rem);
    line-height: clamp(1.5rem, 2.08vw, 1.875rem);
    letter-spacing: 0;
    color: var(--ashrams-arriving-body);
}

.ashrams-places__body--mobile {
    display: none;
}

@media (min-width: 1000px) {
    .ashrams-places__intro .ashrams-places__body--desktop {
        max-width: 41.25rem;
    }
}

@media (max-width: 999px) {
    .ashrams-places__body .ashrams-places__br {
        display: none;
    }
}

.ashrams-places__carousel {
    width: 100%;
    max-width: var(--ashrams-page-max, 1440px);
    margin-inline: auto;
    padding-inline: var(--ashrams-shell-pad, clamp(1rem, 4vw, 3.75rem));
    box-sizing: border-box;
}

.ashrams-places__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.75rem, 3vw, 1rem);
    width: 100%;
    margin-inline: auto;
    margin-top: clamp(2rem, 4vw, 3rem);
    align-items: start;
}

@media (min-width: 1000px) {
    .ashrams-places__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--places-card-gap);
        margin-top: clamp(2.5rem, 4vw, 3.5rem);
        width: 93%;
        margin-inline: auto;
    }
}

.ashrams-place-card__slide-ui {
    display: none;
}

.ashrams-place-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    background: transparent;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
}

.ashrams-place-card__media {
    position: relative;
    flex-shrink: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: var(--places-card-radius);
    background: #eeeeee;
}

.ashrams-place-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center 22%;
    transform: scale(1.12);
    transform-origin: center 18%;
}

/* Himalayas — horizontal crop (adjust % to suit place-himalayas.png) */
.ashrams-place-card__media img[src*='place-himalayas'] {
    object-position: 95% center;
}

/* Rishikesh — horizontal crop (adjust % independently from Himalayas) */
.ashrams-place-card__media img[src*='place-rishikesh'] {
    object-position: 20% center;
}

/* Kerala — boat + palms higher in frame */
.ashrams-place-card__media img[src*='place-kerala'] {
    object-position: center 42%;
    transform: scale(1.16);
    transform-origin: center 28%;
}

.ashrams-place-card__body {
    flex: 0;
    display: flex;
    flex-direction: column;
    text-align: left;
    background: transparent;
    width: 100%;
    padding: clamp(0.85rem, 2.2vw, 1.1rem) 0 0;
}

.ashrams-place-card__body h3 {
    font-family: var(--ashrams-serif-mosaic);
    font-size: clamp(1.25rem, 2.2vw, 1.5rem);
    font-weight: 500;
    line-height: 1.22;
    letter-spacing: 0;
    color: var(--ashrams-arriving-head-accent);
    margin: 0 0 0.45rem;
}

.ashrams-place-card__body p {
    font-family: var(--ashrams-manrope);
    font-size: clamp(0.8125rem, 1vw, 0.875rem);
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: 0;
    color: var(--ashrams-arriving-body);
    max-width: 100%;
    margin: 0;
}

/* Mosaic — horizontal slider below 1000px (Figma mobile/tablet) */
@media (max-width: 999px) {
    .ashrams-places .ashrams-places__intro {
        padding-inline: var(--ashrams-shell-pad, clamp(1rem, 4vw, 3.75rem));
    }

    .ashrams-places .ashrams-title.ashrams-title--lg,
    .ashrams-why .ashrams-title {
        font-size: clamp(2.1rem, 7.5vw, 2.75rem);
        line-height: 1.12;
    }

    .ashrams-places__body--desktop {
        display: none;
    }

    .ashrams-places__body--mobile {
        display: block;
        max-width: 22.5rem;
    }

    .ashrams-places__carousel {
        --ashrams-bleed: max(0px, (100vw - 100%) / 2);
        width: calc(100% + (100vw - 100%));
        max-width: 100vw;
        margin-left: calc(-1 * var(--ashrams-bleed));
        margin-right: calc(-1 * var(--ashrams-bleed));
        padding-inline: 0;
        overflow: hidden;
    }

    .ashrams-places__grid {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: clamp(0.625rem, 2.5vw, 0.875rem);
        width: 100%;
        margin-top: clamp(1.75rem, 5vw, 2.25rem);
        padding: 0 var(--ashrams-shell-pad, clamp(1rem, 4vw, 3.75rem)) clamp(0.25rem, 1.5vw, 0.5rem);
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: var(--ashrams-shell-pad, clamp(1rem, 4vw, 3.75rem));
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .ashrams-places__grid::-webkit-scrollbar {
        display: none;
    }

    .ashrams-place-card {
        flex: 0 0 clamp(16.5rem, 78vw, 19.5rem);
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .ashrams-place-card__media {
        aspect-ratio: 3 / 4.05;
        border-radius: clamp(1.125rem, 4.5vw, 1.375rem);
    }

    .ashrams-place-card__media img {
        transform: none;
        object-position: center;
    }

    .ashrams-place-card__media img[src*='place-himalayas'] {
        object-position: 88% center;
    }

    .ashrams-place-card__media img[src*='place-rishikesh'] {
        object-position: 24% center;
    }

    .ashrams-place-card__media img[src*='place-kerala'] {
        object-position: center 45%;
        transform: none;
    }

    .ashrams-place-card__slide-ui {
        position: absolute;
        inset: 0;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
        padding: clamp(1rem, 4.2vw, 1.35rem);
        pointer-events: none;
    }

    .ashrams-place-card__slide-title {
        margin: 0;
        font-family: var(--ashrams-serif-mosaic);
        font-size: clamp(1.35rem, 4.8vw, 1.625rem);
        font-weight: 500;
        line-height: 1.1;
        letter-spacing: 0;
        color: #ffffff;
        text-shadow: 0 1px 12px rgba(0, 0, 0, 0.18);
    }

    .ashrams-place-card__explore {
        align-self: center;
        margin-top: auto;
        margin-bottom: clamp(0.85rem, 3.5vw, 1.15rem);
        pointer-events: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 6.75rem;
        padding: 0.55rem 1.65rem;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.42);
        background: rgba(255, 255, 255, 0.18);
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
        color: #ffffff;
        font-family: var(--ashrams-sans);
        font-size: clamp(0.75rem, 2.5vw, 0.875rem);
        font-weight: 300;
        line-height: 1;
        text-decoration: none;
        transition: background 0.2s ease, border-color 0.2s ease;
    }

    .ashrams-place-card__explore:hover {
        background: rgba(255, 255, 255, 0.28);
        border-color: rgba(255, 255, 255, 0.58);
        color: #ffffff;
    }

    .ashrams-place-card__body {
        display: none;
    }
}

/* Split sections */
.ashrams-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

.ashrams-split--reverse .ashrams-split__media {
    order: -1;
}

.ashrams-split--reverse .ashrams-split__text {
    order: 0;
}

.ashrams-split__media img {
    width: 100%;
    border-radius: 1.25rem;
    aspect-ratio: 3/2;
    object-fit: cover;
    object-position: center;
}

/* Why Āshrams Exist — three narrative images (88% below desktop; fixed width at ≥1000px) */
.ashrams-split-narrative .ashrams-split__media {
    max-width: 100%;
    margin-inline: auto;
}

@media (max-width: 999px) {
    .ashrams-split-narrative .ashrams-split__media {
        width: 88%;
    }
}

.ashrams-split-narrative .ashrams-split__media img {
    border-radius: 2.125rem;
}

/* intent-mountain.jpg — zoom + clip watermark; anchor high so summit stays in frame */
.ashrams-split__media:has(img[src*='intent-mountain']) {
    overflow: hidden;
    border-radius: 1.25rem;
}

.ashrams-split-narrative .ashrams-split__media:has(img[src*='intent-mountain']) {
    border-radius: 2.125rem;
}

.ashrams-split__media img[src*='intent-mountain'] {
    display: block;
    width: 100%;
    max-height: 22rem;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    /* Top bias keeps peak visible; slight left trims bottom-right watermark */
    object-position: 46% 6%;
    border-radius: 0;
    transform-origin: 50% 22%;
    transform: scale(1.2);
}

/* Stats */
.ashrams-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    text-align: center;
    margin: 3rem 0;
    padding: 2rem 0;
    border-top: 1px solid #e8e4df;
    border-bottom: 1px solid #e8e4df;
}

.ashrams-stat {
    position: relative;
}

/* Thin vertical separators in the gutter (short, centred — matches Figma) */
@media (min-width: 1000px) {
    .ashrams-stat:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 100%;
        width: 1px;
        height: 4.5rem;
        margin-left: 1rem;
        transform: translate(-50%, -50%);
        background: #dad6d1;
        pointer-events: none;
    }
}

.ashrams-stat strong {
    display: block;
    font-family: var(--ashrams-serif);
    font-size: clamp(1.75rem, 4.5vw, 2.5rem);
    color: var(--ashrams-terracotta);
    font-weight: 500;
}

.ashrams-stat span {
    font-size: clamp(0.5625rem, 1.2vw, 0.65rem);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ashrams-muted);
}

/* Travellers Stories — responsive (scales with viewport) */
.ashrams-stories__grid {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr;
    margin-top: 2.5rem;
}

.ashrams-stories__main {
    grid-column: 1;
    border-radius: 32px;
    overflow: hidden;
    position: relative;
}

.ashrams-stories__tile {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

.ashrams-stories__main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Match Figma crop: group lower, less sky at top */
    object-position: 50% 38%;
}

.ashrams-stories__tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Overlay on left card */
.ashrams-stories__overlay {
    position: absolute;
    inset: 0;
    padding: 2.1rem 1.85rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    /* Stronger dark panel at bottom to match Figma */
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.06) 15%,
        rgba(0, 0, 0, 0.38) 28%,
        rgba(0, 0, 0, 0.78) 44%,
        rgba(8, 8, 8, 0.96) 62%,
        #0a0a0a 100%
    );
    color: #fff;
    z-index: 2;
}

/* Tile copy on right cards — no full-card dark wash */
.ashrams-stories__tile-copy {
    background: none;
    color: #fff;
    z-index: 2;
}

/* ===================== DESKTOP BENTO (exact Figma match at 1439px) ===================== */
@media (min-width: 1200px) {
    .ashrams-stories__grid {
        /* Figma: main 661.66 | rail 172 + 270 (+ gap) — top tile 466×356, bottom 172×250 & 270×250 */
        grid-template-columns: minmax(0, 661.66fr) minmax(0, 172fr) minmax(0, 270fr);
        grid-template-rows: clamp(240px, 24.74vw, 356px) clamp(170px, 17.37vw, 250px);
        align-items: start;
    }

    .ashrams-stories__main {
        grid-column: 1;
        grid-row: 1 / span 2;
        /* Figma: 661.66 × 631 px at 1439px viewport */
        height: clamp(420px, 43.85vw, 631px);
        min-height: clamp(420px, 43.85vw, 631px);
        max-height: clamp(420px, 43.85vw, 631px);
    }

    .ashrams-stories__tile--top {
        grid-column: 2 / 4;
        grid-row: 1;
        /* Figma: 466 × 356 px */
        height: clamp(240px, 24.74vw, 356px);
    }

    .ashrams-stories__tile--bl {
        grid-column: 2;
        grid-row: 2;
        /* Figma: 172 × 250 px */
        height: clamp(170px, 17.37vw, 250px);
    }

    .ashrams-stories__tile--br {
        grid-column: 3;
        grid-row: 2;
        /* Figma: 270 × 250 px */
        height: clamp(170px, 17.37vw, 250px);
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1199px) {
    .ashrams-stories__grid {
        grid-template-columns: 1fr 1fr;
    }
    .ashrams-stories__main { min-height: 440px; }
}

/* Mobile */
@media (max-width: 576px) {
    .ashrams-stories__main,
    .ashrams-stories__tile {
        min-height: 260px;
    }
}

.ashrams-stories__quote-mark {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.85rem, 4.85vw, 3.85rem); /* larger to match Figma */
    line-height: 0.72;
    color: #e05545;
    margin: 0 0 0.65rem;
}

.ashrams-section-travellers .ashrams-stories__overlay blockquote {
    font-family: var(--ashrams-manrope);
    font-size: clamp(0.875rem, 2.25vw, 1.25rem); /* ~20px */
    font-style: normal;
    font-weight: 300;
    line-height: clamp(1.2rem, 3.15vw, 1.75rem); /* ~28px */
    letter-spacing: 0;
    margin: 0 0 1.05rem;
    max-width: min(38.5rem, 100%);
    width: 100%;
    box-sizing: border-box;
    color: #fafaf9;
    text-shadow: none;
}

.ashrams-section-travellers .ashrams-stories__overlay cite {
    font-family: var(--ashrams-manrope);
    font-style: normal;
    font-weight: 500;
    font-size: clamp(0.5rem, 1vw, 0.5625rem);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    max-width: min(38.5rem, 100%);
    width: 100%;
    box-sizing: border-box;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: none;
}

/* Story rail category (“Retreats”, “Rest”) */
.ashrams-section-travellers .ashrams-stories__tag {
    display: inline-block;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    max-width: min(25.125rem, 100%);
    font-family: var(--ashrams-manrope);
    font-size: clamp(0.75rem, 1.75vw, 1rem); /* ~16px */
    font-weight: 300;
    font-style: normal;
    line-height: 0.8125rem; /* 13px */
    letter-spacing: 0;
    text-transform: uppercase;
    color: #d6d3d1;
    text-shadow: none;
}

/* Top rail — Figma: Manrope 400, 25px / 40px, #FAFAF9 */
.ashrams-section-travellers .ashrams-stories__tile--top .ashrams-stories__tile-title {
    font-family: var(--ashrams-manrope);
    font-weight: 300;
    font-size: clamp(1.0625rem, 2.8vw, 1.5625rem); /* 25px */
    line-height: clamp(2rem, 4.35vw, 2.5rem); /* 40px */
    letter-spacing: 0;
    color: #fafaf9;
    max-width: min(25.125rem, 100%);
    text-shadow: none;
}

/* Bottom rails — Figma: Manrope 400, 18px / 22.5px, #FAFAF9 */
.ashrams-section-travellers .ashrams-stories__tile--bl .ashrams-stories__tile-title,
.ashrams-section-travellers .ashrams-stories__tile--br .ashrams-stories__tile-title {
    font-family: var(--ashrams-manrope);
    font-weight: 300;
    font-size: clamp(0.9375rem, 2.15vw, 1.125rem); /* 18px */
    line-height: clamp(1.175rem, 2.68vw, 1.40625rem); /* 22.5px */
    letter-spacing: 0;
    color: #fafaf9;
    max-width: min(25.125rem, 100%);
    text-shadow: none;
}

/* Rail cards — text stack capped 402px, 24px top padding */
.ashrams-stories__tile {
    position: relative;
    border-radius: clamp(18px, 2vw, 22px);
    overflow: hidden;
    min-height: 13rem;
}

/* Desktop: tiles fill their grid row exactly (no base min-height) */
@media (min-width: 1000px) {
    .ashrams-section-travellers .ashrams-stories__tile {
        min-height: 0;
    }
}

.ashrams-stories__tile::after {
    display: none;
}

/* Right three rails only — text nudged left (Figma) */
.ashrams-section-travellers .ashrams-stories__tile .ashrams-stories__tile-copy {
    position: absolute;
    inset: auto;
    left: clamp(0.6rem, 1.25vw, 0.75rem);
    right: auto;
    bottom: clamp(0.85rem, 1.75vw, 1.25rem);
    max-width: calc(100% - clamp(0.6rem, 1.25vw, 0.75rem) - 0.5rem);
    padding: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 0.45rem;
}

.ashrams-section-travellers .ashrams-stats {
    margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.ashrams-section-travellers .ashrams-stories__tile-title {
    margin: 0;
}

/* Travellers Stories — slightly narrower section (scaled text + bento ~92%) */
@media (min-width: 1000px) {
    body.ashrams-home .ashrams-section-travellers .container.cnt-max__1320 {
        max-width: min(75rem, calc(100% - 2 * var(--ashrams-shell-pad)));
        padding-inline: calc(var(--ashrams-shell-pad) + clamp(0.75rem, 1.5vw, 1.25rem));
        box-sizing: border-box;
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-title.ashrams-title--lg {
        font-size: clamp(1.875rem, 4.6vw, 2.75rem);
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stat strong {
        font-size: clamp(1.625rem, 4.1vw, 2.25rem);
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stats {
        margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem);
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__grid {
        gap: 18px;
        margin-top: 2.25rem;
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__main {
        border-radius: 28px;
        /* Align bottom with right rail: row-1 track + gap + bottom tile height */
        height: clamp(400px, 41.95vw, 604px);
        min-height: clamp(400px, 41.95vw, 604px);
        max-height: clamp(400px, 41.95vw, 604px);
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__tile {
        border-radius: 18px;
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__tile--top {
        height: clamp(221px, 22.76vw, 328px);
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__tile--bl,
    body.ashrams-home .ashrams-section-travellers .ashrams-stories__tile--br {
        height: clamp(156px, 15.98vw, 230px);
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__quote-mark {
        font-size: clamp(2.6rem, 4.45vw, 3.5rem);
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__overlay {
        padding: 1.9rem 1.7rem;
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__overlay blockquote {
        font-size: clamp(0.8125rem, 2.05vw, 1.15rem);
        line-height: clamp(1.1rem, 2.9vw, 1.6rem);
        max-width: min(35.5rem, 100%);
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__overlay cite {
        font-size: clamp(0.46875rem, 0.92vw, 0.53125rem);
        max-width: min(35.5rem, 100%);
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__tag {
        font-size: clamp(0.6875rem, 1.6vw, 0.9375rem);
        max-width: min(23rem, 100%);
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__tile--top .ashrams-stories__tile-title {
        font-size: clamp(1rem, 2.55vw, 1.4375rem);
        line-height: clamp(1.85rem, 4vw, 2.3rem);
        max-width: min(23rem, 100%);
    }

    body.ashrams-home .ashrams-section-travellers .ashrams-stories__tile--bl .ashrams-stories__tile-title,
    body.ashrams-home .ashrams-section-travellers .ashrams-stories__tile--br .ashrams-stories__tile-title {
        font-size: clamp(0.875rem, 1.95vw, 1.03125rem);
        line-height: clamp(1.08rem, 2.45vw, 1.29rem);
        max-width: min(23rem, 100%);
    }
}

/* Journey reviews — quotes grid below Travellers Stories (Figma) */
.ashrams-journey-reviews {
    background: #ffffff;
    padding-top: clamp(2.5rem, 5vw, 4rem);
    padding-bottom: clamp(3rem, 6vw, 5rem);
}

.ashrams-journey-reviews__shell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(3rem, 5.5vw, 5rem);
    width: 100%;
    max-width: min(68rem, 100%);
    margin-inline: auto;
}

.ashrams-journey-reviews__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.75rem, 3.5vw, 1.75rem);
    width: 100%;
}

.ashrams-journey-reviews__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin: 0;
    padding: 0;
}

.ashrams-journey-reviews__mark {
    margin: 0;
    font-family: var(--ashrams-manrope);
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    line-height: 1;
    color: #984629;
}

body.ashrams-home .ashrams-journey-reviews__date,
body.ashrams-home .ashrams-journey-reviews__author {
    font-family: 'Liberation Serif', var(--ashrams-serif), serif;
}

.ashrams-journey-reviews__date {
    margin: 1.5rem 0 0;
    font-size: 0.8125rem;
    font-style: italic;
    font-weight: 700;
    line-height: 1.45;
    color: #984629;
}

body.ashrams-home .ashrams-journey-reviews__quote,
body.ashrams-home .ashrams-journey-reviews__quote-line {
    font-family: 'Liberation Sans', var(--ashrams-manrope), sans-serif;
    font-style: normal;
}

.ashrams-journey-reviews__quote {
    margin: 1.5rem 0 0;
    max-width: 15.5rem;
    font-size: 0.78125rem;
    font-weight: 300;
    line-height: 1.45;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #333333;
}

.ashrams-journey-reviews__quote-line {
    display: block;
}

.ashrams-journey-reviews__author {
    margin: 1.5rem 0 0;
    font-size: 0.84375rem;
    font-style: italic;
    font-weight: 300;
    line-height: 1.45;
    color: #984629;
}

.ashrams-journey-reviews__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
}

.ashrams-journey-reviews__stars {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.ashrams-journey-reviews__star {
    display: block;
    flex: none;
    width: 1.25rem;
    height: 1.25rem;
}

.ashrams-journey-reviews__star--filled path {
    fill: #9d6b53;
    stroke: #9d6b53;
    stroke-width: 0.84;
}

.ashrams-journey-reviews__star--empty {
    color: #9d6b53;
}

body.ashrams-home .ashrams-journey-reviews__cta {
    font-family: 'Nimbus Sans', 'Nimbus Sans L', var(--ashrams-manrope), sans-serif;
    font-style: normal;
}

.ashrams-journey-reviews__cta {
    margin-top: 0.25rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid #984629;
    font-size: 0.8125rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    text-decoration: none;
    color: #984629;
    transition: opacity 0.2s ease;
}

.ashrams-journey-reviews__cta:hover {
    opacity: 0.8;
    color: #984629;
}

@media (min-width: 768px) {
    .ashrams-journey-reviews__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.75rem 1.75rem;
    }
}

@media (min-width: 1000px) {
    body.ashrams-home .ashrams-journey-reviews .container.cnt-max__1320.ashrams-journey-reviews__shell {
        max-width: min(75rem, calc(100% - 2 * var(--ashrams-shell-pad)));
        padding-inline: calc(var(--ashrams-shell-pad) + clamp(0.75rem, 1.5vw, 1.25rem));
        box-sizing: border-box;
    }

    .ashrams-journey-reviews__shell {
        max-width: min(68rem, 100%);
        gap: 5rem;
    }

    .ashrams-journey-reviews__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.75rem;
    }

    .ashrams-journey-reviews__quote {
        max-width: 15.5rem;
        line-height: 20px;
    }

    .ashrams-journey-reviews__item:nth-child(1) .ashrams-journey-reviews__quote {
        min-height: 40px;
    }

    .ashrams-journey-reviews__item:nth-child(2) .ashrams-journey-reviews__quote,
    .ashrams-journey-reviews__item:nth-child(3) .ashrams-journey-reviews__quote {
        min-height: 100px;
    }

    .ashrams-journey-reviews__item:nth-child(4) .ashrams-journey-reviews__quote {
        min-height: 80px;
    }
}

/* Section above footer: seamless white floor + clear gap before forest footer */
.ashrams-section:has(.ashrams-magazine) {
    background-color: #ffffff;
    padding-bottom: clamp(1rem, 2vw, 1.75rem);
}

/* Magazine — horizontal banner (Figma) */
.ashrams-magazine {
    position: relative;
    border-radius: 52px 52px 40px 40px;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    height: 305px;
    margin: -44px 0 clamp(3.25rem, 5vw, 4.25rem);
    box-sizing: border-box;
}

.ashrams-magazine__bg {
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-size: cover;
    /* Figma-like crop: less top sky, mountains centered */
    background-position: center 65%;
    z-index: 0;
}

.ashrams-magazine__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: clamp(6px, 1vw, 10px);
    row-gap: 1rem;
    height: 100%;
    width: 100%;
    max-width: 100%;
    padding-block: 10px 56px;
    padding-inline: clamp(56px, 7.5vw, 96px);
    box-sizing: border-box;
}

@media (min-width: 1281px) {
    .ashrams-magazine__inner {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        column-gap: clamp(1.25rem, 2.5vw, 2rem);
        padding-block: 12px 68px;
        padding-inline: clamp(64px, 8.5vw, 104px);
        transform: translateY(-28px);
    }
}

@media (min-width: 1000px) {
    body.ashrams-home .ashrams-magazine {
        width: 100%;
        max-width: calc(100% - clamp(3.5rem, 6vw, 6.5rem));
        margin-left: auto;
        margin-right: auto;
    }
}

@media (min-width: 1281px) {
    body.ashrams-home .ashrams-magazine {
        height: 288px;
    }

    .ashrams-magazine__copy {
        flex: 0 1 auto;
        max-width: min(32rem, 48%);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-self: center;
    }

    .ashrams-magazine__actions {
        flex: 0 0 auto;
        max-width: none;
        align-items: center;
        align-self: center;
        justify-content: center;
    }
}

/* Mid-desktop: stack copy + form so nothing clips or overflows */
@media (min-width: 992px) and (max-width: 1280px) {
    .ashrams-magazine {
        height: auto;
        min-height: 280px;
        margin: -24px 0 clamp(2.25rem, 4vw, 3.25rem);
    }

    .ashrams-magazine__bg {
        background-position: center 62%;
    }

    .ashrams-magazine__inner {
        flex-wrap: wrap;
        height: auto;
        min-height: 240px;
        row-gap: 0.35rem;
        column-gap: 0.35rem;
        padding-block: 1.2rem 1.5rem;
        padding-inline: clamp(2rem, 4vw, 2.5rem);
        transform: translateY(-16px);
    }

    .ashrams-magazine__copy {
        width: 100% !important;
        max-width: none;
        text-align: center;
    }

    .ashrams-magazine__tagline {
        white-space: normal;
        text-align: center;
        text-align-last: center;
    }

    .ashrams-magazine__actions {
        width: 100%;
        max-width: 100%;
        align-items: center;
    }

    .ashrams-magazine__form {
        width: min(680px, 100%);
        max-width: 100%;
        justify-content: center;
    }

    .ashrams-magazine__input {
        min-width: 0;
        flex: 1 1 0;
    }
}

.ashrams-magazine__copy {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: min(32rem, 100%);
}

body.ashrams-home .ashrams-magazine__title,
body.ashrams-home .ashrams-magazine__brand,
body.ashrams-home .ashrams-magazine__tagline,
body.ashrams-home .ashrams-magazine__input,
body.ashrams-home .ashrams-magazine__submit {
    font-family: var(--ashrams-manrope), sans-serif;
}

.ashrams-magazine__title {
    display: block;
    width: 100%;
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 0.25rem;
    color: #4a4a4a;
}

.ashrams-magazine__brand {
    color: var(--ashrams-terracotta);
    font-weight: 800;
}

.ashrams-magazine__tagline {
    display: block;
    width: 100%;
    font-size: clamp(0.72rem, 0.88vw, 0.84rem);
    line-height: 1.35;
    font-weight: 300;
    color: var(--ashrams-muted);
    margin: 0;
    hyphens: none;
    text-align: left;
    white-space: normal;
}

@media (min-width: 1281px) {
    .ashrams-magazine__tagline {
        max-width: 22rem;
    }
}

.ashrams-magazine__actions {
    flex: 1 1 17.5rem;
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
}

.ashrams-magazine__form {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    --mag-pill-h: 50px;
    --mag-pill-radius: 14px;
}

/*
 * Bootstrap Reboot styles load before this sheet but can win on specificity for raw
 * `input`/`button`. Match Figma: same moderate radius on email + Subscribe.
 */
body.ashrams-home .ashrams-magazine__form input[type='email'].ashrams-magazine__input,
body.ashrams-home .ashrams-magazine__form button[type='button'].ashrams-magazine__submit {
    border-radius: var(--mag-pill-radius) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.ashrams-magazine__input {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
    height: var(--mag-pill-h);
    margin: 0;
    border: none;
    -webkit-appearance: none;
    appearance: none;
    background: #ebebeb;
    padding: 0 1.5rem;
    font-size: clamp(0.8125rem, 1.5vw, 0.9rem);
    font-weight: 300;
    line-height: normal;
    color: var(--ashrams-text);
    outline: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.ashrams-magazine__input::placeholder {
    color: #a8a8a8;
    font-weight: 300;
}

@media (min-width: 992px) {
    body.ashrams-home .ashrams-magazine__form input[type='email'].ashrams-magazine__input {
        flex: 1 1 0 !important;
        width: auto !important;
        max-width: 19.5rem !important;
    }
}

@media (min-width: 1281px) {
    body.ashrams-home .ashrams-magazine__form {
        width: auto;
        max-width: 100%;
        align-items: center;
        justify-content: flex-end;
        margin-inline: 0;
    }
}

.ashrams-magazine__submit {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: var(--mag-pill-h);
    margin: 0;
    padding: 0 1.5rem;
    min-width: 7.25rem;
    border: none;
    line-height: 1;
    -webkit-appearance: none;
    appearance: none;
    background: var(--ashrams-terracotta);
    color: #fff;
    font-size: clamp(0.8125rem, 1.5vw, 0.9rem);
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(154, 79, 58, 0.28);
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.ashrams-magazine__submit:hover {
    background: var(--ashrams-terracotta-light);
}

.ashrams-magazine__msg {
    display: none;
    margin-top: 0.5rem;
    font-size: clamp(0.65rem, 1.2vw, 0.75rem);
}

.ashrams-magazine__msg--error {
    color: #c44a3a;
}

.ashrams-magazine__msg--success {
    color: #2d6a4f;
}

@media (max-width: 999px) {
    .ashrams-magazine {
        border-radius: 28px;
        height: auto;
        min-height: 240px;
        margin: 2rem 0 3rem;
    }

    .ashrams-magazine__inner {
        flex-direction: column;
        align-items: stretch;
        text-align: left;
        padding-block: 1.9rem 1.65rem;
        padding-inline: 2.15rem;
        height: auto;
        gap: 0.85rem;
    }

    .ashrams-magazine__copy {
        width: auto !important;
        max-width: none;
    }

    .ashrams-magazine__tagline {
        white-space: normal;
        text-align: left;
        text-align-last: auto;
    }

    .ashrams-magazine__actions {
        max-width: none;
        width: 100%;
    }

    /* Figma: email + Subscribe stay on one row on tablet too */
    .ashrams-magazine__form {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        width: 100%;
    }

    body.ashrams-home .ashrams-magazine__form input[type='email'].ashrams-magazine__input {
        flex: 1 1 0 !important;
        width: auto !important;
        max-width: 100% !important;
    }

    .ashrams-magazine__submit {
        flex: 0 0 auto;
        width: auto;
    }
}

/* Phone — Figma: centered copy, shadow card, inline subscribe row */
@media (max-width: 480px) {
    .ashrams-magazine {
        border-radius: 32px;
        height: auto;
        min-height: 224px;
        margin: 1.25rem 0 2.25rem;
        box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14);
    }

    /* Crop the source image so bottom-left vendor mark is out of frame */
    .ashrams-magazine__bg {
        background-size: 112% auto;
        background-position: center 44%;
    }

    .ashrams-magazine__inner {
        align-items: center;
        text-align: center;
        padding-block: 1.15rem 0.9rem;
        padding-inline: 1.6rem;
        gap: 0.55rem;
    }

    .ashrams-magazine__copy {
        width: 100% !important;
    }

    .ashrams-magazine__title {
        font-size: 1.125rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        margin-bottom: 0.35rem;
    }

    .ashrams-magazine__tagline {
        text-align: center;
        text-align-last: center;
        font-size: 0.75rem;
        line-height: 1.45;
        max-width: 17.5rem;
        margin-inline: auto;
        color: #6b6b6b;
    }

    .ashrams-magazine__form {
        --mag-pill-h: 44px;
        --mag-pill-radius: 12px;
        gap: 10px;
    }

    .ashrams-magazine__input {
        flex: 1 1 0;
        padding: 0 1rem;
        font-size: 0.8125rem;
        background: #ebebeb;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    }

    .ashrams-magazine__submit {
        padding: 0 1.15rem;
        min-width: 6.5rem;
        font-size: 0.8125rem;
        box-shadow: 0 4px 12px rgba(154, 79, 58, 0.28);
    }
}

/* Footer — tagline + nav overlaid on mist forest (Figma) */
.ashrams-footer {
    position: relative;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    color: var(--ashrams-text);
    background: #ffffff;
    overflow: hidden;
}

.ashrams-footer__forest {
    position: relative;
    width: 100%;
    min-height: clamp(40rem, 52vw, 50rem);
    padding: clamp(1rem, 1.6vw, 1.35rem) 0 clamp(4rem, 7vw, 5.25rem);
    box-sizing: border-box;
    overflow-x: clip;
    overflow-y: hidden;
}

.ashrams-footer__forest-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    height: 112%;
    max-width: 100%;
    transform: translateY(8%);
    object-fit: cover;
    object-position: center 50%;
    background-color: #ffffff;
    z-index: 0;
    pointer-events: none;
    -webkit-mask-image: none;
    mask-image: none;
}

/* White band for nav legibility only — image already has mist; keep overlay light vs Figma */
.ashrams-footer__forest::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 30%;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.96) 0%,
        rgba(255, 255, 255, 0.72) 22%,
        rgba(255, 255, 255, 0.38) 46%,
        rgba(255, 255, 255, 0.12) 60%,
        transparent 100%
    );
}

/* No full-width bottom wash — it sat under Social icons; © strip uses .ashrams-footer__legal::before */
.ashrams-footer__forest::after {
    content: none;
}

.ashrams-footer__content {
    position: relative;
    z-index: 2;
    transform: none;
}

.ashrams-footer__top {
    display: grid;
    grid-template-columns: minmax(10rem, 12.5rem) repeat(3, minmax(0, 1fr)) auto;
    gap: clamp(1.2rem, 4.5vw, 4rem);
    align-items: start;
    margin-top: 0;
    margin-left: clamp(1.25rem, 3.5vw, 2.75rem);
    padding-top: clamp(1.35rem, 2.75vw, 2.5rem);
    box-sizing: border-box;
}

@media (min-width: 1000px) {
    .ashrams-footer__top {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: clamp(1.2rem, 4.5vw, 4rem);
    }

    .ashrams-footer__nav {
        display: flex;
        flex: 1;
        min-width: 0;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0;
        margin-left: auto;
        padding-left: clamp(0.75rem, 2vw, 1.5rem);
        margin-right: clamp(4.5rem, 9vw, 7.625rem);
        box-sizing: border-box;
    }

    /* Gap only between Explore, Places, Practices — not before Socials */
    .ashrams-footer__nav-links {
        display: grid;
        grid-template-columns: repeat(3, max-content);
        column-gap: clamp(2rem, 4.5vw, 4.25rem);
        row-gap: 0;
        align-items: start;
    }

    /* Bit closer to Practices than margin-left: auto — Explore / Places / Practices unchanged */
    .ashrams-footer__nav > .ashrams-footer__col--social {
        flex: 0 0 auto;
        margin-left: clamp(2rem, 7vw, 5.5rem);
        position: relative;
        left: 30px;
    }
}

.ashrams-footer__tagline {
    display: flex;
    flex-direction: column;
    gap: clamp(0.45rem, 0.9vw, 0.75rem);
    font-family: var(--ashrams-sans);
    font-size: clamp(1.9rem, 2.75vw, 2.5rem);
    font-weight: 600;
    line-height: 1.25;
    color: rgba(0, 0, 0, 0.33);
    padding-top: 0;
}

.ashrams-footer__tagline-word--last {
    display: inline-flex;
    align-items: baseline;
    gap: 0.2rem;
}

.ashrams-footer__tagline-short {
    display: none;
}

/* 6.1 — remove orange accent after Transcendence */
.ashrams-footer__tagline-dot {
    display: none !important;
}

.ashrams-footer__col h4,
.ashrams-footer__col--social h4 {
    font-family: var(--ashrams-sans);
    font-size: 0.9375rem;
    margin: 0 0 0.5rem;
    font-weight: 600;
    line-height: 1.2;
    color: #111111;
}

.ashrams-footer__col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Explore, Places, Practices — tighter line spacing (not Socials) */
.ashrams-footer__col:not(.ashrams-footer__col--social) h4 {
    margin-bottom: 0.15rem;
}

.ashrams-footer__col:not(.ashrams-footer__col--social) ul {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ashrams-footer__col:not(.ashrams-footer__col--social) ul li + li {
    margin-top: 0;
}

.ashrams-footer__col a {
    color: #666666;
    text-decoration: none;
    font-family: var(--ashrams-sans);
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 2.05;
}

.ashrams-footer__col:not(.ashrams-footer__col--social) a {
    line-height: 1.65;
}

.ashrams-footer__col a:hover {
    color: var(--ashrams-terracotta);
}

.ashrams-footer__col--social {
    min-width: 9rem;
}

.ashrams-footer__socials {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    flex-wrap: nowrap;
}

/* Figma SVGs — homepage/footer/icon-*.svg (filled circles) */
.ashrams-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.ashrams-footer__social-link:hover {
    opacity: 0.72;
}

.ashrams-footer__social-link img {
    display: block;
    width: 2rem;
    height: 2rem;
    max-width: none;
}

.ashrams-footer__social-link--muted {
    opacity: 1;
}

@media (min-width: 1100px) {
    .ashrams-footer__nav-links {
        column-gap: clamp(2.25rem, 5vw, 4.75rem);
    }

    /* White band covers link rows; forest treeline sits below nav block */
    .ashrams-footer__forest::before {
        height: 36%;
        background: linear-gradient(to bottom, #ffffff 0%, #ffffff 26%, rgba(255, 255, 255, 0.68) 46%, rgb(255 255 255) 60%, transparent 100%);
        
    }
}

.ashrams-footer__legal {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    padding: 0.75rem 1rem clamp(1.25rem, 2.2vw, 1.875rem);
    background: transparent;
}

/* Light scrim behind © only — keep opacity low so text stays visible on mist */
.ashrams-footer__legal::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: min(100%, 42rem);
    height: 100%;
    min-height: 2.5rem;
    pointer-events: none;
    z-index: -1;
    background: linear-gradient(
        to top,
        rgba(255, 255, 255, 0.22) 0%,
        rgba(255, 255, 255, 0.06) 45%,
        transparent 100%
    );
}

.ashrams-footer__forest .container.cnt-max__1320 {
    position: relative;
    z-index: 2;
}

.ashrams-footer__bottom {
    position: relative;
    z-index: 1;
    font-family: var(--ashrams-sans);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0.01em;
    color: #4d4d4d;
    text-shadow:
        0 0 10px rgba(255, 255, 255, 0.92),
        0 1px 2px rgba(255, 255, 255, 0.75);
}

.ashrams-footer__bottom p {
    margin: 0;
    text-align: center;
}

.ashrams-footer__bottom a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.ashrams-footer__bottom a:hover {
    color: #444444;
}

@media (max-width: 999px) {
    .ashrams-paths,
    .ashrams-split {
        grid-template-columns: 1fr;
    }

    .ashrams-split--reverse .ashrams-split__media,
    .ashrams-split--reverse .ashrams-split__text {
        order: unset;
    }

    .ashrams-stories__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto auto;
        gap: 10px;
        height: auto !important;
    }

    .ashrams-stories__main {
        grid-column: 1 / -1;
        grid-row: 1;
        height: auto;
        min-height: clamp(14rem, 58vw, 20rem);
        max-height: none;
        border-radius: 20px;
    }

    /* Figma phone: featured + two half tiles (no wide breathwork rail) */
    .ashrams-stories__tile--top {
        display: none;
    }

    .ashrams-stories__tile--bl {
        grid-column: 1;
        grid-row: 2;
    }

    .ashrams-stories__tile--br {
        grid-column: 2;
        grid-row: 2;
    }

    .ashrams-stories__tile--bl,
    .ashrams-stories__tile--br {
        height: auto;
        min-height: clamp(10.5rem, 42vw, 14.375rem);
        max-height: none;
        border-radius: 20px;
    }

    .ashrams-stories__overlay {
        align-items: flex-start;
        text-align: left;
        padding: 1rem 0.85rem;
    }

    .ashrams-section-travellers .ashrams-stories__overlay blockquote {
        font-size: 0.75rem;
        font-weight: 300;
        line-height: 1.28;
        margin-bottom: 0.65rem;
        color: #fafaf9;
    }

    .ashrams-section-travellers .ashrams-stories__overlay cite {
        font-size: 0.5rem;
    }

    .ashrams-stories__quote-mark {
        font-size: clamp(1.5rem, 8vw, 2rem);
        margin-bottom: 0.35rem;
    }

    .ashrams-section-travellers .ashrams-stories__tile .ashrams-stories__tile-copy {
        left: 0.5rem;
        right: auto;
        bottom: 0.65rem;
        max-width: calc(100% - 0.75rem);
        padding-top: 0;
    }

    .ashrams-stats {
        grid-template-columns: 1fr;
    }

    /* Footer — same layout as Figma phone (442px) for all viewports below 1000px */
    .ashrams-footer {
        margin-top: 0;
        padding-top: 0;
    }

    /* Figma mobile: solid white content block, forest image only below */
    .ashrams-footer__forest {
        display: flex;
        flex-direction: column;
        min-height: 0;
        padding: 0 0 3rem;
        overflow-x: clip;
        overflow-y: visible;
    }

    .ashrams-footer__forest::before {
        content: none;
    }

    .ashrams-footer__content {
        order: 1;
        flex: 0 0 auto;
        background: #ffffff;
        padding-block: 0.85rem 1.35rem;
        padding-inline: var(--ashrams-shell-pad, clamp(1rem, 4vw, 3.75rem));
        position: relative;
        z-index: 2;
        transform: none;
        box-sizing: border-box;
    }

    .ashrams-footer__forest-bg {
        order: 2;
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        min-width: 0;
        height: clamp(17.5rem, 58vw, 27.5rem);
        max-width: none;
        transform: none;
        object-fit: cover;
        object-position: center 42%;
        flex: 0 0 auto;
        z-index: 0;
        -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 10%);
        mask-image: linear-gradient(to bottom, transparent 0%, #000 10%);
    }

    .ashrams-footer__legal::before {
        width: min(100%, 36rem);
        min-height: 2.25rem;
        background: linear-gradient(
            to top,
            rgba(255, 255, 255, 0.2) 0%,
            rgba(255, 255, 255, 0.05) 40%,
            transparent 100%
        );
    }

    .ashrams-footer__top {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-areas:
            "explore places practices"
            "tagline tagline socials";
        column-gap: clamp(1.35rem, 4vw, 2rem);
        row-gap: clamp(2rem, 5.5vw, 2.5rem);
        margin-top: 0;
        margin-left: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .ashrams-footer__nav,
    .ashrams-footer__nav-links {
        display: contents;
    }

    .ashrams-footer__top > .ashrams-footer__tagline {
        grid-area: tagline;
        min-width: 0;
        margin-top: 0;
        font-size: clamp(1.5rem, 5.75vw, 2.15rem);
        line-height: 1.28;
        gap: clamp(0.4rem, 1.4vw, 0.7rem);
        color: rgba(0, 0, 0, 0.33);
    }

    .ashrams-footer__tagline-long {
        display: inline;
    }

    .ashrams-footer__tagline-short {
        display: none;
    }

    .ashrams-footer__tagline-word--last .ashrams-footer__tagline-dot {
        display: none !important;
    }

    .ashrams-footer__nav-links > .ashrams-footer__col:nth-child(1) { grid-area: explore; }
    .ashrams-footer__nav-links > .ashrams-footer__col:nth-child(2) { grid-area: places; }
    .ashrams-footer__nav-links > .ashrams-footer__col:nth-child(3) { grid-area: practices; }

    .ashrams-footer__nav-links > .ashrams-footer__col,
    .ashrams-footer__top .ashrams-footer__col--social {
        padding-left: clamp(0.5rem, 1.5vw, 1rem);
        box-sizing: border-box;
    }

    .ashrams-footer__top .ashrams-footer__col--social {
        grid-area: socials;
        min-width: 0;
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
        align-self: start;
        display: flex;
        justify-content: flex-end;
        position: static;
        left: auto;
        margin-left: 0;
        margin-right: 0;
        padding-right: 0;
        /* Vertically center icons with Travel + Transform block */
        margin-top: calc(
            1.12 * clamp(1.5rem, 5.75vw, 2.15rem) +
            0.5 * clamp(0.28rem, 1.1vw, 0.5rem) -
            0.75rem
        );
    }

    .ashrams-footer__col h4,
    .ashrams-footer__col--social h4 {
        margin: 0 0 0.4rem;
        font-size: 1rem;
        line-height: 1.2;
    }

    .ashrams-footer__col:not(.ashrams-footer__col--social) ul {
        gap: 0;
    }

    .ashrams-footer__col:not(.ashrams-footer__col--social) ul li + li {
        margin-top: 0;
    }

    .ashrams-footer__col a {
        font-size: 0.76rem;
        line-height: 1.35;
        color: #8a93a4;
    }

    .ashrams-footer__col:not(.ashrams-footer__col--social) h4 {
        margin-bottom: 0.12rem;
        font-weight: 500;
    }

    .ashrams-footer__col:not(.ashrams-footer__col--social) a {
        line-height: 1.55;
    }

    .ashrams-footer__col--social h4 {
        display: none;
    }

    .ashrams-footer__socials {
        gap: 1rem;
        justify-content: flex-end;
        width: auto;
    }

    .ashrams-footer__legal {
        padding: 0.65rem var(--ashrams-shell-pad, clamp(1rem, 4vw, 3.75rem)) 1rem;
    }

    .ashrams-footer__bottom {
        font-size: 0.56rem;
        font-weight: 300;
        letter-spacing: 0;
        color: #525252;
    }

    .ashrams-footer__bottom a {
        text-decoration: none;
    }

    .ashrams-footer__bottom {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 0.2em;
    }

    .ashrams-footer__bottom-dot {
        display: inline;
        width: auto;
        height: auto;
        background: none;
        border-radius: 0;
    }

    .ashrams-footer__bottom-dot::before {
        content: '·';
    }

    /* ≤360px — keep 3-column nav on one line (Discover / Regions / About Us) */
    @media (max-width: 360px) {
        .ashrams-footer .container.cnt-max__1320.ashrams-footer__content {
            padding-inline: var(--ashrams-shell-pad, clamp(1rem, 4vw, 3.75rem));
        }

        .ashrams-footer__top {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            column-gap: clamp(0.5rem, 2.5vw, 0.75rem);
            row-gap: 1.5rem;
            margin-left: 0;
            width: 100%;
        }

        .ashrams-footer__nav-links > .ashrams-footer__col,
        .ashrams-footer__top .ashrams-footer__col--social {
            min-width: 0;
            padding-left: 0;
        }

        .ashrams-footer__nav-links > .ashrams-footer__col h4,
        .ashrams-footer__nav-links > .ashrams-footer__col a {
            white-space: nowrap;
        }

        .ashrams-footer__col h4,
        .ashrams-footer__col--social h4 {
            font-size: 0.8125rem;
            line-height: 1.15;
        }

        .ashrams-footer__col a {
            font-size: 0.625rem;
            line-height: 1.2;
        }

        .ashrams-footer__col:not(.ashrams-footer__col--social) a {
            line-height: 1.2;
        }

        .ashrams-footer__socials {
            gap: 0.5rem;
        }

        .ashrams-footer__social-link img {
            width: 1.25rem;
            height: 1.25rem;
        }
    }
}

@media (max-width: 480px) {
    .ashrams-place-card__body p {
        max-width: none;
    }
}

/* Offcanvas must not widen the document (causes left-edge clip with overflow-x: hidden) */
body.ashrams-home .ashrams-offcanvas.offcanvas,
body.ashrams-place-page .ashrams-offcanvas.offcanvas {
    position: fixed;
    right: 0;
    left: auto;
    min-height: 100vh;
    min-height: 100dvh;
}

/* —— Homepage redesign (Figma 5622:2615) — Section 1: Header + Hero —— */
body.ashrams-homepage .ashrams-header {
    border-bottom: none;
    background: transparent;
}

body.ashrams-homepage .ashrams-header__nav--full {
    /* Figma 5622:2789 — Navigation 1440×88, px 40 / py 32 */
    min-height: 0;
    height: auto;
    padding: 32px 40px;
    align-items: center;
}

body.ashrams-homepage .ashrams-header__wordmark {
    display: inline-flex;
    align-items: center;
    font-family: var(--ashrams-inter), 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 600;
    line-height: 15px;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    color: #55433d;
}

body.ashrams-homepage .ashrams-header__toggle {
    margin-left: 0;
}

/* Figma 5622:2802 — 74×24 menu glyph (3 lines, short bottom) */
body.ashrams-homepage .ashrams-header__toggle--home {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    width: 74px;
    min-width: 74px;
    height: 24px;
    min-height: 24px;
    margin-left: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

body.ashrams-homepage .ashrams-header__toggle-icon {
    display: block;
    width: 74px;
    height: 24px;
    object-fit: fill;
}

body.ashrams-homepage .ashrams-header__toggle-icon--phone {
    display: none;
}

body.ashrams-homepage .ashrams-header__toggle--home .ashrams-header__toggle-line {
    display: none;
}

body.ashrams-homepage .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) {
    /* Figma 5622:2672 — HERO PAGE IMAGE 1440×923 */
    aspect-ratio: 1440 / 923;
    height: auto;
    min-height: 0;
    max-height: none;
    display: block;
    text-align: left;
    padding: 0;
    background: #ffffff;
    overflow: hidden;
}

body.ashrams-homepage .ashrams-hero--home .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh {
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
body.ashrams-homepage .ashrams-hero--home .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh::after {
    display: block !important;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) 58%,
        rgba(255, 255, 255, 0.18) 82%,
        rgba(255, 255, 255, 0.78) 94%,
        #ffffff 100%
    );
}

body.ashrams-homepage .ashrams-hero--home::after {
    display: none;
}

body.ashrams-homepage .ashrams-hero__content {
    position: absolute;
    z-index: 2;
    /* Figma 5622:2787 Heading 1 — x:600 y:122 w:671 h:98 on 1440×923 */
    top: calc(150 / 923 * 100%);
    left: calc(676 / 1440 * 100%);
    right: auto;
    width: calc(671 / 1440 * 100%);
    max-width: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    /* Figma: title + CTA left-aligned as a stack (not centered under each other) */
    align-items: flex-start;
    text-align: left;
    box-sizing: border-box;
    padding: 0;
}

body.ashrams-homepage .ashrams-hero__title {
    margin: 0;
    width: auto;
    max-width: 100%;
    /* Figma text frame height 98px on 1440 artboard */
    min-height: calc(100vw * 65 / 1440);
    display: block;
    font-family: var(--ashrams-serif), 'Cormorant Infant', serif;
    font-size: calc(100vw * 35 / 1440);
    font-weight: 400;
    font-style: normal;
    line-height: calc(40 / 35);
    letter-spacing: 1px;
    color: #697074;
    word-spacing: normal;
    white-space: nowrap;
    text-align: left;
    transform: none;
    box-sizing: border-box;
}

/* Figma: wider gap between “journey” and “that” on desktop */
body.ashrams-homepage .ashrams-hero__title-gap {
    display: inline;
    margin: 0 0.28em 0 0;
}

body.ashrams-homepage .ashrams-hero__cta {
    /* Figma 5622:2783 — Manrope 15/18, tracking 3px, opacity 60%, gap 8 */
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin-top: calc(100vw * 7 / 1440);
    /* Slight indent under title start (Figma CTA sits just inside the “I”) */
    margin-left: 0.15em;
    font-family: var(--ashrams-manrope), 'Manrope', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 18px;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-decoration: none;
    color: #2d2d2d;
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

body.ashrams-homepage .ashrams-hero__cta-label {
    display: inline-block;
}

body.ashrams-homepage .ashrams-hero__cta-icon {
    display: block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    /* Figma asset points left; design flips 180° to a right chevron */
    transform: rotate(180deg);
    object-fit: contain;
}

body.ashrams-homepage .ashrams-hero__cta:hover {
    opacity: 1;
    color: #2d2d2d;
}

/* Figma 7455:1999 — cookie stays in the hero-corner position while the page scrolls */
body.ashrams-homepage {
    position: relative;
}

@media (min-width: 768px) {
    body.ashrams-homepage .ashrams-cookie {
        position: fixed;
        top: 393px;
        right: 21px;
        bottom: auto;
        left: auto;
    }
}

/* Figma desktop: single-line title; tablet/mobile: allow wrap at break */
body.ashrams-homepage .ashrams-hero__title-break {
    display: none;
}

@media (max-width: 999px) {
    body.ashrams-homepage .ashrams-hero__title-break {
        display: inline;
    }

    body.ashrams-homepage .ashrams-hero__title-gap {
        display: none;
    }

    body.ashrams-homepage .ashrams-hero__title {
        white-space: normal;
    }

    body.ashrams-homepage .ashrams-hero__cta {
        margin-left: 0;
    }
}

body.ashrams-homepage .ashrams-hero__scroll--mark {
    position: absolute;
    left: 50%;
    bottom: clamp(0.75rem, 2.5vh, 1.5rem);
    transform: translateX(-50%);
    gap: 0;
    font-size: 0;
    letter-spacing: 0;
    color: transparent;
    text-shadow: none;
    pointer-events: none;
}

body.ashrams-homepage .ashrams-hero__scroll--mark::after {
    height: clamp(2.5rem, 5.5vh, 3.5rem);
    background: #e0dfdd;
}

@media (min-width: 1000px) {
    body.ashrams-homepage .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) {
        min-height: clamp(32rem, 64.1vw, 57.6875rem);
    }

    body.ashrams-homepage .ashrams-hero__title {
        white-space: nowrap;
        max-width: calc(544 / 1440 * 100vw);
        transform: none;
    }
}

@media (max-width: 999px) {
    body.ashrams-homepage .ashrams-header__nav--full {
        padding: 24px 20px;
    }

    body.ashrams-homepage .ashrams-header__toggle--home {
        width: 48px;
        min-width: 48px;
        height: 24px;
    }

    body.ashrams-homepage .ashrams-header__toggle-icon {
        width: 48px;
        height: 24px;
        object-fit: contain;
        object-position: right center;
    }

    body.ashrams-homepage .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) {
        aspect-ratio: 1440 / 923;
        min-height: 0;
    }

    body.ashrams-homepage .ashrams-hero--home .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh {
        top: 0 !important;
        height: 100% !important;
        background-size: cover !important;
        background-position: center center !important;
    }

    body.ashrams-homepage .ashrams-hero__content {
        top: clamp(6.75rem, 18vw, 8.25rem);
        left: auto;
        right: clamp(1.25rem, 5vw, 2rem);
        width: auto;
        max-width: min(22rem, 78%);
        margin-left: auto;
        padding: 0;
        align-items: flex-start;
        text-align: left;
    }

    body.ashrams-homepage .ashrams-hero__title {
        font-size: clamp(1.45rem, 5.5vw, 1.875rem);
        letter-spacing: 1px;
        white-space: normal;
        min-height: 0;
        max-width: none;
        justify-content: flex-start;
        text-align: left;
        display: block;
    }

    body.ashrams-homepage .ashrams-hero__cta {
        margin-top: 1rem;
        font-size: 13px;
        letter-spacing: 2px;
    }
}

@media (max-width: 480px) {
    body.ashrams-homepage .ashrams-hero__content {
        max-width: 16.5rem;
    }
}

/* Figma desktop hero — no scroll chevron in frame */
@media (min-width: 1000px) {
    body.ashrams-homepage .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) .ashrams-hero__scroll--mark {
        display: none !important;
    }
}

/* Beat legacy homepage hero rules (scroll hidden, full-viewport height) */
@media (max-width: 999.98px) {
    body.ashrams-homepage .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) .ashrams-hero__scroll--mark {
        display: flex !important;
        opacity: 1 !important;
    }
}

@media (max-width: 999.98px) {
    body.ashrams-homepage .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) {
        align-items: stretch;
        padding: 0 !important;
        max-height: none !important;
    }
}

/* —— Homepage redesign — Section 2: Our Philosophy (Figma 1440) —— */
body.ashrams-homepage .ashrams-hero--home + .ashrams-philosophy {
    margin-top: 0;
}

body.ashrams-homepage .ashrams-section.ashrams-philosophy,
body.ashrams-homepage .ashrams-philosophy {
    /* Figma 8027:4899 image 19 — 1440×783 + copy overlay */
    --phil-copy-max: 1440px;
    --phil-para-gap: 1.85rem; /* ~1.48 line-height blank between paras */
    --phil-ink: #4a4a4a;
    --phil-body: #25221f;
    position: relative;
    display: block;
    aspect-ratio: 1440 / 783;
    width: 100%;
    min-height: 0;
    height: auto;
    padding: 0 !important;
    margin-top: 5rem;
    background: #ffffff;
    overflow: hidden;
    border: none;
    box-shadow: none;
}

/* Scene fills entire section — copy floats on the top white/sky band */
body.ashrams-homepage .ashrams-philosophy__scene-wrap {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0;
    pointer-events: none;
}

body.ashrams-homepage .ashrams-philosophy__scene {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0;
    aspect-ratio: auto !important;
    overflow: hidden;
    background: #f7f4ef;
}

body.ashrams-homepage .ashrams-philosophy__scene::before {
    content: none;
}

body.ashrams-homepage .ashrams-philosophy__scene::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    height: calc(133 / 783 * 100%); /* Figma 8032:4904 fade 133px */
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        #ffffff 100%
    );
}

body.ashrams-homepage .ashrams-philosophy__scene picture {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
}

body.ashrams-homepage .ashrams-philosophy__img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    /* Figma image 19 crop: h 130.13%, top -13.15% */
    object-position: center 42%;
}

body.ashrams-homepage .ashrams-philosophy__intro {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: var(--phil-copy-max);
    margin: 0 auto;
    box-sizing: border-box;
    /* Title y:1082 on image y:1067 → 15px; x title 97 / body 431 */
    padding: calc(100vw * 15 / 1440)
        calc(100vw * 97 / 1440)
        calc(100vw * 120 / 1440);
    background: transparent;
}

body.ashrams-homepage .ashrams-philosophy__copy {
    display: grid;
    grid-template-columns: calc(100vw * 211 / 1440) calc(100vw * 501 / 1440);
    column-gap: calc(100vw * 116 / 1440);
    align-items: start;
    width: 100%;
    max-width: none;
    margin: 0;
    justify-content: start;
}

body.ashrams-homepage .ashrams-philosophy__title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin: 0;
    width: calc(100vw * 218 / 1440);
    /* Figma 8038:4921 — Cormorant Infant Regular 45/55 #4a4a4a */
    font-family: 'Cormorant Infant', var(--ashrams-serif), Georgia, serif;
    font-size: calc(100vw * 45 / 1440);
    font-weight: 100;
    font-style: normal;
    line-height: calc(55 / 45);
    letter-spacing: 0;
    color: var(--phil-ink);
    text-align: left;
}

body.ashrams-homepage .ashrams-philosophy__title-our,
body.ashrams-homepage .ashrams-philosophy__title-main {
    display: block;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    margin: 0;
}

body.ashrams-homepage .ashrams-philosophy__body {
    display: flex;
    flex-direction: column;
    gap: var(--phil-para-gap);
    min-width: 0;
    width: calc(100vw * 501 / 1440);
    max-width: none;
    margin-left: 0;
    justify-self: start;
    padding-top: calc(100vw * 4 / 1440);
}

body.ashrams-homepage .ashrams-philosophy__para {
    margin: 0;
    /* Figma 8019:4892 — Cormorant Garamond Regular 20px, tracking 0.4, lh 1.48, #25221f */
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
    font-size: calc(100vw * 18 / 1440);
    font-weight: 200;
    line-height: 1.48;
    letter-spacing: 0.4px;
    color: var(--phil-link);
    text-align: left;
}

/* Mobile only — desktop overlay layout above stays unchanged */
@media (max-width: 999px) {
    /* Figma phone: white copy stack → temple scene (not overlay) */
    body.ashrams-homepage .ashrams-section.ashrams-philosophy,
    body.ashrams-homepage .ashrams-philosophy {
        display: flex !important;
        flex-direction: column !important;
        /* Clear desktop 1440/783 aspect-ratio or section collapses (~233px at 428w)
           while scene/copy overflow and leave a giant white void below. */
        aspect-ratio: auto !important;
        min-height: 0 !important;
        height: auto !important;
        overflow: visible !important;
        background: #ffffff;
        padding: 0 !important;
    }

    /* Copy first */
    body.ashrams-homepage .ashrams-philosophy__intro {
        position: relative !important;
        order: 1 !important;
        z-index: 2;
        width: 100%;
        padding: 2.5rem 1.5rem 1.75rem !important;
        background: #ffffff;
    }

    body.ashrams-homepage .ashrams-philosophy__copy {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        grid-template-columns: none;
        row-gap: 1.5rem;
        column-gap: 0;
        max-width: 20.5rem;
        margin: 0 auto;
        text-align: center;
    }

    body.ashrams-homepage .ashrams-philosophy__title {
        display: block !important;
        align-items: center;
        text-align: center;
        font-size: 1.875rem;
        font-weight: 300;
        line-height: 1.2;
        color: #4f4842;
    }

    body.ashrams-homepage .ashrams-philosophy__title-our,
    body.ashrams-homepage .ashrams-philosophy__title-main {
        display: inline !important;
        font-size: inherit !important;
        letter-spacing: inherit;
        line-height: inherit;
        margin-top: 0 !important;
    }

    body.ashrams-homepage .ashrams-philosophy__title-our::after {
        content: ' ';
    }

    body.ashrams-homepage .ashrams-philosophy__body {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.35rem;
        max-width: 20.5rem;
        width: 100%;
        margin: 0 auto;
        padding-top: 0;
        justify-self: stretch;
    }

    body.ashrams-homepage .ashrams-philosophy__para {
        font-size: 1.0625rem;
        font-weight: 300;
        line-height: 1.55;
        letter-spacing: 0.01em;
        color: #5f574f;
        text-align: center;
    }

    /* Scene second — below copy, soft sky blend + bottom fade */
    body.ashrams-homepage .ashrams-philosophy__scene-wrap {
        position: relative !important;
        inset: auto !important;
        order: 2 !important;
        z-index: 1;
        width: 100vw !important;
        max-width: 100vw !important;
        min-height: 0 !important;
        margin: 0 !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding: 0;
        pointer-events: auto;
    }

    body.ashrams-homepage .ashrams-philosophy__scene {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 22.5rem;
        aspect-ratio: 390 / 460 !important;
        background: #ffffff;
    }

    body.ashrams-homepage .ashrams-philosophy__scene::before {
        /* Image already has bright sky — keep top blend soft, not a heavy white slab */
        background: linear-gradient(
            180deg,
            #ffffff 0%,
            rgba(255, 255, 255, 0.55) 8%,
            rgba(255, 255, 255, 0.12) 18%,
            rgba(255, 255, 255, 0) 32%
        );
    }

    body.ashrams-homepage .ashrams-philosophy__scene::after {
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0) 58%,
            rgba(255, 255, 255, 0.18) 82%,
            rgba(255, 255, 255, 0.78) 94%,
            #ffffff 100%
        );
    }

    body.ashrams-homepage .ashrams-philosophy__scene picture,
    body.ashrams-homepage .ashrams-philosophy__img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    body.ashrams-homepage .ashrams-philosophy__img {
        object-fit: cover;
        object-position: center 38%;
    }
}

/* —— Homepage redesign — Section 3: Explore Regions (Figma 5622:2616) —— */
body.ashrams-homepage .ashrams-explore-regions {
    /* Figma 5622:2616 — Main Section p 96px; extra top clears philosophy fade */
    padding: 230px 96px 96px;
    background: #ffffff;
    box-sizing: border-box;
    overflow: visible;
    padding-right:0px !important;
}

body.ashrams-homepage .ashrams-explore-regions__inner {
    display: flex;
    align-items: flex-start;
    gap: 64px;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    overflow: visible;
}

body.ashrams-homepage .ashrams-explore-regions__head {
    flex: 0 0 217.59px;
    width: 217.59px;
    padding-top: 32px;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-explore-regions__title {
    margin: 0 0 24px;
    /* Cormorant Infant Regular 45/55 #4a4a4a */
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
    font-size: 45px;
    font-weight: 200;
    line-height: 55px;
    letter-spacing: 0;
    color: #4a4a4a;
}

body.ashrams-homepage .ashrams-explore-regions__subtitle {
    margin: 0;
    max-width: 320px;
    /* Inter Light Italic 18/29.25 #737373 */
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 18px;
    font-weight: 300;
    font-style: italic;
    line-height: 29.25px;
    color: #737373;
}

body.ashrams-homepage .ashrams-explore-regions__carousel {
    position: relative;
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
    overflow: visible;
}

body.ashrams-homepage .ashrams-explore-regions__track {
    display: flex;
    flex-wrap: nowrap;
    gap: 32px; /* card step 352 - 320 */
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0;
    padding-right: 16px; /* room for next control (-16px) inside Figma 96px shell pad */
}

/* Desktop-only fixed carousel heights — never inherit on phone */
@media (min-width: 1000px) {
    body.ashrams-homepage .ashrams-explore-regions__carousel {
        height: 520px;
    }

    body.ashrams-homepage .ashrams-explore-regions__track {
        height: 560px;
    }
}

body.ashrams-homepage .ashrams-explore-regions__track::-webkit-scrollbar {
    display: none;
}

body.ashrams-homepage .ashrams-explore-regions__card {
    flex: 0 0 320px;
    width: 320px;
    height: 520px;
    border-radius: 10px;
    scroll-snap-align: start;
    overflow: hidden;
}

body.ashrams-homepage .ashrams-explore-regions__card-link {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
    color: #ffffff;
    text-decoration: none;
}

body.ashrams-homepage .ashrams-explore-regions__card-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* Journey hero bgs — crop focal band (heroes fade to white at top/bottom) */
body.ashrams-homepage .ashrams-explore-regions__card--himalayas .ashrams-explore-regions__card-bg {
    object-position: center 48%;
}

body.ashrams-homepage .ashrams-explore-regions__card--north-west .ashrams-explore-regions__card-bg {
    object-position: center 44%;
}

body.ashrams-homepage .ashrams-explore-regions__card--southern-india .ashrams-explore-regions__card-bg {
    object-position: 68% center; /* Figma left -31.25% crop bias */
}

body.ashrams-homepage .ashrams-explore-regions__card--north-east .ashrams-explore-regions__card-bg {
    object-position: 68% center;
}

body.ashrams-homepage .ashrams-explore-regions__card-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.12) 0%,
        rgba(0, 0, 0, 0) 28%,
        rgba(0, 0, 0, 0.15) 55%,
        rgba(0, 0, 0, 0.72) 100%
    );
    pointer-events: none;
}

body.ashrams-homepage .ashrams-explore-regions__card-tags,
body.ashrams-homepage .ashrams-explore-regions__card-durations {
    margin: 0;
    font-family: 'Inter', var(--ashrams-inter), sans-serif !important;
    font-size: 10px;
    font-weight: 500;
    line-height: 15px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

body.ashrams-homepage .ashrams-explore-regions__card-tags {
    position: absolute;
    right: 32px;
    top: 32px;
    color: rgba(255, 255, 255, 0.9);
    text-align: center;
}

body.ashrams-homepage .ashrams-explore-regions__card-tag-sep {
    margin-inline: 0.35em;
    font-weight: 300;
    letter-spacing: 0;
}

body.ashrams-homepage .ashrams-explore-regions__card-duration-sep {
    margin-inline: 0.45em;
    font-weight: 300;
    letter-spacing: 0;
}

body.ashrams-homepage .ashrams-explore-regions__card-foot {
    position: absolute;
    left: 32px;
    right: 32px;
    bottom: 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 11.3px;
}

body.ashrams-homepage .ashrams-explore-regions__card-durations {
    position: static;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: 3px;
}

body.ashrams-homepage .ashrams-explore-regions__card-title,
body.ashrams-homepage .ashrams-explore-regions__card-title-line {
    /* Figma: Playfair Display Bold 30/37.5 tracking -0.75 */
    font-family: 'Liberation Serif', var(--ashrams-serif), serif !important;
}

body.ashrams-homepage .ashrams-explore-regions__card-title {
    margin: 0;
    padding-bottom: 21px;
    font-size: 20px;
    font-weight: 700;
    line-height: 37.5px;
    letter-spacing: 3.2px;
    color: #ffffff;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: visible;
    text-overflow: unset;
    width: 100%;
}

body.ashrams-homepage .ashrams-explore-regions__card-title-line {
    display: block;
    font-weight: 700;
}

body.ashrams-homepage .ashrams-explore-regions__card-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 11px 25px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 0;
    font-family: 'Inter', var(--ashrams-inter), sans-serif !important;
    font-size: 10px;
    font-weight: 400;
    line-height: 15px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #ffffff;
}

body.ashrams-homepage .ashrams-explore-regions__card-link:hover .ashrams-explore-regions__card-cta,
body.ashrams-homepage .ashrams-explore-regions__card-link:focus-visible .ashrams-explore-regions__card-cta {
    background: rgba(255, 255, 255, 0.12);
}

body.ashrams-homepage .ashrams-explore-regions__next {
    /* Figma 5622:2669 — 48×48, border #e5e5e5, shadow soft, right -16 */
    position: absolute;
    top: 50%;
    right: -16px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 1px;
    border: 1px solid #e5e5e5;
    border-radius: 9999px;
    background: #ffffff;
    color: #171717;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    transform: translateY(-50%);
    cursor: pointer;
}

body.ashrams-homepage .ashrams-explore-regions__next-icon {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

body.ashrams-homepage .ashrams-explore-regions__next span {
    font-size: 1.35rem;
    line-height: 1;
}

@media (max-width: 999px) {
    body.ashrams-homepage .ashrams-explore-regions {
        padding: 64px 0 72px;
    }

    body.ashrams-homepage .ashrams-explore-regions__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 1.75rem;
        max-width: 100%;
        width: 100%;
    }

    body.ashrams-homepage .ashrams-explore-regions__head {
        flex: none;
        flex-basis: auto;
        width: 100%;
        max-width: none;
        padding: 0 1.5rem;
        text-align: center;
    }

    body.ashrams-homepage .ashrams-explore-regions__title {
        font-size: 1.875rem;
        line-height: 1.2;
    }

    body.ashrams-homepage .ashrams-explore-regions__subtitle {
        margin-inline: auto;
        max-width: 18rem;
    }

    body.ashrams-homepage .ashrams-explore-regions__carousel {
        flex: none;
        width: 100%;
        max-width: none;
        height: auto;
        min-height: 0;
    }

    body.ashrams-homepage .ashrams-explore-regions__track {
        height: auto;
        min-height: 0;
        gap: 1.5rem;
        padding: 0 1.5rem;
        scroll-snap-type: x mandatory;
    }

    body.ashrams-homepage .ashrams-explore-regions__card {
        flex: 0 0 min(18.0625rem, 78vw);
        width: min(18.0625rem, 78vw);
        height: min(29.375rem, 118vw);
    }

    body.ashrams-homepage .ashrams-explore-regions__card-tags {
        white-space: nowrap;
    }

    body.ashrams-homepage .ashrams-explore-regions__next {
        right: 0.5rem;
        transform: translateY(-50%);
    }
}

/* —— Homepage redesign — Section 4: Immersions (Figma 5622:2748 / 5622:2756) —— */
/* Higher specificity than ashrams-immersions.css so homepage Figma tokens win. */
body.ashrams-homepage .ashrams-immersions {
    width: 100%;
    padding: 96px 0 230px;
    background: #ffffff;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-immersions__head {
    width: 100%;
    max-width: 736px;
    margin: 0 auto 48px;
    padding: 15px 24px 0;
    text-align: center;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-immersions__title {
    margin: 0 0 24px;
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
    font-size: 45px;
    font-weight: 200;
    line-height: 48px;
    color: #4a4a4a;
    text-align: center;
}

body.ashrams-homepage .ashrams-immersions__subtitle {
    margin: 6.75px auto 0;
    max-width: 320px;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 18px;
    font-weight: 300;
    font-style: italic;
    line-height: 29.25px;
    color: #737373;
    text-align: center;
}

body.ashrams-homepage .ashrams-immersions__main {
    width: 100%;
    max-width: 1232px;
    margin: 0 auto;
    position: relative;
}

body.ashrams-homepage .ashrams-immersions__panel {
    display: none;
}

body.ashrams-homepage .ashrams-immersions__panel.is-active {
    display: block;
}

body.ashrams-homepage .ashrams-immersions__media {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    padding: 0 48px;
    box-sizing: border-box;
    width: 100%;
    overflow: hidden;
}

body.ashrams-homepage .ashrams-immersions__frame {
    position: relative;
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    height: 400px;
    background: #eceae6;
}

body.ashrams-homepage .ashrams-immersions__frame--primary {
    width: 750px;
    max-width: calc(100% - 32px - min(402px, 34%));
}

body.ashrams-homepage .ashrams-immersions__frame--secondary {
    /* Figma 5622:2767 — 826 wide; clipped by overflow to read as peek */
    width: 826px;
    max-width: none;
}

body.ashrams-homepage .ashrams-immersions__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 35%;
}

body.ashrams-homepage .ashrams-immersions__frame--secondary .ashrams-immersions__img {
    object-position: center center;
}

body.ashrams-homepage .ashrams-immersions__controls {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    width: 160px;
    height: 60px;
    background: rgba(255, 255, 255, 0.69);
    border-radius: 5px;
    overflow: hidden;
    z-index: 2;
}

body.ashrams-homepage .ashrams-immersions__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 60px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1a1a1a;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

body.ashrams-homepage .ashrams-immersions__nav + .ashrams-immersions__nav {
    border-left: 1px solid rgba(0, 0, 0, 0.1);
}

body.ashrams-homepage .ashrams-immersions__caption {
    display: flex;
    align-items: flex-start;
    gap: 100px;
    width: 100%;
    max-width: 1173px;
    margin: 51px 0 0;
    padding: 0 48px 5px;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-immersions__caption-left {
    flex: 0 0 320px;
    width: 320px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

body.ashrams-homepage .ashrams-immersions__eyebrow {
    margin: 0;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 10px;
    font-weight: 400;
    line-height: 15px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #666666;
}

body.ashrams-homepage .ashrams-immersions__heading {
    margin: 0;
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
    font-size: 30px;
    font-weight: 500;
    font-style: italic;
    line-height: 36px;
    color: #1a1a1a;
}

body.ashrams-homepage .ashrams-immersions__heading-line {
    display: block;
}

/* Desktop: two-line stack; hide CMS single-line alternative */
body.ashrams-homepage .ashrams-immersions__heading-stack {
    display: block;
}

body.ashrams-homepage .ashrams-immersions__heading-single {
    display: none;
}

body.ashrams-homepage .ashrams-immersions__caption-right {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 653px;
}

body.ashrams-homepage .ashrams-immersions__body {
    margin: 0;
    font-family: 'Montserrat', var(--ashrams-sans), sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: #666666;
}

@media (max-width: 1199px) {
    body.ashrams-homepage .ashrams-immersions__media {
        padding: 0 24px;
        gap: 20px;
    }

    body.ashrams-homepage .ashrams-immersions__frame--primary,
    body.ashrams-homepage .ashrams-immersions__frame--secondary {
        width: calc(50% - 10px);
        max-width: none;
        height: clamp(240px, 32vw, 360px);
    }

    body.ashrams-homepage .ashrams-immersions__caption {
        gap: 48px;
        padding: 0 24px;
        margin-top: 40px;
    }

    body.ashrams-homepage .ashrams-immersions__caption-left {
        flex: 0 0 240px;
        width: 240px;
    }
}

@media (max-width: 999px) {
    body.ashrams-homepage .ashrams-immersions {
        padding: 64px 0 56px;
    }

    body.ashrams-homepage .ashrams-immersions__title {
        font-size: 36px;
        line-height: 40px;
    }

    body.ashrams-homepage .ashrams-immersions__subtitle {
        font-size: 16px;
        line-height: 26px;
    }

    body.ashrams-homepage .ashrams-immersions__media {
        flex-direction: column;
        gap: 16px;
        padding: 0 20px;
    }

    body.ashrams-homepage .ashrams-immersions__frame--primary,
    body.ashrams-homepage .ashrams-immersions__frame--secondary {
        width: 100%;
        max-width: none;
        height: min(56vw, 320px);
    }

    body.ashrams-homepage .ashrams-immersions__caption {
        flex-direction: column;
        gap: 20px;
        padding: 0 20px;
        margin-top: 28px;
    }

    body.ashrams-homepage .ashrams-immersions__caption-left {
        flex: none;
        width: 100%;
    }

    body.ashrams-homepage .ashrams-immersions__heading {
        font-size: 26px;
        line-height: 32px;
    }
}

/* Immersions → Know Our story: soft blend handoff (no hard band) */
body.ashrams-homepage .ashrams-immersions + .ashrams-know-story,
body.ashrams-homepage .cx-immersions + .ashrams-know-story {
    margin-top: 0;
}

/* —— Homepage redesign — Section 5: Know Our story (Figma 5622:2901 / 5622:2913) —— */
body.ashrams-homepage .ashrams-know-story {
    padding: 80px 100px 80px 100px;
    background: #fcfaf8;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-know-story__inner {
    max-width: 1240px;
    margin-inline: auto;
}

body.ashrams-homepage .ashrams-know-story__head {
    margin: 0 0 89px; /* title at 80, content at 217 → 137 - 48 title ≈ 89 */
    text-align: center;
}

body.ashrams-homepage .ashrams-know-story__title {
    margin: 0;
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
    font-size: 45px;
    font-weight: 400;
    line-height: 48px;
    color: #2c2c2c;
}

body.ashrams-homepage .ashrams-know-story__row {
    display: grid;
    gap: 48px;
    align-items: center;
    margin-bottom: 80px;
}

/* Row 1 — text 536px | image 656×301.5px @ 1240px content */
body.ashrams-homepage .ashrams-know-story__row:not(.ashrams-know-story__row--reverse) {
    grid-template-columns: minmax(0, 536fr) minmax(0, 656fr);
}

/* Row 2 — image 596×402px | text 596px @ 1240px content */
body.ashrams-homepage .ashrams-know-story__row--reverse {
    grid-template-columns: minmax(0, 596fr) minmax(0, 596fr);
}

body.ashrams-homepage .ashrams-know-story__row--reverse .ashrams-know-story__copy {
    order: 2;
}

body.ashrams-homepage .ashrams-know-story__row--reverse .ashrams-know-story__media {
    order: 1;
}

body.ashrams-homepage .ashrams-know-story__heading {
    margin: 0 0 24px;
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
    font-size: 30px;
    font-weight: 500;
    font-style: italic;
    line-height: 36px;
    color: #2d3748;
}

body.ashrams-homepage .ashrams-know-story__row .ashrams-know-story__body {
    margin: 0;
    font-family: 'Montserrat', var(--ashrams-sans), sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: #666666;
    margin-right: 56px
}
.ashrams-know-story__founders-right .ashrams-know-story__body {
    margin: 0;
    font-family: 'Montserrat', var(--ashrams-sans), sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: #666666;
    margin-right: 10px
}
body.ashrams-homepage .ashrams-know-story__media {
    margin: 0;
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
}

body.ashrams-homepage .ashrams-know-story__row:not(.ashrams-know-story__row--reverse) .ashrams-know-story__media {
    aspect-ratio: 656 / 301.5;
}

body.ashrams-homepage .ashrams-know-story__row--reverse .ashrams-know-story__media {
    aspect-ratio: 596 / 402;
}

body.ashrams-homepage .ashrams-know-story__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

body.ashrams-homepage .ashrams-know-story__row:not(.ashrams-know-story__row--reverse) .ashrams-know-story__img {
    object-position: center 45%;
}

/* Founders notes — Figma 5622:2923 — 320 | 250 gap | body */
body.ashrams-homepage .ashrams-know-story__founders {
    display: grid;
    grid-template-columns: minmax(0, 320fr) minmax(0, 670fr);
    grid-template-rows: auto auto;
    column-gap: 250px;
    row-gap: 16px;
    align-items: start;
    margin-top: 72px;
    padding-bottom: 0;
}

body.ashrams-homepage .ashrams-know-story__founders-left {
    display: contents;
}

body.ashrams-homepage .ashrams-know-story__founders .ashrams-know-story__eyebrow {
    grid-column: 1;
    grid-row: 1;
    max-width: 20rem;
}

body.ashrams-homepage .ashrams-know-story__founders-heading {
    grid-column: 1;
    grid-row: 2;
}

/* Body top aligns with FOUNDERS NOTES; heading sits below eyebrow on the left */
body.ashrams-homepage .ashrams-know-story__founders-right {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: start;
}

body.ashrams-homepage .ashrams-know-story__eyebrow {
    margin: 0;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 10px;
    font-weight: 400;
    line-height: 15px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #666666;
}

body.ashrams-homepage .ashrams-know-story__founders-heading {
    margin: 0;
    max-width: 20rem;
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
    font-size: 30px;
    font-weight: 500;
    font-style: italic;
    line-height: 36px;
    color: #2d3748;
    margin-right: 7rem
}

@media (max-width: 47.9375rem) {
    body.ashrams-homepage .ashrams-know-story__row,
    body.ashrams-homepage .ashrams-know-story__row--reverse {
        grid-template-columns: 1fr;
    }

    body.ashrams-homepage .ashrams-know-story__row--reverse .ashrams-know-story__copy,
    body.ashrams-homepage .ashrams-know-story__row--reverse .ashrams-know-story__media {
        order: unset;
    }

    body.ashrams-homepage .ashrams-know-story__founders {
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: clamp(1.25rem, 4vw, 1.5rem);
    }

    body.ashrams-homepage .ashrams-know-story__founders-heading {
        grid-column: 1;
        grid-row: 2;
    }

    body.ashrams-homepage .ashrams-know-story__founders .ashrams-know-story__eyebrow,
    body.ashrams-homepage .ashrams-know-story__founders-heading {
        max-width: none;
    }

    body.ashrams-homepage .ashrams-know-story__founders-right {
        grid-column: 1;
        grid-row: 3;
    }
}

/* —— Homepage redesign — Section 6: Travellers Reflection (Figma) —— */
body.ashrams-homepage .ashrams-travellers-reflection {
    /* Figma 5622:2815 — py 233, px 96, min-h ~1024 */
    padding: 233px 96px 205px;
    background: #ffffff;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-travellers-reflection__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 896px;
    margin-inline: auto;
    text-align: center;
}

body.ashrams-homepage .ashrams-travellers-reflection__head {
    margin: 0 0 80px;
}

body.ashrams-homepage .ashrams-travellers-reflection__eyebrow {
    margin: 0 0 48px;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #8c867e;
}

body.ashrams-homepage .ashrams-travellers-reflection__title {
    margin: 0;
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
    font-size: 45px;
    font-weight: 300;
    line-height: 40px;
    color: #4a4a4a;
    font-style: italic;
}

body.ashrams-homepage .ashrams-travellers-reflection__carousel {
    width: 100%;
    margin-bottom: 0;
}

body.ashrams-homepage .ashrams-travellers-reflection__slides {
    overflow: hidden;
    width: 100%;
    cursor: default;
}

body.ashrams-homepage .ashrams-travellers-reflection__carousel:hover .ashrams-travellers-reflection__slides,
body.ashrams-homepage .ashrams-travellers-reflection__carousel.is-paused .ashrams-travellers-reflection__slides {
    cursor: pointer;
}

body.ashrams-homepage .ashrams-travellers-reflection__track {
    display: flex;
    width: 100%;
    will-change: transform;
}

body.ashrams-homepage .ashrams-travellers-reflection--animated .ashrams-travellers-reflection__track {
    transition: transform 0.75s cubic-bezier(0.65, 0, 0.35, 1);
}

body.ashrams-homepage .ashrams-travellers-reflection__slide {
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
}

@media (prefers-reduced-motion: reduce) {
    body.ashrams-homepage .ashrams-travellers-reflection--animated .ashrams-travellers-reflection__track {
        transition: none;
    }
}

body.ashrams-homepage .ashrams-travellers-reflection__quote {
    margin: 0 auto 64px;
    max-width: 641.72px;
    padding: 0 4px;
    border: 0;
    quotes: none;
}

body.ashrams-homepage .ashrams-travellers-reflection__quote p {
    margin: 0;
    font-family: 'Cormorant Garamond', var(--ashrams-serif), serif;
    font-size: 30px;
    font-weight: 300;
    font-style: italic;
    line-height: 49.5px;
    color: #4a443f;
    white-space: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.ashrams-homepage .ashrams-travellers-reflection__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 80px;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #8c867e;
}

body.ashrams-homepage .ashrams-travellers-reflection__meta-part {
    font-weight: 300;
}

body.ashrams-homepage .ashrams-travellers-reflection__meta-sep {
    line-height: 1;
}

body.ashrams-homepage .ashrams-travellers-reflection__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 0;
}

body.ashrams-homepage .ashrams-travellers-reflection__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 9999px;
    background: rgba(140, 134, 126, 0.4);
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

body.ashrams-homepage .ashrams-travellers-reflection__dot.is-active {
    background: #4a443f;
}

body.ashrams-homepage .ashrams-travellers-reflection__dot:hover,
body.ashrams-homepage .ashrams-travellers-reflection__dot:focus-visible {
    background: #4a443f;
    outline: none;
}

body.ashrams-homepage .ashrams-travellers-reflection__footer {
    display: flex;
    justify-content: center;
    margin-top: 64px;
}

body.ashrams-homepage .ashrams-travellers-reflection__cta {
    /* Figma 5622:2951 — SEE ALL JOURNEY REVIEWS */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 0 5px;
    border-bottom: 1px solid #9ca3af;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 2.1px;
    text-transform: uppercase;
    text-decoration: none;
    color: #1a1c1c;
    transition: opacity 0.2s ease;
}

body.ashrams-homepage .ashrams-travellers-reflection__cta:hover {
    opacity: 0.75;
    color: #1a1c1c;
}

body.ashrams-homepage .ashrams-travellers-reflection .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 47.9375rem) {
    body.ashrams-homepage .ashrams-travellers-reflection__slides {
        min-height: clamp(14rem, 52vw, 20rem);
    }

    body.ashrams-homepage .ashrams-travellers-reflection__meta {
        gap: 0.375rem 0.5rem;
        max-width: 20rem;
        margin-inline: auto;
    }
}

/* —— Homepage redesign — Section 7: Community stats (Figma 5622:2851) —— */
body.ashrams-homepage .ashrams-home-stats {
    padding: 0;
    padding-inline: calc((100% - 1167px) / 2);
    background: #ffffff;
}

body.ashrams-homepage .ashrams-home-stats__inner {
    max-width: 1167px;
    width: 100%;
    margin-inline: auto;
    padding-block: 49px;
    border-top: 1px solid #d1cfcb;
    border-bottom: 1px solid #d1cfcb;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-home-stats__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 0;
}

body.ashrams-homepage .ashrams-home-stats__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    min-height: 0;
    padding: 0 24px;
    text-align: center;
    box-sizing: border-box;
}

/* Middle column side borders (Figma Border node) */
body.ashrams-homepage .ashrams-home-stats__item:nth-child(2) {
    border-left: 1px solid #d1cfcb;
    border-right: 1px solid #d1cfcb;
    padding-inline: 25px;
}

body.ashrams-homepage .ashrams-home-stats__item:not(:first-child)::before {
    content: none;
}

body.ashrams-homepage .ashrams-home-stats__value {
    display: block;
    height: 40px;
    font-family: 'Noto Serif', var(--ashrams-serif), serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 40px;
    color: #1a1c1c;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.ashrams-homepage .ashrams-home-stats__label {
    display: block;
    height: auto;
    font-family: 'Manrope', var(--ashrams-manrope), sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #8c867e;
}

@media (min-width: 48rem) {
    body.ashrams-homepage .ashrams-home-stats__label {
        max-width: none;
        white-space: nowrap;
    }
}

@media (max-width: 47.9375rem) {
    body.ashrams-homepage .ashrams-home-stats__inner {
        padding-block: clamp(2rem, 6vw, 2.5rem);
    }

    body.ashrams-homepage .ashrams-home-stats__grid {
        grid-template-columns: 1fr;
        gap: clamp(1.75rem, 5vw, 2.25rem);
    }

    body.ashrams-homepage .ashrams-home-stats__item {
        padding-inline: 0;
    }

    body.ashrams-homepage .ashrams-home-stats__item:nth-child(2) {
        border-left: none;
        border-right: none;
        padding-inline: 0;
    }

    body.ashrams-homepage .ashrams-home-stats__label {
        white-space: normal;
        max-width: 16rem;
    }

    body.ashrams-homepage .ashrams-home-stats__item:not(:first-child)::before {
        display: none;
    }

    body.ashrams-homepage .ashrams-home-stats__item:not(:first-child) {
        padding-top: clamp(1.75rem, 5vw, 2.25rem);
        border-top: 1px solid #d1cfcb;
    }
}

/* —— Homepage redesign — Section 8: Ashrams Journal (Figma 5622:2677 / 5622:2697) —— */
/* Frame: 1440×926 pt 32, inner 1360, header→carousel gap 46.875, carousel 772 (pt 65) */
body.ashrams-homepage .ashrams-home-journal {
    width: 100%;
    max-width: 1440px;
    min-height: 926px;
    margin: 0 auto;
    padding: 240px 0 0;
    background: #ffffff;
    box-sizing: border-box;
}

body.ashrams-homepage #home-stats + .ashrams-home-journal {
    margin-top: 0;
}

body.ashrams-homepage .ashrams-home-journal__shell {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-home-journal__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    /* Figma: MainHeader (109.5) then EssayCarousel — no gap on parent Body */
    gap: 0;
    width: 100%;
    max-width: 1360px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Header — Figma MainHeader: TopRow 16 + gap 46.875 + SubHeader 46.625 = 109.5 */
body.ashrams-homepage .ashrams-home-journal__head {
    position: relative;
    display: block;
    width: 100%;
    height: 109.5px;
    min-height: 109.5px;
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-home-journal__rule {
    display: none;
}

/* Figma 5622:2695 — left-0 in 1360 shell, Cormorant Infant Italic 45/40 #4a4a4a */
body.ashrams-homepage .ashrams-home-journal__title {
    position: absolute;
    left: 0;
    top: calc(50% + 2.25px);
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
    font-size: 45px;
    font-weight: 400;
    font-style: italic;
    line-height: 40px;
    letter-spacing: 0;
    color: #4a4a4a;
    text-align: center;
    white-space: nowrap;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Figma 5622:2680 — controls at left 1129 within 1360 (= right: 0) */
body.ashrams-homepage .ashrams-home-journal__controls {
    position: absolute;
    top: 37px;
    right: 0;
    left: auto;
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
}

body.ashrams-homepage .ashrams-home-journal__all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0 0 5px;
    border-bottom: 1px solid #000000;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 15.6px;
    letter-spacing: 2.08px;
    text-transform: uppercase;
    text-decoration: none;
    color: #111827;
    white-space: nowrap;
    transition: opacity 0.2s ease;
}

body.ashrams-homepage .ashrams-home-journal__all-label {
    font: inherit;
    letter-spacing: inherit;
}

body.ashrams-homepage .ashrams-home-journal__all:hover,
body.ashrams-homepage .ashrams-home-journal__all:focus-visible {
    opacity: 0.72;
    color: #111827;
}

body.ashrams-homepage .ashrams-home-journal__all-arrow {
    display: inline-block;
    width: 9.333px;
    font-size: 15px;
    line-height: 1;
    text-align: center;
}

/* Figma 5622:2685 — nav margin pl 24 */
body.ashrams-homepage .ashrams-home-journal__nav {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin: 0 0 0 24px;
    padding: 1px;
    border: 1px solid #e5e7eb;
    border-radius: 5px;
    overflow: hidden;
    background: #ffffff;
    box-sizing: border-box;
    height: 40px;
}

body.ashrams-homepage .ashrams-home-journal__nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 40px;
    height: 39px;
    margin: 0;
    padding: 13.5px 16px 10.5px;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 1;
    color: #4a4a4a;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

body.ashrams-homepage .ashrams-home-journal__nav-btn span {
    display: block;
    font: inherit;
    line-height: 1;
    transform: scaleY(1.15);
}

body.ashrams-homepage .ashrams-home-journal__nav-btn + .ashrams-home-journal__nav-btn {
    border-left: 1px solid #e5e7eb;
    padding-left: 17px;
}

body.ashrams-homepage .ashrams-home-journal__nav-btn:hover:not(:disabled) {
    background: #f9fafb;
    color: #1a1c1c;
}

body.ashrams-homepage .ashrams-home-journal__nav-btn:disabled {
    opacity: 0.35;
    cursor: default;
}

/* Figma 5622:2697 — EssayCarousel 1360×772, border t/b, pt 65 */
body.ashrams-homepage .ashrams-home-journal__carousel {
    box-sizing: border-box;
    width: 100%;
    height: 772px;
    min-height: 772px;
    max-height: 772px;
    margin: 0;
    padding: 65px 0 1px;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    overflow: hidden;
    background: #ffffff;
}

body.ashrams-homepage .ashrams-home-journal__viewport {
    width: 100%;
    height: 707px;
    overflow: hidden;
}

body.ashrams-homepage .ashrams-home-journal__track {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    height: 704px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

body.ashrams-homepage .ashrams-home-journal__track::-webkit-scrollbar {
    display: none;
}

/* Figma 5622:2699 — card 480×704, border-r #e5e5e5, gap 0 */
body.ashrams-homepage .ashrams-home-journal__card {
    flex: 0 0 440px;
    width: 440px;
    min-width: 440px;
    max-width: 440px;
    height: 704px;
    min-height: 704px;
    max-height: 704px;
    margin: 0;
    padding: 0;
    border: 0;
    border-right: 1px solid #e5e5e5;
    scroll-snap-align: start;
    box-sizing: border-box;
    background: #ffffff;
    margin-right: 5px;
}

body.ashrams-homepage .ashrams-home-journal__card:last-child {
    border-right: 0;
    margin-right: 0;
}

body.ashrams-homepage .ashrams-home-journal__card-link {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    height: 704px;
    color: inherit;
    text-decoration: none;
}

/* Figma image block — 480×300 (reset figure UA margin) */
body.ashrams-homepage .ashrams-home-journal__media {
    position: relative;
    flex: 0 0 300px;
    width: 100%;
    height: 300px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #d1d5db;
}

body.ashrams-homepage .ashrams-home-journal__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border: 0;
}

/* Figma text stack — remaining 404px, padding 32/32/32/40 */
body.ashrams-homepage .ashrams-home-journal__body {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    height: 404px;
    min-height: 404px;
    max-height: 404px;
    margin: 0;
    padding: 32px 32px 32px 40px;
    box-sizing: border-box;
}

/* Figma 5622:2701 — all cards pl 40 / pr 32 / py 32 */
body.ashrams-homepage .ashrams-home-journal__card:first-child .ashrams-home-journal__body {
    /* padding: 32px 32px 32px 40px; */
    padding-left: 0;
}
body.ashrams-homepage .ashrams-home-journal__card:first-child .ashrams-home-journal__cta {
    left: 4px !important;
}
/* Category — Inter 10.4 / 15.6 / tracking 2.08 / #9ca3af, slot pb 24 */
body.ashrams-homepage .ashrams-home-journal__category-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0 0 24px;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-home-journal__category {
    margin: 0;
    padding: 0;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 10.4px;
    font-weight: 300;
    line-height: 15.6px;
    letter-spacing: 2.08px;
    text-transform: uppercase;
    color: #9ca3af;
}

/* Title slot — Figma Heading 2:margin h 143 */
body.ashrams-homepage .ashrams-home-journal__title-wrap {
    position: relative;
    flex: 0 0 143px;
    width: 100%;
    max-width: 415px;
    height: 143px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
}

body.ashrams-homepage .ashrams-home-journal__card-title {
    margin: 0;
    padding: 0;
    max-width: 400px;
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
    font-size: 28px;
    font-weight: 300;
    font-style: italic;
    line-height: 33.6px;
    letter-spacing: 0;
    color: #4a4a4a;
}

/* Excerpt slot — Figma Margin h 98 (card1) / 73 (card2–3) */
body.ashrams-homepage .ashrams-home-journal__excerpt-wrap {
    position: relative;
    flex: 0 0 98px;
    width: 100%;
    height: 98px;
    min-height: 98px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
}

body.ashrams-homepage .ashrams-home-journal__excerpt {
    margin: 0;
    padding: 0;
    max-width: 400px;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 15.2px;
    font-weight: 200;
    line-height: 24.32px;
    color: #666666;
}

/* Figma 5622:2711 — READ ESSAY absolute (card1: left 50 / top 288 / pt 48) */
body.ashrams-homepage .ashrams-home-journal__cta {
    position: absolute;
    left: 50px;
    right: 32px;
    top: 288px;
    display: inline-flex;
    align-items: flex-start;
    gap: 4px;
    margin: 0;
    padding: 48px 0 0;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 10.4px;
    font-weight: 300;
    line-height: 15.6px;
    letter-spacing: 2.08px;
    text-transform: uppercase;
    color: #9ca3af;
    white-space: nowrap;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-home-journal__cta-label {
    font: inherit;
    letter-spacing: inherit;
}

body.ashrams-homepage .ashrams-home-journal__cta-arrow {
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 10.4px;
    line-height: 15.6px;
}

body.ashrams-homepage .ashrams-home-journal__card-link:hover .ashrams-home-journal__cta,
body.ashrams-homepage .ashrams-home-journal__card-link:focus-visible .ashrams-home-journal__cta {
    color: #1a1a1a;
}

@media (prefers-reduced-motion: reduce) {
    body.ashrams-homepage .ashrams-home-journal__img {
        transform: none;
        transition: none;
    }
}

/* Tablet journal (768–999) — horizontal peek cards; phone ≤767 uses stacked Figma layout */
@media (min-width: 768px) and (max-width: 999px) {
    body.ashrams-homepage .ashrams-home-journal {
        min-height: 0;
        max-width: none;
        padding: 48px 0 0;
    }

    body.ashrams-homepage .ashrams-home-journal__shell {
        padding: 0 24px;
    }

    body.ashrams-homepage .ashrams-home-journal__inner {
        gap: 32px;
        max-width: 100%;
    }

    body.ashrams-homepage .ashrams-home-journal__head {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        height: auto;
        min-height: 0;
    }

    body.ashrams-homepage .ashrams-home-journal__title {
        position: static;
        left: auto;
        top: auto;
        transform: none;
        text-align: left;
        white-space: normal;
        font-size: 36px;
        line-height: 40px;
    }

    body.ashrams-homepage .ashrams-home-journal__controls {
        position: static;
        left: auto;
        top: auto;
        width: 100%;
        justify-content: flex-start;
    }

    body.ashrams-homepage .ashrams-home-journal__carousel {
        height: auto;
        min-height: 0;
        max-height: none;
        padding: 40px 0 1px;
    }

    body.ashrams-homepage .ashrams-home-journal__viewport {
        height: auto;
        overflow: visible;
    }

    body.ashrams-homepage .ashrams-home-journal__track {
        height: auto;
    }

    body.ashrams-homepage .ashrams-home-journal__card {
        flex: 0 0 min(85vw, 400px);
        width: min(85vw, 400px);
        min-width: min(85vw, 400px);
        max-width: min(85vw, 400px);
        height: auto;
        min-height: 0;
        max-height: none;
    }

    body.ashrams-homepage .ashrams-home-journal__card-link {
        height: auto;
    }

    body.ashrams-homepage .ashrams-home-journal__media {
        flex: none;
        height: auto;
        aspect-ratio: 480 / 300;
    }

    body.ashrams-homepage .ashrams-home-journal__body {
        height: auto;
        min-height: 280px;
        max-height: none;
        padding: 28px 24px 32px 28px;
    }

    body.ashrams-homepage .ashrams-home-journal__card:first-child .ashrams-home-journal__body {
        padding-left: 0;
    }

    body.ashrams-homepage .ashrams-home-journal__title-wrap {
        flex: none;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    body.ashrams-homepage .ashrams-home-journal__excerpt-wrap {
        flex: none;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    body.ashrams-homepage .ashrams-home-journal__cta {
        position: static;
        left: auto;
        right: auto;
        top: auto;
        margin-top: 32px;
        padding-top: 0;
    }
}

/* —— Homepage redesign — Section 9: Ashrams Magazine (Figma 5622:2932 / 5622:2942) —— */
body.ashrams-homepage .ashrams-home-magazine {
    padding: 221px 0 120px;
    background: #ffffff;
}

body.ashrams-homepage .ashrams-home-magazine__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 1010px;
    margin-inline: auto;
    padding: 0 24px;
    text-align: center;
    box-sizing: border-box;
}

body.ashrams-homepage .ashrams-home-magazine__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    width: 100%;
    padding: 0 0 25px;
    gap: 32px;
}

body.ashrams-homepage .ashrams-home-magazine__copy {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
}

body.ashrams-homepage .ashrams-home-magazine__eyebrow {
    margin: 0;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 10.4px;
    font-weight: 400;
    line-height: 15.6px;
    letter-spacing: 2.6px;
    text-transform: uppercase;
    color: rgba(26, 26, 26, 0.6);
}

body.ashrams-homepage .ashrams-home-magazine__title {
    margin: 0;
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif !important;
    font-size: 60px;
    font-weight: 300;
    font-style: italic;
    line-height: 72px;
    letter-spacing: -0.72px;
    color: #1a1a1a;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.ashrams-homepage .ashrams-home-magazine__body {
    margin: 8px auto 0;
    width: 100%;
    max-width: 644px;
    font-family: 'Montserrat', var(--ashrams-sans), sans-serif !important;
    font-size: 18px;
    font-weight: 200;
    line-height: 29.25px;
    color: rgba(26, 26, 26, 0.8);
}

body.ashrams-homepage .ashrams-home-magazine__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
}

body.ashrams-homepage .ashrams-home-magazine__form {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    max-width: 644px;
    min-height: 62px;
    margin: 0 auto;
    border: 1px solid #1a1a1a;
    border-radius: 5px;
    overflow: hidden;
    background: #ffffff;
}

body.ashrams-homepage .ashrams-home-magazine__input {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 21px 24px 22px;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: 'Inter', var(--ashrams-inter), sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    color: #1a1a1a;
    outline: none;
}

body.ashrams-homepage .ashrams-home-magazine__input::placeholder {
    color: #a1a1a1;
    opacity: 1;
}

body.ashrams-homepage .ashrams-home-magazine__submit {
    flex: 0 0 169px;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 20px 40px;
    border: 0;
    border-left: 1px solid #1a1c1c;
    border-radius: 0;
    background: #1a1c1c;
    font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #ffffff;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

body.ashrams-homepage .ashrams-home-magazine__submit:hover:not(:disabled) {
    background: #333333;
}

body.ashrams-homepage .ashrams-home-magazine__submit:disabled {
    opacity: 0.65;
    cursor: default;
}

body.ashrams-homepage .ashrams-home-magazine__msg {
    display: block;
    width: 100%;
    font-family: 'Inter', var(--ashrams-sans), sans-serif;
    font-size: 0.8125rem;
    font-weight: 300;
    line-height: 1.4;
    text-align: center;
}

body.ashrams-homepage .ashrams-home-magazine__msg--error {
    color: #b42318;
}

body.ashrams-homepage .ashrams-home-magazine__msg--success {
    color: #3d6b4f;
}

@media (max-width: 47.9375rem) {
    body.ashrams-homepage .ashrams-home-magazine {
        padding-block: clamp(3.5rem, 10vw, 5rem);
    }

    body.ashrams-homepage .ashrams-home-magazine__copy {
        width: 100% !important;
    }

    body.ashrams-homepage .ashrams-home-magazine__form {
        flex-direction: row;
        align-items: stretch;
        min-height: 0;
        max-width: calc(100vw * 320 / 393);
        border: 1px solid #d1d5db;
        border-radius: 0.125rem;
        gap: 0;
        overflow: hidden;
    }

    body.ashrams-homepage .ashrams-home-magazine__input {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0;
        box-sizing: border-box;
        min-height: calc(100vw * 42 / 393);
        padding: 0 calc(100vw * 17 / 393);
        border: 0;
        border-radius: 0;
        text-align: left;
    }

    body.ashrams-homepage .ashrams-home-magazine__submit {
        flex: 0 0 calc(100% * 112.8 / 320) !important;
        width: calc(100% * 112.8 / 320);
        min-width: 0;
        min-height: calc(100vw * 42 / 393);
        padding: 0 calc(100vw * 24 / 393);
        border-left: 1px solid #1a1c1c;
        border-radius: 0;
    }
}

/* —— Homepage tablet (768–999px) — hero: keep headline on mist, not temple —— */
/* Phone Figma (≤767) covers 375–414; do not apply tablet hero here. */
@media (min-width: 768px) and (max-width: 999px) {
    body.ashrams-homepage .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) {
        --home-tablet-bg-x: calc(var(--home-bg-x) - 6%);
        --home-tablet-bg-y: 24%;
        aspect-ratio: auto !important;
        height: auto !important;
        /* Between short 1440/923 crop and tall phone frame — room for mist + temple */
        min-height: clamp(28rem, 78vw, 38rem) !important;
        max-height: none !important;
        padding: 0 !important;
    }

    body.ashrams-homepage .ashrams-hero--home .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh {
        inset: 0 !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        transform: none !important;
        background-image: var(
            --hero-bg-image-mobile,
            var(--hero-bg-image, url('../img/ashram/hero-home-temple.png'))
        ) !important;
        background-size: cover !important;
        background-position: var(--home-tablet-bg-x) var(--home-tablet-bg-y) !important;
    }

    body.ashrams-homepage .ashrams-hero--home .ashrams-place__hero-frame-bg.ashrams-hero__bg--has-mobile {
        background-position: center center !important;
    }


    body.ashrams-homepage .ashrams-hero__content {
        top: clamp(5.25rem, 11.5vw, 8.75rem);
        right: clamp(1.25rem, 4.5vw, 2.75rem);
        left: auto;
        width: min(20rem, 46%);
        max-width: 20rem;
        margin: 0;
        text-align: left;
    }

    body.ashrams-homepage .ashrams-hero__title {
        font-size: clamp(1.55rem, calc(24px + (100vw - 501px) * 11 / 499), 2.125rem);
        line-height: 1.18;
        white-space: normal;
    }
}

/* —— Homepage phone (Figma 5661:3212 / 393px artboard, ≤767px) —— */
/* Covers 375 / 390 / 393 / 414. Desktop ≥1000px unchanged. */
@media (max-width: 767px) {
    body.ashrams-homepage {
        overflow-x: clip;
        max-width: 100%;
    }

    /* —— Header (Figma mobile first screen) —— */
    body.ashrams-homepage .ashrams-header {
        background: transparent;
        border-bottom: none;
    }

    body.ashrams-homepage .ashrams-header__nav--full {
        display: flex !important;
        min-height: 3.5rem;
        height: 3.5rem;
        max-height: 3.5rem;
        padding: 0 1.25rem;
        align-items: center;
        box-sizing: border-box;
    }
    body.ashrams-homepage .ashrams-know-story__row .ashrams-know-story__body {
        margin-right: 0 !important;
        font-size: 11.6px !important;
        line-height: 22px !important;
    }

    body.ashrams-homepage .ashrams-header__wordmark {
        font-family: 'Inter', var(--ashrams-inter), sans-serif;
        font-size: 0.6875rem;
        line-height: 1;
        font-weight: 600;
        letter-spacing: 0.18em;
        color: #2a2a2a;
    }

    body.ashrams-homepage .ashrams-header__actions {
        align-self: stretch;
        display: flex;
        align-items: center;
        margin-left: auto;
    }

    body.ashrams-homepage .ashrams-header__toggle:not(.ashrams-header__toggle--home) {
        width: 2.5rem;
        min-width: 2.5rem;
        height: 3.5rem;
        min-height: 3.5rem;
        margin: 0 -0.25rem 0 0;
        padding: 0;
        align-items: center;
        justify-content: flex-end;
        box-sizing: border-box;
    }

    body.ashrams-homepage .ashrams-header__toggle--home {
        display: inline-flex;
        flex-direction: column;
        align-items: flex-end;
        justify-content: center;
        width: 1.375rem;
        min-width: 1.375rem;
        height: 3.5rem;
        min-height: 3.5rem;
        margin: 0;
        padding: 0;
        gap: 5px;
        box-sizing: border-box;
    }

    body.ashrams-homepage .ashrams-header__toggle--home .ashrams-header__toggle-icon--desktop,
    body.ashrams-homepage .ashrams-header__toggle--home .ashrams-header__toggle-icon--phone {
        display: none;
    }

    body.ashrams-homepage .ashrams-header__toggle--home .ashrams-header__toggle-line {
        display: block;
        height: 2px;
        background: #2a2a2a;
        border-radius: 999px;
    }

    body.ashrams-homepage .ashrams-header__toggle--home .ashrams-header__toggle-line--top,
    body.ashrams-homepage .ashrams-header__toggle--home .ashrams-header__toggle-line--mid {
        width: 22px;
    }

    body.ashrams-homepage .ashrams-header__toggle--home .ashrams-header__toggle-line--bottom {
        width: 12px;
    }

    body.ashrams-homepage .ashrams-header__toggle-line {
        background: #2a2a2a;
    }

    /* —— Hero (Figma mobile first screen + cookie) —— */
    body.ashrams-homepage .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) {
        aspect-ratio: auto !important;
        display: block;
        text-align: center;
        overflow: hidden;
        /* Keep dome centered as width changes */
        --home-phone-bg-x: 50%;
        /* Fill first viewport like Figma phone frame with cookie overlay */
        min-height: 100svh !important;
        height: 100svh !important;
        max-height: none !important;
        padding: 0 !important;
        border-bottom: none !important;
        box-sizing: border-box;
        background: #ffffff;
    }
    body.ashrams-homepage .ashrams-hero--home .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh::after {
        display: block !important;
        /* Soft mist fade top + bottom (Figma floating temple) */
        background:
            linear-gradient(
                180deg,
                #ffffff 0%,
                rgba(255, 255, 255, 0.72) 6%,
                rgba(255, 255, 255, 0.2) 14%,
                rgba(255, 255, 255, 0) 26%
            ),
            linear-gradient(
                180deg,
                rgba(255, 255, 255, 0) 0%,
                rgba(255, 255, 255, 0) 52%,
                rgba(255, 255, 255, 0.22) 72%,
                rgba(255, 255, 255, 0.72) 88%,
                #ffffff 100%
            );
    }
    section.ashrams-hero.ashrams-hero--home:after {
        display: none !important;
    }

    body.ashrams-homepage .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh)::after {
        display: none !important;
    }

    /* Full-bleed cover — CMS mobile image when set, else desktop crop */
    body.ashrams-homepage .ashrams-hero--home .ashrams-place__hero-frame-bg.ashrams-hero__bg--rishikesh {
        inset: 0 !important;
        top: 100px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        transform: none !important;
        background-image: var(
            --hero-bg-image-mobile,
            var(--hero-bg-image, url('../img/ashram/hero-home-temple.png'))
        ) !important;
        /* Zoom + bias for desktop asset fallback (no dedicated mobile upload) */
        background-size: 150% auto !important;
        background-position: 35% 40% !important;
        background-repeat: no-repeat !important;
    }

    /* Dedicated mobile upload — use natural cover crop (Figma phone asset) */
    body.ashrams-homepage .ashrams-hero--home .ashrams-place__hero-frame-bg.ashrams-hero__bg--has-mobile {
        background-size: cover !important;
        background-position: center center !important;
    }

    body.ashrams-homepage .ashrams-hero__content {
        position: absolute;
        top: 5.5rem;
        left: 50%;
        right: auto;
        width: min(88vw, 21.5rem);
        max-width: 21.5rem;
        margin: 0;
        padding: 1.25rem 0 0;
        transform: translateX(-50%);
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        text-align: center !important;
        z-index: 2;
    }

    body.ashrams-homepage .ashrams-hero__title {
        margin: 0;
        font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
        font-size: 1.55rem;
        font-weight: 400;
        line-height: 1.25;
        letter-spacing: 0;
        color: #5c6569;
        text-align: center;
        white-space: normal;
        transform: none;
    }

    body.ashrams-homepage .ashrams-hero__cta {
        display: inline-flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.4rem;
        font-family: 'Manrope', var(--ashrams-manrope), sans-serif;
        font-size: 0.6875rem;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: #6a6a6a;
        opacity: 0.8;
        text-decoration: none;
        white-space: nowrap;
    }

    body.ashrams-homepage .ashrams-hero__cta-label {
        display: inline-block;
        white-space: nowrap;
    }

    body.ashrams-homepage .ashrams-hero__cta-icon {
        width: 0.75rem;
        height: 0.75rem;
        flex: 0 0 0.75rem;
        opacity: 0.85;
    }

    body.ashrams-homepage .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) .ashrams-hero__scroll,
    body.ashrams-homepage .ashrams-hero--home:has(.ashrams-place__hero-frame-bg--rishikesh) .ashrams-hero__scroll--mark {
        display: none !important;
    }

    /* Our Philosophy — Figma phone frame 393×852 (5661:3340 + 8037:4906) */
    body.ashrams-homepage .ashrams-hero--home + .ashrams-philosophy {
        margin-top: 0;
    }

    body.ashrams-homepage .ashrams-section.ashrams-philosophy,
    body.ashrams-homepage .ashrams-philosophy {
        display: block !important;
        flex-direction: unset !important;
        position: relative !important;
        width: 100%;
        /* Lock Figma artboard ratio — not viewport height (svh) */
        height: calc(100vw * 852 / 393) !important;
        min-height: calc(100vw * 852 / 393) !important;
        max-height: none !important;
        aspect-ratio: 393 / 852 !important;
        overflow: hidden !important;
        background: #ffffff;
        padding: 0 !important;
        margin-top: 0 !important;
    }

    /* Image band — y≈415 on 852 frame (~49%): copy ends on white, temple below */
    body.ashrams-homepage .ashrams-philosophy__scene-wrap {
        position: absolute !important;
        inset: auto !important;
        top: calc(100vw * 415 / 410) !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        order: unset !important;
        z-index: 1;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        pointer-events: none;
    }

    body.ashrams-homepage .ashrams-philosophy__scene {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        background: #ffffff;
        overflow: hidden;
    }

    body.ashrams-homepage .ashrams-philosophy__scene::before {
        content: '' !important;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        z-index: 2;
        height: 42%;
        pointer-events: none;
        /* background: linear-gradient(
            180deg,
            #ffffff 0%,
            rgba(255, 255, 255, 0.94) 26%,
            rgba(255, 255, 255, 0.52) 58%,
            rgba(255, 255, 255, 0) 100%
        ); */
    }

    body.ashrams-homepage .ashrams-philosophy__scene::after {
        content: '' !important;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2;
        height: 18%;
        pointer-events: none;
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.55) 62%,
            #ffffff 100%
        );
    }

    body.ashrams-homepage .ashrams-philosophy__scene picture,
    body.ashrams-homepage .ashrams-philosophy__img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    body.ashrams-homepage .ashrams-philosophy__img {
        object-fit: cover;
        /* Figma 5661:3340 — chariot left, spires mid-frame (less courtyard) */
        object-position: 0% 55%;
    }

    body.ashrams-homepage .ashrams-philosophy__intro {
        position: relative !important;
        order: unset !important;
        z-index: 2;
        width: 100%;
        max-width: none;
        /* Figma copy x57, title y≈88 on 852 frame */
        padding: calc(100vw * 88 / 393) calc(100vw * 57 / 393) 0 !important;
        background: transparent;
    }

    body.ashrams-homepage .ashrams-philosophy__copy {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        grid-template-columns: none;
        max-width: calc(100vw * 279 / 393);
        width: 100%;
        margin: 0 auto;
        row-gap: calc(100vw * 52 / 393);
        column-gap: 0;
        text-align: center;
    }

    body.ashrams-homepage .ashrams-philosophy__body {
        display: flex;
        flex-direction: column;
        align-items: center;
        /* Figma 8037:4906 — double line-break between paragraphs */
        gap: calc(100vw * 44 / 393);
        width: 100%;
        max-width: calc(100vw * 279 / 393);
        margin: 0 auto;
        padding-top: 0;
    }

    body.ashrams-homepage .ashrams-philosophy__title {
        position: static !important;
        display: block !important;
        flex-direction: unset;
        align-items: center;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible;
        clip: auto;
        white-space: nowrap;
        font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
        font-size: calc(100vw * 32 / 393);
        font-weight: 400;
        font-style: normal;
        line-height: 1.15;
        letter-spacing: 0;
        color: #4a4a4a;
        text-align: center;
    }

    body.ashrams-homepage .ashrams-philosophy__title-our,
    body.ashrams-homepage .ashrams-philosophy__title-main {
        display: inline !important;
        font-size: inherit !important;
        font-weight: inherit;
        font-style: inherit;
        line-height: inherit;
        letter-spacing: inherit;
        margin-top: 0 !important;
    }

    body.ashrams-homepage .ashrams-philosophy__title-our::after {
        content: ' ' !important;
    }

    body.ashrams-homepage .ashrams-philosophy__para:first-child {
        padding: 0;
    }

    body.ashrams-homepage .ashrams-philosophy__para {
        width: 100%;
        max-width: none;
        margin: 0;
        font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
        font-size: calc(100vw * 13 / 393);
        font-weight: 400;
        line-height: 1.48;
        letter-spacing: 0.3px;
        color: #25221f;
        text-align: center;
    }

    body.ashrams-homepage .ashrams-philosophy__para + .ashrams-philosophy__para {
        margin-top: 0;
    }

    /* Explore Regions — Figma phone (card peek + tight type rhythm) */
    body.ashrams-homepage .ashrams-explore-regions {
        padding: 6rem 0 0rem;
    }

    body.ashrams-homepage .ashrams-explore-regions__inner {
        gap: 4.5rem;
    }

    body.ashrams-homepage .ashrams-explore-regions__head {
        padding: 0 5.5rem;
    }

    body.ashrams-homepage .ashrams-explore-regions__title {
        margin: 0 0 0.625rem;
        font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
        font-size: 1.875rem;
        font-weight: 200;
        line-height: 1.2;
        letter-spacing: 0;
        color: #4a4a4a;
    }

    body.ashrams-homepage .ashrams-explore-regions__subtitle {
        max-width: 17.5rem;
        font-family: 'Inter', var(--ashrams-inter), sans-serif;
        font-size: 1rem;
        font-weight: 200;
        font-style: italic;
        line-height: 1.55;
        color: #737373;
        margin: 0 auto;
    }

    body.ashrams-homepage .ashrams-explore-regions__carousel {
        flex: none;
        width: 100%;
        max-width: none;
        height: auto !important;
        min-height: 0 !important;
        margin-left: 0;
        margin-right: 0;
        overflow: hidden;
    }

    body.ashrams-homepage .ashrams-explore-regions__track {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        height: auto !important;
        min-height: 0 !important;
        gap: 2rem;
        /* Figma: first card inset, next card partially visible */
        padding: 0 0 0.25rem calc(100vw * 24 / 393);
        scroll-padding-inline: calc(100vw * 24 / 393);
        scroll-snap-type: x mandatory;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.ashrams-homepage .ashrams-explore-regions__card {
        flex: 0 0 min(18.0625rem, 74vw);
        width: min(18.0625rem, 74vw);
        height: min(29.375rem, 112vw);
        border-radius: 0.625rem;
        scroll-snap-align: start;
    }

    body.ashrams-homepage .ashrams-explore-regions__card-tags,
    body.ashrams-homepage .ashrams-explore-regions__card-durations {
        left: 1.5rem;
        right: 1.5rem;
        font-size: 0.625rem;
        letter-spacing: 0.28em;
    }

    body.ashrams-homepage .ashrams-explore-regions__card-tags {
        top: 1.5rem;
        text-align: center;
        white-space: nowrap;
    }

    body.ashrams-homepage .ashrams-explore-regions__card-foot {
        left: 1.5rem;
        right: 1.5rem;
        bottom: 1.75rem;
        gap: 0.55rem;
    }

    body.ashrams-homepage .ashrams-explore-regions__card-title {
        font-family: 'Playfair Display', var(--ashrams-serif), serif !important;
        font-size: 1.25rem;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: -0.02em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    body.ashrams-homepage .ashrams-explore-regions__card-cta {
        letter-spacing: 0.14em;
        font-size: 0.6875rem;
    }

    body.ashrams-homepage .ashrams-explore-regions__next {
        display: none !important;
    }

    /* Immersions — Figma phone 393px */
    body.ashrams-homepage .ashrams-immersions {
        padding: 4rem 0 5.5rem;
        min-height: 0 !important;
        height: auto !important;
        overflow: visible;
    }

    body.ashrams-homepage .ashrams-immersions__main {
        max-width: 100%;
        min-height: 0 !important;
        height: auto !important;
    }

    body.ashrams-homepage .ashrams-immersions__head {
        margin: 0 auto 1.75rem;
        padding: 0 1.5rem;
        max-width: 21.5625rem;
    }

    body.ashrams-homepage .ashrams-immersions__title {
        margin: 0 0 0.625rem;
        font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
        font-size: 1.875rem;
        font-weight: 400;
        line-height: 1.2;
        color: #4a4a4a;
    }

    body.ashrams-homepage .ashrams-immersions__subtitle {
        margin: 0 auto;
        max-width: 16.5rem;
        font-family: 'Inter', var(--ashrams-inter), sans-serif;
        font-size: 0.875rem;
        font-weight: 300;
        font-style: italic;
        line-height: 1.55;
        color: #737373;
    }

    body.ashrams-homepage .ashrams-immersions__media {
        flex-direction: column;
        gap: 0.75rem;
        padding: 0 1.5rem;
        overflow: visible;
    }

    body.ashrams-homepage .ashrams-immersions__frame--primary,
    body.ashrams-homepage .ashrams-immersions__frame--secondary {
        flex: none;
        width: 100% !important;
        max-width: none !important;
        height: 13.9375rem !important;
        border-radius: 0.625rem;
        overflow: hidden;
    }

    body.ashrams-homepage .ashrams-immersions__frame--secondary {
        display: none !important;
    }

    /* Keep controls overlaid on image (Figma), not flowing below clipped frame */
    body.ashrams-homepage .ashrams-immersions__controls {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 6.875rem;
        height: 2.5625rem;
        margin: 0;
        border-radius: 0.5rem 0 0.625rem 0;
        background: rgba(255, 255, 255, 0.69);
    }

    body.ashrams-homepage .ashrams-immersions__nav {
        width: 50%;
        height: 100%;
        font-size: 1.25rem;
    }

    body.ashrams-homepage .ashrams-immersions__caption {
        flex-direction: column;
        gap: 1rem;
        margin-top: 1.25rem;
        padding: 0 1.5rem;
    }

    body.ashrams-homepage .ashrams-immersions__caption-left {
        flex: none;
        width: 100%;
        gap: 0.4rem;
    }

    body.ashrams-homepage .ashrams-immersions__eyebrow {
        font-size: 0.5625rem;
        letter-spacing: 0.12em;
        color: #7a7a7a;
    }

    body.ashrams-homepage .ashrams-immersions__heading {
        font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
        font-size: 1.5rem;
        font-weight: 400;
        font-style: italic;
        line-height: 1.2;
        color: #1a1a1a;
    }

    /* Mobile: CMS Alternative Heading (Single Line) — one line like Figma */
    body.ashrams-homepage .ashrams-immersions__heading-stack {
        display: none;
    }

    body.ashrams-homepage .ashrams-immersions__heading-single {
        display: block;
        white-space: nowrap;
    }

    body.ashrams-homepage .ashrams-immersions__body {
        font-family: 'Inter', var(--ashrams-inter), sans-serif;
        font-size: 0.75rem;
        font-weight: 300;
        line-height: 1.667;
        color: #7a7a7a;
        padding-right: 1rem;
    }

    body.ashrams-homepage .ashrams-immersions + .ashrams-know-story {
        margin-top: 0;
    }

    /* Know Our story — Figma phone 393px */
    body.ashrams-homepage .ashrams-know-story {
        padding: 5rem 1.5rem 6rem;
        background: #fcfaf8;
    }

    body.ashrams-homepage .ashrams-know-story__inner {
        max-width: 25rem;
        margin-inline: auto;
    }

    body.ashrams-homepage .ashrams-know-story__head {
        margin: 0 0 2.75rem;
        text-align: center;
    }

    body.ashrams-homepage .ashrams-know-story__title {
        margin: 0;
        font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
        font-size: 1.875rem;
        font-weight: 300;
        line-height: 1.2;
        color: #4a4a4a;
    }

    body.ashrams-homepage .ashrams-know-story__row,
    body.ashrams-homepage .ashrams-know-story__row--reverse {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
        margin-bottom: 5.5rem;
    }

    body.ashrams-homepage .ashrams-know-story__row:last-of-type {
        margin-bottom: 3.5rem;
    }

    body.ashrams-homepage .ashrams-know-story__row--reverse .ashrams-know-story__copy {
        order: unset;
    }

    body.ashrams-homepage .ashrams-know-story__copy {
        display: contents;
    }

    body.ashrams-homepage .ashrams-know-story__heading,
    body.ashrams-homepage .ashrams-know-story__row--reverse .ashrams-know-story__heading {
        order: 1;
        margin: 0;
        font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
        font-size: 1.5rem;
        font-weight: 200;
        line-height: 1.15;
        color: var(--phil-ink);
    }

    body.ashrams-homepage .ashrams-know-story__media,
    body.ashrams-homepage .ashrams-know-story__row--reverse .ashrams-know-story__media {
        order: 2;
        width: 100%;
        height: 12rem;
        margin: 0;
        aspect-ratio: auto;
        border-radius: 0.125rem;
        overflow: hidden;
    }

    body.ashrams-homepage .ashrams-know-story__row:not(.ashrams-know-story__row--reverse) .ashrams-know-story__media,
    body.ashrams-homepage .ashrams-know-story__row--reverse .ashrams-know-story__media {
        aspect-ratio: auto;
    }

    body.ashrams-homepage .ashrams-know-story__img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body.ashrams-homepage .ashrams-know-story__body,
    body.ashrams-homepage .ashrams-know-story__row--reverse .ashrams-know-story__body {
        order: 3;
        margin: 0;
        padding-top: 0.35rem;
        font-family: 'Inter', var(--ashrams-inter), sans-serif;
        font-size: 0.75rem;
        font-weight: 300;
        line-height: 1.667;
        color: #7a7a7a;
    }

    body.ashrams-homepage .ashrams-know-story__founders {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        margin-top: 0;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    body.ashrams-homepage .ashrams-know-story__founders-left {
        display: contents;
    }

    body.ashrams-homepage .ashrams-know-story__founders .ashrams-know-story__eyebrow {
        margin: 0 0 0.5rem;
        font-size: 0.625rem;
        font-weight: 300;
        line-height: 1.4;
        letter-spacing: 0.09em;
        text-transform: uppercase;
        color: #7a7a7a;
    }

    body.ashrams-homepage .ashrams-know-story__founders-heading {
        margin: 0 0 1.5rem;
        max-width: none;
        font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
        font-size: 1.5rem;
        font-weight: 400;
        font-style: italic;
        line-height: 1.2;
        color: #333333;
    }

    body.ashrams-homepage .ashrams-know-story__founders-right {
        margin: 0;
    }

    body.ashrams-homepage .ashrams-know-story__founders-right .ashrams-know-story__body {
        order: unset;
        padding-top: 0;
    }

    /* Travellers Reflection — Figma phone 393px */
    body.ashrams-homepage .ashrams-travellers-reflection {
        padding: 7.5rem 1.5rem 0;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__inner {
        max-width: 21.375rem;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__head {
        margin: 0 0 2rem;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__eyebrow {
        margin: 0 0 2.25rem;
        font-size: 0.625rem;
        line-height: 1.4;
        letter-spacing: 0.15em;
        color: #8c867e;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__title {
        font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
        font-size: 1.875rem;
        font-weight: 300;
        line-height: 1.2;
        color: #4a4a4a;
        padding:0 4rem;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__quote {
        margin: 0 auto 1.25rem;
        max-width: 100%;
        padding: 0;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__quote p {
        font-family: 'Cormorant Infant', var(--ashrams-serif), serif;
        font-size: 1.25rem;
        font-weight: 300;
        font-style: italic;
        line-height: 1.45;
        color: #4a443f;
        padding: 0 2.3rem;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__meta {
        margin: 0 0 1.25rem;
        gap: 0.35rem;
        font-size: 0.625rem;
        letter-spacing: 0.12em;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__carousel {
        margin-bottom: 0;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__dots {
        gap: 0.25rem;
        margin-top: 0.75rem;
        padding: 0.75rem 0 1.25rem;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__dot {
        width: 0.25rem;
        height: 0.25rem;
        background: #d1d5db;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__dot.is-active {
        width: 0.375rem;
        height: 0.375rem;
        background: #000000;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__footer {
        width: 100%;
        margin-top: 0;
        padding: calc(100vw * 50 / 393) 0 0;
        border-top: 0;
    }

    body.ashrams-homepage .ashrams-travellers-reflection__cta {
        padding: 0 0 0.125rem;
        border-bottom: 1px solid #000000;
        font-family: 'Inter', var(--ashrams-inter), sans-serif;
        font-size: calc(100vw * 14 / 393);
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: calc(100vw * 2.1 / 393);
        color: #1a1c1c;
    }

    /* Community stats — Figma phone 5661:3670 (390×469, rows 156px) */
    body.ashrams-homepage .ashrams-home-stats {
        padding: 0;
        margin-top: 8rem;
    }

    body.ashrams-homepage .ashrams-home-stats__inner {
        max-width: 100%;
        width: 100%;
        margin-inline: 0;
        padding-block: 0;
        border-top: 1px solid #F3F4F6;
        border-bottom: 1px solid #F3F4F6;
    }

    body.ashrams-homepage .ashrams-home-stats__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    body.ashrams-homepage .ashrams-home-stats__item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: calc(100vw * 15 / 393);
        height: calc(100vw * 156 / 393);
        min-height: calc(100vw * 156 / 393);
        padding: calc(100vw * 48 / 393) calc(100vw * 24 / 393) calc(100vw * 49 / 393);
        box-sizing: border-box;
    }

    body.ashrams-homepage .ashrams-home-stats__item:nth-child(2) {
        border-left: none !important;
        border-right: none !important;
        padding-inline: calc(100vw * 24 / 393) !important;
    }

    body.ashrams-homepage .ashrams-home-stats__item:not(:last-child) {
        border-bottom: 1px solid #F3F4F6;
    }

    body.ashrams-homepage .ashrams-home-stats__item:not(:first-child) {
        padding-top: calc(100vw * 48 / 393);
        border-top: 0;
    }

    body.ashrams-homepage .ashrams-home-stats__item:not(:first-child)::before {
        display: none;
    }

    body.ashrams-homepage .ashrams-home-stats__value {
        height: auto;
        font-family: 'Playfair Display', var(--ashrams-serif), serif;
        font-size: calc(100vw * 30 / 393);
        font-weight: 400;
        line-height: calc(100vw * 32 / 393);
        color: #333333;
    }

    body.ashrams-homepage .ashrams-home-stats__label {
        max-width: none;
        font-family: 'Inter', var(--ashrams-inter), sans-serif;
        font-size: calc(100vw * 8 / 393);
        font-weight: 400;
        line-height: calc(100vw * 12 / 393);
        letter-spacing: calc(100vw * 1.2 / 393);
        color: #7a7a7a;
    }

    /* Ashrams Journal — Figma phone 393px */
    body.ashrams-homepage .ashrams-home-journal,
    body.ashrams-homepage #home-stats + .ashrams-home-journal {
        margin-top: 0;
        min-height: 0 !important;
        max-width: none;
        padding: 8rem 1.5rem 9rem;
        --journal-rule-gap: 1.75rem;
        /* border-bottom: 1px solid #F3F4F6; */
    }

    body.ashrams-homepage .ashrams-home-journal__shell {
        padding: 0;
    }

    body.ashrams-homepage .ashrams-home-journal__inner {
        max-width: 25rem;
        margin-inline: auto;
        gap: 0;
    }

    body.ashrams-homepage .ashrams-home-journal__head {
        position: static;
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 0;
        height: auto;
        min-height: 0;
        margin-bottom: var(--journal-rule-gap);
        padding: 0;
    }

    body.ashrams-homepage .ashrams-home-journal__title {
        position: static;
        left: auto;
        top: auto;
        transform: none;
        white-space: normal;
        font-size: 1.875rem;
        font-weight: 400;
        font-style: italic;
        line-height: 1.2;
        text-align: left;
        color: #333333;
    }

    body.ashrams-homepage .ashrams-home-journal__controls {
        position: static;
        top: auto;
        right: auto;
        left: auto;
        width: auto;
        justify-content: flex-end;
    }

    body.ashrams-homepage .ashrams-home-journal__nav {
        display: none;
    }

    body.ashrams-homepage .ashrams-home-journal__all {
        gap: 0.25rem;
        padding-bottom: 0.125rem;
        border-bottom-color: #333333;
        font-size: 0.5625rem;
        font-weight: 400;
        line-height: 1.556;
        letter-spacing: 0.1em;
        color: #333333;
    }

    body.ashrams-homepage .ashrams-home-journal__all-arrow {
        font-size: 0.625rem;
    }

    body.ashrams-homepage .ashrams-home-journal__carousel {
        height: auto;
        min-height: 0;
        max-height: none;
        border-top: none;
        border-bottom: 0;
        padding-top: var(--journal-rule-gap);
        padding-bottom: 0;
    }

    body.ashrams-homepage .ashrams-home-journal__viewport {
        height: auto;
        overflow: visible;
    }

    body.ashrams-homepage .ashrams-home-journal__track {
        --journal-gap: 0;
        flex-direction: column;
        gap: 0;
        height: auto;
        overflow: visible;
        scroll-snap-type: none;
    }

    body.ashrams-homepage .ashrams-home-journal__card {
        flex: none;
        width: 100%;
        min-width: 0;
        max-width: none;
        height: auto;
        min-height: 0;
        max-height: none;
        scroll-snap-align: none;
        padding-inline: 0;
        border-left: 0;
        border-right: 0;
    }

    body.ashrams-homepage .ashrams-home-journal__card + .ashrams-home-journal__card {
        border-left: 0;
    }

    body.ashrams-homepage .ashrams-home-journal__card:not(:last-child) {
        padding-bottom: 2.9375rem;
        border-bottom: 1px solid #f3f4f6;
    }

    body.ashrams-homepage .ashrams-home-journal__card:nth-child(n + 3) {
        display: none;
    }

    body.ashrams-homepage .ashrams-home-journal__card:nth-child(2) {
        padding-bottom: 0;
        border-bottom: 0;
    }

    body.ashrams-homepage .ashrams-home-journal__card-link {
        height: auto;
        gap: 1rem;
    }

    body.ashrams-homepage .ashrams-home-journal__media {
        flex: none;
        height: 16.03125rem;
        aspect-ratio: auto;
    }

    body.ashrams-homepage .ashrams-home-journal__img {
        height: 100%;
        border-radius: 0.125rem;
    }

    body.ashrams-homepage .ashrams-home-journal__body {
        position: relative;
        height: auto;
        min-height: 0;
        max-height: none;
        gap: 0.5rem;
        padding: 0;
    }

    body.ashrams-homepage .ashrams-home-journal__category-wrap {
        padding-bottom: 0;
    }

    body.ashrams-homepage .ashrams-home-journal__category {
        font-size: 0.625rem;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0.16em;
        color: #7a7a7a;
    }

    body.ashrams-homepage .ashrams-home-journal__title-wrap {
        flex: none;
        height: auto;
        max-width: none;
        overflow: visible;
    }

    body.ashrams-homepage .ashrams-home-journal__card-title {
        font-size: 1.25rem;
        font-weight: 400;
        font-style: italic;
        line-height: 1.25;
        color: #333333;
    }

    body.ashrams-homepage .ashrams-home-journal__excerpt-wrap {
        flex: none;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    body.ashrams-homepage .ashrams-home-journal__excerpt {
        font-size: 0.6875rem;
        font-weight: 400;
        line-height: 1.636;
        color: #7a7a7a;
    }

    body.ashrams-homepage .ashrams-home-journal__cta {
        position: static;
        left: auto;
        right: auto;
        top: auto;
        align-self: flex-start;
        gap: 0.25rem;
        margin-top: 0.5rem;
        padding: 0;
        border-bottom: 0;
        font-size: 0.5625rem;
        font-weight: 400;
        line-height: 1.556;
        letter-spacing: 0.1em;
        color: #333333;
    }

    body.ashrams-homepage .ashrams-home-journal__cta-label {
        padding-bottom: 0.125rem;
        border-bottom: 1px solid #d1d5db;
    }

    body.ashrams-homepage .ashrams-home-journal__cta-arrow {
        font-size: 0.625rem;
    }

    /* Ashrams Magazine — Figma phone 393px */
    body.ashrams-homepage .ashrams-home-magazine {
        padding: 0rem 1.5rem 6rem;
    }

    body.ashrams-homepage .ashrams-home-magazine__inner {
        gap: 0.5rem;
        max-width: 25rem;
    }

    body.ashrams-homepage .ashrams-home-magazine__head {
        gap: 1rem;
        padding-bottom: 0;
    }

    body.ashrams-homepage .ashrams-home-magazine__copy {
        gap: 2rem;
        width: 100% !important;
        max-width: none;
    }

    body.ashrams-homepage .ashrams-home-magazine__eyebrow {
        font-size: 0.5rem;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0.1em;
        color: #7a7a7a;
    }

    body.ashrams-homepage .ashrams-home-magazine__title {
        font-size: 1.875rem;
        font-weight: 400;
        line-height: 1.2;
        color: #333333;
    }

    body.ashrams-homepage .ashrams-home-magazine__body {
        max-width: none;
        font-family: 'Inter', var(--ashrams-sans), sans-serif !important;
        font-size: 0.6875rem;
        font-weight: 400;
        line-height: 1.636;
        color: #7a7a7a;
    }

    body.ashrams-homepage .ashrams-home-magazine__actions {
        gap: 0.75rem;
    }

    body.ashrams-homepage .ashrams-home-magazine__form {
        flex-direction: row;
        align-items: stretch;
        width: 100%;
        max-width: calc(100vw * 320 / 393);
        min-height: calc(100vw * 42 / 393);
        border: 1px solid #d1d5db;
        border-radius: 0.125rem;
        gap: 0;
        overflow: hidden;
    }

    body.ashrams-homepage .ashrams-home-magazine__input {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0;
        min-height: calc(100vw * 42 / 393);
        padding: 0 calc(100vw * 17 / 393);
        border: 0;
        border-radius: 0;
        text-align: left;
        font-size: calc(100vw * 11 / 393);
        font-weight: 400;
        line-height: 1.4;
        color: #333333;
    }

    body.ashrams-homepage .ashrams-home-magazine__input::placeholder {
        color: #9ca3af;
    }

    body.ashrams-homepage .ashrams-home-magazine__submit {
        flex: 0 0 calc(100% * 112.8 / 320) !important;
        width: calc(100% * 112.8 / 320);
        min-width: 0;
        max-width: none;
        min-height: calc(100vw * 42 / 393);
        padding: 0 calc(100vw * 24 / 393);
        border-left: 1px solid #1a1c1c;
        border-radius: 0;
        background: #000000;
        font-size: calc(100vw * 9 / 393);
        font-weight: 500;
        line-height: 1;
        letter-spacing: calc(100vw * 1.2 / 393);
    }

    body.ashrams-homepage .ashrams-home-magazine__submit:hover:not(:disabled) {
        background: #333333;
    }

    body.ashrams-homepage .ashrams-home-magazine__msg {
        font-size: 0.6875rem;
        font-weight: 400;
    }
}