/*
Theme Name: Rod Paige Scholars & Leaders Foundation
Theme URI: https://rodpaigescholars.org
Author: Greenwood Walker
Author URI: https://greenwoodwalker.com
Description: A commemorative multi-page theme for The Rod Paige Scholars & Leaders Foundation. Home plus per-section page templates (Life Story, Archives, Articles, Scholarships, Donate), a WordPress menu, Gravity Forms integration, and a presidential navy-and-gold design system.
Version: 1.12.23
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rod-paige-foundation
*/

/* ── TOKENS ── */
:root{
  /* Core Navy */
  --navy:#0D1B2A;--navy-mid:#1A2E42;--navy-lt:#243B55;
  /* Gold */
  --gold:#C9A84C;--gold-lt:#E8C96A;--gold-pale:#F5E9C8;
  /* Presidential Crimson */
  --crimson:#9B1C2E;
  --crimson-bright:#C0202F;
  --crimson-deep:#6D0E1C;
  --crimson-pale:#F9E8EA;
  --crimson-muted:#7A2535;
  /* Neutrals */
  --cream:#FAF6EE;--white:#FFF;--charcoal:#2C2C2C;--muted:#6B6B6B;
  /* Borders */
  --border:rgba(201,168,76,.3);
  --border-crimson:rgba(155,28,46,.3);
  --nav-h:64px;
}
@media(min-width:768px){:root{--nav-h:72px;}}

/* ── RESET ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Didact Gothic',sans-serif;background:var(--cream);color:var(--charcoal);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.6;}
img{max-width:100%;height:auto;display:block;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;-webkit-appearance:none;}
a{text-decoration:none;}

/* ── PAGE SYSTEM ── */
/* Scoped to div.page so it never collides with WordPress's body_class "page". */
div.page{display:none;min-height:100vh;padding-top:var(--nav-h);background:var(--cream);}
div.page.active{display:block;}

/* ── NAVIGATION ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--nav-h);
  background:var(--navy);
  border-bottom:3px solid var(--crimson-bright);
  transition:box-shadow .3s;
}
nav::before{
  content:'';
  position:absolute;top:0;left:0;right:0;
  height:3px;background:var(--gold);
}
.nav-inner{max-width:1300px;margin:0 auto;padding:0 .85rem;height:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;}
.nav-logo{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:44px;flex-shrink:0;overflow:visible;}
.nav-seal{width:36px;height:36px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;background:var(--crimson);flex-shrink:0;}
.nav-seal svg{width:20px;height:20px;}
.nav-title{display:flex;flex-direction:column;justify-content:center;min-width:0;}
.ntop{font-family:'Cormorant Garamond',serif;font-size:.56rem;letter-spacing:.1em;color:var(--gold);text-transform:uppercase;line-height:1;white-space:nowrap;}
/* Full organization name — sized fluidly so it stays on one line on desktop and shrinks gracefully on narrow screens. */
.nmain{font-family:'Cormorant Garamond',serif;font-size:clamp(.78rem,2.4vw,1.05rem);font-weight:600;color:#fff;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:420px){
  .nmain{font-size:.72rem;letter-spacing:.01em;}
}
/* Desktop links */
.nav-links{display:none;align-items:center;gap:.1rem;list-style:none;}
.nav-links li button{font-family:'Didact Gothic',sans-serif;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72);padding:.5rem .9rem;border-radius:2px;transition:color .2s,background .2s;min-height:40px;display:flex;align-items:center;}
.nav-links li button:hover,.nav-links li button.active{color:var(--gold);background:rgba(201,168,76,.08);}
.nav-donate{background:var(--crimson-bright)!important;color:var(--white)!important;padding:.5rem 1.15rem!important;font-weight:700!important;transition:background .2s,transform .15s!important;}
.nav-donate:hover{background:var(--crimson-deep)!important;transform:translateY(-1px);}
/* Burger */
.burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:0 11px;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.burger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform .3s,opacity .3s;transform-origin:center;}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* ═══ MOBILE DRAWER — single authoritative definition ═══ */
.drawer{
  display:none;
  position:fixed;
  top:var(--nav-h);
  left:0;
  right:0;
  bottom:0;
  width:100%;
  height:calc(100vh - var(--nav-h));
  /* Fallback for browsers that don't support svh */
  height:calc(100svh - var(--nav-h));
  background:rgba(13,27,42,.99);
  z-index:999;
  padding:1.25rem 1.5rem;
  padding-bottom:max(2.5rem, env(safe-area-inset-bottom, 2.5rem));
  flex-direction:column;
  gap:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  animation:slideDown .22s ease both;
  box-sizing:border-box;
}
.drawer.open{
  display:flex;
}

/* Drawer */


@keyframes slideDown{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}to{opacity:1;transform:translateY(0);}}
.drawer button{
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(1.5rem,5.5vw,2rem)!important;
  font-weight:700!important;
  color:#ffffff!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
  padding:1rem 0!important;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
  text-align:left!important;
  width:100%!important;
  min-height:60px!important;
  transition:color .2s,background .15s!important;
  display:flex!important;
  align-items:center!important;
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation!important;
  flex-shrink:0!important;
  line-height:1.2!important;
  background:none!important;
}
.drawer button:hover{color:var(--gold)!important;}
.drawer-donate-btn{
  font-family:'Didact Gothic',sans-serif!important;
  font-size:1rem!important;
  font-weight:700!important;
  color:var(--white)!important;
  background:var(--crimson-bright)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  justify-content:center!important;
  text-align:center!important;
  margin-top:1.25rem!important;
  border-radius:4px!important;
  min-height:56px!important;
  border-bottom:none!important;
  flex-shrink:0!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
}

/* ── LAYOUT HELPERS ── */
.wrap{max-width:1300px;margin:0 auto;padding:0 1.25rem;}
.wrap-sm{max-width:820px;margin:0 auto;padding:0 1.25rem;}
.sec{padding:clamp(3.5rem,8vw,6.5rem) 0;}
.eyebrow{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem;}
.eyebrow-line{width:36px;height:2px;background:linear-gradient(90deg,var(--crimson-bright),var(--gold));flex-shrink:0;}
.eyebrow-text{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-family:'Didact Gothic',sans-serif;}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.1rem,5.5vw,3.6rem);font-weight:400;color:var(--navy);line-height:1.08;margin-bottom:1.4rem;}
.sec-title em{font-style:italic;color:var(--gold);}
.sec-title.lt{color:#fff;}
.gold-rule{display:flex;align-items:center;gap:1.1rem;margin:1.75rem 0;}
.gold-rule-line{flex:1;height:1px;background:linear-gradient(90deg,var(--crimson-bright),var(--gold));opacity:.4;}
.gold-rule-dia{width:7px;height:7px;background:var(--crimson-bright);transform:rotate(45deg);flex-shrink:0;}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:'Didact Gothic',sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:.9rem 1.75rem;cursor:pointer;transition:all .22s;min-height:48px;border:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.btn-gold{background:var(--crimson-bright);color:var(--white);}
.btn-gold:hover{background:var(--crimson-deep);transform:translateY(-2px);box-shadow:0 6px 22px rgba(192,32,47,.35);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--navy-mid);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.32);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
/* Prose */
.prose p{font-family:'Libre Baskerville',serif;font-size:clamp(1rem,2.4vw,1.06rem);line-height:1.95;color:#111;margin-bottom:1.2rem;}
.prose p:first-of-type::first-letter{font-family:'Cormorant Garamond',serif;font-size:4rem;font-weight:600;color:var(--navy);float:left;line-height:.78;margin-right:.1em;margin-top:.12em;}
.psm p{font-family:'Libre Baskerville',serif;font-size:clamp(1rem,2.4vw,1.06rem);line-height:1.95;color:#111;margin-bottom:1.2rem;}
.pull-quote{border-left:4px solid var(--crimson-bright);padding:1.2rem 1.5rem;margin:1.75rem 0;background:var(--crimson-pale);}
.pull-quote p{font-family:'Cormorant Garamond',serif;font-size:clamp(1.25rem,3.5vw,1.65rem);font-style:italic;color:var(--crimson-deep);line-height:1.5;margin-bottom:.4rem;}
.pull-quote cite{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-style:normal;}
/* Fact boxes: solid gold */
.fact-box{background:var(--crimson-pale);border-left:5px solid var(--crimson-bright);padding:1.5rem 1.65rem;margin:1.65rem 0;}
.fact-box p{font-family:'Libre Baskerville',serif;font-size:clamp(1rem,2.4vw,1.06rem);color:var(--navy)!important;font-style:italic;line-height:1.85;font-weight:600;}
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.fade-in.visible{opacity:1;transform:none;}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}

/* ── HERO ── */
.hero{position:relative;min-height:calc(100vh - var(--nav-h));display:flex;flex-direction:column;justify-content:center;background:var(--navy);overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,rgba(13,27,42,.9),rgba(109,14,28,.55) 60%,rgba(13,27,42,.95)),url('https://upload.wikimedia.org/wikipedia/commons/f/f6/Rod_Paige_official_portrait.jpg') center/cover no-repeat;}
.hero-grid{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 80px,rgba(201,168,76,.018) 80px,rgba(201,168,76,.018) 81px),repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(201,168,76,.018) 80px,rgba(201,168,76,.018) 81px);}
.hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 25% 55%,rgba(192,32,47,.09),transparent 55%);pointer-events:none;}
.hero-content{position:relative;z-index:2;padding:clamp(2rem,6vw,5rem) 1.25rem;max-width:1300px;margin:0 auto;width:100%;}
.hero-eyebrow{display:flex;align-items:center;gap:.8rem;margin-bottom:1.25rem;animation:fadeUp .8s ease both;}
.hero-eyebrow-line{width:36px;height:2px;background:linear-gradient(90deg,var(--crimson-bright),var(--gold));}
.hero-eyebrow-txt{font-size:clamp(.78rem,2vw,.95rem);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;font-family:'Didact Gothic',sans-serif;}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,4.4vw,4.5rem);font-weight:700;color:#fff;line-height:1.04;max-width:640px;animation:fadeUp .8s .08s ease both;}
.hero-title em{font-style:italic;color:var(--gold-lt);display:block;}
.hero-title strong{font-weight:600;display:block;}
.hero-quote{font-family:'Libre Baskerville',serif;font-size:clamp(1rem,2.6vw,1.15rem);color:rgba(255,255,255,.85);max-width:560px;line-height:1.8;margin-top:1.1rem;font-style:italic;animation:fadeUp .8s .16s ease both;}
.hero-dates{font-size:.75rem;letter-spacing:.17em;color:var(--gold);text-transform:uppercase;margin-top:.75rem;animation:fadeUp .8s .22s ease both;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.85rem;animation:fadeUp .8s .28s ease both;width:100%;}
.hero-actions .btn{white-space:nowrap;}
.hero-actions .btn{flex:1 1 min(160px,42vw);font-size:clamp(.88rem,2.2vw,1rem);padding:1.1rem 1.5rem;min-height:56px;letter-spacing:.14em;}
.hero-stats{position:relative;z-index:2;border-top:1px solid rgba(201,168,76,.2);background:rgba(13,27,42,.7);padding:1.5rem 1.25rem;animation:fadeUp .8s .44s ease both;}
.stats-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem .75rem;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5.5vw,3.5rem);font-weight:700;color:var(--gold);line-height:1;}
.stat-lbl{font-size:clamp(.72rem,1.8vw,.88rem);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.92);margin-top:.35rem;line-height:1.4;font-weight:700;}

