:root { --ink: #090a0c; --charcoal: #141517; }
body { background: var(--ink); }
.header { background: var(--ink); }
.hero { background: var(--ink); }
.hero-background { filter: saturate(.8); }
.hero::after {
  background: linear-gradient(90deg, var(--ink) 0%, rgba(9,10,12,.93) 17%, rgba(9,10,12,.65) 37%, rgba(9,10,12,.04) 68%),
    linear-gradient(0deg, var(--ink), transparent 35%);
}
.hero h1 > .hero-line { display: block; overflow: hidden; color: var(--white); padding: .12em 0 .06em; margin: -.12em 0 -.06em; }
.hero h1 > .hero-line.accent { color: var(--orange); }
.hero-line > span { display: block; }
.reading-progress { position: fixed; top: 0; left: 0; width: 100%; height: 3px; background: var(--orange); transform: scaleX(0); transform-origin: left; z-index: 50; pointer-events: none; }
.value-strip > div { width: max-content; min-width: 120%; justify-content: flex-start; padding-inline: 3vw; }
.values { background: var(--paper); color: var(--navy); }
.values .section-heading .eyebrow,.values .section-note,.values .manifesto { color: #4b5260; }
.values h2 em { color: var(--navy); text-decoration: underline; text-decoration-color: var(--orange); text-decoration-thickness: 4px; text-underline-offset: 7px; }
.values-brand img { filter: brightness(0); }
.values .principles,.values .principles li { border-color: rgba(26,38,68,.2); }
.values .principles li > span { color: var(--navy); }
.principles li { transition: background .25s; }
.principles li:hover { background: rgba(236,103,28,.08); }
.deltan { background: var(--charcoal); color: var(--white); }
.deltan::before { background: var(--charcoal); }
.deltan-background { color: var(--white); opacity: .07; }
.deltan-copy h2 em { color: var(--orange); text-decoration: none; }
.deltan-copy p:not(.eyebrow):not(.intro) { color: var(--muted); }
.deltan .text-link { border-color: var(--line); }
.vote { color: var(--ink); }
.deltan-art { perspective: 1000px; }
.candidates { background: var(--navy); }
.candidate-card { transition: border-color .25s; }
.candidate-card:hover .candidate-info { border-color: var(--orange); }
.candidate-portrait { transition: box-shadow .3s; }
.candidate-card:hover .candidate-portrait { box-shadow: 0 10px 30px rgba(0,0,0,.22); }
.closing { overflow: hidden; }
.button { position: relative; overflow: hidden; }
.button::after { content: ''; position: absolute; inset: -100% auto -100% -50%; width: 25%; background: rgba(255,255,255,.24); transform: rotate(25deg) translateX(-150px); pointer-events: none; transition: transform .65s; }
.button:hover::after { transform: rotate(25deg) translateX(650px); }
.header nav a:not(.nav-cta) { position: relative; }
.header nav a:not(.nav-cta)::after { content: ''; position: absolute; left: 0; right: 0; bottom: -7px; height: 2px; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.header nav a:hover::after { transform: scaleX(1); }
@media(max-width:1100px) {
  .hero::after { background: linear-gradient(90deg,rgba(9,10,12,.97),rgba(9,10,12,.76) 44%,rgba(9,10,12,.12) 85%),linear-gradient(0deg,var(--ink),transparent 30%); }
}
@media(max-width:580px) {
  .header nav { background: var(--ink); }
  .hero::after { background: linear-gradient(180deg,rgba(9,10,12,.98) 0%,rgba(9,10,12,.94) 22%,rgba(9,10,12,.55) 46%,rgba(9,10,12,.04) 68%,rgba(9,10,12,.25) 82%,rgba(9,10,12,.88) 100%); }
  .values .principles li { border-color: rgba(26,38,68,.2); }
}
@media(prefers-reduced-motion:reduce) {
  html,body { scroll-behavior: auto !important; }
  .button::after { display: none; }
}
