
:root{
  --ink:#14243a; --navy:#0f2f52; --blue:#245f8f; --sky:#e7f2f6;
  --cream:#f7f3ea; --white:#fff; --line:#d6e0e7; --muted:#5a6b7b;
  --accent:#d7e8f2; --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.6;background:#fff}
a{color:var(--blue)}
header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px max(22px,calc((100vw - var(--max))/2));background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.brand{text-decoration:none;color:var(--ink);line-height:.95}.brand strong{display:block;font-size:23px;letter-spacing:.03em}.brand span{display:block;font-size:10px;letter-spacing:.22em;font-weight:900;margin-top:5px}
nav{display:flex;gap:22px;align-items:center}nav a{text-decoration:none;color:var(--ink);font-weight:800;font-size:14px}.cta{background:var(--navy);color:#fff!important;padding:9px 14px;border-radius:999px}
.menu{display:none}
.hero{background:linear-gradient(135deg,#e8f2f5,#f8f4ed 62%,#edf2ee);padding:86px 24px 82px}
.hero-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:12px;color:var(--blue);margin:0 0 12px}
h1,h2,h3{line-height:1.06;margin-top:0}
h1{font-size:clamp(48px,6vw,80px);letter-spacing:-.045em;margin-bottom:24px}
.lede{font-size:22px;max-width:760px;color:#3d5266}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.button{display:inline-block;border-radius:999px;padding:13px 19px;text-decoration:none;font-weight:900}
.primary{background:var(--navy);color:#fff}.secondary{background:#fff;border:1px solid #bbc7cf;color:var(--ink)}
.hero-photo{width:100%;max-width:470px;margin-left:auto;border-radius:28px;box-shadow:0 22px 55px rgba(16,38,62,.18);display:block}
.hero-card{max-width:390px;margin:-38px 0 0 auto;position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 16px 40px rgba(16,38,62,.12)}
.hero-card h2{font-size:27px}
.section{max-width:var(--max);margin:auto;padding:82px 24px}
.center{text-align:center;max-width:900px}
.center h2,.split h2,.section-head h2,.compare h2,.join h2{font-size:clamp(34px,4vw,56px);letter-spacing:-.035em}
.center p:last-child{font-size:19px;color:var(--muted)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.bodycopy{font-size:18px;color:#405264}
.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.fact-grid div{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfcfd}.fact-grid strong,.fact-grid span{display:block}.fact-grid span{font-size:14px;color:var(--muted);margin-top:5px}
.band{background:var(--navy);color:#fff;padding:80px 24px}.band .inner{max-width:900px;margin:auto}.band .eyebrow{color:#a8d2e4}.band p:last-child{font-size:20px;color:#d7e2ea}
.priorities{background:#f5f7f8;padding:78px 24px 95px}.section-head,.priority{max-width:var(--max);margin:auto}.priority{display:grid;grid-template-columns:85px 1fr;gap:24px;padding:38px 0;border-top:1px solid #ccd6de}.num{font-weight:900;color:var(--blue)}.label{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:900;margin:0 0 8px}.priority h3{font-size:clamp(28px,3vw,44px);letter-spacing:-.03em;margin-bottom:15px}.priority p{max-width:920px;font-size:18px;color:#405264}
.compare{background:var(--sky);padding:82px 24px}.compare .inner{max-width:var(--max);margin:auto}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.compare-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.compare-card h3{font-size:23px}.compare-card p{color:#405264}.source-note{font-size:13px;color:var(--muted)}
.endorsements{max-width:var(--max);margin:auto;padding:82px 24px}.endorsement-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.endorsement-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--cream);font-size:20px}
.join{max-width:var(--max);margin:auto;padding:82px 24px;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.form{background:var(--cream);padding:28px;border-radius:22px;display:grid;gap:15px}.form label{font-weight:800;font-size:14px}.form input,.form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #bbc6ce;border-radius:9px;font:inherit}.form small{color:var(--muted)}
footer{background:#071a2d;color:#c5d0d9;text-align:center;padding:32px 24px;font-size:13px}.small{font-size:11px}
.notice{max-width:var(--max);margin:0 auto;padding:16px 24px;background:#fff6da;border:1px solid #ead79c;border-radius:12px;color:#66541d;font-size:13px}
@media(max-width:850px){
  .menu{display:block;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;font-weight:800}
  nav{display:none;position:absolute;top:67px;left:16px;right:16px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:15px;padding:10px;box-shadow:0 16px 40px rgba(16,38,62,.12)}nav.open{display:flex}nav a{padding:10px}
  .hero-grid,.split,.join,.compare-grid{grid-template-columns:1fr;gap:35px}.hero{padding-top:58px}.hero-photo{margin:0 auto;max-width:390px}.hero-card{margin:-28px auto 0}
  .priority{grid-template-columns:1fr;gap:7px}.fact-grid,.endorsement-grid{grid-template-columns:1fr}
}

/* Local media headline wall */
.headline-wall{background:#fff;padding:84px 24px}
.headline-inner{max-width:var(--max);margin:auto}
.headline-wall h2{font-size:clamp(34px,4vw,56px);letter-spacing:-.035em}
.headline-intro{max-width:900px;font-size:19px;color:#4b5e70}
.headline-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:32px}
.headline-card{border:1px solid var(--line);border-radius:18px;padding:24px;background:#fbfcfd;box-shadow:0 8px 24px rgba(16,38,62,.05)}
.headline-card .outlet{text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:11px;color:var(--blue);margin-bottom:10px}
.headline-card h3{font-size:23px;line-height:1.15;margin-bottom:12px}
.headline-card h3 a{text-decoration:none;color:var(--ink)}
.headline-card h3 a:hover{text-decoration:underline}
.headline-card p{color:#4b5e70;font-size:15px}
.read-link{font-size:14px;font-weight:900}
.record-question{margin:24px 0;padding:20px 22px;border-left:5px solid var(--blue);background:#fff;border-radius:10px}
.record-question strong,.record-question span{display:block}
.record-question span{margin-top:6px;color:#405264;font-size:17px}
@media(max-width:850px){.headline-grid{grid-template-columns:1fr}}

.featured-article{max-width:var(--max);margin:28px auto 18px;padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff}
.featured-article h3{font-size:30px;letter-spacing:-.025em;margin-bottom:12px}
.featured-article p{max-width:820px;color:#4a5d70;font-size:17px}
.article-page{max-width:860px;margin:auto;padding:78px 24px}
.article-page h1{font-size:clamp(44px,6vw,68px);letter-spacing:-.045em}
.article-page h2{font-size:32px;letter-spacing:-.025em;margin-top:44px}
.article-page p{font-size:18px;color:#3f5265}
.article-lede{font-size:22px!important;color:#2d4054!important}
.article-back{margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}

.issue-article-link{display:inline-block;margin-top:8px;font-weight:900;text-decoration:none}
.article-list{font-size:18px;color:#3f5265;padding-left:22px}
.article-list li{margin:8px 0}
.article-sources{margin-top:44px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#f8fafb}
.article-sources h3{margin-bottom:10px}
.article-sources p{font-size:14px;margin:7px 0}

/* V7 candidate contrast */
.contrast-section{padding:84px 24px;background:#fff}
.contrast-inner{max-width:var(--max);margin:auto}
.contrast-section h2{font-size:clamp(34px,4vw,56px);letter-spacing:-.035em}
.contrast-intro{max-width:880px;font-size:19px;color:#4b5e70}
.contrast-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.candidate-card{border:1px solid var(--line);border-radius:22px;padding:28px}
.meegan-card{background:#f8fbfc}
.moss-card{background:#fbf8f4}
.candidate-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900;color:var(--blue);margin:0 0 8px}
.candidate-card h3{font-size:30px;letter-spacing:-.025em;margin-bottom:14px}
.candidate-card p,.candidate-card li{color:#405264;font-size:17px}
.candidate-card li{margin:8px 0}
.source-line{font-size:13px!important;font-weight:800}
.religion-context{margin-top:24px;padding:28px;border-radius:20px;background:#f3f5f7;border:1px solid var(--line)}
.religion-context h3{font-size:30px}
.religion-context p{font-size:17px;color:#405264}
.contrast-question{margin-top:24px}
@media(max-width:850px){.contrast-columns{grid-template-columns:1fr}}


/* Accessibility and hosting production pass */
html { font-size: 100%; }
body { min-width: 320px; }
img { max-width: 100%; height: auto; }
.skip-link {
  position: absolute;
  left: 1rem;
  top: -5rem;
  z-index: 9999;
  padding: .75rem 1rem;
  background: #ffffff;
  color: #0f2f52;
  border: 3px solid #0f2f52;
  border-radius: .5rem;
  font-weight: 900;
}
.skip-link:focus { top: 1rem; }
.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;
}
a, button, input, textarea, select { outline-offset: 4px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #b45309;
  box-shadow: 0 0 0 3px #ffffff;
}
a:hover { text-decoration-thickness: .13em; text-underline-offset: .18em; }
.button, .cta, .menu { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; }
.site-header nav a { padding-block: .45rem; }
.site-footer { background:#071a2d; color:#c5d0d9; }
.footer-inner { max-width: var(--max); margin: 0 auto; padding: 2rem 1.5rem; display:flex; justify-content:space-between; gap:2rem; align-items:flex-start; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:1rem; }
.site-footer a { color:#ffffff; }
.contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:1rem; }
.article-page { max-width: 860px; }
.article-page p, .article-page li { max-width: 72ch; }
p, li { overflow-wrap: break-word; }
h1, h2, h3 { text-wrap: balance; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
@media (forced-colors: active) {
  .button, .cta, .candidate-card, .headline-card, .compare-card { border: 1px solid ButtonText; }
}
@media (max-width: 850px) {
  .footer-inner { flex-direction:column; }
  .site-footer nav { flex-direction:column; }
  .site-header nav a { min-height:44px; display:flex; align-items:center; }
}

/* Resource-first content upgrade */
.question-hub{padding-top:76px;padding-bottom:76px}
.question-hub h2{font-size:clamp(34px,4vw,56px);letter-spacing:-.035em}
.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.question-card-link{display:flex;flex-direction:column;gap:.55rem;padding:24px;border:1px solid var(--line);border-radius:18px;text-decoration:none;background:#fff;color:var(--ink)}
.question-card-link:hover{background:#f8fbfc;border-color:#9db4c6}
.question-title{font-weight:900;font-size:22px;line-height:1.2}
.question-meta{color:var(--muted);font-size:15px}
.question-more{margin-top:28px}
.library-page{max-width:1100px}
.site-search{margin:28px 0 34px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#f8fafb}
.site-search label{display:block;margin-bottom:8px}
.site-search input{width:100%;min-height:48px;border:1px solid #8294a3;border-radius:10px;padding:12px 14px;font:inherit}
.search-status{margin:.65rem 0 0;font-size:14px;color:var(--muted)}
.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.library-card{border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff}
.library-card[hidden]{display:none}
.library-card h2{font-size:27px;margin-bottom:12px}
.library-card h2 a{text-decoration:none;color:var(--ink)}
.library-card p{font-size:16px}
.read-link{font-weight:900}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:0 0 30px;font-size:14px}
.breadcrumb li:not(:last-child)::after{content:"/";margin-left:.45rem;color:var(--muted)}
.breadcrumb [aria-current="page"]{color:var(--muted)}
.related-reading{margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}
.related-reading h2{font-size:30px}
.related-reading ul{list-style:none;padding:0;display:grid;gap:14px}
.related-reading li{border:1px solid var(--line);border-radius:14px;padding:16px}
.related-reading a{display:block;font-weight:900;text-decoration:none}
.related-reading span{display:block;color:var(--muted);font-size:14px;margin-top:4px}
.resource-page{max-width:980px}
.resource-section{margin-top:44px}
.resource-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}
.resource-card h3{font-size:24px;margin-bottom:8px}
.help-section{background:#f3f7fa;border-left:5px solid var(--blue);padding:22px;border-radius:12px}
@media(max-width:850px){
  .question-grid,.library-grid{grid-template-columns:1fr}
}