/* ── HOME: 3-panel feature ── */
.home-panels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px;background:var(--navy);}
.home-panel{position:relative;overflow:hidden;cursor:pointer;}
.home-panel-img{position:relative;width:100%;overflow:hidden;}
.home-panel-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .55s ease,filter .4s ease;filter:grayscale(8%);}
.home-panel:hover .home-panel-img img{transform:scale(1.03);filter:grayscale(0%);}
.home-panel-cap{background:var(--navy-mid);padding:1rem 1.15rem;border-top:3px solid var(--crimson-bright);min-height:5.5rem;display:flex;flex-direction:column;justify-content:flex-start;}
.home-panel-eyebrow{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem;}
.home-panel-title{font-family:'Cormorant Garamond',serif;font-size:clamp(.9rem,2.5vw,1.05rem);color:#fff;line-height:1.4;}
@media(max-width:600px){.home-panels{grid-template-columns:1fr;}}

/* ── HOME: legacy grid ── */
.legacy-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;}
/* portrait card */
.portrait-card-wrap{max-width:400px;}
.portrait-frame{position:relative;overflow:hidden;}
.portrait-frame::before{content:'';position:absolute;top:-8px;left:-8px;right:8px;bottom:8px;border:2px solid var(--crimson-bright);z-index:1;pointer-events:none;}
.portrait-img-box{position:relative;width:100%;overflow:hidden;}
.portrait-img-box img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;filter:grayscale(10%);transition:filter .5s;display:block;}
.portrait-img-box:hover img{filter:none;}
.portrait-cap{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--border);}
.portrait-cap-name{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:700;color:var(--navy);}
.portrait-cap-role{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:.25rem;}
.portrait-cap-desc{font-family:'Libre Baskerville',serif;font-size:.95rem;font-style:italic;color:var(--muted);line-height:1.65;margin-top:.75rem;}

/* ── HOME: milestones ── */
.ms-grid{display:grid;grid-template-columns:1fr;border:1px solid var(--border);margin-top:2.25rem;}
.ms-item{padding:1.6rem 1.25rem;border-bottom:2px solid rgba(192,32,47,.25);border-left:4px solid var(--crimson-bright);background:rgba(192,32,47,.07);transition:background .25s;}
.ms-item:last-child{border-bottom:none;}
.ms-item:hover{background:rgba(192,32,47,.14);}
.ms-year{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5vw,3rem);font-weight:700;color:var(--gold);display:block;line-height:1;margin-bottom:.4rem;text-align:center;}
.ms-badge{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.9);display:block;margin-bottom:.5rem;font-weight:700;text-align:center;}
.ms-desc{font-family:'Libre Baskerville',serif;font-size:clamp(1rem,2.4vw,1.05rem);color:rgba(255,255,255,.95);line-height:1.72;text-align:center;}

/* ── HOME: tributes ── */
.trib-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:2.25rem;}
.trib-card{background:#fff;padding:1.75rem 1.5rem;border:1px solid var(--border-crimson);border-top:3px solid var(--crimson-bright);position:relative;transition:transform .3s,box-shadow .3s;}
.trib-card:hover{transform:translateY(-3px);box-shadow:0 10px 36px rgba(13,27,42,.1);}
.trib-card::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;background:url("images/texture.png") center/contain no-repeat;opacity:.08;pointer-events:none;z-index:0;}
.trib-quote{font-family:'Libre Baskerville',serif;font-size:clamp(1rem,2.5vw,1.08rem);line-height:1.88;color:#222;font-style:italic;margin-top:1.4rem;position:relative;z-index:1;}
.trib-auth{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--border);}
.trib-name{font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--navy);font-weight:700;}
.trib-role{font-size:.8rem;color:var(--muted);margin-top:.2rem;}
/* Mission pillars */
.pillars{display:grid;grid-template-columns:1fr;gap:1.4rem;margin-top:2.25rem;}
.pillar{border-top:2px solid var(--gold);padding-top:1.1rem;}
.pillar h3{font-family:'Cormorant Garamond',serif;font-size:clamp(1.35rem,3vw,1.65rem);color:#fff;margin-bottom:.6rem;}
.pillar p{font-size:clamp(.97rem,2.4vw,1.05rem);color:rgba(255,255,255,.82);line-height:1.75;}

/* ── PAGE HERO (inner pages) ── */
.page-hero{background:var(--navy);padding:clamp(2.5rem,7vw,5.5rem) 1.25rem clamp(2rem,5vw,4rem);position:relative;overflow:hidden;}
.page-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,27,42,.5) 0%,rgba(13,27,42,.98) 100%),repeating-linear-gradient(-45deg,transparent,transparent 20px,rgba(201,168,76,.012) 20px,rgba(201,168,76,.012) 21px);}
.page-hero-inner{position:relative;z-index:2;max-width:1300px;margin:0 auto;}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:300;color:#fff;line-height:1.07;max-width:680px;margin-top:.75rem;}
.page-hero h1 em{font-style:italic;color:var(--gold-lt);}
.page-hero-sub{font-size:.74rem;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-top:.8rem;}

