@font-face{font-family:'Zodiak';font-weight:300;font-style:normal;font-display:block;src:url(../fonts/v1/zodiak-1.woff2) format('woff2')}
@font-face{font-family:'Zodiak';font-weight:400;font-style:normal;font-display:block;src:url(../fonts/v1/zodiak-2.woff2) format('woff2')}
@font-face{font-family:'General Sans';font-weight:400;font-style:normal;font-display:block;src:url(../fonts/v1/general-sans-2.woff2) format('woff2')}
@font-face{font-family:'General Sans';font-weight:500;font-style:normal;font-display:block;src:url(../fonts/v1/general-sans-3.woff2) format('woff2')}
@font-face{font-family:'General Sans';font-weight:600;font-style:normal;font-display:block;src:url(../fonts/v1/general-sans-4.woff2) format('woff2')}
@font-face{font-family:'Tiro Devanagari Hindi';font-weight:400;font-style:normal;font-display:block;src:url(../fonts/v1/Tiro+Devanagari+Hindi_devanagari.woff2) format('woff2')}
:root{
  --paper:#FBFBF8; --ink:#14211B; --mute:#56635C; --soft:#7E8A83; --leaf:#2E5E48; --leaf2:#4C7D66;
  --copper:#B5532D; --copper2:#D9774F; --night:#0E1813; --night2:#16241D; --line:rgba(20,33,27,.10); --line2:rgba(20,33,27,.18);
  --ease:cubic-bezier(.16,1,.3,1); --pad:clamp(20px,4.4vw,72px); --sec:clamp(72px,8vw,120px); --max:1320px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:'General Sans',system-ui,sans-serif;font-size:15.64px;line-height:1.62;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--copper);outline-offset:4px;border-radius:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
h1,h2,h3{font-family:Zodiak;font-weight:300;letter-spacing:-.028em;line-height:1.04}
h2{font-size:clamp(34.96px,4.232vw,62.56px);text-wrap:balance}
h3{font-size:22.08px;font-weight:400;letter-spacing:-.015em;line-height:1.15}
em{font-style:normal;color:var(--leaf)}
.sec-head{max-width:760px;margin-bottom:72px}
.sec-head p:not(.eyebrow){margin-top:22px;color:var(--mute);font-size:17.48px;max-width:52ch}

/* ---------- buttons ---------- */
.pill{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:999px;font-size:13.34px;font-weight:500}
.pill-line{border:1px solid var(--line2);transition:border-color .3s var(--ease),background .3s var(--ease)}
.pill-line:hover{border-color:var(--ink);background:#fff}
.text-link{position:relative;display:inline-flex;font-weight:500;padding:6px 0;font-size:14.26px}
.text-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.3;transform-origin:left;transition:opacity .3s,transform .6s var(--ease)}
.text-link:hover::after{opacity:1}
.live{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--copper);box-shadow:0 0 0 0 rgba(181,83,45,.5);animation:live 2.4s var(--ease) infinite;flex:none}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;gap:40px;padding:20px var(--pad);transition:background .5s var(--ease),box-shadow .5s var(--ease),transform .6s var(--ease)}
.nav.solid{background:rgba(251,251,248,.84);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 1px 0 var(--line)}
.nav.hide{transform:translateY(-100%)}
.brand{display:flex;align-items:center;gap:12px}
.brand b{font-family:Zodiak;font-weight:400;font-size:20.24px;letter-spacing:-.015em}
.links{display:flex;gap:34px;margin-left:auto;font-size:13.8px;font-weight:500;color:var(--mute)}
.links a{position:relative;padding:6px 0;transition:color .3s}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.links a:hover{color:var(--ink)}.links a:hover::after{transform:scaleX(1);transform-origin:left}
.menu{display:none;width:44px;height:44px;margin-left:auto;place-items:center}
.menu i{width:22px;height:1.5px;background:var(--ink);box-shadow:0 7px 0 var(--ink)}

/* ---------- hero ---------- */
.hero{position:relative;height:100svh;min-height:720px;overflow:hidden;background:var(--paper);cursor:crosshair}
#heroGL{position:absolute;inset:0;width:100%;height:100%;display:block}
.tree-fallback{position:absolute;right:0;top:0;height:100%;width:auto;opacity:0;pointer-events:none}
.no-gl .tree-fallback{opacity:1;object-fit:cover;width:100%}
.hero-2d .tree-fallback{mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 30%,#000 48%),linear-gradient(#000,#000);mask-image:linear-gradient(90deg,transparent 0,transparent 30%,#000 48%)}
.hero-2d .hero::before{content:"";position:absolute;inset:0 0 auto 0;height:150px;background:linear-gradient(var(--paper) 35%,rgba(251,251,248,0));z-index:1;pointer-events:none}
.hero-2d-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
@media (max-width:860px){.hero-2d .tree-fallback{-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}}
.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;height:100%;padding:120px var(--pad) 72px;max-width:min(52vw,780px);cursor:auto}
.kicker{display:flex;align-items:center;gap:12px;font-size:11.5px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--leaf)}
.kicker::before{content:"";width:28px;height:1px;background:currentColor}
h1{font-size:clamp(36.8px,4.048vw,64.4px);line-height:1.02;letter-spacing:-.034em;margin:24px 0 28px}
h1 .ln{display:block;width:max-content;max-width:none;overflow:hidden;white-space:nowrap;padding-bottom:.09em;margin-bottom:-.09em}
h1 .ln>span{display:inline-block}
.lede{font-size:clamp(15.18px,1.196vw,17.48px);color:var(--mute);max-width:44ch;text-wrap:pretty}
.ctas{display:flex;align-items:center;gap:30px;margin-top:38px;flex-wrap:wrap}
.event-chip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:46px;padding:16px 18px;max-width:500px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .3s,background .3s}
.event-chip:hover{border-color:var(--line2);background:#fff}
.event-chip b{display:block;font-size:13.34px;font-weight:600;line-height:1.35}
.event-chip small{display:block;font-size:11.96px;color:var(--mute);margin-top:2px}
.event-chip .go{font-size:12.42px;font-weight:600;color:var(--copper);white-space:nowrap}
.hero-hint{position:absolute;z-index:2;left:var(--pad);bottom:30px;display:flex;align-items:center;gap:10px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--mute);pointer-events:none}
.hint-dot{width:22px;height:22px;border-radius:50%;border:1px solid var(--line2);position:relative}
.hint-dot::after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--copper);animation:hint 2.8s var(--ease) infinite}
@keyframes hint{0%,100%{transform:translate(-4px,0)}50%{transform:translate(4px,0)}}
.hero-hint .m{display:none}

/* ---------- networks ---------- */
.constellation path{fill:none;stroke:var(--leaf);stroke-width:1.2;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.38}
.constellation path.faint{stroke-dasharray:2 6;opacity:.3}
.pulse{fill:var(--copper)}
.pulse-glow{fill:var(--copper);opacity:.18}
.node circle{fill:var(--paper);stroke:var(--leaf);stroke-width:1.5}
.node text,.constellation text{font-family:'General Sans';font-size:13.8px;font-weight:500;fill:var(--ink);letter-spacing:.005em}
.node.hq circle:first-child{fill:var(--copper);stroke:var(--copper)}
.node.hq .ring{fill:none;stroke:var(--copper);opacity:.35}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- about ---------- */

/* ---------- promise ---------- */
.verse{position:relative;margin:56px 0 0;padding:44px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.verse .sa{font-family:'Tiro Devanagari Hindi';font-size:clamp(31.28px,4.232vw,64.4px);line-height:1.35;color:var(--ink)}
.verse .ro{font-family:Zodiak;font-style:italic;font-size:clamp(15.64px,1.472vw,21.16px);color:var(--mute);margin-top:12px;letter-spacing:.005em}
.verse .sa span,.verse .ro span{transition:color .5s var(--ease),opacity .5s var(--ease);opacity:.32}
.verse .sa span.on,.verse .ro span.on{opacity:1}
.verse .sa span.on{color:var(--leaf)}
.verse .playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--copper);left:0;opacity:0}
.verse figcaption{margin-top:30px;font-size:13.8px;color:var(--mute)}
.verse figcaption b{font-weight:600;color:var(--ink);margin-right:12px}
.path{position:relative}
.lv{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--copper)}

/* ---------- activities: peepal leaves ---------- */

/* ---------- journey ---------- */
.journey{padding:var(--sec) 0 calc(var(--sec) * .7)}
.track{position:relative;overflow:hidden}
.track-line{position:absolute;left:0;top:30px;width:100%;height:10px}
.track-line path{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}
.track-line .base{stroke:var(--line2)}
.track-line .lit{stroke:var(--copper);stroke-dasharray:1000;stroke-dashoffset:1000}
.stops{list-style:none;display:flex;gap:48px;padding:0 var(--pad);width:max-content}
.stops li{position:relative;width:300px;padding-top:66px}
.stops li::before{content:"";position:absolute;top:28px;left:0;width:14px;height:14px;border-radius:50%;background:var(--paper);border:1.5px solid var(--leaf2);transition:background .4s,border-color .4s}
.stops li.on::before{background:var(--copper);border-color:var(--copper)}
.stops time{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--copper)}
.stops h3{margin:12px 0 10px}
.stops p{font-size:14.26px;color:var(--mute);line-height:1.5}
.stops li{display:flex;flex-direction:column;padding-top:0!important}
.stops img{order:-1;width:100%;height:var(--imgh);object-fit:cover;border-radius:14px;margin:0 0 26px;transition:transform 1s var(--ease)}
.stops li:hover img{transform:translateY(-6px)}
.stops li::before{top:auto;bottom:auto;position:relative;display:block;margin:0 0 18px}
.track{--imgh:225px}
.track-line{top:calc(var(--imgh) + 26px + 2px)}
.stops li::before{margin:0 0 18px;top:0}

