/* ============================================================
   NACRUDI — homepage (hi-fi). Direction A: story-led.
   Classic & trustworthy: serif headlines + humanist sans.
   ============================================================ */

@font-face{
  font-family:"Gibed";
  src:url("fonts/gibed.otf") format("opentype");
  font-weight:normal;
  font-style:normal;
  font-display:swap;
}

:root{
  /* type */
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --display:"Gibed", "Newsreader", Georgia, serif;
  --sans:"Mulish", system-ui, -apple-system, sans-serif;

  /* brand — blue-green */
  --brand:#15756b;
  --brand-deep:#0e4f48;
  --brand-darker:#0a3a35;
  --brand-soft:#e3efec;
  --gold:#bd862c;

  /* neutrals (warm) */
  --paper:#f8f6f1;
  --paper-2:#f1ede3;
  --card:#ffffff;
  --fill:#eceae3;
  --ink:#1b231f;
  --ink-soft:#5c635b;
  --ink-faint:#8d9189;
  --line:#e6e1d6;
  --line-2:#d6d0c2;

  --maxw:1200px;
  --gutter:clamp(20px, 5vw, 64px);

  /* film grain (feTurbulence) */
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  /* topographic contour motif */
  --topo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='760' height='760' viewBox='0 0 760 760' fill='none' stroke='%2315756b' stroke-width='1.1'%3E%3Cg opacity='0.5'%3E%3Cpath d='M80 420 C200 320 360 360 470 280 C560 214 640 250 720 200'/%3E%3Cpath d='M60 480 C190 380 360 420 480 330 C580 256 670 300 740 244'/%3E%3Cpath d='M40 545 C180 444 366 484 494 386 C600 304 700 352 760 290'/%3E%3Cpath d='M30 610 C176 504 372 548 506 444 C620 356 724 408 770 340'/%3E%3Cpath d='M120 360 C230 276 372 312 460 240'/%3E%3C/g%3E%3C/svg%3E");
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

/* global film-grain veil for depth */
body::after{
  content:"";position:fixed;inset:0;z-index:9000;pointer-events:none;
  background-image:var(--grain);background-size:200px 200px;
  opacity:.05;mix-blend-mode:multiply;
}
@media (prefers-reduced-motion: reduce){
  .hero-scroll .bar::after{animation:none;}
}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;letter-spacing:-.01em;}
h1{font-size:clamp(42px, 6.2vw, 80px);font-weight:400;}
h2{font-size:clamp(30px, 4.2vw, 50px);}
h3{font-size:clamp(21px, 2.4vw, 30px);}
p{margin:0;}
.lead{font-size:clamp(18px,1.5vw,21px);color:var(--ink-soft);line-height:1.6;}