/* ── LIFE STORY ── */
.chapters{padding:clamp(2.5rem,6vw,5rem) 0;background:#fff;}
.chapter{margin-bottom:3.5rem;background:#fff;position:relative;}
.chap-hd{display:flex;align-items:flex-start;gap:.85rem;border-bottom:2px solid var(--border-crimson);padding-bottom:.9rem;margin-bottom:1rem;background:#fff;}
.chap-year{font-family:'Cormorant Garamond',serif;font-size:clamp(2.1rem,4.5vw,2.75rem);font-weight:700;color:var(--gold);line-height:1;flex-shrink:0;}
.chap-era{font-size:.74rem;letter-spacing:.17em;text-transform:uppercase;color:var(--crimson-bright);margin-top:.35rem;display:block;font-weight:700;}
.chap-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.45rem,4.5vw,1.95rem);font-weight:700;color:var(--navy);line-height:1.2;flex:1;}
.chap-dot{display:none;}

/* ── ARCHIVE ── */
.filter-bar{display:flex;gap:.5rem;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;margin-top:1.6rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.filter-bar::-webkit-scrollbar{display:none;}
.filter-btn{flex-shrink:0;padding:.55rem 1.2rem;border:1px solid rgba(255,255,255,.22);background:transparent;color:rgba(255,255,255,.65);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s;white-space:nowrap;min-height:44px;font-family:'Didact Gothic',sans-serif;scroll-snap-align:start;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.filter-btn:hover,.filter-btn.active{background:var(--crimson-bright);border-color:var(--crimson-bright);color:var(--white);}

/* Archive photo system — full image, no crop */
.photo-grid{display:flex;flex-direction:column;gap:0;background:var(--cream);}
.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:4px;}
.photo-card{position:relative;cursor:pointer;overflow:hidden;background:var(--navy);}
.photo-card.photo-span2{grid-column:span 2;}
.photo-card.photo-span3{grid-column:span 3;}
.photo-card-inner{position:relative;width:100%;}
.photo-card-inner img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;background:var(--navy);transition:transform .55s ease,filter .4s ease;filter:grayscale(8%);}
.photo-card:hover .photo-card-inner img{transform:scale(1.025);filter:grayscale(0%);}
.caption-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(13,27,42,.96) 0%,transparent 100%);padding:2rem 1rem .85rem;opacity:0;transition:opacity .32s ease;pointer-events:none;}
.photo-card:hover .caption-overlay{opacity:1;}
.caption-overlay strong{display:block;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem;line-height:1.3;}
.caption-overlay span{font-size:.84rem;color:#fff;line-height:1.45;display:block;font-family:'Libre Baskerville',serif;}
/* Era section headers */
.era-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0 .85rem;border-bottom:3px solid var(--crimson-bright);margin-bottom:4px;}
.era-name{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,4vw,1.95rem);font-weight:700;color:var(--navy);}
.era-years{font-size:.73rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.arch-note{margin-top:2rem;padding:1.5rem;background:#fff;border:1px solid var(--border-crimson);border-left:4px solid var(--crimson-bright);display:flex;gap:.85rem;align-items:flex-start;}
.arch-note-ico{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:rgba(201,168,76,.1);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;}
.arch-note h4{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:.4rem;}
.arch-note p{font-size:.88rem;color:var(--muted);line-height:1.65;font-family:'Libre Baskerville',serif;}

/* ── ARTICLES ── */
.art-subhd{display:flex;align-items:center;gap:1.1rem;margin-bottom:.5rem;}
.art-subhd h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.35rem,4vw,1.7rem);font-weight:400;color:var(--navy);white-space:nowrap;}
.art-subhd-line{flex:1;height:1px;background:var(--border);}
.art-desc{font-family:'Libre Baskerville',serif;font-size:.9rem;font-style:italic;color:var(--muted);margin-bottom:1.75rem;line-height:1.6;}
.art-list{display:flex;flex-direction:column;gap:2px;}
.art-card{background:#fff;display:flex;flex-direction:column;transition:box-shadow .3s;}
.art-card:hover{box-shadow:0 6px 28px rgba(13,27,42,.1);z-index:1;}
.art-meta{background:linear-gradient(135deg,var(--navy) 60%,var(--crimson-deep));border-left:4px solid var(--crimson-bright);padding:1.35rem 1.5rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;flex-wrap:wrap;}
.art-badge{display:inline-block;padding:.3rem .85rem;background:var(--crimson-bright);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--white);font-weight:700;}
.art-date{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:rgba(255,255,255,.88);font-style:italic;font-weight:600;}
.art-source{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:.2rem;}
.art-body{padding:1.25rem;}
.art-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,3.8vw,1.5rem);font-weight:700;color:var(--navy);line-height:1.28;margin-bottom:.75rem;}
.art-excerpt{font-family:'Libre Baskerville',serif;font-size:clamp(.97rem,2.4vw,1.02rem);line-height:1.88;color:#222;margin-bottom:1.1rem;}
.art-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--crimson-bright);border-bottom:1px solid transparent;transition:border-color .2s;min-height:36px;}
.art-link:hover{border-bottom-color:var(--crimson-bright);}

/* ── DONATE ── */
div.page.donate-pg{background:var(--navy);color:#fff;}
.donate-hero-sec{padding:clamp(2.5rem,7vw,5.5rem) 1.25rem clamp(2rem,5vw,3.5rem);text-align:center;background:radial-gradient(ellipse at 60% 0%,rgba(201,168,76,.07) 0%,transparent 60%);}
.donate-hero-sec .eyebrow{justify-content:center;}
.d-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;padding:0 1.25rem;max-width:1100px;margin:0 auto;}
.d-info h3{font-family:'Cormorant Garamond',serif;font-size:clamp(1.45rem,4vw,1.8rem);color:#fff;margin-bottom:.85rem;font-weight:500;}
.d-info>p{font-family:'Libre Baskerville',serif;font-size:clamp(.97rem,2.4vw,1.02rem);line-height:1.88;color:rgba(255,255,255,.85);margin-bottom:1.35rem;}
.d-method{background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.2);padding:1.4rem;margin-bottom:1rem;transition:background .2s;}
.d-method:hover{background:rgba(201,168,76,.05);}
.d-method-hd{display:flex;align-items:center;gap:.75rem;margin-bottom:.8rem;}
.d-ico{width:36px;height:36px;border-radius:50%;background:rgba(201,168,76,.1);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.d-method-title{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
.d-body{font-family:'Libre Baskerville',serif;font-size:clamp(.94rem,2.3vw,1rem);color:rgba(255,255,255,.85);line-height:1.75;}
.d-detail{font-size:.82rem;color:var(--gold-lt);margin-top:.45rem;line-height:1.6;}
.tax-note{padding:1.1rem;border:1px solid rgba(201,168,76,.15);background:rgba(255,255,255,.02);margin-top:1.4rem;}
.tax-note p{font-size:.84rem;color:rgba(255,255,255,.7);line-height:1.72;font-style:italic;}
/* Form card */
.form-card{background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.22);padding:clamp(1.5rem,5vw,2.5rem);}
.form-card h3{font-family:'Cormorant Garamond',serif;font-size:clamp(1.55rem,4vw,2rem);color:#fff;margin-bottom:.25rem;}
.form-sub{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1.75rem;}
.amt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:.75rem;}
.amt-btn{padding:.75rem .5rem;border:1px solid rgba(201,168,76,.28);background:transparent;color:rgba(255,255,255,.65);font-family:'Cormorant Garamond',serif;font-size:1.2rem;cursor:pointer;transition:all .18s;min-height:48px;}
.amt-btn:hover,.amt-btn.on{background:var(--crimson-bright);border-color:var(--crimson-bright);color:var(--white);}
.fg{margin-bottom:1.1rem;}
.fl{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.45rem;}
.fi,.fs{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#fff;font-family:'Didact Gothic',sans-serif;font-size:1rem;padding:.8rem 1rem;outline:none;transition:border-color .2s;border-radius:0;-webkit-appearance:none;}
.fi:focus,.fs:focus{border-color:var(--crimson-bright);background:rgba(192,32,47,.04);}
.fi::placeholder{color:rgba(255,255,255,.22);}
.fs{cursor:pointer;}
.fs option{background:var(--navy-mid);}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;}
.pay-box{display:none;padding:1.1rem;background:rgba(201,168,76,.06);border:1px solid rgba(201,168,76,.2);margin-bottom:1rem;font-family:'Libre Baskerville',serif;font-size:.9rem;color:rgba(255,255,255,.82);line-height:1.75;}
.pay-box.on{display:block;}
.d-submit{width:100%;padding:1rem;background:var(--crimson-bright);border:none;color:var(--white);font-family:'Didact Gothic',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;cursor:pointer;transition:all .22s;margin-top:.75rem;min-height:52px;}
.d-submit:hover{background:var(--crimson-deep);box-shadow:0 6px 22px rgba(192,32,47,.3);}
.sec-note{font-size:.7rem;color:rgba(255,255,255,.32);text-align:center;margin-top:.85rem;line-height:1.5;}

/* ── SCHOLARSHIP PAGE ── */
div.page.scholars-pg{background:var(--cream);}
.scholars-intro{max-width:820px;margin:0 auto;padding:0 1.25rem;}
.scholars-intro p{font-family:'Libre Baskerville',serif;font-size:clamp(1rem,2.4vw,1.08rem);line-height:1.95;color:#111;margin-bottom:1.3rem;}
.scholars-intro p:first-of-type::first-letter{font-family:'Cormorant Garamond',serif;font-size:4rem;font-weight:600;color:var(--navy);float:left;line-height:.78;margin-right:.1em;margin-top:.12em;}
.eligibility-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:2.5rem;}
.eligibility-card{background:#fff;border:1px solid var(--border-crimson);padding:2rem;border-top:5px solid var(--crimson-bright);}
.eligibility-card h3{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;color:var(--navy);margin-bottom:.75rem;}
.eligibility-card p,.eligibility-card li{font-family:'Libre Baskerville',serif;font-size:.95rem;color:#333;line-height:1.8;}
.eligibility-card ul{padding-left:1.25rem;margin-top:.5rem;}
.eligibility-card li{margin-bottom:.35rem;}
.apply-form-card{background:var(--navy);padding:clamp(2rem,5vw,3rem);max-width:700px;margin:3rem auto 0;}
.apply-form-card h3{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,4vw,2rem);color:#fff;margin-bottom:.3rem;}
.apply-form-sub{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1.75rem;}
.apply-btn{width:100%;padding:1rem;background:var(--crimson-bright);border:none;color:var(--white);font-family:'Didact Gothic',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:all .22s;margin-top:.75rem;min-height:52px;}
.apply-btn:hover{background:var(--crimson-deep);}

/* ── THANK YOU OVERLAY ── */
.ty{display:none;position:fixed;inset:0;z-index:9999;background:rgba(13,27,42,.97);align-items:center;justify-content:center;padding:1.5rem;overflow-y:auto;backdrop-filter:blur(10px);}
.ty.show{display:flex;}
.ty-card{max-width:540px;width:100%;text-align:center;padding:clamp(2rem,6vw,3.5rem);background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.3);animation:scaleIn .36s ease;}
@keyframes scaleIn{from{opacity:0;transform:scale(.93);}to{opacity:1;transform:scale(1);}}
.ty-seal{width:64px;height:64px;border-radius:50%;border:2px solid var(--crimson-bright);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;}
.ty-card h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,2.8rem);font-weight:400;color:#fff;margin-bottom:.4rem;}
.ty-gold{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;}
.ty-msg{font-family:'Libre Baskerville',serif;font-size:clamp(.9rem,2.4vw,1rem);line-height:1.9;color:rgba(255,255,255,.7);font-style:italic;margin-bottom:2rem;}
.ty-close{padding:.9rem 2.25rem;background:var(--crimson-bright);border:none;color:var(--white);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;font-family:'Didact Gothic',sans-serif;min-height:48px;}
.ty-close:hover{background:var(--crimson-deep);}

/* ── FOOTER ── */
footer{background:#070f18;padding:clamp(3rem,7vw,5.5rem) 1.25rem 2.5rem;border-top:3px solid var(--crimson-bright);}
.foot-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2.5rem;}
.fb-name{font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,3vw,1.5rem);font-weight:600;color:#fff;margin-bottom:.4rem;}
.fb-sub{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem;}
.fb p{font-size:.92rem;color:rgba(255,255,255,.65);line-height:1.78;max-width:300px;}
.fc h4{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.95rem;}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:.45rem;}
.fc ul li button,.fc ul li a{font-size:.92rem;color:rgba(255,255,255,.7);background:none;border:none;cursor:pointer;padding:0;text-align:left;font-family:'Didact Gothic',sans-serif;transition:color .2s;min-height:36px;display:flex;align-items:center;}
.fc ul li button:hover,.fc ul li a:hover{color:var(--gold);}
.foot-bot{max-width:1300px;margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:.4rem;}
.foot-bot p{font-size:.78rem;color:rgba(255,255,255,.45);}