/* ---------- map + gallery ---------- */
.map-sec{padding:calc(var(--sec) * .6) 0 var(--sec);border-top:1px solid var(--line)}
.map-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.map-grid p:not(.eyebrow){margin-top:24px;color:var(--mute);font-size:16.56px;max-width:46ch}
.constellation svg{width:100%;height:auto;overflow:visible}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:80px;gap:20px;margin-top:96px}
.g{position:relative;overflow:hidden;border-radius:18px;background:#E3E9E4}
.g img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.4s var(--ease)}
.g:hover img{transform:scale(1.1)}
.g figcaption{position:absolute;left:16px;bottom:14px;font-size:11.96px;font-weight:600;color:#fff;letter-spacing:.02em;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.g1{grid-column:1/8;grid-row:span 5}
.g2{grid-column:8/13;grid-row:span 7}
.g3{grid-column:1/5;grid-row:span 4}
.g4{grid-column:5/8;grid-row:span 4}
.g5{grid-column:8/13;grid-row:span 2;}
.g5 img{object-position:50% 35%}

/* ---------- inspiration ---------- */
blockquote{font-family:Zodiak;font-weight:300;font-size:clamp(25.76px,2.484vw,36.8px);line-height:1.25;letter-spacing:-.018em;text-wrap:pretty}
.by{margin-top:30px;font-size:13.8px;font-weight:600;color:var(--leaf)}

/* ---------- get involved flow ---------- */
.step .n{font-family:Zodiak;font-size:13.8px;color:var(--copper)}

/* ---------- footer ---------- */
.foot{background:var(--night);color:#E6EEE9;padding:120px 0 48px;border-top:1px solid rgba(230,238,233,.08)}
.foot-sa{font-family:'Tiro Devanagari Hindi';font-size:clamp(27.6px,3.68vw,51.52px);line-height:1.3;color:#F3F6F3}
.foot-en{font-family:Zodiak;font-weight:300;font-size:clamp(18.4px,1.84vw,25.76px);color:#9FC2AE;margin-top:8px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-top:96px;padding-top:40px;border-top:1px solid rgba(230,238,233,.12);font-size:13.8px;color:#B7C6BD}
.foot-grid span{display:block;font-size:11.04px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#8FA399;margin-bottom:10px}
.foot-grid a:hover{color:#fff}
.foot-brand{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.foot-brand b{font-family:Zodiak;font-weight:400;font-size:20.24px;color:#F3F6F3}
.foot-brand small{grid-column:2;font-size:11.96px;color:#8FA399}
.foot-small{margin-top:56px;font-size:11.96px;color:#6F837A}

/* ---------- reveal base ---------- */
[data-rise]{will-change:transform,opacity}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .links{gap:22px}
        }
@media (max-width:860px){
  body{font-size:14.72px}
  .links,.nav .pill{display:none}
  .menu{display:grid}
  .hero{height:auto;min-height:100svh}
  .hero-copy{max-width:none;height:auto;justify-content:flex-start;padding:calc(54svh + 52px) var(--pad) 56px}
  h1{font-size:clamp(27.6px,7.728vw,42.32px)}
  .hero-hint{right:auto;left:var(--pad);top:calc(54svh + 6px);bottom:auto}
    .constellation text{font-size:23.92px}
  .hero-hint .d{display:none}.hero-hint .m{display:inline}
  .map-grid{grid-template-columns:1fr}
            .stops li{width:260px}
  .track{--imgh:195px}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:12px;margin-top:64px}
  .g1,.g2,.g3,.g4,.g5{grid-column:auto;grid-row:span 2}
  .g1{grid-column:1/3}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/3}
    }
@media (max-width:520px){
    .ctas{gap:22px}
  .event-chip{grid-template-columns:auto 1fr;}
  .event-chip .go{grid-column:2}
    }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* dotted America: a ripple of light leaves New York every few seconds */
.usmap svg{width:100%;height:auto;overflow:visible}
.usmap .net-links path{stroke:var(--copper);opacity:.45}
.usmap text{font-size:13.8px}

/* ---------- bento: six programs, six cells ---------- */

/* ---------- Dr. Ashu Goyal: "peacock dusk" ---------- */
.ashu{--night1:#0B2530;--night2:#103A3B;--gold:#E6A23C;--gold2:#F3C46B;--peacock:#2C9C93;--cream:#F7F1E6;
  position:relative;overflow:hidden;color:var(--cream);padding:var(--sec) 0 0;
  background:radial-gradient(60% 70% at 18% 40%,rgba(230,162,60,.22),transparent 60%),radial-gradient(50% 60% at 90% 10%,rgba(44,156,147,.28),transparent 60%),linear-gradient(160deg,var(--night1),var(--night2) 70%,#0E2F2C)}
.ashu::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(247,241,230,.07) 1px,transparent 1.2px);background-size:22px 22px;mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);pointer-events:none}
.ashu-kicker{display:flex;align-items:center;gap:10px;font-size:11.5px;letter-spacing:.17em;text-transform:uppercase;font-weight:600;color:var(--gold2)}
.expect .x1{background:var(--gold);color:#1B1408}
.ashu .note{font-size:12.88px;color:rgba(247,241,230,.62)}
.tour{position:relative;margin-top:clamp(64px,7vw,104px);border-top:1px solid rgba(247,241,230,.12);border-bottom:1px solid rgba(247,241,230,.12);overflow:hidden;background:rgba(0,0,0,.12)}
.tour-track{display:flex;gap:30px;align-items:center;width:max-content;padding:22px 0;animation:tour 34s linear infinite;font-family:Zodiak;font-weight:300;font-size:clamp(23.92px,2.392vw,36.8px);letter-spacing:-.02em;white-space:nowrap}
.tour-track b{color:var(--gold);font-weight:400}
.tour-track i{font-style:normal;color:var(--gold2)}
@keyframes tour{to{transform:translateX(-50%)}}
.ashu .form p.s{color:var(--mute)}
.ashu:not(.ashu-full){padding-bottom:0}
@media (prefers-reduced-motion:reduce){.tour-track{animation:none}}

/* ---------- shared: current nav, mobile sheet ---------- */
body[data-page="about"] .links a[data-nav="about"],
body[data-page="activities"] .links a[data-nav="activities"],
body[data-page="events"] .links a[data-nav="events"],
body[data-page="home"] .links a[data-nav="home"],
body[data-page="involved"] .links a[data-nav="involved"]{color:var(--ink)}
body[data-page="about"] .links a[data-nav="about"]::after,
body[data-page="activities"] .links a[data-nav="activities"]::after,
body[data-page="events"] .links a[data-nav="events"]::after,
body[data-page="home"] .links a[data-nav="home"]::after,
body[data-page="involved"] .links a[data-nav="involved"]::after{transform:scaleX(1)}
.sheet{position:fixed;inset:0;z-index:29;background:var(--paper);display:flex;flex-direction:column;justify-content:center;padding:96px var(--pad) 40px}
.sheet[hidden]{display:none}
.sheet nav{display:flex;flex-direction:column;gap:6px}
.sheet nav a{font-family:Zodiak;font-weight:300;font-size:38.64px;letter-spacing:-.025em;line-height:1.2}
.sheet-foot{margin-top:auto;font-size:12.88px;color:var(--mute)}
.menu[aria-expanded="true"] i{background:transparent;box-shadow:none;position:relative}
.menu[aria-expanded="true"] i::before,.menu[aria-expanded="true"] i::after{content:"";position:absolute;left:0;top:0;width:22px;height:1.5px;background:var(--ink);transform:rotate(45deg)}
.menu[aria-expanded="true"] i::after{transform:rotate(-45deg)}

/* ---------- page hero ---------- */
.page-hero{position:relative;padding:clamp(150px,18vh,200px) 0 clamp(80px,10vw,140px);overflow:hidden}
.ph-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,96px);align-items:center}
.page-hero h1{font-size:clamp(40.48px,5.52vw,84.64px);margin:22px 0 28px;letter-spacing:-.036em;line-height:1.0}
.page-hero h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.page-hero h1 .ln>span{display:inline-block}
.page-hero .lede{font-size:clamp(15.64px,1.288vw,18.4px);color:var(--mute);max-width:46ch}
.ph-art{position:relative;aspect-ratio:1;max-width:520px;width:100%;justify-self:end}
.ph-art svg{width:100%;height:100%;overflow:visible}
.ph-crumbs{display:flex;gap:10px;font-size:11.96px;color:var(--soft);margin-top:40px}
.ph-crumbs a:hover{color:var(--ink)}

/* ---------- about ---------- */

.story{position:relative;padding:var(--sec) 0;background:linear-gradient(var(--paper),#F4F6F1 30%,#F4F6F1 70%,var(--paper))}
.thread{position:absolute;left:calc(50% - .5px);top:0;bottom:0;width:1px;background:var(--line2)}
.thread i{position:absolute;left:0;top:0;width:1px;height:100%;background:var(--copper);transform-origin:top;transform:scaleY(0)}
.chapters{position:relative;display:grid;gap:clamp(96px,12vw,180px)}
.chapter{display:grid;grid-template-columns:1fr 1fr;gap:clamp(56px,8vw,140px);align-items:center;position:relative}
.chapter::before{content:"";position:absolute;left:calc(50% - 7px);top:50%;width:14px;height:14px;border-radius:50%;background:var(--paper);border:1.5px solid var(--leaf2);z-index:1}
.chapter.on::before{background:var(--copper);border-color:var(--copper)}
.chapter.flip .ch-copy{order:2}
.ch-copy .num{font-family:Zodiak;font-size:13.8px;color:var(--copper)}
.ch-copy h3{font-size:clamp(27.6px,2.76vw,40.48px);font-weight:300;letter-spacing:-.025em;margin:14px 0 20px}
.ch-copy p{color:var(--mute);font-size:16.1px;max-width:48ch}
.ch-copy p+p{margin-top:14px}
.ch-img{border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:#E3E9E4}
.ch-img.tall{aspect-ratio:4/5}
.ch-img img{width:100%;height:100%;object-fit:cover}
.ch-quote{font-family:Zodiak;font-weight:300;font-size:clamp(23.92px,2.392vw,34.96px);line-height:1.25;letter-spacing:-.018em;color:var(--ink);padding:44px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}
.ch-quote small{display:block;margin-top:18px;font-family:'General Sans';font-size:12.88px;color:var(--mute);letter-spacing:0}


/* ---------- activities ---------- */

/* ---------- events ---------- */
.form p.s{font-size:13.8px;color:#8FA399;margin:10px 0 28px}

.past-ev{padding:72px 0;border-top:1px solid var(--line)}
.pe-head{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:baseline;margin-bottom:40px}
.pe-head time{font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;color:var(--copper)}
.pe-head h3{font-size:clamp(29.44px,3.128vw,44.16px);font-weight:300;letter-spacing:-.025em}
.pe-head p{color:var(--mute);font-size:15.64px;margin-top:10px;max-width:60ch}
.masonry{columns:3;column-gap:16px}
.masonry figure{break-inside:avoid;margin-bottom:16px;border-radius:16px;overflow:hidden;background:#E3E9E4}
.masonry img{width:100%;height:auto}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .ph-grid,.chapter{grid-template-columns:1fr}
  .ph-art{max-width:300px;justify-self:start;order:-1}
  .page-hero{padding-top:120px}
  .chapter.flip .ch-copy{order:0}
  .thread,.chapter::before{display:none}
                    .pe-head{grid-template-columns:1fr;gap:8px}
    .masonry{columns:2}
    .sheet nav a{font-size:33.12px}
}

.note{font-size:12.88px;color:var(--soft)}
.ph-art.constellation{aspect-ratio:auto;max-width:680px;width:100%}
.ph-art.constellation text{font-size:15.64px}
body[data-page="events"] .ph-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
body[data-page="events"] .page-hero h1{font-size:clamp(36.8px,3.956vw,62.56px)}
body[data-page="events"] .ph-art.constellation{max-width:none}
@media (max-width:860px){body[data-page="events"] .ph-grid{grid-template-columns:1fr}body[data-page="events"] .ph-art.constellation{max-width:100%}}
body[data-page="events"] .ph-art.constellation svg{height:auto}
/* weekly programmes, each with its own colour */

.masonry.two{columns:2}

/* ================================================================
   Peacock dusk, across the whole site.
   Light pages stay airy (paper #FBFBF8, cream #F7F1E6); colour arrives as
   fills, rules and live light. Text colours pass 4.5:1 on paper:
   teal deep #1E6F69, gold deep #8A5A0B, copper #B5532D. Bright gold and
   peacock are used only as fills or on night backgrounds.
   ================================================================ */
:root{
  --night1:#0B2530; --night2:#103A3B; --night3:#0E2F2C;
  --gold:#E6A23C; --gold2:#F3C46B; --goldText:#8A5A0B;
  --peacock:#2C9C93; --tealText:#1E6F69; --cream:#F7F1E6;
  --leaf:#1E6F69; --leaf2:#2C9C93;
  --nightBg:radial-gradient(60% 70% at 18% 40%,rgba(230,162,60,.20),transparent 60%),radial-gradient(50% 60% at 90% 10%,rgba(44,156,147,.26),transparent 60%),linear-gradient(160deg,#0B2530,#103A3B 70%,#0E2F2C);
}

/* type accents */
em{color:var(--tealText)}
.kicker{color:var(--tealText)}
.kicker::before{background:var(--gold);height:2px;width:30px}
.lv,.stops time,.step .n,.ch-copy .num{color:var(--goldText)}

/* buttons: night ink, gold light on hover; Donate is the gold pill */
.nav .pill-line{background:var(--gold);border-color:var(--gold);color:#1B1408}
.nav .pill-line:hover{background:var(--gold2);border-color:var(--gold2)}
.links a::after{background:var(--gold);height:2px}
.sheet{background:var(--nightBg);color:var(--cream)}
.sheet nav a{color:var(--cream)}
.sheet nav a:hover{color:var(--gold2)}
.sheet-foot{color:rgba(247,241,230,.6)}
.sheet ~ .nav .menu i,.menu[aria-expanded="true"] i::before,.menu[aria-expanded="true"] i::after{background:var(--cream)}

/* hero: tree stays white and airy; small live accents in gold */
.event-chip .live,.live{background:var(--gold);box-shadow:0 0 0 0 rgba(230,162,60,.5)}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(230,162,60,.5)}70%{box-shadow:0 0 0 10px rgba(230,162,60,0)}100%{box-shadow:0 0 0 0 rgba(230,162,60,0)}}
.event-chip .go{color:var(--goldText)}
.event-chip{border-color:rgba(230,162,60,.35);background:rgba(247,241,230,.78)}
.hint-dot::after{background:var(--gold)}

/* networks: teal lines, gold light travelling on them */
.constellation path{stroke:var(--peacock);opacity:.5}
.pulse{fill:var(--gold)}
.pulse-glow{fill:var(--gold);opacity:.28}
.node circle{stroke:var(--tealText);fill:var(--cream)}
.node.hq circle:first-child{fill:var(--gold);stroke:var(--gold)}
.node.hq .ring{stroke:var(--gold);opacity:.6}
.usmap .net-links path{stroke:var(--gold);opacity:.75}

/* about (home) */

/* the promise: verse lights in teal, playhead in gold, each level its own colour */
.verse{border-color:rgba(138,90,11,.18)}
.verse .sa span.on{color:var(--tealText)}
.verse .playhead{background:var(--gold);width:2px}

/* activities bento: night overlays, teal and gold cells */
.c-ai .node circle{fill:var(--gold);stroke:#04201D}

/* journey: gold light along the timeline */
.track-line .lit{stroke:var(--gold);stroke-width:2.5}
.stops li::before{border-color:var(--peacock)}
.stops li.on::before{background:var(--gold);border-color:var(--gold)}

/* map section and gallery */
.map-sec{background:var(--paper)}
.g figcaption{background:rgba(11,37,48,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:6px 10px;border-radius:999px;text-shadow:none}

/* inspiration: cream with a gold rule */
.by{color:var(--goldText)}
blockquote{color:var(--night1)}

/* get involved: each step its own colour */
.step:nth-of-type(2) .n{color:var(--tealText)}.step:nth-of-type(3) .n{color:var(--copper)}.step:nth-of-type(4) .n{color:var(--tealText)}

/* night sections: donate, footer, workshop band, values lead card */
.foot{background:linear-gradient(180deg,#0E2F2C,#0B2530)}
.foot-sa{color:var(--gold2)}
.foot-en{color:var(--cream);opacity:.8}
.foot-grid span{color:var(--gold)}
.foot-brand small,.foot-small{color:rgba(247,241,230,.58)}

/* inner page heroes: a warm cream dawn with a fine dot field */
.page-hero{background:radial-gradient(70% 90% at 85% 30%,rgba(44,156,147,.10),transparent 60%),linear-gradient(var(--cream),var(--paper))}
.page-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(30,111,105,.10) 1px,transparent 1.2px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent 40%,#000);pointer-events:none}

/* about page */
.story{background:linear-gradient(var(--paper),var(--cream) 30%,var(--cream) 70%,var(--paper))}
.thread i{background:var(--gold);width:2px}
.chapter.on::before{background:var(--gold);border-color:var(--gold)}
.chapter::before{border-color:var(--peacock)}
.ch-img{box-shadow:16px 16px 0 -2px var(--c,rgba(230,162,60,.55))}
.chapter:nth-child(2) .ch-img{--c:rgba(44,156,147,.5)}
.chapter:nth-child(3) .ch-img{--c:rgba(181,83,45,.45)}
.ch-quote{background:var(--gold);color:#1B1408;border:0}
.ch-quote small{color:rgba(27,20,8,.7)}

/* activities page: a coloured leaf behind every photo */

/* events page */
.pe-head time{color:var(--goldText)}
.past-ev{border-top:1px solid rgba(138,90,11,.18)}
.masonry figure{border-radius:18px}
.menu-open .nav{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.menu-open .brand b{color:var(--cream)}
.menu-open .menu i{background:transparent}

/* register CTAs: the one action we want everyone to see, solid gold with a soft glow */
.event-chip.cta-chip{border:1.5px solid var(--gold);background:rgba(247,241,230,.92);box-shadow:0 16px 40px -18px rgba(230,162,60,.8)}
.event-chip.cta-chip:hover{background:#fff;border-color:var(--gold)}
.event-chip.cta-chip .go{display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:11px 18px;border-radius:999px;background:var(--gold);color:#1B1408;font-size:13.34px;font-weight:700;animation:ctaGlow 2.8s var(--ease) infinite;transition:background .3s}
.event-chip.cta-chip:hover .go{background:var(--gold2)}
.event-chip.cta-chip .go svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;transition:transform .5s var(--ease)}
.event-chip.cta-chip:hover .go svg{transform:translateX(4px)}
@keyframes ctaGlow{0%{outline:0 solid rgba(230,162,60,.5);outline-offset:0}70%{outline:10px solid rgba(230,162,60,0);outline-offset:2px}100%{outline:0 solid rgba(230,162,60,0);outline-offset:0}}
@media (prefers-reduced-motion:reduce){.event-chip.cta-chip .go{animation:none}}

/* ---------- phones: iOS and Android ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{-webkit-tap-highlight-color:transparent}
@media (pointer:fine){body{overscroll-behavior-y:none}}
a,button{touch-action:manipulation}
.nav{padding-top:max(20px,env(safe-area-inset-top));padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}
.sheet{padding-top:max(96px,calc(env(safe-area-inset-top) + 80px));padding-bottom:max(40px,env(safe-area-inset-bottom))}
.foot{padding-bottom:max(48px,env(safe-area-inset-bottom))}
.hero{touch-action:pan-y pinch-zoom}
/* the timeline becomes a swipe strip that snaps to each stop */
.track.swipe{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.track.swipe::-webkit-scrollbar{display:none}
.track.swipe .stops li{scroll-snap-align:start;scroll-margin-left:var(--pad)}
@media (max-width:860px){
  .tour-track{animation-duration:26s}
            .usmap text{font-size:20.24px}
  }
@media (hover:none){
  .stops li:hover img{transform:none}
}
@media (max-width:860px){
  .page-hero h1{font-size:clamp(31.28px,8.832vw,44.16px)}
  .page-hero h1 .ln{white-space:normal;width:auto;overflow:visible}
      }

/* ---------- feedback round: mission, Zelle, tour dates, past-event list ---------- */
.zelle{background:#fff;border-radius:18px;padding:12px;width:220px;box-shadow:0 24px 50px -30px rgba(0,0,0,.6)}
.zelle img{width:100%;height:auto}
.zelle-note{margin-top:0!important;font-size:13.34px!important;color:#B7C6BD;max-width:30ch!important}
.zelle-note b{display:block;color:var(--cream);font-weight:500;white-space:nowrap}
.tour-dates{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(48px,5vw,72px)}
.tour-dates li{border:1px solid rgba(247,241,230,.14);border-radius:18px;padding:20px 22px;background:rgba(255,255,255,.04)}
.tour-dates time{display:block;font-family:Zodiak;font-size:23.92px;line-height:1.1;letter-spacing:-.015em;color:var(--gold2)}
.tour-dates b{display:block;margin-top:10px;font-weight:500;font-size:15.18px;color:var(--cream)}
.tour-dates span{display:block;margin-top:2px;font-size:12.88px;color:rgba(247,241,230,.65)}
.pe-list{list-style:none;margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.pe-list li{font-size:12.88px;padding:6px 14px;border-radius:999px;background:var(--cream);border:1px solid rgba(138,90,11,.18)}
.page-hero + .involved{padding-top:0}
@media (max-width:1100px){.tour-dates{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.tour-dates{grid-template-columns:1fr}}

/* ================================================================
   v3 core: cream paper in morning light, fine gold lines, real leaves.
   Loaded after the v2 base so the hero, nav and menu keep their rules.
   Spec: site/V3_SPEC.md
   ================================================================ */
:root{
  --p0:#FBFBF8; --p1:#FCFAF5; --p2:#F7F2E6; --p3:#F1EADA;
  --i0:#16211C; --i1:#3D4842; --i2:#5B6660;
  --t0:#1E6F69; --tcard:#1F7A72; --deep:#025454;
  --n0:#0E312E; --n1:#072A2C; --forest:#14352A; --forest2:#1B4434;
  --g0:#BD914E; --g1:#D9B26A; --gtext:#8A6420;
  --saffron:#E9A23B; --mustard:#EDB54D; --cop:#B5532D;
  --r-chip:6px; --r-card:14px; --r-big:22px;
  --sh-rest:0 1px 2px rgba(70,50,20,.05),0 10px 28px -14px rgba(70,50,20,.16);
  --sh-hover:0 2px 4px rgba(70,50,20,.05),0 22px 44px -20px rgba(70,50,20,.26);
  --ex:cubic-bezier(.16,1,.3,1);
  --sec3:clamp(84px,9vw,148px);
}

/* ---------- type ---------- */
.x-eyebrow{display:flex;align-items:center;gap:14px;font:600 11.5px/1.2 'General Sans';letter-spacing:.22em;text-transform:uppercase;color:var(--t0);margin-bottom:22px}
.x-eyebrow::before{content:"";width:34px;height:1.5px;background:var(--g0);flex:none}
.x-eyebrow.on-dark{color:var(--g1)}
p.x-eyebrow.x-eyebrow{font-size:11.5px!important;margin-top:0!important;max-width:none!important;line-height:1.2!important}
p.x-eyebrow:not(.on-dark){color:var(--t0)!important}
.x-h2{font-family:Zodiak;font-weight:300;font-size:clamp(29.44px,3.312vw,47.84px);line-height:1.08;letter-spacing:-.022em;color:var(--i0);text-wrap:balance}
.x-lead{font-size:clamp(15.64px,1.242vw,17.48px);line-height:1.65;color:var(--i1);max-width:52ch;text-wrap:pretty}
.x-label{font:600 11px/1.3 'General Sans';letter-spacing:.2em;text-transform:uppercase;color:var(--gtext)}
[lang="hi"],[lang="sa"]{letter-spacing:0!important}

/* ---------- buttons ---------- */
.x-btn{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 24px 0 28px;border-radius:999px;background:var(--saffron);color:#2A1904;font-weight:600;font-size:14.26px;letter-spacing:.005em;box-shadow:0 14px 30px -16px rgba(185,120,30,.75);transition:background .35s var(--ex),box-shadow .5s var(--ex),translate .5s var(--ex)}
.x-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:translate .5s var(--ex)}
.x-btn:hover{background:#F0B04C;box-shadow:0 20px 40px -18px rgba(185,120,30,.85);translate:0 -1px}
.x-btn:hover svg{translate:4px 0}
.x-btn:active{translate:0 1px}
.x-arrow{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;flex:none;background:var(--saffron);color:#2A1904;transition:translate .5s var(--ex),background .3s}
.x-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:translate .5s var(--ex)}
.x-arrow.line{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor;color:inherit}
a:hover>.x-arrow svg,a:hover .x-arrow svg{translate:3px 0}
.x-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13.8px;color:inherit;border-bottom:1.5px solid currentColor;padding-bottom:3px}
.x-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;transition:translate .5s var(--ex)}
.x-link:hover svg{translate:4px 0}
.x-crumbs{display:flex;gap:10px;align-items:center;margin-top:30px;font-size:12.88px;color:var(--i2)}
.x-crumbs a{color:var(--t0);font-weight:500}

/* ---------- icons ---------- */
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- waves (section edges with a gold rim) ---------- */
.x-wave{position:absolute;left:0;width:100%;height:clamp(54px,7vw,110px);pointer-events:none;display:block;z-index:2}
.x-wave.top{top:0;transform:translateY(-99%)}
.x-wave.bot{bottom:0;transform:translateY(99%) scaleY(-1)}
.x-wave .fill{stroke:none}
.x-wave .rim{fill:none;stroke:var(--g0);stroke-width:1.3;vector-effect:non-scaling-stroke;opacity:.85}
.x-wave .rim2{fill:none;stroke:var(--g1);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.45}

/* ---------- floating leaves (three depths) ---------- */
.lv3{position:absolute;pointer-events:none;z-index:1;width:var(--w,64px);height:auto;transform-origin:50% 12%;will-change:transform}
.lv3.d1{opacity:.9}
.lv3.d3{filter:blur(5px);opacity:.9;z-index:3}
@media (max-width:860px){.lv3.m-hide{display:none}.lv3{width:calc(var(--w,64px)*.72)}}

/* ---------- leaf frame: peepal shaped photo with a gold rim and drop finials ---------- */
.pf .pf-rim .inner{stroke:rgba(255,255,255,.55);stroke-width:1}

/* ---------- constellation discs ---------- */
.cst{position:relative;width:100%}
.cst svg.cst-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cst-lines path{fill:none;stroke:var(--g0);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.95}
.cst-lines circle{fill:var(--g0)}
.cst-lines .faint{stroke-dasharray:1.5 5;opacity:.5;stroke-width:1}
.cst-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;width:var(--d,96px);height:var(--d,96px);margin:calc(var(--d,96px)/-2) 0 0 calc(var(--d,96px)/-2);border-radius:50%;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 35%,#fff,var(--p2) 80%);box-shadow:0 0 0 1px rgba(189,145,78,.35),0 12px 26px -14px rgba(70,50,20,.35),inset 0 1px 0 #fff;color:var(--t0)}
.cst-node .ic{width:24px;height:24px}
.cst-node span{font:500 11.5px/1.15 'General Sans';color:var(--i0);max-width:88%}
.cst-hub{position:absolute;left:50%;top:50%;width:var(--h,190px);height:var(--h,190px);margin:calc(var(--h,190px)/-2) 0 0 calc(var(--h,190px)/-2);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#fff 0,#FBF6EA 55%,rgba(247,242,230,0) 72%)}
.cst-hub::before,.cst-hub::after{content:"";position:absolute;inset:14%;border-radius:50%;border:1.5px solid var(--g0);opacity:.7}
.cst-hub::after{inset:4%;border:1px dashed rgba(189,145,78,.55);animation:spin 80s linear infinite}
.cst-hub img{width:46%;height:auto;position:relative;filter:drop-shadow(0 10px 16px rgba(30,60,40,.28))}
.cst-cap{text-align:center;font:600 11.04px/1 'General Sans';letter-spacing:.24em;text-transform:uppercase;color:var(--i2);margin-top:18px}

/* ---------- info row ---------- */
.x-specs{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;border-top:1.5px solid var(--g0);margin-top:34px;max-width:560px}
.x-specs>div{padding:18px 30px 0 0}
.x-specs>div+div{padding-left:28px;border-left:1px solid rgba(189,145,78,.35)}
.x-specs span{display:block;font:600 11px/1.3 'General Sans';letter-spacing:.2em;text-transform:uppercase;color:var(--gtext);margin-bottom:8px}
.x-specs b{font-weight:500;font-size:14.72px;color:var(--i0)}

/* ---------- cards ---------- */
.x-card{position:relative;background:#fff;border-radius:var(--r-card);box-shadow:var(--sh-rest);transition:box-shadow .6s var(--ex),translate .6s var(--ex)}
.x-card.lift:hover{box-shadow:var(--sh-hover);translate:0 -4px}

/* ---------- arch frame (portraits, plates) ---------- */
.x-arch{position:relative;border-radius:999px 999px var(--r-big) var(--r-big);overflow:hidden;box-shadow:0 0 0 1.5px var(--g0),0 0 0 9px var(--p1),0 0 0 10px rgba(189,145,78,.45),0 40px 70px -36px rgba(40,30,10,.45)}
.x-arch img{width:100%;height:100%;object-fit:cover}

/* ---------- grain on paper sections ---------- */
.x-grain{position:relative}
.x-grain::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url("../../assets/media/grain-320.9addc837e8.webp");background-size:160px 160px;mix-blend-mode:multiply}

/* ---------- section base ---------- */
.x-sec{position:relative;padding:var(--sec3) 0}
.x-sec>.wrap{position:relative;z-index:2}

@media (max-width:860px){
    .x-specs{grid-template-columns:repeat(3,1fr);max-width:none}
  .x-specs>div{padding-right:12px}
  .x-specs>div+div{padding-left:14px}
  .x-btn{height:52px}
}
@media (max-width:420px){
  .x-specs{grid-template-columns:1fr 1fr}
  .x-specs>div:nth-child(3){grid-column:1/3;border-left:0;padding-left:0;border-top:1px solid rgba(189,145,78,.3);margin-top:14px;padding-top:14px}
}
@media (prefers-reduced-motion:reduce){.cst-hub::after{animation:none}}

/* ---------- the falling leaf ---------- */
.fall3{position:fixed;left:0;top:0;width:46px;height:auto;pointer-events:none;z-index:25;opacity:0;visibility:hidden;filter:drop-shadow(0 10px 10px rgba(30,40,20,.2))}
@media (max-width:860px){.fall3{width:34px}}

/* ================================================================
   v3 home (and the shared Dr. Ashu, inspiration and footer bands).
   The hero above is untouched; the cream panel rises over its foot.
   ================================================================ */

/* ---------- nav: the 3D mark ---------- */
.brand-mark3{width:auto;height:38px;flex:none;filter:drop-shadow(0 2px 3px rgba(20,50,30,.18))}
.nav .brand{gap:12px}
/* desktop: one slim, sleek bar (about 52px tall) */
@media (min-width:861px){
  .nav{padding-top:8px;padding-bottom:8px;gap:36px}
  .nav .brand{gap:10px}
  .brand-mark3{height:32px}
  .nav .brand b{font-size:17.48px}
  .links{gap:30px;font-size:12.88px}
  .links a{padding:4px 0}
  .nav .pill{height:36px;padding:0 18px;font-size:12.88px}
}

/* ---------- about: cream panel with a gold rimmed wave ---------- */
.jr .x-wave.top{height:clamp(60px,8vw,120px)}
.cst-people{aspect-ratio:1}
.cst-people .cst-node{--d:clamp(84px,7.6vw,108px)}
.cst-under{position:absolute;left:50%;top:50%;width:62%;height:93%;translate:-50% -50%;color:var(--g0);opacity:.28;pointer-events:none;rotate:10deg}
.cst-people .cst-hub{--h:clamp(160px,15vw,214px)}

/* ---------- mission: forest band with the embossed leaf ---------- */
.mis .x-wave.top{height:clamp(50px,6vw,96px)}
.mis-sweep{position:absolute;inset:-20% -60%;background:linear-gradient(105deg,transparent 42%,rgba(255,248,220,.16) 50%,transparent 58%);transform:translateX(-60%);pointer-events:none}

/* ---------- how we teach: the verse, the open book ---------- */
.x-verse .sa{font-size:clamp(31.28px,3.864vw,58.88px);color:var(--i2)}
.x-verse .sa span{opacity:.42}
.x-verse .sa span.on{opacity:1;color:var(--t0)}
.x-verse .ro{font-size:clamp(14.72px,1.38vw,19.32px);color:var(--i2)}
.x-verse .playhead{background:var(--g0);width:2px}

/* ---------- activities bento ---------- */
.bx-classes .bx-wave .f{fill:#072122}.bx-classes .bx-wave .r{fill:none;stroke:var(--g1);stroke-width:1.4;vector-effect:non-scaling-stroke}
.bx-panel .bx-wave .f{fill:#FBF7EE}.bx-panel .bx-wave .r{fill:none;stroke:var(--g0);stroke-width:1.4;vector-effect:non-scaling-stroke}

/* ---------- Dr. Ashu: arch plate at sunrise ---------- */
.ash-rays{position:absolute;inset:0;background:repeating-linear-gradient(112deg,rgba(255,236,190,0) 0 70px,rgba(255,236,190,.07) 90px,rgba(255,236,190,0) 130px);mix-blend-mode:screen;pointer-events:none;animation:rays 14s ease-in-out infinite alternate}
@keyframes rays{from{transform:translateX(-3%);opacity:.6}to{transform:translateX(3%);opacity:1}}
.ash-expect .x1{background:linear-gradient(160deg,#EDBB5B,#DCA445);color:#2A1904}
.ash-ctas{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.ash-tour{position:relative;margin-top:clamp(64px,7vw,100px);background:var(--n1);border-top:1px solid rgba(217,178,106,.35);border-bottom:0;display:flex;align-items:center}
.ash-tour .tour-track{color:#F4EFE2}
.ash-tour .tour-track i{color:#E9C77E}
.ash-tour .tour-track b{color:rgba(217,178,106,.6)}
.ash-tour:hover .tour-track{animation-play-state:paused}
.tour-go{position:absolute;right:var(--pad);top:50%;margin-top:-22px;background:var(--n1);color:#E9C77E;box-shadow:inset 0 0 0 1.5px #E9C77E,0 0 0 14px var(--n1)}
.ash-dates{margin-top:clamp(48px,5vw,72px)}
.ash-dates li{border-color:rgba(217,178,106,.3);background:rgba(255,255,255,.04)}
.ash-dates time{color:#E9C77E}
.ash-form-row{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px);align-items:center;padding:clamp(64px,7vw,104px) var(--pad) clamp(84px,9vw,140px)}
.ash-form-copy h3{font-family:Zodiak;font-weight:300;font-size:clamp(25.76px,2.668vw,38.64px);letter-spacing:-.02em;color:#F4EFE2;line-height:1.14}
.ash-form-copy p{margin-top:16px;color:rgba(244,239,226,.75);font-size:15.64px;max-width:46ch}
.ash-form{background:var(--p1);border-radius:var(--r-big);padding:36px;color:var(--i0);box-shadow:0 40px 90px -40px rgba(0,0,0,.6),inset 0 0 0 1px rgba(189,145,78,.4)}
.ash-form h3{font-family:Zodiak;font-weight:300;font-size:25.76px}
.ash-form .s{color:var(--i2);margin:10px 0 24px;font-size:14.26px}

/* ---------- journey: photos in gold frames, a gold vine ---------- */
.x-journey{position:relative;background:var(--p1);padding:var(--sec3) 0 calc(var(--sec3)*.7);overflow:hidden}
.x-journey .stops img{border-radius:16px;box-shadow:0 0 0 1px rgba(189,145,78,.55),0 0 0 6px #fff,0 0 0 7px rgba(189,145,78,.35),0 24px 40px -26px rgba(40,30,10,.5)}
.x-journey .track-line .base{stroke:rgba(189,145,78,.4)}
.x-journey .track-line .lit{stroke:var(--g0)}
.x-journey .stops li::before{width:14px;height:20px;border:0;border-radius:0;background:var(--t0);-webkit-mask:var(--leafmask) center/contain no-repeat;mask:var(--leafmask) center/contain no-repeat}
.x-journey .stops li.on::before{background:var(--g0)}
.x-journey .stops time{color:var(--gtext)}
.x-journey .stops h3{font-family:Zodiak;font-weight:300}

/* ---------- where we meet: gold map, framed photos ---------- */
.x-map{background:linear-gradient(var(--p1),var(--p2));border-top:0;overflow:hidden}
.x-map .usmap .net-links path{stroke:var(--g0);opacity:.9;stroke-width:1.4}
.x-map .node circle{fill:#fff;stroke:var(--g0)}
.x-map .node.hq circle:first-child{fill:var(--g0);stroke:var(--g0)}
.x-gallery{position:relative}
.x-gallery .g{border-radius:var(--r-big);box-shadow:0 0 0 1px rgba(189,145,78,.5),0 0 0 6px #fff,0 0 0 7px rgba(189,145,78,.3),0 30px 50px -34px rgba(40,30,10,.5)}
.x-gallery .g figcaption{background:rgba(7,42,44,.62)}
.x-sprig-g{position:absolute;left:-30px;top:-70px;width:150px;rotate:-24deg;pointer-events:none;z-index:2}

/* ---------- inspiration: Swamiji in a gold arch ---------- */
.insp{background:var(--p2);overflow:hidden}
.insp-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,7vw,112px);align-items:center}
.insp-fig{position:relative;max-width:440px;justify-self:center;width:100%}
.insp-arch{aspect-ratio:4/5}
.insp-arch img{object-position:30% 40%}
.insp-sprig{position:absolute;width:44%;pointer-events:none;z-index:2}
.insp-sprig.a{left:-18%;bottom:6%;rotate:-28deg}
.insp-sprig.b{right:-14%;top:4%;rotate:150deg;width:34%}
.insp-q{font-family:Zodiak;font-weight:300;font-size:clamp(23.92px,2.392vw,34.96px);line-height:1.3;letter-spacing:-.016em;color:var(--i0);text-wrap:pretty}
.insp .by{margin-top:26px;font-weight:600;font-size:13.8px;color:var(--gtext)}

/* ---------- give: deep green band ---------- */
.give .x-wave.bot .fill{fill:#0F2A21}
.give{background:radial-gradient(70% 90% at 15% 20%,#1F4A3A,transparent 60%),linear-gradient(160deg,var(--forest),#0F2A21);color:var(--p2);z-index:2;padding:clamp(110px,10vw,160px) 0 clamp(96px,9vw,140px)}
.give-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}
.x-h2.on-dark{color:#F4EFE2;max-width:13ch}
.x-lead.on-dark{color:rgba(244,239,226,.8);margin-top:22px}
.give-card{display:flex;gap:26px;align-items:center;background:rgba(255,255,255,.05);border-radius:var(--r-big);padding:22px;box-shadow:inset 0 0 0 1px rgba(217,178,106,.4)}
.give .zelle{width:170px;flex:none;border-radius:14px;box-shadow:0 0 0 2px var(--g1),0 24px 50px -30px rgba(0,0,0,.7)}
.give-copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.give .zelle-note{color:rgba(244,239,226,.75)}
.give .zelle-note b{color:#F4EFE2}
.x-link.on-dark{color:#E9C77E}
.give small{font-size:11.96px;color:rgba(244,239,226,.64);letter-spacing:.06em}

/* ---------- footer: night teal, a faint peepal ---------- */
.foot{position:relative;overflow:hidden;background:linear-gradient(180deg,#0B302C,var(--n1))}
.foot-leaf{position:absolute;right:-60px;top:-40px;width:380px;height:570px;color:rgba(217,178,106,.09);rotate:-14deg;pointer-events:none}
.foot .wrap{position:relative}
.foot-brand .brand-mark3{height:54px;grid-row:span 2}
.foot-brand{column-gap:16px}

/* ================================================================
   v3 inner pages: About, Activities, Events, Get involved, Contacts.
   ================================================================ */

/* ---------- page heroes ---------- */
.x-ph{background:linear-gradient(180deg,#FBF8F0,var(--p1) 70%);padding:clamp(150px,17vh,200px) 0 clamp(96px,10vw,150px)}
.x-ph::before{display:none}
.x-ph .ph-grid{position:relative;z-index:2}
.x-ph h1{font-size:clamp(40.48px,5.152vw,77.28px);color:var(--i0)}
.x-ph h1 em{color:var(--t0)}
.x-ph .kicker.x-eyebrow{margin-bottom:0}
.x-ph .kicker.x-eyebrow::before{width:34px;height:1.5px;background:var(--g0)}
.x-ph .lede{color:var(--i1)}
.ph-plate{position:absolute;right:0;top:0;bottom:0;width:58%;z-index:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%);mask-image:linear-gradient(90deg,transparent 0,#000 26%)}
.ph-plate img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform:scale(1.04)}
.ph-glow{position:absolute;left:52%;top:30%;width:34%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,236,170,.55),rgba(255,236,170,0) 70%);mix-blend-mode:screen;pointer-events:none;animation:glow 6s ease-in-out infinite alternate}
@keyframes glow{from{opacity:.55;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}
.ph-involved .ph-copy{max-width:560px}
.ph-involved .ph-plate{width:56%}
.ph-involved .ph-plate img{object-position:75% 50%}

/* activities hero: six programs round the gold leaf */
.ph-cst{aspect-ratio:1;max-width:560px}
.cst-programs{aspect-ratio:1}
.cst-programs .cst-hub{--h:clamp(150px,13vw,190px);background:radial-gradient(circle,#FFFDF6 0,#FBF4E2 58%,rgba(247,242,230,0) 72%)}
.cst-programs .cst-hub::before{inset:12%;border:2px solid var(--g0);opacity:1;box-shadow:0 0 0 6px rgba(189,145,78,.12)}
.cst-medal{width:44%;height:auto;position:relative;filter:drop-shadow(0 10px 16px rgba(10,50,45,.3))}
.cst-node.sm{--d:64px;background:radial-gradient(circle at 50% 35%,#fff,var(--p2) 80%);overflow:visible;transition:translate .5s var(--ex),box-shadow .5s var(--ex)}
.cst-node.sm:hover{translate:0 -3px;box-shadow:0 0 0 1px var(--g0),0 16px 30px -14px rgba(70,50,20,.4)}
.cst-node.sm span{position:absolute;top:calc(100% + 10px);white-space:nowrap;max-width:none;font-family:Zodiak;font-weight:400;font-size:14.72px;color:var(--i0)}
.cst-node.sm.l span{right:0;text-align:right}
.cst-node.sm.r span{left:0;text-align:left}
.x-swoosh .rim{fill:none;stroke:var(--g0);stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:.8}

/* ---------- about: who we are ---------- */
.feat4{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);max-width:560px}
.feat4 li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:6px 12px;color:var(--gtext)}
.feat4 li+li{border-left:1px solid rgba(189,145,78,.4)}
.feat4 .ic{width:34px;height:34px;stroke-width:1.4}
.feat4 span{font:600 11px/1.35 'General Sans';letter-spacing:.14em;text-transform:uppercase;color:var(--i0)}
.ledger3{list-style:none;margin-top:30px;border-top:1.5px solid var(--g0)}
.ledger3 li{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid rgba(189,145,78,.28);font-size:14.26px;color:var(--i0)}
.ledger3 li span{font:600 11px/1.6 'General Sans';letter-spacing:.2em;text-transform:uppercase;color:var(--gtext)}

/* ---------- about: chapters ---------- */
.story3{background:linear-gradient(var(--p1),var(--p2) 30%,var(--p2) 75%,var(--p1));padding:0 0 var(--sec3)}
.story3 .thread{background:rgba(189,145,78,.3)}
.story3 .thread i{background:var(--g0)}
.ch3 .ch-copy .num{color:var(--gtext);font-size:14.72px}
.ch3 .ch-copy h3{color:var(--i0)}
.ch3 .ch-copy p{color:var(--i1)}
.steps4{list-style:none;display:flex;gap:22px;margin-top:30px;flex-wrap:wrap}
.steps4 li{display:flex;flex-direction:column;align-items:center;gap:10px;width:84px;text-align:center}
.steps4 i{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#fff,var(--p2) 85%);box-shadow:0 0 0 1px rgba(189,145,78,.45),0 12px 24px -14px rgba(70,50,20,.35);color:var(--gtext)}
.steps4 span{font-size:12.42px;color:var(--i0);text-transform:capitalize}
.ch3 .ch-img{box-shadow:none}
.ch-frame{position:relative;overflow:visible!important;background:transparent!important}
.ch-frame>img:first-child{border-radius:var(--r-big);box-shadow:0 0 0 1px rgba(189,145,78,.55),0 0 0 7px #fff,0 0 0 8px rgba(189,145,78,.35),0 34px 60px -34px rgba(40,30,10,.5)}
.ch-frame .ch-sprig{position:absolute;width:38%!important;height:auto!important;object-fit:contain!important;left:-12%;bottom:-8%;rotate:-28deg;pointer-events:none;border-radius:0!important;box-shadow:none!important}
.ch-frame .ch-sprig.r{left:auto;right:-12%;top:-6%;bottom:auto;rotate:150deg}
.ch-quote3{position:relative;overflow:hidden;background:linear-gradient(150deg,#F2C163,var(--mustard) 60%,#E4A93E)!important;color:#2A1904!important;border-radius:var(--r-big)}
.ch-quote3 small{color:rgba(42,25,4,.7)!important}
.q-leaf{position:absolute;right:-20px;bottom:-30px;width:130px;height:195px;color:rgba(255,255,255,.4);rotate:-16deg}

/* ---------- about: values ---------- */
.values3{background:var(--p1)}
.v3-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:auto auto;gap:18px}
.v3{position:relative;border-radius:var(--r-big);padding:32px;display:flex;flex-direction:column;min-height:230px;overflow:hidden}
.v3 .k{font:600 11px/1.3 'General Sans';letter-spacing:.2em;text-transform:uppercase;color:var(--gtext)}
.v3 h3{font-family:Zodiak;font-weight:300;font-size:25.76px;letter-spacing:-.02em;margin-top:30px;color:var(--i0)}
.v3 p{color:var(--i1);font-size:14.26px;margin-top:10px}
.v3>.ic{position:absolute;right:26px;top:26px;width:30px;height:30px;color:var(--g0)}
.v3-lead{grid-row:span 2;background:radial-gradient(90% 80% at 85% 10%,#21574A,transparent 60%),linear-gradient(160deg,var(--forest),#0E2A21);color:#F4EFE2;box-shadow:var(--sh-rest)}
.v3-lead .k{color:#E9C77E}
.v3-lead h3{color:#F4EFE2;font-size:clamp(29.44px,2.76vw,40.48px);margin-top:auto}
.v3-lead p{color:#E9C77E;font-family:'Tiro Devanagari Hindi';font-size:20.24px}
.v3-leaf{position:absolute;right:-30px;top:-40px;width:190px;height:285px;color:rgba(233,199,126,.22);rotate:-12deg}
.v3-wide{grid-column:span 2}
.v3-wide ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px 26px;margin-top:22px}
.v3-wide li{display:flex;gap:12px;align-items:flex-start;font-size:14.26px;color:var(--i0)}
.v3-wide li .ic{color:var(--t0);width:22px;height:22px;margin-top:1px}

/* ---------- activities: programs in leaf frames ---------- */
.lv4{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px;max-width:560px}
.lv4 li{padding:18px 20px 20px;border-radius:var(--r-card);display:flex;flex-direction:column}
.lv4 .lv{font:600 11px/1.3 'General Sans';letter-spacing:.2em;text-transform:uppercase;color:var(--t0)}
.lv4 li:nth-child(2) .lv{color:var(--gtext)}.lv4 li:nth-child(3) .lv{color:var(--cop)}.lv4 li:nth-child(4) .lv{color:var(--t0)}
.lv4 b{font-family:Zodiak;font-weight:400;font-size:17.48px;letter-spacing:-.01em;margin:8px 0 4px;color:var(--i0)}
.lv4 small{font-size:12.42px;color:var(--i2)}
.strip3-sprig.r{right:-30px;rotate:140deg}

/* ---------- events ---------- */
.x-map3 .net-links path{stroke:var(--g0);opacity:.95;stroke-width:1.4}
.x-map3 .node circle{fill:#fff;stroke:var(--g0)}
.x-map3 .node.hq circle:first-child{fill:var(--g0);stroke:var(--g0)}
.ongoing3{background:var(--p1)}
.o3-list{list-style:none;display:grid;gap:14px}
.o3-list li{display:grid;grid-template-columns:170px 1fr auto;gap:28px;align-items:center;padding:24px 28px;border-radius:var(--r-card);position:relative;overflow:hidden}
.o3-list li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c,var(--g0))}
.o3-list li:nth-child(1){--c:var(--g0)}.o3-list li:nth-child(2){--c:var(--t0)}.o3-list li:nth-child(3){--c:var(--cop)}.o3-list li:nth-child(4){--c:var(--forest)}
.o3-list time{font:600 11px/1.3 'General Sans';letter-spacing:.2em;text-transform:uppercase;color:var(--gtext)}
.o3-list h3{font-family:Zodiak;font-weight:300;font-size:23.92px;letter-spacing:-.02em;color:var(--i0)}
.o3-list p{font-size:13.8px;color:var(--i1);margin-top:4px}
.o3-list p a{color:var(--t0);border-bottom:1px solid currentColor}
.past3{background:linear-gradient(var(--p1),var(--p2));overflow:hidden}
.pe3{border-top:1.5px solid rgba(189,145,78,.45)}
.pe3 .pe-head time{color:var(--gtext)}
.pe3 .pe-head h3{color:var(--i0)}
.pe3 .pe-head p{color:var(--i1)}
.m3 figure{border-radius:16px!important;overflow:hidden;box-shadow:0 0 0 1px rgba(189,145,78,.55),0 0 0 5px #fff,0 0 0 6px rgba(189,145,78,.3),0 24px 40px -28px rgba(40,30,10,.5);margin-bottom:22px!important}
.m3{column-gap:22px!important}
.pe3 .pe-list li{background:#fff;border-color:rgba(189,145,78,.4)}

/* ---------- green bands: host, write ---------- */
.band3{background:radial-gradient(70% 90% at 85% 20%,#1F4A3A,transparent 60%),var(--forest);color:var(--p2);z-index:2;padding:clamp(110px,10vw,160px) 0 clamp(96px,9vw,140px)}
.band3-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:end}
.band3-acts{display:flex;flex-direction:column;align-items:flex-start;gap:18px}

/* ---------- get involved: four ways ---------- */
.ways3{background:var(--p1);padding-top:clamp(40px,4vw,70px)}
.w4{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:auto auto;gap:18px}
.w4-c{position:relative;overflow:hidden;border-radius:var(--r-big);padding:30px 30px 28px;min-height:250px;display:flex;flex-direction:column;box-shadow:var(--sh-rest);transition:translate .6s var(--ex),box-shadow .6s var(--ex)}
.w4-c:hover{translate:0 -4px;box-shadow:var(--sh-hover)}
.w4-c .n{font-family:Zodiak;font-style:italic;font-size:14.72px;opacity:.75}
.w4-c .w-ic{width:34px;height:34px;margin:26px 0 auto}
.w4-c h3{font-family:Zodiak;font-weight:300;font-size:clamp(22.08px,2.024vw,29.44px);letter-spacing:-.02em;margin:26px 0 8px;max-width:14ch}
.w4-c p{font-size:13.8px;line-height:1.5;max-width:30ch;opacity:.9}
.w4-c .x-arrow{position:absolute;right:24px;bottom:24px}
.w-art{position:absolute;right:-24px;top:-30px;width:130px;height:195px;opacity:.2;rotate:-14deg;color:currentColor;transition:rotate 1.4s var(--ex)}
.w4-c:hover .w-art{rotate:-6deg}
.w-1{grid-row:span 2;background:radial-gradient(110% 80% at 80% 0,#2A6A57,transparent 60%),linear-gradient(160deg,var(--forest),#0E2A21);color:#F4EFE2}
.w-1 h3{font-size:clamp(29.44px,2.76vw,40.48px)}
.w-2{background:radial-gradient(120% 90% at 85% 10%,#0B6461,var(--deep) 60%);color:#F4EFE2}
.w-3{background:linear-gradient(150deg,#F2C163,var(--mustard) 55%,#E4A93E);color:#2A1904}
.w-4{grid-column:2/4;background:#fff;color:var(--i0);min-height:200px}
.w-4 .w-art{color:var(--g0);opacity:.35}
.w-4 .x-arrow.line{color:var(--gtext)}

/* ---------- contacts ---------- */
.officers3{background:var(--p1);padding-top:clamp(30px,3vw,50px)}
.off3{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.off3 li{padding:30px;border-radius:var(--r-big);display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.off-mono{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin-bottom:10px;font-family:Zodiak;font-size:20.24px;color:var(--t0);background:radial-gradient(circle at 50% 35%,#fff,var(--p2) 85%);box-shadow:0 0 0 1.5px var(--g0),0 0 0 6px var(--p1),0 0 0 7px rgba(189,145,78,.35)}
.off3 b{font-family:Zodiak;font-weight:300;font-size:25.76px;letter-spacing:-.02em;color:var(--i0)}
.off3-gen{display:flex;flex-wrap:wrap;gap:20px 40px;margin-top:44px;padding-top:28px;border-top:1.5px solid var(--g0);font-size:14.26px;color:var(--i1)}
.off3-gen .x-link{border-bottom:0;color:var(--t0)}
.off3-gen .ic,.off3-addr .ic{width:20px;height:20px;color:var(--gtext)}
.off3-addr{display:inline-flex;align-items:center;gap:8px}

/* ================================================================
   v3 on tablets and phones: one column, art first or behind, calm leaves.
   ================================================================ */
:root{--leafmask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cpath d='M100 58C114 50 158 46 170 80C180 114 162 150 138 176C121 194 108 206 103 236C101.6 252 100.6 272 100 292C99.4 272 98.4 252 97 236C92 206 79 194 62 176C38 150 20 114 30 80C42 46 86 50 100 58Z'/%3E%3C/svg%3E")}

@media (max-width:1100px){
                        .w4{grid-template-columns:1fr 1fr}
  .w-1{grid-row:auto;grid-column:span 2}
  .w-4{grid-column:span 2}
  .v3-grid{grid-template-columns:1fr 1fr}
  .v3-lead{grid-row:auto;grid-column:span 2}
  .v3-wide ul{grid-template-columns:1fr}
  .off3{grid-template-columns:1fr 1fr}
}

@media (max-width:860px){
  :root{--sec3:clamp(64px,14vw,96px)}
  .x-h2{font-size:clamp(27.6px,7.36vw,36.8px)}
  
  /* about panel */
        .cst-people .cst-node{--d:clamp(66px,19vw,84px)}
  .cst-people .cst-node .ic{width:20px;height:20px}
  .cst-people .cst-node span{font-size:11px}
  .cst-people .cst-hub{--h:clamp(118px,32vw,150px)}
          
  /* mission: the leaf on top, the words beneath */
          
  /* teach: the book below the verse */
                .x-verse .sa{font-size:clamp(25.76px,7.728vw,36.8px)}

  /* bento: a calm stack */
                
  /* Dr. Ashu: the arch above, the words beneath */
            .ash-ctas{gap:16px}
  .ash-form-row{grid-template-columns:1fr}
  .tour-go{display:none}

  /* inspiration, give, bands */
  .insp-grid,.give-grid,.band3-grid{grid-template-columns:1fr;gap:40px}
  .insp-fig{max-width:300px}
  .give-card{flex-direction:column;align-items:flex-start}
  .give .zelle{width:190px}

  /* inner heroes: the plate becomes the top of the page */
  .x-ph{padding-top:110px}
  .ph-plate{position:relative;width:auto;height:72vw;max-height:420px;margin:-110px 0 0;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
  .ph-plate img{object-position:70% 50%}
  .ph-involved .ph-grid{margin-top:-60px}
  .x-ph h1{font-size:clamp(33.12px,9.2vw,46px)}
  .ph-cst{max-width:400px;justify-self:center;order:2;margin-top:20px}
  .cst-node.sm{--d:52px}
  .cst-node.sm .ic{width:20px;height:20px}
  .cst-node.sm span{font-size:11.5px}
  
  /* about */
  .feat4{grid-template-columns:1fr 1fr;row-gap:20px}
  .feat4 li:nth-child(3){border-left:0}
  .ledger3 li{grid-template-columns:1fr;gap:4px}
          .steps4{gap:12px;justify-content:space-between}
  .steps4 li{width:22%}
  .steps4 i{width:54px;height:54px}
  .v3-grid{grid-template-columns:1fr}
  .v3-lead,.v3-wide{grid-column:auto}
  .ch-frame .ch-sprig{width:30%!important}

  /* activities */
    .lv4{grid-template-columns:1fr}
        
  /* events */
  .o3-list li{grid-template-columns:1fr;gap:8px;padding:22px 22px 22px 26px}
  .m3{columns:2}

  /* involved, contacts */
  .w4{grid-template-columns:1fr}
  .w-1,.w-4{grid-column:auto}
  .off3{grid-template-columns:1fr}
}

@media (max-width:420px){
  .cst-people .cst-node span{font-size:10.5px}
      .m3{columns:1}
}

@media (hover:none){
  .w4-c:hover,.x-card.lift:hover{translate:none}
  }
@media (prefers-reduced-motion:reduce){
  .ash-rays,.ph-glow{animation:none}
}

/* ================================================================
   v4 plate sections: the reference's own painted world as the stage.
   Every stage keeps the plate's aspect so frames, holes and text sit
   exactly where the reference has them; type scales with the stage (cqw).
   ================================================================ */
.ps{position:relative;background:var(--p1);overflow:hidden}
.ps-stage{position:relative;width:100%;aspect-ratio:var(--ar);container-type:inline-size;isolation:isolate}
.ps-art{position:absolute;inset:0;z-index:0;overflow:hidden}
.ps-plate{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:1;pointer-events:none;user-select:none}
.ps-photo{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:calc(var(--w)*1%);height:calc(var(--h)*1%);object-fit:cover;z-index:0}
.ps-box{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:calc(var(--w,30)*1%);z-index:3}
.ps-box[style*="--h"]{height:calc(var(--h)*1%)}

/* type that scales with the stage, never below readable sizes */
.ps .x-eyebrow{font-size:max(11px,.754cqw)!important;margin-bottom:max(14px,1.3cqw)}
.ps-h1{font-family:Zodiak;font-weight:300;font-size:max(33.12px,4.14cqw);line-height:1.02;letter-spacing:-.026em;color:var(--i0);margin-bottom:max(10px,.9cqw)}
.ps-h2{font-family:Zodiak;font-weight:300;font-size:max(27.6px,3.082cqw);line-height:1.07;letter-spacing:-.022em;color:var(--i0);text-wrap:balance;margin-bottom:max(16px,1.5cqw)}
.ps-body{font-size:max(13.8px,.975cqw);line-height:1.68;color:var(--i1);max-width:60ch;text-wrap:pretty}
.ps-lead{font-size:max(14.72px,1.104cqw);line-height:1.6;color:var(--i1);max-width:48ch;text-wrap:pretty}
.ps-body.on-dark{color:rgba(244,239,226,.84)}

/* ---------- home: about panel ---------- */
.ps-hab{background:#F6F1E4}
.hab-copy .ps-h2{max-width:17ch}
.ps-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:max(22px,2.2cqw);border-top:1.5px solid var(--g0);max-width:92%}
.ps-facts div{padding:max(14px,1.2cqw) max(10px,1cqw) 0 0}
.ps-facts div+div{padding-left:max(12px,1.2cqw);border-left:1px solid rgba(189,145,78,.45)}
.ps-facts dt{font-family:Zodiak;font-weight:300;font-size:max(18.4px,1.61cqw);letter-spacing:-.02em;line-height:1.08;color:var(--t0)}
.ps-facts dd{font-size:max(11.5px,.791cqw);color:var(--i2);margin-top:6px;line-height:1.35}
.hab-cst .cst-people{aspect-ratio:1}
.hab-cst .cst-under{display:none}
.hab-cst .cst-node{--d:max(64px,6.4cqw)}
.hab-cst .cst-node .ic{width:max(18px,1.5cqw);height:max(18px,1.5cqw)}
.hab-cst .cst-node span{font-size:max(10.5px,.754cqw)}
.hab-cst .cst-hub{--h:max(120px,12cqw);background:radial-gradient(circle,rgba(255,253,246,.95) 0,rgba(251,246,234,.8) 52%,rgba(247,242,230,0) 72%)}
.hab-cst .cst-cap{font-size:max(11px,.718cqw)}

/* ---------- home: mission ---------- */
.ps-mis{background:#163A2E}
.ps-mis .mis-sweep{position:absolute;inset:-20% -60%;background:linear-gradient(105deg,transparent 42%,rgba(255,248,220,.14) 50%,transparent 58%);transform:translateX(-60%);pointer-events:none;z-index:2}
.ps-mis-text{font-family:Zodiak;font-weight:300;font-size:max(17.48px,1.674cqw);line-height:1.5;letter-spacing:-.008em;color:#F4EFE2;text-wrap:pretty}

/* ---------- home: teach ---------- */
.ps-teach{background:#FBF6EA}
.teach-copy .ps-h2{font-size:max(29.44px,3.404cqw);max-width:13ch}
.ps-verse{margin:max(26px,2.6cqw) 0 0;padding:max(20px,1.8cqw) 0 0;border:0;border-top:1px solid rgba(189,145,78,.4);overflow:visible}
.ps-verse .sa{font-size:max(25.76px,3.036cqw);color:var(--i2);line-height:1.35}
.ps-verse .sa span{opacity:.4}.ps-verse .sa span.on{opacity:1;color:var(--t0)}
.ps-verse .ro{font-size:max(13.8px,1.196cqw);color:var(--i2);margin-top:.5em}
.ps-verse .playhead{background:var(--g0);width:2px}
.ps-verse figcaption{font-size:max(12.42px,.902cqw);color:var(--i2);margin-top:1.4em}
.ps-verse figcaption b{color:var(--i0)}

/* ---------- home: activities bento on the leaf paper ---------- */
.ps-acts{background:#FBF7EC}
.acts-mark{display:flex;gap:max(12px,1cqw);align-items:flex-start}
.acts-mark-leaf{width:max(56px,5.4cqw);height:max(84px,8.1cqw);color:var(--g0);flex:none}
.acts-mark p{font:600 max(10px,.681cqw)/2.3 'General Sans';letter-spacing:.32em;text-transform:uppercase;color:var(--gtext);margin-top:.6em}
.bx4{display:grid;grid-template-columns:1.12fr 1fr 1fr;grid-template-rows:1.15fr 1fr .95fr 1fr;gap:max(12px,1.25cqw)}
.b4{position:relative;overflow:hidden;border-radius:max(14px,1.5cqw);isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 2px 4px rgba(60,40,10,.06),0 18px 40px -18px rgba(60,40,10,.35);transition:translate .7s var(--ex),box-shadow .7s var(--ex)}
.b4::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(201,160,90,.55);z-index:3;pointer-events:none}
.b4:hover{translate:0 -5px;box-shadow:0 2px 4px rgba(60,40,10,.06),0 30px 56px -22px rgba(60,40,10,.45)}
.b4>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.04);transition:transform 1.6s var(--ex)}
.b4:hover>img{transform:scale(1.09)}
.b4-body{position:relative;padding:max(16px,1.55cqw) max(18px,1.7cqw) max(18px,1.7cqw);display:grid;grid-template-columns:1fr auto;column-gap:14px;align-items:end;z-index:1}
.b4 .tag{grid-column:1;font:600 max(10px,.626cqw)/1.2 'General Sans';letter-spacing:.2em;text-transform:uppercase;opacity:.95}
.b4 h3{grid-column:1;font-family:Zodiak;font-weight:300;font-size:max(19.32px,1.638cqw);letter-spacing:-.015em;margin:.35em 0 .25em;color:inherit;line-height:1.1}
.b4 p{grid-column:1;font-size:max(11.96px,.828cqw);line-height:1.45;opacity:.92;max-width:34ch}
.b4 .x-arrow{grid-column:2;grid-row:1/4;align-self:end;width:max(36px,2.8cqw);height:max(36px,2.8cqw)}
.b4-classes{grid-column:1;grid-row:1/5;background:#072122;border-radius:max(14px,1.5cqw) max(14px,1.5cqw) max(14px,1.5cqw) max(14px,1.5cqw)}
.b4-classes>img{height:70%;object-position:46% 70%}
.b4-classes::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,33,34,0) 46%,rgba(7,33,34,.6) 64%,#072122 76%)}
.b4-classes .b4-wave{position:absolute;left:0;right:0;bottom:25%;width:100%;height:16%;z-index:0}
.b4-classes .b4-wave .f{fill:#072122}.b4 .b4-wave .r{fill:none;stroke:#D9B26A;stroke-width:2;vector-effect:non-scaling-stroke}
.b4-classes h3{font-size:max(23.92px,2.3cqw)}
.b4-classes .x-arrow{background:var(--saffron)}
.b4-reading{grid-column:2/4;grid-row:1;color:var(--i0);background:#FBF7EE}
.b4-reading>img{height:72%;object-position:50% 38%}
.b4-reading .b4-wave{position:absolute;left:0;right:0;top:48%;width:100%;height:34%;z-index:0}
.b4-reading .b4-wave .f{fill:#FBF7EE}
.b4-reading .tag{color:var(--gtext)}.b4-reading p{color:var(--i1)}
.b4-reading .x-arrow.line{color:var(--gtext)}
.b4-ai{grid-column:2;grid-row:2;background:radial-gradient(120% 90% at 85% 10%,#0B6461,var(--deep) 60%);color:#F4EFE2}
.b4-aarambh{grid-column:2;grid-row:3;background:linear-gradient(150deg,#F2C163,var(--mustard) 55%,#E4A93E);color:#2A1904}
.b4-art{position:absolute;right:-6%;top:-14%;width:42%;height:auto;aspect-ratio:2/3;color:currentColor;opacity:.22;rotate:-14deg;transition:rotate 1.4s var(--ex)}
.b4:hover .b4-art{rotate:-6deg}
.b4-aarambh .b4-art{opacity:.34;color:#fff}
.b4-aarambh .go{grid-column:1;display:inline-flex;align-items:center;gap:6px;margin-top:.6em;font-weight:600;font-size:max(11.5px,.791cqw);border-bottom:1.5px solid rgba(42,25,4,.4);padding-bottom:2px;justify-self:start}
.b4-aarambh .go .ic{width:14px;height:14px}
.b4-sanskar{grid-column:3;grid-row:2/4}
.b4-sanskar>img{object-position:50% 25%}
.b4-sanskar::after,.b4-vatika::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,33,34,0) 40%,rgba(7,33,34,.86))}
.b4-vatika{grid-column:2/4;grid-row:4}
.b4-vatika>img{object-position:50% 58%}

/* ---------- Dr. Ashu: the arch plate ---------- */
.ps-ash{background:#0B2F2E;color:var(--p2)}
.ash-photo{object-position:50% 16%;background:#F4EFE4}
.ps-ash .ash-rays{position:absolute;left:0;top:0;width:40%;height:100%;z-index:2;background:repeating-linear-gradient(112deg,rgba(255,236,190,0) 0 70px,rgba(255,236,190,.06) 90px,rgba(255,236,190,0) 130px);mix-blend-mode:screen;pointer-events:none;animation:rays 14s ease-in-out infinite alternate}
.ash-tag{width:auto!important;background:linear-gradient(160deg,#F0C46A,#D9A646);color:#1E1404;border-radius:max(10px,.9cqw);padding:max(9px,.8cqw) max(14px,1.3cqw);box-shadow:0 16px 36px -16px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,245,215,.7);border:1px solid rgba(255,240,200,.5)}
.ash-tag b{display:block;font-family:Zodiak;font-weight:400;font-size:max(14.72px,1.242cqw);line-height:1.1}
.ash-tag span{font:600 max(9.5px,.607cqw)/1.3 'General Sans';letter-spacing:.18em;text-transform:uppercase}
.ps-ash .ashu-kicker{font-size:max(10.5px,.662cqw);color:var(--g1);gap:8px}
.ash-h{color:#F4EFE2;font-size:max(27.6px,2.944cqw)!important}
.ash-h span{display:block;color:#E9C77E}
.ash4-cards{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:max(10px,1cqw);margin:max(18px,1.9cqw) 0 max(18px,1.8cqw)}
.ash4-cards li{position:relative;border-radius:max(12px,1.1cqw);padding:max(14px,1.3cqw) max(14px,1.3cqw) max(42px,3.6cqw);box-shadow:0 20px 40px -24px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.35);transition:translate .6s var(--ex)}
.ash4-cards li:hover{translate:0 -4px}
.ash4-cards .x1{background:linear-gradient(160deg,#EDBB5B,#DCA445);color:#2A1904}
.ash4-cards .x2{background:linear-gradient(160deg,#2DA398,#23867D);color:#F6F1E4}
.ash4-cards .x3{background:#F6F1E4;color:var(--i0)}
.ash4-cards .xi{font-family:Zodiak;font-size:max(11px,.736cqw);opacity:.75}
.ash4-cards b{display:block;font-family:Zodiak;font-weight:400;font-size:max(15.64px,1.334cqw);letter-spacing:-.012em;margin:.7em 0 .35em;line-height:1.12}
.ash4-cards p{font-size:max(11.5px,.773cqw);line-height:1.45;opacity:.9}
.ash4-cards .ic{position:absolute;left:max(14px,1.3cqw);bottom:max(12px,1.1cqw);width:max(20px,1.6cqw);height:max(20px,1.6cqw);opacity:.75}
.ps-ash .x-btn{height:max(48px,3.6cqw);font-size:max(13.34px,.966cqw)}
.ps-ash .note{font-size:max(11.5px,.791cqw);color:rgba(244,239,226,.62)}
.ps-ash .ash-tour{margin-top:0;background:#072A2C;border-top:1px solid rgba(217,178,106,.4)}

/* ---------- inner pages: shared ---------- */
.ps-copy .num{display:block;font-family:Zodiak;font-style:italic;font-size:max(12.88px,.92cqw);color:var(--gtext);margin-bottom:.6em}
.ps-copy h2{font-family:Zodiak;font-weight:300;font-size:max(29.44px,3.312cqw);line-height:1.04;letter-spacing:-.024em;color:var(--i0);margin-bottom:max(14px,1.2cqw)}
.ps .x-specs{max-width:100%;margin-top:max(18px,1.8cqw)}
.ps .x-specs span{font-size:max(10.5px,.681cqw)}
.ps .x-specs b{font-size:max(12.88px,.938cqw)}
.ps .lv4{max-width:100%;margin-top:max(16px,1.6cqw);gap:max(10px,1cqw)}
.ps .lv4 li{padding:max(12px,1.1cqw) max(14px,1.3cqw);background:rgba(255,255,255,.88);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ps .lv4 b{font-size:max(13.8px,1.15cqw)}
.ps .lv4 small{font-size:max(11.04px,.782cqw)}
.ps .lv4 li{position:relative;padding-right:max(46px,3.6cqw)}
.ps .lv4 li::after{content:"";position:absolute;right:max(12px,1cqw);bottom:max(12px,1cqw);width:max(24px,1.9cqw);height:max(24px,1.9cqw);border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--g0);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12h10M13 7.5 17.5 12 13 16.5' fill='none' stroke='%238A6420' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/62% no-repeat}
.ps-hero{padding-top:0}
.ps-hero h1{font-family:Zodiak;font-weight:300;font-size:max(34.96px,4.048cqw);line-height:1.02;letter-spacing:-.03em;color:var(--i0);margin:max(12px,1cqw) 0 max(14px,1.3cqw)}
.ps-hero h1 em{color:var(--t0)}
.ps-hero .ps-crumbs{display:flex;gap:10px;margin-top:max(18px,1.6cqw);font-size:max(11.96px,.828cqw);color:var(--i2)}
.ps-hero .ps-crumbs a{color:var(--t0);font-weight:500}
.ps-mirror .ps-plate{transform:scaleX(-1)}

/* photo frames inside plates: our real photo sits under the plate's gold frame */
.pf-photo{object-position:50% 40%}

/* ---------- strip of five ---------- */
.ps-strip .ps-photo{object-position:50% 40%}

/* ---------- tablets ---------- */
@media (max-width:1180px) and (min-width:861px){
  .ps-body{font-size:13.34px;line-height:1.6}
  .ash4-cards p{display:none}
  .ash4-cards li{padding-bottom:max(40px,3.4cqw)}
}

/* ---------- phones: art first, words below ---------- */
@media (max-width:860px){
  .ps-stage{aspect-ratio:auto;display:flex;flex-direction:column;container-type:normal}
  .ps-art{position:relative;inset:auto;width:calc(var(--ms,1.6)*100%);aspect-ratio:var(--ar);margin-left:calc(var(--mo,0)*-1%);flex:none}
  .ps-box{position:relative;left:auto;top:auto;width:auto;height:auto!important;padding:0 var(--pad) 34px}
  .ps-box:last-child{padding-bottom:64px}
  .ps-bg .ps-art{position:absolute;inset:0;width:100%;height:100%;margin:0;aspect-ratio:auto}
  .ps-bg .ps-plate{object-fit:cover;object-position:var(--mpos,70% 50%)}
  .ps-bg .ps-stage{padding-top:64px}
  .ps-h1{font-size:clamp(31.28px,9.2vw,42.32px)}
  .ps-h2,.ps-copy h2,.ash-h{font-size:clamp(25.76px,7.728vw,34.96px)!important}
  .ps-body,.ps-lead{font-size:14.72px}
  .x-eyebrow{font-size:11.04px!important}
  .ps-facts{max-width:none}.ps-facts dt{font-size:19.32px}.ps-facts dd{font-size:11.5px}
  .hab-cst{max-width:440px;margin:0 auto;padding-top:8px}
  .hab-cst .cst-node{--d:clamp(62px,18vw,80px)}
  .hab-cst .cst-node span{font-size:10.5px}.hab-cst .cst-node .ic{width:19px;height:19px}
  .hab-cst .cst-hub{--h:clamp(110px,30vw,140px)}
  .ps-mis-text{font-size:17.48px}
  .ps-verse .sa{font-size:clamp(23.92px,7.176vw,33.12px)}
  .acts-mark{display:none}
  .bx4{display:flex;flex-direction:column;gap:14px}
  .b4{min-height:250px}.b4-classes{min-height:440px}.b4-reading{min-height:330px}.b4-sanskar{min-height:360px}
  .b4 h3{font-size:22.08px}.b4 p{font-size:12.88px}.b4 .tag{font-size:10.5px}
  .ash-tag{position:absolute;left:8%;top:auto;bottom:auto;padding:9px 14px}
  .ps-ash .ash-tag{margin-top:-74px;align-self:flex-start;margin-left:6%;position:relative}
  .ash4-cards{grid-template-columns:1fr}
  .ash4-cards li{padding:16px 16px 16px 56px}
  .ash4-cards .ic{left:16px;top:18px;bottom:auto}
  .ash4-cards b{margin-top:4px;font-size:17.48px}.ash4-cards p{font-size:12.88px}
  .ps-hero h1{font-size:clamp(33.12px,9.568vw,46px)}
  .ps .lv4{grid-template-columns:1fr}
  .ps .x-specs b{font-size:13.8px}
}

@media (max-width:860px){
  .ps-mis .ps-art{--ms:2.3;--mo:128}
  .ps-teach .ps-art{--ms:2;--mo:98}
  .ps-ash .ps-art{--ms:2.05;--mo:2}
  .ps-hab{--mpos:78% 50%}
  .ps-acts{--mpos:20% 30%}
  .ps-teach .ps-stage{flex-direction:column-reverse}
  .ps-teach .ps-box{padding-top:64px}
}

/* joins: the next plate rises over the last one and fades in, so the painted world reads as one surface */
@media (min-width:861px){
  .ps-mis{margin-top:-6vw;background:transparent}
  .ps-teach{margin-top:-4vw;background:transparent}
  .ps-acts{margin-top:-5vw;background:transparent}
  .ps-mis .ps-art{-webkit-mask-image:linear-gradient(transparent,#000 9%);mask-image:linear-gradient(transparent,#000 9%)}
  .ps-teach .ps-art{-webkit-mask-image:linear-gradient(transparent,#000 7%);mask-image:linear-gradient(transparent,#000 7%)}
  .ps-acts .ps-art{-webkit-mask-image:linear-gradient(transparent,#000 6%);mask-image:linear-gradient(transparent,#000 6%)}
}
.cst-lines circle.faint{fill:none}

.ps-ash{padding:0!important}

/* plain sections dressed in the same painted paper */
.bgp{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.bgp .ps-plate{object-fit:cover}
.bgp-give .ps-plate{width:150%;max-width:none}
.x-journey,.x-map,.insp,.give{background:#FBF7EC}
.give{background:#163A2E}
.give .x-wave.top .fill{fill:#163A2E}
.x-journey>.wrap,.x-journey>.track,.x-map>.wrap,.insp>.wrap,.give>.wrap{position:relative;z-index:2}

/* ---------- inner page plates ---------- */
.ps.page-hero{padding:0;background:#FBF7EC}
.ps.page-hero::before{display:none}
.ps-hero .x-eyebrow.kicker{margin-bottom:0}
.ps-hero h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ps-hero h1 .ln>span{display:inline-block}
.ps-ahero .ph-glow{position:absolute;left:55%;top:18%;width:30%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,236,170,.45),rgba(255,236,170,0) 70%);mix-blend-mode:screen;z-index:2;animation:glow 6s ease-in-out infinite alternate}
.ps-who,.ps-ch01,.ps-prog,.ps-strip{background:#FBF7EC}
.ps-who .ps-copy h2{max-width:16ch}
.ps .feat4{max-width:100%;margin-top:max(18px,1.8cqw)}
.ps .feat4 .ic{width:max(26px,2.1cqw);height:max(26px,2.1cqw)}
.ps .feat4 span{font-size:max(10px,.662cqw)}
.ps .ledger3{margin-top:max(16px,1.6cqw)}
.ps .ledger3 li{font-size:max(12.42px,.874cqw);padding:max(10px,.8cqw) 0;grid-template-columns:max(120px,9cqw) 1fr}
.ps .ledger3 li span{font-size:max(10px,.644cqw)}
.ps .steps4{gap:max(12px,1.2cqw);margin-top:max(18px,1.8cqw)}
.ps .steps4 i{width:max(48px,3.9cqw);height:max(48px,3.9cqw)}
.ps .steps4 li{width:max(64px,5.4cqw)}
.ps .steps4 span{font-size:max(11.04px,.791cqw)}
.ps-story{position:relative;background:#FBF7EC}
.ps-story>.wrap,.ps-story>.thread{position:relative;z-index:2}
.ps-story .thread{position:absolute}
.ph-cst{aspect-ratio:1}
.ph-cst .cst-programs .cst-hub{--h:max(110px,11cqw)}
.ph-cst .cst-node.sm{--d:max(52px,4.4cqw)}
.ph-cst .cst-node.sm span{font-size:max(11.96px,.966cqw)}
.ps-prog .ps-copy .ctas{margin-top:max(18px,1.8cqw);display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ps-prog .note{font-size:max(11.96px,.828cqw);color:var(--i2)}
@media (min-width:861px){
  .ps-prog+.ps-prog,.ps-strip+.ps-prog,.ps-prog+.ps-strip,.ps-who,.ps-ch01{margin-top:-3vw}
  .ps-prog+.ps-prog .ps-art,.ps-strip+.ps-prog .ps-art,.ps-prog+.ps-strip .ps-art,.ps-who .ps-art,.ps-ch01 .ps-art{-webkit-mask-image:linear-gradient(transparent,#000 5%);mask-image:linear-gradient(transparent,#000 5%)}
  /* Sanskar Path sits over the photo strip, so its leaf frame keeps its tip; only its last edge fades */
  .ps-over{z-index:2}
  .ps-over+.ps-strip{margin-top:-1vw;background:#FBF7EC}
  .ps-over+.ps-strip .ps-art{-webkit-mask-image:linear-gradient(transparent,#000 16%);mask-image:linear-gradient(transparent,#000 16%)}
  .ps-prog+.ps-over .ps-art{-webkit-mask-image:linear-gradient(transparent,#000 5%,#000 98.2%,transparent);mask-image:linear-gradient(transparent,#000 5%,#000 98.2%,transparent)}
}
@media (max-width:860px){
  .ps-ahero .ps-art{--ms:1.75;--mo:72}
  .ps-ch01 .ps-art{--ms:1.7;--mo:62}
  .ps-acthero .ps-art{--ms:1.9;--mo:90}
  .ps-who{--mpos:0% 100%}
  .ph-cst{max-width:380px;margin:0 auto;width:100%!important}
  .ps .feat4{grid-template-columns:1fr 1fr;row-gap:16px}
  .ps .ledger3 li{grid-template-columns:1fr}
  .ps-strip .ps-stage{display:block}
}

.x-ph>.bgp~.wrap,.x-ph .ph-grid{position:relative;z-index:2}
.values3,.ongoing3,.past3,.ways3,.officers3{background:#FBF7EC}

.bgp.m-only{display:none}
@media (max-width:860px){
  .ps-bg .bgp.m-only{display:block}
  .ps-bg .ps-stage>.ps-art{display:none}
  .ps-bg .ps-stage{position:relative;z-index:1}
  .ps-ash .ash-tag{margin-top:-70px;margin-bottom:26px;z-index:4}
  .ps-strip .ps-art{--ms:1.75;--mo:37}
}

.ash-after{background:#0B2F2E;position:relative;z-index:2;padding-top:8px}
.ash-after .ash-dates{margin-top:clamp(40px,4vw,64px)}

/* activities hero, to the reference: large gold ringed program discs round the medallion */
.ps-acthero h1{font-size:max(36.8px,5.06cqw);font-weight:400;letter-spacing:-.04em;line-height:.98}
.ps-acthero .ps-lead{font-size:max(14.72px,1.27cqw);max-width:40ch}
.ph-cst .cst-lines path{stroke:#C9A15C;stroke-width:1.6;opacity:1}
.ph-cst .cst-lines .bead{fill:#C9A15C}
.ph-cst .cst-programs .cst-hub{--h:max(130px,10cqw);background:radial-gradient(circle,#FFFDF6 0,#FBF3DD 60%,rgba(251,243,221,0) 74%)}
.ph-cst .cst-programs .cst-hub::before{inset:16%;border:3px solid #CDA35A;box-shadow:0 0 0 5px #FFF9EA,0 0 0 6.5px rgba(189,145,78,.55),0 16px 30px -12px rgba(120,80,20,.45),inset 0 0 18px rgba(201,161,92,.35);opacity:1;background:radial-gradient(circle at 50% 38%,#FFFFFF,#F6EDD8)}
.ph-cst .cst-programs .cst-hub::after{display:none}
.ph-cst .cst-medal{width:40%;z-index:1;filter:drop-shadow(0 6px 8px rgba(10,60,50,.35))}
.cst-node.pg{--d:max(54px,4.1cqw);background:radial-gradient(circle at 50% 30%,#FFFFFF,#F8F0DE 78%);color:var(--i0);
  box-shadow:0 0 0 2px #D2AB66,0 0 0 4px #FFF8E8,0 0 0 5px rgba(189,145,78,.55),0 12px 24px -10px rgba(110,75,20,.45);transition:translate .5s var(--ex),box-shadow .5s var(--ex)}
.cst-node.pg:hover{translate:0 -3px;box-shadow:0 0 0 2px #C9A15C,0 0 0 4px #FFF8E8,0 0 0 5px #BD914E,0 18px 30px -12px rgba(110,75,20,.55)}
.cst-node.pg .ic{width:46%;height:46%;stroke-width:1.5;color:#1D2A24}
.cst-node.pg span{position:absolute;left:50%;translate:-50% 0;white-space:nowrap;max-width:none;font-family:Zodiak;font-weight:400;font-size:max(11.96px,1.03cqw);color:var(--i0);letter-spacing:-.005em}
.cst-node.pg.top span{bottom:calc(100% + .7em)}
.cst-node.pg.bot span{top:calc(100% + .75em)}
@media (max-width:860px){
  .ps-acthero .ps-art{--ms:1.6;--mo:60}
  .ph-cst{max-width:420px;margin:0 auto 40px;width:100%!important}
  .cst-node.pg{--d:54px}.cst-node.pg span{font-size:11.96px}
  .ph-cst .cst-programs .cst-hub{--h:120px}
}

/* scale to the reference: program sections and the activities hero */
@media (min-width:861px){
  .ps-acthero h1{font-size:5.704cqw}
  .ps-acthero .ps-lead{font-size:1.38cqw}
  .ps-acthero .x-eyebrow{font-size:.874cqw!important}
  .cst-node.pg{--d:4.9cqw}
  .cst-node.pg span{font-size:1.214cqw}
  .ph-cst .cst-programs .cst-hub{--h:12cqw}
  .ps-prog .ps-copy .num{font-size:1.15cqw}
  .ps-prog .ps-copy h2{font-size:4.14cqw}
  .ps-prog .ps-body{font-size:1.251cqw;line-height:1.62;max-width:none}
  .ps-prog .x-specs{margin-top:2.2cqw}
  .ps-prog .x-specs span{font-size:.828cqw}
  .ps-prog .x-specs b{font-size:1.214cqw}
  .ps-prog .x-specs>div{padding-top:1.3cqw}
  .ps-prog .lv4{gap:1.1cqw;margin-top:2cqw}
  .ps-prog .lv4 li{padding:1.4cqw 3.6cqw 1.4cqw 1.6cqw;border-radius:1.1cqw}
  .ps-prog .lv4 .lv{font-size:.782cqw}
  .ps-prog .lv4 b{font-size:1.306cqw;margin:.6em 0 .5em}
  .ps-prog .lv4 small{font-size:.92cqw}
  .ps-prog .lv4 li::after{width:2.2cqw;height:2.2cqw;right:1.2cqw;bottom:1.2cqw}
  .ps-prog .x-btn{height:3.9cqw;font-size:1.058cqw}
}
.cst-programs a.cst-node.pg:nth-of-type(4) span{left:-.4em;translate:0 0}
.cst-programs a.cst-node.pg:nth-of-type(5) span{left:auto;right:-.4em;translate:0 0}

/* constellation pulses: small gold beads travelling hub to disc */
.cst-lines .pulse{r:.75px;fill:#C9A15C}
.cst-lines .pulse-glow{r:2.1px;fill:#E9C77E;opacity:.35}
.cst-programs a.cst-node.pg:nth-of-type(3) span{left:auto;right:-.2em;translate:0 0}

/* bento, matched to the reference */
.ps-acts .ps-plate{object-fit:cover}
.ps-acts .ps-h1{font-size:max(33.12px,5.52cqw)}
.ps-acts .acts-head .ps-lead{font-size:max(14.72px,1.472cqw)}
.ps-acts .acts-mark-leaf{width:max(56px,6.6cqw);height:max(84px,9.9cqw)}
.ps-acts .acts-mark p{font-size:max(10px,.966cqw);line-height:2.35}
.bx4{grid-template-columns:1.16fr 1fr 1fr;grid-template-rows:1.3fr 1.02fr .78fr .98fr;gap:max(12px,1.35cqw)}
.b4::before{box-shadow:inset 0 0 0 1.5px rgba(214,176,106,.75)}
.b4 .tag{font-size:max(10px,.754cqw)}
.b4 h3{font-size:max(19.32px,2.07cqw)}
.b4 p{font-size:max(11.96px,1.03cqw)}
.b4 .x-arrow{width:max(36px,3.3cqw);height:max(36px,3.3cqw)}
.b4-body{padding:max(16px,2cqw) max(18px,2.2cqw) max(18px,2.2cqw)}
.b4-classes{border-radius:max(40px,8cqw) max(40px,8cqw) max(14px,1.6cqw) max(14px,1.6cqw)}
.b4-classes>img{height:76%;object-position:44% 60%}
.b4-classes::after{background:linear-gradient(180deg,rgba(7,33,34,0) 56%,rgba(7,33,34,.55) 70%,#072122 80%)}
.b4-classes .b4-wave{bottom:20%;height:12%}
.b4-classes h3{font-size:max(23.92px,2.852cqw)}
.b4-classes .x-arrow{width:max(42px,3.9cqw);height:max(42px,3.9cqw)}
.b4-reading>img{height:66%}
.b4-reading .b4-wave{top:40%;height:30%}
.lv3.fg{z-index:5}

.ph-cst .cst-medal{width:52%}
@media (min-width:861px){.ph-cst .cst-programs .cst-hub{--h:13.5cqw}}

/* ===== scale pass: every plate section set to the reference's own type and component sizes (measured at 1440) ===== */
@media (min-width:861px){
  .ps .x-eyebrow{font-size:.828cqw!important}
  .ps-h2,.ps-copy h2{font-size:3.772cqw}
  .ps-body{font-size:1.306cqw;line-height:1.6;max-width:none}
  .ps-lead{font-size:1.334cqw;max-width:none}
  .ps-hero h1{font-size:5.152cqw}
  /* home about */
  .hab-copy .ps-h2{font-size:3.864cqw}
  .ps-facts dt{font-size:1.978cqw}.ps-facts dd{font-size:.966cqw}
  .hab-cst .cst-node{--d:8.6cqw;gap:.4cqw}
  .hab-cst .cst-node .ic{width:2.2cqw;height:2.2cqw}
  .hab-cst .cst-node span{font-family:Zodiak;font-weight:400;font-size:.938cqw}
  .hab-cst .cst-hub{--h:15cqw}
  .hab-cst .cst-hub img{width:58%}
  .hab-cst .cst-cap{font-size:.828cqw}
  /* mission, teach */
  .ps-mis-text{font-size:1.886cqw}
  .teach-copy .ps-h2{font-size:4.048cqw}
  .ps-verse .sa{font-size:3.312cqw}.ps-verse .ro{font-size:1.38cqw}.ps-verse figcaption{font-size:1.012cqw}
  /* Dr. Ashu */
  .ash-h{font-size:3.772cqw!important}
  .ps-ash .ps-body{font-size:1.251cqw}
  .ps-ash .ashu-kicker{font-size:.754cqw}
  .ash4-cards b{font-size:1.61cqw}.ash4-cards p{font-size:.92cqw}
  .ash-tag b{font-size:1.518cqw}.ash-tag span{font-size:.736cqw}
  .ps-ash .x-btn{height:4.2cqw;font-size:1.104cqw;padding:0 1.8cqw 0 2.2cqw}
  .ps-ash .note{font-size:.92cqw}
  .ash-tour .tour-track{font-size:2.116cqw}
  /* about */
  .ps .feat4 .ic{width:2.9cqw;height:2.9cqw}
  .ps .feat4 span{font-size:.846cqw}
  .ps .ledger3 li{font-size:1.086cqw;padding:1.05cqw 0}
  .ps .ledger3 li span{font-size:.791cqw}
  .ps-ch01 .ps-copy h2{font-size:2.944cqw}
  .ps .steps4 i{width:5.4cqw;height:5.4cqw}
  .ps .steps4 i .ic{width:2.1cqw;height:2.1cqw}
  .ps .steps4 li{width:6.6cqw}
  .ps .steps4 span{font-size:.994cqw}
  /* programs */
  .ps-prog .ps-copy h2{font-size:4.784cqw;font-weight:400;letter-spacing:-.035em}
  .ps-prog .ps-body{font-size:1.426cqw}
  .ps-prog .x-specs span{font-size:.92cqw}.ps-prog .x-specs b{font-size:1.334cqw}
  .ps-prog .ps-copy .num{font-size:1.242cqw}
}
@media (min-width:861px){
  .ps-ch01 .ps-copy h2{font-size:2.668cqw}
  .ps-ch01 .ps-body{font-size:1.104cqw}
  .ps .steps4{gap:.9cqw}.ps .steps4 i{width:4.6cqw;height:4.6cqw}.ps .steps4 li{width:5.6cqw}
}
/* chapter 01: the reference keeps the left of the scene washed in window light behind the words */
.ps-ch01 .ps-art::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(251,247,236,.94) 0,rgba(251,247,236,.86) 30%,rgba(251,247,236,0) 46%)}
@media (min-width:861px){.ps-ch01 .ps-copy{--w:29}.ps-ch01 .steps4 li{width:5cqw}.ps-ch01 .steps4 span{font-size:.874cqw}}
@media (max-width:860px){.ps-ch01 .ps-art::after{display:none}}

/* ================================================================
   Phone pass (iOS first, Android): layout fixes from the user's
   device screenshots, plus GPU hints that keep every effect intact.
   ================================================================ */

/* no dash before labels anywhere: the short rule read as a hyphen */
.x-eyebrow::before,.kicker::before{display:none!important}
.x-eyebrow,.kicker{gap:0!important}

/* nothing may push the page wider than the screen */
html,body{overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
.ch-frame .ch-sprig.r{right:-6%}

/* smoothness without changing the look: moving layers get their own GPU layer,
   (no paint containment: waves and leaves are meant to cross section edges) */
.lv3,.fall3,.ps-plate,.mis-sweep,.ash-rays,.ph-glow,.tour-track{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}

@media (max-width:860px){
  /* ---------- nav: one slim line, bigger mark, smaller name ---------- */
  .nav{gap:10px;padding:6px 14px;padding-top:max(6px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));min-height:60px}
  .brand{gap:10px;min-width:0;flex:1 1 auto}
  .brand-mark3{height:44px;width:auto}
  .brand b{font-size:15.64px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}
  .menu{width:44px;height:44px;flex:none}
  .menu i{width:20px}
  .sheet{padding-top:max(84px,calc(env(safe-area-inset-top) + 72px))}

  /* ---------- inner heroes start below the nav ---------- */
  .ps.page-hero{padding-top:60px}
  .ps.page-hero .ps-stage{padding-top:0}
  .x-ph{padding-top:60px!important}
  .x-ph .ph-plate,.ph-involved .ph-plate,.ph-about .ph-plate{position:relative;width:100%!important;height:74vw;max-height:440px;margin:0!important;right:auto;top:auto;bottom:auto;
    -webkit-mask-image:linear-gradient(#000 62%,transparent);mask-image:linear-gradient(#000 62%,transparent)}
  .ph-involved .ph-plate img{object-position:72% 50%}
  .x-ph .ph-grid,.ph-involved .ph-grid{margin-top:-18px!important}

  /* ---------- home: who learns with us, full width and evenly spaced ---------- */
  .hab-cst{width:100%!important;max-width:420px;margin:6px auto 0!important;padding:0 18px 56px!important}
  .hab-cst .cst-people{width:100%}
  .hab-cst .cst-node{--d:clamp(70px,21vw,88px)!important;gap:3px}
  .hab-cst .cst-node .ic{width:19px!important;height:19px!important}
  .hab-cst .cst-node span{font-size:10px!important;line-height:1.15;max-width:86%}
  .hab-cst .cst-hub{--h:clamp(104px,28vw,128px)!important}
  .hab-cst .cst-hub img{width:52%}

  /* labels: no huge facts on phones */
  .ps-facts dt{font-size:18.4px!important}
  .ps-facts dd{font-size:11.5px!important}

  /* ---------- activities hero circle on phones ---------- */
  .ph-cst{width:100%!important;max-width:400px;margin:0 auto 48px!important;padding:24px 34px 0!important}
  .ph-cst .cst-programs{width:100%}

  /* ---------- timeline: pinned and moved sideways by the scroll, as on desktop ---------- */
  .x-journey .track{overflow:hidden;touch-action:pan-y pinch-zoom}

  /* ---------- donate: the card (and the EIN line) clears the cream wave below ---------- */
  .give{padding-bottom:clamp(150px,40vw,190px)}

  /* iOS: tap feedback without the grey flash, no accidental text zoom */
  a,button{-webkit-tap-highlight-color:transparent}
  }
@media (max-width:380px){
  .brand b{font-size:14.26px}
  .brand-mark3{height:40px}
  .hab-cst .cst-node{--d:66px!important}
  .hab-cst .cst-node span{font-size:9.5px!important}
}

/* Access: touch targets, phone text sizes, keyboard and reduced motion. Last in the cascade.
   Two blocks sit in a cascade layer because several older sizes carry !important: an !important declaration in a
   layer outranks every unlayered one, so these win without a specificity race. */

/* keyboard: anchors and focused controls land below the fixed nav, and a skip link leads past it */
html { scroll-padding-top: 72px; }
.skip { position: fixed; left: 12px; top: -60px; z-index: 40; padding: 12px 18px; border-radius: 10px;
  background: var(--nightBg); color: var(--cream); font-weight: 600; font-size: 14px; }
.skip:focus { top: 12px; }

/* the phone menu: the current page is marked, and on short landscape screens the list starts below the nav and scrolls */
.sheet nav a[aria-current="page"] { color: var(--gold2); }
@media (max-height: 500px) { .sheet { justify-content: flex-start; overflow-y: auto; } }

/* reduced motion: the timeline becomes a strip the visitor swipes; the hint to scroll the leaves aside goes away */
.x-journey .track.swipe { overflow-x: auto; touch-action: pan-x pan-y pinch-zoom; }
@media (prefers-reduced-motion: reduce) { .hero-hint .m { display: none !important; } }
.tour-track:hover { animation-play-state: paused; }

/* legal and address text keeps its own form inside uppercase labels */
.nc { text-transform: none; }

@layer access {
  /* touch screens, also landscape phones wider than 860 px that get the desktop layout: small links get a larger,
     invisible tap area; their look and the layout stay exactly as drawn */
  @media (max-width: 860px), (pointer: coarse) {
    .ps-crumbs a, .ph-crumbs a, .foot-grid a, .text-link, .x-link, main p a[href^="mailto:"],
    .nav .brand, .links a, .nav .pill { position: relative !important; }
    .ps-crumbs a::before, .ph-crumbs a::before, .foot-grid a::before, .text-link::before, .x-link::before,
    main p a[href^="mailto:"]::before {
      content: "" !important; position: absolute !important; inset: -14px -6px !important;
    }
    .links a::before { content: "" !important; position: absolute !important; inset: -8px -6px !important; }
    .nav .brand::before, .nav .pill::before { content: "" !important; position: absolute !important; inset: -4px 0 !important; }
    main p a[href^="mailto:"] { z-index: 1 !important; }        /* above the tap area of the link that follows it */
    .sheet nav a { min-height: 44px !important; }
  }

  /* phones: no text under 12 px. The names inside the constellation circles and the city names on the America map
     keep their drawn size: they are labels in a drawing, and the same names are written out in the text beside it */
  @media (max-width: 860px) {
    .kicker, .x-eyebrow, .ashu-kicker, .hero-hint, .ps-crumbs,
    .ash-tag span, .feat4 span, .ledger3 span, .x-specs span, .steps4 span,
    .event-chip small, .give small, .foot-brand small, .foot-small, .foot-grid span,
    .b4 .tag, .b4-body p, .b4-body .go, .cst-cap, .xi, .ash-ctas .note, .ctas .note,
    .stops time, .g figcaption, .ps-facts dd, .v3 .k,
    .x-card .lv, .x-card small, .x-card time, .pe-head time, .x-label { font-size: 12px !important; }
    .ps .ledger3 li { font-size: 13.8px !important; }             /* the value stays larger than its raised label */
  }
}
