/* ============================================================
   RTM v3 — Florida professional
   Transparent fixed nav · Button-style nav items · Hover dropdowns
   Pages: Home · Who We Are · Outreach · Volunteer · Donate · Contact
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Playfair+Display:ital,wght@1,400;1,700&family=Inter:wght@400;500;600;700&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --navy:#1B3A6B; --navy2:#122d55;
  --gold:#E8B830;  --goldlt:#f5cc55;
  --water:#3A8FA8; --water2:#2a7090;
  --teal:#0a7c5e;  --green:#0f5c3e;
  --waf:#3D3F8F;   --wafg:#F5A623;
  --coral:#FF6B35;
  --sand:#FDF6E3;  --light:#F8FAFC;
  --white:#fff;    --border:#E2E8F0;
  --txt:#1e293b;   --body:#475569;  --muted:#94a3b8;
  --r:8px; --rl:16px; --rxl:24px;
  --sh:0 2px 12px rgba(0,0,0,.08);
  --shh:0 8px 40px rgba(0,0,0,.14);
}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--txt);background:#fff;overflow-x:hidden;line-height:1.65;}
h1,h2,h3,h4{font-family:'Nunito',sans-serif;font-weight:900;line-height:1.12;color:var(--navy);}
h1{font-size:clamp(2.2rem,5.5vw,4rem);}
h2{font-size:clamp(1.8rem,3.8vw,2.8rem);}
h3{font-size:1.2rem;margin-bottom:.3rem;}
p{color:var(--body);line-height:1.75;margin-bottom:.9rem;}
p:last-child{margin-bottom:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* Layout */
.wrap{max-width:1180px;margin:0 auto;padding:0 2rem;}
.sec{padding:6rem 0;}
.sec-md{padding:4.5rem 0;}
.sec-sm{padding:3rem 0;}
.bg-light{background:var(--light);}
.bg-sand{background:var(--sand);}
.bg-navy{background:var(--navy);}
.bg-dark{background:#0d1e3a;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;}
@media(max-width:900px){.g3{grid-template-columns:1fr 1fr;}.g4{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr;}}
.tc{text-align:center;}
.ey{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--water);margin-bottom:.55rem;}
.ey.gold{color:var(--gold);}
.ey.lt{color:rgba(255,255,255,.45);}
.lead{max-width:580px;margin:.3rem auto 2.5rem;font-size:1.04rem;text-align:center;color:var(--body);}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;border-radius:50px;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;border:2px solid transparent;white-space:nowrap;}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(27,58,107,.28);color:#fff;}
.btn-gold{background:var(--gold);color:var(--navy);}
.btn-gold:hover{background:var(--goldlt);transform:translateY(-2px);color:var(--navy);}
.btn-give{background:var(--coral);color:#fff;box-shadow:0 4px 14px rgba(255,107,53,.28);}
.btn-give:hover{background:#e55a28;transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,107,53,.38);color:#fff;}
.btn-wh{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.5);}
.btn-wh:hover{background:rgba(255,255,255,.22);color:#fff;}
.btn-waf{background:var(--waf);color:#fff;}
.btn-waf:hover{background:#2d2f6b;color:#fff;}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--border);}
.btn-outline:hover{border-color:var(--navy);background:var(--light);}
.btn-teal{background:var(--teal);color:#fff;}
.btn-teal:hover{background:#085c45;color:#fff;}
.btn-lg{padding:.9rem 2.2rem;font-size:.95rem;font-weight:700;}
.btn-sm{padding:.5rem 1.2rem;font-size:.8rem;}
.btns{display:flex;gap:.75rem;flex-wrap:wrap;}
.btns.c{justify-content:center;}
.btns.mt{margin-top:2rem;}

/* ═══════════════════════════════════════════════════════
   NAV — TRANSPARENT, FULL-WIDTH, NOT STICKY
   Pill-shaped button links with hover
   ═══════════════════════════════════════════════════════ */
.nav{
  position:absolute;top:0;left:0;right:0;
  z-index:900;
  background:transparent;
  padding:0;
}
.nav-inner{
  max-width:1300px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.25rem 2rem;
}
/* Logo — transparent, no box */
.nav-logo{
  display:block;
  height:58px;width:auto;
  filter:drop-shadow(0 3px 12px rgba(0,0,0,.45));
  flex-shrink:0;
}

/* Center nav links — pill buttons */
.nav-links{
  display:flex;align-items:center;gap:.25rem;list-style:none;
}
.nav-links>li{position:relative;}

/* Each link is a pill button */
.nav-links>li>a{
  display:inline-flex;align-items:center;gap:.28rem;
  padding:.48rem 1.05rem;
  border-radius:50px;
  color:rgba(255,255,255,.88);
  font-size:.84rem;font-weight:600;
  border:1.5px solid transparent;
  transition:all .18s;
  white-space:nowrap;cursor:pointer;
}
.nav-links>li>a:hover,
.nav-links>li:hover>a{
  color:#fff;
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.25);
}
.nav-links>li>a .drop-arr{
  font-size:.55rem;opacity:.6;
  transition:transform .2s;
  margin-left:.1rem;
}
.nav-links>li:hover>a .drop-arr{transform:rotate(180deg);}

/* Donate button — always gold */
.nav-donate{
  background:var(--gold)!important;
  color:var(--navy)!important;
  border-color:transparent!important;
  font-weight:700!important;
}
.nav-donate:hover{background:var(--goldlt)!important;transform:translateY(-1px);box-shadow:0 6px 18px rgba(232,184,48,.4);}

/* ── MEGA DROPDOWN — bulletproof hover ── */
.nav-drop{
  /* Hidden but pointer-events kept live so mouse can travel into it */
  opacity:0;
  pointer-events:none;
  visibility:hidden;
  position:absolute;top:calc(100% + 6px);left:50%;
  transform:translateX(-50%) translateY(6px);
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--rl);
  box-shadow:0 20px 60px rgba(0,0,0,.16);
  padding:1.25rem;
  min-width:260px;
  z-index:500;
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
/* Bridge: invisible 10px gap filler so mouse doesn't "leave" the li */
.nav-links>li>a::before{
  content:'';
  position:absolute;
  bottom:-10px;left:0;right:0;
  height:10px;
}
/* Show on li hover — covers both the link AND the dropdown itself */
.nav-links>li:hover .nav-drop,
.nav-links>li:focus-within .nav-drop{
  opacity:1;
  pointer-events:auto;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.nav-drop.wide{
  min-width:580px;
  grid-template-columns:1fr 1fr;
  gap:.2rem;
}
.nav-links>li:hover .nav-drop.wide,
.nav-links>li:focus-within .nav-drop.wide{
  display:grid;
}

.ndrop-label{
  font-size:.62rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);
  padding:.4rem .7rem .2rem;
  grid-column:1/-1;
}
.ndrop-item{
  display:flex;align-items:center;gap:.75rem;
  padding:.6rem .7rem;border-radius:var(--r);
  color:var(--txt);font-size:.86rem;font-weight:500;
  transition:all .16s;text-decoration:none;
}
.ndrop-item:hover{background:var(--light);color:var(--navy);}
.ndrop-ico{
  width:34px;height:34px;border-radius:var(--r);
  background:var(--light);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;flex-shrink:0;transition:background .16s;
}
.ndrop-item:hover .ndrop-ico{background:rgba(27,58,107,.08);}
.ndrop-text strong{display:block;font-size:.84rem;font-weight:700;color:var(--navy);}
.ndrop-text span{font-size:.74rem;color:var(--muted);}
.ndrop-divider{height:1px;background:var(--border);margin:.4rem 0;grid-column:1/-1;}

/* Right: social icons only */
.nav-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0;}
.nav-soc{
  width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:.68rem;font-weight:800;
  text-decoration:none;transition:transform .18s;
  opacity:.75;
}
.nav-soc:hover{transform:scale(1.14);opacity:1;}
.nsoc-fb{background:#1877f2;}
.nsoc-ig{background:linear-gradient(45deg,#f09433,#dc2743,#bc1888);}
.nsoc-yt{background:#cc0000;}

.nav-burger{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;}
@media(max-width:1080px){
  .nav-burger{display:block;}
  .nav-links{
    display:none;flex-direction:column;
    position:absolute;top:100%;left:0;right:0;
    background:var(--navy);
    padding:1rem 1.5rem;gap:.2rem;
    border-top:2px solid var(--gold);
    box-shadow:var(--shh);
  }
  .nav-links.open{display:flex;}
  .nav-links>li{width:100%;}
  .nav-links>li>a{display:block;width:100%;padding:.7rem 1rem;font-size:.95rem;border-radius:var(--r);border:none;}
  .nav-drop,.nav-drop.wide{position:static;transform:none;box-shadow:none;border:none;border-radius:0;padding:.5rem 0 .5rem 1rem;min-width:auto;display:none!important;grid-template-columns:1fr;}
  .nav-right .nav-soc{display:none;}
}

/* ═══════════════════════════════════════════════════════
   HERO — Full screen, aerial video, transparent nav above
   ═══════════════════════════════════════════════════════ */
.hero{
  position:relative;height:100vh;min-height:640px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:var(--navy);
}
.hero-vid{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;opacity:.92;
  filter:brightness(1.12) saturate(1.15) contrast(1.05);
}
.hero-ov{
  position:absolute;inset:0;
  /* Very light bottom-only gradient — video stays crisp and clear */
  background:linear-gradient(
    to bottom,
    transparent 0%,
    transparent 55%,
    rgba(10,20,50,.55) 100%
  );
}
.hero-body{
  position:relative;z-index:2;
  text-align:center;padding:0 1.5rem;
  display:flex;flex-direction:column;align-items:center;
}
.hero-logo{
  width:clamp(200px,36vw,460px);height:auto;
  filter:drop-shadow(0 6px 32px rgba(0,0,0,.65));
  margin-bottom:1.5rem;
}
.hero-org{color:#fff;font-size:clamp(.9rem,2vw,1.35rem);font-weight:700;letter-spacing:.04em;text-shadow:0 2px 12px rgba(0,0,0,.6);margin-bottom:.35rem;}
.hero-501{color:var(--gold);font-size:clamp(.68rem,1.4vw,.85rem);font-weight:700;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.5);}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.35rem;color:rgba(255,255,255,.22);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;}
.hero-scroll span{width:1px;height:30px;background:linear-gradient(to bottom,rgba(232,184,48,.7),transparent);}

/* Faith strip — navy gradient directly under hero */
.faith-strip{
  background:linear-gradient(135deg,#122d55 0%,var(--navy) 40%,var(--water2) 100%);
  padding:5rem 2rem;text-align:center;
}
.faith-h{font-size:clamp(2rem,5vw,3.6rem);color:#fff;margin-bottom:.6rem;line-height:1.1;}
.faith-h em{font-family:'Playfair Display',serif;font-style:italic;color:var(--gold);}
.faith-sub{color:rgba(255,255,255,.68);font-size:1.05rem;max-width:500px;margin:0 auto 2rem;}
.faith-stats{display:flex;gap:2.5rem;flex-wrap:wrap;justify-content:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);margin-top:.5rem;}
.fstat .n{display:block;font-size:2.2rem;font-weight:900;color:var(--gold);line-height:1;}
.fstat .l{display:block;font-size:.66rem;font-weight:700;color:rgba(255,255,255,.42);text-transform:uppercase;letter-spacing:.08em;margin-top:.18rem;}

/* ── SOCIAL BAR ── */
.socbar{background:#0c1a30;border-top:3px solid var(--gold);padding:.8rem 0;}
.socbar-in{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:.55rem;flex-wrap:wrap;padding:0 1.5rem;}
.socbar-lbl{color:var(--gold);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-right:.3rem;}
.sp{display:inline-flex;align-items:center;gap:.38rem;padding:.3rem .85rem;border-radius:50px;font-size:.74rem;font-weight:700;text-decoration:none;transition:all .18s;border:1.5px solid;}
.sp svg{width:11px;height:11px;}
.sp-fb{color:#90c8f0;border-color:rgba(74,143,168,.35);background:rgba(27,58,107,.5);}
.sp-fb:hover{background:#1877f2;color:#fff;border-color:#1877f2;}
.sp-ig{color:#f5d060;border-color:rgba(232,184,48,.3);background:rgba(27,40,80,.5);}
.sp-ig:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366);color:#fff;border-color:#dc2743;}
.sp-yt{color:#f08888;border-color:rgba(220,50,50,.3);background:rgba(27,20,40,.5);}
.sp-yt:hover{background:#cc0000;color:#fff;border-color:#cc0000;}
.sp-gmb{color:#7ed8f0;border-color:rgba(46,112,144,.38);background:rgba(20,50,78,.5);}
.sp-gmb:hover{background:var(--water2);color:#fff;border-color:var(--water2);}
.sp-li{color:#a8d8f5;border-color:rgba(58,143,168,.32);background:rgba(15,35,62,.5);}
.sp-li:hover{background:#0077b5;color:#fff;border-color:#0077b5;}
.sp-wf{color:#c8a8f8;border-color:rgba(61,63,143,.38);background:rgba(40,30,80,.5);}
.sp-wf:hover{background:var(--waf);color:#fff;border-color:var(--waf);}

/* ── PHOTO/IMAGE FRAMES ── */
.pf{border-radius:var(--rxl);overflow:hidden;box-shadow:var(--shh);}
.pf img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s;}
.pf:hover img{transform:scale(1.04);}
.ph500{height:500px;} .ph440{height:440px;} .ph360{height:360px;}
.ph280{height:280px;} .ph220{height:220px;} .ph180{height:180px;}

/* ── GALLERY MOSAIC ── */
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:80px;gap:.75rem;}
.mo-item{border-radius:var(--rl);overflow:hidden;position:relative;cursor:pointer;}
.mo-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.mo-item:hover img{transform:scale(1.05);}
.mo-a{grid-column:span 5;grid-row:span 5;}
.mo-b{grid-column:span 4;grid-row:span 3;}
.mo-c{grid-column:span 3;grid-row:span 3;}
.mo-d{grid-column:span 4;grid-row:span 2;}
.mo-e{grid-column:span 4;grid-row:span 2;}
.mo-f{grid-column:span 4;grid-row:span 2;}
@media(max-width:800px){
  .mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:200px;}
  .mo-a,.mo-b,.mo-c,.mo-d,.mo-e,.mo-f{grid-column:span 1;grid-row:span 1;}
  .mo-a{grid-column:span 2;}
}

/* ── PROGRAM CARDS — flowing, professional ── */
.prog-card{
  background:#fff;border-radius:var(--rxl);
  border:1.5px solid var(--border);
  overflow:hidden;display:flex;flex-direction:column;
  transition:all .22s;text-decoration:none;
  box-shadow:var(--sh);
}
.prog-card:hover{transform:translateY(-5px);box-shadow:var(--shh);border-color:rgba(232,184,48,.4);}
.prog-card-img{height:220px;overflow:hidden;position:relative;}
.prog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.prog-card:hover .prog-card-img img{transform:scale(1.06);}
.prog-card-tag{position:absolute;top:1rem;left:1rem;background:rgba(27,58,107,.88);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .65rem;border-radius:50px;}
.prog-card-tag.flagship{background:var(--waf);}
.prog-card-tag.env{background:var(--green);}
.prog-card-tag.soon{background:rgba(255,107,53,.88);}
.prog-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column;}
.prog-card-body h3{color:var(--navy);margin-bottom:.4rem;}
.prog-card-body p{font-size:.88rem;flex:1;margin-bottom:1rem;}
.prog-card-body .arrow{color:var(--water);font-weight:700;font-size:.84rem;display:inline-flex;align-items:center;gap:.25rem;margin-top:auto;transition:gap .18s,color .18s;}
.prog-card:hover .arrow{gap:.5rem;color:var(--navy);}

/* ── FULL-WIDTH FEATURE BLOCK ── */
.feat-block{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--rxl);overflow:hidden;box-shadow:var(--shh);margin-bottom:2.5rem;}
.feat-block.flip{direction:rtl;}
.feat-block.flip>*{direction:ltr;}
.feat-img{position:relative;min-height:460px;}
.feat-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.feat-block:hover .feat-img img{transform:scale(1.04);}
.feat-img-badge{position:absolute;top:1.25rem;left:1.25rem;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);color:#fff;font-size:.68rem;font-weight:700;padding:.28rem .8rem;border-radius:50px;border:1px solid rgba(255,255,255,.25);}
.feat-img-fb{position:absolute;bottom:1.25rem;left:1.25rem;display:flex;align-items:center;gap:.4rem;background:rgba(24,119,242,.88);color:#fff;font-size:.74rem;font-weight:600;padding:.38rem .9rem;border-radius:50px;text-decoration:none;transition:background .18s;}
.feat-img-fb:hover{background:#1877f2;}
.feat-body{background:#fff;padding:3.5rem 3rem;display:flex;flex-direction:column;justify-content:center;}
.feat-body h2{margin-bottom:.75rem;font-size:clamp(1.5rem,2.8vw,2.1rem);}
.feat-body p{font-size:.95rem;margin-bottom:.8rem;}
.feat-stats{display:flex;gap:1.5rem;flex-wrap:wrap;padding:1.25rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:1rem 0;}
.feat-stats .fs strong{display:block;font-size:1.4rem;font-weight:900;color:var(--navy);}
.feat-stats .fs span{font-size:.66rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
@media(max-width:860px){
  .feat-block,.feat-block.flip{grid-template-columns:1fr;direction:ltr;}
  .feat-img{min-height:300px;}
  .feat-body{padding:2.25rem 2rem;}
}

/* ── QUOTE CARD ── */
.qcard{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--navy) 0%,#1d4080 65%,var(--water2) 100%);
  border-radius:var(--rxl);padding:2.5rem 2.5rem 2rem;
}
.qcard::before{content:'\201C';position:absolute;top:-1rem;left:1.2rem;font-size:9rem;line-height:1;color:rgba(232,184,48,.12);font-family:'Playfair Display',serif;pointer-events:none;}
.qcard p{font-family:'Playfair Display',serif;font-style:italic;font-size:1.06rem;color:rgba(255,255,255,.9);line-height:1.68;margin-bottom:.85rem;position:relative;z-index:1;}
.qcard cite{display:block;font-style:normal;font-size:.74rem;font-weight:700;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;position:relative;z-index:1;}
.qcard cite span{color:rgba(255,255,255,.35);font-weight:400;text-transform:none;letter-spacing:0;}

/* ── SCRIPTURE FUN ── */
.scrip{display:flex;gap:.8rem;align-items:flex-start;background:linear-gradient(135deg,rgba(232,184,48,.09),rgba(58,143,168,.06));border:1.5px solid rgba(232,184,48,.3);border-radius:var(--rl);padding:1rem 1.2rem;margin:1.25rem 0;}
.scrip-icon{font-size:1.35rem;flex-shrink:0;margin-top:.05rem;}
.scrip p{font-family:'Playfair Display',serif;font-style:italic;color:var(--navy);font-size:.93rem;font-weight:600;margin:0;line-height:1.6;}

/* ── CONSERVATION STRIP ── */
.con-strip{background:linear-gradient(135deg,#0a3d2e,#0f5c3e 55%,#1a5a70);border-radius:var(--rxl);padding:2.25rem;display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap;}
.con-strip-ico{font-size:3rem;flex-shrink:0;}
.con-strip h3{color:#fff;margin-bottom:.3rem;}
.con-strip p{color:rgba(255,255,255,.68);font-size:.9rem;margin:0;}
.con-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.75rem;}
.con-tag{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.78);font-size:.7rem;font-weight:700;padding:.2rem .7rem;border-radius:50px;}

/* ── MAP LOCATIONS ── */
.map-card{background:#fff;border-radius:var(--rxl);padding:1.75rem;box-shadow:var(--sh);border:1px solid var(--border);transition:all .2s;}
.map-card:hover{transform:translateY(-3px);box-shadow:var(--shh);}
.map-pin{font-size:2rem;margin-bottom:.65rem;display:block;}
.map-card h4{font-size:1rem;color:var(--navy);margin-bottom:.3rem;}
.map-card p{font-size:.85rem;color:var(--muted);}

/* ── CONTACT ── */
.c-link{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.1rem;border:1.5px solid var(--border);border-radius:var(--rl);text-decoration:none;color:var(--txt);background:#fff;transition:all .2s;}
.c-link:hover{border-color:var(--gold);background:rgba(232,184,48,.04);transform:translateY(-2px);box-shadow:var(--sh);}
.c-ico{width:40px;height:40px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:800;flex-shrink:0;}
.c-lbl{font-weight:700;font-size:.92rem;color:var(--navy);display:block;}
.c-sub{font-size:.75rem;color:var(--muted);}

/* ── FORM ── */
.form-card{background:#fff;border-radius:var(--rxl);padding:2.5rem;box-shadow:var(--sh);border:1px solid var(--border);}
.fg{margin-bottom:1.1rem;}
.fg label{display:block;font-size:.82rem;font-weight:600;color:var(--navy);margin-bottom:.35rem;}
.fg input,.fg select,.fg textarea{width:100%;padding:.65rem 1rem;border:1.5px solid var(--border);border-radius:var(--r);font-family:'Inter',sans-serif;font-size:.92rem;color:var(--txt);background:#fff;transition:border-color .18s;}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--water);box-shadow:0 0 0 3px rgba(58,143,168,.1);}
.fg textarea{min-height:110px;resize:vertical;}
.ok-msg{display:none;padding:.9rem 1.1rem;background:rgba(10,124,94,.08);border-left:3px solid var(--teal);border-radius:var(--r);color:var(--navy);font-weight:700;font-size:.88rem;margin-top:.85rem;}

/* ── GIVE CARDS ── */
.give-card{background:#fff;border-radius:var(--rxl);padding:2rem;border:2px solid var(--border);display:flex;flex-direction:column;box-shadow:var(--sh);transition:all .22s;}
.give-card:hover{border-color:var(--coral);transform:translateY(-3px);box-shadow:var(--shh);}
.give-card .gc-ico{font-size:2.2rem;margin-bottom:.65rem;}
.give-card h3{color:var(--navy);margin-bottom:.45rem;}
.give-card p{font-size:.9rem;flex:1;margin-bottom:.85rem;}
.give-card .gc-imp{background:var(--light);border-radius:var(--r);padding:.65rem .9rem;font-size:.8rem;color:var(--body);margin-bottom:1.1rem;}
.give-card .gc-imp strong{color:var(--navy);}

/* ── PAGE HERO ── */
.page-hero{background:linear-gradient(135deg,var(--navy) 0%,#1d4080 55%,var(--water2) 100%);padding:8rem 2rem 4.5rem;text-align:center;position:relative;}
.page-hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:52px;background:#fff;clip-path:ellipse(55% 100% at 50% 100%);}
.page-hero.bg-light::after{background:var(--light);}
.page-hero.bg-sand::after{background:var(--sand);}
.page-hero h1{color:#fff;}
.page-hero p{color:rgba(255,255,255,.65);max-width:540px;margin:.8rem auto 0;font-size:1.04rem;}

/* ── FOOTER ── */
.footer{background:#0c1a30;color:rgba(255,255,255,.55);padding:5rem 2rem 0;}
.footer-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1.4fr 1.3fr;gap:3rem;}
@media(max-width:880px){.footer-in{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.footer-in{grid-template-columns:1fr;gap:2rem;}}
.f-logo img{height:64px;width:auto;margin-bottom:.75rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));}
.f-tag{font-family:'Playfair Display',serif;font-style:italic;font-size:.92rem;color:var(--gold);display:block;margin-bottom:.5rem;}
.footer h4{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:.8rem;}
.footer ul{list-style:none;}
.footer ul li{margin-bottom:.38rem;}
.footer ul a{color:rgba(255,255,255,.48);font-size:.85rem;transition:color .16s;}
.footer ul a:hover{color:var(--gold);}
.f-socials{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:1rem;}
.fsi{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:#fff;text-decoration:none;transition:transform .16s;}
.fsi:hover{transform:scale(1.12);}
.fsi-fb{background:#1877f2;} .fsi-ig{background:linear-gradient(45deg,#f09433,#dc2743,#bc1888);}
.fsi-yt{background:#cc0000;} .fsi-gmb{background:var(--water2);} .fsi-li{background:#0077b5;} .fsi-waf{background:var(--waf);}
.f-legal{font-size:.68rem;color:rgba(255,255,255,.2);margin-top:.9rem;line-height:1.8;}
.footer-bot{border-top:1px solid rgba(255,255,255,.07);margin-top:3.5rem;padding:1.4rem 0;text-align:center;}
.footer-bot p{font-size:.74rem;color:rgba(255,255,255,.18);margin:0;}

/* ── MISC ── */
.wave-dn{background:#fff;line-height:0;}
.wave-dn svg{display:block;width:100%;}
.wave-up{background:var(--navy);line-height:0;}
.wave-up svg{display:block;width:100%;}
.tag-pill{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.22rem .72rem;border-radius:50px;}
.tp-waf{background:rgba(61,63,143,.1);color:var(--waf);}
.tp-teal{background:rgba(10,124,94,.1);color:var(--teal);}
.tp-coral{background:rgba(255,107,53,.1);color:var(--coral);}
.tp-water{background:rgba(58,143,168,.1);color:var(--water2);}
.tp-gold{background:rgba(232,184,48,.12);color:#b8860b;}
.stat-bar{background:var(--gold);padding:2.5rem 0;}
.stat-bar .n{font-size:3rem;font-weight:900;color:var(--navy);display:block;line-height:1;}
.stat-bar .l{font-size:.72rem;font-weight:700;color:rgba(27,58,107,.55);text-transform:uppercase;letter-spacing:.07em;margin-top:.22rem;display:block;}
.fish-strip{background:linear-gradient(180deg,var(--navy),#2a7090 60%,#1a4a5a);padding:4rem 0;position:relative;overflow:hidden;}
.fish{position:absolute;opacity:.1;animation:swim 14s linear infinite;}
.fish:nth-child(1){top:20%;font-size:1.7rem;animation-duration:16s;}
.fish:nth-child(2){top:56%;font-size:1.25rem;animation-delay:-6s;animation-duration:12s;}
.fish:nth-child(3){top:78%;font-size:2rem;animation-delay:-10s;animation-duration:18s;}
@keyframes swim{from{left:-8%}to{left:108%}}
.vid-wrap{border-radius:var(--rxl);overflow:hidden;box-shadow:var(--shh);}
.vid-wrap video{width:100%;display:block;}

/* ============================================================
   RTM MOTION — additive CSS. Zero font/color changes.
   ============================================================ */

/* ── HERO VIDEO PARALLAX base ── */
.hero{overflow:hidden;}
.hero-vid{
  will-change:transform;
  transform:scale(1.06) translateY(0);
  transition:none; /* JS handles this */
}

/* ── IMAGE CONTAINERS — overflow hidden for wipe reveal ── */
.pf, .feat-img, .vid-wrap, .mo-item{
  overflow:hidden;
}
.pf img, .feat-img img{
  will-change:transform;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}

/* ── CARD 3D TILT BASE ── */
.prog-card, .qcard, .give-card, .gcat{
  will-change:transform;
  transform-style:preserve-3d;
}

/* ── SMOOTH SCROLL SITE-WIDE ── */
html{scroll-behavior:smooth;}

/* ── CURSOR CROSSHAIR on interactive cards ── */
.prog-card, .gcat{cursor:pointer;}

/* ── BUTTON MAGNETIC BASE ── */
.btn-give, .btn-gold, .btn-waf{
  will-change:transform;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

/* ── SCROLL PROGRESS BAR (added by JS, this just ensures it's on top) ── */
/* bar element created inline in motion.js */

/* ── WORD SPLIT ANIMATION containers ── */
.rtm-word{overflow:hidden;vertical-align:bottom;}

/* ── SECTION ENTRANCE — initial state for wipe ── */
.pf, .feat-img, .vid-wrap, .mo-item{
  /* JS adds clip-path on intersection */
}

/* ── FAITH STRIP — slight scale on enter ── */
.faith-strip{
  transform-origin:center top;
}

/* ── NAV GLASS on scroll (JS adds backdrop-filter) ── */
.nav{
  transition:background .3s ease, backdrop-filter .3s ease;
}

/* ── STAT NUMBER PULSE when counted ── */
@keyframes statPop{
  0%{transform:scale(1);}
  50%{transform:scale(1.18);}
  100%{transform:scale(1);}
}
.fstat .n[data-counted]{animation:statPop .4s cubic-bezier(.22,1,.36,1);}

/* ── FISH SMOOTH PATH ── */
.fish{
  position:absolute;
  font-size:1.5rem;
  pointer-events:none;
  will-change:transform, left, top;
  /* JS removes old animation, replaces with rAF */
  animation:none!important;
}

/* ── SECTION REVEAL — initial state handled by JS ── */
/* (JS sets opacity:0 transform:translateY(32px) on targets) */

/* ── HOVER LIFT extras for feat-block ── */
.feat-block{
  transition:box-shadow .3s ease;
}
.feat-block:hover{
  box-shadow:0 24px 72px rgba(27,58,107,.16);
}

/* ── CON STRIP HOVER FLOAT ── */
.con-strip{
  transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s;
}
.con-strip:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 48px rgba(10,92,62,.18);
}

/* ── SOCIAL BAR PILL HOVER ── */
.sp{
  transition:all .22s cubic-bezier(.22,1,.36,1);
}
.sp:hover{
  transform:translateY(-3px) scale(1.06);
}

/* ── FOOTER SOCIAL ICON BOUNCE ── */
.fsi{
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
.fsi:hover{
  transform:scale(1.22) translateY(-2px);
}

/* ── NAV PILL HOVER UNDERLINE SWEEP ── */
.nav-links>li>a{
  position:relative;
  overflow:hidden;
}
.nav-links>li>a::after{
  content:'';
  position:absolute;
  bottom:6px;left:50%;right:50%;
  height:2px;
  background:var(--gold);
  border-radius:2px;
  transition:left .25s cubic-bezier(.22,1,.36,1), right .25s cubic-bezier(.22,1,.36,1);
}
.nav-links>li>a:hover::after{
  left:12px;right:12px;
}

/* ── PROGRAM CARD IMAGE SCALE ── */
.prog-card-img{overflow:hidden;}
.prog-card-img img{
  transition:transform .55s cubic-bezier(.22,1,.36,1), filter .4s;
  filter:brightness(.92) saturate(1.05);
}
.prog-card:hover .prog-card-img img{
  transform:scale(1.08);
  filter:brightness(1) saturate(1.12);
}

/* ── GALLERY CARD PEEK LAYER ── */
.gcat-peek{
  transition:opacity .38s ease;
}

/* ── SCRIP BLOCK SLIDE ── */
.scrip{
  transition:transform .4s cubic-bezier(.22,1,.36,1), box-shadow .3s;
}
.scrip:hover{
  transform:translateX(6px);
  box-shadow:4px 0 20px rgba(232,184,48,.12);
}

/* ── REDUCE MOTION OVERRIDE — respect user preference ── */
@media(prefers-reduced-motion:reduce){
  *{
    animation-duration:.01ms!important;
    transition-duration:.01ms!important;
  }
  .fish{display:none;}
}


/* ── PHOTO REEL STRIP ── */
.reel-track-outer{overflow:hidden;cursor:grab;user-select:none;}
.reel-track-outer:active{cursor:grabbing;}
.reel-track{
  display:flex;gap:1rem;
  width:max-content;
  animation:reelScroll 55s linear infinite;
}
.reel-track:hover{animation-play-state:paused;}
.reel-item{
  flex:0 0 260px;
  display:flex;flex-direction:column;gap:.55rem;
}
.reel-img-wrap{
  height:190px;border-radius:14px;overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,.35);
  flex-shrink:0;
}
.reel-img-wrap img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.reel-item:hover .reel-img-wrap img{transform:scale(1.06);}
.reel-cap{
  color:rgba(255,255,255,.45);font-size:.72rem;
  text-align:center;line-height:1.4;
  font-style:italic;padding:0 .25rem;
  transition:color .2s;
}
.reel-item:hover .reel-cap{color:rgba(232,184,48,.8);}
@keyframes reelScroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
@media(max-width:640px){
  .reel-item{flex:0 0 200px;}
  .reel-img-wrap{height:150px;}
}
@media(prefers-reduced-motion:reduce){
  .reel-track{animation:none;}
}

/* ════════════════════════════════════════════════
   RTM IMPACT AREAS + NAV STICKY + COLOR OVERHAUL
   ════════════════════════════════════════════════ */

/* ── STICKY NAV ── */
.nav{
  position:fixed!important;
  top:0;left:0;right:0;
  z-index:1000;
  transition:background .3s, backdrop-filter .3s, box-shadow .3s;
}
body{padding-top:72px;}
.hero{margin-top:-72px;}
.page-hero{margin-top:-72px;padding-top:72px;}

/* ── IMPACT PILL NAV ANCHORS ── */
.impact-pill{
  display:inline-block;
  padding:.45rem 1rem;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.3);
  border-radius:50px;
  color:#fff;
  font-size:.78rem;
  font-weight:600;
  text-decoration:none;
  transition:background .2s, transform .15s;
  backdrop-filter:blur(4px);
}
.impact-pill:hover{background:rgba(232,184,48,.35);transform:translateY(-2px);}

/* ── IMPACT AREA SECTIONS ── */
.impact-header{
  position:relative;
  min-height:280px;
  display:flex;
  align-items:flex-end;
  padding:2.5rem 2rem;
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.impact-header::before{
  content:'';
  position:absolute;inset:0;
  background:inherit;
  background-size:cover;
  background-position:center;
  transform:scale(1.04);
  transition:transform 8s ease;
}
.impact-header:hover::before{transform:scale(1.08);}
.impact-header-ov{
  position:absolute;inset:0;
  z-index:1;
}
.impact-header-text{
  position:relative;z-index:2;
  color:#fff;
}
.impact-num{
  display:block;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(232,184,48,.85);
  margin-bottom:.35rem;
}
.impact-header-text h2{
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  margin:.2rem 0 .5rem;
  color:#fff;
}
.impact-header-text p{
  font-size:.95rem;
  color:rgba(255,255,255,.78);
  max-width:540px;
  line-height:1.6;
}

/* ── IMPACT GRID ── */
.impact-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.5rem;
  margin-bottom:2rem;
}
.impact-card{
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:0 2px 12px rgba(27,58,107,.07);
  transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s;
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
}
.impact-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 48px rgba(27,58,107,.15);
}
.impact-card-img{
  height:200px;
  overflow:hidden;
  background:var(--navy);
}
.impact-card-img img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.22,1,.36,1);
}
.impact-card:hover .impact-card-img img{transform:scale(1.07);}
.impact-card-body{
  padding:1.25rem;
  flex:1;
  display:flex;
  flex-direction:column;
}
.impact-card-body h4{
  color:var(--navy);
  margin:0 0 .4rem;
  font-size:1rem;
}
.impact-card-body p{
  font-size:.88rem;
  color:var(--muted);
  line-height:1.55;
  flex:1;
  margin:0 0 .75rem;
}

/* ── IMPACT GALLERY STRIP ── */
.impact-gallery-strip{
  display:flex;
  gap:.75rem;
  overflow-x:auto;
  padding-bottom:.75rem;
  scrollbar-width:thin;
  scrollbar-color:var(--border) transparent;
  -webkit-overflow-scrolling:touch;
}
.impact-gallery-strip img{
  height:160px;
  width:240px;
  flex-shrink:0;
  object-fit:cover;
  border-radius:10px;
  transition:transform .3s ease, opacity .3s;
  cursor:zoom-in;
}
.impact-gallery-strip img:hover{transform:scale(1.03);opacity:.9;}

/* ── CHARITY STRIP ── */
.charity-strip{
  background:linear-gradient(135deg,#f0f4f8,#e8f0fb);
  padding:3rem 1.5rem;
  border-top:1px solid var(--border);
}
.charity-badges{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  justify-content:center;
}
.charity-badge{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.3rem;
  padding:1rem 1.5rem;
  background:#fff;
  border-radius:12px;
  border:1px solid var(--border);
  text-decoration:none;
  transition:transform .2s, box-shadow .2s, border-color .2s;
  min-width:120px;
  text-align:center;
  box-shadow:0 2px 8px rgba(27,58,107,.07);
}
.charity-badge:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 24px rgba(27,58,107,.14);
  border-color:var(--gold);
}
.cb-icon{font-size:1.6rem;}
.cb-name{font-size:.78rem;font-weight:700;color:var(--navy);}
.cb-desc{font-size:.68rem;color:var(--muted);}

/* ── SECTION BACKGROUND TINTS with RTM colors ── */
.bg-navy-tint{background:linear-gradient(135deg,rgba(27,58,107,.04),rgba(58,143,168,.06));}
.bg-teal-tint{background:linear-gradient(135deg,rgba(10,124,94,.05),rgba(58,143,168,.08));}
.bg-gold-tint{background:linear-gradient(135deg,rgba(232,184,48,.06),rgba(255,107,53,.05));}

/* ── SECTIONS WITH PHOTO BACKGROUND ── */
.sec-bg-photo{
  position:relative;
  overflow:hidden;
}
.sec-bg-photo::before{
  content:'';
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  opacity:.08;
  z-index:0;
}
.sec-bg-photo > *{position:relative;z-index:1;}

/* ── TESTIMONIAL CARDS ── */
.tcard{
  background:#fff;
  border-radius:16px;
  padding:1.5rem;
  box-shadow:0 4px 20px rgba(27,58,107,.09);
  border:1px solid var(--border);
  transition:transform .3s, box-shadow .3s;
}
.tcard:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 32px rgba(27,58,107,.14);
}

/* ── NAV — remove social icon styles ── */
.nav-soc{display:none!important;}

/* ── SECTION color bands using RTM hues ── */
.impact-area{scroll-margin-top:80px;}
.impact-area.alt{background:linear-gradient(180deg,#f4f7fc,#edf2fa)!important;}
.impact-area:not(.alt){background:#fff!important;}

/* ── VIDEO IFRAME WRAPPER ── */
.vid-wrap iframe{
  width:100%;
  height:100%;
  min-height:280px;
  border:none;
  display:block;
}

@media(max-width:768px){
  .impact-header{min-height:200px;padding:1.75rem 1.25rem;}
  .impact-grid{grid-template-columns:1fr;}
  .impact-gallery-strip img{height:130px;width:190px;}
  body{padding-top:60px;}
}

/* ── NAV-OPEN: JS-driven dropdown state (mirrors :hover) ── */
.nav-links>li.nav-open .nav-drop{
  opacity:1!important;
  pointer-events:auto!important;
  visibility:visible!important;
  transform:translateX(-50%) translateY(0)!important;
}
.nav-links>li.nav-open .nav-drop.wide{
  display:grid!important;
}
.nav-links>li.nav-open>a{
  color:#fff!important;
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.25)!important;
}
.nav-links>li.nav-open>a .drop-arr{transform:rotate(180deg);}

/* ── MOBILE NAV-OPEN: expand dropdown inline ── */
@media(max-width:1080px){
  .nav-links>li.nav-open .nav-drop,
  .nav-links>li.nav-open .nav-drop.wide{
    display:flex!important;
    flex-direction:column;
    position:static!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    box-shadow:none!important;
    border:none!important;
    border-radius:0!important;
    padding:.5rem 0 .5rem 1rem!important;
    min-width:auto!important;
    background:rgba(255,255,255,.06)!important;
  }
}


/* ── BASE: prevent horizontal overflow everywhere ── */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}
*, *::before, *::after {
  max-width: 100%;
}

/* ── WRAP padding tightened on small screens ── */
@media (max-width: 600px) {
  .wrap { padding: 0 1rem; }
  .sec  { padding: 3.5rem 0; }
  .sec-md { padding: 2.5rem 0; }
}

/* ── NAV mobile fixes ── */
@media (max-width: 1080px) {
  .nav-inner {
    padding: 0 1rem;
  }
  .nav-logo {
    height: 38px;
    width: auto;
  }
  .nav-right {
    gap: .3rem;
  }
  /* Donate button in nav — smaller on mobile */
  .nav-right .btn-sm {
    font-size: .72rem;
    padding: .38rem .75rem;
    white-space: nowrap;
  }
  /* Mobile menu items */
  .nav-links > li > a {
    padding: .65rem .85rem;
    border-radius: var(--r);
  }
  /* Submenu items indented */
  .nav-links > li.nav-open .nav-drop .ndrop-item {
    padding: .5rem .6rem;
    font-size: .84rem;
  }
  .nav-links > li.nav-open .nav-drop .ndrop-ico {
    width: 28px; height: 28px; font-size: .95rem;
  }
}

/* ── HERO — keep text readable on small screens ── */
@media (max-width: 600px) {
  .hero { min-height: 100svh; }
  .hero-body { padding: 0 1rem !important; bottom: 2.5rem !important; }
  .hero-org  { font-size: .8rem !important; }
  .hero-501  { font-size: .72rem !important; }
  .hero-scroll { display: none; }
}

/* ── FAITH STRIP ── */
@media (max-width: 600px) {
  .faith-strip { padding: 3rem 1rem 2.5rem; }
  .faith-h     { font-size: clamp(1.8rem, 8vw, 2.4rem); }
  .faith-sub   { font-size: .9rem; }
  .faith-stats { gap: 1rem; justify-content: center; flex-wrap: wrap; }
  .fstat       { min-width: 70px; text-align: center; }
  .fstat .n    { font-size: 1.6rem; }
  .btns        { flex-direction: column; align-items: center; gap: .6rem; }
  .btns .btn   { width: 100%; max-width: 320px; justify-content: center; }
}

/* ── SOCIAL BAR ── */
@media (max-width: 640px) {
  .socbar-in {
    flex-wrap: wrap;
    gap: .5rem;
    padding: .75rem 1rem;
    justify-content: center;
  }
  .socbar-lbl { width: 100%; text-align: center; margin-bottom: .1rem; }
  .sp { font-size: .72rem; padding: .3rem .65rem; gap: .3rem; }
}

/* ── SECTION: More Than a Ministry (g2 stacked) ── */
@media (max-width: 700px) {
  .g2 { gap: 2rem; }
  .pf.ph440 { height: 260px; }
}

/* ── FEAT BLOCK — already collapses at 860px, but needs body padding fix ── */
@media (max-width: 600px) {
  .feat-body { padding: 1.75rem 1.25rem; }
  .feat-body h2 { font-size: clamp(1.3rem, 6vw, 1.8rem); }
  .feat-img { min-height: 220px; }
}

/* ── PROGRAM CARDS ── */
@media (max-width: 600px) {
  .prog-card-img { height: 180px; }
  .prog-card-body { padding: 1.1rem; }
}

/* ── CONSERVATION STRIP ── */
@media (max-width: 640px) {
  .con-strip {
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem 1rem;
  }
  .con-strip > div:last-child { width: 100%; }
  .con-strip > div:last-child .btn { width: 100%; text-align: center; }
  .con-tags { gap: .35rem; }
  .con-tag  { font-size: .64rem; }
}

/* ── QUOTE CARDS ── */
@media (max-width: 600px) {
  .qcard { padding: 1.75rem 1.25rem 1.5rem; }
  .qcard p { font-size: .92rem; }
}

/* ── VIDEO SECTION (See the Joy) ── */
@media (max-width: 768px) {
  /* Stack video + testimonials vertically */
  .sec .g2[style*="gap:4rem"] {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .vid-wrap { min-height: 220px; }
  .vid-wrap iframe { min-height: 220px; }
}

/* ── TESTIMONIAL CARDS ── */
@media (max-width: 600px) {
  .tcard { padding: 1.1rem; }
  .tcard img, .tcard > div > div:first-child { width: 44px !important; height: 44px !important; }
}

/* ── PHOTO REEL ── */
@media (max-width: 480px) {
  .reel-item    { flex: 0 0 170px; }
  .reel-img-wrap { height: 130px; }
  .reel-cap     { font-size: .65rem; }
  .photo-reel-sec h2 { font-size: 1.2rem !important; }
}

/* ── FISH STRIP / CTA ── */
@media (max-width: 600px) {
  .fish-strip { padding: 3rem 1rem; }
  .fish-strip h2 { font-size: 1.4rem !important; }
  .fish { display: none; } /* fish distort layout on very small screens */
}

/* ── STAT BAR ── */
@media (max-width: 480px) {
  .stat-bar .wrap { grid-template-columns: 1fr 1fr; gap: 1.25rem; }
  .stat-bar .n    { font-size: 1.5rem; }
}

/* ── PAGE HERO (interior pages) ── */
@media (max-width: 600px) {
  .page-hero { padding: 6rem 1.25rem 3rem; }
  .page-hero h1 { font-size: clamp(1.6rem, 7vw, 2.2rem); }
  .page-hero p  { font-size: .88rem; }
  /* Impact pills — wrap neatly */
  .page-hero .impact-pill { font-size: .7rem; padding: .38rem .8rem; }
}

/* ── IMPACT AREA HEADERS ── */
@media (max-width: 600px) {
  .impact-header { min-height: 180px; padding: 1.25rem 1rem; }
  .impact-header-text h2 { font-size: clamp(1.3rem, 6vw, 1.8rem); }
  .impact-header-text p  { font-size: .82rem; }
  .impact-num { font-size: .6rem; }
}

/* ── IMPACT GRID ── */
@media (max-width: 600px) {
  .impact-grid { gap: 1rem; }
  .impact-card-img { height: 160px; }
  .impact-card-body { padding: 1rem; }
  .impact-card-body h4 { font-size: .92rem; }
}

/* ── IMPACT GALLERY STRIP ── */
@media (max-width: 600px) {
  .impact-gallery-strip img { height: 110px; width: 160px; }
}

/* ── CHARITY STRIP ── */
@media (max-width: 600px) {
  .charity-strip { padding: 2rem 1rem; }
  .charity-badges { gap: .6rem; }
  .charity-badge  { padding: .75rem 1rem; min-width: 100px; }
  .cb-icon { font-size: 1.3rem; }
  .cb-name { font-size: .7rem; }
  .cb-desc { font-size: .6rem; }
}


/* ── TEAM CARDS — 3-column, mobile-first ── */
.team-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  margin-top:3rem;
}
.team-card{
  background:#fff;
  border-radius:var(--rxl,16px);
  overflow:hidden;
  box-shadow:var(--sh,0 4px 20px rgba(27,58,107,.1));
  border:1px solid var(--border);
  display:flex;
  flex-direction:column;
  transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s;
}
.team-card:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 48px rgba(27,58,107,.15);
}
.team-img{
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  background:var(--light,#f4f7fc);
  flex-shrink:0;
}
.team-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  display:block;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.team-card:hover .team-img img{
  transform:scale(1.04);
}
.team-body{
  padding:1.4rem;
  flex:1;
  display:flex;
  flex-direction:column;
  text-align:center;
}
.team-body h3{
  color:var(--navy,#1B3A6B);
  margin:0 0 .3rem;
  font-size:1rem;
}
.team-role{
  display:block;
  font-size:.65rem;
  font-weight:700;
  color:var(--gold,#E8B830);
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:.6rem;
}
.team-body p{
  font-size:.84rem;
  color:var(--muted,#64748b);
  line-height:1.6;
  margin:0;
  flex:1;
}

/* Mobile: stack to 1 column */
@media(max-width:768px){
  .team-grid{
    grid-template-columns:1fr;
    max-width:400px;
    margin-left:auto;
    margin-right:auto;
  }
  .team-img{
    aspect-ratio:4/3;
  }
}

/* Tablet: 2 column, center the third */
@media(min-width:481px) and (max-width:768px){
  .team-grid{
    grid-template-columns:1fr 1fr;
    max-width:100%;
  }
  .team-card:last-child{
    grid-column:1 / -1;
    max-width:50%;
    margin:0 auto;
  }
}

.team-affil{
  display:inline-block;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:.28rem .65rem;
  border-radius:50px;
  background:rgba(27,58,107,.08);
  color:var(--navy,#1B3A6B);
  border:1px solid rgba(27,58,107,.15);
}

/* ── SMILE AGAIN block — stack on mobile ── */
@media(max-width:640px){
  .smile-grid, div[style*="grid-template-columns:1fr 1fr"][style*="FF69B4"]{
    grid-template-columns:1fr!important;
  }
}

/* ══════════════════════════════════════════════════
   GALLERY PAGE
   ══════════════════════════════════════════════════ */
.gal-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,#1B3A6B 0%,#0f2a50 55%,#0a3d2e 100%);
  padding:7rem 0 3.25rem;text-align:center;
}
.gal-hero-in{position:relative;z-index:2;}
.gal-hero h1{color:#fff;font-size:clamp(1.7rem,4.4vw,2.9rem);margin:.25rem 0 .5rem;}
.gal-hero p{color:rgba(255,255,255,.72);max-width:560px;margin:0 auto 1.5rem;font-size:.95rem;}
.gal-pills{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;}
.gal-pill{
  display:inline-block;padding:.42rem 1rem;border-radius:50px;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);
  color:#fff;font-size:.76rem;font-weight:600;text-decoration:none;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  transition:background .2s,transform .18s;
}
.gal-pill:hover{background:rgba(232,184,48,.4);transform:translateY(-2px);}

.gal-section{padding:3.25rem 0;scroll-margin-top:80px;}
.gal-section:nth-child(even){background:linear-gradient(180deg,#f4f7fc,#eef3fa);}
.gal-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem;}
.gal-ico{font-size:1.9rem;line-height:1;flex-shrink:0;}
.gal-head h2{color:var(--navy,#1B3A6B);margin:0 0 .3rem;font-size:clamp(1.2rem,2.6vw,1.7rem);}
.gal-head p{color:var(--muted,#64748b);font-size:.88rem;line-height:1.6;margin:0;max-width:640px;}

.gal-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:.85rem;
}
.gal-tile{
  position:relative;margin:0;overflow:hidden;
  border-radius:12px;aspect-ratio:4/3;
  background:#dde6f2;
  box-shadow:0 2px 10px rgba(27,58,107,.08);
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;
}
.gal-tile:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(27,58,107,.18);}
.gal-tile img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.22,1,.36,1);
}
.gal-tile:hover img{transform:scale(1.06);}

.gal-credit{
  background:#0c1a30;padding:1.5rem 1.25rem;text-align:center;
}
.gal-credit p{color:rgba(255,255,255,.55);font-size:.8rem;margin:0;}
.gal-credit strong{color:#FF69B4;}

/* ══════════════════════════════════════════════════
   THANK YOU BLOCK (Who We Are)
   ══════════════════════════════════════════════════ */
.thanks-block{
  margin-top:2.5rem;
  background:linear-gradient(135deg,#1B3A6B,#14406b 55%,#0a5c47);
  border-radius:var(--rxl,18px);
  padding:2.5rem 2rem;
  position:relative;overflow:hidden;
}
.thanks-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;text-align:center;}
.thanks-ico{font-size:1.9rem;color:#E8B830;display:block;margin-bottom:.6rem;}
.thanks-block h3{color:#fff;margin:0 0 .85rem;font-size:clamp(1.1rem,2.6vw,1.5rem);}
.thanks-block p{color:rgba(255,255,255,.76);font-size:.9rem;line-height:1.7;margin:0 0 .85rem;}
.thanks-sig{
  display:inline-block;margin-top:.4rem;color:#E8B830;
  font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:.95rem;
}

/* ══════════════════════════════════════════════════
   BUBBLES — ambient motion, reusable anywhere
   ══════════════════════════════════════════════════ */
.bubbles{
  position:absolute;inset:0;overflow:hidden;
  pointer-events:none;z-index:1;
}
.bubbles span{
  position:absolute;bottom:-40px;
  border-radius:50%;
  background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.55),rgba(255,255,255,.10) 60%,transparent 70%);
  border:1px solid rgba(255,255,255,.14);
  animation:bubbleRise linear infinite;
}
@keyframes bubbleRise{
  0%{transform:translateY(0) translateX(0) scale(.7);opacity:0;}
  10%{opacity:.75;}
  50%{transform:translateY(-45vh) translateX(14px) scale(1);}
  90%{opacity:.5;}
  100%{transform:translateY(-105vh) translateX(-10px) scale(1.1);opacity:0;}
}
@media(prefers-reduced-motion:reduce){.bubbles{display:none;}}

/* ══════════════════════════════════════════════════
   FULL-BLEED SECTIONS — edge to edge on desktop
   ══════════════════════════════════════════════════ */
html,body{overflow-x:hidden;max-width:100%;}
body{width:100%;}
section,.sec,.sec-md,.impact-area,.charity-strip,
.faith-strip,.fish-strip,.photo-reel-sec,.footer,
.gal-section,.other-ways,.page-hero,.hero{
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}
/* Inner content keeps a comfortable measure but stretches on big screens */
.wrap{
  width:100%;
  max-width:1360px;
  margin:0 auto;
  padding-left:clamp(1rem,4vw,3rem);
  padding-right:clamp(1rem,4vw,3rem);
}
@media(min-width:1600px){ .wrap{max-width:1500px;} }
/* Full-bleed media strips ignore the wrap entirely */
.impact-header,.reel-track-outer,.impact-gallery-strip{width:100%;}

/* ══════════════════════════════════════════════════
   FOOTER — address on one line
   ══════════════════════════════════════════════════ */
.f-legal{line-height:1.75;font-size:.76rem;}
.f-legal .f-addr{white-space:nowrap;}

/* ══════════════════════════════════════════════════
   WATERMARK
   ══════════════════════════════════════════════════ */
.kc-watermark{
  position:absolute!important;
  bottom:6px!important;right:6px!important;
  width:clamp(38px,7%,70px)!important;
  height:auto!important;
  opacity:.85!important;
  pointer-events:none!important;
  z-index:12!important;
  object-fit:contain!important;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.55))!important;
  margin:0!important;
}
/* Never inside team cards */
.team-card .kc-watermark,.team-img .kc-watermark{display:none!important;}

/* ══════════════════════════════════════════════════
   RESPONSIVE — phones and tablets
   ══════════════════════════════════════════════════ */
img{max-width:100%;height:auto;}

/* Tablet */
@media(max-width:1024px){
  .wrap{padding-left:1.5rem;padding-right:1.5rem;}
  .g3{grid-template-columns:1fr 1fr;}
  .g4{grid-template-columns:1fr 1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .gal-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));}
  .impact-grid{grid-template-columns:1fr 1fr;}
}

/* Large phone / small tablet */
@media(max-width:768px){
  .wrap{padding-left:1.1rem;padding-right:1.1rem;}
  .sec{padding:3rem 0;}
  .g2,.g3,.g4{grid-template-columns:1fr;gap:1.5rem;}
  .team-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;}
  .impact-grid{grid-template-columns:1fr;}
  .gal-grid{grid-template-columns:1fr 1fr;gap:.6rem;}
  .gal-hero{padding:6rem 0 2.5rem;}
  .gal-head{flex-direction:column;gap:.5rem;}
  .thanks-block{padding:2rem 1.25rem;}
  .impact-header{min-height:200px;padding:1.5rem 1.1rem;}
  .feat-block{grid-template-columns:1fr;}
  .btns{flex-direction:column;align-items:stretch;}
  .btns .btn{width:100%;justify-content:center;}
  .btns.c{align-items:center;}
  .btns.c .btn{max-width:340px;}
  #rtm-back-btn{left:10px;font-size:12px;padding:6px 12px 6px 9px;}
}

/* Phone */
@media(max-width:600px){
  .sec{padding:2.5rem 0;}
  h1{font-size:clamp(1.5rem,7vw,2.1rem);}
  h2{font-size:clamp(1.25rem,5.5vw,1.7rem);}
  .lead{font-size:.9rem;}
  .gal-pill{font-size:.7rem;padding:.35rem .8rem;}
  .charity-badges{gap:.5rem;}
  .charity-badge{padding:.7rem .9rem;min-width:calc(50% - .5rem);}
  .footer-in{grid-template-columns:1fr;gap:2rem;}
  .socbar-in{flex-wrap:wrap;justify-content:center;gap:.45rem;}
  .socbar-lbl{width:100%;text-align:center;}
  .sp{font-size:.7rem;padding:.28rem .6rem;}
  .impact-gallery-strip img{height:120px;width:170px;}
  .reel-item{flex:0 0 180px;}
  .reel-img-wrap{height:135px;}
  .kc-watermark{width:clamp(30px,11%,52px)!important;bottom:4px!important;right:4px!important;}
}

/* Small phone */
@media(max-width:400px){
  .gal-grid{grid-template-columns:1fr;}
  .charity-badge{min-width:100%;}
  .thanks-block{padding:1.6rem 1rem;}
}

/* Forms never trigger iOS zoom */
@media(max-width:768px){
  input,select,textarea{font-size:16px!important;}
  .form-grid{grid-template-columns:1fr!important;}
}


/* ── TEAM CLOSING CREDENTIAL — title stacked over organisation ── */
.team-title{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.22rem;
  margin:1rem 0 0;
  padding-top:.85rem;
  border-top:1px solid var(--border,#e2e8f0);
}
.team-title .tt-role{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--navy,#1B3A6B);
  line-height:1.3;
}
.team-title .tt-org{
  font-size:.7rem;
  font-weight:500;
  color:var(--muted,#64748b);
  line-height:1.45;
  max-width:95%;
}
@media(max-width:768px){
  .team-title{margin-top:.9rem;padding-top:.75rem;}
  .team-title .tt-role{font-size:.8rem;}
  .team-title .tt-org{font-size:.72rem;}
}

/* ══════════════════════════════════════════════════
   PARTNERS / FEATURED-ON RUNNING BANNER
   ══════════════════════════════════════════════════ */
.partners{
  background:linear-gradient(180deg,#0f2242,#0c1a30);
  padding:2.5rem 0 2.75rem;
  overflow:hidden;
  position:relative;
}
.partners-ey{
  display:block;text-align:center;
  color:rgba(232,184,48,.85)!important;
  margin-bottom:.35rem;
}
.partners-sub{
  text-align:center;
  color:rgba(255,255,255,.45);
  font-size:.84rem;
  margin:0 auto 1.75rem;
  max-width:520px;
}
.partners-track-outer{
  width:100%;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.partners-track{
  display:flex;
  align-items:center;
  gap:2.25rem;
  width:max-content;
  animation:partnersScroll 46s linear infinite;
}
.partners-track:hover{animation-play-state:paused;}
@keyframes partnersScroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
.pt-item{
  display:flex;flex-direction:column;
  align-items:center;gap:.15rem;
  flex-shrink:0;
  padding:.35rem .25rem;
  transition:transform .25s cubic-bezier(.22,1,.36,1);
}
.pt-item:hover{transform:translateY(-3px);}
.pt-name{
  font-family:'Nunito',system-ui,sans-serif;
  font-size:1.15rem;
  font-weight:800;
  letter-spacing:-.01em;
  color:rgba(255,255,255,.88);
  white-space:nowrap;
  line-height:1.2;
}
.pt-item:hover .pt-name{color:#E8B830;}
.pt-kind{
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(255,255,255,.34);
  white-space:nowrap;
}
.pt-dot{
  width:5px;height:5px;border-radius:50%;
  background:rgba(232,184,48,.42);
  flex-shrink:0;
}
@media(max-width:768px){
  .partners{padding:2rem 0 2.25rem;}
  .partners-track{gap:1.5rem;animation-duration:36s;}
  .pt-name{font-size:.95rem;}
  .pt-kind{font-size:.56rem;letter-spacing:.08em;}
  .partners-sub{font-size:.78rem;margin-bottom:1.35rem;}
}
@media(prefers-reduced-motion:reduce){
  .partners-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%;}
}

/* ── PARTNERS: two labelled groups ── */
.partners-group{margin-top:1.1rem;}
.partners-group:first-of-type{margin-top:.25rem;}
.pg-label{
  display:block;text-align:center;
  font-size:.62rem;font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;
  color:rgba(255,255,255,.32);
  margin-bottom:.55rem;
}
.partners-track.pt-slow{animation-duration:52s;}
.partners-track.pt-rev{animation-direction:reverse;animation-duration:44s;}
@media(max-width:768px){
  .partners-track.pt-slow{animation-duration:40s;}
  .partners-track.pt-rev{animation-duration:34s;}
  .partners-group{margin-top:.9rem;}
}

/* ── Show the whole frame (wheelchair must not be cropped) ── */
.img-fit-full{
  object-fit:contain!important;
  object-position:center!important;
  background:#0f2242;
}
.reel-img-wrap .img-fit-full,
.gal-tile .img-fit-full{background:#0f2242;}

/* ══════════════════════════════════════════════════
   LIGHTBOX
   ══════════════════════════════════════════════════ */
.lb-overlay{
  position:fixed;inset:0;z-index:9998;
  background:rgba(8,16,34,.94);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
}
.lb-overlay.is-open{opacity:1;pointer-events:auto;}
.lb-stage{
  margin:0;max-width:92vw;max-height:88vh;
  display:flex;flex-direction:column;align-items:center;gap:.85rem;
  transform:scale(.96);transition:transform .28s cubic-bezier(.22,1,.36,1);
}
.lb-overlay.is-open .lb-stage{transform:scale(1);}
.lb-img{
  max-width:92vw;max-height:78vh;
  width:auto;height:auto;
  border-radius:10px;
  box-shadow:0 24px 70px rgba(0,0,0,.6);
  background:#0f2242;
  display:block;
}
.lb-cap{
  display:flex;align-items:center;gap:.9rem;
  color:rgba(255,255,255,.72);font-size:.82rem;text-align:center;
  max-width:80vw;
}
.lb-count{
  color:rgba(255,255,255,.42);font-size:.72rem;
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.lb-close{
  position:absolute;top:18px;right:20px;
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.2);
  color:#fff;font-size:26px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .18s,transform .18s;
}
.lb-close:hover{background:rgba(255,255,255,.22);transform:scale(1.06);}
.lb-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:50px;height:50px;border-radius:50%;
  background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.2);
  color:#fff;font-size:30px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .18s,transform .18s;
}
.lb-nav:hover{background:rgba(255,255,255,.22);}
.lb-prev{left:22px;}
.lb-next{right:22px;}
.gal-tile img,.gal-grid img{cursor:zoom-in;}
@media(max-width:768px){
  .lb-nav{width:40px;height:40px;font-size:24px;}
  .lb-prev{left:8px;} .lb-next{right:8px;}
  .lb-close{top:10px;right:10px;width:36px;height:36px;font-size:22px;}
  .lb-img{max-height:70vh;}
  .lb-cap{font-size:.76rem;padding:0 .75rem;}
}
@media(prefers-reduced-motion:reduce){
  .lb-overlay,.lb-stage{transition:none;}
}

/* ══════════════════════════════════════════════════
   GALLERY INDEX — category cards
   ══════════════════════════════════════════════════ */
.gcat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:1.25rem;
}
.gcat-card{
  background:#fff;border:1px solid var(--border);
  border-radius:16px;overflow:hidden;
  text-decoration:none;color:inherit;
  display:flex;flex-direction:column;
  box-shadow:0 2px 12px rgba(27,58,107,.07);
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;
}
.gcat-card:hover{transform:translateY(-6px);box-shadow:0 18px 46px rgba(27,58,107,.16);}
.gcat-img{aspect-ratio:16/10;overflow:hidden;background:#dde6f2;position:relative;}
.gcat-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.22,1,.36,1);
}
.gcat-card:hover .gcat-img img{transform:scale(1.07);}
.gcat-body{padding:1.25rem;flex:1;display:flex;flex-direction:column;}
.gcat-ico{font-size:1.5rem;line-height:1;display:block;margin-bottom:.4rem;}
.gcat-body h3{color:var(--navy,#1B3A6B);margin:0 0 .4rem;font-size:1.08rem;}
.gcat-body p{
  color:var(--muted,#64748b);font-size:.86rem;line-height:1.6;
  margin:0 0 .85rem;flex:1;
}
.gcat-cta{
  font-size:.76rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--water,#3A8FA8);
}

/* ---- category page bits ---- */
.gal-back{
  display:inline-block;margin-bottom:.6rem;
  color:rgba(255,255,255,.66);font-size:.8rem;
  font-weight:600;text-decoration:none;
  transition:color .18s;
}
.gal-back:hover{color:#E8B830;}
.gal-hint{
  text-align:center;color:var(--muted,#64748b);
  font-size:.8rem;margin:0 0 1.35rem;
}
.gal-pills-dark .gal-pill{
  background:rgba(27,58,107,.07);
  border:1px solid rgba(27,58,107,.16);
  color:var(--navy,#1B3A6B);
}
.gal-pills-dark .gal-pill:hover{
  background:var(--navy,#1B3A6B);color:#fff;border-color:var(--navy,#1B3A6B);
}
@media(max-width:768px){
  .gcat-grid{grid-template-columns:1fr;}
  .gcat-body{padding:1.1rem;}
}

/* ══════════════════════════════════════════════════
   "HOW WILL YOU MAKE A DIFFERENCE TODAY?"
   ══════════════════════════════════════════════════ */
.diff-overlay{
  position:fixed;inset:0;z-index:9990;
  background:rgba(8,16,34,.72);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:1.25rem;opacity:0;transition:opacity .3s ease;
}
.diff-overlay.is-open{opacity:1;}
.diff-card{
  position:relative;background:#fff;border-radius:22px;
  padding:2.4rem 2rem 1.6rem;max-width:440px;width:100%;
  text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.34);
  transform:translateY(18px) scale(.97);
  transition:transform .34s cubic-bezier(.22,1,.36,1);
  max-height:92vh;overflow-y:auto;
}
.diff-overlay.is-open .diff-card{transform:translateY(0) scale(1);}
.diff-logo{width:56px;height:auto;margin:0 auto .8rem;display:block;}
.diff-card h2{
  color:var(--navy,#1B3A6B);font-size:clamp(1.25rem,4vw,1.6rem);
  line-height:1.25;margin:0 0 .5rem;
}
.diff-card > p{
  color:var(--muted,#64748b);font-size:.88rem;
  line-height:1.55;margin:0 0 1.35rem;
}
.diff-actions{display:flex;flex-direction:column;gap:.6rem;}
.diff-btn{
  display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;
  border:1.5px solid var(--border,#e2e8f0);border-radius:14px;
  text-decoration:none;text-align:left;background:#fff;
  transition:border-color .18s,background .18s,transform .18s;
}
.diff-btn:hover{
  border-color:var(--navy,#1B3A6B);background:#f6f9fd;transform:translateY(-2px);
}
.diff-btn strong{display:block;color:var(--navy,#1B3A6B);font-size:.95rem;line-height:1.2;}
.diff-btn em{display:block;font-style:normal;color:var(--muted,#64748b);font-size:.76rem;margin-top:.1rem;}
.diff-ico{
  font-size:1.2rem;width:40px;height:40px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:var(--light,#f4f7fc);
}
.diff-give{border-color:rgba(255,107,53,.45);background:#fff8f5;}
.diff-give:hover{border-color:#FF6B35;background:#fff2ec;}
.diff-give .diff-ico{background:#FF6B35;color:#fff;}
.diff-close{
  position:absolute;top:12px;right:14px;width:32px;height:32px;
  border-radius:50%;background:transparent;border:none;
  color:var(--muted,#64748b);font-size:24px;line-height:1;
  cursor:pointer;transition:background .18s,color .18s;
}
.diff-close:hover{background:var(--light,#f4f7fc);color:var(--navy,#1B3A6B);}
.diff-later{
  margin-top:1rem;background:none;border:none;
  color:var(--muted,#94a3b8);font-size:.8rem;font-family:inherit;
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;
}
.diff-later:hover{color:var(--navy,#1B3A6B);}
@media(max-width:480px){
  .diff-card{padding:2rem 1.25rem 1.35rem;border-radius:18px;}
  .diff-btn{padding:.75rem .85rem;gap:.7rem;}
  .diff-ico{width:34px;height:34px;font-size:1.05rem;}
}
@media(prefers-reduced-motion:reduce){
  .diff-overlay,.diff-card{transition:none;}
}

/* ══════════════════════════════════════════════════════════════
   FINALIZING BATCH
   1) hard edge-to-edge on desktop   2) Volunteer page + thank-you
   3) Wishing & Fishing drawing      4) Impact by the Numbers
   ══════════════════════════════════════════════════════════════ */

/* 1) EDGE TO EDGE — backgrounds always run to the screen edge; content stays centred inside .wrap */
html,body{width:100%;max-width:none!important;margin-left:0!important;margin-right:0!important;}
.fish-strip,.charity-strip,.faith-strip,.photo-reel-sec,.sec,.footer,.page-hero,.socbar,
.vol-hero,.vol-roles,.vol-signup,.ty-hero,.impact-nums,.waf-crew{width:100%;max-width:none;margin-left:0;margin-right:0;}

/* 2) VOLUNTEER ─────────────────────────────────────────────── */
.vol-hero{background:linear-gradient(135deg,#1B3A6B 0%,#2a7090 48%,#0a7c5e 100%)!important;}
.vol-hero::after{background:#fff7e6!important;}
.vol-hero p{color:rgba(255,255,255,.82);}
.vol-hero-btns{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.6rem;}
.vol-roles{background:linear-gradient(180deg,#fff7e6 0%,#fffdf8 100%);padding:4.5rem 0 5.25rem;}
.vol-roles .lead{max-width:680px;margin:.6rem auto 0;}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.6rem;}
.role{--c:#3A8FA8;--ct:#fff;background:#fff;border-radius:18px;padding:1.5rem 1.4rem 1.3rem;border-top:6px solid var(--c);box-shadow:0 6px 26px rgba(27,58,107,.08);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;}
.role:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(27,58,107,.16);}
.role-ic{width:54px;height:54px;border-radius:16px;background:#f3f6fb;background:color-mix(in srgb,var(--c) 16%,#fff);display:flex;align-items:center;justify-content:center;font-size:1.65rem;}
.role h3{color:var(--navy);font-size:1.12rem;margin:.9rem 0 .35rem;}
.role p{font-size:.88rem;color:var(--muted,#64748b);flex:1;}
.role-pick{margin-top:1rem;align-self:flex-start;background:var(--c);color:var(--ct);border:0;border-radius:50px;padding:.52rem 1.1rem;font-weight:700;font-size:.8rem;cursor:pointer;font-family:inherit;transition:filter .18s,transform .18s;}
.role-pick:hover{filter:brightness(.92);transform:translateY(-1px);}
.vol-quote{max-width:820px;margin:3rem auto 0;text-align:center;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.7;color:var(--navy);padding:1.6rem 1.8rem;border-radius:20px;background:linear-gradient(135deg,rgba(232,184,48,.18),rgba(58,143,168,.14));}

.vol-signup{background:linear-gradient(135deg,#e6f3fb 0%,#e9f7f0 55%,#fff4dc 100%);padding:5rem 0 5.5rem;position:relative;overflow:hidden;}
.vol-signup-in{display:grid;grid-template-columns:5fr 7fr;gap:3.5rem;align-items:start;}
.vol-side h2{margin-bottom:.6rem;}
.vol-steps{list-style:none;margin:1.7rem 0;display:flex;flex-direction:column;gap:1.05rem;padding:0;}
.vol-steps li{display:flex;gap:.9rem;align-items:flex-start;}
.vol-steps b{flex:0 0 40px;height:40px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Nunito',sans-serif;font-weight:900;font-size:1.05rem;background:var(--coral);}
.vol-steps li:nth-child(2) b{background:var(--water);}
.vol-steps li:nth-child(3) b{background:var(--teal);}
.vol-steps strong{display:block;color:var(--navy);}
.vol-steps span{font-size:.86rem;color:var(--muted,#64748b);}
.vol-contact{background:#fff;border-radius:16px;padding:1.1rem 1.25rem;font-size:.88rem;border-left:5px solid var(--gold);box-shadow:0 4px 18px rgba(27,58,107,.08);}
.vol-contact a{color:var(--navy);font-weight:700;}
.vol-form{background:#fff;border-radius:22px;padding:2.1rem 2rem;box-shadow:0 18px 60px rgba(27,58,107,.15);border-top:6px solid var(--gold);}
.vol-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.vol-form fieldset{border:0;margin:0 0 1.2rem;padding:0;}
.vol-form legend{font-weight:700;font-size:.9rem;color:var(--navy);margin-bottom:.45rem;padding:0;}
.vol-form input:focus,.vol-form select:focus,.vol-form textarea:focus{outline:none;border-color:var(--water);box-shadow:0 0 0 4px rgba(58,143,168,.18);}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;}
.chk{display:flex;align-items:center;gap:.6rem;padding:.62rem .8rem;border:1.5px solid var(--border,#e2e8f0);border-radius:12px;font-size:.84rem;cursor:pointer;transition:border-color .16s,background .16s;line-height:1.3;}
.chk:hover{border-color:var(--water);}
.chk input{accent-color:var(--coral);width:18px;height:18px;flex-shrink:0;margin:0;}
.chk.picked{background:#fff4ec;border-color:var(--coral);}
.consent{display:flex;gap:.65rem;align-items:flex-start;font-size:.82rem;color:var(--muted,#64748b);margin:.55rem 0;line-height:1.45;}
.consent input{margin-top:.2rem;width:17px;height:17px;flex-shrink:0;accent-color:var(--coral);}
.vol-submit{width:100%;justify-content:center;margin-top:.9rem;font-size:1rem;}
.vol-submit[disabled]{opacity:.7;cursor:wait;}
.vol-fine{font-size:.76rem;color:var(--muted,#64748b);text-align:center;margin-top:.8rem;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.ty-hero{background:linear-gradient(135deg,#1B3A6B 0%,#2a7090 48%,#0a7c5e 100%)!important;}
.ty-hero::after{background:#fff7e6!important;}
.ty-body{background:linear-gradient(180deg,#fff7e6,#fffdf8);padding:3.5rem 0 5rem;}
.ty-card{max-width:760px;margin:0 auto;background:#fff;border-radius:22px;padding:2.4rem 2.2rem;box-shadow:0 18px 60px rgba(27,58,107,.12);border-top:6px solid var(--gold);text-align:center;}
.ty-card .vol-steps{max-width:460px;margin:1.6rem auto;text-align:left;}
.ty-btns{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.4rem;}

/* 3) WISHING & FISHING DRAWING ─────────────────────────────── */
.waf-crew{background:linear-gradient(135deg,#e9ecff 0%,#e6f3fb 55%,#fff4dc 100%);padding:5rem 0;overflow:hidden;}
.waf-crew-in{display:grid;grid-template-columns:1.1fr 1fr;gap:3.5rem;align-items:center;}
.waf-crew-art{margin:0;background:#fff;padding:.9rem;border-radius:20px;box-shadow:0 22px 60px rgba(27,58,107,.2);transform:rotate(-1.6deg);transition:transform .35s;}
.waf-crew-art:hover{transform:rotate(0) scale(1.02);}
.waf-crew-art img{width:100%;height:auto;border-radius:12px;display:block;}

/* 4) IMPACT BY THE NUMBERS ─────────────────────────────────── */
.impact-nums{background:linear-gradient(135deg,#0f2a50 0%,#1B3A6B 50%,#0a7c5e 100%);padding:4.75rem 0 5rem;color:#fff;position:relative;overflow:hidden;}
.impact-nums[hidden]{display:none;}
.impact-nums h2{color:#fff;}
.impact-nums .lead{color:rgba(255,255,255,.72);max-width:620px;margin:.6rem auto 0;}
.impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.1rem;margin-top:2.6rem;}
.impact-tile{--c:#E8B830;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-bottom:4px solid var(--c);border-radius:18px;padding:1.5rem 1rem 1.3rem;text-align:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .25s,background .25s;}
.impact-tile:hover{transform:translateY(-5px);background:rgba(255,255,255,.14);}
.impact-ic{font-size:1.7rem;margin-bottom:.4rem;}
.impact-num{font-family:'Nunito',sans-serif;font-weight:900;font-size:clamp(2.2rem,4vw,3.1rem);line-height:1;color:var(--c);font-variant-numeric:tabular-nums;}
.impact-lbl{margin-top:.5rem;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.85);}

@media(max-width:1024px){
  .role-grid{grid-template-columns:1fr 1fr;}
  .vol-signup-in,.waf-crew-in{grid-template-columns:1fr;gap:2.2rem;}
  .waf-crew-art{transform:none;max-width:640px;margin:0 auto;}
}
@media(max-width:600px){
  .role-grid,.vol-form .row2,.check-grid{grid-template-columns:1fr;}
  .vol-form{padding:1.5rem 1.15rem;}
  .ty-card{padding:1.8rem 1.2rem;}
  .impact-grid{grid-template-columns:1fr 1fr;gap:.8rem;}
  .impact-tile{padding:1.2rem .7rem 1.1rem;}
}

/* ═══════════════════════════════════════════════════════════════
   HERO TEXT AT BOTTOM  (approved change - Oct 2026)
   The RTM logo lives inside the drone video and fills the middle of the
   screen, so the org name + 501(c)(3) line now sit at the BOTTOM of the
   hero instead of the centre. A soft fade behind them keeps them readable.
   Only positioning changed. The hero HTML, the video, the sizes and the
   mobile rules are untouched.
   ═══════════════════════════════════════════════════════════════ */
.hero-body{
  position:absolute !important;
  left:0;right:0;top:auto;
  bottom:0 !important;
  z-index:2;
  padding:4.5rem 1.25rem clamp(.8rem,2.2vh,1.6rem) !important;
  background:linear-gradient(to top,
    rgba(6,18,46,.80) 0%,
    rgba(6,18,46,.52) 45%,
    rgba(6,18,46,0) 100%);
  pointer-events:none;
}
.hero-org{margin-bottom:.25rem;}
@media (max-width:600px){
  .hero-body{bottom:0 !important;padding:3.5rem 1rem 1.4rem !important;}
}

/* ═══════════════════════════════════════════════════════════════
   NEW HEADER  (clean white bar, big logos, one Donate button)
   Modelled on the simple layout of givelively.org: brand left,
   grouped menus, one clear call to action on the right.
   ═══════════════════════════════════════════════════════════════ */
:root{--hdr:92px;}
@media(max-width:1100px){:root{--hdr:78px;}}
@media(max-width:600px){:root{--hdr:68px;}}

.hdr{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--hdr);background:transparent;box-shadow:0 1px 0 rgba(27,58,107,.08),0 8px 28px rgba(27,58,107,.05);transition:box-shadow .25s;}
.hdr::before{content:'';position:absolute;inset:0;z-index:-1;background:#fff;transition:opacity .3s;pointer-events:none;}
.hdr.is-scrolled{box-shadow:0 1px 0 rgba(27,58,107,.10),0 10px 34px rgba(27,58,107,.12);}
.hdr-in{max-width:1500px;height:100%;margin:0 auto;padding:0 clamp(1rem,2.4vw,2.25rem);display:flex;align-items:center;gap:1.4rem;}

/* brand: RTM + Wishing & Fishing */
.hdr-brand{display:flex;align-items:center;gap:.95rem;flex-shrink:0;}
.hdr-rtm,.hdr-waf{display:flex;align-items:center;text-decoration:none;}
.hdr-rtm img{height:74px;width:auto;display:block;transition:transform .25s;}
.hdr-rtm:hover img{transform:scale(1.04);}
.hdr-sep{width:1px;height:48px;background:#dbe3ef;}
.hdr-waf{gap:.6rem;}
.hdr-waf img{height:62px;width:62px;display:block;transition:transform .25s;}
.hdr-waf:hover img{transform:scale(1.07) rotate(-4deg);}
.hdr-waf-t{font-family:'Nunito',sans-serif;font-weight:800;font-size:.8rem;line-height:1.15;color:var(--navy);}

/* nav */
.hdr-nav{margin-left:auto;display:flex;align-items:center;gap:1.3rem;}
.hdr-list{display:flex;align-items:center;gap:.1rem;list-style:none;margin:0;padding:0;}
.hdr-item{position:relative;display:flex;align-items:center;}
.hdr-link{position:relative;padding:.7rem .8rem;font-weight:700;font-size:.96rem;color:var(--navy);text-decoration:none;border-radius:10px;transition:color .18s,background .18s;white-space:nowrap;}
.hdr-link::after{content:'';position:absolute;left:.8rem;right:.8rem;bottom:.34rem;height:3px;border-radius:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .22s;}
.hdr-item:hover>.hdr-link,.hdr-link:hover{background:#f4f7fc;}
.hdr-item:hover>.hdr-link::after,.hdr-link:hover::after,.hdr-link.is-current::after{transform:scaleX(1);}
.hdr-link.is-current{color:#0f2a50;}
.has-menu>.hdr-link{padding-right:.2rem;}
.hdr-caret{width:24px;height:24px;margin-left:-.1rem;border:0;background:none;cursor:pointer;position:relative;border-radius:6px;}
.hdr-caret::before{content:'';position:absolute;left:50%;top:46%;width:6px;height:6px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:translate(-50%,-60%) rotate(45deg);transition:transform .2s;}
.has-menu:hover .hdr-caret::before,.has-menu.open .hdr-caret::before{transform:translate(-50%,-30%) rotate(-135deg);}
.hdr-caret:focus-visible,.hdr-link:focus-visible,.hdr-burger:focus-visible{outline:3px solid rgba(58,143,168,.55);outline-offset:2px;}

/* dropdowns */
.has-menu::after{content:'';position:absolute;left:0;right:0;top:100%;height:16px;}   /* keeps the menu open while the pointer travels down */
.hdr-menu{position:absolute;top:calc(100% + 8px);left:50%;min-width:300px;padding:.55rem;background:#fff;border:1px solid #e7edf6;border-radius:18px;box-shadow:0 26px 64px rgba(8,20,44,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px);transition:opacity .18s,transform .18s,visibility .18s;}
.has-menu:hover>.hdr-menu,.has-menu:focus-within>.hdr-menu,.has-menu.open>.hdr-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);}
.hdr-menu.wide{min-width:680px;display:grid;grid-template-columns:1fr 1fr;gap:.15rem .4rem;}
.hdr-gh{display:flex;align-items:center;gap:.8rem;padding:.7rem .8rem;border-radius:12px;text-decoration:none;color:var(--navy);border-left:4px solid transparent;transition:background .16s,color .16s,border-color .16s;}
.hdr-ic{width:40px;height:40px;flex-shrink:0;border-radius:12px;background:#f3f6fb;display:flex;align-items:center;justify-content:center;font-size:1.15rem;transition:background .16s;}
.hdr-gh strong{display:block;font-size:.93rem;line-height:1.25;}
.hdr-gh small{display:block;font-size:.75rem;color:#64748b;line-height:1.35;margin-top:1px;transition:color .16s;}
.hdr-gh:hover,.hdr-gh:focus-visible{background:var(--navy);color:#fff;border-left-color:var(--gold);outline:none;}   /* clear colour change so you know where you are */
.hdr-gh:hover small,.hdr-gh:focus-visible small{color:rgba(255,255,255,.8);}
.hdr-gh:hover .hdr-ic,.hdr-gh:focus-visible .hdr-ic{background:var(--gold);}
.hdr-subs{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 .8rem .6rem 4.1rem;}
.hdr-subs a{font-size:.76rem;font-weight:600;padding:.28rem .72rem;border-radius:50px;background:#eef3fa;color:var(--navy);text-decoration:none;border:1px solid #dbe5f3;transition:background .16s,color .16s,border-color .16s;}
.hdr-subs a:hover,.hdr-subs a:focus-visible{background:var(--gold);border-color:var(--gold);color:#14213d;outline:none;}

/* the one button */
.hdr-give{display:inline-flex;align-items:center;gap:.45rem;padding:.78rem 1.45rem;border-radius:50px;background:var(--coral,#FF6B35);color:#fff!important;font-weight:800;font-size:.94rem;text-decoration:none;box-shadow:0 6px 20px rgba(255,107,53,.34);transition:transform .18s,box-shadow .18s,background .18s;white-space:nowrap;}
.hdr-give:hover{transform:translateY(-2px);background:#f25c24;box-shadow:0 10px 28px rgba(255,107,53,.45);}
.hdr-give-m{display:none;}

.hdr-burger{display:none;width:46px;height:46px;border:0;background:#f4f7fc;border-radius:12px;cursor:pointer;position:relative;flex-shrink:0;}
.hdr-burger span{position:absolute;left:12px;right:12px;height:3px;border-radius:3px;background:var(--navy);transition:transform .22s,opacity .18s,top .22s;}
.hdr-burger span:nth-child(1){top:15px}.hdr-burger span:nth-child(2){top:22px}.hdr-burger span:nth-child(3){top:29px}
.hdr.open .hdr-burger span:nth-child(1){top:22px;transform:rotate(45deg)}
.hdr.open .hdr-burger span:nth-child(2){opacity:0}
.hdr.open .hdr-burger span:nth-child(3){top:22px;transform:rotate(-45deg)}

/* page content now starts BELOW the header (it is solid white, so nothing hides underneath) */
body{padding-top:var(--hdr)!important;}
body.hdr-lock{overflow:hidden;}
.hero{margin-top:calc(-1 * var(--hdr))!important;height:100vh;min-height:640px;}   /* the drone video runs to the very top of the screen */
.page-hero{margin-top:0!important;padding-top:clamp(3.5rem,6vw,5rem)!important;}
.impact-area,.gal-section,section[id]{scroll-margin-top:calc(var(--hdr) + 8px);}

@media(max-width:1280px){.hdr-waf-t{display:none;}}
@media(max-width:1100px){
  .hdr-rtm img{height:60px;} .hdr-waf img{height:50px;width:50px;} .hdr-sep{height:38px;}
  .hdr-burger{display:block;margin-left:0;}
  .hdr-give-m{display:inline-flex;margin-left:auto;padding:.62rem 1.1rem;font-size:.86rem;}
  .hdr-nav{position:fixed;top:var(--hdr);left:0;right:0;bottom:0;margin:0;flex-direction:column;align-items:stretch;gap:1rem;padding:.8rem 1.25rem 2.5rem;background:#fff;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .28s,visibility .28s;border-top:1px solid #e7edf6;}
  .hdr.open .hdr-nav{transform:none;visibility:visible;}
  .hdr-list{flex-direction:column;align-items:stretch;gap:0;}
  .hdr-item{flex-wrap:wrap;border-bottom:1px solid #eef2f8;}
  .hdr-link{flex:1;padding:1.05rem .4rem;font-size:1.08rem;border-radius:0;}
  .hdr-link::after{display:none;}
  .hdr-item:hover>.hdr-link,.hdr-link:hover{background:none;}
  .hdr-link.is-current{color:var(--coral,#FF6B35);}
  .has-menu>.hdr-link{padding-right:.4rem;}
  .hdr-caret{width:44px;height:44px;margin:0;}
  .has-menu::after{display:none;}
  .hdr-menu,.hdr-menu.wide{position:static;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;display:none;min-width:0;width:100%;box-shadow:none;border:0;border-radius:14px;background:#f6f9fd;padding:.4rem;margin:0 0 .8rem;}
  .has-menu.open>.hdr-menu{display:block;}
  .has-menu.open>.hdr-menu.wide{display:grid;grid-template-columns:1fr;}
  .has-menu:hover>.hdr-menu:not(.x){opacity:1;}
  .hdr-subs{padding-left:4rem;}
  .hdr-nav>.hdr-give{display:none;}
}
@media(max-width:600px){
  .hdr-rtm img{height:52px;} .hdr-waf img{height:44px;width:44px;} .hdr-brand{gap:.6rem;} .hdr-in{gap:.6rem;}
  .hdr-give-m{padding:.55rem .95rem;font-size:.82rem;}
}
@media(max-width:600px){.hero{min-height:100svh!important;}}
@media(prefers-reduced-motion:reduce){.hdr *{transition:none!important;}}

/* header logos: no dark glow on the white bar, and never inherit old logo sizing */
.hdr .nav-logo{filter:none!important;height:74px;width:auto;margin:0;flex-shrink:0;}
.hdr .waf-logo{filter:none!important;margin:0;border-radius:50%;}
@media(max-width:1100px){.hdr .nav-logo{height:60px;}}
@media(max-width:600px){.hdr .nav-logo{height:52px;}}

/* the floating Back button always sits just below the header */
#rtm-back-btn{top:calc(var(--hdr,72px) + 12px)!important;}

/* ═════ HEADER COLOUR OPTIONS  (class on <header class="hdr ...">) ═════
   hdr--accent : white with a soft tint and a brand-colour strip along the bottom   (default)
   hdr--navy   : full navy brand bar with white links
   (neither)   : plain white                                                           */
.hdr--accent::before{background:linear-gradient(180deg,#ffffff 0%,#f2f7fd 100%);}
.hdr--accent::after,.hdr--navy::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;transition:opacity .3s;background:linear-gradient(90deg,var(--gold,#E8B830) 0%,var(--teal,#0a7c5e) 38%,var(--water,#3A8FA8) 68%,var(--navy,#1B3A6B) 100%);pointer-events:none;}
.hdr--navy::before{background:linear-gradient(135deg,#0d2347 0%,#1B3A6B 55%,#1f5a86 100%);}
.hdr--navy .hdr-link{color:#fff;}
.hdr--navy .hdr-link.is-current{color:var(--gold,#E8B830);}
.hdr--navy .hdr-item:hover>.hdr-link,.hdr--navy .hdr-link:hover{background:rgba(255,255,255,.13);}
.hdr--navy .hdr-caret::before{border-color:#fff;}
.hdr--navy .hdr-waf-t{color:#fff;}
.hdr--navy .hdr-sep{background:rgba(255,255,255,.3);}
.hdr--navy .nav-logo{filter:drop-shadow(0 2px 10px rgba(0,0,0,.45))!important;}
.hdr--navy .hdr-burger{background:rgba(255,255,255,.15);}
.hdr--navy .hdr-burger span{background:#fff;}
@media(max-width:1100px){
  /* the phone menu panel stays white, so its links go back to navy */
  .hdr--navy .hdr-nav .hdr-link{color:var(--navy);}
  .hdr--navy .hdr-nav .hdr-link.is-current{color:var(--coral,#FF6B35);}
  .hdr--navy .hdr-nav .hdr-link:hover{background:none;}
  .hdr--navy .hdr-nav .hdr-caret::before{border-color:var(--navy);}
}

/* ═════ HOME PAGE ONLY: header floats over the drone video, turns solid once you scroll ═════ */
.hdr--over{box-shadow:none!important;background-image:linear-gradient(to bottom,rgba(6,18,46,.66) 0%,rgba(6,18,46,.34) 62%,rgba(6,18,46,0) 100%);}
.hdr--over::before,.hdr--over::after{opacity:0;}
.hdr--over .hdr-link{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.45);}
.hdr--over .hdr-item:hover>.hdr-link,.hdr--over .hdr-link:hover{background:rgba(255,255,255,.17);}
.hdr--over .hdr-link.is-current{color:var(--gold,#E8B830);}
.hdr--over .hdr-caret::before{border-color:#fff;}
.hdr--over .hdr-waf-t{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5);}
.hdr--over .hdr-sep{background:rgba(255,255,255,.45);}
.hdr--over .nav-logo,.hdr--over .waf-logo{filter:drop-shadow(0 3px 14px rgba(0,0,0,.55))!important;}
.hdr--over .hdr-burger{background:rgba(255,255,255,.2);}
.hdr--over .hdr-burger span{background:#fff;}
@media(max-width:1100px){
  .hdr--over .hdr-nav .hdr-link{color:var(--navy);text-shadow:none;}
  .hdr--over .hdr-nav .hdr-link.is-current{color:var(--coral,#FF6B35);}
  .hdr--over .hdr-nav .hdr-caret::before{border-color:var(--navy);}
}

/* ═════ HEADER LOGOS: same height, centred, so the pair looks symmetrical ═════ */
.hdr-brand{align-items:center;gap:1rem;}
.hdr-rtm,.hdr-waf{height:72px;align-items:center;}
.hdr .nav-logo{height:72px!important;width:auto;}
.hdr .waf-logo{height:72px!important;width:72px!important;}
.hdr-sep{height:56px;}
@media(max-width:1100px){.hdr-rtm,.hdr-waf{height:58px;}.hdr .nav-logo{height:58px!important;}.hdr .waf-logo{height:58px!important;width:58px!important;}.hdr-sep{height:44px;}}
@media(max-width:600px){.hdr-rtm,.hdr-waf{height:48px;}.hdr .nav-logo{height:48px!important;}.hdr .waf-logo{height:48px!important;width:48px!important;}.hdr-sep{height:38px;}.hdr-brand{gap:.6rem;}}

/* ═════ COMPACT FOOTER ═════ */
.ft{background:linear-gradient(135deg,#0d2347 0%,#1B3A6B 60%,#1f5a86 100%);color:#fff;padding:2.2rem 1.25rem 1.1rem;}
.ft-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;flex-wrap:wrap;}
.ft-brand{display:flex;align-items:center;gap:.9rem;}
.ft-brand img{height:64px;width:auto;display:block;}
.ft-brand b{display:block;font-family:'Nunito',sans-serif;font-weight:800;font-size:1.05rem;}
.ft-brand span{font-size:.8rem;color:rgba(255,255,255,.72);}
.ft-links{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;}
.ft-links a{color:rgba(255,255,255,.9);text-decoration:none;font-weight:600;font-size:.92rem;padding:.25rem 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s;}
.ft-links a:hover{color:var(--gold);border-color:var(--gold);}
.ft-right{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;}
.ft-soc{display:flex;gap:.45rem;}
.ft-soc a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;text-decoration:none;transition:background .2s,transform .2s;}
.ft-soc a:hover{background:var(--gold);color:#14213d;transform:translateY(-2px);}
.ft-legal{max-width:1200px;margin:1.4rem auto 0;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.14);font-size:.76rem;color:rgba(255,255,255,.6);text-align:center;line-height:1.6;}
.ft-legal a{color:inherit;}
@media(max-width:760px){.ft-in{flex-direction:column;align-items:flex-start;}}

/* ═════ CHAT BOX (bottom right) ═════ */
#cw{position:fixed;right:18px;bottom:18px;z-index:950;font-family:'Inter',sans-serif;}
.cw-fab{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.3rem;border:0;border-radius:50px;background:var(--coral,#FF6B35);color:#fff;font:800 .95rem 'Nunito',sans-serif;cursor:pointer;box-shadow:0 10px 30px rgba(255,107,53,.45);transition:transform .2s,box-shadow .2s;}
.cw-fab:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(255,107,53,.55);}
.cw-ic{font-size:1.15rem;line-height:1;}
.cw-tease{position:absolute;right:0;bottom:62px;width:max-content;max-width:250px;background:#fff;color:var(--navy);padding:.7rem 1rem;border-radius:14px 14px 4px 14px;font-weight:700;font-size:.86rem;box-shadow:0 14px 36px rgba(8,20,44,.22);animation:cwPop .35s ease;}
.cw-tease[hidden]{display:none;}
@keyframes cwPop{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
.cw-panel{position:absolute;right:0;bottom:62px;width:350px;max-width:calc(100vw - 36px);background:#fff;border-radius:20px;box-shadow:0 26px 70px rgba(8,20,44,.35);overflow:hidden;animation:cwPop .25s ease;}
.cw-panel[hidden]{display:none;}
.cw-head{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;background:linear-gradient(135deg,#1B3A6B,#2a7090);color:#fff;}
.cw-head b{display:block;font-size:.95rem;}.cw-head small{font-size:.74rem;color:rgba(255,255,255,.8);}
.cw-av{width:40px;height:40px;border-radius:50%;background:var(--gold,#E8B830);display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.cw-x{margin-left:auto;background:none;border:0;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;}
.cw-body{padding:1rem;max-height:min(70vh,520px);overflow-y:auto;}
.cw-bub{background:#f1f5fb;color:var(--navy);padding:.75rem .95rem;border-radius:14px 14px 14px 4px;font-weight:600;font-size:.92rem;margin:0 0 .85rem;}
.cw-acts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem;}
.cw-act{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.8rem .5rem;border-radius:12px;background:#eef3fa;color:var(--navy);font-weight:800;font-size:.86rem;text-decoration:none;border:2px solid transparent;transition:background .15s,border-color .15s,transform .15s;}
.cw-act:hover{background:#fff;border-color:var(--gold,#E8B830);transform:translateY(-2px);}
.cw-give{background:var(--coral,#FF6B35);color:#fff;}.cw-give:hover{background:#f25c24;color:#fff;border-color:transparent;}
.cw-form{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid #e7edf6;padding-top:.9rem;}
.cw-form input,.cw-form textarea{width:100%;border:1.5px solid #d6e0ee;border-radius:10px;padding:.65rem .75rem;font:500 .88rem 'Inter',sans-serif;color:#1e293b;}
.cw-form input:focus,.cw-form textarea:focus{outline:none;border-color:var(--water,#3A8FA8);box-shadow:0 0 0 3px rgba(58,143,168,.2);}
.cw-send{border:0;border-radius:10px;padding:.7rem;background:var(--navy);color:#fff;font:800 .88rem 'Nunito',sans-serif;cursor:pointer;}
.cw-send:disabled{opacity:.6;}
.cw-form small{color:#64748b;font-size:.72rem;line-height:1.4;}
.cw-ok{background:#e9f7f0;color:#0a7c5e;padding:.9rem;border-radius:12px;font-weight:700;font-size:.9rem;margin:.5rem 0 0;}
.cw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
@media(max-width:600px){.cw-lbl{display:none;}.cw-fab{padding:.95rem;}#cw{right:12px;bottom:12px;}}
@media(prefers-reduced-motion:reduce){.cw-tease,.cw-panel{animation:none;}}

/* ═════ HOME: "every area" photo reel, left to right ═════ */
.areas-reel{background:linear-gradient(180deg,#0c1a30 0%,#12294d 100%);padding:4rem 0 4.5rem;overflow:hidden;color:#fff;}
.ar-head{text-align:center;padding:0 1.25rem;margin-bottom:2.2rem;}
.ar-head span{font:700 .68rem 'Inter',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:rgba(232,184,48,.8);}
.ar-head h2{color:#fff;font-size:clamp(1.7rem,3.8vw,2.6rem);margin:.4rem 0 0;}
.ar-outer{overflow:hidden;padding:1.2rem 0 1.6rem;}
.ar-track{display:flex;gap:1.6rem;width:max-content;}
@keyframes arMove{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.ar-card{flex:0 0 auto;width:250px;background:#fff;padding:.7rem .7rem 1rem;border-radius:6px;box-shadow:0 14px 34px rgba(0,0,0,.4);text-decoration:none;transform:rotate(var(--r,0deg));transition:transform .25s,box-shadow .25s;}
.ar-card:hover{transform:rotate(0) translateY(-8px) scale(1.04);box-shadow:0 22px 46px rgba(0,0,0,.5);}
.ar-img{height:250px;background-size:cover;background-position:center;background-color:#cfe0f1;border-radius:3px;}
.ar-card span{display:block;text-align:center;margin-top:.7rem;color:var(--navy);font:800 .95rem 'Nunito',sans-serif;}
.ar-card small{display:block;text-align:center;color:#64748b;font-size:.74rem;font-weight:600;}
@media(max-width:600px){.ar-card{width:200px}.ar-img{height:200px}}

/* ═════ PHOTO REELS: arrows (reel.js) ═════ */
.reel-wrap{position:relative;}
.reel-scroll{overflow-x:auto!important;scroll-behavior:auto!important;scroll-snap-type:none!important;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
.reel-scroll::-webkit-scrollbar{display:none;}
.reel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:rgba(27,58,107,.82);color:#fff;font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center;padding:0 0 4px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.35);transition:background .2s,transform .2s;-webkit-tap-highlight-color:transparent;}
.reel-arrow:hover,.reel-arrow:focus-visible{background:var(--gold,#E8B830);color:var(--navy,#1B3A6B);transform:translateY(-50%) scale(1.08);}
.reel-arrow:focus-visible{outline:3px solid #fff;outline-offset:2px;}
.reel-prev{left:14px;}
.reel-next{right:14px;}
.impact-gallery-strip.reel-scroll{padding-bottom:0;}
.reel-wrap:has(.impact-gallery-strip) .reel-arrow{width:40px;height:40px;font-size:1.7rem;}
.reel-wrap:has(.impact-gallery-strip) .reel-prev{left:6px;}
.reel-wrap:has(.impact-gallery-strip) .reel-next{right:6px;}
@media(max-width:600px){.reel-arrow{width:40px;height:40px;font-size:1.7rem;}.reel-prev{left:8px;}.reel-next{right:8px;}}

/* ═════ MAPS + CONTACT ═════ */
.map-box{height:min(70vh,560px);min-height:360px;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(27,58,107,.18);border:1px solid #dbe5f3;background:#e8f1f8;z-index:1;}
.map-fallback{padding:2rem;text-align:center;color:#64748b;}
.rtm-pin span{display:block;width:30px;height:30px;border-radius:50% 50% 50% 0;background:var(--coral,#FF6B35);transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.35);position:relative;left:0;top:0;}
.rtm-pin span::after{content:'';position:absolute;inset:7px;border-radius:50%;background:#fff;}
.trip-list{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin:1.4rem 0;}
.trip-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:50px;background:#fff;border:1.5px solid #dbe5f3;color:var(--navy);font-weight:700;font-size:.88rem;text-decoration:none;transition:border-color .15s,transform .15s;}
.trip-chip:hover{border-color:var(--coral,#FF6B35);transform:translateY(-2px);}
.rtm-dot{width:10px;height:10px;border-radius:50%;background:var(--coral,#FF6B35);}
.photo-hero{position:relative;background-size:cover;background-position:center;color:#fff;text-align:center;min-height:46vh;display:flex;align-items:flex-end;padding-bottom:3.2rem!important;isolation:isolate;}
.photo-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,22,52,.5),rgba(11,22,52,.84));}
.photo-hero h1{color:#fff;}.photo-hero p{color:rgba(255,255,255,.85);max-width:560px;margin:.5rem auto 0;}
.ct-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;}
.ct-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem;padding:1.3rem .8rem;border-radius:18px;background:#fff;border:2px solid #dbe5f3;color:var(--navy);text-decoration:none;cursor:pointer;font:inherit;font-size:1.7rem;transition:border-color .2s,transform .2s,box-shadow .2s;}
.ct-card b{font:800 1rem 'Nunito',sans-serif;}.ct-card span{font-size:.8rem;color:#64748b;font-weight:500;}
.ct-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(27,58,107,.14);}
.ct-card.on{border-color:var(--coral,#FF6B35);background:#fff7f2;}
.ct-panel{display:none;max-width:760px;margin:0 auto;background:#fff;border-radius:22px;padding:clamp(1.3rem,3vw,2.2rem);box-shadow:0 18px 50px rgba(27,58,107,.12);border:1px solid #e3ebf6;}
.ct-panel.on{display:block;}
.ct-panel h2{font-size:1.5rem;margin:0 0 .3rem;color:var(--navy);}.ct-panel>p{color:#64748b;margin:0 0 1.2rem;font-size:.95rem;}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.ct-f{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem;}
.ct-f label{font-weight:700;font-size:.84rem;color:var(--navy);}
.ct-f input,.ct-f select,.ct-f textarea{width:100%;border:1.5px solid #d6e0ee;border-radius:12px;padding:.8rem .9rem;font:500 .95rem 'Inter',sans-serif;color:#1e293b;background:#fff;}
.ct-f input:focus,.ct-f select:focus,.ct-f textarea:focus{outline:none;border-color:var(--water,#3A8FA8);box-shadow:0 0 0 3px rgba(58,143,168,.2);}
.ct-chk{display:flex;gap:.6rem;align-items:flex-start;font-size:.86rem;color:#475569;margin-bottom:1.1rem;}
.ct-chk input{margin-top:.2rem;width:auto;}
.ct-ok{background:#e9f7f0;border-radius:16px;padding:1.6rem;text-align:center;color:#0a7c5e;font-weight:700;}
.ct-ok h3{margin:.2rem 0;color:#0a7c5e;}
.faq{max-width:820px;margin:0 auto;}
.faq details{background:#fff;border:1.5px solid #dbe5f3;border-radius:14px;margin-bottom:.7rem;overflow:hidden;}
.faq summary{cursor:pointer;list-style:none;padding:1rem 1.2rem;font:800 1rem 'Nunito',sans-serif;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';font-size:1.5rem;line-height:1;color:var(--coral,#FF6B35);transition:transform .2s;}
.faq details[open] summary::after{content:'\2212';}
.faq details[open]{border-color:var(--gold,#E8B830);}
.faq .ans{padding:0 1.2rem 1.1rem;color:#475569;font-size:.95rem;line-height:1.65;}
.faq .ans a{color:var(--navy);font-weight:700;}
.quick-contact{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:center;margin-top:1.6rem;font-weight:700;color:var(--navy);}
.quick-contact a{color:var(--navy);}
@media(max-width:860px){.ct-cards{grid-template-columns:1fr 1fr}.ct-row{grid-template-columns:1fr}}

/* home: "How it started" as short bullets with a photo (no video) */
.start-list{list-style:none;padding:0;margin:1rem 0 1.4rem;display:grid;gap:.8rem;}
.start-list li{display:flex;gap:.85rem;align-items:flex-start;background:#fff;border-radius:14px;padding:.95rem 1.1rem;box-shadow:0 4px 18px rgba(27,58,107,.09);font-size:.95rem;line-height:1.55;color:#334155;}
.start-list li>span{font-size:1.45rem;line-height:1.2;}
.start-photo{height:260px;border-radius:18px;background-size:cover;background-position:center;background-color:#cfe0f1;box-shadow:0 12px 34px rgba(27,58,107,.18);}

/* ═════ self-drawn pin map (no outside services) ═════ */
.svgmap{position:relative;width:100%;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#e9f4fb 0%,#d3e8f5 100%);box-shadow:0 18px 50px rgba(27,58,107,.16);border:1px solid #cfe0f1;}
.svgmap>svg{display:block;width:100%;height:100%;}
.svgmap .land-dots circle{fill:#2a7090;opacity:.55;}
.svgmap .pin{position:absolute;transform:translate(-50%,-100%);z-index:2;}
.svgmap .pin.open{z-index:5;}
.pin-btn{position:relative;display:block;width:34px;height:44px;padding:0;border:0;background:none;cursor:pointer;filter:drop-shadow(0 6px 8px rgba(0,0,0,.3));transition:transform .15s;}
.pin-btn:hover,.pin.open .pin-btn{transform:translateY(-4px) scale(1.12);}
.pin-btn:focus-visible{outline:3px solid #1B3A6B;outline-offset:3px;border-radius:8px;}
.pin-svg{display:block;margin:0 auto;}
.pin-pulse{position:absolute;left:50%;bottom:-4px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:rgba(255,107,53,.55);animation:pinPulse 2.2s ease-out infinite;}
@keyframes pinPulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(3.2);opacity:0}}
.pin-lbl{position:absolute;left:100%;top:6px;margin-left:4px;white-space:nowrap;font:800 .8rem 'Nunito',sans-serif;color:#1B3A6B;text-shadow:0 0 4px #fff,0 0 4px #fff,0 0 6px #fff;pointer-events:none;}
.pin-card{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);min-width:210px;background:#fff;border-radius:14px;padding:.85rem 1rem;box-shadow:0 18px 44px rgba(8,20,44,.3);display:none;text-align:left;}
.pin-card::after{content:'';position:absolute;left:50%;bottom:-7px;width:14px;height:14px;background:#fff;transform:translateX(-50%) rotate(45deg);}
.pin.open .pin-card{display:block;}
.pin-card b{display:block;color:#1B3A6B;font:800 .95rem 'Nunito',sans-serif;}
.pin-card span{display:block;color:#64748b;font-size:.8rem;margin:.1rem 0 .3rem;}
.pin-card a{color:#FF6B35;font-weight:800;font-size:.85rem;text-decoration:none;}
@media(prefers-reduced-motion:reduce){.pin-pulse{animation:none;opacity:.4;transform:scale(1.6);}}
@media(max-width:600px){.pin-lbl{display:none;}}

/* footer: brand left, donate + social right, links on their own centred row */
.ft-in{display:grid;grid-template-columns:1fr auto;gap:1.1rem 2rem;align-items:center;}
.ft-brand{grid-column:1;grid-row:1;}
.ft-right{grid-column:2;grid-row:1;}
.ft-links{grid-column:1/-1;grid-row:2;justify-content:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,.14);}
@media(max-width:760px){.ft-in{grid-template-columns:1fr;}.ft-brand,.ft-right,.ft-links{grid-column:1;grid-row:auto;}.ft-links{justify-content:flex-start;}}

/* home-base pin: bigger than the rest */
.svgmap .pin.home{z-index:4;}
.pin.home .pin-btn{width:60px;height:80px;}
.pin.home .pin-svg{width:56px;height:75px;}
.pin.home .pin-pulse{width:30px;height:30px;margin-left:-15px;bottom:-9px;background:rgba(255,107,53,.6);}
.pin.home .pin-lbl{font-size:1.05rem;top:18px;margin-left:6px;}
.pin-lbl small{display:block;font:700 .66rem 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#c2410c;}
.pin.lbl-left .pin-lbl{left:auto;right:100%;margin:0 4px 0 0;text-align:right;}
.trip-chip.home{border-color:var(--coral,#FF6B35);background:#fff7f2;}
.pin.home .pin-card{bottom:calc(100% + 12px);}

.pin-lbl{width:max-content;}

.pin-lbl{max-width:none;}
.pin-card{max-width:260px;}

/* partners: logo tiles (a tile shows the name until its logo file is added to images/partners/) */
.pl-group{max-width:1100px;margin:0 auto;padding:0 1.25rem 1.6rem;text-align:center;}
.pl-group .pg-label{display:block;margin:.4rem 0 1rem;}
.pl-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;}
.pl-tile{display:flex;align-items:center;justify-content:center;width:200px;height:92px;padding:.7rem 1rem;background:#fff;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:transform .2s,box-shadow .2s;}
.pl-tile:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.38);}
.pl-tile img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;}
.pl-name{font:800 1rem 'Nunito',sans-serif;color:#1B3A6B;text-align:center;line-height:1.25;}
.pl-tile.has-logo .pl-name{display:none;}
@media(max-width:600px){.pl-tile{width:calc(50% - .5rem);height:80px;}}

.pl-tile{width:180px;}
.pl-row{gap:.9rem;}
.pl-group .pg-label{color:rgba(255,255,255,.72);}
@media(max-width:600px){.pl-tile{width:calc(50% - .5rem);}}

/* page banners: a real photo of the right kind behind each header, with a dark wash so the words stay readable */
.has-photo{position:relative;isolation:isolate;overflow:hidden;}
.hero-photo{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;background-color:#1B3A6B;}
.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,22,52,.50) 0%,rgba(11,22,52,.78) 100%);}
@media(min-width:1025px){.hero-photo{background-attachment:fixed;}}

/* partners: light blue band, logos only (no boxes), a reel moving left to right */
.partners.pr-light{background:linear-gradient(180deg,#eaf5fc 0%,#d6eaf7 100%)!important;padding:3.2rem 0 3rem;}
.pr-light .partners-ey{color:#1B6FA0!important;}
.pr-light .partners-sub{color:#475569!important;}
.pr-light .pg-label{display:block;text-align:center;margin:1.6rem 0 .6rem;color:#64748b!important;font:700 .68rem 'Inter',sans-serif;letter-spacing:.2em;text-transform:uppercase;}
.pr-outer{overflow:hidden;padding:.6rem 0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);}
.pr-track{display:flex;align-items:center;gap:4.5rem;width:max-content;animation:prMove 45s linear infinite;}
.pr-outer:hover .pr-track{animation-play-state:paused;}
@keyframes prMove{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.pr-logo{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:160px;height:70px;}
.pr-logo img{height:64px;width:auto;max-width:220px;object-fit:contain;display:block;}
.pr-name{font:800 1.2rem 'Nunito',sans-serif;color:#1B3A6B;white-space:nowrap;}
.pr-logo.has-logo .pr-name{display:none;}
@media(prefers-reduced-motion:reduce){.pr-track{animation:none;transform:none;flex-wrap:wrap;justify-content:center;width:auto;padding:0 1rem;}.pr-logo[aria-hidden]{display:none;}}
@media(max-width:600px){.pr-track{gap:3rem}.pr-logo img{height:52px}}

/* Wishing & Fishing flagship block: short intro, icon list, photo strip */
.feat-lead{font-size:1.02rem;line-height:1.6;color:#334155;margin:.2rem 0 .9rem;}
.feat-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.45rem;}
.feat-list li{display:flex;align-items:center;gap:.65rem;font-weight:700;font-size:.95rem;color:#1B3A6B;}
.feat-list li span{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#e8f3fa;display:flex;align-items:center;justify-content:center;font-size:1.05rem;}
.feat-note{font-size:.9rem;color:#64748b;margin:0 0 1.1rem;line-height:1.55;}
.wf-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:0 0 2.4rem;align-items:center;position:relative;}
.wf-ph{display:block;background:#fff;padding:.5rem .5rem .5rem;border-radius:6px;box-shadow:0 10px 26px rgba(27,58,107,.2);transform:rotate(var(--r,0deg));transition:transform .25s,box-shadow .25s;}
.wf-ph:hover{transform:rotate(0) translateY(-6px) scale(1.03);box-shadow:0 16px 36px rgba(27,58,107,.3);}
.wf-ph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;background:#cfe0f1;}
.wf-more{grid-column:1/-1;text-align:center;font-weight:800;color:#1B3A6B;text-decoration:none;margin-top:.6rem;}
.wf-more:hover{color:#FF6B35;}
@media(max-width:700px){.wf-strip{grid-template-columns:1fr 1fr;}}

/* veterans boat photo: keep the whole boat in view (anchor to the bottom, and zoom from the bottom on hover) */
img[src$="veterans-boat-parade.jpg"]{object-position:center 82%!important;}
.prog-card:hover img[src$="veterans-boat-parade.jpg"]{transform-origin:center bottom;}

/* each program page takes one primary color from the Wishing & Fishing cartoon */
body[data-theme="ocean"]{--pc-dark:#0B6E9E;--pc:#1696C8;--pc-light:#7FD0EE;--pcd-rgb:11,110,158;--pc-rgb:22,150,200;}
body[data-theme="pink"]{--pc-dark:#BE3D86;--pc:#EA74A8;--pc-light:#F8BBD6;--pcd-rgb:190,61,134;--pc-rgb:234,116,168;}
body[data-theme="red"]{--pc-dark:#8F1F1A;--pc:#C23A2E;--pc-light:#F0A59C;--pcd-rgb:143,31,26;--pc-rgb:194,58,46;}
body[data-theme="yellow"]{--pc-dark:#9A6412;--pc:#D9A02A;--pc-light:#F6D98A;--pcd-rgb:154,100,18;--pc-rgb:217,160,42;}
body[data-theme="orange"]{--pc-dark:#A94A0A;--pc:#E8802A;--pc-light:#F7BE8A;--pcd-rgb:169,74,10;--pc-rgb:232,128,42;}
body[data-theme="green"]{--pc-dark:#17653F;--pc:#2E9A5C;--pc-light:#8ED5A8;--pcd-rgb:23,101,63;--pc-rgb:46,154,92;}
body[data-theme="silver"]{--pc-dark:#3A5679;--pc:#6A87B0;--pc-light:#B7C8E0;--pcd-rgb:58,86,121;--pc-rgb:106,135,176;}
body[data-theme="copper"]{--pc-dark:#5A3A26;--pc:#A0663A;--pc-light:#E0B58C;--pcd-rgb:90,58,38;--pc-rgb:160,102,58;}
body[data-theme] .has-photo{background:linear-gradient(135deg,var(--pc-dark) 0%,var(--pc) 100%)!important;}
body[data-theme] .hero-photo{background-color:var(--pc-dark);}
body[data-theme] .hero-photo::after{background:linear-gradient(180deg,rgba(var(--pc-rgb),.50) 0%,rgba(var(--pcd-rgb),.86) 100%);}
body[data-theme] .ey:not(.lt){color:var(--pc);}
body[data-theme] .hdr--accent::after{background:linear-gradient(90deg,var(--pc-light),var(--pc) 55%,var(--pc-dark));}
body[data-theme] .btn-outline{border-color:var(--pc);color:var(--pc-dark);}
body[data-theme] .btn-outline:hover{background:var(--pc);color:#fff;}

/* readability on the lighter theme colors */
body[data-theme] .has-photo h1,body[data-theme] .has-photo h2{text-shadow:0 2px 14px rgba(0,0,0,.28);}
body[data-theme] .has-photo p{color:rgba(255,255,255,.95)!important;text-shadow:0 1px 8px rgba(0,0,0,.3);}
body[data-theme] .has-photo .ey,body[data-theme] .has-photo [class*="eyebrow"]{color:rgba(255,255,255,.88)!important;}

/* no divider between the two header logos: just an even gap */
.hdr-brand{gap:1.15rem;}
@media(max-width:600px){.hdr-brand{gap:.7rem;}}

/* partners: one single line, all eight together */
.pr-one{margin-top:1.4rem;}
.pr-one .pr-track{animation-duration:70s;}

/* partner logos: even out their visual size (tall and square logos need more height than wide ones) */
.pr-logo img{height:72px;max-width:230px;}
.pr-logo img[src*="bay-news-9"]{height:88px;}
.pr-logo img[src*="sams-club"]{height:84px;}
.pr-logo img[src*="wawa"]{height:74px;}
.pr-logo img[src*="walmart"]{height:70px;}
.pr-logo img[src*="channel-8"]{height:70px;}
.pr-logo img[src*="bass-pro"]{height:76px;}
.pr-logo img[src*="ctn"]{height:68px;}
.pr-logo{height:92px;}
@media(max-width:600px){.pr-logo img{height:56px;}.pr-logo img[src*="bay-news-9"]{height:68px;}.pr-logo img[src*="sams-club"]{height:64px;}.pr-logo{height:72px;}}

/* home: "How we show up" photo tiles, each leading to its page */
.su-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin:2.2rem 0 2rem;}
.su-tile{position:relative;display:block;height:350px;border-radius:22px;overflow:hidden;text-decoration:none;color:#fff;box-shadow:0 12px 34px rgba(27,58,107,.18);isolation:isolate;transition:transform .3s,box-shadow .3s;}
.su-tile:hover,.su-tile:focus-visible{transform:translateY(-6px);box-shadow:0 22px 48px rgba(27,58,107,.3);outline:none;}
.su-img{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;background-color:var(--tc);transition:transform .7s;}
.su-tile:hover .su-img{transform:scale(1.07);}
.su-tile::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,20,44,0) 20%,rgba(8,20,44,.55) 52%,rgba(8,20,44,.9) 100%);}
.su-tile::before{content:'';position:absolute;left:0;right:0;bottom:0;height:7px;background:var(--tc);z-index:1;}
.su-body{position:absolute;left:0;right:0;bottom:0;padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.4rem;}
.su-ic{width:42px;height:42px;border-radius:13px;background:var(--tc);display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 6px 16px rgba(0,0,0,.3);}
.su-body strong{font:800 1.3rem 'Nunito',sans-serif;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.4);}
.su-d{font-size:.9rem;line-height:1.45;color:rgba(255,255,255,.93);max-width:none;}
.su-body em{font-style:normal;font-weight:800;color:var(--gold,#E8B830);margin-top:.2rem;transition:transform .2s;}
.su-tile:hover em{transform:translateX(5px);}
@media(max-width:980px){.su-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.su-grid{grid-template-columns:1fr;}.su-tile{height:300px;}}

/* menu: each category and program carries the colour chosen for its page */
.hdr-grp[style] .hdr-gh{border-left-color:var(--tc);}
.hdr-grp[style] .hdr-ic{background:var(--ts);}
.hdr-grp[style] .hdr-gh strong{color:var(--tc);transition:color .16s;}
.hdr-grp[style] .hdr-gh:hover,.hdr-grp[style] .hdr-gh:focus-visible{background:var(--tc);border-left-color:var(--gold,#E8B830);}
.hdr-grp[style] .hdr-gh:hover strong,.hdr-grp[style] .hdr-gh:focus-visible strong{color:#fff;}
.hdr-grp[style] .hdr-gh:hover .hdr-ic,.hdr-grp[style] .hdr-gh:focus-visible .hdr-ic{background:#fff;}
.hdr-subs a[style]{background:var(--ss);border-color:var(--sc);color:var(--sc);font-weight:700;}
.hdr-subs a[style]:hover,.hdr-subs a[style]:focus-visible{background:var(--sc);border-color:var(--sc);color:#fff;}

/* menu: Our Impact - each category is a soft tile in the colour chosen for its page, with white program buttons */
.hdr-menu.wide{gap:.4rem;padding:.5rem;align-items:stretch;}
.hdr-menu.wide .hdr-grp{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;}
.hdr-menu.wide .hdr-grp[style]{background:var(--ts);border-left:4px solid var(--tc);}
.hdr-menu.wide .hdr-grp .hdr-gh{border-left:0;border-radius:0;padding:.6rem .7rem .45rem;}
.hdr-menu.wide .hdr-grp:not(:has(.hdr-subs)) .hdr-gh{flex:1;padding-bottom:.6rem;}   /* a tile with no program buttons (Photo Gallery) stays centred */
.hdr-menu.wide .hdr-grp[style] .hdr-ic{background:#fff;box-shadow:0 1px 4px rgba(27,58,107,.08);}
.hdr-menu.wide .hdr-grp[style] .hdr-gh:hover,.hdr-menu.wide .hdr-grp[style] .hdr-gh:focus-visible{background:var(--tc);}
.hdr-menu.wide .hdr-subs{padding:0 .7rem .65rem;gap:.35rem;}   /* buttons start under the icon so two fit on one line - no empty gaps in the tiles */
.hdr-menu.wide .hdr-subs a,.hdr-menu.wide .hdr-subs a[style]{background:#fff;border-color:#dbe5f3;color:var(--navy);}
.hdr-menu.wide .hdr-subs a:hover,.hdr-menu.wide .hdr-subs a:focus-visible{background:var(--gold);border-color:var(--gold);color:#14213d;}

/* Mission Trips tile: pins on top, then a navy wash, then the trip photo (images/mission-trip-photo.jpg) when it exists */
.su-img.su-trips{background-size:cover,cover,cover;background-position:center,center,center;background-repeat:no-repeat;background-color:#1B3A6B;}

/* ═════ colour + motion bands (the gravesshow.com idea: full-width footage and photos behind the sections) ═════ */
.vband{position:relative;isolation:isolate;overflow:hidden;color:#fff;}
.vb-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;background:#0a5a5a;}
.vb-photo{position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center;background-color:#7a3b12;}
@media(min-width:1025px){.vb-photo{background-attachment:fixed;}}
.vb-wash{position:absolute;inset:0;z-index:-2;pointer-events:none;}
/* Our Story: teal / green over moving water */
.vb-story{padding:clamp(4.5rem,8vw,7.5rem) 0;}
.vb-story .vb-wash{background:linear-gradient(135deg,rgba(6,92,78,.84) 0%,rgba(14,110,140,.80) 52%,rgba(27,58,107,.86) 100%);}
.vb-story .ey{color:#FFD76A;}
.vb-story h2{color:#fff;text-shadow:0 3px 22px rgba(0,0,0,.35);}
.vb-story .start-list li{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.vb-story .start-list li>span{filter:drop-shadow(0 2px 6px rgba(0,0,0,.3));}
.vb-story .start-photo{box-shadow:0 18px 46px rgba(0,0,0,.35);border:3px solid rgba(255,255,255,.5);}
.vb-story .tcard{background:rgba(255,255,255,.97)!important;}
/* statement band: sunrise colours over a nature photo, big type */
.vb-mission{padding:clamp(5rem,11vw,9.5rem) 0;text-align:center;}
.vb-mission .vb-wash{background:linear-gradient(135deg,rgba(176,48,28,.80) 0%,rgba(236,112,40,.70) 52%,rgba(224,168,40,.62) 100%);}
.vb-mission .ey{color:#fff;opacity:.92;letter-spacing:.24em;}
.vb-big{font-family:'Nunito',sans-serif;font-weight:900;font-size:clamp(2rem,5.4vw,4.2rem);line-height:1.12;margin:1rem auto 1.1rem;max-width:980px;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.35);}
.vb-big em{font-family:'Playfair Display',Georgia,serif;font-weight:400;color:#FFF3C4;}
.vb-sub{font-size:clamp(1rem,1.8vw,1.3rem);color:rgba(255,255,255,.95);margin:0 auto 2rem;max-width:620px;text-shadow:0 2px 12px rgba(0,0,0,.3);}
/* How we show up: deep ocean so the colourful tiles pop */
.showup-dark{background:linear-gradient(160deg,#0d2347 0%,#14507a 55%,#17808f 100%)!important;color:#fff;position:relative;overflow:hidden;}
.showup-dark h2{color:#fff;}
.showup-dark .ey{color:#FFD76A!important;}
.showup-dark .lead{color:rgba(255,255,255,.88)!important;}
.showup-dark .su-tile{box-shadow:0 16px 40px rgba(0,0,0,.4);}
@media(prefers-reduced-motion:reduce){.vb-photo{background-attachment:scroll;}}

/* Mexico 2026 recap grid */
.mx-grid.gal-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:.8rem!important;column-count:auto!important;}
.mx-grid.gal-grid img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;cursor:zoom-in;background:#cfe0f1;box-shadow:0 6px 18px rgba(27,58,107,.14);transition:transform .25s,box-shadow .25s;margin:0!important;display:block;}
.mx-grid.gal-grid img:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 14px 30px rgba(27,58,107,.25);}
.vb-big{font-size:clamp(1.9rem,4.7vw,3.6rem);max-width:1100px;}

/* map: only the current location pulses and blinks; view switch */
.pin.home .pin-svg{animation:pinBlink 1.7s ease-in-out infinite;}
@keyframes pinBlink{0%,100%{opacity:1}50%{opacity:.5}}
.map-views{position:absolute;top:12px;right:12px;z-index:7;display:flex;gap:.2rem;background:rgba(255,255,255,.94);border-radius:50px;padding:.22rem;box-shadow:0 6px 18px rgba(27,58,107,.2);}
.map-views button{border:0;background:none;padding:.4rem .9rem;border-radius:50px;font:800 .78rem 'Nunito',sans-serif;color:#1B3A6B;cursor:pointer;}
.map-views button.on{background:#1B3A6B;color:#fff;}
@media(prefers-reduced-motion:reduce){.pin.home .pin-svg{animation:none;}}

/* Our Reach: pin colours by kind, legend, and the three groups */
.pin-local{--pinc:#0B6E9E;}.pin-mission{--pinc:#E8A317;}.pin-home{--pinc:#FF6B35;}
.map-legend{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:center;margin:0 0 1.1rem;font-weight:700;font-size:.9rem;color:#1B3A6B;}
.map-legend span{display:inline-flex;align-items:center;gap:.5rem;}
.map-legend i{display:inline-block;width:14px;height:14px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3);}
.lg-home{background:#FF6B35;animation:pinBlink 1.7s ease-in-out infinite;}.lg-local{background:#0B6E9E;}.lg-mission{background:#E8A317;}
.reach-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start;}
@media(max-width:860px){.reach-grid{grid-template-columns:1fr}}
.rc{display:block;background:#fff;border-radius:18px;padding:1.2rem 1.3rem;box-shadow:0 8px 26px rgba(27,58,107,.1);border:1px solid #e3ebf6;text-decoration:none;}
.rc h3{margin:0;font:800 1.15rem 'Nunito',sans-serif;color:#1B3A6B;}.rc p{margin:.2rem 0 .5rem;color:#64748b;font-size:.92rem;}
.rc a,.rc em{color:#FF6B35;font-weight:800;font-size:.86rem;font-style:normal;text-decoration:none;}
.rc-home{border-left:6px solid #FF6B35;position:relative;}
.rc-blink{display:inline-block;width:12px;height:12px;border-radius:50%;background:#FF6B35;margin-bottom:.5rem;animation:pinBlink 1.7s ease-in-out infinite;box-shadow:0 0 0 6px rgba(255,107,53,.2);}
.rc-list{display:grid;gap:.8rem;margin-top:1.2rem;}
.rc-local{display:flex;align-items:center;gap:1rem;border-left:6px solid #0B6E9E;transition:transform .2s,box-shadow .2s;}
.rc-local:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(27,58,107,.16);}
.rc-local>span:nth-child(2){flex:1;}.rc-local p{margin:.1rem 0 0;}
.rc-dot{width:14px;height:14px;border-radius:50%;background:#0B6E9E;flex-shrink:0;}
.reach-trips{background:linear-gradient(160deg,#0d2347 0%,#14507a 55%,#17808f 100%);color:#fff;padding:clamp(3.5rem,7vw,6rem) 0;}
.reach-trips h2{color:#fff;}.reach-trips .ey{color:#FFD76A;display:block;text-align:center;}
.reach-trips .lead{color:rgba(255,255,255,.88);text-align:center;margin:.4rem auto 2.2rem;max-width:620px;}
.mc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.3rem;margin-bottom:2rem;}
.mc{display:block;position:relative;min-height:340px;border-radius:22px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;box-shadow:0 16px 40px rgba(0,0,0,.4);transition:transform .3s;}
.mc:hover{transform:translateY(-6px);}
.mc-img{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;background-color:#1B3A6B;transition:transform .7s;}
.mc:hover .mc-img{transform:scale(1.07);}
.mc::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,20,44,0) 25%,rgba(8,20,44,.9) 100%);}
.mc::before{content:'';position:absolute;left:0;right:0;bottom:0;height:7px;background:#E8A317;z-index:1;}
.mc-body{position:absolute;left:0;right:0;bottom:0;padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.3rem;}
.mc-tag{font:700 .68rem 'Inter',sans-serif;letter-spacing:.2em;color:#FFD76A;}
.mc strong{font:800 1.35rem 'Nunito',sans-serif;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.4);}
.mc-note{font-size:.92rem;color:rgba(255,255,255,.9);}
.mc em{font-style:normal;font-weight:800;color:#FFD76A;margin-top:.3rem;}
.mc-next{background:rgba(255,255,255,.08);border:2px dashed rgba(255,255,255,.45);box-shadow:none;}
.mc-next::after,.mc-next::before{display:none;}

/* ═══════════════════════════════════════════════════════════════
   HERO ON PORTRAIT PHONES  (Oct 2026)
   The drone video is 16:9 and the RTM logo is part of the video.
   Filling a tall phone screen with it cropped the logo off both sides,
   so on portrait phones the video now shows at its full width (16:9)
   just below the header, with the org name + 501(c)(3) line underneath.
   CSS only - the locked hero HTML and the video are untouched.
   ═══════════════════════════════════════════════════════════════ */
@media (max-width:768px) and (orientation:portrait){
  .hero{margin-top:0!important;height:auto!important;min-height:0!important;display:block;}
  .hero-vid{position:relative;inset:auto;display:block;width:100%!important;height:auto!important;aspect-ratio:16/9;object-fit:cover;transform:none!important;}
  .hero-ov{display:none;}
  .hero-body{position:relative!important;bottom:auto!important;padding:1rem 1rem 1.2rem!important;background:var(--navy);}
}

/* ═════ PAGE HEADERS (restored): half a screen tall so the whole photo shows, a soft hue of the page colour, no bubbles ═════ */
.page-hero:not(.ty-hero),section.has-photo,.photo-hero{min-height:max(50vh,380px)!important;display:flex!important;flex-direction:column;justify-content:flex-end;align-items:stretch!important;padding-bottom:clamp(4.2rem,7vw,5.5rem)!important;}
.hero-photo{background-attachment:scroll!important;}
.hero-photo::after{background:linear-gradient(180deg,rgba(var(--hue,27,58,107),.16) 0%,rgba(var(--hue,27,58,107),.30) 45%,rgba(var(--hue2,11,22,52),.70) 100%)!important;}
body[data-theme] .has-photo{--hue:var(--pc-rgb);--hue2:var(--pcd-rgb);}
.photo-hero::before{background:linear-gradient(180deg,rgba(27,58,107,.16) 0%,rgba(27,58,107,.30) 45%,rgba(11,22,52,.70) 100%)!important;}
.page-hero h1,.has-photo h1,.photo-hero h1,.impact-header-text h2{text-shadow:0 2px 18px rgba(0,0,0,.45);}
.page-hero p,.has-photo p,.photo-hero p,.impact-header-text p{text-shadow:0 1px 10px rgba(0,0,0,.45);}
@media(prefers-reduced-motion:reduce){.imp-hero-bg{animation:none;}}
/* Our Impact header */
.imp-hero{min-height:max(78vh,520px)!important;background:#1B3A6B;isolation:isolate;overflow:hidden;text-align:center;}
.imp-hero::after{z-index:1;}
.imp-hero-bg{position:absolute;inset:-70px 0;z-index:-2;background-size:cover;background-position:center 15%;transform:translate3d(0,var(--py,0px),0) scale(1.04);animation:impKB 26s ease-in-out infinite alternate;will-change:transform;}
.imp-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,58,107,.10) 0%,rgba(27,58,107,.22) 50%,rgba(11,22,52,.72) 100%);}
@keyframes impKB{from{scale:1}to{scale:1.08}}
.imp-hero-in{position:relative;z-index:2;}
.imp-hero .ey{color:#F3C845;}
.imp-hero h1{color:#fff;font-size:clamp(2.4rem,6vw,4rem);margin:.2rem 0 .3rem;}
.imp-hero p{color:rgba(255,255,255,.92);max-width:540px;margin:0 auto;font-size:1.08rem;}

/* ══════════════════════════════════════════════════
   PAGE HEADERS: full photo first, the heading rises over it on scroll (hero-rise.js)
   ══════════════════════════════════════════════════ */
.hr-on.hr-on{min-height:calc(100vh - var(--hdr))!important;min-height:calc(100svh - var(--hdr))!important;}
@media(max-width:700px){.hr-on.hr-on{min-height:74svh!important;}}
.hr-on .hero-photo{background-position:center 30%;transform:translate3d(0,var(--py,0px),0);will-change:transform;}
.hr-on .imp-hero-bg{inset:0;}
/* only the bottom of the photo is shaded at first, so faces stay clear; the hue deepens as the words rise */
.hr-on .hero-photo::after,.hr-on .imp-hero-bg::after{background:linear-gradient(180deg,rgba(var(--hue,27,58,107),0) 0%,rgba(var(--hue,27,58,107),.08) 45%,rgba(var(--hue2,11,22,52),.55) 78%,rgba(var(--hue2,11,22,52),.82) 100%)!important;}
.hr-on .hero-photo::before,.hr-on .imp-hero-bg::before{content:'';position:absolute;inset:0;z-index:1;background:rgba(var(--hue2,11,22,52),.55);opacity:calc(var(--hr-p,0) * 1.4);}
.hr-on .hero-photo::after,.hr-on .imp-hero-bg::after{z-index:2;}
.hr-copy{position:relative;z-index:3;width:100%;transform:translate3d(0,calc(-1 * var(--hr-rise,0px)),0);opacity:calc(1 - max(0, var(--hr-p,0) - .7) * 3.2);will-change:transform;}
.hr-copy h1{font-size:clamp(2.2rem,5.4vw,3.8rem);}

/* header photos: the whole photo is shown (never cropped), over a blurred fill of the same photo */
.hr-on .hero-photo,.hr-on .imp-hero-bg{background-size:0 0!important;background-repeat:no-repeat!important;overflow:hidden;animation:none;}
.hr-fill,.hr-full{position:absolute;background-image:inherit;background-repeat:no-repeat;pointer-events:none;}
.hr-fill{inset:-48px;background-size:cover;background-position:center;filter:blur(30px) saturate(1.15) brightness(.72);transform:scale(1.06);}
.hr-full{inset:0;background-size:contain;background-position:center;}
@media(max-width:700px){.hr-full{background-position:center 38%;}}
.hr-on .imp-hero-bg{transform:translate3d(0,var(--py,0px),0);}

/* PAGE HEADERS: taller banner, with the words sitting lower near the bottom edge, clear of faces */
.hr-on.hr-on{min-height:max(calc(112vh - var(--hdr)),720px)!important;padding-bottom:clamp(3.4rem,4.5vw,4rem)!important;}
@media(max-width:700px){.hr-on.hr-on{min-height:92svh!important;padding-bottom:3.2rem!important;}}
.hr-copy .ey{margin-bottom:.2rem;}
.hr-copy h1{margin-bottom:.35rem;}

/* TEAM PHOTOS: the same 4:5 frame on computers and phones, every head the same size and at the same
   eye line, and each photo colour-matched so the three read as one set.
   Positions are measured from each photo: width = zoom, left/top = where the face lands. */
.team-grid .team-img,.team-img{position:relative;aspect-ratio:4/5!important;background:#d9dee5;}
.team-img img[class^="tm-"]{position:absolute;max-width:none;height:auto;object-fit:fill;width:var(--tw,100%);left:var(--tx,0);top:var(--ty,0);transform-origin:50% 36%;}
.team-img img.tm-tommy{--tw:138%;--tx:-19%;--ty:-5.4%;filter:saturate(.78) brightness(.97) contrast(1.03);}   /* calms the orange sunset glow */
.team-img img.tm-steve{--tw:100%;--tx:0%;--ty:-5%;filter:saturate(1.06) brightness(1.03);}
.team-img img.tm-julie{--tw:245%;--tx:-64.8%;--ty:-.8%;filter:brightness(1.12) saturate(1.06);}   /* lifts the darker studio backdrop; zoom hides the white side bars */

/* partners: the logo line now scrolls with reel.js, same as the photo reels */
.pr-track,.pr-one .pr-track{animation:none;}
@media(prefers-reduced-motion:reduce){.pr-track{flex-wrap:nowrap;justify-content:flex-start;width:max-content;padding:0;}.pr-logo[aria-hidden]{display:flex;}}

/* MOBILE: footer centred */
@media(max-width:760px){
  .ft-in{justify-items:center;text-align:center;}
  .ft-brand{flex-direction:column;justify-content:center;gap:.6rem;}
  .ft-links,.ft-right,.ft-soc{justify-content:center;}
  .ft-links{gap:.3rem 1.1rem;}
}

/* MOBILE: page header photo fills the whole banner, no blurred bands or gaps */
@media(max-width:700px){
  .hr-on.hr-on{min-height:72svh!important;}
  .hr-full{background-size:cover;background-position:center 30%;}
  .hr-on .hero-photo,.hr-on .imp-hero-bg{transform:none!important;}
}

/* ═════ WHO WE ARE: "Moments That Tell the Story" reel ═════ */
.impact-gallery-strip.story-reel{gap:1rem;margin-top:1.5rem;}
.impact-gallery-strip.story-reel img{height:300px;width:420px;border-radius:var(--rl,16px);}
@media(max-width:900px){.impact-gallery-strip.story-reel img{height:240px;width:330px;}}
@media(max-width:600px){.impact-gallery-strip.story-reel img{height:200px;width:270px;}}

/* ═════ FOOTER SOCIALS: brand colors ═════ */
.ft-soc a{width:38px;height:38px;box-shadow:0 4px 12px rgba(0,0,0,.25);}
.ft-soc a svg{display:block;}
.ft-soc a.soc-fb{background:#1877F2;}
.ft-soc a.soc-waf{font-size:1.05rem;}
.ft-soc a.soc-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);}
.ft-soc a.soc-yt,.ft-soc a.soc-g{background:#fff;}
.ft-soc a.soc-li{background:#0A66C2;}
.ft-soc a[class*="soc-"]:hover{transform:translateY(-3px) scale(1.08);filter:brightness(1.08);box-shadow:0 8px 18px rgba(0,0,0,.35);}
.ft-soc a.soc-fb:hover{background:#1877F2;}
.ft-soc a.soc-ig:hover{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);}
.ft-soc a.soc-yt:hover,.ft-soc a.soc-g:hover{background:#fff;}
.ft-soc a.soc-li:hover{background:#0A66C2;}

/* ═════ HOME: Our Story - heading, photo, then 1-2-3 cards ═════ */
.story-stack{text-align:center;}
.story-stack h2{margin-bottom:1.5rem;}
.vb-story .story-stack .story-photo{display:block;width:100%;max-width:980px;height:auto;aspect-ratio:1600/975;object-fit:cover;margin:0 auto;}
.start-steps{grid-template-columns:repeat(3,1fr);gap:1.1rem;max-width:980px;margin:1.6rem auto 1.4rem;text-align:left;}
.start-steps li{flex-direction:column;gap:.55rem;padding:1.2rem 1.25rem 1.3rem;position:relative;}
.start-steps .step-n{position:absolute;top:1rem;right:1.1rem;width:34px;height:34px;border-radius:50%;background:#FFD76A;color:var(--navy);font:900 1rem 'Nunito',sans-serif;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.25);}
.story-stack .btns{justify-content:center;}
@media(max-width:900px){.start-steps{grid-template-columns:1fr;}}

/* ═════ OUR IMPACT: testimonials ═════ */
.testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem;align-items:start;}
.testi-grid > .btn{grid-column:1/-1;justify-self:center;}
@media(max-width:800px){.testi-grid{grid-template-columns:1fr;}}