/* ── RESPONSIVE ── */
@media(min-width:480px){
  .stats-grid{grid-template-columns:repeat(4,1fr);}
  .ms-grid{grid-template-columns:repeat(2,1fr);}
  .ms-grid .ms-item{border-right:1px solid rgba(201,168,76,.2);}
  .ms-grid .ms-item:nth-child(2n){border-right:none;}
  .trib-grid{grid-template-columns:repeat(2,1fr);}
  .pillars{grid-template-columns:repeat(2,1fr);}
  .eligibility-grid{grid-template-columns:repeat(2,1fr);}
}
@media(min-width:768px){
  .burger{display:none;}
  .nav-links{display:flex;}
  .nmain{font-size:1.02rem;}
  .legacy-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:start;}
  .portrait-card-wrap{position:sticky;top:calc(var(--nav-h) + 1.5rem);max-width:100%;}
  .ms-grid{grid-template-columns:repeat(4,1fr);}
  .ms-grid .ms-item{border-right:1px solid rgba(201,168,76,.2);border-bottom:none!important;}
  .ms-grid .ms-item:nth-child(4n){border-right:none;}
  .trib-grid{grid-template-columns:repeat(3,1fr);}
  .pillars{grid-template-columns:repeat(3,1fr);}
  .chapter{display:grid;grid-template-columns:155px 1fr;gap:2.5rem;position:relative;}
  .chapter::before{content:'';position:absolute;left:77px;top:0;bottom:-3.5rem;width:1px;background:linear-gradient(to bottom,var(--border),transparent);transform:translateX(-50%);}
  .chapter:last-child::before{display:none;}
  .chap-dot{display:block;position:absolute;left:77px;top:.6rem;width:10px;height:10px;border-radius:50%;background:var(--gold);transform:translateX(-50%);box-shadow:0 0 0 4px rgba(201,168,76,.15);}
  .chap-hd{border-bottom:none;padding-bottom:0;margin-bottom:0;flex-direction:column;align-items:flex-start;}
  .art-card{flex-direction:row;}
  .art-meta{flex-direction:column;justify-content:space-between;min-width:200px;max-width:220px;}
  .d-grid{grid-template-columns:1fr 1.1fr;gap:3.5rem;}
  .frow{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;}
  .foot-bot{flex-direction:row;justify-content:space-between;}
  .eligibility-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:767px){
  .frow{grid-template-columns:1fr;}
  .chap-dot{display:none;}
  .photo-row{grid-template-columns:1fr 1fr;}
  .photo-card.photo-span2{grid-column:span 2;}
  .photo-card.photo-span3{grid-column:span 2;}
  .amt-grid{grid-template-columns:repeat(2,1fr);}
  .home-panels{grid-template-columns:1fr;}
}
@media(max-width:360px){
  .ntop{font-size:.48rem;letter-spacing:.05em;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
  .fade-in{opacity:1;transform:none;}
}

/* ═══════════════════════════════════════════════════
   COMPREHENSIVE MOBILE & TABLET OPTIMIZATIONS
═══════════════════════════════════════════════════ */

/* Touch: remove tap highlight everywhere */
*{-webkit-tap-highlight-color:transparent;}
input,textarea,select{-webkit-tap-highlight-color:transparent;}

/* Smooth momentum scrolling on iOS for all scrollable elements */
.filter-bar,div.page{-webkit-overflow-scrolling:touch;}

/* Drawer: active state feedback on touch */
.drawer button:active{color:var(--gold)!important;background:rgba(201,168,76,.06)!important;}

/* Mobile nav: ensure logo doesn't overflow */
@media(max-width:380px){
  .ntop{font-size:.5rem;letter-spacing:.06em;}
  .nmain{font-size:.8rem;}
  .nav-inner{padding:0 .65rem;}
  .burger{width:44px;padding:0 10px;}
}

/* Small phones (up to 480px) */
@media(max-width:480px){
  /* Hero */
  .hero-title{font-size:clamp(2.2rem,9vw,3.2rem);}
  .hero-quote{font-size:.95rem;}
  .hero-dates{font-size:.68rem;}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:.85rem .5rem;}
  .stat-num{font-size:2.2rem;}
  .stat-lbl{font-size:.62rem;}
  
  /* Home panels: stack vertically */
  .home-panels{grid-template-columns:1fr;}
  
  /* Legacy section */
  .portrait-card-wrap{max-width:100%;}
  .sec-title{font-size:clamp(1.75rem,6vw,2.4rem);}
  
  /* Milestones: single col */
  .ms-grid{grid-template-columns:1fr;}
  .ms-item{border-right:none;}
  .ms-year{font-size:2rem;}
  .ms-desc{font-size:.95rem;}
  
  /* Tributes: single col */
  .trib-grid{grid-template-columns:1fr;}
  .trib-card{padding:1.5rem 1.25rem;}
  .trib-quote{font-size:.95rem;}
  
  /* Mission pillars */
  .pillars{grid-template-columns:1fr;}
  
  /* Photo grid */
  .photo-row{grid-template-columns:1fr 1fr;}
  .photo-card.photo-span3{grid-column:span 2;}
  .era-header{padding:1.1rem 0 .7rem;}
  .era-name{font-size:1.25rem;}
  
  /* Articles */
  .art-card{flex-direction:column;}
  .art-meta{flex-direction:row;flex-wrap:wrap;min-width:auto;max-width:100%;}
  .art-title{font-size:1.15rem;}
  .art-excerpt{font-size:.92rem;}
  
  /* Donate */
  .amt-grid{grid-template-columns:repeat(3,1fr);}
  .d-grid{gap:1.75rem;}
  
  /* Scholarship */
  .eligibility-grid{grid-template-columns:1fr;}
  .frow{grid-template-columns:1fr;}
  
  /* Life story */
  .chap-title{font-size:1.25rem;}
  .chapters{padding:2rem 0;}
  
  /* Footer */
  .foot-grid{grid-template-columns:1fr;}
  .foot-bot{flex-direction:column;gap:.35rem;}
  .fb p{max-width:100%;}
  
  /* Page hero */
  .page-hero h1{font-size:clamp(1.9rem,6vw,2.6rem);}
  
  /* Pull quote */
  .pull-quote p{font-size:1.15rem;}
  
  /* Wrap padding */
  .wrap{padding:0 1rem;}
  .wrap-sm{padding:0 1rem;}
}

/* Medium phones / small tablets (481px - 767px) */
@media(min-width:481px) and (max-width:767px){
  .hero-title{font-size:clamp(2.8rem,7vw,3.8rem);}
  .home-panels{grid-template-columns:1fr 1fr;}
  .trib-grid{grid-template-columns:repeat(2,1fr);}
  .ms-grid{grid-template-columns:repeat(2,1fr);}
  .photo-row{grid-template-columns:repeat(3,1fr);}
  .foot-grid{grid-template-columns:1fr 1fr;}
}

/* Tablets (768px - 1024px) */
@media(min-width:768px) and (max-width:1024px){
  .nav-links li button{font-size:.65rem;padding:.45rem .65rem;}
  .home-panels{grid-template-columns:repeat(3,1fr);}
  .art-meta{min-width:160px;max-width:180px;}
  .d-grid{gap:2rem;}
}

/* iPad Pro / large tablet (1025px+) */
@media(min-width:1025px){
  .home-panels{grid-template-columns:repeat(3,1fr);}
}

/* iOS safe area support */
@supports(padding:max(0px)){
  
  nav{
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }
}

/* Landscape phone: compact hero */
@media(max-height:500px) and (orientation:landscape){
  .hero{min-height:auto;}
  .hero-content{padding:1.25rem 1.25rem .75rem;}
  .hero-title{font-size:2rem;}
  .hero-quote{display:none;}
  .hero-stats{padding:1rem 1.25rem;}
  
}

/* High-DPI / Retina display adjustments */
@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){
  .hero-bg{background-size:cover;}
}

/* Focus states for accessibility */
button:focus-visible,a:focus-visible{
  outline:2px solid var(--crimson-bright);
  outline-offset:2px;
}

/* ── GRAVITY FORMS — match Foundation navy/gold design ──
   Scoped to .rpf-gform so only the donation & scholarship forms are restyled.
   Covers both the legacy and 2.5+ Gravity Forms markup. */
