:root{--navy:#07111f;--navy2:#0d2038;--gold:#d9ab55;--cream:#f4f0e6;--white:#fff;--muted:#c9d1dc;--ink:#152033}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit}
.site-header{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;background:linear-gradient(to bottom,rgba(2,8,16,.94),rgba(2,8,16,.28),transparent)}
.brand{font-weight:900;letter-spacing:.08em;text-decoration:none;font-size:1rem;color:#fff}.brand:visited{color:#fff}.site-header nav{display:flex;gap:20px;align-items:center}.site-header nav a{text-decoration:none;font-size:.88rem;color:#eef2f7}.site-header nav a:hover{color:var(--gold)}
.hero{min-height:100svh;position:relative;display:flex;align-items:end;overflow:hidden;background:#050a11}.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-video{object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(2,7,14,.82) 0%,rgba(2,7,14,.55) 48%,rgba(2,7,14,.25) 74%),linear-gradient(0deg,rgba(2,7,14,.78) 0%,transparent 55%)}
.hero-content{position:relative;z-index:2;width:min(1100px,88vw);margin:0 0 8vh 6vw}.eyebrow,.kicker{font-weight:800;letter-spacing:.16em;color:var(--gold);font-size:.82rem}.hero h1{font-size:clamp(2.5rem,4.2vw,3.8rem);line-height:.95;margin:.35rem 0 1.2rem;letter-spacing:-.04em}.hero h1 span{display:block}.hero h1 span:first-child{white-space:nowrap}.hero-copy{font-size:clamp(1rem,1.65vw,1.35rem);max-width:690px;color:#eef2f7}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.visual-note{font-size:.74rem;color:#c8d0da;margin-top:22px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid var(--gold);text-decoration:none;font-weight:800;letter-spacing:.02em;background:transparent;color:white;cursor:pointer}.button.primary{background:var(--gold);color:#101317}.button.secondary:hover{background:rgba(217,171,85,.12)}.button.disabled{opacity:.65;pointer-events:none}
.section{padding:92px 6vw}.section-inner{max-width:1120px;margin:auto}.narrow{max-width:820px}.centered{text-align:center}.section h2{font-size:clamp(2rem,4vw,4rem);line-height:1.05;margin:.45rem 0 1.5rem}.section h3{font-size:1.45rem;margin:.5rem 0}.story{background:var(--cream);color:var(--ink)}.story p,.issue-preview p,.media p,.help-intro{font-size:1.08rem}.text-link{display:inline-block;margin-top:16px;font-weight:800;color:#713f00;text-decoration:none}.text-link:hover{text-decoration:underline}
.issue-preview{background:#e9e1d2;color:var(--ink)}.position-box{margin-top:30px;padding:24px 28px;border-left:5px solid var(--gold);background:#fff}.position-box strong{font-size:1.12rem}.source-note{font-size:.84rem!important;color:#526070;margin-top:24px}.source-note a{color:#713f00}
.action{background:linear-gradient(180deg,#091729,#07111f)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.card{border:1px solid rgba(255,255,255,.14);padding:28px;background:rgba(255,255,255,.035)}.card p{color:var(--muted);min-height:110px}.step{font-weight:900;color:var(--gold);font-size:.9rem;letter-spacing:.15em}
.flyer{background:var(--cream);color:var(--ink);border-top:1px solid rgba(0,0,0,.08)}.flyer-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:64px;align-items:center}.flyer p:not(.kicker){font-size:1.08rem;max-width:650px}.flyer .button.secondary{color:var(--ink);border-color:#9d7127}.flyer .button.secondary:hover{background:rgba(157,113,39,.08)}.flyer-preview{display:block;max-width:380px;margin-left:auto;box-shadow:0 18px 50px rgba(0,0,0,.22);background:white}.flyer-preview img{display:block;width:100%;height:auto}
.media{background:#102640}.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}.media-card{padding:28px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04)}.media-card p{color:var(--muted)}
.contact{background:#0d2038}.contact-name{font-size:1rem!important;line-height:1.4!important;margin:.6rem 0 .2rem!important;font-weight:700}.contact p{margin:.4rem 0}.contact-links{margin-top:14px!important}.contact-links a{text-decoration:none;color:#e6edf5;font-weight:400}.contact-links a:hover{color:var(--gold)}.internext{margin-top:24px!important;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:#d9e0e8}.internext a{text-decoration:none;color:inherit}.internext a:hover{color:var(--gold)}
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 6vw;background:#03080f;color:#aeb8c5;font-size:.8rem}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{text-decoration:none;color:#c9d1dc}.footer-links a:hover{color:var(--gold)}.footer-identity{white-space:normal}.footer-identity a{text-decoration:none;color:#c9d1dc;font-weight:400}.footer-identity a:hover{color:var(--gold)}
.subpage{background:var(--cream);color:var(--ink);min-height:100vh}.subpage .site-header{position:sticky;top:0;background:#07111f}.page-hero{padding:72px 6vw 54px;background:#0d2038;color:#fff}.page-hero-inner{max-width:920px;margin:auto}.page-hero h1{font-size:clamp(2.7rem,6vw,5.5rem);line-height:.95;letter-spacing:-.04em;margin:.4rem 0 1rem}.page-hero p{font-size:1.15rem;max-width:760px;color:#e3e9ef}.page-content{max-width:900px;margin:auto;padding:70px 6vw 100px}.page-content h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.1;margin:2.4rem 0 .8rem}.page-content h2:first-child{margin-top:0}.page-content p,.page-content li{font-size:1.07rem}.fact{padding:20px 24px;background:#fff;border-left:4px solid var(--gold);margin:22px 0}.quote{padding:22px 26px;background:#f0eadf;border-left:4px solid #9d7127;font-size:1.08rem}.sources{margin-top:30px;padding-top:24px;border-top:1px solid #c9c1b5}.sources a{color:#713f00}.resource-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.resource{background:#fff;padding:24px;border:1px solid #ddd3c4}.resource a{color:#713f00;font-weight:800;text-decoration:none}.resource a:hover{text-decoration:underline}.back-home{display:inline-block;margin-top:28px;color:#713f00;font-weight:800;text-decoration:none}.press-release{background:#fff;border:1px solid #ddd3c4;padding:34px;margin:26px 0}.press-release .release-meta{font-size:.9rem;color:#586574}.press-release h3{font-size:1.7rem;line-height:1.15;margin:1rem 0}.press-release p{font-size:1rem}.press-release .release-contact{padding-top:18px;border-top:1px solid #ddd3c4;margin-top:24px}.small-contact-name{font-size:1rem;font-weight:700;margin-bottom:.2rem}.plain-link{text-decoration:none;color:#713f00}.plain-link:hover{color:#9d7127}
@media(max-width:900px){.site-header nav{gap:13px}.site-header nav a{font-size:.8rem}.media-grid,.resource-list{grid-template-columns:1fr}}
@media(max-width:800px){.site-header{padding:14px 5vw}.site-header nav{display:none}.hero{min-height:92svh}.hero-content{width:90vw;margin:0 5vw 7vh}.hero h1 span:first-child{white-space:normal}.hero-shade{background:linear-gradient(0deg,rgba(2,7,14,.88) 0%,rgba(2,7,14,.42) 70%,rgba(2,7,14,.25))}.cards,.flyer-grid{grid-template-columns:1fr}.card p{min-height:0}.section{padding:72px 5vw}.flyer-grid{gap:32px}.flyer-preview{margin:0 auto;max-width:340px}footer{flex-direction:column;align-items:flex-start}.footer-identity{white-space:normal}.page-hero{padding:52px 5vw 44px}.page-content{padding:56px 5vw 80px}.press-release{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none}.hero{background-image:linear-gradient(0deg,rgba(2,7,14,.8),rgba(2,7,14,.25)),url('assets/hero-2542-poster.jpg');background-size:cover;background-position:center}}


/* Anchor/compass brand mark */
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-mark{width:36px;height:36px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 1px rgba(217,171,85,.4)}
@media(max-width:800px){.brand-mark{width:32px;height:32px}}

/* Clean issue-page callout */
.issue-position{margin:26px 0}
.issue-position p{margin:.55rem 0}
.source-note{font-size:.82rem!important;color:#66717e}

/* Final header emblem size */
.site-header .brand .brand-mark{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  min-height:48px !important;
  max-height:48px !important;
}
@media(max-width:800px){
  .site-header .brand .brand-mark{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    min-height:48px !important;
    max-height:48px !important;
  }
}


/* HOW YOU CAN HELP — decision-maker tools */
.decision-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:28px 0 34px;
}

.decision-card{
  background:#fff;
  border:1px solid #ddd3c4;
  padding:24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}

.decision-card h3{
  margin:.25rem 0 .55rem;
  font-size:1.22rem;
  line-height:1.2;
}

.decision-card p{
  margin:.25rem 0 1rem;
  font-size:.98rem;
  line-height:1.55;
  flex:1;
}

.decision-icon{
  display:block;
  font-size:1.55rem;
  line-height:1;
  margin-bottom:.45rem;
}

.decision-card .button{
  margin-top:auto;
  width:auto;
  max-width:100%;
  text-align:center;
  white-space:normal;
}

.sample-message{
  margin:30px 0 42px;
  padding:28px;
  background:#f0eadf;
  border-left:5px solid var(--gold);
}

.sample-label{
  margin:0 0 10px!important;
  font-size:.8rem!important;
  font-weight:900;
  letter-spacing:.14em;
  color:#713f00;
}

.sample-message #sampleMessageText{
  margin:0 0 18px;
  padding:18px;
  background:#fff;
  border:1px solid #ddd3c4;
  font-size:1.02rem;
  line-height:1.65;
}

.sample-message .dark-button{
  color:#152033;
  border-color:#9d7127;
  background:#fff;
}

.sample-message .dark-button:hover{
  background:#f7f1e6;
}

.personalize-note{
  margin:16px 0 0!important;
  font-size:.92rem!important;
  color:#526070;
}

@media(max-width:760px){
  .decision-grid{
    grid-template-columns:1fr;
  }

  .decision-card{
    padding:22px 20px;
  }

  .decision-card .button{
    width:100%;
  }

  .sample-message{
    padding:22px 20px;
  }
}


/* Prominent petition action in header */
.petition-nav{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 16px;
  background:var(--gold);
  color:#101317 !important;
  border:1px solid var(--gold);
  font-weight:900;
  letter-spacing:.035em;
  text-decoration:none !important;
  white-space:nowrap;
}
.petition-nav:hover{
  filter:brightness(1.06);
}
.petition-nav.disabled{
  opacity:.68;
  pointer-events:none;
  cursor:default;
}

@media(max-width:800px){
  .petition-nav{display:none}
}

.petition-disclosure{margin-top:14px;font-size:.82rem!important;line-height:1.5;color:#65717e}
.support-link{text-decoration:none}.support-link:hover{color:var(--gold)}

footer.footer-three{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center}.footer-zone{display:flex;gap:16px;flex-wrap:wrap}.footer-left{flex-direction:column;gap:2px}.footer-center{justify-content:center}.footer-right{justify-content:flex-end}.footer-zone a{text-decoration:none;color:#c9d1dc}.footer-zone a:hover{color:var(--gold)}.companion-flyer{margin-top:16px;font-size:.92rem}.companion-flyer a{color:#8a5c12}.full-flyer{display:block;max-width:760px;margin:34px auto 0;box-shadow:0 18px 50px rgba(0,0,0,.18)}.full-flyer img{display:block;width:100%;height:auto}@media(max-width:800px){footer.footer-three{grid-template-columns:1fr}.footer-center,.footer-right{justify-content:flex-start}}
/* Post-hunt flyer alignment */
.page-content > h2,
.page-content > p,
.flyer-actions,
.share-hint,
.companion-flyer{
  text-align:left;
}
.flyer-actions{
  justify-content:flex-start !important;
}
.flyer-actions .button{
  color:#152033;
}
.flyer-actions .button.primary{
  color:#07172b;
}
.share-hint{
  margin-top:10px;
  font-size:.88rem;
  color:#66717e;
}
.full-flyer{
  display:block;
  width:min(760px,100%);
  margin:34px auto 0 !important;
}
.full-flyer img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
}

/* Post-hunt footer: true left / center / right zones */
footer.footer-three{
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) minmax(360px,2fr) minmax(160px,1fr) !important;
  column-gap:36px !important;
  row-gap:18px !important;
  align-items:center !important;
  padding-left:clamp(22px,4vw,64px) !important;
  padding-right:clamp(22px,4vw,64px) !important;
}
footer.footer-three .footer-zone{
  display:flex !important;
  margin:0 !important;
}
footer.footer-three .footer-left{
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:4px !important;
}
footer.footer-three .footer-center{
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:24px !important;
  flex-wrap:wrap !important;
}
footer.footer-three .footer-right{
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:center !important;
  gap:4px !important;
}
footer.footer-three .footer-zone a{
  display:block !important;
  margin:0 !important;
  white-space:nowrap;
}
@media(max-width:900px){
  footer.footer-three{
    grid-template-columns:1fr !important;
    column-gap:0 !important;
  }
  footer.footer-three .footer-left,
  footer.footer-three .footer-center,
  footer.footer-three .footer-right{
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }
  footer.footer-three .footer-center{
    gap:12px 22px !important;
  }
}

/* Careful final alignment and footer repair */
.site-header .brand .brand-mark{
  display:block !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  object-fit:contain !important;
  border-radius:50% !important;
  box-shadow:none !important;
}



.flyer-page-content{
  width:min(1100px,88vw);
  margin:0 auto;
  padding:70px 0 100px;
}
.flyer-copy{
  width:min(900px,100%);
  text-align:left !important;
}
.flyer-copy h2,
.flyer-copy p,
.flyer-copy .flyer-actions{
  text-align:left !important;
}
.flyer-copy .flyer-actions{
  justify-content:flex-start !important;
}
.flyer-display{
  width:100%;
  display:flex;
  justify-content:center;
  margin-top:34px;
}
.flyer-display .full-flyer{
  display:block;
  width:min(760px,100%);
  max-width:760px;
  margin:0 auto !important;
}
.flyer-display .full-flyer img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
}

footer.footer-three{
  display:grid !important;
  grid-template-columns:minmax(210px,1fr) minmax(430px,2fr) minmax(180px,1fr) !important;
  column-gap:48px !important;
  row-gap:18px !important;
  align-items:center !important;
  width:100% !important;
  padding:26px 6vw !important;
  margin:0 !important;
}
footer.footer-three .footer-zone{margin:0 !important;padding:0 !important;min-width:0 !important}
footer.footer-three .footer-left{
  display:grid !important;
  grid-template-columns:1fr !important;
  row-gap:6px !important;
  justify-items:start !important;
  text-align:left !important;
}
footer.footer-three .footer-center{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  column-gap:28px !important;
  row-gap:10px !important;
  text-align:center !important;
}
footer.footer-three .footer-right{
  display:grid !important;
  grid-template-columns:1fr !important;
  row-gap:6px !important;
  justify-items:end !important;
  text-align:right !important;
}
footer.footer-three .footer-zone a{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.45 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}
@media(max-width:980px){
  footer.footer-three{grid-template-columns:1fr !important;column-gap:0 !important}
  footer.footer-three .footer-left,
  footer.footer-three .footer-right{justify-items:start !important;text-align:left !important}
  footer.footer-three .footer-center{justify-content:flex-start !important;text-align:left !important}
}
@media print{
  @page{size:letter portrait;margin:.25in}
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  .flyer-page .site-header,.flyer-page .page-hero,.flyer-page .flyer-copy,.flyer-page footer{display:none!important}
  .flyer-page-content{width:100%!important;padding:0!important;margin:0!important}
  .flyer-display{margin:0!important;height:10.5in!important;align-items:center!important}
  .flyer-display .full-flyer{width:100%!important;max-width:none!important;box-shadow:none!important}
  .flyer-display .full-flyer img{width:auto!important;height:auto!important;max-width:7.9in!important;max-height:10.4in!important;object-fit:contain!important}
}

/* FINAL HEADER/HERO RESPONSIVE PASS — hero video intentionally untouched */
.site-header{
 background:#07172b!important;background-color:#07172b!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.hero{box-sizing:border-box!important}
.hero-content{
 position:relative!important;z-index:3!important;
 top:auto!important;bottom:auto!important;transform:none!important;
}
@media(min-width:901px){
 .hero{
  display:flex!important;align-items:center!important;
  min-height:calc(100vh - 76px)!important;
  padding-top:110px!important;padding-bottom:90px!important;
 }
 .hero-content{margin-top:0!important;margin-bottom:0!important}
}
@media(max-width:900px){
 .hero{
  display:flex!important;align-items:center!important;
  min-height:calc(100svh - 70px)!important;
  padding-top:112px!important;padding-bottom:64px!important;
  overflow:hidden!important;
 }
 .hero-content{
  width:min(92%,680px)!important;margin:0 auto!important;
  padding-top:0!important;padding-bottom:0!important;
 }
}
@media(max-width:520px){
 .hero{min-height:calc(100svh - 64px)!important;padding-top:104px!important;padding-bottom:48px!important}
}

/* ACTUAL MOBILE FIX — cache-busted */
.mobile-menu{display:none;position:relative;margin-left:auto}
.mobile-menu summary{
  list-style:none;cursor:pointer;color:#fff;border:1px solid rgba(255,255,255,.35);
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  font-size:1.45rem;line-height:1;border-radius:3px;
}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu-panel{
  position:absolute;right:0;top:50px;min-width:220px;background:#07172b;
  border:1px solid rgba(217,171,85,.65);box-shadow:0 12px 30px rgba(0,0,0,.32);
  padding:8px;z-index:1000;
}
.mobile-menu-panel a{
  display:block!important;padding:11px 12px!important;color:#fff!important;
  text-decoration:none!important;white-space:nowrap!important;border-bottom:1px solid rgba(255,255,255,.08);
}
.mobile-menu-panel a:last-child{border-bottom:0}

/* The header is always opaque. */
.site-header{background:#07172b!important;background-color:#07172b!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Portrait phone: show the entire 16:9 hero scene first, then the copy beneath it.
   This prevents Dorie from being cropped out and prevents copy from sliding under the header. */
@media(max-width:700px) and (orientation:portrait){
  .site-header{
    min-height:68px!important;padding:8px 4vw!important;gap:8px!important;
  }
  .site-header nav{display:none!important}
  .mobile-menu{display:block!important}
  .site-header .brand span{display:none!important}
  .petition-nav{
    display:inline-flex!important;margin-left:0!important;padding:9px 10px!important;
    font-size:.68rem!important;line-height:1.05!important;text-align:center!important;
    white-space:nowrap!important;
  }
  .hero{
    display:block!important;min-height:0!important;height:auto!important;
    padding:0!important;margin:0!important;background:#07172b!important;overflow:hidden!important;
  }
  .hero-video{
    position:relative!important;inset:auto!important;display:block!important;
    width:100%!important;height:auto!important;aspect-ratio:16/9!important;
    object-fit:contain!important;object-position:center!important;background:#07172b!important;
  }
  .hero-shade{display:none!important}
  .hero-content{
    position:relative!important;inset:auto!important;transform:none!important;
    width:100%!important;margin:0!important;padding:28px 5vw 46px!important;
    background:#07172b!important;color:#fff!important;
  }
  .hero-content .eyebrow,.hero-content h1,.hero-content .hero-copy,.hero-content .visual-note{
    max-width:none!important;
  }
}

/* Mobile landscape/tablet: keep overlay treatment but expose navigation through menu. */
@media(min-width:701px) and (max-width:900px){
  .site-header nav{display:none!important}
  .mobile-menu{display:block!important}
  .petition-nav{display:inline-flex!important}
}

/* FINAL MOBILE HERO CONSISTENCY */
@media(max-width:700px) and (orientation:portrait){
 .hero{position:relative!important;display:flex!important;align-items:center!important;min-height:calc(100svh - 68px)!important;height:auto!important;padding:86px 0 58px!important;margin:0!important;overflow:hidden!important;background:#07172b!important}
 .hero-video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:38% 58%!important;background:#07172b!important}
 .hero-shade{display:block!important;position:absolute!important;inset:0!important;z-index:1!important;background:rgba(4,15,29,.52)!important}
 .hero-content{position:relative!important;z-index:3!important;width:90%!important;max-width:680px!important;margin:0 auto!important;padding:0!important;background:transparent!important;color:#fff!important}
}
@media(max-width:700px) and (orientation:landscape){
 .hero-video{object-position:38% 52%!important}
 .hero-shade{display:block!important;background:rgba(4,15,29,.52)!important}
}

/* Mobile hero: same background-video treatment as CVN, with NSV focal position */
@media(max-width:900px){
  .hero{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    min-height:92svh !important;
    height:auto !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#07172b !important;
  }
  .hero-video{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:34% 50% !important;
    background:#07172b !important;
  }
  .hero-shade{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:linear-gradient(0deg,rgba(2,7,14,.88) 0%,rgba(2,7,14,.42) 70%,rgba(2,7,14,.25)) !important;
  }
  .hero-content{
    position:relative !important;
    z-index:3 !important;
    width:90% !important;
    max-width:680px !important;
    margin:76px auto 7vh !important;
    padding:0 !important;
    background:transparent !important;
    color:#fff !important;
    transform:none !important;
    top:auto !important;
    bottom:auto !important;
  }
}

/* Flyer page: same content grid as other NSV subpages; flyer itself centered */
.flyer-page .page-content{
  max-width:1100px !important;
  margin:0 auto !important;
  padding:70px 6vw 100px !important;
}
.flyer-page .page-content > h2,
.flyer-page .page-content > p,
.flyer-page .flyer-actions,
.flyer-page .companion-flyer{
  text-align:left !important;
}
.flyer-page .flyer-actions{
  justify-content:flex-start !important;
}
.flyer-page .full-flyer{
  display:block !important;
  width:min(760px,100%) !important;
  max-width:760px !important;
  margin:34px auto 0 !important;
}
.flyer-page .full-flyer img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 auto !important;
}
@media(max-width:800px){
  .flyer-page .page-content{
    padding:56px 5vw 80px !important;
  }
}


.site-header{
  background:#07172b !important;
  background-color:#07172b !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}


/* Mobile hero follows CVN-style overlay mechanics */
@media(max-width:900px){
  .hero{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    min-height:92svh !important;
    height:auto !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#07172b !important;
  }
  .hero-video{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:34% 50% !important;
    background:#07172b !important;
  }
  .hero-shade{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:linear-gradient(0deg,rgba(2,7,14,.88) 0%,rgba(2,7,14,.42) 70%,rgba(2,7,14,.25)) !important;
  }
  .hero-content{
    position:relative !important;
    z-index:3 !important;
    width:90% !important;
    max-width:680px !important;
    margin:76px auto 7vh !important;
    padding:0 !important;
    background:transparent !important;
    color:#fff !important;
    transform:none !important;
    top:auto !important;
    bottom:auto !important;
  }
}


/* CONSISTENT INTERIOR PAGE GRID — CVN-style geometry */
:root{
  --nsv-page-max:1180px;
  --nsv-page-gutter:6vw;
}
.page-hero{
  padding-left:var(--nsv-page-gutter) !important;
  padding-right:var(--nsv-page-gutter) !important;
}
.page-hero-inner{
  width:100% !important;
  max-width:var(--nsv-page-max) !important;
  margin:0 auto !important;
  padding:0 !important;
  text-align:left !important;
}
body.subpage .page-content{
  width:calc(100% - (2 * var(--nsv-page-gutter))) !important;
  max-width:var(--nsv-page-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.page-content > h1,
.page-content > h2,
.page-content > h3,
.page-content > p,
.page-content > ul,
.page-content > ol{
  margin-left:0 !important;
  margin-right:0 !important;
}
.flyer-display{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  margin-top:34px !important;
}
.full-flyer{
  display:block !important;
  width:min(760px,100%) !important;
  max-width:760px !important;
  margin:0 auto !important;
}
.full-flyer img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 auto !important;
}
@media(max-width:800px){
  :root{--nsv-page-gutter:5vw;}
}

/* Flyer hero alignment correction: match Media/other NSV subpages exactly */
body.flyer-page .page-hero-inner{
  width:100% !important;
  max-width:var(--nsv-page-max,1180px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  transform:none !important;
  left:auto !important;
  right:auto !important;
  text-align:left !important;
}
body.flyer-page .page-hero{
  padding-left:var(--nsv-page-gutter,6vw) !important;
  padding-right:var(--nsv-page-gutter,6vw) !important;
}

/* PORTRAIT PHONE: show the entire NSV hero frame.
   The source places Dorie near the far right, so cover-cropping cannot preserve him. */
@media(max-width:700px) and (orientation:portrait){
  .hero{
    background:#07172b !important;
  }
  .hero-video{
    object-fit:contain !important;
    object-position:center center !important;
    background:#07172b !important;
  }
  .hero-shade{
    display:block !important;
    background:linear-gradient(
      0deg,
      rgba(2,7,14,.88) 0%,
      rgba(2,7,14,.48) 68%,
      rgba(2,7,14,.28) 100%
    ) !important;
  }
}

/* NSV HERO LAYOUT RESET — 2542 master
   Keep the video full-bleed on every screen and keep copy low so Dorie's face stays visible. */
@media(min-width:901px){
  .hero{
    display:flex !important;
    align-items:flex-end !important;
    min-height:calc(100vh - 76px) !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .hero-video{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
  .hero-content{
    width:min(1100px,88vw) !important;
    max-width:none !important;
    margin:0 0 6vh 6vw !important;
    padding:0 !important;
  }
}

@media(max-width:900px){
  .hero{
    position:relative !important;
    display:flex !important;
    align-items:flex-end !important;
    min-height:92svh !important;
    height:auto !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#07172b !important;
  }
  .hero-video{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
    object-position:38% 50% !important;
    background:#07172b !important;
  }
  .hero-shade{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:linear-gradient(0deg,rgba(2,7,14,.92) 0%,rgba(2,7,14,.62) 42%,rgba(2,7,14,.18) 72%,rgba(2,7,14,.10) 100%) !important;
  }
  .hero-content{
    position:relative !important;
    z-index:3 !important;
    width:90% !important;
    max-width:680px !important;
    margin:0 auto 5vh !important;
    padding:0 !important;
    background:transparent !important;
    color:#fff !important;
    transform:none !important;
    top:auto !important;
    bottom:auto !important;
  }
}

@media(max-width:520px) and (orientation:portrait){
  .hero{min-height:calc(100svh - 64px) !important;}
  .hero-video{object-fit:cover !important;object-position:38% 50% !important;}
  .hero-content{margin-bottom:4vh !important;}
  .hero h1{font-size:clamp(2.05rem,10vw,2.8rem) !important;line-height:.98 !important;margin:.3rem 0 .85rem !important;}
  .hero-copy{font-size:.98rem !important;line-height:1.45 !important;}
  .hero-actions{margin-top:18px !important;gap:9px !important;}
  .visual-note{margin-top:14px !important;}
}

/* HERO 2542 DEPLOYMENT — cache-busted responsive master */
@media (min-width: 901px){
  .hero{
    min-height:calc(100svh - 76px)!important;
    display:flex!important;
    align-items:flex-end!important;
    padding:0!important;
  }
  .hero-video{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .hero-content{
    margin:0 0 3.5vh 6vw!important;
    padding:0!important;
  }
}
@media (max-width: 900px){
  .hero{
    min-height:calc(100svh - 64px)!important;
    height:calc(100svh - 64px)!important;
    display:flex!important;
    align-items:flex-end!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .hero-video{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:20% 50%!important;
    transform:none!important;
  }
  .hero-shade{
    display:block!important;
    background:linear-gradient(0deg,rgba(2,7,14,.93) 0%,rgba(2,7,14,.66) 38%,rgba(2,7,14,.18) 65%,rgba(2,7,14,.07) 100%)!important;
  }
  .hero-content{
    width:90%!important;
    max-width:680px!important;
    margin:0 auto 2vh!important;
    padding:0!important;
    align-self:flex-end!important;
  }
}
@media (max-width:520px) and (orientation:portrait){
  .hero{
    min-height:calc(100svh - 64px)!important;
    height:calc(100svh - 64px)!important;
  }
  .hero-video{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:20% 50%!important;
  }
  .hero-content{margin-bottom:1.5vh!important;}
  .hero h1{font-size:clamp(1.9rem,9.1vw,2.55rem)!important;line-height:.98!important;margin:.25rem 0 .7rem!important;}
  .hero-copy{font-size:.92rem!important;line-height:1.38!important;}
  .hero-actions{margin-top:14px!important;gap:8px!important;}
  .visual-note{margin-top:10px!important;font-size:.68rem!important;}
}


/* ================================================================
   NSV HERO V20 — authoritative phone rules
   Desktop (901px+) intentionally untouched.
   Portrait phone: full uncropped 16:9 video above copy.
   Landscape phone: overlay hero remains, but starts below fixed header,
   expands to fit its copy, and is vertically scrollable with the page.
   ================================================================ */

/* PORTRAIT PHONE — show the complete film, unobstructed */
@media (max-width:700px) and (orientation:portrait){
  .hero{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:68px 0 0!important;
    padding:0!important;
    overflow:visible!important;
    background:#07172b!important;
  }
  .hero-video{
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    aspect-ratio:16 / 9!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    background:#07172b!important;
    z-index:0!important;
  }
  .hero-shade{display:none!important;}
  .hero-content{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:26px 5vw 42px!important;
    background:#07172b!important;
    color:#fff!important;
    transform:none!important;
    top:auto!important;
    bottom:auto!important;
  }
  .hero-content .eyebrow,
  .hero-content h1,
  .hero-content .hero-copy,
  .hero-content .visual-note{max-width:none!important;}
  .hero h1{
    font-size:clamp(1.95rem,9vw,2.55rem)!important;
    line-height:1!important;
    margin:.28rem 0 .75rem!important;
  }
  .hero-copy{font-size:.95rem!important;line-height:1.42!important;}
  .hero-actions{margin-top:16px!important;gap:8px!important;}
  .visual-note{margin-top:11px!important;font-size:.68rem!important;}
}

/* LANDSCAPE PHONE — preserve wide overlay treatment without clipping */
@media (max-width:900px) and (orientation:landscape) and (max-height:600px){
  .site-header{
    min-height:64px!important;
    padding:8px 4vw!important;
  }
  .site-header nav{display:none!important;}
  .mobile-menu{display:block!important;}
  .petition-nav{
    display:inline-flex!important;
    min-height:36px!important;
    padding:0 11px!important;
    font-size:.72rem!important;
  }
  .hero{
    position:relative!important;
    display:flex!important;
    align-items:flex-end!important;
    width:100%!important;
    min-height:calc(100dvh - 64px)!important;
    height:auto!important;
    margin:64px 0 0!important;
    padding:28px 0 24px!important;
    overflow:visible!important;
    background:#07172b!important;
  }
  .hero-video{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:28% 50%!important;
    transform:none!important;
    background:#07172b!important;
  }
  .hero-shade{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    background:linear-gradient(90deg,rgba(2,7,14,.80) 0%,rgba(2,7,14,.54) 52%,rgba(2,7,14,.18) 100%),linear-gradient(0deg,rgba(2,7,14,.66),rgba(2,7,14,.10) 70%)!important;
  }
  .hero-content{
    position:relative!important;
    z-index:3!important;
    width:min(56%,620px)!important;
    max-width:620px!important;
    margin:0 0 0 5vw!important;
    padding:0!important;
    background:transparent!important;
    color:#fff!important;
    transform:none!important;
    top:auto!important;
    bottom:auto!important;
  }
  .hero .eyebrow{font-size:.68rem!important;letter-spacing:.13em!important;}
  .hero h1{
    font-size:clamp(1.6rem,4.2vw,2.35rem)!important;
    line-height:.98!important;
    margin:.18rem 0 .55rem!important;
  }
  .hero-copy{
    font-size:clamp(.78rem,1.65vw,.92rem)!important;
    line-height:1.32!important;
    max-width:560px!important;
  }
  .hero-actions{margin-top:10px!important;gap:7px!important;}
  .hero-actions .button{
    padding:9px 12px!important;
    font-size:.76rem!important;
  }
  .visual-note{margin-top:8px!important;font-size:.58rem!important;}
}

/* V21 — unobstructed hero artwork and video on Media page. */
.hero-gallery{margin:46px 0 54px;padding:34px 0 8px;border-top:1px solid rgba(255,255,255,.12)}
.hero-gallery>p:not(.eyebrow){max-width:760px}
.hero-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;align-items:start}
.hero-gallery-item{margin:0;min-width:0}
.hero-art-link,.hero-gallery-video{display:block;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#07172b;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.hero-art-link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.hero-art-link:hover img{transform:scale(1.012)}
.hero-gallery-video{height:auto;object-fit:contain}
.hero-gallery-item figcaption{display:flex;flex-direction:column;gap:4px;padding:12px 2px 0}
.hero-gallery-item figcaption strong{font-size:1rem}
.hero-gallery-item figcaption span{font-size:.88rem;opacity:.78;line-height:1.4}
@media(max-width:760px){.hero-gallery{margin:34px 0 42px;padding-top:28px}.hero-gallery-grid{grid-template-columns:1fr;gap:28px}}
