:root{
  --paper:#F3EEDD;
  --paper-deep:#EAE1C6;
  --ink:#211E19;
  --ink-soft:rgba(33,30,25,.68);
  --ink-faint:rgba(33,30,25,.48);
  --green:#1F4536;
  --green-deep:#173328;
  --gold:#C1852B;
  --brick:#9A3B2C;
  --line:rgba(33,30,25,.15);
  --white:#FFFCF4;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:88px;}
body{margin:0;background:var(--paper);font-family:'Work Sans',sans-serif;color:var(--ink);}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:600;margin:0;letter-spacing:-.01em;}
p{margin:0;}
img{max-width:100%;display:block;}
label{font-size:14px;font-weight:600;display:block;margin-bottom:6px;}
input,textarea{
  width:100%;font-family:'Work Sans',sans-serif;font-size:15px;padding:12px 14px;
  border:1.5px solid var(--line);border-radius:2px;background:var(--white);color:var(--ink);
}
input:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 28px;border-radius:2px;font-weight:600;font-size:15px;
  border:1.5px solid var(--ink);min-height:44px;box-sizing:border-box;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
  cursor:pointer;
}
.btn-solid{background:var(--green);border-color:var(--green);color:var(--white);}
.btn-solid:hover{background:var(--green-deep);border-color:var(--green-deep);}
.btn-line{background:transparent;border-color:var(--ink);color:var(--ink);}
.btn-line:hover{background:var(--ink);color:var(--paper);}

.imgph{
  border:1.5px dashed rgba(33,30,25,.3);
  background:linear-gradient(135deg, rgba(31,69,54,.07), rgba(193,133,43,.10));
  display:flex;align-items:center;justify-content:center;text-align:center;
  color:var(--ink-faint);font-size:13px;line-height:1.55;padding:22px;
  width:100%;height:100%;
}

.wrap{max-width:1180px;margin:0 auto;padding-left:clamp(20px,5vw,56px);padding-right:clamp(20px,5vw,56px);}
.eyebrow-tick{display:inline-block;width:28px;height:2px;background:var(--gold);margin-bottom:16px;}
.row{display:grid;gap:56px;align-items:center;}
.row-2{grid-template-columns:1fr 1fr;}
.story-full{padding:56px 0;border-top:1px solid var(--line);}
.story-full:last-of-type{border-bottom:1px solid var(--line);}

header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);}
.nav-bar{display:flex;align-items:center;justify-content:space-between;height:80px;gap:24px;}
.logo{font-family:'Fraunces',serif;font-weight:600;font-size:21px;}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{font-size:15px;font-weight:500;color:var(--ink-soft);}
.nav-links a:hover, .nav-links a.active{color:var(--ink);}
.nav-links a.active{border-bottom:2px solid var(--gold);padding-bottom:4px;}

.page-hero{padding:64px 0 56px;}
.page-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.08;max-width:18ch;}
.page-hero p.lead{margin-top:20px;font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:60ch;}

.hero-facts{display:flex;gap:44px;flex-wrap:wrap;}
.involved-grid, .stories-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(260px,1fr));gap:40px;}
.stories-grid{grid-template-columns:repeat(auto-fit, minmax(280px,1fr));gap:36px 32px;}
.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px;}

.ph-16-10{aspect-ratio:21/10;}
.ph-4-3{aspect-ratio:4/3;}
.ph-4-5{aspect-ratio:4/5;}

footer{padding:56px 0 40px;background:var(--paper-deep);}

@media (max-width:840px){
  .row-2{grid-template-columns:1fr;gap:28px;}
  .nav-links{display:none;}
  .hero-facts{flex-direction:column;align-items:flex-start;gap:14px;}
}

/* Profiles (About page) */
.profile{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:48px;align-items:start;}
.profile + .profile{margin-top:64px;padding-top:64px;border-top:1px solid var(--line);}
.profile .role{margin-top:6px;font-size:15px;font-weight:600;color:var(--gold);}
.tags{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px;}
.tag{font-size:13px;font-weight:500;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);background:var(--white);}
.pullquote{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(20px,2.4vw,26px);line-height:1.4;color:var(--green);border-left:3px solid var(--gold);padding-left:22px;}
.cols-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;}
@media (max-width:840px){
  .profile{grid-template-columns:1fr;gap:24px;}
  .profile .ph-4-5{max-width:320px;}
}

/* Home hero — sized to the visible screen so text, buttons and stats stay above the fold */
.hero{position:relative;display:flex;align-items:flex-end;overflow:hidden;min-height:max(520px,min(calc(100vh - 81px),860px));}
.hero-scrim{position:absolute;inset:0;background:
  linear-gradient(90deg, rgba(19,26,20,.78) 0%, rgba(19,26,20,.55) 55%, rgba(19,26,20,.25) 100%),
  linear-gradient(0deg, rgba(19,26,20,.8) 0%, rgba(19,26,20,0) 55%);}