.rpf-gform .gform_wrapper{margin:0;}
.rpf-gform .gform_wrapper form{margin:0;}
.rpf-gform .gform_heading,
.rpf-gform .gform_title,
.rpf-gform .gform_description{display:none;}

/* Field rows */
.rpf-gform .gfield{margin-bottom:1.1rem !important;}
.rpf-gform .gform_fields{display:grid;grid-template-columns:1fr;gap:0;}

/* Labels — tiny uppercase gold-grey */
.rpf-gform .gfield_label,
.rpf-gform legend.gfield_label{
  display:block;font-family:'Didact Gothic',sans-serif;font-size:.66rem;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);
  margin-bottom:.45rem;font-weight:400;
}
.rpf-gform .gfield_required{color:var(--gold);}

/* Inputs, textareas, selects */
.rpf-gform .ginput_container input[type="text"],
.rpf-gform .ginput_container input[type="email"],
.rpf-gform .ginput_container input[type="tel"],
.rpf-gform .ginput_container input[type="url"],
.rpf-gform .ginput_container input[type="number"],
.rpf-gform .ginput_container input[type="password"],
.rpf-gform .ginput_container textarea,
.rpf-gform .ginput_container select,
.rpf-gform .gfield input,
.rpf-gform .gfield textarea,
.rpf-gform .gfield select{
  width:100% !important;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);color:#fff;
  font-family:'Didact Gothic',sans-serif;font-size:1rem;padding:.8rem 1rem;
  outline:none;transition:border-color .2s;border-radius:0;-webkit-appearance:none;appearance:none;
}
.rpf-gform .gfield textarea{min-height:140px;resize:vertical;font-family:'Libre Baskerville',serif;line-height:1.65;}
.rpf-gform .gfield input:focus,
.rpf-gform .gfield textarea:focus,
.rpf-gform .gfield select:focus{border-color:var(--crimson-bright);background:rgba(192,32,47,.04);}
.rpf-gform .gfield input::placeholder,
.rpf-gform .gfield textarea::placeholder{color:rgba(255,255,255,.22);}
.rpf-gform .gfield select option{background:var(--navy-mid);color:#fff;}

/* Radio / checkbox (e.g. donation amount, gift type) */
.rpf-gform .gfield_radio label,
.rpf-gform .gfield_checkbox label{color:rgba(255,255,255,.8);font-family:'Didact Gothic',sans-serif;font-size:.95rem;}
.rpf-gform .gfield_radio input,
.rpf-gform .gfield_checkbox input{accent-color:var(--crimson-bright);width:auto !important;margin-right:.5rem;}

/* Description / sub-label text */
.rpf-gform .gfield_description,
.rpf-gform .ginput_complex label{color:rgba(255,255,255,.4);font-size:.78rem;}

/* Submit button */
.rpf-gform .gform_footer input[type="submit"],
.rpf-gform .gform_footer button,
.rpf-gform .gform_page_footer input[type="submit"],
.rpf-gform .gform_button{
  width:100%;padding:1rem;background:var(--crimson-bright);border:none;color:var(--white);
  font-family:'Didact Gothic',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.17em;
  text-transform:uppercase;cursor:pointer;transition:all .22s;margin-top:.75rem;min-height:52px;border-radius:0;
}
.rpf-gform .gform_footer input[type="submit"]:hover,
.rpf-gform .gform_footer button:hover,
.rpf-gform .gform_button:hover{background:var(--crimson-deep);box-shadow:0 6px 22px rgba(192,32,47,.3);}

/* Validation states */
.rpf-gform .gfield_error input,
.rpf-gform .gfield_error textarea,
.rpf-gform .gfield_error select{border-color:var(--crimson-bright);}
.rpf-gform .validation_message,
.rpf-gform .gfield_validation_message{color:var(--gold-lt);font-size:.78rem;margin-top:.35rem;background:none;border:none;padding:0;}
.rpf-gform .gform_validation_errors{background:rgba(192,32,47,.12);border:1px solid var(--crimson-bright);color:#fff;padding:.85rem 1rem;margin-bottom:1rem;}
.rpf-gform .gform_validation_errors h2,
.rpf-gform .gform_validation_errors a{color:var(--gold-lt);}

/* Confirmation message */
.rpf-gform .gform_confirmation_message{
  font-family:'Libre Baskerville',serif;color:rgba(255,255,255,.85);line-height:1.8;
  padding:1rem 0;font-style:italic;
}

/* Editor-only placeholder notice (shown when no form ID / GF inactive) */
.rpf-form-notice{
  background:rgba(201,168,76,.08);border:1px dashed rgba(201,168,76,.4);
  color:rgba(255,255,255,.7);font-size:.85rem;line-height:1.6;padding:1rem 1.15rem;border-radius:0;
}
.rpf-form-notice code{color:var(--gold-lt);background:rgba(0,0,0,.25);padding:.1rem .35rem;}

/* ── WORDPRESS MENU (multi-page nav) ──
   Maps wp_nav_menu link output onto the original button styling so the
   desktop bar and mobile drawer look identical to the single-page version. */

/* Desktop bar: <ul class="nav-links"><li><a> */
.nav-links{margin:0;padding:0;}
.nav-links li{list-style:none;}
.nav-links li a{
  font-family:'Didact Gothic',sans-serif;font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(255,255,255,.72);padding:.5rem .9rem;
  border-radius:2px;transition:color .2s,background .2s;min-height:40px;
  display:flex;align-items:center;text-decoration:none;
}
.nav-links li a:hover,
.nav-links li.current-menu-item > a,
.nav-links li.current_page_item > a,
.nav-links li.current-menu-ancestor > a{color:var(--gold);background:rgba(201,168,76,.08);}
.nav-links li.nav-donate a{
  background:var(--crimson-bright);color:var(--white);padding:.5rem 1.15rem;
  font-weight:700;transition:background .2s,transform .15s;
}
.nav-links li.nav-donate a:hover{background:var(--crimson-deep);color:var(--white);transform:translateY(-1px);}
@media(min-width:768px){.nav-links li a{font-size:.65rem;padding:.45rem .65rem;}}

/* Mobile drawer: <ul class="drawer-links"><li><a> */
.drawer-links{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;}
.drawer-links li{list-style:none;width:100%;}
.drawer-links li a{
  font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,5.5vw,2rem);font-weight:700;
  color:#fff;letter-spacing:.04em;text-transform:none;padding:1rem 0;
  border-bottom:1px solid rgba(255,255,255,.15);text-align:left;width:100%;min-height:60px;
  display:flex;align-items:center;line-height:1.2;text-decoration:none;
  transition:color .2s,background .15s;-webkit-tap-highlight-color:transparent;
}
.drawer-links li a:hover,
.drawer-links li.current-menu-item > a{color:var(--gold);}
.drawer-links li.nav-donate a{
  font-family:'Didact Gothic',sans-serif;font-size:1rem;font-weight:700;color:var(--white);
  background:var(--crimson-bright);letter-spacing:.16em;text-transform:uppercase;
  justify-content:center;min-height:54px;padding:.9rem 1rem;border:none;border-bottom:none;
  border-radius:4px;margin-top:1.25rem;
}
.drawer-links li.nav-donate a:hover{background:var(--crimson-deep);color:var(--white);}

/* ── DEFAULT PAGE TEMPLATE CONTENT (page.php / index.php) ──
   Styles editor content placed in new pages to match the theme. */
.rpf-page-content{max-width:760px;margin:0 auto;font-family:'Libre Baskerville',serif;color:var(--charcoal);line-height:1.85;}
.rpf-page-content p{margin:0 0 1.25rem;font-size:1.02rem;}
.rpf-page-content h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,4vw,2.1rem);color:var(--navy);margin:2rem 0 .75rem;}
.rpf-page-content h3{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,3vw,1.6rem);color:var(--navy);margin:1.6rem 0 .6rem;}
.rpf-page-content a{color:var(--crimson);text-decoration:underline;}
.rpf-page-content a:hover{color:var(--crimson-deep);}
.rpf-page-content ul,.rpf-page-content ol{margin:0 0 1.25rem 1.4rem;}
.rpf-page-content li{margin-bottom:.5rem;}
.rpf-page-content img{margin:1.5rem auto;}
.rpf-page-content blockquote{border-left:3px solid var(--gold);padding-left:1.2rem;margin:1.5rem 0;font-style:italic;color:var(--muted);}
.rpf-entry{max-width:760px;margin:0 auto 2.5rem;}
.rpf-entry-title{font-family:'Cormorant Garamond',serif;color:var(--navy);margin-bottom:.5rem;}
.rpf-entry-title a{color:var(--navy);text-decoration:none;}
.rpf-entry-title a:hover{color:var(--crimson);}

/* Anchor-as-button safety (CTA buttons & logo are now real links) */
a.btn,a.btn-gold,a.btn-navy,a.btn-ghost{text-decoration:none;}
.nav-logo{text-decoration:none;}

/* ── NEW PAGE TEMPLATES (full-width & sidebar) ── */

/* Full-width landing: text stays readable; wide/full blocks break out. */
.rpf-fullwidth{padding-block:clamp(2.5rem,6vw,4.5rem);}
.rpf-fullwidth > *{max-width:760px;margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem;font-family:'Libre Baskerville',serif;line-height:1.85;color:var(--charcoal);}
.rpf-fullwidth > .alignwide{max-width:1100px;}
.rpf-fullwidth > .alignfull{max-width:100%;padding-left:0;padding-right:0;}
.rpf-fullwidth h2{font-family:'Cormorant Garamond',serif;color:var(--navy);font-size:clamp(1.6rem,4vw,2.1rem);margin:1.5rem auto .75rem;}
.rpf-fullwidth h3{font-family:'Cormorant Garamond',serif;color:var(--navy);font-size:clamp(1.3rem,3vw,1.6rem);margin:1.4rem auto .6rem;}
.rpf-fullwidth a{color:var(--crimson);}

