
:root{--bg:#071722;--panel:#0d2530;--card:rgba(255,255,255,.075);--line:rgba(255,255,255,.16);--cream:#f7f1e1;--muted:#c9d3c8;--green:#b2d387;--gold:#d7c67e}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at top,#153446 0,#071722 45%,#030b11 100%);color:var(--cream);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
a{color:var(--green)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(3,13,19,.84);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{max-width:1180px;margin:0 auto;padding:.75rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--cream)}
.brand img{width:56px;height:56px;object-fit:cover;border-radius:8px}
.brand strong{font-family:Georgia,serif;font-size:1.2rem}
.brand span{display:block;color:var(--green);font-size:.78rem;font-weight:800;letter-spacing:.04em}
.nav-links{display:flex;gap:1rem;flex-wrap:wrap;font-size:.92rem}
.nav-links a{text-decoration:none;color:var(--cream);opacity:.92}
.hero{
  max-width:1180px;
  width:calc(100% - 2rem);
  min-height:620px;
  margin:1.4rem auto 0;
  padding:0;
  background:
    linear-gradient(90deg,rgba(3,13,19,.68),rgba(3,13,19,.34) 48%,rgba(3,13,19,.12)),
    url('46north-science-hero.png') center center/cover no-repeat;
  display:flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(0,0,0,.38);
}
.hero-inner{
  max-width:1180px;
  margin:0 auto;
  padding:4.5rem 1.2rem;
  width:100%;
}
.hero-card{
  max-width:700px;
  background:rgba(3,13,19,.50);
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  padding:2rem;
  box-shadow:0 28px 80px rgba(0,0,0,.38);
  backdrop-filter:blur(2px);
}
.kicker{color:var(--green);font-weight:900;letter-spacing:.13em;text-transform:uppercase}
h1,h2,h3{font-family:Georgia,serif;line-height:1.1;margin:0 0 1rem}
h1{font-size:clamp(2.4rem,6vw,5.1rem)}
h2{font-size:clamp(2rem,4vw,3.2rem)}
h3{font-size:1.45rem}
.lede{font-size:1.25rem;color:#e7e3d8}
.btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}
.btn{display:inline-block;padding:.85rem 1.15rem;border-radius:999px;background:var(--green);color:#071722;text-decoration:none;font-weight:900}
.btn.secondary{background:transparent;color:var(--cream);border:1px solid rgba(255,255,255,.3)}
section{max-width:1180px;margin:0 auto;padding:4rem 1.2rem}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:1.35rem;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.program-card{display:flex;gap:1rem;align-items:flex-start}
.program-card img{width:76px;height:76px;object-fit:contain;flex:0 0 auto}
.note{background:rgba(178,211,135,.12);border:1px solid rgba(178,211,135,.28);border-radius:22px;padding:1.4rem}
@media(max-width:800px){.nav{align-items:flex-start;flex-direction:column}.grid,.program-grid{grid-template-columns:1fr}.hero{min-height:560px;width:calc(100% - 1rem);border-radius:18px}.hero-card{padding:1.3rem}}

/* Shared 46 North footer fallback styles */
.shared-46n-footer{
  margin-top:4rem;
  padding:2.2rem 1rem;
  background:rgba(3,13,19,.93);
  border-top:1px solid rgba(255,255,255,.14);
  color:#f5f1e8;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.shared-46n-footer-inner{max-width:1120px;margin:0 auto;text-align:center}
.shared-46n-footer p{margin:.35rem 0}
.shared-46n-footer nav{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin:1rem 0}
.shared-46n-footer a{color:#d8e8b8;text-decoration:none;border-bottom:1px solid rgba(216,232,184,.35)}
.shared-46n-footer a:hover{border-bottom-color:#d8e8b8}
.shared-46n-small{font-size:.88rem;opacity:.86}
.shared-46n-small a{margin:0 .35rem}

.feature-strip{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:1rem;
  align-items:stretch;
}
.feature-panel{
  background:linear-gradient(135deg,rgba(178,211,135,.16),rgba(255,255,255,.06));
  border:1px solid rgba(178,211,135,.28);
  border-radius:24px;
  padding:1.5rem;
}
.action-card{
  background:rgba(3,13,19,.58);
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  padding:1.7rem;
}
.action-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.75rem;
  margin:1rem 0 0;
}
.action-list div{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  padding:.9rem;
}
@media(max-width:800px){
  .feature-strip,.action-list{grid-template-columns:1fr}
}

/* Final hero split fix: prevents live text from overlaying the logo artwork */
.hero.hero-split{
  max-width:1180px;
  width:calc(100% - 2rem);
  min-height:auto;
  margin:1.4rem auto 0;
  padding:1.2rem;
  background:linear-gradient(135deg,rgba(3,13,19,.92),rgba(13,37,48,.88));
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);
  gap:1.2rem;
  align-items:stretch;
  border:1px solid rgba(255,255,255,.16);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(0,0,0,.38);
}
.hero.hero-split .hero-copy{
  background:rgba(3,13,19,.46);
  border:1px solid rgba(255,255,255,.15);
  border-radius:22px;
  padding:2rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero.hero-split .hero-copy h1{
  font-size:clamp(2.3rem,5vw,4.6rem);
}
.hero-art-wrap{
  min-height:420px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:#030d13;
}
.hero-art{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:900px){
  .hero.hero-split{
    grid-template-columns:1fr;
    width:calc(100% - 1rem);
    border-radius:18px;
  }
  .hero-art-wrap{min-height:320px}
}

.support-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  align-items:start;
}
.donation-card{
  background:linear-gradient(135deg,rgba(178,211,135,.14),rgba(255,255,255,.07));
}
#paypal-container-RVQQ7BD54JXS2{
  margin-top:1rem;
  min-height:54px;
}
@media(max-width:800px){
  .support-grid{grid-template-columns:1fr}
}

.donor-confirmation{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  margin:1rem 0;
  padding:1rem;
  border-radius:16px;
  border:1px solid rgba(178,211,135,.32);
  background:rgba(178,211,135,.10);
  font-weight:700;
}
.donor-confirmation input{
  margin-top:.25rem;
  transform:scale(1.2);
}
.donation-gate-message{
  font-size:.95rem;
  color:#c9d3c8;
  border-left:3px solid rgba(178,211,135,.55);
  padding-left:.85rem;
}
.donation-card p{
  font-size:.96rem;
}


.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
.donation-card{background:linear-gradient(135deg,rgba(178,211,135,.14),rgba(255,255,255,.07))}
#donate-button-container,#donate-button,#paypal-donation-wrapper{margin-top:1rem}
.donor-confirmation{display:flex;align-items:flex-start;gap:.7rem;margin:1rem 0;padding:1rem;border-radius:16px;border:1px solid rgba(178,211,135,.32);background:rgba(178,211,135,.10);font-weight:700}
.donor-confirmation input{margin-top:.25rem;transform:scale(1.2)}
.donation-gate-message{font-size:.95rem;color:#c9d3c8;border-left:3px solid rgba(178,211,135,.55);padding-left:.85rem}
.donation-card p{font-size:.96rem}
@media(max-width:800px){.support-grid{grid-template-columns:1fr}}

/* Program cards on 46north.science use each site's banner/header artwork */
.program-card{display:block;overflow:hidden}
.program-card .program-logo-banner{display:block;width:100%;height:138px;object-fit:cover;object-position:center;border-radius:16px;margin:0 0 1rem 0;background:#030d13;border:1px solid rgba(255,255,255,.13)}
.program-card img.program-logo-banner{flex:auto}
@media(max-width:800px){.program-card .program-logo-banner{height:120px}}

.policy-card .policy-section{margin:0 0 1.35rem;padding-bottom:1.1rem;border-bottom:1px solid rgba(255,255,255,.12)}
.policy-card .policy-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.policy-card h2{font-size:1.35rem;margin-top:0}

/* Event coordination / permissions notice */
#event-planning-note .note{
  border-color:rgba(151,189,156,.35);
  background:rgba(151,189,156,.08);
}
#event-planning-note p:last-child{
  margin-bottom:0;
}

/* 46 North Science hero uncrop fix */
.hero.hero-split .hero-art-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#030d13 !important;
}
.hero.hero-split .hero-art{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#030d13 !important;
}

/* About / who's involved additions */
#whos-involved-preview .button{
  margin-top:.75rem;
}
#public-input .card,
#current-status .card{
  min-height:100%;
}


