/* ==========================================================
   HOMEPAGE v2  —  new sections only.
   Reuses .hi-section / .hi-shell / .hi-btn / .hi-kicker /
   .hi-section-heading / .hi-prose from the shared sheets.
   ========================================================== */

/* ---------- hero ---------- */
.v2-hero {
    position: relative;
    min-height: min(92vh, 820px);
    display: grid;
    align-items: center;
    overflow: hidden;
    padding: clamp(150px, 17vh, 205px) 0 clamp(64px, 9vh, 104px);
    background-color: var(--bg-wash);
    background-image:
        linear-gradient(90deg, rgba(247, 236, 218, .82) 0%, rgba(247, 236, 218, .5) 42%, rgba(247, 236, 218, .12) 70%, rgba(247, 236, 218, 0) 100%),
        url("../../images/hi-home-hero-background.webp");
    background-repeat: no-repeat;
    background-position: center, center top;
    background-size: cover, cover;
}
.v2-hero__inner { position: relative; z-index: 1; }
.v2-hero__copy { width: min(700px, 66%); }
.v2-hero .hi-kicker { color: var(--primary); margin-bottom: 12px; }
.v2-hero h1 {
    margin: 0 0 14px;
    font-size: clamp(2.2rem, 4.6vw, 3.7rem);
    line-height: 1.12;
    color: var(--ink);
    text-wrap: balance;
}
.v2-hero__motto {
    margin: 0 0 22px;
    font-family: var(--font-head);
    font-weight: 600;
    font-size: clamp(1rem, 1.5vw, 1.3rem);
    color: var(--primary);
}
.v2-hero__lead {
    max-width: 46ch;
    margin: 0 0 28px;
    font-family: var(--font-head);
    font-size: clamp(1.02rem, 1.4vw, 1.2rem);
    line-height: 1.75;
    color: var(--ink-body);
}
.v2-hero .hi-actions { margin-top: 0; }

/* intro / "what the Mission is" — vision + dhyeya inline block */
.v2-intro__aims {
    display: grid;
    gap: 20px 40px;
    grid-template-columns: 1fr;
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--rule);
}
@media (min-width: 720px) { .v2-intro__aims { grid-template-columns: 1fr 1fr; } }
.v2-intro__aims-title {
    grid-column: 1 / -1;
    margin: 0;
    font-family: var(--font-head);
    font-size: clamp(1.05rem, 1.5vw, 1.2rem);
    font-weight: 600;
    line-height: 1.4;
    color: var(--ink);
}
.v2-intro__aims div span {
    display: block;
    font-family: var(--font-head);
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--gold-deep);
    margin-bottom: 6px;
}
.v2-intro__aims div p { margin: 0; font-size: .96rem; line-height: 1.7; color: var(--ink-body); }

@media (max-width: 900px) {
    .v2-hero {
        min-height: 0;
        padding: 104px 0 clamp(44px, 9vw, 68px);
        background-image:
            linear-gradient(180deg, rgba(247, 236, 218, .28) 0%, rgba(247, 236, 218, .68) 28%, var(--bg-wash) 52%, var(--bg-wash) 100%),
            url("../../images/hi-home-hero-background.webp");
        background-position: center, 60% top;
        background-size: cover, 165% auto;
    }
    .v2-hero__copy { width: 100%; padding-top: clamp(70px, 34vw, 190px); }
    .v2-hero__lead { max-width: none; }
}

/* ---------- "why this mission is distinct" — a thin band, not a section ---------- */
.v2-essence {
    padding: clamp(30px, 4vw, 46px) 0;
    background:
        radial-gradient(120% 140% at 15% 0%, rgba(255, 253, 248, .6), transparent 55%),
        radial-gradient(120% 140% at 100% 100%, rgba(206, 224, 232, .28), transparent 55%),
        var(--bg-wash);
    border-block: 1px solid var(--rule);
}
.v2-essence__eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 2vw, 18px);
    margin: 0 0 clamp(24px, 3.4vw, 38px);
    font-family: var(--font-head);
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .18em;
    color: var(--gold-deep);
}
.v2-essence__eyebrow::before,
.v2-essence__eyebrow::after {
    content: "";
    width: clamp(26px, 7vw, 54px);
    height: 1px;
    background: var(--gold);
    opacity: .5;
}
.v2-essence__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(14px, 2vw, 20px);
}
@media (min-width: 620px)  { .v2-essence__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .v2-essence__grid { grid-template-columns: repeat(4, 1fr); } }
.v2-essence__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: clamp(20px, 2.4vw, 28px) clamp(16px, 2vw, 22px);
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: var(--radius);
    background: rgba(255, 253, 248, .58);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 2px rgba(45, 30, 15, .04), 0 12px 30px rgba(45, 30, 15, .06);
}
.v2-essence__item b {
    display: block;
    margin-bottom: 8px;
    font-family: var(--font-head);
    font-size: 1rem;
    font-weight: 600;
    color: var(--primary);
}
.v2-essence__item b::after {
    content: "";
    display: block;
    width: 26px;
    height: 2px;
    margin: 7px auto 0;
    background: var(--gold);
    opacity: .6;
}
.v2-essence__item span {
    max-width: 30ch;
    font-size: .82rem;
    line-height: 1.65;
    color: var(--ink-muted);
}
.v2-essence .v2-essence__foot {
    margin: clamp(28px, 3.8vw, 42px) 0 0;
    text-align: center;
    font-size: .82rem;
    line-height: 1.7;
    color: var(--ink-muted);
}