/* Two-column with sidebar */
.rpf-layout-sidebar{display:grid;grid-template-columns:1fr;gap:2.5rem;}
.rpf-layout-sidebar .rpf-main{max-width:none;margin:0;}
.rpf-sidebar .rpf-widget{margin-bottom:2rem;background:rgba(201,168,76,.06);border:1px solid var(--border);padding:1.25rem 1.35rem;}
.rpf-widget-title{font-family:'Cormorant Garamond',serif;color:var(--navy);font-size:1.3rem;margin-bottom:.6rem;}
.rpf-sidebar a{color:var(--crimson);}
.rpf-sidebar ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
@media(min-width:900px){
  .rpf-layout-sidebar{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);align-items:start;}
}

/* Global alignment helpers for editor wide/full blocks inside content */
.rpf-page-content .alignwide{max-width:1100px;margin-left:auto;margin-right:auto;}
.rpf-page-content .alignfull{max-width:100%;}

/* ── GRAVITY FORMS — global theme styling (auto-applies site-wide) ──
   Targets .gform_wrapper directly so any Gravity Form on any page picks up
   the Foundation's navy/gold/crimson design automatically once you install
   and activate Gravity Forms. Designed for light backgrounds. For dark
   contexts, the more-specific .rpf-gform rules above will take over. */

.gform_wrapper{
  font-family:'Didact Gothic',sans-serif;color:var(--charcoal);
  max-width:680px;margin:0 auto;
}
.gform_wrapper form{margin:0;}
.gform_wrapper .gform_heading{margin-bottom:1.25rem;}
.gform_wrapper .gform_heading .gform_title{
  font-family:'Cormorant Garamond',serif;color:var(--navy);
  font-size:clamp(1.5rem,4vw,2rem);margin-bottom:.25rem;line-height:1.15;
}
.gform_wrapper .gform_heading .gform_description{
  font-family:'Libre Baskerville',serif;color:var(--muted);font-size:.95rem;
}

/* Field rows */
.gform_wrapper .gfield{margin-bottom:1.1rem;}
.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label{
  display:block;font-family:'Didact Gothic',sans-serif;font-size:.7rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--navy);
  font-weight:600;margin-bottom:.45rem;
}
.gform_wrapper .gfield_required{color:var(--crimson);margin-left:.15rem;}

/* Inputs, textareas, selects */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="date"],
.gform_wrapper textarea,
.gform_wrapper select{
  width:100%;background:#fff;border:1px solid rgba(13,27,42,.18);color:var(--charcoal);
  font-family:'Didact Gothic',sans-serif;font-size:1rem;padding:.75rem 1rem;border-radius:0;
  outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none;
}
.gform_wrapper textarea{min-height:140px;line-height:1.65;font-family:'Libre Baskerville',serif;resize:vertical;}
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.18);
}
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder{color:rgba(44,44,44,.4);}

/* Radio + checkbox (e.g. donation amount choices, opt-ins) */
.gform_wrapper .gchoice,
.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox{display:flex;flex-direction:column;gap:.4rem;}
.gform_wrapper .gchoice label,
.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label{
  font-family:'Didact Gothic',sans-serif;color:var(--charcoal);font-size:.95rem;
  display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;
}
.gform_wrapper input[type="radio"],
.gform_wrapper input[type="checkbox"]{
  accent-color:var(--crimson);width:auto;margin:0;flex-shrink:0;
}

/* Field description (small helper text under inputs) */
.gform_wrapper .gfield_description,
.gform_wrapper .ginput_complex label{color:var(--muted);font-size:.78rem;}

/* Submit button(s) */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer{margin-top:1.25rem;}
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="submit"],
.gform_wrapper button.gform_button,
.gform_wrapper button.gform_next_button,
.gform_wrapper button.gform_previous_button{
  width:100%;padding:1rem 1.5rem;background:var(--crimson-bright);border:none;color:#fff;
  font-family:'Didact Gothic',sans-serif;font-size:.82rem;font-weight:700;
  letter-spacing:.17em;text-transform:uppercase;cursor:pointer;transition:all .22s;
  min-height:52px;border-radius:0;
}
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:hover,
.gform_wrapper button.gform_button:hover,
.gform_wrapper button.gform_next_button:hover,
.gform_wrapper button.gform_previous_button:hover{
  background:var(--crimson-deep);box-shadow:0 6px 22px rgba(192,32,47,.3);
}

/* Validation states */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select{border-color:var(--crimson-bright);background:rgba(192,32,47,.03);}
.gform_wrapper .validation_message,
.gform_wrapper .gfield_validation_message{
  color:var(--crimson-deep);font-size:.82rem;margin-top:.35rem;background:none;
  border:none;padding:0;font-style:italic;
}
.gform_wrapper .gform_validation_errors{
  background:rgba(192,32,47,.06);border:1px solid var(--crimson-bright);
  color:var(--crimson-deep);padding:.85rem 1rem;margin-bottom:1rem;border-radius:0;
}
.gform_wrapper .gform_validation_errors h2,
.gform_wrapper .gform_validation_errors a{
  color:var(--crimson-deep);font-family:'Cormorant Garamond',serif;
}

/* Confirmation message after submit */
.gform_confirmation_wrapper,
.gform_wrapper .gform_confirmation_message{
  font-family:'Libre Baskerville',serif;color:var(--charcoal);
  background:rgba(201,168,76,.08);border-left:3px solid var(--gold);
  padding:1rem 1.25rem;font-style:italic;line-height:1.7;
}

/* Donation/product totals (when a price field is used) */
.gform_wrapper .ginput_total,
.gform_wrapper .ginput_product_price{
  font-family:'Cormorant Garamond',serif;color:var(--navy);
  font-size:1.4rem;font-weight:600;
}

/* Multi-page progress indicator */
.gform_wrapper .gf_progressbar_wrapper{margin-bottom:1.5rem;}
.gform_wrapper .gf_progressbar_title{color:var(--navy);font-family:'Didact Gothic',sans-serif;
  font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem;}
.gform_wrapper .gf_progressbar{background:rgba(13,27,42,.08);height:6px;border-radius:0;}
.gform_wrapper .gf_progressbar_percentage{background:var(--gold);height:6px;}

/* Honeypot / spam fields stay hidden */
.gform_wrapper .gform_validation_container{display:none !important;}

/* ── ACCESSIBILITY ── */
/* Skip-to-content link — hidden until keyboard-focused */
.rpf-skip-link{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.rpf-skip-link:focus{
  position:fixed;left:1rem;top:1rem;width:auto;height:auto;
  padding:.75rem 1rem;background:var(--gold);color:var(--navy);
  z-index:2000;font-weight:700;text-decoration:none;
  outline:3px solid var(--navy);outline-offset:2px;
  font-family:'Didact Gothic',sans-serif;font-size:.85rem;
  letter-spacing:.08em;text-transform:uppercase;
}

/* Visible focus ring for keyboard navigation across the site */
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.nav-links li a:focus-visible,
.drawer-links li a:focus-visible{outline:2px solid var(--gold);outline-offset:0;}
.btn:focus-visible,
.nav-links li.nav-donate a:focus-visible{outline:2px solid #fff;outline-offset:-4px;}

/* Honor reduced-motion preference */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;
  }
}

/* Visually hidden utility (for screen-reader-only text) */
.rpf-sr-only{
  position:absolute !important;width:1px !important;height:1px !important;
  padding:0 !important;margin:-1px !important;overflow:hidden !important;
  clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;
}

/* Website-credit line in footer */
.rpf-credit{
  color:rgba(255,255,255,.45);font-size:.78rem;
  font-family:'Didact Gothic',sans-serif;letter-spacing:.04em;
  margin-top:.35rem;
}
.rpf-credit a{
  color:var(--gold);text-decoration:none;border-bottom:1px solid transparent;
  transition:border-color .2s,color .2s;
}
.rpf-credit a:hover{color:var(--gold-lt);border-bottom-color:var(--gold-lt);}

/* Footer widget areas (brand block + bottom row) — make Custom HTML widgets render seamlessly */
.fb .rpf-fb-widget{display:contents;}
.foot-bot .rpf-fbot-widget{display:contents;}
/* Custom HTML widget wrapper class .widget_custom_html may add margins — neutralize within footer */
.fb .widget_custom_html,
.foot-bot .widget_custom_html{margin:0;padding:0;background:none;}

/* ── HOME HERO 2-COLUMN with slider on the right ── */
@media(min-width:900px){
  .hero-content{display:block;position:relative;}
  .hero-text{max-width:620px;position:relative;z-index:2;}
  .hero-text .hero-title,
  .hero-text .hero-quote{max-width:none;}
}