/* Public-facing messaging rebuild helpers */
.notice{margin-top:22px;padding:16px 18px;border-left:3px solid var(--accent,#d7c67e);background:rgba(255,255,255,.08);border-radius:14px;max-width:900px}
.clean-list strong{display:block;margin-bottom:.2rem}
.button,.btn{white-space:normal}

/* Logo-style project banners should not crop in project cards. */
.program-card img[src*="citizen-banner"],
.program-card img[src*="asa-banner"]{
  object-fit:contain !important;
  object-position:center center !important;
  background:#061018 !important;
  padding:.75rem !important;
}

/* 2026-06-26: high-contrast secondary action buttons
   Fixes low-contrast buttons such as “Email us” on light/cream sections. */
.button.secondary,
.actions .button.secondary,
.btn.secondary,
.btns .btn.secondary {
  background: #0b1c27 !important;
  color: #fff7df !important;
  border: 2px solid rgba(183, 212, 138, 0.95) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,0.22) !important;
}
.button.secondary:hover,
.button.secondary:focus,
.actions .button.secondary:hover,
.actions .button.secondary:focus,
.btn.secondary:hover,
.btn.secondary:focus,
.btns .btn.secondary:hover,
.btns .btn.secondary:focus {
  background: #b7d48a !important;
  color: #061018 !important;
  border-color: #b7d48a !important;
}
.button.secondary:focus-visible,
.btn.secondary:focus-visible {
  outline: 3px solid #ffffff !important;
  outline-offset: 3px !important;
}


/* 2026-06-26: Northwoods STEM hub additions */
.subhero{min-height:auto;background:linear-gradient(135deg,rgba(3,13,19,.92),rgba(13,37,48,.88));}
.hub-hero{background:linear-gradient(90deg,rgba(3,13,19,.72),rgba(3,13,19,.36)),url('46north-science-hero.png') center center/cover no-repeat;}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}
.news-card h3,.map-card h3{font-size:1.25rem}.small-note{font-size:.92rem;color:var(--muted);opacity:.92}.map-card .btn,.news-card .btn{margin-top:.75rem}.clean-list li{margin:.7rem 0;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.055);list-style:none}.clean-list{padding-left:0}.clean-list span{display:block;color:#e7e3d8}.hub-quicklinks{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.hub-quicklinks a{display:block;padding:1rem;border-radius:18px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.065);text-decoration:none;color:var(--cream);font-weight:800}.hub-quicklinks a:hover{background:rgba(178,211,135,.14)}
@media(max-width:900px){.news-grid,.hub-quicklinks{grid-template-columns:1fr}.grid.three{grid-template-columns:1fr}}


/* 2026-06-26: Sky dashboard hero fix
   Uses a page-specific no-text hero image so live copy does not overlap the 46 North Science logo artwork. */
.sky-dashboard-hero{
  background:
    linear-gradient(90deg,rgba(3,13,19,.92) 0%,rgba(3,13,19,.82) 38%,rgba(3,13,19,.45) 66%,rgba(3,13,19,.56) 100%),
    url('northwoods-sky-dashboard-hero.png') center center/cover no-repeat !important;
}
.sky-dashboard-hero .hero-card{
  background:rgba(3,13,19,.62);
}
@media(max-width:800px){
  .sky-dashboard-hero{
    background:
      linear-gradient(180deg,rgba(3,13,19,.92) 0%,rgba(3,13,19,.80) 100%),
      url('northwoods-sky-dashboard-hero.png') center center/cover no-repeat !important;
  }
}
