/* =========================================================
   HOME v4 — "Ganga at dawn"
   Indigo sky, saffron sun, turmeric light, tulsi green.
   Loaded only by index.html, after style.css.
   ========================================================= */

.home{
    background:var(--prabhat);
    color:var(--ink);
}

.home ol,
.home ul{
    list-style:none;
}

.home a{
    color:var(--kesar-ink);
}

.home p a,
.home dd a,
.home .h-sources a,
.h-places li > a,
.h-programs article > a{
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}

.home a:hover{
    color:var(--neel);
}

.home a:focus-visible,
.home button:focus-visible,
.home select:focus-visible,
.home summary:focus-visible{
    outline:3px solid var(--haldi);
    outline-offset:2px;
    border-radius:6px;
}

.home h2,
.home h3{
    color:var(--neel);
}

.home h2{
    font-family:var(--font-display);
    font-weight:400;
    font-size:clamp(1.9rem, 3.6vw, 2.75rem);
    line-height:1.14;
    letter-spacing:-.005em;
    margin-bottom:.45em;
}

.home h3{
    font-size:1.18rem;
    line-height:1.3;
    font-weight:700;
}

.home .h-section{
    padding:76px 0;
}

.h-tint{
    background:#fff;
}

.h-head{
    max-width:720px;
    margin-bottom:36px;
}

.h-head p{
    color:var(--ink-soft);
    font-size:1.08rem;
    line-height:1.7;
}

.h-head p + p{
    margin-top:12px;
}

.h-note,
.h-warn{
    margin-top:28px;
    color:var(--ink-soft);
    max-width:760px;
}

.h-warn{
    padding:14px 18px;
    border-left:4px solid var(--haldi);
    background:#FFF8E6;
    border-radius:0 10px 10px 0;
    color:var(--ink);
}

.h-small{
    font-size:.92rem;
    color:var(--ink-soft);
    margin-top:12px;
}

.h-btn{
    display:inline-block;
    background:var(--kesar);
    color:var(--neel-deep) !important;
    font-weight:700;
    padding:12px 22px;
    border-radius:8px;
    text-decoration:none !important;
    transition:background .2s ease;
}

.h-btn:hover{
    background:var(--haldi);
}

.h-btn-ghost{
    background:transparent;
    box-shadow:inset 0 0 0 1.5px var(--neel);
    color:var(--neel) !important;
}

.h-btn-ghost:hover{
    background:var(--neel-soft);
}

.h-link-strong{
    font-weight:700;
}

/* ---------- Hero ---------- */

.home .h-hero{
    position:relative;
    padding:72px 0 0;
    color:#fff;
    background:
        radial-gradient(ellipse 60% 70% at 78% 62%, rgba(242,182,50,.28), rgba(232,104,0,.10) 45%, transparent 70%),
        linear-gradient(180deg, var(--neel-deep) 0%, var(--neel) 62%, #2E3C7A 100%);
    overflow:hidden;
}

.h-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:56px;
    align-items:center;
    padding-bottom:28px;
}

.home .h-hero h1{
    font-family:var(--font-display);
    font-weight:400;
    font-size:clamp(2.5rem, 5.6vw, 4.4rem);
    line-height:1.06;
    letter-spacing:-.01em;
    color:#fff;
    max-width:11.5em;
    text-wrap:balance;
}

.h-lede{
    margin-top:22px;
    font-size:1.16rem;
    line-height:1.7;
    color:#D4DAF1;
    max-width:34em;
}

.h-find{
    margin-top:30px;
    max-width:520px;
}

.h-find label{
    display:block;
    font-weight:500;
    color:#fff;
    margin-bottom:8px;
}

.h-find-row{
    display:flex;
    background:#fff;
    border-radius:12px;
    padding:6px;
    gap:6px;
    box-shadow:0 14px 34px rgba(8,12,32,.35);
}

.h-find select{
    flex:1;
    min-width:0;
    border:0;
    background:transparent;
    font-size:1.05rem;
    color:var(--ink);
    padding:10px 12px;
    border-radius:8px;
    cursor:pointer;
}

.h-find button{
    border:0;
    background:var(--kesar);
    color:var(--neel-deep);
    font-weight:700;
    font-size:1.02rem;
    padding:10px 20px;
    border-radius:8px;
    cursor:pointer;
    white-space:nowrap;
    transition:background .2s ease;
}

