
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@700;900&family=Source+Sans+3:wght@400;600;700;800;900&display=swap');

:root{
  --navy:#0c2346;
  --navy-2:#15355f;
  --navy-3:#1c4a7d;
  --red:#d52c45;
  --red-dark:#a92236;
  --cream:#f6f2e9;
  --white:#ffffff;
  --ink:#172338;
  --ink-soft:#516079;
  --line:#d8dfec;
  --shell:#eef2f9;
  --shadow:0 18px 40px rgba(7,18,42,.12);
  --shadow-deep:0 28px 60px rgba(7,18,42,.22);
  --radius:22px;
  --content:1240px;
  --transition:220ms ease;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:'Source Sans 3',Arial,sans-serif;color:var(--ink);background:#f8fbff;
  line-height:1.58;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1rem}
ul{margin:0;padding-left:1.1rem}
h1,h2,h3,h4,h5,h6{
  margin:0 0 .9rem;
  font-family:'Merriweather', Georgia, serif;
  line-height:1.08;color:var(--navy);
}
h1{font-size:clamp(2.8rem,6vw,4.7rem)}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:clamp(1.25rem,2vw,1.7rem)}
.container{width:min(calc(100% - 2rem), var(--content)); margin:0 auto}
.extra-size{width:min(calc(100% - 2rem), 1320px);margin:0 auto}
.narrow{width:min(calc(100% - 2rem), 860px);margin:0 auto}
.skip-link{
  position:absolute;left:-999px;top:1rem;background:#fff;color:#000;padding:.8rem 1rem;border-radius:12px;z-index:9999;
}
.skip-link:focus{left:1rem}
.sr-only{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.eyebrow{
  color:var(--red);font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:.84rem;margin:0 0 .8rem;
}
.lead{font-size:1.15rem;color:#e8eef9}
.kicker{max-width:66ch;color:var(--ink-soft);font-size:1.08rem}
.label{
  display:inline-block;margin:0 0 .6rem;color:var(--red);font-size:.8rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.12em;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:52px;padding:.8rem 1.3rem;
  border-radius:999px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition), border-color var(--transition);
  border:2px solid transparent;cursor:pointer;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(180deg,#e94861,#c4263f);color:#fff;box-shadow:0 16px 28px rgba(213,44,69,.28);
}
.btn-primary:hover{background:linear-gradient(180deg,#ef5870,#b51f37)}
.btn-secondary{
  background:#fff;border-color:rgba(12,35,70,.16);color:var(--navy);box-shadow:0 14px 24px rgba(12,35,70,.08);
}
.btn-ghost{
  background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff;
  backdrop-filter:blur(10px);
}
.btn-angled{
  clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
  border-radius:0;
}
.btn-block{width:100%}
.site-top{
  background:#08162c;color:#dce5fb;font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.08);
}
.site-top .top-inner{
  display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:48px;flex-wrap:wrap;padding:.25rem 0;
}
.top-socials{display:flex;gap:.8rem;align-items:center;font-weight:700}
.top-socials a{opacity:.95}
.site-header{
  position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(12,35,70,.08);
}
.header-inner{
  min-height:86px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem;
}
.brand{display:flex;align-items:center;gap:.95rem}
.brand img{width:220px;height:auto}
.brand-lockup small{display:block;color:var(--ink-soft);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.77rem}
.main-nav{justify-self:center}
.main-nav ul{
  display:flex;list-style:none;padding:0;margin:0;gap:1.1rem;align-items:center;flex-wrap:wrap;
}
.main-nav a{
  font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:.88rem;color:var(--navy);
  padding:.65rem .4rem;position:relative;
}
.main-nav a:not(.btn)::after{
  content:"";position:absolute;left:.4rem;right:.4rem;bottom:.2rem;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform var(--transition);
}
.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{transform:scaleX(1)}
.header-actions{display:flex;gap:.75rem;align-items:center}
.nav-toggle{
  display:none;background:#fff;border:2px solid rgba(12,35,70,.16);width:52px;height:52px;border-radius:14px;padding:.65rem;
}
.nav-toggle span{display:block;height:3px;background:var(--navy);margin:.32rem 0;border-radius:10px}
.hero{
  position:relative;color:#fff;overflow:hidden;background:
    linear-gradient(90deg, rgba(7,18,42,.82) 0%, rgba(10,25,55,.78) 46%, rgba(10,25,55,.42) 100%),
    url("/assets/images/hero-banner.svg") center/cover no-repeat;
}
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(180deg,rgba(8,22,44,0), rgba(8,22,44,.76));
  pointer-events:none;
}
.hero-inner{
  display:grid;grid-template-columns:1.07fr .93fr;gap:2rem;align-items:end;padding:5.4rem 0 10rem;min-height:760px;
}
.hero-copy{position:relative;z-index:2}
.hero-copy h1{color:#fff;max-width:12ch}
.hero-copy .intro{
  max-width:42rem;color:#f0f4ff;font-size:1.2rem;font-weight:600;margin:0 0 1.15rem;
}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.7rem}
.video-card{
  display:flex;gap:1rem;align-items:center;max-width:410px;margin-top:1.6rem;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);padding:.9rem;border-radius:18px;backdrop-filter:blur(8px);
}
.video-thumb{
  position:relative;width:128px;min-width:128px;height:86px;border-radius:14px;overflow:hidden;background:#274266;
  box-shadow:0 12px 24px rgba(0,0,0,.22);
}
.video-thumb::before{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.3)), url("/assets/images/eric-seeley-headshot.svg") center/cover no-repeat;
}
.play-badge{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;
  background:#fff;color:var(--red);display:grid;place-items:center;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.24);
}
.hero-aside{
  position:relative;z-index:2;min-height:540px;
}
.portrait-panel{
  position:absolute;right:0;top:1rem;width:min(100%,530px);height:650px;border-radius:28px;overflow:hidden;
  box-shadow:var(--shadow-deep);border:1px solid rgba(255,255,255,.14);background:#d6dff0;
}
.portrait-panel img{width:100%;height:100%;object-fit:cover}
.portrait-badge{
  position:absolute;left:0;bottom:1.75rem;max-width:290px;background:linear-gradient(180deg,#ffffff,#edf2fb);color:var(--ink);
  border-radius:24px;padding:1.25rem;border:1px solid rgba(12,35,70,.1);box-shadow:var(--shadow-deep)
}
.portrait-badge h3{margin-bottom:.4rem}
.action-widget{
  position:relative;z-index:3;margin-top:-4.9rem;
}
.action-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
}
.action-card{
  background:linear-gradient(180deg,#ffffff,#f4f7fd);border:1px solid rgba(12,35,70,.08);border-radius:24px;padding:1.3rem 1.15rem;
  box-shadow:var(--shadow);position:relative;overflow:hidden;min-height:170px;
}
.action-card::before{
  content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle, rgba(213,44,69,.12), rgba(213,44,69,0) 72%);
}
.action-icon{
  width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#0c2346;color:#fff;
  font-size:1.25rem;font-weight:900;margin-bottom:.9rem;box-shadow:0 10px 18px rgba(12,35,70,.18);
}
.action-card h3{font-size:1.12rem;margin-bottom:.35rem}
.action-card p{color:var(--ink-soft);margin-bottom:0}
main section{padding:5rem 0}
.section-heading{margin-bottom:1.5rem}
.two-col{
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;
}
.image-frame{
  border-radius:28px;overflow:hidden;border:1px solid rgba(12,35,70,.08);box-shadow:var(--shadow-deep);background:#dbe4f5;
}
.image-frame img{width:100%;height:100%;object-fit:cover}
.pill-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem;
}
.pill{
  display:flex;gap:.8rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem;
  box-shadow:0 12px 24px rgba(12,35,70,.05);font-weight:800;color:var(--navy);
}
.pill strong{display:block;font-size:.98rem}
.pill span{display:block;color:var(--ink-soft);font-weight:700;font-size:.94rem}
.priority-strip{
  background:linear-gradient(180deg,#0c2346,#102e55);color:#fff;position:relative;overflow:hidden;
}
.priority-strip::before{
  content:"";position:absolute;right:-120px;top:-60px;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle, rgba(213,44,69,.20), rgba(213,44,69,0) 72%);
}
.priority-strip h2,.priority-strip p,.priority-strip .eyebrow{color:#fff}
.priority-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;
}
.issue-card{
  background:linear-gradient(180deg,#ffffff,#f4f7fd);border:1px solid rgba(12,35,70,.1);border-radius:24px;padding:1.5rem;box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.issue-card::before{
  content:"";position:absolute;left:0;top:0;right:0;height:6px;background:linear-gradient(90deg,var(--navy),var(--red));
}
.issue-card.featured{
  transform:translateY(-8px);border-color:rgba(213,44,69,.3)
}
.issue-card.featured::before{background:linear-gradient(90deg,var(--red),#ef4f67)}
.issue-card.featured .issue-tag{
  position:absolute;right:1rem;top:1rem;background:var(--red);color:#fff;padding:.35rem .7rem;border-radius:999px;font-size:.68rem;
  text-transform:uppercase;letter-spacing:.08em;font-weight:900;
}
.issue-label{
  margin:1rem 0 .3rem;font-size:.77rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--red);
}
.clean-list{list-style:none;padding:0}
.clean-list li{padding:.32rem 0 0 1.2rem;position:relative}
.clean-list li::before{content:"•";position:absolute;left:0;color:var(--red);font-weight:900}
.event-banner{
  position:relative;color:#fff;border-radius:28px;overflow:hidden;background:
    linear-gradient(90deg, rgba(11,29,55,.84), rgba(11,29,55,.56)),
    url("/assets/images/page-banner.svg") center/cover no-repeat;
  box-shadow:var(--shadow-deep);
}
.event-banner-inner{
  display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:3rem;
}
.event-highlight{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:1.2rem;backdrop-filter:blur(8px)
}
.event-highlight strong{display:block;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em;color:#ffc8cf}
.event-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}
.event-card{
  background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)
}
.event-card .thumb{aspect-ratio:16/10;background:#cfd8eb;position:relative}
.event-card .thumb::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(12,35,70,.08), rgba(12,35,70,.26)), url("/assets/images/page-banner.svg") center/cover no-repeat}
.event-body{padding:1.2rem}
.date-badge{
  display:inline-flex;align-items:center;gap:.5rem;background:#0c2346;color:#fff;border-radius:999px;padding:.35rem .8rem;font-size:.82rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;
}
.support-strip{
  background:linear-gradient(90deg, rgba(12,35,70,.95), rgba(12,35,70,.78)), url("/assets/images/hero-banner.svg") center/cover no-repeat;
  color:#fff;position:relative;overflow:hidden;
}
.support-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;
}
.quote-slider{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:2rem;backdrop-filter:blur(10px)
}
.quote-slider blockquote{margin:0}
.quote-slider p{color:#f1f4fb;font-size:1.08rem}
.quote-author{margin-top:1rem;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.07em;font-size:.84rem}
.dual-cta{
  display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-deep);border:1px solid rgba(12,35,70,.08)
}
.dual-panel{padding:2rem;position:relative}
.dual-panel:first-child{background:linear-gradient(180deg,#14355d,#0c2346);color:#fff}
.dual-panel:last-child{background:linear-gradient(180deg,#ffffff,#f3f6fd)}
.dual-panel:first-child h2,.dual-panel:first-child p,.dual-panel:first-child .eyebrow{color:#fff}
.amount-grid{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0 1.2rem}
.amount-grid button{
  min-width:68px;padding:.75rem 1rem;border-radius:999px;border:2px solid rgba(255,255,255,.18);background:rgba(255,255,255,.1);color:#fff;font-weight:900;cursor:pointer;
}
.amount-grid button.active,.amount-grid button:hover{background:#fff;color:var(--red);border-color:#fff}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.input{
  min-height:52px;border-radius:16px;border:1px solid rgba(12,35,70,.16);padding:.85rem 1rem;font:inherit;color:var(--ink);background:#fff;
}
.input:focus{outline:3px solid rgba(213,44,69,.15);border-color:rgba(213,44,69,.35)}
.news-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem}
.news-list{display:grid;gap:1rem}
.news-item{
  display:grid;grid-template-columns:90px 1fr;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:22px;padding:1rem;box-shadow:var(--shadow);
}
.news-date{
  border-radius:18px;background:#0c2346;color:#fff;display:grid;place-items:center;padding:1rem;font-weight:900;text-transform:uppercase;line-height:1;
}
.news-date small{display:block;color:#ffb0bb;font-size:.8rem}
.aside-card{
  background:linear-gradient(180deg,#fff,#f4f7fd);border:1px solid var(--line);border-radius:24px;padding:1.4rem;box-shadow:var(--shadow);margin-bottom:1rem;
}
.map-panel{
  border-radius:28px;overflow:hidden;background:linear-gradient(180deg, rgba(12,35,70,.18), rgba(12,35,70,.18)), url("/assets/images/page-banner.svg") center/cover no-repeat;
  min-height:360px;display:grid;place-items:center;border:1px solid rgba(12,35,70,.08);box-shadow:var(--shadow-deep);
}
.map-card{
  background:rgba(255,255,255,.94);border-radius:24px;padding:1.4rem;max-width:430px;box-shadow:var(--shadow);border:1px solid rgba(12,35,70,.08)
}
.page-hero{
  position:relative;color:#fff;overflow:hidden;background:
    linear-gradient(90deg, rgba(8,22,44,.84), rgba(8,22,44,.56)),
    url("/assets/images/page-banner.svg") center/cover no-repeat;
}
.page-hero-inner{padding:3.4rem 0}
.page-hero h1,.page-hero .eyebrow,.page-hero p,.page-hero a{color:#fff}
.breadcrumbs{font-weight:700;font-size:.92rem;opacity:.92;margin-bottom:1rem}
.card-stack{display:grid;gap:1rem}
.quote-lite{
  background:#fff;border-left:6px solid var(--red);padding:1.2rem 1.2rem 1.2rem 1.4rem;border-radius:0 20px 20px 0;box-shadow:var(--shadow);border:1px solid var(--line)
}
.table-ish{display:grid;gap:.85rem}
.table-row{
  display:grid;grid-template-columns:170px 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)
}
.table-row:first-child{border-top:none}
.priority-list{
  list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;
}
.priority-list li{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem .9rem;text-align:center;box-shadow:var(--shadow);
  font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);font-size:.88rem
}
.footer{
  background:linear-gradient(180deg,#09162c,#0c2346);color:#dce4f6;margin-top:5rem;position:relative;overflow:hidden;
}
.footer::before{
  content:"";position:absolute;right:-140px;top:-90px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle, rgba(213,44,69,.22), rgba(213,44,69,0) 70%);
}
.footer-top{
  padding:3.2rem 0 2rem;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:1.5rem;position:relative;
}
.footer h3,.footer h4{color:#fff}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.2rem}
.footer-links a,.footer a{color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}
.gallery-grid div{
  aspect-ratio:1/1;border-radius:12px;background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.02)), url("/assets/images/page-banner.svg") center/cover no-repeat;
  border:1px solid rgba(255,255,255,.08)
}
.social-pills{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.5rem}
.social-pills a{
  padding:.55rem .8rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);padding:1rem 0 1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;position:relative;
}
.center{text-align:center}
.space-top{margin-top:1.2rem}
.fine-print{font-size:.92rem;color:var(--ink-soft)}
.footer .fine-print{color:#c9d6ef}
.hide-desktop{display:none}

@media (max-width: 1180px){
  .header-inner{grid-template-columns:auto auto auto;justify-content:space-between}
  .main-nav{position:absolute;left:1rem;right:1rem;top:calc(100% + 8px);background:#fff;border:1px solid rgba(12,35,70,.1);border-radius:20px;box-shadow:var(--shadow-deep);padding:1rem;display:none}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;align-items:flex-start}
  .main-nav a{width:100%}
  .nav-toggle{display:block}
  .header-actions .btn-secondary{display:none}
  .hero-inner,.support-grid,.news-grid,.two-col,.event-banner-inner,.footer-top{grid-template-columns:1fr}
  .action-grid,.event-cards,.priority-grid,.priority-list{grid-template-columns:repeat(2,1fr)}
  .portrait-panel{position:relative;top:auto;right:auto;width:100%;height:460px}
  .portrait-badge{left:1rem;bottom:1rem}
}
@media (max-width: 840px){
  h1{font-size:2.55rem}
  .hero-inner{padding:4.4rem 0 8rem}
  .action-grid,.event-cards,.priority-grid,.priority-list,.pill-grid,.form-grid,.dual-cta,.news-item,.footer-top,.footer-links,.gallery-grid,.table-row{grid-template-columns:1fr}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .video-card{max-width:none}
  .portrait-badge{position:relative;left:auto;bottom:auto;margin-top:1rem;max-width:none}
  .portrait-panel{height:390px}
  .container,.extra-size,.narrow{width:min(calc(100% - 1.2rem), var(--content))}
  .brand img{width:182px}
  .site-top .top-inner{justify-content:center}
  .top-socials{justify-content:center}
  .dual-panel,.event-banner-inner,.page-hero-inner,main section{padding:1.8rem 0}
  .action-widget{margin-top:-2.8rem}
  .hide-mobile{display:none}
  .hide-desktop{display:block}
}