.hero-inner{position:relative;z-index:1;width:100%;padding-top:clamp(24px,5vh,96px);}
.hero h1{color:var(--white);font-size:clamp(34px,min(5.4vw,8.4vh),68px);line-height:1.05;max-width:18ch;margin-top:clamp(12px,2.4vh,22px);text-shadow:0 2px 24px rgba(0,0,0,.25);}
.hero-pill{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--white);background:rgba(255,252,244,.14);border:1px solid rgba(255,252,244,.3);padding:8px 16px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.hero-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);}
.hero-lead{margin-top:clamp(10px,2vh,22px);font-size:clamp(15.5px,2.4vh,19px);line-height:1.55;color:rgba(255,252,244,.9);max-width:62ch;}
.hero-cta{margin-top:clamp(16px,3vh,32px);display:flex;gap:16px;flex-wrap:wrap;}
.hero-stats{margin-top:clamp(20px,4.5vh,56px);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,252,244,.28);}
.hero-stat{padding:clamp(12px,2.2vh,22px) 24px clamp(14px,2.6vh,26px) 0;}
.hero-stat + .hero-stat{padding-left:24px;border-left:1px solid rgba(255,252,244,.2);}
.hero-stat .n{font-family:'Fraunces',serif;font-size:clamp(22px,min(3vw,3.8vh),34px);font-weight:600;color:var(--white);}
.hero-stat .l{margin-top:4px;font-size:13.5px;color:rgba(255,252,244,.78);}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.btn-gold:hover{background:#D49A3F;border-color:#D49A3F;}
.btn-ghost-light{background:transparent;border-color:rgba(255,252,244,.85);color:var(--white);}
.btn-ghost-light:hover{background:var(--white);color:var(--ink);}
@keyframes heroUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.hero-anim{opacity:0;animation:heroUp .8s cubic-bezier(.2,.7,.2,1) forwards;}
@media (prefers-reduced-motion: reduce){.hero-anim{animation:none;opacity:1;}}
@media (max-width:840px){
  .hero-stat{padding:14px 10px 16px 0;}
  .hero-stat + .hero-stat{padding-left:12px;}
  .hero-stat .n{font-size:19px;white-space:nowrap;}
  .hero-stat .l{font-size:11.5px;line-height:1.35;}
}

/* Gallery */
.masonry{column-count:3;column-gap:16px;}
.g-item{display:block;width:100%;margin:0 0 16px;padding:0;border:0;background:var(--paper-deep);cursor:zoom-in;break-inside:avoid;overflow:hidden;border-radius:2px;}
.g-item img{display:block;width:100%;height:auto;transition:transform .35s ease, opacity .2s ease;}
.g-item:hover img{transform:scale(1.03);}
.g-item:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
@media (max-width:980px){.masonry{column-count:2;}}
@media (max-width:520px){.masonry{column-gap:10px;}.g-item{margin-bottom:10px;}}

.lb{position:fixed;inset:0;z-index:200;background:rgba(14,18,15,.94);display:flex;align-items:center;justify-content:center;padding:56px 64px;}
.lb[hidden]{display:none;}
.lb img{max-width:100%;max-height:100%;object-fit:contain;display:block;}
.lb-btn{position:absolute;background:rgba(255,252,244,.12);color:#fff;border:1px solid rgba(255,252,244,.3);width:48px;height:48px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 4px;}
.lb-btn:hover{background:rgba(255,252,244,.28);}
.lb-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.lb-close{top:16px;right:16px;}
.lb-prev{left:12px;top:50%;transform:translateY(-50%);}
.lb-next{right:12px;top:50%;transform:translateY(-50%);}
.lb-count{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:rgba(255,252,244,.75);font-size:13px;}
@media (max-width:640px){.lb{padding:64px 12px 48px;}.lb-prev,.lb-next{top:auto;bottom:8px;transform:none;}.lb-prev{left:16px;}.lb-next{right:16px;}}

/* Home moments strip */
.moments{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.moments a{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:2px;background:var(--paper-deep);}
.moments img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.moments a:hover img{transform:scale(1.05);}
@media (max-width:840px){.moments{grid-template-columns:repeat(3,1fr);gap:8px;}}

/* Founder: sticky portrait + award figure */
.portrait-sticky{position:sticky;top:104px;}
.award-figure{margin:32px 0 8px;}
.award-figure img{display:block;width:100%;height:auto;border-radius:2px;}
.award-figure figcaption{margin-top:14px;padding-left:14px;border-left:3px solid var(--gold);font-size:14.5px;line-height:1.55;color:var(--ink-soft);}
.award-figure figcaption strong{color:var(--ink);font-weight:600;}
@media (max-width:840px){.portrait-sticky{position:static;}}
/* Lightbox caption */
.lb-cap{position:absolute;left:50%;transform:translateX(-50%);bottom:44px;width:min(760px,calc(100% - 140px));text-align:center;color:rgba(255,252,244,.92);font-size:14px;line-height:1.5;}
.lb-cap:empty{display:none;}
.lb{padding-bottom:96px;}
@media (max-width:640px){.lb{padding-bottom:150px;}.lb-cap{bottom:68px;width:calc(100% - 32px);font-size:13px;}}