.h-find button:hover{
    background:var(--haldi);
}

.h-hero-alt{
    margin-top:18px;
    color:#C6CDE9;
}

.home .h-hero-alt a{
    color:var(--haldi);
    font-weight:700;
}

.home .h-hero-alt a:hover{
    color:#fff;
}

/* Breathing sun */

.h-breath{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.h-sun{
    --s:.72;
    --d:4s;
    position:relative;
    width:min(300px, 70vw);
    aspect-ratio:1;
    display:grid;
    place-items:center;
}

.h-sun-ring,
.h-sun-core{
    position:absolute;
    inset:0;
    border-radius:50%;
}

.h-sun-ring{
    border:1.5px solid rgba(242,182,50,.45);
    box-shadow:0 0 0 18px rgba(242,182,50,.06), 0 0 0 40px rgba(242,182,50,.04);
}

.h-sun-core{
    inset:10%;
    background:radial-gradient(circle at 42% 38%, #FFE3A1 0%, var(--haldi) 34%, var(--kesar) 78%, #C95500 100%);
    box-shadow:0 0 60px rgba(242,182,50,.45);
    transform:scale(var(--s));
    transition:transform var(--d) cubic-bezier(.45,.05,.4,.95);
}

.h-breath-cue{
    margin-top:22px;
    font-family:var(--font-display);
    font-size:1.55rem;
    line-height:1.2;
    color:#fff;
    min-height:1.2em;
}

.h-breath-count{
    color:var(--haldi);
    font-weight:700;
    font-size:1.05rem;
    min-height:1.6em;
    margin-top:4px;
}

.h-breath-btn{
    margin-top:8px;
    background:transparent;
    color:#fff;
    border:0;
    box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6);
    padding:10px 22px;
    border-radius:8px;
    font-weight:700;
    font-size:1rem;
    cursor:pointer;
}

.h-breath-btn:hover{
    background:rgba(255,255,255,.1);
}

.h-breath-note{
    margin-top:16px;
    max-width:330px;
    font-size:.95rem;
    line-height:1.6;
    color:#B9C1E2;
}

.h-river{
    display:block;
    width:100%;
    height:64px;
    margin-top:12px;
}

/* ---------- Pathways ---------- */

.home .h-paths{
    padding-top:40px;
    padding-bottom:24px;
}

.h-path-list{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:2px solid var(--neel);
}

.h-path-list li + li{
    border-left:1px solid var(--line);
}

.home .h-path-list a{
    display:block;
    height:100%;
    padding:22px 22px 24px;
    text-decoration:none;
    transition:background .2s ease;
}

.h-path-list a:hover{
    background:#fff;
}

.h-path-list strong{
    display:block;
    font-family:var(--font-display);
    font-weight:400;
    font-size:1.3rem;
    line-height:1.25;
    color:var(--neel);
}

.h-path-list a:hover strong{
    color:var(--kesar-ink);
}

.h-path-list span{
    display:block;
    margin-top:8px;
    color:var(--ink-soft);
    line-height:1.55;
}

/* ---------- First month ---------- */

.h-weeks{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
    position:relative;
}

.h-weeks::before{
    content:"";
    position:absolute;
    top:16px;
    left:0;
    right:0;
    height:2px;
    background:linear-gradient(90deg, var(--haldi), var(--kesar));
}

.h-weeks li{
    position:relative;
}

.h-week{
    position:relative;
    display:inline-block;
    background:var(--neel);
    color:#fff;
    font-weight:700;
    font-size:.95rem;
    padding:4px 14px;
    border-radius:999px;
    margin-bottom:16px;
}

.h-weeks strong{
    display:block;
    font-size:1.15rem;
    color:var(--neel);
    margin-bottom:6px;
}

.h-weeks p{
    color:var(--ink-soft);
    line-height:1.65;
}

/* ---------- 15 minute routine, drawn to scale ---------- */

.h-routine{
    display:flex;
    gap:4px;
}

.h-routine li{
    flex:var(--min) 1 0;
    min-width:0;
    padding-right:14px;
}

.h-routine li::before{
    content:"";
    display:block;
    height:16px;
    border-radius:4px;
    margin-bottom:14px;
    background:var(--c, var(--kesar));
}

.h-routine li:nth-child(1){ --c:var(--neel); }
.h-routine li:nth-child(2){ --c:var(--kesar); }
.h-routine li:nth-child(3){ --c:var(--haldi); }
.h-routine li:nth-child(4){ --c:var(--tulsi); }
.h-routine li:nth-child(5){ --c:#8A94BE; }

.h-min{
    display:block;
    font-family:var(--font-display);
    font-size:1.5rem;
    line-height:1;
    color:var(--neel);
    margin-bottom:6px;
}

.h-routine strong{
    display:block;
    color:var(--ink);
}

.h-routine li > span:last-child{
    display:block;
    color:var(--ink-soft);
    font-size:.97rem;
    line-height:1.55;
    margin-top:2px;
}

/* ---------- Goals ---------- */

.h-goals{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0 36px;
}

.home .h-goals a{
    display:block;
    padding:16px 0 18px;
    border-bottom:1px solid var(--line);
    text-decoration:none;
}

.h-goals strong{
    display:block;
    color:var(--neel);
    font-size:1.1rem;
}

.h-goals a:hover strong{
    color:var(--kesar-ink);
}

.h-goals span{
    display:block;
    color:var(--ink-soft);
    line-height:1.5;
    margin-top:2px;
}

/* ---------- Find a class ---------- */

.h-find-sec{
    background:var(--neel-soft);
}

.h-regions{
    display:grid;
    grid-template-columns:1.6fr 1.2fr 1fr .9fr;
    gap:28px;
}

.h-regions h3{
    font-size:1rem;
    margin-bottom:12px;
    padding-bottom:8px;
    border-bottom:2px solid var(--haldi);
}

.h-regions p{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.home .h-regions a{
    display:inline-block;
    background:#fff;
    color:var(--ink);
    padding:5px 13px;
    border-radius:999px;
    border:1px solid var(--line);
    font-weight:500;
    text-decoration:none;
    transition:border-color .2s ease, color .2s ease;
}

.home .h-regions a:hover{
    border-color:var(--kesar);
    color:var(--kesar-ink);
}

.h-listed{
    margin-top:52px;
}

.h-listed-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    flex-wrap:wrap;
    gap:8px 20px;
    margin-bottom:18px;
}

.h-listed-head h3{
    font-family:var(--font-display);
    font-weight:400;
    font-size:1.6rem;
}

.h-listed-head p{
    color:var(--ink-soft);
}

.home .hp-listed{
    background:#fff;
    border-radius:14px;
    overflow:hidden;
    border:1px solid var(--line);
    text-decoration:none;
    display:flex;
    flex-direction:column;
}

.home .hp-listed img{
    width:100%;
    aspect-ratio:1;
    object-fit:cover;
    height:auto;
}

.home .hp-listed-body{
    display:block;
    padding:12px 14px 16px;
}

.home .hp-listed-body strong{
    display:block;
    color:var(--neel);
    line-height:1.3;
}

.home .hp-listed-body span{
    display:block;
    color:var(--ink-soft);
    font-size:.93rem;
    line-height:1.45;
    margin-top:4px;
}

.home .hp-slider-btn{
    color:var(--neel);
    border-color:var(--line);
}

.home .hp-slider-btn:hover{
    background:var(--kesar);
    border-color:var(--kesar);
    color:var(--neel-deep);
}

/* ---------- Choosing a class ---------- */

.h-split{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:56px;
    align-items:start;
}

.h-head-side{
    position:sticky;
    top:100px;
    margin-bottom:0;
}

.h-checks li{
    position:relative;
    padding:16px 0 16px 42px;
    border-bottom:1px solid var(--line);
    line-height:1.65;
    color:var(--ink-soft);
}

.h-checks li:first-child{
    padding-top:4px;
}

.h-checks li::before{
    content:"";
    position:absolute;
    left:0;
    top:18px;
    width:26px;
    height:26px;
    border-radius:50%;
    background:var(--tulsi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;
}

.h-checks li:first-child::before{
    top:6px;
}

.h-checks strong{
    color:var(--ink);
}

/* ---------- Eight limbs ---------- */

.h-limbs{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    counter-reset:limb;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
}

.h-limbs li{
    counter-increment:limb;
    position:relative;
    padding:22px 22px 24px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:#fff;
}

.h-limbs li::after{
    content:counter(limb);
    position:absolute;
    top:18px;
    right:20px;
    font-weight:700;
    color:#9AA2C4;
    font-size:.95rem;
}

.h-dev{
    display:block;
    font-family:var(--font-display);
    font-size:2rem;
    line-height:1.3;
    color:var(--kesar-ink);
}

.h-limbs strong{
    display:block;
    color:var(--neel);
    font-size:1.08rem;
    margin:4px 0 6px;
}

.h-limbs p{
    color:var(--ink-soft);
    line-height:1.6;
    font-size:.98rem;
}

/* ---------- History (dark band) ---------- */

.home .h-ink{
    background:var(--neel);
    color:#D4DAF1;
}

.home .h-ink h2{
    color:#fff;
}

.h-ink .h-head p{
    color:#C3CAE7;
}

.h-timeline{
    max-width:860px;
    border-left:2px solid var(--haldi);
    margin-left:8px;
}

.h-timeline li{
    display:grid;
    grid-template-columns:170px 1fr;
    gap:18px;
    position:relative;
    padding:0 0 26px 28px;
}

.h-timeline li:last-child{
    padding-bottom:0;
}

.h-timeline li::before{
    content:"";
    position:absolute;
    left:-8px;
    top:8px;
    width:14px;
    height:14px;
    border-radius:50%;
    background:var(--neel);
    border:2px solid var(--haldi);
}

.h-when{
    font-family:var(--font-display);
    font-size:1.25rem;
    line-height:1.3;
    color:var(--haldi);
}

.h-timeline p{
    line-height:1.65;
}

/* ---------- Places ---------- */

.h-places{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:40px 32px;
}

.h-places li{
    position:relative;
    padding-top:22px;
    border-top:2px solid var(--neel);
}

.h-places li::before{
    content:"";
    position:absolute;
    top:-7px;
    left:0;
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--kesar);
}

.h-year{
    display:block;
    font-family:var(--font-display);
    font-size:2.1rem;
    line-height:1;
    color:var(--kesar-ink);
}

.home .h-places h3{
    font-family:var(--font-display);
    font-weight:400;
    font-size:1.45rem;
    margin:8px 0 10px;
}

.h-places p{
    color:var(--ink-soft);
    line-height:1.65;
}

.h-places p strong{
    color:var(--ink);
}

.h-places li > a{
    display:inline-block;
    margin-top:12px;
    font-weight:700;
}

/* ---------- Public programs ---------- */

.h-programs{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.h-programs article{
    background:var(--prabhat);
    border-radius:14px;
    padding:26px 24px 24px;
    border-top:4px solid var(--tulsi);
    display:flex;
    flex-direction:column;
}

.h-prog-fact{
    font-family:var(--font-display);
    font-size:1.3rem;
    color:var(--tulsi);
    margin:6px 0 12px;
}

.h-programs article p:not(.h-prog-fact){
    color:var(--ink-soft);
    line-height:1.65;
    flex:1;
}

.h-programs article > a{
    margin-top:16px;
    font-weight:700;
}

.h-sources{
    margin-top:26px;
    display:grid;
    gap:6px;
    font-size:.94rem;
}

.home .h-sources a{
    color:var(--ink-soft);
}

/* ---------- Styles ---------- */

.h-styles{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:0 48px;
}

.h-styles > div{
    display:grid;
    grid-template-columns:170px 1fr;
    gap:16px;
    padding:16px 0;
    border-bottom:1px solid var(--line);
}

.h-styles dt{
    font-family:var(--font-display);
    font-size:1.25rem;
    line-height:1.3;
    color:var(--neel);
}

.h-styles dd{
    color:var(--ink-soft);
    line-height:1.6;
}

/* ---------- Research ---------- */

.h-research{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:20px;
}

/* grouped by strength: two moderate, three early, then the last early + mixed */
.h-research li{ grid-column:span 2; }
.h-research li:nth-child(1),
.h-research li:nth-child(2),
.h-research li:nth-child(6),
.h-research li:nth-child(7){ grid-column:span 3; }

.h-research li{
    background:var(--prabhat);
    border-radius:14px;
    padding:20px 20px 22px;
}

.h-ev{
    display:inline-block;
    font-size:.85rem;
    font-weight:700;
    padding:2px 10px;
    border-radius:999px;
    margin-bottom:10px;
}

.ev-good .h-ev{ background:#DDF0E4; color:#1E5A37; }
.ev-some .h-ev{ background:#FCEFC9; color:#7A5500; }
.ev-mixed .h-ev{ background:#E6E8F0; color:#3E4566; }

.home .h-research h3{
    margin-bottom:8px;
}

.h-research p{
    color:var(--ink-soft);
    line-height:1.62;
    font-size:.98rem;
}

.h-research-foot{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:40px;
    margin-top:40px;
    padding-top:32px;
    border-top:1px solid var(--line);
}

.h-research-foot h3{
    margin-bottom:10px;
}

.h-research-foot > div > p{
    color:var(--ink-soft);
    line-height:1.7;
}

.h-research-foot .h-sources{
    margin-top:0;
}

/* ---------- Glossary ---------- */

.h-glossary{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0 36px;
}

.h-glossary > div{
    padding:16px 0;
    border-bottom:1px solid var(--line);
}

.h-glossary dt{
    font-weight:700;
    color:var(--neel);
    font-size:1.08rem;
}

.h-glossary dt span{
    font-family:var(--font-display);
    font-weight:400;
    color:var(--kesar-ink);
    margin-left:6px;
}

.h-glossary dd{
    color:var(--ink-soft);
    line-height:1.6;
    margin-top:2px;
}

/* ---------- For centers ---------- */

.home .h-centers{
    background:#fff;
    border-top:1px solid var(--line);
}

.h-centers-grid{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:56px;
    align-items:start;
}

.h-centers-grid > div > p{
    color:var(--ink-soft);
    font-size:1.08rem;
    line-height:1.7;
    max-width:560px;
}

.h-centers-links{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:24px;
}

.h-how{
    background:var(--prabhat);
    border-radius:14px;
    padding:24px 26px;
}

.h-how h3{
    margin-bottom:8px;
}

.h-how li{
    padding:10px 0;
    border-bottom:1px solid var(--line);
    color:var(--ink-soft);
    line-height:1.6;
}

.h-how li:last-child{
    border-bottom:0;
}

.h-how strong{
    color:var(--ink);
}

/* ---------- FAQ ---------- */

.h-faq-wrap{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:56px;
    align-items:start;
}

.h-faq details{
    border-bottom:1px solid var(--line);
}

.h-faq details:first-child{
    border-top:1px solid var(--line);
}

.h-faq summary{
    list-style:none;
    cursor:pointer;
    position:relative;
    padding:18px 44px 18px 0;
    font-weight:700;
    font-size:1.08rem;
    color:var(--neel);
    line-height:1.4;
}

.h-faq summary::-webkit-details-marker{
    display:none;
}

.h-faq summary::after{
    content:"";
    position:absolute;
    right:8px;
    top:50%;
    width:10px;
    height:10px;
    border-right:2px solid var(--kesar-ink);
    border-bottom:2px solid var(--kesar-ink);
    transform:translateY(-70%) rotate(45deg);
    transition:transform .2s ease;
}

.h-faq details[open] summary::after{
    transform:translateY(-30%) rotate(-135deg);
}

.h-faq summary:hover{
    color:var(--kesar-ink);
}

.h-faq details p{
    padding:0 0 20px;
    color:var(--ink-soft);
    line-height:1.7;
    max-width:66ch;
}

/* ---------- Responsive ---------- */

@media (max-width:1100px){
    .h-regions{ grid-template-columns:repeat(2,1fr); }
    .h-limbs{ grid-template-columns:repeat(2,1fr); }
    .h-research{ grid-template-columns:repeat(2,1fr); }
    .h-research li, .h-research li:nth-child(n){ grid-column:auto; }
    .h-places{ grid-template-columns:repeat(3,1fr); }
}

@media (max-width:960px){
    .h-hero-grid{ grid-template-columns:1fr; gap:44px; }
    .h-breath{ flex-direction:row; flex-wrap:wrap; text-align:left; align-items:center; gap:0 28px; }
    .h-sun{ width:180px; flex-shrink:0; }
    .h-breath > p, .h-breath > button{ flex-basis:calc(100% - 210px); }
    .h-breath-cue{ margin-top:0; }
    .h-path-list{ grid-template-columns:repeat(2,1fr); }
    .h-path-list li:nth-child(3){ border-left:0; }
    .h-path-list li:nth-child(n+3){ border-top:1px solid var(--line); }
    .h-weeks{ grid-template-columns:repeat(2,1fr); gap:32px 28px; }
    .h-weeks::before{ display:none; }
    .h-goals{ grid-template-columns:repeat(2,1fr); }
    .h-split, .h-faq-wrap, .h-centers-grid{ grid-template-columns:1fr; gap:28px; }
    .h-head-side{ position:static; }
    .h-places{ grid-template-columns:repeat(2,1fr); }
    .h-programs{ grid-template-columns:1fr; }
    .h-styles{ grid-template-columns:1fr; }
    .h-research-foot{ grid-template-columns:1fr; gap:28px; }
    .h-glossary{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:760px){
    .home .h-section{ padding:56px 0; }
    .home .h-paths{ padding-top:28px; }

    /* routine becomes a vertical bar, still to scale */
    .h-routine{ flex-direction:column; gap:0; }
    .h-routine li{
        display:grid;
        grid-template-columns:12px 60px 1fr;
        grid-template-rows:auto 1fr;
        column-gap:14px;
        align-items:start;
        flex:none;
        padding:0;
        min-height:calc(var(--min) * 22px + 6px);
    }
    .h-routine li::before{
        grid-row:1 / span 2;
        align-self:stretch;
        height:auto;
        margin:0 0 6px;
        border-radius:3px;
    }
    .h-min{ grid-row:1 / span 2; font-size:1.3rem; padding-top:3px; margin:0; }
    .h-routine strong{ grid-column:3; grid-row:1; }
    .h-routine li > span:last-child{ grid-column:3; grid-row:2; margin:0 0 16px; }
}

@media (max-width:600px){
    .home .h-hero{ padding-top:48px; }
    .h-lede{ font-size:1.06rem; }
    .h-find-row{ flex-direction:column; }
    .h-find button{ padding:12px 20px; }
    .h-breath{ flex-direction:column; text-align:center; }
    .h-sun{ width:170px; }
    .h-breath > p, .h-breath > button{ flex-basis:auto; }
    .h-breath-cue{ margin-top:18px; }
    .h-river{ height:40px; }
    .h-path-list{ grid-template-columns:1fr; }
    .h-path-list li + li{ border-left:0; border-top:1px solid var(--line); }
    .home .h-path-list a{ padding:18px 4px 20px; }
    .h-weeks{ grid-template-columns:1fr; gap:26px; border-left:2px solid var(--haldi); padding-left:22px; margin-left:6px; }
    .h-goals, .h-regions, .h-limbs, .h-places, .h-research, .h-glossary{ grid-template-columns:1fr; }
    .h-styles > div{ grid-template-columns:1fr; gap:4px; }
    .h-timeline li{ grid-template-columns:1fr; gap:4px; padding-left:22px; }
}

@media (prefers-reduced-motion:reduce){
    .h-sun-core{ transition:opacity 1s ease; }
}

/* Yoga essentials (affiliate) */
.h-ess{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; margin-top:24px; }
.h-ess-card{
    position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:6px;
    padding:34px 24px 22px; border-radius:16px; text-decoration:none !important; color:#fff !important;
}
.h-ess-card strong{ font-family:var(--font-display); font-weight:400; font-size:clamp(1.3rem, 2.4vw, 1.7rem); line-height:1.25; }
.h-ess-ad{ position:absolute; top:10px; left:24px; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:#F2B632; }
.h-ess-sub{ color:#DDE3F5; font-size:.95rem; }
.h-ess-btn{ margin-top:14px; padding:10px 18px; border-radius:10px; font-weight:700; }
.h-ess-amz{ background:linear-gradient(110deg, #131921 0%, #232F3E 60%, #37475A 100%); }
.h-ess-amz .h-ess-btn{ background:#FFB000; color:#131921; }
.h-ess-ka{ background:linear-gradient(110deg, #1F3A12 0%, #3E6B1F 55%, #8BA640 100%); }
.h-ess-ka .h-ess-btn{ background:#F2B632; color:#1F3A12; }
.h-ess-card:hover{ filter:brightness(1.08); }
.h-ess-more{ margin-top:16px; color:var(--ink-soft); }
.h-ess-more a{ font-weight:700; color:var(--kesar-ink); }
@media (max-width:640px){ .h-ess{ grid-template-columns:1fr; } }