/* ---------- compact vision / mission band ---------- */
.v2-purpose { background: var(--bg); }
.v2-purpose__grid {
    display: grid;
    gap: clamp(24px, 4vw, 48px);
    grid-template-columns: 1fr;
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    padding-block: clamp(30px, 4vw, 44px);
}
@media (min-width: 780px) { .v2-purpose__grid { grid-template-columns: 1fr 1fr; } }
.v2-purpose__item span {
    display: block;
    font-family: var(--font-head);
    font-size: .85rem;
    font-weight: 600;
    color: var(--gold-deep);
    margin-bottom: 8px;
}
.v2-purpose__item p {
    margin: 0;
    font-family: var(--font-head);
    font-size: clamp(1.02rem, 1.4vw, 1.18rem);
    line-height: 1.7;
    color: var(--ink-body);
    max-width: 46ch;
}

/* ---------- seeker ---------- */
.v2-seeker__grid {
    display: grid;
    gap: clamp(32px, 6vw, 72px);
    align-items: start;
    grid-template-columns: 1fr;
}
@media (min-width: 860px) { .v2-seeker__grid { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); } }
.v2-seeker__media {
    margin: 0;
    aspect-ratio: 5 / 6;
    border: 1px solid var(--rule);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-md);
}
.v2-seeker__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 859px) { .v2-seeker__media { aspect-ratio: 16 / 10; } }
.v2-seeker__vow {
    margin: 18px 0 0;
    padding-left: 18px;
    border-left: 3px solid var(--gold);
    font-family: var(--font-head);
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    line-height: 1.5;
    color: var(--ink);
}

/* ---------- buddhi-vivek yoga sadhna ---------- */
.v2-bvy { max-width: 780px; }
.v2-bvy__standfirst {
    font-family: var(--font-head);
    font-size: clamp(1rem, 1.6vw, 1.18rem);
    color: var(--ink-muted);
}
.v2-bvy__lead { margin-top: clamp(22px, 3vw, 32px); }
/* lead + close copy fills the section width, aligning edge-to-edge with
   the distinctions panel below (space utilisation, per request) */
.v2-bvy .hi-prose > p {
    max-width: none;
    line-height: 1.9;
}
.v2-bvy__distinct {
    margin: clamp(26px, 3.4vw, 38px) 0;
    padding: clamp(20px, 2.6vw, 28px) clamp(20px, 3vw, 32px);
    background: var(--surface);
    border: 1px solid var(--rule);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.v2-bvy__distinct-head {
    margin: 0 0 10px;
    font-family: var(--font-head);
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .08em;
    color: var(--gold-deep);
    text-transform: none;
}
.v2-bvy__distinct dl {
    margin: 0;
    display: grid;
    gap: 12px 28px;
}
@media (min-width: 640px) {
    .v2-bvy__distinct dl { grid-template-columns: 1fr 1fr; }
}
.v2-bvy__distinct dt {
    font-family: var(--font-head);
    font-weight: 600;
    font-size: 1rem;
    color: var(--primary);
    margin-bottom: 2px;
}
.v2-bvy__distinct dd {
    margin: 0;
    font-size: .9rem;
    line-height: 1.6;
    color: var(--ink-body);
}
.v2-bvy__close { margin-top: clamp(20px, 2.6vw, 28px); }

/* dawn-lotus wash, drawn from the BVYS lotus image palette
   (warm sunrise glow above, pale water-blue below, over paper) */
.hi-sadhna.v2-sadhna-band {
    background:
        radial-gradient(72% 55% at 50% 0%,   rgba(233, 199, 122, .20), transparent 62%),
        radial-gradient(82% 48% at 50% 100%, rgba(188, 213, 224, .26), transparent 66%),
        var(--bg);
}

/* ---------- lineage intro ---------- */
.v2-lineage__intro {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    font-family: var(--font-head);
    font-size: clamp(1.15rem, 1.7vw, 1.42rem);
    line-height: 1.75;
    color: #765f52;
}

/* ---------- seva stories ---------- */
.v2-stories {
    display: grid;
    gap: clamp(18px, 2.4vw, 26px);
    grid-template-columns: 1fr;
    margin: clamp(30px, 4vw, 44px) 0 0;
}
@media (min-width: 760px) { .v2-stories { grid-template-columns: repeat(3, 1fr); } }
.v2-story {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--rule);
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}
.v2-story__media { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--surface-sunk); }
.v2-story__media img { width: 100%; height: 100%; object-fit: cover; }
.v2-story__body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.v2-story__quote {
    margin: 0 0 14px;
    font-family: var(--font-head);
    font-size: 1.06rem;
    line-height: 1.55;
    color: var(--ink);
}
.v2-story__name { font-weight: 600; color: var(--ink); }
.v2-story__role { display: block; font-size: .86rem; color: var(--ink-muted); margin-top: 2px; }
.v2-story__support {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--rule);
    font-size: .84rem;
    color: var(--gold-deep);
}
.v2-story__link { margin-top: 12px; font-size: .9rem; font-weight: 600; color: var(--primary); align-self: flex-start; }
.v2-stories__summary {
    margin: clamp(24px, 3vw, 36px) 0 0;
    padding: 18px 22px;
    border-radius: var(--radius);
    background: var(--bg-wash);
    font-family: var(--font-head);
    font-size: clamp(1rem, 1.4vw, 1.16rem);
    line-height: 1.7;
    color: var(--ink-body);
    text-align: center;
}
.v2-stories__summary b { color: var(--primary); }

