@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&family=Space+Mono:wght@400;700&display=swap");
:root{--cream:#f4f0e7;--ink:#29231e;--olive:#4b5f3e;--brown:#5a3d2d;--accent:#c47d67;--muted:#746c62;--line:#d8d0c2;--white:#fbf8f0;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"Space Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.site-header{position:sticky;top:0;z-index:50;background:rgba(244,240,231,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-wrap{height:74px;max-width:1440px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center}.brand img{width:42px;height:42px;object-fit:contain}.brand strong{display:block;font-size:13px;letter-spacing:.06em}.brand small{display:block;margin-top:4px;color:var(--muted);font:9px var(--mono);letter-spacing:.2em}.desktop-nav{display:flex;gap:34px;margin-left:auto;margin-right:40px}.desktop-nav a{font-size:12px;color:var(--muted);position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:.25s}.desktop-nav a:hover:after{transform:scaleX(1)}.donate-nav,.solid-link{display:inline-flex;align-items:center;gap:10px;background:var(--olive);color:var(--white);padding:12px 18px;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.donate-nav{padding:10px 15px}.menu-button{display:none;background:none;border:0;font-size:22px}.mobile-nav{padding:8px 20px 18px;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.mobile-donate{font-weight:700;color:var(--olive)}
.hero{display:grid;grid-template-columns:1.08fr .92fr;min-height:calc(100vh - 74px)}.olive{background:var(--olive);color:var(--white)}.hero-copy{padding:80px clamp(24px,5vw,72px) 52px;display:flex;flex-direction:column;justify-content:space-between}.eyebrow,.section-kicker,.tag,.number,.mono{font:10px var(--mono);letter-spacing:.15em;text-transform:uppercase}.eyebrow{color:#d6b09d;display:flex;align-items:center;gap:10px}.eyebrow span{display:inline-block;width:36px;height:1px;background:var(--accent)}h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0}h1{font-size:clamp(4rem,8.5vw,8.6rem);line-height:.9;letter-spacing:-.055em;margin-top:30px}h1 em,h2 em{font-style:italic}p{line-height:1.75}.hero-copy>p{max-width:540px;color:rgba(251,248,240,.73);font-size:16px;margin:32px 0 0}.hero-actions{display:flex;gap:22px;align-items:center;margin-top:34px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:11px;border-bottom:1px solid var(--accent);padding-bottom:7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}.text-link span{color:var(--accent);font-size:15px}.outline-link{border:1px solid rgba(251,248,240,.38);padding:11px 15px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.hero-foot{border-top:1px solid rgba(251,248,240,.2);padding-top:18px;margin-top:60px;display:flex;justify-content:space-between;color:rgba(251,248,240,.52);font-size:10px;line-height:1.65}.hero-foot span:last-child{text-align:right;text-transform:uppercase;letter-spacing:.12em}.hero-image{position:relative;min-height:520px;overflow:hidden;border-left:1px solid rgba(251,248,240,.2)}.hero-image img{width:100%;height:100%;object-fit:cover;display:block}.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(48,63,35,.04),rgba(48,63,35,.18) 50%,rgba(48,63,35,.88))}.hero-caption{position:absolute;left:40px;right:40px;bottom:36px;display:flex;flex-direction:column;gap:7px}.hero-caption .mono{color:rgba(251,248,240,.65)}.hero-caption strong{font:500 30px/1.1 var(--serif);max-width:330px}
.cream{background:var(--cream)}.intro{max-width:1440px;margin:auto;padding:105px 5vw;display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}.section-kicker{color:var(--accent)}.section-kicker.light{color:#d7aa93}.intro h2{font-size:clamp(2.5rem,4vw,4.2rem);line-height:1.05;margin-bottom:28px}.lead{font:500 clamp(1.7rem,3vw,2.7rem)/1.28 var(--serif);letter-spacing:-.025em;max-width:850px}.intro p:last-child{color:var(--muted);max-width:650px;font-size:15px}
.work{padding:95px 5vw 110px}.section-head{max-width:1440px;margin:0 auto 72px;display:grid;grid-template-columns:1fr .55fr;gap:80px;align-items:end}.section-head h2,.gallery-band h2,.places h2,.support h2,.connect h2{font-size:clamp(2.8rem,5vw,5.4rem);line-height:1;letter-spacing:-.04em;margin-top:16px}.section-head p{color:var(--muted);font-size:14px;max-width:420px}.initiative{max-width:1440px;margin:0 auto;padding:72px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;align-items:start}.initiative.reverse{grid-template-columns:1.3fr .7fr}.initiative.reverse .initiative-copy{grid-column:2;grid-row:1}.initiative.reverse .gallery,.initiative.reverse .book-gallery,.initiative.reverse .research-card{grid-column:1;grid-row:1}.initiative-copy{padding-top:4px}.number{color:var(--accent);margin-right:13px}.tag{color:var(--muted)}.initiative h3{font-size:clamp(2.6rem,4.2vw,4.5rem);line-height:.98;margin:22px 0 18px}.initiative-copy>p{max-width:430px;font-size:16px}.initiative-copy .small{font-size:12px;color:var(--muted);margin-top:25px;line-height:1.75}.gallery{display:grid;gap:10px}.gallery-three{grid-template-columns:1.4fr .8fr;grid-template-rows:240px 240px}.gallery-dastarkhan{grid-template-columns:1fr 1fr;grid-auto-rows:300px}.gallery-three .large{grid-row:span 2}.gallery-four{grid-template-columns:repeat(2,1fr);grid-auto-rows:250px}.gallery-four .wide{grid-column:span 2}.gallery-item,.field-grid button,.book-card{border:0;padding:0;cursor:pointer;background:#ddd;overflow:hidden;position:relative;display:block}.gallery-item img,.field-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease,filter .6s ease}.gallery-item:hover img,.field-grid button:hover img,.book-card:hover img{transform:scale(1.035);filter:saturate(1.04)}.gallery-item:focus-visible,.field-grid button:focus-visible,.book-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.book-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-items:stretch}.book-card{background:#e9e3d8;padding:18px}.book-card img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .5s}.research-card{min-height:430px;background:var(--brown);color:var(--white);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px}.research-mark{font:600 58px var(--serif);letter-spacing:-.04em}.research-card p{font:10px var(--mono);text-transform:uppercase;letter-spacing:.13em;color:#d8b4a3}.research-card .rule{height:1px;width:90px;background:var(--accent);margin:22px}.research-card small{color:rgba(251,248,240,.65)}
.gallery-band{padding:95px 5vw 105px}.gallery-band-head{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr .5fr;gap:80px;align-items:end}.gallery-band-head p{font-size:13px;color:rgba(251,248,240,.63);max-width:380px}.field-grid{max-width:1440px;margin:55px auto 0;display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-auto-rows:230px;gap:10px}.field-grid button:first-child{grid-row:span 2}.field-grid button:last-child{grid-column:2 / span 2}.field-grid button img{object-fit:cover}
.brown{background:var(--brown);color:var(--white);display:grid;grid-template-columns:1.05fr .95fr}.places-image{min-height:520px;overflow:hidden;background:radial-gradient(circle at 25% 25%,rgba(196,125,103,.28),transparent 35%),linear-gradient(135deg,#46573a,#31412b);display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(251,248,240,.55);font:10px var(--mono);letter-spacing:.16em;text-transform:uppercase;gap:18px}.place-mark{font:500 clamp(6rem,12vw,11rem)/.8 var(--serif);color:rgba(251,248,240,.88);letter-spacing:-.07em}.places-copy{padding:75px clamp(30px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.places h2{font-size:clamp(3rem,5vw,5rem)}.places p{max-width:510px;color:rgba(251,248,240,.67);font-size:15px;margin:32px 0}.place-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(251,248,240,.22);padding-top:18px;color:rgba(251,248,240,.78);font-size:12px}
.support{max-width:1440px;margin:auto;padding:100px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:90px}.support p{color:var(--muted);max-width:480px}.support .solid-link{margin-top:28px}
.connect{display:grid;grid-template-columns:1fr .55fr;gap:100px;padding:105px 5vw;max-width:1440px;margin:auto}.connect h2{font-size:clamp(3.5rem,6vw,6rem)}.connect>div>p{color:rgba(251,248,240,.65);max-width:460px;margin:30px 0}.connect-side{border-left:1px solid rgba(251,248,240,.22);padding:10px 0 10px 50px;align-self:end}.connect-side p{color:rgba(251,248,240,.62);font-size:13px;max-width:330px}.connect-side a{font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--accent);padding-bottom:7px}footer{max-width:1440px;margin:auto;padding:22px 5vw;display:flex;gap:30px;justify-content:space-between;color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em}
.lightbox{position:fixed;inset:0;background:rgba(19,23,16,.94);z-index:100;display:flex;align-items:center;justify-content:center;padding:35px}.lightbox[hidden]{display:none}.lightbox img{max-width:min(94vw,1200px);max-height:88vh;object-fit:contain;box-shadow:0 25px 70px rgba(0,0,0,.35)}.lightbox-close{position:absolute;top:16px;right:22px;border:0;background:none;color:white;font-size:40px;line-height:1;cursor:pointer}.lightbox-caption{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.65);font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em}.texture:after{content:"";pointer-events:none;position:absolute;inset:0;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
@media(max-width:900px){.desktop-nav{display:none}.donate-nav{display:none}.menu-button{display:block}.mobile-nav[hidden]{display:none}.hero{grid-template-columns:1fr}.hero-image{min-height:480px;border-left:0;border-top:1px solid rgba(251,248,240,.2)}.hero-copy{padding-top:55px}.intro,.support,.connect,.section-head,.gallery-band-head{grid-template-columns:1fr;gap:35px}.initiative,.initiative.reverse{grid-template-columns:1fr;gap:35px}.initiative.reverse .initiative-copy,.initiative.reverse .gallery,.initiative.reverse .book-gallery,.initiative.reverse .research-card{grid-column:auto;grid-row:auto}.initiative.reverse .initiative-copy{order:-1}.places{grid-template-columns:1fr}.places-image{min-height:380px}.connect-side{border-left:0;border-top:1px solid rgba(251,248,240,.22);padding:28px 0 0}.work{padding-top:70px}.section-head{margin-bottom:40px}}
@media(max-width:600px){.nav-wrap{height:66px;padding:0 18px}.hero-copy{padding:48px 20px 35px}.hero-image{min-height:390px}.hero-caption{left:20px;right:20px;bottom:22px}.hero-caption strong{font-size:25px}.hero-foot{margin-top:45px}.intro,.work,.gallery-band,.support,.connect{padding-left:20px;padding-right:20px}.intro{padding-top:70px;padding-bottom:70px}.work{padding-top:70px;padding-bottom:75px}.initiative{padding:55px 0}.gallery-three{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px}.gallery-four{grid-template-columns:1fr 1fr;grid-auto-rows:175px}.gallery-four .wide{grid-column:span 2}.book-gallery{grid-template-columns:1fr 1fr;gap:9px}.book-card{padding:9px}.book-card:first-child{grid-column:span 2}.academy-gallery{grid-template-columns:1fr 1fr}.academy-gallery .academy-feature{grid-column:span 2;min-height:250px}.field-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.field-grid button:first-child{grid-row:span 1}.field-grid button:last-child{grid-column:span 2}.places-copy{padding:65px 20px}.place-list{grid-template-columns:1fr}.place-list span{padding:7px 0;border-bottom:1px solid rgba(251,248,240,.12)}footer{padding:18px 20px}.lightbox{padding:15px}.lightbox img{max-width:96vw;max-height:82vh}.lightbox-caption{display:none}h1{font-size:clamp(3.5rem,17vw,5.5rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* --- Final visual pass: viewport-led editorial layout --- */
html{scroll-padding-top:74px}
.hero{min-height:calc(100svh - 74px);height:calc(100svh - 74px)}
.hero-image{height:100%;min-height:0}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.015);transition:opacity 1.1s ease,transform 6s ease}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-dots{position:absolute;right:40px;top:40px;display:flex;gap:7px;z-index:2}
.hero-dots span{width:5px;height:5px;border-radius:50%;background:rgba(251,248,240,.42);transition:.3s}
.hero-dots span.active{background:var(--accent);transform:scale(1.35)}

.intro{min-height:calc(100svh - 74px);padding-top:clamp(70px,9vh,120px);padding-bottom:clamp(70px,9vh,120px);align-items:center}
.intro-copy{max-width:900px}
.intro .section-kicker{align-self:start;padding-top:10px}

.work{padding-top:0;padding-bottom:0}
.section-head{min-height:calc(100svh - 74px);margin:0 auto;align-content:center;padding-top:8vh;padding-bottom:8vh}
.initiative{min-height:calc(100svh - 74px);padding:8vh 0;align-items:center}
.initiative-copy{align-self:center}
.initiative-copy>p{max-width:440px}
.gallery-dastarkhan{height:min(60vh,650px);grid-auto-rows:1fr}
.gallery-four{height:min(62vh,650px);grid-auto-rows:1fr}
.gallery-four .gallery-item img{object-position:center}
.space-gallery{height:min(62vh,650px);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.12fr .88fr;gap:10px}
.space-gallery .space-wide{grid-column:1 / -1}
.space-gallery .space-focus img{object-position:center}
.book-gallery{height:min(62vh,650px)}
.book-card{min-height:0}
.research-card{height:min(62vh,650px);min-height:0}
.academy-gallery{height:min(62vh,650px);grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:10px}
.academy-gallery .academy-award{grid-row:span 2}
.academy-gallery .academy-award img{object-position:center 54%}
.academy-gallery .academy-play img{object-position:center 54%}
.academy-gallery .academy-activity img{object-position:center 52%}
.academy-gallery .academy-kids img{object-position:center 58%}

.gallery-band{min-height:100svh;padding-top:8vh;padding-bottom:8vh;display:flex;flex-direction:column;justify-content:center}
.gallery-band-head{margin:0 auto;width:100%}
.field-grid{width:100%;margin:clamp(30px,5vh,55px) auto 0;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(250px,42vh,500px);gap:10px}
.field-grid>div{overflow:hidden;position:relative;background:#ddd}
.field-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease,filter .6s ease}
.field-grid>div:hover img{transform:scale(1.025);filter:saturate(1.04)}
.field-grid>div:nth-child(1) img{object-position:center 52%}
.field-grid>div:nth-child(2) img{object-position:center}
.field-grid>div:nth-child(3) img{object-position:center}
.field-grid>div:nth-child(4) img{object-position:center}

.places{min-height:100svh}
.places-image{min-height:100%;display:flex}
.place-mark{font-size:clamp(4rem,7vw,8rem);line-height:.88;text-align:center;max-width:720px}
.support{min-height:100svh;align-items:center}
.connect{min-height:calc(100svh - 70px);align-items:center}

/* No image lightbox on the initiatives page: the photographs are documentary panels, not a click-through gallery. */
.gallery-item,.field-grid button,.book-card{cursor:default}

@media(max-width:900px){
  .hero{height:auto;min-height:calc(100svh - 66px)}
  .hero-image{height:52svh;min-height:390px}
  .intro{min-height:calc(100svh - 66px)}
  .section-head{min-height:calc(100svh - 66px)}
  .initiative{min-height:calc(100svh - 66px);padding:7vh 0}
  .gallery-dastarkhan,.gallery-four,.space-gallery,.book-gallery,.research-card,.academy-gallery{height:min(56svh,600px)}
  .gallery-four{grid-auto-rows:1fr}
  .field-grid{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(220px,30svh)}
  .gallery-band{min-height:calc(100svh - 66px)}
  .places{min-height:auto}
  .places-image{min-height:46svh}
  .support,.connect{min-height:calc(100svh - 66px)}
}

@media(max-width:600px){
  .hero{min-height:auto}
  .hero-image{height:48svh;min-height:340px}
  .hero-dots{right:20px;top:20px}
  .intro{min-height:calc(100svh - 66px);padding-top:60px;padding-bottom:60px}
  .section-head{min-height:calc(100svh - 66px);padding-top:60px;padding-bottom:60px}
  .initiative{min-height:auto;padding:65px 0}
  .initiative-copy{padding-bottom:0}
  .gallery-dastarkhan,.gallery-four,.space-gallery,.book-gallery,.research-card,.academy-gallery{height:55svh;min-height:330px}
  .space-gallery{grid-template-rows:1fr 1fr}
  .academy-gallery{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
  .academy-gallery .academy-award{grid-row:span 2}
  .field-grid{grid-template-columns:1fr 1fr;grid-auto-rows:24svh;min-height:0}
  .gallery-band{min-height:auto;padding-top:70px;padding-bottom:70px}
  .gallery-band-head{gap:28px}
  .places-image{min-height:42svh}
  .place-mark{font-size:clamp(3.5rem,14vw,5rem)}
  .support,.connect{min-height:auto}
}

/* Final layout refinement: premise + work intro share one viewport on desktop. */
.premise-work{max-width:1440px;margin:0 auto;min-height:calc(100svh - 74px);display:grid;grid-template-rows:1.08fr .92fr;overflow:hidden}
.premise-work .intro{width:100%;max-width:none;margin:0;padding:54px 5vw 22px;display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center;min-height:0}
.premise-work .intro-title{align-self:center}
.premise-work .intro-title h2{font-size:clamp(3rem,5vw,5.2rem);line-height:.98;margin:18px 0 0;letter-spacing:-.045em}
.premise-work .intro-copy{max-width:780px;align-self:center}
.premise-work .intro-copy .lead{margin:0 0 20px;max-width:780px}
.premise-work .intro-copy p:last-child{margin-bottom:0}
.premise-work .section-head{width:100%;max-width:none;margin:0;padding:20px 5vw 48px;min-height:0;display:grid;grid-template-columns:1fr .55fr;gap:70px;align-items:end;align-content:end}
.premise-work .section-head h2{margin:14px 0 0}
.work{padding-top:0}
.gallery-dastarkhan{height:min(250px,30vh);grid-template-columns:1fr 1fr;grid-auto-rows:1fr;align-self:center}
.gallery-dastarkhan .gallery-item img{object-position:center}
.academy-gallery{height:min(62vh,650px);grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:10px}
.academy-gallery .academy-award,
.academy-gallery .academy-play,
.academy-gallery .academy-activity,
.academy-gallery .academy-kids{grid-row:auto;grid-column:auto}
.academy-gallery .academy-award img{object-position:center 54%}
.academy-gallery .academy-play img{object-position:center 54%}
.academy-gallery .academy-activity img{object-position:center 52%}
.academy-gallery .academy-kids img{object-position:center 58%}
.field-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(220px,35vh,420px);margin-top:clamp(30px,4vh,48px)}
.field-grid>div{min-width:0}

@media(max-width:900px){
  .premise-work{min-height:auto;display:block;overflow:visible}
  .premise-work .intro{padding:70px 5vw 45px;grid-template-columns:1fr;gap:30px;min-height:auto}
  .premise-work .intro-title h2{margin-top:14px}
  .premise-work .section-head{padding:35px 5vw 65px;grid-template-columns:1fr;gap:28px;min-height:auto;align-items:start}
  .gallery-dastarkhan{height:230px}
  .academy-gallery{height:min(56svh,600px);grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
  .field-grid{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(220px,30svh)}
}
@media(max-width:600px){
  .premise-work .intro{padding:60px 20px 38px}
  .premise-work .section-head{padding:32px 20px 58px}
  .gallery-dastarkhan{height:190px}
  .academy-gallery{height:55svh;min-height:330px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
  .field-grid{grid-template-columns:1fr 1fr;grid-auto-rows:24svh;min-height:0}
}
