/* Gold Lotus: site styles. Colors, fonts and sizes were measured from the live site recording. */
@font-face{font-family:Poppins;font-weight:300;font-style:normal;font-display:swap;src:url(/assets/fonts/poppins-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/poppins-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/poppins-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/poppins-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:300;font-style:italic;font-display:swap;src:url(/assets/fonts/poppins-latin-300-italic.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:400;font-style:italic;font-display:swap;src:url(/assets/fonts/poppins-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:Archivo;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/archivo-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Archivo;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/fonts/archivo-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Archivo;font-weight:600;font-style:normal;font-display:swap;src:url(/assets/fonts/archivo-latin-600-normal.woff2) format("woff2")}

:root{
  --charcoal:#383838; --gold:#ebcc4f; --ink:#000; --paper:#fff; --mist:#f4f4f4; --panel:#ebebeb;
  --body:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --display:Archivo,"Helvetica Neue",Arial,sans-serif;
  --pad:43px; --header-h:151px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:300 16px/1.8 var(--body);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
h1,h2{font-family:var(--display);font-weight:400;margin:0;line-height:1.27}
p{margin:0 0 1em}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#000;padding:10px 16px;z-index:200;font-weight:500}
.skip:focus{left:8px}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;height:53px;padding:0 32px;font:500 15px/1 var(--body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn-gold{background:var(--gold);color:#000}
.btn-gold:hover{background:#f3dc7e}
.btn-black{background:#000;color:#fff}
.btn-black:hover{background:#333}
.btn-outline{border-color:#000;color:#000;background:transparent}
.btn-outline:hover{background:#000;color:#fff}
.btn-lg{height:59px;padding:0 30px;font-size:17px}
.header-donate{padding:0 25px;font-size:16px}

/* ---- header ---- */
.site-header{position:sticky;top:0;z-index:100;background:var(--charcoal)}
.header-inner{height:var(--header-h);display:flex;align-items:center;padding:0 42px 0 var(--pad);gap:36px}
.brand{display:block;flex:0 0 auto;margin-right:auto}
.brand img{width:321px;height:auto}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:17px}
.nav-link{font:400 16px/1.4 var(--body);color:var(--gold);text-decoration:none;background:none;border:0;padding:0;cursor:pointer;border-bottom:1px solid transparent}
.nav-link:hover,.nav-link[aria-current="page"]{border-bottom-color:var(--gold)}
.has-sub{position:relative}
.site-nav ul.sub{list-style:none;margin:0;padding:12px 16px 10px;position:absolute;right:-16px;top:100%;min-width:max-content;background:var(--charcoal);text-align:right;display:none;flex-direction:column;align-items:flex-end;gap:0;box-shadow:0 2px 0 rgba(0,0,0,.35)}
.sub a{display:block;color:var(--gold);text-decoration:none;font:400 16px/1.4 var(--body);padding:2px 0}
.sub a:hover{text-decoration:underline}
.site-nav .has-sub:hover ul.sub,.site-nav .has-sub:focus-within ul.sub,.site-nav .has-sub.open ul.sub{display:flex}
.has-sub::after{content:"";position:absolute;left:-20px;right:-20px;top:100%;height:28px} /* keeps hover alive between link and menu */
.nav-toggle{display:none}

/* ---- home ---- */
.hero{position:relative;height:332px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#aab3c2}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 67%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(28,34,44,.5),rgba(28,34,44,0) 62%),rgba(84,84,84,.22)}
.hero h1{position:relative;z-index:1;font-weight:400;font-size:68px;padding:0 var(--pad) 40px;line-height:1.1}
.intro{display:grid;grid-template-columns:3fr 2fr;column-gap:0;padding:48px var(--pad) 46px;align-items:start}
.intro-head h2{font-weight:400;font-size:47.5px;max-width:640px;margin-bottom:34px}
.intro-body p{font-size:24.6px;line-height:1.8;margin:0;max-width:528px}
.bands{background:var(--charcoal);color:#fff}
.band{display:grid;grid-template-columns:45fr 10fr 45fr;align-items:center;padding:95px var(--pad)}
.band .band-pic{grid-column:1;grid-row:1}
.band .band-text{grid-column:3;grid-row:1}
.band-right .band-text{grid-column:1}
.band-right .band-pic{grid-column:3}
.band-pic img{width:100%}
.quote{font:italic 300 23.6px/1.7 var(--body);margin:0 0 20px}
.band-text h2{font-weight:400;font-size:36.5px;margin-bottom:22px}
.band-text p{font:400 23.5px/1.6 var(--body);margin:0 0 28px}
.contact{padding:48px var(--pad) 46px}
.contact h2{font-size:47px;margin-bottom:34px}
.contact p{font:300 14.4px/1.7 var(--body);margin:0}
.contact .contact-label{font-weight:600;margin-top:28px}
.contact a{text-decoration:none}
.contact a:hover{text-decoration:underline}

/* ---- project pages ---- */
.banner{height:600px;overflow:hidden;background:#222}
.banner img{width:100%;height:100%;object-fit:cover}
.project{padding:95px 0 40px}
.project h1,.project-row{max-width:1045px;margin-left:auto;margin-right:auto;padding:0 20px}
.project h1{font-size:47.5px;margin-bottom:100px}
.project-row{display:grid;grid-template-columns:453px 1fr;column-gap:100px;align-items:center}
.project-pic img{width:100%}
.project-text p{font:300 16px/1.8 var(--body);margin:0 0 1em}
.project-text .feature-cap{margin-top:34px}
.gallery{max-width:1219px;margin:150px auto 0;padding:0 20px;display:grid;grid-template-columns:repeat(2,minmax(0,480px));justify-content:space-between}
.shot{margin:0 0 85px}
.shot-img{width:100%;aspect-ratio:1/1;object-fit:cover}
.shot figcaption{padding-top:76px;text-align:center}
.shot figcaption p{font:300 16px/30px var(--body);margin:0 0 14px}

/* ---- mission / about ---- */
.mission{display:grid;grid-template-columns:1fr 563px;column-gap:100px;align-items:center;padding:95px 87px 138px 86px}
.mission h1{font-size:47px;margin-bottom:84px}
.mission-text{padding-bottom:44px;max-width:560px}
.mission p{font:400 37px/49px var(--display);margin:0}
.mission-pic img{width:100%;aspect-ratio:1/1;object-fit:cover}
.about{display:grid;grid-template-columns:45fr 10fr 45fr;align-items:center;padding:0 var(--pad) 0}
.about-text{grid-column:1;padding:60px 0}
.about h1{font-size:36px;margin-bottom:28px}
.about p{font-size:24.6px;line-height:1.8;max-width:587px}
.about .small{font-size:16px;line-height:1.6;margin-top:18px}
.about-pic{grid-column:3;background:var(--panel);min-height:437px;display:flex;align-items:center;justify-content:center;margin:95px 0 94px}
.about-pic img{width:370px;filter:none}

/* ---- donate / thank you ---- */
.notice{background:var(--mist);border-left:6px solid var(--gold);padding:18px 24px;margin:0;font:400 16px/1.6 var(--body)}
.notice[hidden]{display:none}
.why{max-width:1045px;margin:0 auto;padding:95px 20px 70px}
.why h1{font-size:47px;margin-bottom:34px}
.why p{font:300 20px/1.8 var(--body);max-width:760px}
.impact{max-width:1045px;margin:0 auto;padding:30px 20px 60px;display:grid;grid-template-columns:312px 1fr;column-gap:121px;align-items:start}
.metric{text-align:center}
.metric h2{font-size:36.4px}
.metric hr{border:0;border-top:1px solid #000;margin:28px 0 36px}
.metric .number{font:400 59.5px/1 var(--display);margin:0}
.give blockquote{margin:0 0 40px}
.give blockquote p{font:300 24.6px/44px var(--body);margin:0}
.give blockquote footer{font:400 17px/1.6 var(--body);text-align:right}
.give h2{font-size:47px;margin-bottom:34px}
.give-row{display:flex;align-items:center;gap:40px}
.give-row p{font:300 16px/29px var(--body);margin:0;max-width:304px}
.legal{max-width:1045px;margin:0 auto;padding:0 20px 80px;font:300 14px/1.7 var(--body);color:#333}
.thanks{max-width:760px;margin:0 auto;padding:110px 24px 130px}
.thanks h1{font-size:56px;margin-bottom:30px}
.thanks p{font:300 20px/1.8 var(--body)}
.thanks-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}

/* ---- footer ---- */
.site-footer{background:var(--mist)}
.foot-inner{display:grid;grid-template-columns:60% 229px 1fr;padding:60px var(--pad) 40px}
.foot-org{display:flex;flex-direction:column;justify-content:space-between;min-height:130px}
.foot-org p{margin:0}
.foot-org .org{font:400 26px/1.3 var(--display)}
.foot-org .addr{font:300 16px/1.5 var(--body)}
.foot-note{margin:0;padding:0 var(--pad) 36px;font:300 14px/1.5 var(--body);color:#555}
.foot-col h2{font:300 26px/1.3 var(--body);margin-bottom:22px}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{margin:0 0 14px}
.foot-col a{font:300 16px/1.5 var(--body);text-decoration:underline;text-underline-offset:3px}
.foot-col a:hover{color:#555}

/* ---- tablet / phone ---- */
@media (max-width:1100px){
  .brand img{width:260px}
  .header-inner{gap:24px}
  .project-row{grid-template-columns:1fr 1fr;column-gap:48px}
  .mission{grid-template-columns:1fr 1fr;column-gap:48px;padding:60px 40px 80px}
  .mission p{font-size:30px;line-height:1.35}
  .impact{grid-template-columns:260px 1fr;column-gap:60px}
  .foot-inner{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:899px){
  :root{--pad:24px;--header-h:76px}
  .header-inner{padding:0 16px 0 18px;gap:12px}
  .brand img{width:190px}
  .header-donate{height:40px;padding:0 18px;font-size:14px}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:0;cursor:pointer;padding:0}
  .nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{display:block;width:24px;height:2px;background:var(--gold);content:"";position:relative}
  .nav-toggle .bars::before{position:absolute;top:-7px}
  .nav-toggle .bars::after{position:absolute;top:7px}
  .nav-toggle[aria-expanded="true"] .bars{background:transparent}
  .nav-toggle[aria-expanded="true"] .bars::before{top:0;transform:rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .bars::after{top:0;transform:rotate(-45deg)}
  .site-nav{position:absolute;left:0;right:0;top:100%;background:var(--charcoal);display:none;padding:8px 24px 24px;border-top:1px solid #4a4a4a}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;align-items:flex-start;gap:0}
  .site-nav li{width:100%;border-bottom:1px solid #4a4a4a}
  .nav-link{display:block;width:100%;text-align:left;padding:14px 0;font-size:18px;border-bottom:0}
  .nav-link[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
  .site-nav ul.sub{position:static;box-shadow:none;text-align:left;padding:0 0 10px 16px;min-width:0;align-items:flex-start;display:none}
  .site-nav .has-sub:hover ul.sub{display:none}
  .site-nav .has-sub.open ul.sub{display:flex}
  .site-nav ul.sub li{border-bottom:0}
  .has-sub::after{display:none}
  .sub a{padding:8px 0;font-size:17px}
  .hero{height:clamp(230px,62vw,330px)}
  .hero h1{font-size:40px;padding-bottom:28px}
  .intro{grid-template-columns:1fr;padding:36px var(--pad) 44px}
  .intro-head h2{font-size:34px;margin-bottom:24px}
  .intro-head{margin-bottom:28px}
  .intro-body p{font-size:19px;line-height:1.75}
  .band{grid-template-columns:1fr;padding:48px var(--pad);row-gap:28px}
  .band .band-pic,.band-right .band-pic{grid-column:1;grid-row:1}
  .band .band-text,.band-right .band-text{grid-column:1;grid-row:2}
  .quote{font-size:19px}
  .band-text h2{font-size:30px}
  .band-text p{font-size:18px}
  .contact{padding:44px var(--pad)}
  .contact h2{font-size:34px;margin-bottom:20px}
  .banner{height:240px}
  .project{padding:48px 0 20px}
  .project h1,.project-row{padding:0 var(--pad)}
  .project h1{font-size:34px;margin-bottom:32px}
  .project-row{grid-template-columns:1fr;row-gap:28px}
  .gallery{grid-template-columns:1fr;margin-top:56px;padding:0 var(--pad);justify-content:center}
  .shot{margin-bottom:48px}
  .shot figcaption{padding-top:20px}
  .mission{grid-template-columns:1fr;padding:44px var(--pad) 56px;row-gap:32px}
  .mission h1{font-size:34px;margin-bottom:24px}
  .mission p{font-size:26px}
  .mission-pic{grid-row:1}
  .about{grid-template-columns:1fr;padding:0}
  .about-text{grid-column:1;grid-row:2;padding:36px var(--pad) 48px}
  .about-pic{grid-column:1;grid-row:1;margin:0;min-height:260px}
  .about h1{font-size:32px}
  .about p{font-size:20px}
  .why{padding:44px var(--pad) 36px}
  .why h1{font-size:32px}
  .why p{font-size:18px}
  .impact{grid-template-columns:1fr;row-gap:44px;padding:10px var(--pad) 44px}
  .metric h2{font-size:30px}
  .metric hr{margin:18px auto 24px;max-width:260px}
  .metric .number{font-size:56px}
  .give blockquote p{font-size:20px;line-height:1.7}
  .give h2{font-size:34px}
  .give-row{flex-direction:column;align-items:flex-start;gap:20px}
  .legal{padding:0 var(--pad) 56px}
  .thanks{padding:56px var(--pad) 72px}
  .thanks h1{font-size:40px}
  .thanks p{font-size:18px}
  .foot-inner{grid-template-columns:1fr 1fr;row-gap:32px;padding:40px var(--pad)}
  .foot-org{grid-column:1/-1;min-height:0;gap:10px}
  .foot-col h2{font-size:22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
