.site-header nav { gap: 20px; }
.site-header nav .active { color: var(--gold); opacity: 1; }

.campaign-hero { background:linear-gradient(120deg,#052f3f 0%,#075468 65%,#0b6571 100%);color:var(--white);min-height:760px;padding:180px max(28px,calc((100vw - var(--max))/2)) 120px;position:relative;display:flex;align-items:center;overflow:hidden }
.campaign-hero:after { content:"";position:absolute;width:520px;height:520px;border:110px solid rgba(242,190,66,.12);border-radius:50%;right:-100px;top:120px }
.campaign-hero-copy { max-width:850px;position:relative;z-index:2 }
.campaign-hero h1 { font-size:clamp(66px,8vw,118px);letter-spacing:-.06em;line-height:.9;margin:26px 0 34px }
.campaign-hero h1 em { color:var(--gold);font-style:normal }
.campaign-hero-copy>p:not(.eyebrow) { color:#d7e5e6;font-size:22px;max-width:750px }
.campaign-hero .button { margin-top:22px }
.campaign-impact-line { bottom:0;display:grid;grid-template-columns:repeat(4,1fr);left:0;margin:auto;max-width:var(--max);position:absolute;right:0;z-index:2 }
.campaign-impact-line span { border-left:1px solid rgba(255,255,255,.2);border-top:1px solid rgba(255,255,255,.2);font-weight:700;padding:24px;text-align:center }

.movement-intro { background:var(--cream) }
.movement-intro .intro-grid>div p { color:var(--muted);font-size:17px }
.movement-intro .intro-grid>div .large-copy { color:var(--ink);font-size:23px }
.why-matters { background:var(--paper) }
.matter-grid { display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line) }
.matter-grid article { border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:38px }
.matter-grid span { color:var(--orange);font-size:12px;font-weight:700 }
.matter-grid h3 { font-size:25px;margin:28px 0 15px }
.matter-grid p { color:var(--muted) }

.continuum { background:var(--navy);color:var(--white) }
.continuum-lead { display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:end;margin-bottom:55px }
.continuum-lead .eyebrow { grid-column:1/-1;margin-bottom:-55px }
.continuum-lead h2 { font-size:clamp(40px,4vw,60px);line-height:1.08 }
.continuum-lead>p:last-child { color:#c4d2d3;font-size:18px }
.foundation-grid { display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;border-left:1px solid rgba(255,255,255,.18);border-top:1px solid rgba(255,255,255,.18) }
.foundation-grid li { border-bottom:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18);padding:32px }
.foundation-grid span { color:var(--gold);font-weight:700 }
.foundation-grid h3 { font-size:22px;line-height:1.25;margin:35px 0 14px }
.foundation-grid p { color:#c2d1d2;font-size:15px }

.support-model { background:var(--cream) }
.support-grid { display:grid;grid-template-columns:repeat(6,1fr);gap:18px }
.support-grid article { background:var(--white);grid-column:span 2;padding:34px }
.support-grid article:nth-child(4) { grid-column:2/span 2 }
.support-grid h3 { font-size:21px;line-height:1.25 }
.support-grid p { color:var(--muted);font-size:15px }

.technology-feature { align-items:center;background:var(--navy2);color:var(--white);display:grid;gap:90px;grid-template-columns:1.1fr .9fr }
.technology-feature h2 { font-size:clamp(40px,4vw,58px);line-height:1.08 }
.technology-copy { border-left:3px solid var(--gold);padding-left:30px }
.technology-copy p { color:#d3dfe0;font-size:18px }
.technology-copy p:last-child { margin-bottom:0 }
.technology-copy strong { color:var(--gold) }

.vision { background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:90px }
.vision-copy h2 { font-size:clamp(40px,4vw,58px);line-height:1.1 }
.vision-copy>p:last-child { color:var(--muted);font-size:18px }
.vision-list { list-style:none;margin:0;padding:0 }
.vision-list li { border-bottom:1px solid var(--line);font-size:18px;font-weight:600;padding:18px 16px 18px 42px;position:relative }
.vision-list li:before { color:var(--orange);content:"+";font-size:24px;left:8px;position:absolute;top:13px }

.why-eq { background:var(--cream) }
.why-eq-grid { display:grid;grid-template-columns:1fr 1fr;gap:40px }
.why-eq-grid p { background:var(--white);font-size:18px;margin:0;padding:40px }
.sponsors { background:var(--navy);color:var(--white);text-align:center }
.sponsors h2 { font-size:clamp(42px,5vw,70px);line-height:1.08;margin:15px auto 25px;max-width:940px }
.sponsors>p:not(.eyebrow) { color:#c6d4d5;font-size:18px;margin:0 auto 32px;max-width:820px }
.sponsor-priorities { display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:36px auto;max-width:920px }
.sponsor-priorities span { border:1px solid rgba(255,255,255,.25);padding:12px 18px }

@media(max-width:900px){
  .campaign-hero { min-height:820px;padding-top:140px }
  .campaign-impact-line { grid-template-columns:1fr 1fr }
  .continuum-lead,.technology-feature,.vision,.why-eq-grid { grid-template-columns:1fr;gap:35px }
  .continuum-lead .eyebrow { margin-bottom:0 }
  .foundation-grid { grid-template-columns:1fr 1fr }
  .matter-grid { grid-template-columns:1fr }
  .support-grid { grid-template-columns:1fr 1fr }
  .support-grid article,.support-grid article:nth-child(4) { grid-column:span 1 }
}

@media(max-width:560px){
  .campaign-hero { min-height:850px;padding-left:22px;padding-right:22px }
  .campaign-hero h1 { font-size:58px }
  .campaign-hero-copy>p:not(.eyebrow) { font-size:18px }
  .campaign-impact-line { grid-template-columns:1fr 1fr }
  .campaign-impact-line span { font-size:12px;padding:16px 10px }
  .foundation-grid,.support-grid { grid-template-columns:1fr }
  .matter-grid article,.foundation-grid li,.support-grid article { padding:28px }
}


/* V14 public-benefit refinement */
.clinical-note { border-top:1px solid rgba(255,255,255,.2); font-size:12px !important; margin-top:24px; padding-top:18px; color:#aebfc2 !important; }
.sponsor-actions { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:28px; }
@media(max-width:560px){ .sponsor-actions{flex-direction:column;} .sponsor-actions .button{width:100%;} }


/* V16 campaign partnership inquiry form */
.partnership-inquiry { background:var(--paper); }
.inquiry-heading a,.partnership-form a { color:var(--navy); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.partnership-form { background:var(--white); border:1px solid var(--line); box-shadow:0 18px 50px rgba(8,40,48,.08); margin-top:36px; padding:42px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.partnership-form label { color:var(--ink); display:flex; flex-direction:column; font-size:14px; font-weight:700; gap:9px; }
.partnership-form input,.partnership-form select,.partnership-form textarea { background:#fff; border:1px solid #bcc9cb; border-radius:0; box-sizing:border-box; color:var(--ink); font:inherit; padding:14px 15px; width:100%; }
.partnership-form input:focus,.partnership-form select:focus,.partnership-form textarea:focus { border-color:var(--gold); outline:3px solid rgba(198,158,75,.2); }
.partnership-form textarea { resize:vertical; }
.partnership-form .full-width { grid-column:1/-1; }
.partnership-form .consent { align-items:flex-start; flex-direction:row; font-weight:500; line-height:1.5; }
.partnership-form .consent input { flex:0 0 auto; margin-top:4px; width:auto; }
.form-submit-row { align-items:center; display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; margin-top:28px; }
.form-submit-row p { color:var(--muted); font-size:14px; margin:0; }
.partnership-form button.button { border:0; cursor:pointer; font:inherit; }
.website-field { height:0; left:-9999px; overflow:hidden; position:absolute; width:1px; }
.form-status { display:none; font-weight:700; margin-top:24px; padding:16px 18px; }
.form-status.success { background:#e9f5ee; border:1px solid #9bc7aa; color:#245c38; display:block; }
.form-status.error { background:#fff0ef; border:1px solid #d9aaa6; color:#7a2922; display:block; }
@media(max-width:700px){ .form-grid{grid-template-columns:1fr;} .partnership-form{padding:26px 20px;} .partnership-form .full-width{grid-column:auto;} .form-submit-row{align-items:stretch;flex-direction:column;} .form-submit-row .button{width:100%;} }