.hero-slider{
  position:relative;
  width:100%;
  max-width:560px;
  aspect-ratio:1/1;
  margin:clamp(1.75rem,4vw,2.25rem) auto 0;
  /* No box-shadow / hard edges — image blends seamlessly into hero. */
  animation:fadeUp 1s .4s ease both;
}
@media(min-width:900px){
  /* Montage bleeds down the right side of the hero as a blended overlay.
     KNOBS: width = how far it reaches across; object-position (below) = which
     part of the faces shows; the .rpf-slide-overlay gradient + img mask tune the
     tint and the left-edge fade. */
  .hero-slider{
    position:absolute;top:0;right:0;bottom:0;left:auto;
    width:52%;max-width:none;height:auto;margin:0;aspect-ratio:auto;z-index:1;
  }
}
/* Slides — fade between layered children */
.hero-slider > figure,
.hero-slider > .widget,
.hero-slider > .rpf-slide{
  position:absolute;inset:0;margin:0;
  opacity:0;transition:opacity .9s ease-in-out;
}
.hero-slider > figure.is-active,
.hero-slider > .widget.is-active,
.hero-slider > .rpf-slide.is-active,
.hero-slider > figure:only-of-type,
.hero-slider > .widget:only-of-type,
.hero-slider > .rpf-slide:only-of-type{opacity:1;}
.hero-slider img{
  width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;
  /* Grayscale montage; the brand-gradient overlay below tints it into a
     navy/crimson duotone that blends into the hero (the approved "overlay"
     look). Works for the theme file OR an image in the Home Hero Slider widget. */
  filter:grayscale(100%) contrast(1.04) brightness(.97);
  mix-blend-mode:normal;opacity:1;
  /* Feather ALL edges so the montage dissolves into the hero on every side
     (true overlay, not a hard-edged box). Centred slightly right so the faces
     stay sharp and the right side bleeds toward the hero edge. */
  -webkit-mask-image:radial-gradient(ellipse 80% 90% at 70% 46%, #000 50%, transparent 100%);
          mask-image:radial-gradient(ellipse 80% 90% at 70% 46%, #000 50%, transparent 100%);
}
/* Brand "overlay" — a navy->crimson gradient veils the grayscale montage so it
   reads as part of the hero rather than a separate photo. Adjust the colour
   stops / opacities below to taste. */
.rpf-slide-overlay{
  display:block;position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,
     var(--navy) 0%, rgba(13,27,42,.90) 15%, rgba(13,27,42,.38) 40%,
     rgba(109,14,28,.34) 72%, rgba(13,27,42,.46) 100%);
}
/* No more gold inner ring — keeps edges feathered. */
.hero-slider::after{content:none;}
/* Slide-indicator dots (only added by JS when more than one slide) */
.hero-slider .rpf-slide-dots{
  position:absolute;bottom:.9rem;left:50%;transform:translateX(-50%);
  display:flex;gap:.5rem;z-index:4;
}
.hero-slider .rpf-slide-dots button{
  width:8px;height:8px;border-radius:50%;
  border:1px solid rgba(255,255,255,.55);background:transparent;padding:0;cursor:pointer;
  transition:background .2s,border-color .2s;
}
.hero-slider .rpf-slide-dots button.is-active{background:var(--gold);border-color:var(--gold);}

/* ── GIVEWP DONATION FORM — match the Donate-page "Make Your Gift" mockup ──
   Scoped to .rpf-give so only the donation form is restyled. Targets GiveWP's
   LEGACY form template (Donations → form → Form Template → "Legacy Form"),
   which renders in-page DOM that the theme can style. The new Visual Form
   Builder renders in an isolated container and is themed in GiveWP's own
   design panel instead. Navy / gold / crimson to match .rpf-gform. */
.rpf-give .give-form,
.rpf-give form.give-form{margin:0;}
.rpf-give .give-form-title,
.rpf-give .give-goal-progress,
.rpf-give legend.give-fieldset-description{display:none;}

/* Donation amount level buttons → preset grid like the mockup ($25–$1,000) */
.rpf-give .give-donation-levels-wrap{
  display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:0 0 1.1rem;list-style:none;padding:0;
}
.rpf-give .give-donation-levels-wrap li{margin:0;list-style:none;}
.rpf-give .give-donation-levels-wrap button,
.rpf-give .give-donation-level-btn{
  width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.9);font-family:'Didact Gothic',sans-serif;font-size:1rem;
  padding:.85rem .5rem;cursor:pointer;transition:all .2s;border-radius:0;
}
.rpf-give .give-donation-levels-wrap button:hover,
.rpf-give .give-donation-level-btn:hover{border-color:var(--gold);color:#fff;}
.rpf-give .give-donation-levels-wrap button.give-default-level,
.rpf-give .give-donation-level-btn.give-default-level,
.rpf-give .give-donation-levels-wrap .give-default-level{
  background:rgba(192,32,47,.12);border-color:var(--crimson-bright);color:#fff;
}

/* Custom amount + currency */
.rpf-give .give-total-wrap{margin-bottom:1.1rem;}
.rpf-give .give-currency-symbol{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-right:none;
  color:var(--gold);padding:.8rem .9rem;font-family:'Didact Gothic',sans-serif;
}
.rpf-give #give-amount,
.rpf-give input.give-text-input.give-amount-top{
  width:100% !important;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  color:#fff;font-family:'Didact Gothic',sans-serif;font-size:1.1rem;padding:.8rem 1rem;
  border-radius:0;-webkit-appearance:none;appearance:none;
}

/* Labels — tiny uppercase gold-grey (matches .rpf-gform) */
.rpf-give .give-label,
.rpf-give label.give-label{
  display:block;font-family:'Didact Gothic',sans-serif;font-size:.66rem;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);
  margin-bottom:.45rem;font-weight:400;
}
.rpf-give .give-required-indicator{color:var(--gold);}

/* Text inputs, selects (name, email, phone, donation type, tribute) */
.rpf-give .give-input,
.rpf-give input[type="text"],
.rpf-give input[type="email"],
.rpf-give input[type="tel"],
.rpf-give input[type="number"],
.rpf-give select,
.rpf-give .give-select{
  width:100% !important;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  color:#fff;font-family:'Didact Gothic',sans-serif;font-size:1rem;padding:.8rem 1rem;
  outline:none;transition:border-color .2s;border-radius:0;-webkit-appearance:none;appearance:none;
}
.rpf-give .give-input:focus,
.rpf-give select:focus{border-color:var(--crimson-bright);background:rgba(192,32,47,.04);}
.rpf-give .give-input::placeholder{color:rgba(255,255,255,.22);}
.rpf-give select option{background:var(--navy-mid);color:#fff;}

/* Fieldset spacing + subtle dividers like the mockup's gold/crimson rules */
.rpf-give fieldset{border:none;margin:0 0 1.1rem;padding:0;}
.rpf-give #give_purchase_form_wrap fieldset + fieldset{
  border-top:1px solid rgba(201,168,76,.18);padding-top:1.35rem;margin-top:1.35rem;
}
.rpf-give .give-fieldset-description{color:rgba(255,255,255,.4);font-size:.78rem;}

/* Payment gateway picker */
.rpf-give #give-payment-mode-select .give-gateway-option-selected,
.rpf-give .give-gateway-option-selected{color:var(--gold);}
.rpf-give #give-payment-mode-select label{color:rgba(255,255,255,.8);font-family:'Didact Gothic',sans-serif;}

/* Donate button → crimson, full width (matches "COMPLETE MY GIFT") */
.rpf-give .give-submit-button-wrap input[type="submit"],
.rpf-give input#give-purchase-button,
.rpf-give .give-submit.give-btn,
.rpf-give button.give-btn[type="submit"]{
  width:100%;padding:1rem;background:var(--crimson-bright);border:none;color:var(--white);
  font-family:'Didact Gothic',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.17em;
  text-transform:uppercase;cursor:pointer;transition:all .22s;margin-top:.75rem;min-height:52px;border-radius:0;
}
.rpf-give .give-submit.give-btn:hover,
.rpf-give input#give-purchase-button:hover{background:var(--crimson-deep);box-shadow:0 6px 22px rgba(192,32,47,.3);}