.eyebrow{
  font-family:var(--display);font-weight:400;font-size:16px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--brand);
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--gold);display:inline-block;}
.eyebrow.on-dark{color:#bfe3dd;}
.eyebrow.center{justify-content:center;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
section{position:relative;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--sans);font-weight:800;font-size:15px;letter-spacing:.01em;
  padding:14px 26px;border-radius:7px;border:1.6px solid transparent;
  cursor:pointer;transition:transform .15s ease, background .2s, color .2s, box-shadow .2s;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 10px 24px -12px var(--brand);}
.btn-primary:hover{background:var(--brand-deep);}
.btn-ghost{border-color:var(--line-2);color:var(--ink);background:transparent;}
.btn-ghost:hover{border-color:var(--ink);}
.btn-light{background:#fff;color:var(--brand-deep);}
.btn-outline-light{border-color:rgba(255,255,255,.55);color:#fff;background:transparent;}
.btn-outline-light:hover{background:rgba(255,255,255,.12);border-color:#fff;}
.arrow-link{font-weight:800;font-size:15px;color:var(--brand);display:inline-flex;align-items:center;gap:8px;}
.arrow-link .a{transition:transform .2s;}
.arrow-link:hover .a{transform:translateX(5px);}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(248,246,241,.86);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.site-header .container{display:flex;align-items:center;gap:24px;height:78px;position:relative;}
.brand{display:flex;align-items:center;gap:13px;flex:0 0 auto;}
.brand image-slot{width:46px;height:46px;flex:0 0 auto;}
.brand .seal{
  width:46px;height:46px;border-radius:50%;flex:0 0 auto;
  border:2px solid var(--brand);display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:600;font-size:13px;color:var(--brand);background:var(--brand-soft);
  letter-spacing:-.02em;
}
.brand .wm{display:flex;flex-direction:column;line-height:1.05;}
.brand .wm b{font-family:var(--display);font-weight:400;font-size:24px;letter-spacing:.04em;color:var(--ink);}
.brand .wm small{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;}
.nav{display:flex;gap:22px;margin-left:8px;}
.nav a{font-size:15px;font-weight:600;color:var(--ink-soft);position:relative;padding:4px 0;white-space:nowrap;}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .2s;}
.nav a:hover{color:var(--ink);}
.nav a:hover::after{transform:scaleX(1);}
.header-cta{margin-left:auto;display:flex;align-items:center;gap:14px;flex:0 0 auto;}
.nav-toggle{display:none;}
.menu-btn{display:none;width:44px;height:44px;border:1.5px solid var(--line-2);border-radius:8px;cursor:pointer;align-items:center;justify-content:center;flex:0 0 auto;}
.menu-btn:hover{border-color:var(--ink);}
.menu-btn span{position:relative;}
.menu-btn span,
.menu-btn span::before,
.menu-btn span::after{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;}
.menu-btn span::before,
.menu-btn span::after{content:"";position:absolute;left:0;}
.menu-btn span::before{top:-6px;}
.menu-btn span::after{top:6px;}
.menu-btn{display:none;}

/* ---------- hero (editorial) ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:stretch;overflow:hidden;}
.hero .bg{position:absolute;left:0;top:-12%;width:100%;height:124%;will-change:transform;}
[data-parallax]{will-change:transform;}
.hero .scrim{position:absolute;inset:0;background:
  linear-gradient(180deg, rgba(8,32,29,calc(.55*var(--scrim,1))) 0%, rgba(8,32,29,calc(.12*var(--scrim,1))) 30%, rgba(8,32,29,calc(.30*var(--scrim,1))) 64%, rgba(6,26,23,calc(.86*var(--scrim,1))) 100%),
  linear-gradient(90deg, rgba(10,40,36,calc(.42*var(--scrim,1))) 0%, rgba(10,40,36,0) 55%);}
.hero-grain{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:var(--grain);background-size:180px 180px;}
.hero .container.hero-grid{
  position:relative;z-index:2;width:100%;
  display:grid;grid-template-rows:auto 1fr auto;
  padding-top:118px;padding-bottom:46px;color:#fff;
}
.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;}
.hero .eyebrow{color:#d8efe8;}
.hero-coord{font-family:var(--display);font-size:15px;letter-spacing:.18em;color:rgba(255,255,255,.6);white-space:nowrap;}

.hero-title{
  align-self:center;
  font-family:var(--serif);font-weight:400;color:#fff;
  font-size:clamp(58px, 12.5vw, 188px);line-height:.92;letter-spacing:-.022em;
  margin:0;padding:.12em 0;text-wrap:balance;
}
.hero-title .ln{display:block;overflow:hidden;padding-bottom:.02em;}
.hero-title .ln:nth-child(2){padding-left:clamp(0px,8vw,150px);}
.hero-title .ln > i{display:block;font-style:normal;}
.hero-title em{font-style:italic;color:#e9c987;}

.hero-foot{display:grid;grid-template-columns:1.2fr 1fr;gap:30px 50px;align-items:end;margin-top:8px;}
.hero .lead{color:rgba(255,255,255,.88);max-width:520px;margin:0;}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start;}
.hero-scroll{position:absolute;right:var(--gutter);bottom:46px;display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(255,255,255,.7);z-index:3;}
.hero-scroll .lbl{font-family:var(--display);font-size:13px;letter-spacing:.22em;text-transform:uppercase;writing-mode:vertical-rl;}
.hero-scroll .bar{width:1px;height:54px;background:linear-gradient(var(--gold),transparent);position:relative;overflow:hidden;}
.hero-scroll .bar::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--gold);animation:scrolldrop 2.1s cubic-bezier(.7,0,.3,1) infinite;}
@keyframes scrolldrop{0%{transform:translateY(-10%);}60%,100%{transform:translateY(220%);}}
@media (max-width:760px){
  .hero-foot{grid-template-columns:1fr;}
  .hero-scroll{display:none;}
  .hero-title .ln:nth-child(2){padding-left:0;}
}

/* ---------- entrance + scroll reveal ---------- */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(24px);}
  body.loaded .reveal{opacity:1;transform:none;
    transition:opacity .7s ease, transform .85s cubic-bezier(.2,.75,.2,1);
    transition-delay:var(--d,0s);}
  .hero-title .ln > i{transform:translateY(112%);}
  body.loaded .hero-title .ln > i{transform:none;
    transition:transform 1s cubic-bezier(.19,1,.22,1);transition-delay:var(--d,0s);}
  [data-reveal]{opacity:0;transform:translateY(30px);}
  [data-reveal].in{opacity:1;transform:none;transition:opacity .8s ease, transform .9s cubic-bezier(.2,.75,.2,1);}
}

/* ---------- generic section spacing ---------- */
.sec{padding:clamp(64px,8vw,118px) 0;}
.sec-head{max-width:680px;margin-bottom:54px;display:flex;flex-direction:column;gap:18px;}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center;align-items:center;}