/* ---------- ways to connect ---------- */
.v2-ways {
    display: grid;
    gap: clamp(14px, 1.8vw, 18px);
    grid-template-columns: 1fr;
    margin: clamp(28px, 4vw, 44px) 0 0;
}
@media (min-width: 640px) { .v2-ways { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .v2-ways { grid-template-columns: repeat(3, 1fr); } }
.v2-purpose .v2-purpose__note {
    margin: clamp(30px, 4vw, 44px) 0 0;
    padding-top: clamp(18px, 2.4vw, 24px);
    border-top: 1px solid var(--rule);
    text-align: center;
    font-size: .88rem;
    line-height: 1.8;
    color: var(--ink-muted);
}
.v2-purpose__note a {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.v2-purpose__note a:hover { text-decoration: underline; }
.v2-way {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 22px 24px;
    border: 1px solid var(--rule);
    border-radius: var(--radius);
    background: var(--surface);
    text-decoration: none;
    transition: border-color .2s ease;
}
.v2-way:hover, .v2-way:focus-visible { border-color: var(--rule-strong); }
.v2-way b {
    font-family: var(--font-head);
    font-size: 1.12rem;
    color: var(--ink);
}
.v2-way span { font-size: .92rem; color: var(--ink-muted); line-height: 1.6; }
.v2-way::after { content: "→"; color: var(--primary); font-weight: 600; margin-top: 4px; }

/* ---------- closing ---------- */
.v2-closing { background: var(--bg-wash); text-align: center; }
.v2-closing blockquote {
    max-width: 720px;
    margin: 0 auto 8px;
    font-family: var(--font-head);
    font-size: clamp(1.3rem, 2.6vw, 2rem);
    line-height: 1.6;
    color: var(--ink);
}
.v2-closing cite {
    display: block;
    font-style: normal;
    font-size: .9rem;
    color: var(--ink-muted);
    margin-bottom: 28px;
}

/* ---------- small thematic note (BVY: the current leader's own path) ---------- */
/* the book's four distinguishing qualities (2x2, was 3-up) */
.hi-inquiry-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 900px) {
    .hi-inquiry-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- gallery strip (between seva + stories) ---------- */
.v2-gallery {
    padding: clamp(30px, 4.5vw, 52px) 0;
    background: var(--bg-wash);
    border-block: 1px solid var(--rule);
}
.v2-gallery__title {
    margin: 0 0 clamp(16px, 2vw, 22px);
    text-align: center;
    font-family: var(--font-head);
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .12em;
    color: var(--gold-deep);
}
.v2-gallery__strip {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: clamp(8px, 1.2vw, 14px);
}
.v2-gallery__strip a {
    display: block;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}
.v2-gallery__strip img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform var(--transition);
}
.v2-gallery__strip a:hover img,
.v2-gallery__strip a:focus-visible img { transform: scale(1.04); }
.v2-gallery__link {
    margin: clamp(16px, 2vw, 22px) 0 0;
    text-align: center;
    font-size: .9rem;
}
.v2-gallery__link a { color: var(--primary); font-weight: 600; text-decoration: none; }
.v2-gallery__link a:hover { text-decoration: underline; }

@media (max-width: 860px) {
    .v2-gallery__strip {
        grid-auto-flow: column;
        grid-auto-columns: 46%;
        grid-template-columns: none;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 6px;
    }
    .v2-gallery__strip li { scroll-snap-align: start; }
}
@media (max-width: 520px) {
    .v2-gallery__strip { grid-auto-columns: 72%; }
}