/* GiveWP notices / errors on-brand */
.rpf-give .give_error,
.rpf-give .give_errors{background:rgba(192,32,47,.12);border:1px solid var(--crimson-bright);color:#fff;padding:.85rem 1rem;border-radius:0;}
.rpf-give .give_success{background:rgba(201,168,76,.1);border:1px solid var(--gold);color:#fff;padding:.85rem 1rem;border-radius:0;}

/* ── ARTICLES PAGE — make the editable core-block layout render like the
   bespoke design. The hand-built template used plain <div>s; the editable
   version uses core group/heading/paragraph/button blocks carrying the same
   art-* classes. These rules neutralise the block wrappers so both match. */
.art-list.wp-block-group{display:flex;flex-direction:column;gap:2px;}
.art-list.wp-block-group > *{margin-block:0;}
.art-card.wp-block-group{gap:0;}
.art-meta.wp-block-group{margin:0;}
.art-meta-r.wp-block-group{display:block;}
.art-card .art-badge{margin:0;align-self:flex-start;}
.art-card .art-date{margin:0;}
.art-card .art-source{margin:0;}
.art-body.wp-block-group{gap:0;}
.art-body .art-title{margin-top:0;}
.art-body .art-excerpt{margin-bottom:1.1rem;}
/* Section sub-heading: editable <h2> with an automatic trailing rule */
h2.art-subhd-h{display:flex;align-items:center;gap:1.1rem;margin-bottom:.5rem;
  font-family:'Cormorant Garamond',serif;font-size:clamp(1.35rem,4vw,1.7rem);
  font-weight:400;color:var(--navy);}
h2.art-subhd-h::after{content:"";flex:1;height:1px;background:var(--border);}
/* "Read article" link rendered as a core button → strip button chrome */
.art-link.wp-block-button{margin:0;}
.art-link .wp-block-button__link{
  background:transparent;border:none;border-radius:0;padding:0;min-height:36px;
  color:var(--crimson-bright);font-family:'Didact Gothic',sans-serif;font-size:.7rem;
  letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  display:inline-flex;align-items:center;gap:.35rem;border-bottom:1px solid transparent;
}
.art-link .wp-block-button__link:hover{background:transparent;border-bottom-color:var(--crimson-bright);}

/* ── DARK-BACKGROUND FORM LABELS — keep labels light (cream/white) ──
   On the navy donation & scholarship cards, field labels must be readable.
   The generic .gform_wrapper styles (built for light pages) otherwise win over
   the .rpf-gform navy-card styles — equal specificity, but they appear later in
   the file. These rules, placed LAST and at higher specificity, guarantee
   cream/white labels on any dark form wrapper (.rpf-gform Gravity Forms,
   .rpf-give GiveWP). Any form placed on a dark-blue background should use one
   of these wrapper classes so this rule applies. */
.rpf-gform .gform_wrapper .gfield_label,
.rpf-gform .gform_wrapper legend.gfield_label,
.rpf-gform .gfield_label,
.rpf-gform legend.gfield_label{
  color:var(--cream);
}
/* Sub-labels (First / Last, Enter / Confirm Email, Street Address …) + help text */
.rpf-gform .gform_wrapper .ginput_complex label,
.rpf-gform .ginput_complex label,
.rpf-gform .gform_wrapper .gfield_description,
.rpf-gform .gfield_description{
  color:rgba(250,246,238,.78); /* cream @ 78% — clearly readable, visually secondary */
}
/* Required marker — gold reads far better than crimson on navy */
.rpf-gform .gform_wrapper .gfield_required,
.rpf-gform .gfield_required{color:var(--gold-lt);}
/* GiveWP donation form labels on the same navy card */
.rpf-give .give-label,
.rpf-give label.give-label{color:var(--cream);}

/* ══════════════════════════════════════════════════════════════
   ACCESSIBILITY (WCAG 2.1 AA) — skip link, focus, contrast, motion
   ══════════════════════════════════════════════════════════════ */

/* Skip link: off-screen until keyboard-focused, then visible top-left */
.rpf-skip-link{
  position:absolute;left:-9999px;top:0;z-index:100000;
  background:var(--navy);color:var(--cream);padding:.75rem 1.25rem;
  font-family:'Didact Gothic',sans-serif;font-size:.85rem;letter-spacing:.08em;
  text-decoration:none;border:2px solid var(--gold-lt);border-radius:0;
}
.rpf-skip-link:focus,.rpf-skip-link:focus-visible{left:1rem;top:1rem;}

/* Dual-tone focus ring (navy outline + gold halo) reads on cream AND navy.
   Placed last so it wins over the earlier single-colour focus rule and over
   the inputs' `outline:none`. */
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,
.filter-btn:focus-visible,.rpf-slide-dots button:focus-visible,
.nav-links li a:focus-visible,.nav-links li button:focus-visible,
.drawer-links li a:focus-visible,.fc ul li a:focus-visible,.fc ul li button:focus-visible,
.rpf-gform .gfield input:focus-visible,.rpf-gform .gfield select:focus-visible,
.rpf-gform .gfield textarea:focus-visible,
.gform_wrapper input:focus-visible,.gform_wrapper select:focus-visible,
.gform_wrapper textarea:focus-visible,
.rpf-give .give-input:focus-visible,.art-link .wp-block-button__link:focus-visible{
  outline:2px solid var(--navy);
  outline-offset:2px;
  box-shadow:0 0 0 4px var(--gold-lt);
}
/* On the dark navy form cards, switch the inner outline to cream so it shows */
.rpf-gform :focus-visible,.rpf-give :focus-visible{outline-color:var(--cream);}

/* Contrast bump: tiny light-on-navy notes were below AA */
.sec-note{color:rgba(255,255,255,.62);}

/* Reduced motion: also neutralise the hero entrance + scroll-fade animations */
@media(prefers-reduced-motion:reduce){
  .fade-in,.hero-eyebrow,.hero-title,.hero-quote,.hero-dates,.hero-actions,.hero-stats{
    opacity:1!important;transform:none!important;animation:none!important;
  }
  .hero-slider img{transition:none!important;}
}

/* ── EDITABLE DONATE PAGE (block version) — keep the two-column dark layout
   tidy and stack Ways-to-Give first on small screens. The cards/colors come
   from theme.json presets + inline block styles; this just handles spacing. */
.donate-pg .wp-block-columns{align-items:flex-start;}
.donate-pg .d-ways{gap:1rem;}
.donate-pg .d-card p,.donate-pg .d-taxnote p{margin:0;}
.donate-pg .d-card > *+*{margin-top:.5rem;}
@media(max-width:781px){
  /* core columns already stack in source order (Ways to Give, then form),
     which is the desired mobile order — this just tightens the gap */
  .donate-pg .wp-block-columns{gap:2rem;}
}

/* ── GIVEWP — site-wide branding for GiveWP's OWN pages (donation
   confirmation/receipt, donor dashboard, and any standalone [give_form] placed
   on a normal light page). The dark donate-page embed is styled under .rpf-give,
   whose rules are more specific and therefore win there. */
.give-form,.give-wrap,.give-donor-dashboard,.give-receipt,.give-history{
  font-family:'Didact Gothic',sans-serif;color:var(--charcoal);max-width:680px;
}
.give-form .give-form-title,
.give-wrap h1,.give-wrap h2,.give-donor-dashboard h2,.give-receipt h2,.give-history h2{
  font-family:'Cormorant Garamond',serif;color:var(--navy);font-weight:600;
}
/* Amount level buttons (light) */
.give-donation-levels-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;list-style:none;margin:0 0 1.1rem;padding:0;}
.give-donation-levels-wrap li{margin:0;list-style:none;}
.give-donation-levels-wrap button,.give-donation-level-btn{
  width:100%;background:#fff;border:1px solid rgba(13,27,42,.18);color:var(--navy);
  font-family:'Didact Gothic',sans-serif;font-size:1rem;padding:.85rem .5rem;cursor:pointer;
  transition:all .2s;border-radius:0;
}
.give-donation-levels-wrap button:hover,.give-donation-level-btn:hover{border-color:var(--gold);}
.give-donation-levels-wrap .give-default-level,.give-donation-level-btn.give-default-level{
  background:var(--crimson);border-color:var(--crimson);color:#fff;
}
/* Labels + inputs (light) */
.give-form .give-label{display:block;font-family:'Didact Gothic',sans-serif;font-size:.7rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--navy);font-weight:600;margin-bottom:.4rem;}
.give-form .give-required-indicator{color:var(--crimson);}
.give-form .give-input,.give-form input[type="text"],.give-form input[type="email"],
.give-form input[type="tel"],.give-form input[type="number"],.give-form select,.give-form #give-amount{
  width:100%;background:#fff;border:1px solid rgba(13,27,42,.18);color:var(--charcoal);
  font-family:'Didact Gothic',sans-serif;font-size:1rem;padding:.75rem 1rem;border-radius:0;-webkit-appearance:none;appearance:none;
}
.give-form .give-input:focus,.give-form select:focus,.give-form #give-amount:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.18);outline:none;}
/* Donate button (crimson) */
.give-form .give-submit,.give-form input#give-purchase-button,.give-form .give-btn[type="submit"]{
  width:100%;padding:1rem;background:var(--crimson);border:none;color:#fff;font-family:'Didact Gothic',sans-serif;
  font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:0;min-height:52px;transition:background .2s;}
.give-form .give-submit:hover,.give-form input#give-purchase-button:hover{background:var(--crimson-deep);}
/* Links + receipt/dashboard tables */
.give-wrap a,.give-donor-dashboard a,.give-receipt a{color:var(--crimson);}
.give-receipt table,.give-history table,.give-donor-dashboard table{width:100%;border-collapse:collapse;}
.give-receipt th,.give-history th,.give-donor-dashboard th{background:var(--navy);color:#fff;font-family:'Didact Gothic',sans-serif;
  font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.65rem .85rem;text-align:left;}
.give-receipt td,.give-history td,.give-donor-dashboard td{border-bottom:1px solid rgba(13,27,42,.12);padding:.65rem .85rem;}

/* ── EDITABLE HOMEPAGE BODY (Home (Editable) template) — the lower sections as
   blocks. Full-width colour bands come from the section groups; this just
   tidies spacing of the editable elements. */
.rpf-home-editable .wp-block-group.sec{margin:0;}
.rpf-home-editable .wp-block-quote.pull-quote{margin:1.6rem 0;}
.rpf-home-editable .wp-block-buttons{margin-top:1.6rem;}
.rpf-home-editable .ms-item{margin-bottom:.5rem;}
.rpf-home-editable .wp-block-columns{margin-top:1.5rem;gap:2rem;}

/* HOME (STATIC) — uses the standard two-column hero (parts/home-hero.php) so it
   scales exactly like the approved mock-up at every width. The montage is the
   right-column slider; its grayscale + navy/crimson overlay is styled globally
   under .hero-slider / .rpf-slide-overlay above. (No full-bleed override here —
   that distorted on large screens.) */

/* Footer contact line */
.fb-contact{margin-top:.9rem;font-size:.92rem;color:rgba(255,255,255,.7);font-family:'Didact Gothic',sans-serif;}
.fb-contact a{color:var(--gold-lt);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.fb-contact a:hover{border-bottom-color:var(--gold-lt);}