/* ---------- mission ---------- */
.mission{position:relative;overflow:hidden;}
.mission::before{content:"";position:absolute;top:-120px;right:-160px;width:760px;height:760px;
  background:var(--topo) no-repeat center/contain;opacity:.18;pointer-events:none;}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,80px);align-items:center;position:relative;z-index:1;}
.mission .body{display:flex;flex-direction:column;gap:20px;}
.mission image-slot{width:100%;height:100%;min-height:420px;border-radius:14px;}
.value-list{display:flex;flex-direction:column;gap:14px;margin-top:6px;}
.value-list .v{display:flex;gap:14px;align-items:flex-start;}
.value-list .v .dot{width:10px;height:10px;border-radius:50%;background:var(--brand);margin-top:9px;flex:0 0 auto;}
.value-list .v b{font-weight:800;}
.value-list .v span{color:var(--ink-soft);}

/* ---------- impact ---------- */
.impact{background:var(--brand-deep);color:#fff;}
.impact .eyebrow{color:#bfe3dd;}
.impact h2{color:#fff;}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:18px;}
.stat{border-top:2px solid rgba(255,255,255,.22);padding-top:22px;}
.stat .n{font-family:var(--serif);font-size:clamp(44px,5vw,68px);line-height:1;color:#fff;}
.stat .n .u{font-size:.5em;color:#e9c987;margin-left:4px;}
.stat .l{margin-top:12px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.45;}
.impact .foot{margin-top:46px;font-size:13px;color:rgba(255,255,255,.55);font-style:italic;}

/* ---------- programs ---------- */
.programs{background:var(--paper);}
.prog-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;}
.prog-row + .prog-row{margin-top:clamp(54px,7vw,96px);}
.prog-row image-slot{width:100%;height:100%;min-height:360px;border-radius:14px;}
.prog-row .txt{display:flex;flex-direction:column;gap:16px;}
.prog-row.rev image-slot{order:2;}
.prog-num{font-family:var(--display);font-style:normal;font-size:24px;letter-spacing:.04em;color:var(--gold);font-weight:400;}
.prog-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:4px;}
.tag{font-size:13px;font-weight:700;color:var(--brand-deep);background:var(--brand-soft);border-radius:999px;padding:6px 14px;}

/* ---------- where we work ---------- */
.where{background:var(--paper-2);position:relative;overflow:hidden;}
.where::before{content:"";position:absolute;bottom:-200px;left:-180px;width:720px;height:720px;
  background:var(--topo) no-repeat center/contain;opacity:.16;transform:scaleX(-1);pointer-events:none;}
.where .split{align-items:center;}
.where image-slot{width:100%;height:100%;min-height:440px;border-radius:14px;}
.chip-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.chip{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:4px;}
.chip b{font-family:var(--serif);font-size:30px;color:var(--brand);line-height:1;}
.chip span{font-size:13px;color:var(--ink-soft);}

/* ---------- stories ---------- */
.stories{background:var(--paper);}
.story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.story{display:flex;flex-direction:column;gap:16px;}
.story image-slot{width:100%;height:240px;border-radius:12px;}
.story .meta{display:flex;gap:12px;align-items:center;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);}
.story .meta .date{color:var(--ink-faint);font-weight:700;letter-spacing:.04em;text-transform:none;}
.story h3{font-size:23px;}
.story p{color:var(--ink-soft);font-size:15.5px;}

/* ---------- donate band ---------- */
.donate{background:var(--brand);color:#fff;overflow:hidden;position:relative;}
.donate::after{content:"";position:absolute;right:-80px;top:-80px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.06);}
.donate .container{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.donate h2{color:#fff;max-width:620px;}
.donate p{color:rgba(255,255,255,.86);max-width:560px;margin-top:14px;}
.donate .cta-row{display:flex;gap:14px;flex-wrap:wrap;flex:0 0 auto;}

/* ---------- footer ---------- */
.site-footer{background:var(--brand-darker);color:rgba(255,255,255,.74);padding:72px 0 36px;font-size:14.5px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
.foot-brand{display:flex;flex-direction:column;gap:16px;max-width:320px;}
.foot-brand .brand .wm b{color:#fff;}
.foot-brand .brand .wm small{color:rgba(255,255,255,.5);}
.foot-brand .seal{background:#fff;border:none;border-radius:50%;object-fit:cover;width:46px;height:46px;}
.foot-slogan{font-family:var(--serif);font-style:italic;font-size:19px;color:#bfe3dd;line-height:1.4;}
.foot-col h4{font-family:var(--display);font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 18px;font-weight:400;}
.foot-col a{display:block;margin-bottom:11px;color:rgba(255,255,255,.74);}
.foot-col a:hover{color:#fff;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:56px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.5);}

/* image-slot look */
image-slot{--placeholder-bg:var(--paper-2);}
.photo-credit{font-size:12px;color:var(--ink-faint);font-style:italic;margin-top:4px;}

/* ---------- responsive ---------- */
@media (max-width:1120px){.header-cta .btn-ghost{display:none;}}
@media (max-width:1000px){
  .stat-grid{grid-template-columns:repeat(2,1fr);gap:34px 30px;}
  .story-grid{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px;}
}
/* collapse nav into a dropdown before it crowds the Donate button */
@media (max-width:980px){
  .menu-btn{display:inline-flex;}
  .nav{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:2px;margin-left:0;
    background:var(--paper);border-bottom:1px solid var(--line);
    padding:8px 0 14px;display:none;
    box-shadow:0 18px 34px -22px rgba(0,0,0,.4);
  }
  .nav-toggle:checked ~ .nav{display:flex;}
  .nav a{width:100%;padding:12px 2px;font-size:16px;}
  .nav a::after{display:none;}
}
@media (max-width:820px){
  .split,.prog-row{grid-template-columns:1fr;}
  .prog-row.rev image-slot{order:0;}
  .mission image-slot,.prog-row image-slot,.where image-slot{min-height:300px;}
  .donate .container{flex-direction:column;align-items:flex-start;}
}
@media (max-width:560px){
  .story-grid{grid-template-columns:1fr;}
  .stat-grid{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .header-cta .btn-ghost{display:none;}
  .site-header .container{gap:12px;height:68px;}
  .brand{min-width:0;gap:9px;}
  .brand .wm{min-width:0;}
  .brand .wm b{font-size:19px;}
  .brand .wm small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .brand image-slot,.brand .seal{width:38px;height:38px;}
  .header-cta{gap:10px;}
  .header-cta .btn-primary{padding:10px 16px;font-size:14px;}
  .menu-btn{width:40px;height:40px;}
}
@media (max-width:360px){
  .brand .wm small{display:none;}
  .brand .wm b{font-size:17px;}
}
