* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.62;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { text-decoration-color: var(--color-rosa); }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
.skip-link { position: absolute; left: 16px; top: -80px; z-index: 1000; background: var(--color-focus, var(--focus)); color: var(--color-ink); padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.section-inner, .header-inner, .footer-inner { width: min(100% - 48px, var(--max-width)); margin-inline: auto; }
.content-width { max-width: var(--content-width); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: linear-gradient(90deg, var(--color-purple-black), var(--color-purple-deep));
  color: var(--color-paper);
  border-bottom: 1px solid var(--color-border-dark);
  box-shadow: 0 10px 34px rgba(18, 8, 25, .2);
}
.header-inner { min-height: var(--header-height); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand-link { display: inline-flex; align-items: center; gap: 14px; min-width: 0; text-decoration: none; }
.brand-logo { width: min(252px, 46vw); height: auto; }
.nav-wrap { display: flex; align-items: center; gap: 18px; }
.site-nav { display: flex; align-items: center; gap: 22px; font-size: .86rem; font-weight: 800; letter-spacing: .02em; }
.site-nav a { color: rgba(255, 248, 239, .86); text-decoration: none; }
.site-nav a:hover { color: #fff; }
.mobile-vote, .mobile-only-link { display: none; }
.menu-button { display: none; min-height: 44px; border: 1px solid var(--color-border-dark); background: transparent; color: var(--color-paper); border-radius: 10px; padding: 0 13px; font-weight: 800; }

.button-primary, .button-secondary, .form-submit {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 22px; border-radius: var(--radius-button);
  font-weight: 900; letter-spacing: .01em; text-decoration: none; border: 1px solid transparent;
  transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.button-primary { background: var(--color-rosa); color: #fff; box-shadow: 0 10px 30px rgba(217, 54, 122, .28); }
.button-primary:hover { transform: translateY(-1px); background: var(--color-rosa-hot); }
.button-secondary { background: transparent; color: var(--color-paper); border-color: var(--color-border-dark); }
.button-secondary:hover { border-color: rgba(255,255,255,.64); }
.header-cta { min-height: 44px; padding-inline: 18px; white-space: nowrap; }
.rail-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 900; color: var(--color-purple-deep); text-decoration: none; }
.rail-link.light { color: var(--color-paper); }
.rail-link::after { content: ''; width: 34px; height: 1px; background: currentColor; opacity: .45; }

h1, h2, h3 { margin: 0 0 18px; line-height: .95; letter-spacing: -.055em; }
h1, h2 { font-family: var(--font-serif); font-weight: 760; }
h1 { font-size: clamp(4.6rem, 12vw, 11.8rem); }
h2 { font-size: clamp(2.55rem, 6vw, 6.25rem); }
h3 { font-size: clamp(1.2rem, 2.4vw, 2rem); font-weight: 900; letter-spacing: -.025em; }
p { margin: 0 0 18px; }
.eyebrow { margin: 0 0 16px; text-transform: uppercase; letter-spacing: .16em; font-size: .72rem; font-weight: 900; color: var(--color-rosa); }
.eyebrow.light { color: var(--color-blush); }
.lede { font-family: var(--font-serif); font-size: clamp(1.28rem, 2.4vw, 2.05rem); line-height: 1.2; letter-spacing: -.025em; color: rgba(255, 248, 239, .86); }
.editorial-copy { font-size: clamp(1.06rem, 1.6vw, 1.24rem); color: var(--color-ink-soft); max-width: 780px; }

.poster-hero {
  position: relative; overflow: hidden; color: var(--color-paper); background: var(--color-purple-black);
  min-height: calc(100svh - var(--header-height));
  display: grid; align-items: stretch;
}
.poster-hero::before {
  content: ''; position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(18,8,25,.96) 0%, rgba(36,16,51,.94) 48%, rgba(61,27,89,.82) 100%),
    url('/assets/img/rosa-gazebo-hero-1600.jpg') center / cover no-repeat;
  filter: saturate(1.08) contrast(1.06);
}
.poster-hero::after {
  content: 'LD24'; position: absolute; right: -1.5vw; bottom: -5vw;
  font-family: var(--font-sans); font-weight: 900; font-size: clamp(7rem, 23vw, 21rem); letter-spacing: -.09em;
  color: rgba(255, 248, 239, .055); line-height: .7; pointer-events: none;
}
.hero-poster-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .72fr); gap: clamp(34px, 5vw, 76px); align-items: center; padding-block: clamp(76px, 9vw, 128px) 44px; }
.hero-copy { max-width: 780px; }
.poster-hero h1 span { display: block; font-family: var(--font-sans); font-size: clamp(1.05rem, 2vw, 1.7rem); line-height: 1; letter-spacing: .14em; text-transform: uppercase; color: var(--color-rosa-hot); margin-bottom: 10px; }
.poster-hero h1 strong { display: block; font-family: var(--font-serif); font-weight: 780; }
.hero-subcopy { max-width: 700px; color: rgba(255, 248, 239, .72); font-size: 1.03rem; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 30px; }
.hero-portrait { position: relative; margin: 0; align-self: stretch; display: grid; align-items: end; }
.hero-portrait::before { content: ''; position: absolute; inset: 28px -18px -18px 28px; background: var(--color-rosa); border-radius: 24px; transform: rotate(2.5deg); }
.hero-portrait::after { content: ''; position: absolute; inset: auto auto 34px -30px; width: 120px; height: 120px; background: var(--color-sun); border-radius: 999px; opacity: .92; }
.hero-portrait picture { position: relative; z-index: 1; border-radius: 22px; overflow: hidden; border: 1px solid rgba(255,255,255,.24); box-shadow: var(--shadow-strong); background: #21102f; }
.hero-portrait img { width: 100%; aspect-ratio: 4 / 5.2; height: auto; object-fit: cover; object-position: center top; filter: saturate(1.02) contrast(1.03); }
.hero-portrait figcaption { position: absolute; z-index: 2; right: 18px; bottom: 18px; background: rgba(18, 8, 25, .84); color: var(--color-paper); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; padding: 12px 14px; font-size: .78rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.hero-proof { position: relative; z-index: 1; padding-block: 0 42px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.16); }
.hero-proof span { padding: 18px 22px; border-right: 1px solid rgba(255,255,255,.14); color: rgba(255, 248, 239, .82); font-weight: 900; }
.hero-proof span:last-child { border-right: 0; }

.nyt-strip { background: var(--color-paper); border-bottom: 1px solid var(--color-border); }
.nyt-strip-grid { display: grid; grid-template-columns: minmax(260px, .6fr) minmax(0, 1fr); gap: clamp(30px, 5vw, 70px); padding-block: 34px; align-items: center; }
.nyt-strip h2 { font-size: clamp(1.8rem, 3.6vw, 4.2rem); margin: 0; color: var(--color-purple-deep); }
.nyt-strip p { margin: 0; font-size: 1.08rem; color: var(--color-ink-soft); }

.section { padding-block: var(--space-2xl); }
.section.dark { background: var(--color-purple-deep); color: var(--color-paper); }
.section.magenta { background: var(--color-rosa); color: var(--color-white); }
.section.paper { background: var(--color-paper); }
.section.white { background: var(--color-white); }
.section.blush { background: linear-gradient(135deg, #fce6ef 0%, var(--color-paper) 72%); }
.split-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(320px, .88fr); gap: clamp(38px, 6vw, 82px); align-items: center; }
.split-grid.reverse { grid-template-columns: minmax(320px, .88fr) minmax(0, .82fr); }
.editorial-panel { border-left: 5px solid var(--color-rosa); padding-left: clamp(20px, 3vw, 34px); }
.editorial-panel.darkline { border-left-color: var(--color-sun); }
.stat-ledger { display: grid; gap: 0; border-top: 1px solid var(--color-border); margin-top: 28px; }
.stat-ledger div { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--color-border); }
.stat-ledger strong { color: var(--color-purple-deep); text-transform: uppercase; letter-spacing: .11em; font-size: .76rem; }
.stat-ledger span { color: var(--color-ink-soft); }
.image-card { position: relative; border-radius: 18px; overflow: hidden; box-shadow: var(--shadow-soft); background: var(--color-purple-black); border: 1px solid var(--color-border); }
.image-card img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; object-position: center top; }
.image-card.short img { min-height: 360px; }
.image-caption { position: absolute; left: 18px; right: 18px; bottom: 18px; background: rgba(18,8,25,.74); color: var(--color-paper); border-radius: 12px; padding: 12px 14px; font-size: .88rem; }

.priority-section { background: var(--color-white); border-block: 1px solid var(--color-border); }
.section-kicker-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.priority-intro { max-width: 880px; margin-bottom: 42px; }
.priority-lines { display: grid; border-top: 2px solid var(--color-purple-deep); }
.priority-lines article { display: grid; grid-template-columns: 90px minmax(0, 1fr) minmax(220px, .34fr); gap: 26px; padding: 28px 0; border-bottom: 1px solid var(--color-border); align-items: baseline; }
.priority-lines .num { font-family: var(--font-serif); color: var(--color-rosa); font-size: clamp(2.5rem, 4.5vw, 5rem); line-height: .8; letter-spacing: -.08em; }
.priority-lines p { margin: 0; color: var(--color-ink-soft); }
.priority-lines .tag { justify-self: end; color: var(--color-purple); font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 900; }

.photo-editorial { background: var(--color-purple-black); color: var(--color-paper); overflow: hidden; }
.photo-editorial .editorial-copy { color: rgba(255,248,239,.76); }
.photo-grid { display: grid; grid-template-columns: 1.1fr .75fr; grid-template-rows: 1fr 1fr; gap: 18px; margin-top: 40px; }
.photo-frame { margin: 0; border-radius: 18px; overflow: hidden; min-height: 290px; border: 1px solid var(--color-border-dark); background: #21102f; }
.photo-frame.large { grid-row: span 2; min-height: 640px; }
.photo-frame img { width: 100%; height: 100%; object-fit: cover; }
.photo-note { background: var(--color-rosa); color: #fff; border-radius: 18px; padding: clamp(24px, 4vw, 42px); display: flex; flex-direction: column; justify-content: space-between; }
.photo-note p { font-family: var(--font-serif); font-size: clamp(1.55rem, 3.4vw, 3rem); line-height: 1.03; letter-spacing: -.05em; }

.district-section { background: var(--color-paper); }
.map-frame { padding: 12px; background: #fff; border: 1px solid var(--color-border); border-radius: 18px; box-shadow: var(--shadow-soft); }
.map-frame img { border-radius: 12px; width: 100%; }
.caption-note { color: var(--color-ink-soft); font-size: .95rem; }
.issue-callout { background: linear-gradient(90deg, var(--color-purple-deep), var(--color-purple)); color: var(--color-paper); }
.issue-callout h2 { max-width: 900px; }
.issue-card { border: 1px solid var(--color-border-dark); background: rgba(255,255,255,.08); border-radius: 18px; padding: clamp(24px, 4vw, 46px); }
.issue-card p { color: rgba(255,248,239,.82); font-size: 1.08rem; }
.final-cta { background: var(--color-rosa); color: #fff; padding-block: clamp(70px, 10vw, 130px); }
.final-cta-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 34px; }
.final-cta h2 { margin-bottom: 0; }
.final-cta p { color: rgba(255,255,255,.86); max-width: 620px; }

.page-hero { background: var(--color-purple-deep); color: var(--color-paper); padding-block: 92px 74px; border-bottom: 1px solid var(--color-border-dark); position: relative; overflow: hidden; }
.page-hero::after { content: ''; position: absolute; right: -70px; top: -70px; width: 300px; height: 300px; border-radius: 999px; background: var(--color-rosa); opacity: .25; }
.page-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .45fr); gap: clamp(34px, 6vw, 80px); align-items: center; }
.page-hero h1 { font-size: clamp(3.8rem, 9vw, 9rem); }
.page-hero .lede { max-width: 860px; }
.page-portrait { border-radius: 18px; overflow: hidden; border: 1px solid var(--color-border-dark); box-shadow: var(--shadow-strong); }
.page-portrait img { width: 100%; aspect-ratio: 4/3.4; object-fit: cover; object-position: center top; }
.page-section { padding-block: var(--space-2xl); }
.vote-support-grid, .contact-grid, .form-layout { display: grid; grid-template-columns: minmax(0, .66fr) minmax(320px, .68fr); gap: clamp(32px, 6vw, 76px); align-items: start; }
.action-panel, .form-shell, .contact-item { border-radius: 18px; border: 1px solid var(--color-border); background: var(--color-white); padding: clamp(22px, 3vw, 36px); box-shadow: var(--shadow-soft); }
.action-panel.purple { background: var(--color-purple-deep); color: var(--color-paper); border-color: var(--color-border-dark); }
.cta-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 28px; }
.cta-row.stacked { flex-direction: column; align-items: stretch; }
.form-grid { display: grid; gap: 18px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-field label { display: block; font-weight: 900; margin-bottom: 6px; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 52px; border: 1px solid var(--color-border); border-radius: 10px; padding: 12px 14px; background: var(--color-paper); color: var(--color-ink); }
.form-field textarea { min-height: 150px; resize: vertical; }
.form-note, .small-copy { color: var(--color-ink-soft); font-size: .94rem; }
.form-status { display: none; border-radius: 10px; padding: 12px 14px; margin-bottom: 18px; border: 1px solid var(--color-border); background: var(--color-paper); }
.form-status.is-visible { display: block; }
.form-status[data-state='success'] { border-color: var(--color-rosa); }
.form-status[data-state='error'] { border-color: var(--color-sun); }
.contact-list { display: grid; gap: 14px; }
.contact-item h3 { font-family: var(--font-sans); letter-spacing: .12em; font-size: .8rem; text-transform: uppercase; color: var(--color-purple); }
.contact-item p { font-size: 1.07rem; margin-bottom: 0; }
.honeypot { position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden; }

.site-footer { background: var(--color-purple-black); color: var(--color-paper); padding-block: 60px; border-top: 1px solid var(--color-border-dark); }
.footer-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 34px; align-items: start; }
.footer-logo { width: min(230px, 72vw); margin-bottom: 18px; }
.footer-contact, .footer-disclaimer, .footer-copy { color: rgba(255,248,239,.72); margin-bottom: 7px; }
.footer-links { display: flex; gap: 20px; flex-wrap: wrap; justify-content: flex-end; }
.footer-links a { color: var(--color-paper); font-weight: 800; }

[data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
[data-reveal="slow"] { transition-duration: .9s; }

@media (max-width: 980px) {
  .hero-poster-grid, .nyt-strip-grid, .split-grid, .split-grid.reverse, .page-hero-grid, .vote-support-grid, .contact-grid, .form-layout, .final-cta-grid { grid-template-columns: 1fr; }
  .poster-hero { min-height: auto; }
  .hero-poster-grid { padding-block: 64px 36px; }
  .hero-proof { grid-template-columns: 1fr; border-top: 0; }
  .hero-proof span { border-right: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .priority-lines article { grid-template-columns: 70px 1fr; }
  .priority-lines .tag { justify-self: start; grid-column: 2; }
  .photo-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .photo-frame.large { grid-row: auto; min-height: 420px; }
}
@media (max-width: 860px) {
  .header-inner, .section-inner, .footer-inner { width: min(100% - 32px, var(--max-width)); }
  .brand-logo { width: min(206px, 55vw); }
  .menu-button { display: inline-flex; align-items: center; justify-content: center; }
  .site-nav { position: fixed; inset: var(--header-height) 16px auto 16px; display: grid; gap: 4px; padding: 14px; background: var(--color-purple-black); border: 1px solid var(--color-border-dark); border-radius: 16px; box-shadow: var(--shadow-strong); transform: translateY(-12px); opacity: 0; pointer-events: none; max-height: calc(100dvh - var(--header-height) - 32px); overflow: auto; }
  body.nav-open .site-nav { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .mobile-vote, .mobile-only-link { display: flex; }
  .site-nav a { min-height: 46px; display: flex; align-items: center; border-radius: 8px; padding: 0 12px; }
  .header-cta { display: none; }
  .section, .page-section { padding-block: 72px; }
  .footer-inner { grid-template-columns: 1fr; }
  .footer-links { justify-content: flex-start; }
}
@media (max-width: 560px) {
  h1 { font-size: clamp(4.2rem, 21vw, 7.2rem); }
  .poster-hero h1 strong { letter-spacing: -.072em; }
  .hero-actions, .cta-row { align-items: stretch; flex-direction: column; }
  .button-primary, .button-secondary, .form-submit { width: 100%; }
  .stat-ledger div, .priority-lines article, .field-row { grid-template-columns: 1fr; }
  .priority-lines .tag { grid-column: auto; }
  .hero-portrait::before { inset: 16px -10px -10px 18px; }
  .hero-portrait::after { width: 78px; height: 78px; left: -18px; bottom: 22px; }
  .hero-portrait figcaption { position: static; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

/* V05 — high-color campaign flow patch */
.v05 {
  --color-ink: #0d0d16;
  --color-ink-soft: #51485f;
  --color-paper: #fff8ee;
  --color-purple-black: #08050f;
  --color-purple-deep: #160726;
  --color-purple: #2d0f49;
  --color-purple-live: #5d1a86;
  --color-rosa: #d82378;
  --color-rosa-hot: #ff3f95;
  --color-blue-violet: #5637ff;
  --color-sun: #f4a43d;
  --color-border: rgba(45, 15, 73, .18);
  --color-border-dark: rgba(255, 248, 238, .18);
  background: var(--color-purple-black);
}
.scroll-progress { position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 9999; background: transparent; }
.scroll-progress span { display: block; height: 100%; width: 0%; background: linear-gradient(90deg, var(--color-rosa-hot), var(--color-sun)); box-shadow: 0 0 18px rgba(255,63,149,.55); }
.v05-header { background: rgba(8,5,15,.91); backdrop-filter: blur(16px); }
.v05-header .brand-logo { width: min(286px, 46vw); }
.v05-header .site-nav a { position: relative; }
.v05-header .site-nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -8px; height: 2px; transform: scaleX(0); transform-origin: left; background: var(--color-rosa-hot); transition: transform .22s ease; }
.v05-header .site-nav a:hover::after { transform: scaleX(1); }
.hero-v05 { position: relative; isolation: isolate; min-height: calc(100svh - var(--header-height)); color: var(--color-paper); background:
  radial-gradient(circle at 18% 24%, rgba(255,63,149,.28), transparent 28%),
  radial-gradient(circle at 82% 12%, rgba(86,55,255,.38), transparent 34%),
  linear-gradient(145deg, #07040c 0%, #140725 40%, #321052 100%); overflow: hidden; }
.hero-v05::before { content: ''; position: absolute; inset: 0; z-index: -3; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom, #000, transparent 90%); }
.hero-v05::after { content: ''; position: absolute; inset: auto -20% -42% -20%; height: 55%; z-index: -2; background: linear-gradient(90deg, rgba(216,35,120,.78), rgba(86,55,255,.68), rgba(244,164,61,.54)); filter: blur(70px); opacity: .62; }
.hero-bg-word { position: absolute; right: -3vw; bottom: -2vw; font-size: clamp(10rem, 28vw, 28rem); font-weight: 900; letter-spacing: -.12em; line-height: .75; color: rgba(255,248,238,.055); pointer-events: none; }
.hero-glow { position: absolute; border-radius: 999px; filter: blur(10px); opacity: .9; pointer-events: none; }
.hero-glow-one { width: 180px; height: 180px; left: 5%; top: 22%; background: rgba(216,35,120,.26); }
.hero-glow-two { width: 300px; height: 300px; right: 12%; bottom: 12%; background: rgba(86,55,255,.22); }
.hero-v05-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr); gap: clamp(34px, 6vw, 92px); align-items: center; padding-block: clamp(76px, 9vw, 136px) 54px; }
.hero-v05-copy { max-width: 850px; }
.hero-v05 h1 { font-size: clamp(5.6rem, 14vw, 14rem); line-height: .78; letter-spacing: -.083em; margin-bottom: 30px; text-wrap: balance; }
.hero-v05 h1 span { display: block; font-family: var(--font-sans); font-size: clamp(1rem, 1.8vw, 1.6rem); line-height: 1; letter-spacing: .19em; text-transform: uppercase; color: var(--color-sun); margin-bottom: 18px; }
.hero-v05 .lede { max-width: 760px; font-size: clamp(1.32rem, 2.25vw, 2.18rem); }
.campaign-card { align-self: stretch; display: grid; grid-template-rows: 1fr auto; min-height: 620px; border-radius: 28px; padding: 12px; background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.22); box-shadow: 0 34px 110px rgba(0,0,0,.42); transform: rotate(1.5deg); transition: transform .28s ease, box-shadow .28s ease; }
.campaign-card:hover { transform: translateY(-5px) rotate(.4deg); box-shadow: 0 44px 140px rgba(0,0,0,.5); }
.campaign-photo { margin: 0; overflow: hidden; border-radius: 20px; background: #180826; }
.campaign-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(1.08) contrast(1.06); }
.campaign-card-footer { display: flex; justify-content: space-between; gap: 18px; align-items: end; padding: 16px 8px 4px; }
.campaign-card-footer strong { font-family: var(--font-serif); font-size: clamp(1.7rem, 3vw, 3rem); line-height: .92; }
.campaign-card-footer span { max-width: 190px; text-align: right; color: rgba(255,248,238,.75); font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 900; }
.momentum-rail { border-top: 1px solid rgba(255,255,255,.16); background: rgba(8,5,15,.42); backdrop-filter: blur(12px); }
.momentum-rail-inner { display: grid; grid-template-columns: repeat(4, 1fr); }
.momentum-rail span { padding: 20px 18px; border-right: 1px solid rgba(255,255,255,.14); color: rgba(255,248,238,.86); font-weight: 900; letter-spacing: .01em; }
.momentum-rail span:last-child { border-right: 0; color: var(--color-sun); }
.news-deck { background: var(--color-paper); color: var(--color-ink); border-bottom: 1px solid var(--color-border); }
.news-deck-grid { display: grid; grid-template-columns: 90px minmax(0, .85fr) minmax(0, .9fr); gap: clamp(22px, 5vw, 70px); padding-block: clamp(42px, 6vw, 74px); align-items: start; }
.news-deck h2 { font-size: clamp(2.4rem, 5.8vw, 6.2rem); }
.news-deck p:not(.section-number) { font-size: clamp(1.08rem, 1.5vw, 1.32rem); color: var(--color-ink-soft); max-width: 650px; }
.section-number { margin: 0; font-family: var(--font-serif); font-size: 4rem; line-height: .8; color: var(--color-rosa); }
.ink-panel { background:
  radial-gradient(circle at 10% 15%, rgba(216,35,120,.18), transparent 34%),
  linear-gradient(145deg, var(--color-purple-black), var(--color-purple-deep)); color: var(--color-paper); }
.record-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(360px, .76fr); gap: clamp(42px, 7vw, 96px); align-items: center; }
.light-copy { color: rgba(255,248,238,.78); }
.proof-stack { display: grid; gap: 12px; margin-top: 30px; }
.proof-stack div { padding: 18px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.06); transition: background .22s ease, transform .22s ease; }
.proof-stack div:hover { background: rgba(255,255,255,.1); transform: translateX(4px); }
.proof-stack span { display: block; margin-bottom: 6px; color: var(--color-sun); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; font-size: .72rem; }
.proof-stack p { color: rgba(255,248,238,.74); margin: 0; }
.image-stack { position: relative; min-height: 620px; margin: 0; }
.stack-main, .stack-float { position: absolute; width: 72%; height: 76%; object-fit: cover; object-position: center top; border-radius: 22px; border: 1px solid rgba(255,255,255,.2); box-shadow: var(--shadow-strong); }
.stack-main { right: 0; top: 0; }
.stack-float { left: 0; bottom: 0; width: 56%; height: 48%; transform: rotate(-3deg); }
.priority-v05 { background: linear-gradient(180deg, #fff 0%, #fff8ee 100%); }
.priority-board { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 42px; }
.priority-tile { min-height: 310px; position: relative; overflow: hidden; border: 1px solid var(--color-border); border-radius: 24px; padding: 24px; background: #fff; box-shadow: var(--shadow-soft); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.priority-tile::after { content: ''; position: absolute; inset: auto -20% -35% -20%; height: 45%; background: linear-gradient(90deg, rgba(216,35,120,.2), rgba(86,55,255,.2)); filter: blur(30px); opacity: 0; transition: opacity .22s ease; }
.priority-tile:hover { transform: translateY(-6px); box-shadow: 0 26px 90px rgba(45,15,73,.18); border-color: rgba(216,35,120,.38); }
.priority-tile:hover::after { opacity: 1; }
.priority-tile.hot { grid-column: span 2; background: linear-gradient(145deg, var(--color-purple-deep), var(--color-purple-live)); color: #fff; }
.priority-tile.wide { grid-column: span 2; }
.priority-tile span { display: block; font-family: var(--font-serif); font-size: clamp(3rem, 5vw, 5.6rem); line-height: .8; color: var(--color-rosa); letter-spacing: -.08em; margin-bottom: 28px; }
.priority-tile.hot span { color: var(--color-sun); }
.priority-tile h3 { margin-bottom: 12px; }
.priority-tile p { color: var(--color-ink-soft); margin: 0; }
.priority-tile.hot p { color: rgba(255,255,255,.78); }
.community-flow { background:
  radial-gradient(circle at 78% 8%, rgba(216,35,120,.24), transparent 30%),
  linear-gradient(135deg, var(--color-purple-black), #170824 62%, #290e42); color: var(--color-paper); overflow: hidden; }
.community-head { max-width: 1180px; }
.gallery-flow { display: grid; grid-template-columns: 1.1fr .72fr; gap: 18px; margin-top: 44px; }
.gallery-large, .gallery-side figure { margin: 0; border-radius: 28px; overflow: hidden; min-height: 620px; border: 1px solid rgba(255,255,255,.16); box-shadow: var(--shadow-strong); }
.gallery-side { display: grid; gap: 18px; }
.gallery-side figure { min-height: 300px; }
.gallery-flow img { width: 100%; height: 100%; object-fit: cover; }
.quote-block { display: grid; align-content: space-between; min-height: 300px; padding: clamp(26px, 4vw, 48px); border-radius: 28px; background: linear-gradient(145deg, var(--color-rosa), #9d1c74); color: #fff; }
.quote-block p { font-family: var(--font-serif); font-size: clamp(1.8rem, 3vw, 3.4rem); line-height: 1.02; letter-spacing: -.055em; }
.district-v05 { background: var(--color-paper); }
.issue-v05 { background: linear-gradient(105deg, var(--color-blue-violet), var(--color-purple-live) 55%, var(--color-rosa)); color: #fff; }
.issue-v05-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(320px,.72fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.issue-v05-card { padding: clamp(26px, 4vw, 50px); border-radius: 28px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 30px 90px rgba(0,0,0,.18); }
.issue-v05-card p { font-size: clamp(1.15rem, 1.7vw, 1.38rem); color: rgba(255,255,255,.86); }
.final-v05 { position: relative; overflow: hidden; background: var(--color-purple-black); color: #fff; padding-block: clamp(82px, 12vw, 150px); }
.final-v05::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 15% 50%, rgba(255,63,149,.33), transparent 36%), radial-gradient(circle at 88% 30%, rgba(244,164,61,.26), transparent 30%); }
.final-v05-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; }
.final-v05 h2 { font-size: clamp(4rem, 11vw, 12rem); }
.final-v05 p { max-width: 660px; color: rgba(255,255,255,.78); }
.hover-lift, .tilt-card { transition: transform .25s ease, box-shadow .25s ease, filter .25s ease; }
.hover-lift:hover { transform: translateY(-6px); filter: saturate(1.05); }
.glow-button { position: relative; overflow: hidden; }
.glow-button::after { content: ''; position: absolute; inset: 0 auto 0 -40%; width: 35%; transform: skewX(-18deg); background: rgba(255,255,255,.25); transition: left .45s ease; }
.glow-button:hover::after { left: 118%; }
[data-reveal] { transition-delay: var(--reveal-delay, 0ms); }
@media (max-width: 1080px) {
  .hero-v05-grid, .record-grid, .news-deck-grid, .issue-v05-grid, .gallery-flow, .final-v05-grid { grid-template-columns: 1fr; }
  .campaign-card { min-height: auto; transform: none; }
  .campaign-photo img { aspect-ratio: 4/4.8; }
  .momentum-rail-inner { grid-template-columns: 1fr 1fr; }
  .priority-board { grid-template-columns: 1fr 1fr; }
  .priority-tile.hot, .priority-tile.wide { grid-column: span 1; }
  .image-stack { min-height: 540px; }
}
@media (max-width: 640px) {
  .hero-v05 h1 { font-size: clamp(4.5rem, 22vw, 7rem); }
  .hero-v05-grid { padding-block: 54px 34px; }
  .campaign-card-footer { display: grid; }
  .campaign-card-footer span { text-align: left; }
  .momentum-rail-inner, .priority-board { grid-template-columns: 1fr; }
  .news-deck-grid { gap: 14px; }
  .section-number { font-size: 2.8rem; }
  .image-stack { min-height: 440px; }
  .stack-main { width: 82%; height: 70%; }
  .stack-float { width: 62%; height: 40%; }
  .gallery-large, .gallery-side figure, .quote-block { min-height: 300px; border-radius: 20px; }
}


/* V06 — hard color-banded editorial sections: no more single-tone brochure read */
.v06 {
  --band-navy: #07123a;
  --band-blue: #102a7a;
  --band-purple: #2a0d45;
  --band-purple-2: #4c1574;
  --band-magenta: #d82378;
  --band-rose: #ff4f9b;
  --band-gold: #f4a43d;
  --band-paper: #fff8ee;
  --band-ink: #0c0d16;
  background: var(--band-ink);
}
.v06 main > section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.v06 main > section:not(.hero-v05)::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 14px;
  z-index: 3;
  background: linear-gradient(90deg, var(--band-magenta), var(--band-blue), var(--band-gold));
  box-shadow: 0 0 34px rgba(216, 35, 120, .22);
}
.v06 .section-inner { position: relative; z-index: 2; }
.v06 .site-header,
.v06 .v05-header {
  background: linear-gradient(90deg, #050711 0%, #08143e 46%, #2a0d45 100%);
  border-bottom: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 18px 60px rgba(0,0,0,.34);
}
.v06 .v05-header .brand-logo {
  width: min(308px, 48vw);
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.25));
}
.v06 .hero-v05 {
  background:
    radial-gradient(circle at 8% 12%, rgba(255,79,155,.36), transparent 27%),
    radial-gradient(circle at 78% 10%, rgba(86,55,255,.42), transparent 30%),
    radial-gradient(circle at 66% 88%, rgba(244,164,61,.28), transparent 32%),
    linear-gradient(135deg, #04050b 0%, #07123a 35%, #2a0d45 72%, #4c1574 100%);
}
.v06 .hero-v05::before {
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(120deg, rgba(255,79,155,.08), transparent 45%);
  background-size: 42px 42px, 42px 42px, 100% 100%;
  opacity: .9;
}
.v06 .hero-v05::after {
  background: linear-gradient(90deg, rgba(255,79,155,.8), rgba(86,55,255,.72), rgba(244,164,61,.7));
  opacity: .82;
}
.v06 .hero-v05 h1 { text-shadow: 0 18px 70px rgba(0,0,0,.34); }
.v06 .campaign-card {
  background: linear-gradient(155deg, rgba(255,255,255,.24), rgba(255,255,255,.05));
  border-color: rgba(255,255,255,.34);
}
.v06 .momentum-rail {
  background: linear-gradient(90deg, rgba(216,35,120,.18), rgba(8,5,15,.76), rgba(86,55,255,.18));
}

/* Section 01: clean editorial paper, but with visible masthead strip */
.v06 .news-deck {
  background:
    linear-gradient(90deg, rgba(216,35,120,.08), transparent 34%),
    var(--band-paper);
  color: var(--band-ink);
}
.v06 .news-deck::after {
  content: 'WEST PHOENIX';
  position: absolute;
  right: -1vw;
  bottom: -2vw;
  font-weight: 900;
  font-size: clamp(3.5rem, 10vw, 10rem);
  letter-spacing: -.07em;
  color: rgba(16,42,122,.055);
  z-index: 1;
}
.v06 .section-number {
  color: var(--band-blue);
  text-shadow: 6px 0 0 rgba(216,35,120,.18);
}

/* Section 02: blue-purple record section, not another dark-purple clone */
.v06 .ink-panel {
  background:
    radial-gradient(circle at 12% 12%, rgba(255,79,155,.22), transparent 26%),
    radial-gradient(circle at 86% 68%, rgba(86,55,255,.34), transparent 30%),
    linear-gradient(130deg, #06113b 0%, #102a7a 42%, #2a0d45 100%);
  color: #fff;
}
.v06 .proof-stack div {
  background: rgba(255,255,255,.085);
  border-color: rgba(255,255,255,.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.v06 .proof-stack span { color: var(--band-gold); }

/* Section 03: priorities become the blue-on-blue campaign board */
.v06 .priority-v05 {
  background:
    radial-gradient(circle at 90% 0%, rgba(255,79,155,.22), transparent 32%),
    linear-gradient(135deg, #07123a 0%, #102a7a 48%, #07123a 100%);
  color: #fff;
  border-block: 0;
}
.v06 .priority-v05 .eyebrow,
.v06 .priority-v05 .rail-link { color: var(--band-gold); }
.v06 .priority-v05 h2,
.v06 .priority-v05 .priority-intro,
.v06 .priority-v05 .editorial-copy { color: #fff; }
.v06 .priority-board {
  gap: 18px;
}
.v06 .priority-tile {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  box-shadow: 0 24px 90px rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
}
.v06 .priority-tile h3,
.v06 .priority-tile p { color: rgba(255,255,255,.86); }
.v06 .priority-tile span { color: var(--band-gold); }
.v06 .priority-tile.hot {
  background: linear-gradient(145deg, var(--band-magenta), #7e1fa0 72%, #31105f);
  border-color: rgba(255,255,255,.28);
}
.v06 .priority-tile.wide {
  background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,79,155,.18));
}

/* Section 04: community gets its own saturated magenta-purple field */
.v06 .community-flow {
  background:
    radial-gradient(circle at 18% 18%, rgba(244,164,61,.24), transparent 24%),
    radial-gradient(circle at 82% 14%, rgba(255,79,155,.32), transparent 30%),
    linear-gradient(135deg, #22072f 0%, #4c1574 55%, #d82378 135%);
  color: #fff;
}
.v06 .quote-block {
  background: linear-gradient(145deg, #ff4f9b, #d82378 50%, #4c1574);
  box-shadow: 0 24px 90px rgba(216,35,120,.28);
}

/* Section 05: district splits paper and purple visibly */
.v06 .district-v05 {
  background:
    linear-gradient(90deg, var(--band-paper) 0 54%, #1b0c31 54% 100%);
  color: var(--band-ink);
}
.v06 .district-v05::before {
  background: linear-gradient(90deg, var(--band-gold), var(--band-magenta), var(--band-blue));
}
.v06 .district-v05 .map-frame {
  background: #fff;
  border: 10px solid #fff;
  box-shadow: 0 34px 90px rgba(0,0,0,.26);
}
.v06 .caption-note {
  color: rgba(12,13,22,.72);
}

/* Section 06: family communication is the highest-color issue band */
.v06 .issue-v05 {
  background:
    radial-gradient(circle at 18% 50%, rgba(244,164,61,.28), transparent 26%),
    linear-gradient(105deg, #102a7a 0%, #5637ff 42%, #d82378 100%);
  color: #fff;
}
.v06 .issue-v05-card {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.28);
  box-shadow: 0 30px 120px rgba(0,0,0,.24);
}

/* Section 07: final CTA is black-purple with a magenta load-in stage feel */
.v06 .final-v05 {
  background:
    linear-gradient(90deg, rgba(255,79,155,.12), transparent 35%),
    linear-gradient(135deg, #04050b 0%, #160726 52%, #07123a 100%);
}
.v06 .final-v05::before {
  background:
    radial-gradient(circle at 14% 60%, rgba(255,79,155,.42), transparent 36%),
    radial-gradient(circle at 86% 24%, rgba(86,55,255,.36), transparent 34%),
    linear-gradient(90deg, transparent 0 50%, rgba(244,164,61,.12) 50% 100%);
}
.v06 .final-v05 .button-secondary {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.28);
}

/* Interior pages get color divisions too */
.v06 .page-hero {
  background:
    radial-gradient(circle at 16% 18%, rgba(255,79,155,.28), transparent 26%),
    linear-gradient(135deg, #06113b 0%, #160726 55%, #4c1574 100%);
  color: #fff;
  border-bottom: 0;
}
.v06 .page-hero h1,
.v06 .page-hero p { color: #fff; }
.v06 .page-section.paper {
  background:
    linear-gradient(90deg, rgba(244,164,61,.12), transparent 30%),
    var(--band-paper);
}
.v06 .page-section.white {
  background:
    linear-gradient(135deg, #ffffff 0%, #fff8ee 62%, rgba(216,35,120,.08) 100%);
}
.v06 .action-panel,
.v06 .form-shell,
.v06 .contact-item {
  border-color: rgba(16,42,122,.18);
  box-shadow: 0 26px 90px rgba(16,42,122,.12);
}
.v06 .form-shell,
.v06 .contact-item:hover {
  background: linear-gradient(180deg, #fff, #fff8ee);
}

/* Stronger section rhythm and load-in feel */
.v06 [data-reveal] {
  transform: translateY(28px) scale(.992);
}
.v06 [data-reveal].is-visible {
  transform: translateY(0) scale(1);
}
.v06 .button-primary,
.v06 .form-submit {
  background: linear-gradient(135deg, var(--band-magenta), var(--band-rose));
  box-shadow: 0 15px 48px rgba(216,35,120,.34);
}
.v06 .button-primary:hover,
.v06 .form-submit:hover {
  background: linear-gradient(135deg, var(--band-rose), var(--band-gold));
  color: #08050f;
}
@media (max-width: 1080px) {
  .v06 .district-v05 {
    background: linear-gradient(180deg, var(--band-paper) 0 58%, #1b0c31 58% 100%);
  }
}
@media (max-width: 640px) {
  .v06 main > section:not(.hero-v05)::before { height: 9px; }
  .v06 .news-deck::after { display: none; }
  .v06 .section,
  .v06 .page-section { padding-block: 76px; }
}


/* V07 — civic editorial correction: remove tech-grid/glow overcorrection */
:root {
  --v07-ink: #14131c;
  --v07-navy: #111b45;
  --v07-navy-2: #1a275f;
  --v07-plum: #35204f;
  --v07-plum-soft: #ece3f1;
  --v07-rose: #b53572;
  --v07-rose-deep: #8d275f;
  --v07-paper: #f6efe6;
  --v07-paper-2: #eee5dc;
  --v07-sand: #e2d1c0;
  --v07-bluewash: #dfe6f5;
  --v07-rule: rgba(20,19,28,.16);
}

body.v07 {
  background: var(--v07-paper);
  color: var(--v07-ink);
}

.v07 .scroll-progress { height: 3px; background: transparent; }
.v07 .scroll-progress span { background: linear-gradient(90deg, var(--v07-rose), #d69a2d); }

.v07 .site-header,
.v07 .v05-header {
  background: linear-gradient(90deg, #07112f 0%, var(--v07-navy) 58%, #301846 100%);
  border-bottom: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 28px rgba(7,17,47,.18);
}
.v07 .header-inner { min-height: 86px; }
.v07 .brand-logo { width: min(278px, 35vw); }
.v07 .site-nav a { color: rgba(255,248,239,.86); }
.v07 .site-nav a:hover { background: rgba(255,255,255,.08); color: #fff; }
.v07 .button-primary,
.v07 .header-cta,
.v07 .glow-button {
  background: var(--v07-rose);
  color: #fff;
  box-shadow: none;
  border: 1px solid rgba(255,255,255,.16);
}
.v07 .button-primary:hover,
.v07 .header-cta:hover,
.v07 .glow-button:hover { transform: translateY(-2px); background: #c94782; }
.v07 .button-secondary {
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.20);
  box-shadow: none;
}

/* Hero: civic-campaign field, not tech product splash */
.v07 .hero-v05 {
  min-height: auto;
  background:
    radial-gradient(circle at 14% 22%, rgba(181,53,114,.26), transparent 34%),
    linear-gradient(120deg, #101a43 0%, #1f255a 58%, #392052 100%);
  color: #fff8ef;
  overflow: hidden;
  border-bottom: 10px solid var(--v07-rose);
}
.v07 .hero-v05::before,
.v07 .hero-v05::after { content: none !important; }
.v07 .hero-bg-word,
.v07 .hero-glow { display: none !important; }
.v07 .hero-v05-grid {
  min-height: calc(100vh - 86px);
  padding-block: clamp(82px, 10vw, 138px) clamp(54px, 8vw, 96px);
  grid-template-columns: minmax(0, .98fr) minmax(320px, .72fr);
  gap: clamp(40px, 7vw, 94px);
  align-items: center;
}
.v07 .hero-v05 .eyebrow,
.v07 .eyebrow.light {
  color: #f1bd63;
  letter-spacing: .16em;
}
.v07 .hero-v05 h1 {
  font-size: clamp(4.7rem, 11vw, 9rem);
  line-height: .86;
  letter-spacing: -.085em;
  max-width: 760px;
  margin-bottom: 26px;
  color: #fff8ef;
  text-shadow: 0 8px 22px rgba(0,0,0,.10);
}
.v07 .hero-v05 h1 span {
  display: block;
  color: #f1bd63;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2vw, 1.55rem);
  letter-spacing: .24em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.v07 .hero-v05 .lede {
  font-size: clamp(1.35rem, 2.25vw, 2.15rem);
  line-height: 1.24;
  color: rgba(255,248,239,.92);
  max-width: 735px;
}
.v07 .hero-subcopy { color: rgba(255,248,239,.72); max-width: 650px; }
.v07 .campaign-card {
  background: rgba(255,248,239,.10);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 28px 64px rgba(0,0,0,.26);
  transform: rotate(.6deg);
}
.v07 .campaign-photo { border-radius: 14px; border: 0; box-shadow: none; }
.v07 .campaign-photo img { min-height: min(70vh, 680px); object-position: center top; filter: saturate(.98) contrast(1.02); }
.v07 .campaign-card-footer { background: transparent; border: 0; color: #fff8ef; padding: 14px 4px 2px; }
.v07 .momentum-rail {
  background: #0b123a;
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.v07 .momentum-rail-inner { color: rgba(255,248,239,.86); }

/* Section system: shaded editorial bands instead of one bright sheet */
.v07 .news-deck {
  background: linear-gradient(90deg, var(--v07-paper-2), var(--v07-paper));
  color: var(--v07-ink);
  border-block: 1px solid var(--v07-rule);
}
.v07 .news-deck::before,
.v07 .news-deck::after { content: none !important; }
.v07 .news-deck h2 { color: var(--v07-ink); font-size: clamp(3.4rem, 7vw, 6.8rem); }
.v07 .section-number { color: var(--v07-rose); text-shadow: none; }
.v07 .news-deck p:not(.section-number) { color: #373044; }

.v07 .ink-panel {
  background: linear-gradient(135deg, #27183b, #182454 70%);
  color: var(--v07-paper);
  border-block: 1px solid rgba(255,255,255,.10);
}
.v07 .editorial-panel.darkline { border-left-color: #f1bd63; }
.v07 .proof-stack div {
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: none;
}
.v07 .proof-stack span { color: #f1bd63; }
.v07 .image-stack .stack-main,
.v07 .image-stack .stack-float { box-shadow: 0 20px 50px rgba(0,0,0,.22); }

.v07 .priority-v05 {
  background: #dee7f6;
  color: var(--v07-ink);
  border-block: 1px solid rgba(17,27,69,.18);
}
.v07 .priority-v05 h2 { color: var(--v07-navy); }
.v07 .priority-board { gap: 18px; }
.v07 .priority-tile {
  background: #f8f4ee;
  border: 1px solid rgba(17,27,69,.18);
  box-shadow: 0 16px 36px rgba(17,27,69,.08);
}
.v07 .priority-tile.hot { background: var(--v07-navy); color: #fff8ef; }
.v07 .priority-tile:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(17,27,69,.13); }
.v07 .priority-tile span { color: var(--v07-rose); }
.v07 .priority-tile.hot span { color: #f1bd63; }

.v07 .community-flow {
  background: linear-gradient(135deg, #26173b, #4b1f53 65%, #8d275f 100%);
  color: #fff8ef;
}
.v07 .community-flow h2,
.v07 .community-flow .editorial-copy { color: #fff8ef; }
.v07 .gallery-large,
.v07 .gallery-pair figure { border-radius: 18px; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 20px 54px rgba(0,0,0,.24); }

.v07 .district-v05 {
  background: #e7d9cc;
  color: var(--v07-ink);
  border-block: 1px solid rgba(20,19,28,.13);
}
.v07 .district-v05 h2 { color: var(--v07-navy); }
.v07 .map-card,
.v07 .map-frame { background: #f8f4ee; border: 1px solid rgba(20,19,28,.18); box-shadow: 0 14px 38px rgba(20,19,28,.09); }

.v07 .family-v05,
.v07 .issue-callout {
  background: linear-gradient(135deg, #15215a 0%, #263d83 54%, #62245f 100%);
  color: #fff8ef;
  border-block: 1px solid rgba(255,255,255,.10);
}
.v07 .family-v05 h2,
.v07 .issue-callout h2 { color: #fff8ef; }
.v07 .family-v05 p,
.v07 .issue-card p { color: rgba(255,248,239,.84); }
.v07 .issue-card { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.16); box-shadow: none; }

.v07 .final-v05,
.v07 .final-cta {
  background: linear-gradient(90deg, #8d275f, #b53572 55%, #d78a2f);
  color: #fff;
}
.v07 .footer-logo { width: min(300px, 78vw); }

/* Pages */
.v07 .page-hero { background: linear-gradient(120deg, #101a43, #3b1e57); }
.v07 .page-section { background: var(--v07-paper); }
.v07 .action-panel, .v07 .form-shell, .v07 .contact-item { background: #f8f4ee; border-color: rgba(20,19,28,.14); }

/* Tone down any remaining tech reads */
.v07 .tilt-card { transform: none; }
.v07 .hover-lift { transition: transform .28s ease, box-shadow .28s ease; }
.v07 .hover-lift:hover { transform: translateY(-4px); }
.v07 [data-reveal] { transform: translateY(14px); transition-duration: .48s; }

@media (max-width: 980px) {
  .v07 .hero-v05-grid { grid-template-columns: 1fr; min-height: auto; padding-top: 64px; }
  .v07 .campaign-card { transform: none; max-width: 560px; }
  .v07 .campaign-photo img { min-height: auto; }
}
@media (max-width: 640px) {
  .v07 .brand-logo { width: min(210px, 56vw); }
  .v07 .hero-v05 h1 { font-size: clamp(4rem, 22vw, 6.6rem); }
  .v07 .hero-v05 .lede { font-size: 1.28rem; }
  .v07 .news-deck h2 { font-size: clamp(2.7rem, 16vw, 4.6rem); }
}


/* V08 — story section proof image + calmer editorial career detail */
.v08 .story-board {
  background: linear-gradient(180deg, #f8efe5 0%, #fff8ee 100%);
  border-top: 1px solid rgba(45, 15, 73, .10);
  border-bottom: 1px solid rgba(45, 15, 73, .14);
}
.v08 .story-board-grid {
  display: grid;
  grid-template-columns: 86px minmax(0, .95fr) minmax(320px, .76fr);
  gap: clamp(24px, 5vw, 68px);
  padding-block: clamp(56px, 7vw, 92px);
  align-items: center;
}
.v08 .story-board-copy p:not(.eyebrow) {
  font-size: clamp(1.04rem, 1.35vw, 1.23rem);
  color: #3a3145;
  max-width: 740px;
}
.v08 .story-board-photo {
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  background: #f6e8db;
  border: 1px solid rgba(45, 15, 73, .16);
  box-shadow: 0 20px 54px rgba(37, 19, 45, .18);
}
.v08 .story-board-photo img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  filter: saturate(.96) contrast(1.02);
}
.v08 .story-board-photo figcaption {
  padding: 14px 16px 16px;
  margin: 0;
  font-size: .86rem;
  line-height: 1.45;
  color: #4f425b;
  background: rgba(255,248,238,.94);
}
.v08 .record-grid .proof-stack div:first-child p::after {
  content: ' Board service listed from 2002–2016 and 2023–present.';
}
@media (max-width: 980px) {
  .v08 .story-board-grid { grid-template-columns: 1fr; }
  .v08 .story-board .section-number { font-size: 3rem; }
}


/* V10 — civic issue panels, normalized marks, safe constituent crops */
.v10 .site-header,
.v10 .v05-header {
  min-height: 78px;
}
.v10 .header-inner {
  min-height: 78px;
  align-items: center;
}
.v10 .brand-link {
  flex: 0 0 auto;
  max-width: min(235px, 34vw);
  overflow: visible;
}
.v10 .brand-logo {
  display: block;
  width: auto !important;
  max-width: min(235px, 34vw) !important;
  max-height: 70px !important;
  object-fit: contain !important;
  object-position: left center;
}
.v10 .site-nav {
  gap: clamp(16px, 2vw, 24px);
}
.v10 .header-cta {
  min-height: 44px;
  border-radius: 10px;
}

.v10 .priority-v05 {
  background:
    radial-gradient(circle at 86% 8%, rgba(181,53,114,.06), transparent 28%),
    linear-gradient(180deg, #e8eef8 0%, #dfe7f4 100%);
}
.v10 .priority-v05 h2 {
  max-width: 980px;
  font-size: clamp(3.1rem, 6.8vw, 6.1rem);
}
.v10 .priority-board {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
  margin-top: 42px;
}
.v10 .priority-tile,
.v10 .priority-tile.hot,
.v10 .priority-tile.wide {
  grid-column: span 2;
  min-height: 255px;
  padding: clamp(24px, 3vw, 34px);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(17,27,69,.10);
  border: 1px solid rgba(17,27,69,.16);
  background: linear-gradient(180deg, #fbf6ee 0%, #f3eadf 100%);
  color: var(--v07-ink, #14131c);
}
.v10 .priority-tile.hot {
  background: linear-gradient(145deg, #111b45 0%, #172864 100%);
  color: #fff8ef;
}
.v10 .priority-tile.wide {
  grid-column: span 4;
  background: linear-gradient(145deg, #f8f1e8 0%, #ece4f1 100%);
}
.v10 .priority-tile::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 6px;
  background: linear-gradient(90deg, var(--v07-rose, #b53572), #d78a2f);
  opacity: .95;
}
.v10 .priority-tile::after { display: none !important; }
.v10 .priority-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 52px rgba(17,27,69,.14);
  border-color: rgba(181,53,114,.28);
}
.v10 .priority-tile .issue-label,
.v10 .priority-tile span.issue-label,
.v10 .priority-tile.hot span.issue-label {
  display: inline-flex;
  align-items: center;
  margin: 0 0 26px;
  padding: 0 0 7px;
  font-family: var(--font-sans);
  font-size: .73rem;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 900;
  color: var(--v07-rose, #b53572);
  border-bottom: 2px solid currentColor;
}
.v10 .priority-tile.hot .issue-label {
  color: #f1bd63;
}
.v10 .priority-tile h3 {
  margin-bottom: 14px;
  color: inherit;
  font-size: clamp(1.42rem, 2vw, 2.05rem);
}
.v10 .priority-tile p {
  color: rgba(20,19,28,.74);
  max-width: 42rem;
}
.v10 .priority-tile.hot p {
  color: rgba(255,248,239,.80);
}

.v10 .gallery-large,
.v10 .gallery-side figure,
.v10 .page-portrait,
.v10 .final-v05 figure,
.v10 .story-board-photo {
  background: #130b1f;
}
.v10 .gallery-flow img {
  object-fit: contain;
  object-position: center center;
  background: #130b1f;
}
.v10 .gallery-large,
.v10 .gallery-side figure {
  min-height: clamp(300px, 42vw, 560px);
}
.v10 .page-portrait img {
  object-fit: contain;
  object-position: center center;
  background: #170d24;
}
.v10 .community-flow .gallery-large img,
.v10 .community-flow .gallery-side img {
  padding: 0;
}

.v10 .footer-inner {
  align-items: start;
}
.v10 .footer-logo {
  width: auto !important;
  max-width: min(220px, 62vw) !important;
  max-height: 78px !important;
  object-fit: contain !important;
  object-position: left center;
  margin-bottom: 20px;
}
.v10 .footer-links {
  justify-content: end;
}

@media (max-width: 1080px) {
  .v10 .priority-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v10 .priority-tile,
  .v10 .priority-tile.hot,
  .v10 .priority-tile.wide { grid-column: span 1; }
  .v10 .brand-logo { max-width: min(220px, 45vw) !important; }
}
@media (max-width: 720px) {
  .v10 .brand-link { max-width: min(190px, 58vw); }
  .v10 .brand-logo { max-width: min(190px, 58vw) !important; max-height: 58px !important; }
  .v10 .priority-board { grid-template-columns: 1fr; }
  .v10 .priority-v05 h2 { font-size: clamp(2.8rem, 14vw, 4.5rem); }
  .v10 .priority-tile,
  .v10 .priority-tile.hot,
  .v10 .priority-tile.wide { min-height: auto; }
  .v10 .gallery-large,
  .v10 .gallery-side figure { min-height: 260px; }
  .v10 .footer-logo { max-width: min(200px, 68vw) !important; max-height: 72px !important; }
}


/* V11 — remove residual section numbering and keep Rosa civic-Arizona, not template numbered */
.v11 .section-number {
  display: none !important;
}
.v11 .story-board-grid {
  grid-template-columns: minmax(0, .96fr) minmax(320px, .78fr);
}
.v11 .record-grid .proof-stack div:first-child p::after {
  content: none !important;
}
.v11 .story-board-copy {
  max-width: 790px;
}
@media (max-width: 980px) {
  .v11 .story-board-grid {
    grid-template-columns: 1fr;
  }
}


/* V13 — final shippability QA pass: audience precision, containment, and civic polish */
.v13 .brand-link {
  width: min(215px, 34vw);
  height: 72px;
  display: inline-flex;
  align-items: center;
  overflow: visible;
}
.v13 .brand-logo {
  width: 100% !important;
  height: 100% !important;
  max-width: 215px !important;
  max-height: 72px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.v13 .footer-logo {
  width: auto !important;
  max-width: min(190px, 58vw) !important;
  max-height: 68px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.v13 .hero-v05 h1 {
  font-size: clamp(4.8rem, 11vw, 10.8rem);
  line-height: .84;
  max-width: 880px;
}
.v13 .hero-v05 .lede {
  max-width: 780px;
  font-size: clamp(1.16rem, 1.9vw, 1.78rem);
}
.v13 .news-deck h2,
.v13 .story-board h2,
.v13 .priority-v05 h2 {
  font-size: clamp(2.75rem, 5.8vw, 5.5rem);
  line-height: .94;
  max-width: 1050px;
  overflow-wrap: normal;
}
.v13 .story-board-grid {
  grid-template-columns: minmax(0, .95fr) minmax(320px, .70fr) !important;
  gap: clamp(28px, 5vw, 72px);
}
.v13 .section-number {
  display: none !important;
}
.v13 .story-board-copy p:not(.eyebrow) {
  max-width: 760px;
}
.v13 .priority-v05 {
  background:
    radial-gradient(circle at 92% 0%, rgba(181,53,114,.08), transparent 30%),
    linear-gradient(180deg, #e7eef8 0%, #dfe8f4 100%);
}
.v13 .priority-board {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.v13 .priority-tile,
.v13 .priority-tile.hot,
.v13 .priority-tile.wide {
  grid-column: span 2;
  min-height: 235px;
  border-radius: 16px;
}
.v13 .priority-tile.wide {
  grid-column: span 4;
}
.v13 .priority-tile > span.issue-label,
.v13 .priority-tile.hot > span.issue-label {
  all: unset;
  display: inline-flex;
  align-items: center;
  margin: 0 0 22px;
  padding-bottom: 7px;
  font-family: var(--font-sans);
  font-size: .72rem;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 900;
  color: var(--v07-rose, #b53572);
  border-bottom: 2px solid currentColor;
}
.v13 .priority-tile.hot > span.issue-label {
  color: #f1bd63;
}
.v13 .gallery-large,
.v13 .gallery-side figure {
  min-height: auto !important;
  aspect-ratio: 16 / 10;
  background: #10091d;
}
.v13 .gallery-flow img,
.v13 .final-v05 figure img,
.v13 .page-portrait img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #10091d;
}
.v13 .campaign-photo img {
  object-fit: cover;
  object-position: center top;
}
.v13 .community-flow {
  background:
    radial-gradient(circle at 78% 8%, rgba(181,53,114,.18), transparent 28%),
    linear-gradient(135deg, #0b123a, #160824 62%, #2b1044);
}
.v13 .momentum-rail span {
  font-size: .87rem;
}
.v13 .page-hero h1 {
  font-size: clamp(3.2rem, 8vw, 7rem);
  line-height: .9;
}
.v13 .vote-support-grid,
.v13 .form-layout,
.v13 .contact-grid {
  align-items: start;
}
@media (max-width: 1080px) {
  .v13 .priority-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v13 .priority-tile,
  .v13 .priority-tile.hot,
  .v13 .priority-tile.wide { grid-column: span 1; }
}
@media (max-width: 980px) {
  .v13 .story-board-grid { grid-template-columns: 1fr !important; }
  .v13 .brand-link { width: min(205px, 48vw); }
  .v13 .brand-logo { max-width: min(205px, 48vw) !important; }
}
@media (max-width: 640px) {
  .v13 .header-inner { min-height: 70px; }
  .v13 .brand-link { height: 58px; width: min(180px, 52vw); }
  .v13 .brand-logo { max-height: 58px !important; max-width: min(180px, 52vw) !important; }
  .v13 .hero-v05 h1 { font-size: clamp(3.9rem, 18vw, 6.2rem); }
  .v13 .news-deck h2,
  .v13 .story-board h2,
  .v13 .priority-v05 h2 { font-size: clamp(2.35rem, 12vw, 4.1rem); }
  .v13 .section-inner, .v13 .header-inner, .v13 .footer-inner { width: min(100% - 34px, var(--max-width)); }
  .v13 .momentum-rail-inner { grid-template-columns: 1fr; }
}


/* V14 — mobile QA hard-fail patch: content visible without relying on scroll observer */
.v14 [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
}

/* Mobile first-screen containment */
@media (max-width: 860px) {
  .v14 .site-header,
  .v14 .v05-header {
    position: sticky;
    top: 0;
  }
  .v14 .hero-v05,
  .v14 .page-hero {
    min-height: auto !important;
  }
  .v14 .hero-v05-grid {
    grid-template-columns: 1fr !important;
    padding-block: 34px 32px !important;
    gap: 28px !important;
    min-height: auto !important;
  }
  .v14 .hero-v05-copy {
    max-width: 100%;
  }
  .v14 .hero-v05 h1 {
    font-size: clamp(3.55rem, 17vw, 5.8rem) !important;
    line-height: .88 !important;
    letter-spacing: -.065em !important;
    margin-bottom: 18px !important;
  }
  .v14 .hero-v05 h1 span {
    font-size: .86rem !important;
    letter-spacing: .18em !important;
    margin-bottom: 12px !important;
  }
  .v14 .hero-v05 .lede {
    font-size: 1.12rem !important;
    line-height: 1.5 !important;
  }
  .v14 .hero-subcopy {
    font-size: 1rem;
    line-height: 1.55;
  }
  .v14 .hero-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }
  .v14 .hero-actions .button-primary,
  .v14 .hero-actions .button-secondary {
    width: 100%;
  }
  .v14 .campaign-card {
    min-height: auto !important;
    transform: none !important;
    padding: 8px !important;
    border-radius: 18px !important;
    max-width: 100%;
  }
  .v14 .campaign-photo {
    aspect-ratio: 4 / 5;
    border-radius: 14px !important;
  }
  .v14 .campaign-card-footer {
    display: block;
    padding: 12px 4px 2px;
  }
  .v14 .campaign-card-footer strong {
    font-size: 1.7rem;
  }
  .v14 .campaign-card-footer span {
    display: block;
    text-align: left;
    max-width: none;
    margin-top: 4px;
  }
  .v14 .momentum-rail-inner {
    grid-template-columns: 1fr !important;
  }
  .v14 .momentum-rail span {
    padding: 13px 16px;
  }
  .v14 .page-hero-grid {
    grid-template-columns: 1fr !important;
    padding-block: 46px 42px;
  }
  .v14 .page-hero h1 {
    font-size: clamp(2.7rem, 13vw, 4.6rem) !important;
    line-height: .95 !important;
    letter-spacing: -.055em;
  }
  .v14 .page-hero .lede {
    font-size: 1.12rem;
  }
}

/* Lower sections: mobile containment and safe images */
@media (max-width: 640px) {
  .v14 .section,
  .v14 .page-section {
    padding-block: 58px !important;
  }
  .v14 .story-board-grid,
  .v14 .record-grid,
  .v14 .gallery-flow,
  .v14 .issue-v05-grid,
  .v14 .final-v05-grid,
  .v14 .split-grid {
    grid-template-columns: 1fr !important;
  }
  .v14 .news-deck h2,
  .v14 .story-board h2,
  .v14 .priority-v05 h2,
  .v14 .community-head h2,
  .v14 .final-v05 h2 {
    font-size: clamp(2.15rem, 11vw, 3.55rem) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
  }
  .v14 .priority-board {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .v14 .priority-tile,
  .v14 .priority-tile.hot,
  .v14 .priority-tile.wide {
    grid-column: auto !important;
    min-height: auto !important;
    padding: 24px !important;
  }
  .v14 .gallery-large,
  .v14 .gallery-side figure,
  .v14 .story-board-photo,
  .v14 .final-v05 figure {
    border-radius: 16px !important;
    min-height: auto !important;
  }
  .v14 .gallery-large,
  .v14 .gallery-side figure {
    aspect-ratio: 4 / 3;
  }
  .v14 .gallery-flow img,
  .v14 .final-v05 figure img,
  .v14 .story-board-photo img {
    object-fit: contain !important;
    object-position: center center !important;
    background: #10091d;
  }
  .v14 .footer-inner {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .v14 .footer-links {
    justify-content: flex-start !important;
  }
}


/* V14B — remove mobile image letterbox cards; keep constituents visible without giant blank frames */
@media (max-width: 640px) {
  .v14 .page-portrait,
  .v14 .final-v05 figure,
  .v14 .gallery-large,
  .v14 .gallery-side figure,
  .v14 .story-board-photo {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: auto !important;
    background: transparent !important;
  }
  .v14 .page-portrait img,
  .v14 .final-v05 figure img,
  .v14 .gallery-flow img,
  .v14 .story-board-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
  }
  .v14 .campaign-photo img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }
}


/* V15 — Lighthouse hard-fail cleanup: CSP-safe fonts, logo aspect ratio, LCP image priority */
.v15 .brand-logo,
.v15 .footer-logo {
  aspect-ratio: 817 / 261 !important;
  height: auto !important;
  max-height: none !important;
}
.v15 .brand-link {
  width: min(215px, 34vw) !important;
  height: auto !important;
}
.v15 .brand-logo {
  width: min(215px, 34vw) !important;
}
.v15 .footer-logo {
  display: block;
  width: min(190px, 58vw) !important;
}
.v15 .page-portrait {
  display: block;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden;
}
.v15 .page-portrait picture,
.v15 .page-portrait img {
  display: block;
  width: 100%;
  height: auto !important;
}
.v15 .page-portrait img {
  object-fit: contain !important;
  object-position: center top !important;
}
@media (max-width: 640px) {
  .v15 .brand-link { width: min(180px, 52vw) !important; }
  .v15 .brand-logo { width: min(180px, 52vw) !important; }
  .v15 .footer-logo { width: min(190px, 58vw) !important; }
  .v15 .page-portrait img {
    max-height: none !important;
  }
}

/* V16 — first-impression and final-CTA finish: no dead-space gradient, clearer voter/supporter path */
.v16 .final-v16 {
  padding-block: clamp(64px, 8vw, 104px);
  background:
    radial-gradient(circle at 14% 25%, rgba(255, 63, 149, .28), transparent 34%),
    radial-gradient(circle at 86% 42%, rgba(244, 164, 61, .20), transparent 31%),
    linear-gradient(120deg, #090617 0%, #171034 48%, #4a174e 100%);
}
.v16 .final-v16::before {
  background:
    linear-gradient(90deg, rgba(255, 63, 149, .18), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 38%);
}
.v16 .final-v16-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(320px, .46fr);
  gap: clamp(30px, 5vw, 76px);
  align-items: center;
}
.v16 .final-v16-copy h2 {
  font-size: clamp(4.4rem, 8.7vw, 9.4rem);
  line-height: .84;
  letter-spacing: -.08em;
  max-width: 900px;
  margin-bottom: 24px;
}
.v16 .final-v16-copy p:not(.eyebrow) {
  max-width: 750px;
  font-size: clamp(1.05rem, 1.35vw, 1.32rem);
  line-height: 1.58;
  color: rgba(255, 248, 239, .84);
}
.v16 .final-v16-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.18);
}
.v16 .final-v16-proof span {
  color: rgba(255, 248, 239, .84);
  font-weight: 900;
  font-size: .83rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.v16 .final-action-rail {
  display: grid;
  gap: 10px;
  padding: clamp(18px, 2.6vw, 28px);
  border-radius: 22px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 28px 90px rgba(0,0,0,.22);
  backdrop-filter: blur(16px);
}
.v16 .final-action-kicker {
  margin: 0 0 8px;
  color: #f4c46e !important;
  font-size: .78rem !important;
  line-height: 1 !important;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 900;
}
.v16 .final-action-rail a {
  display: grid;
  gap: 5px;
  padding: 16px 16px;
  border-radius: 15px;
  text-decoration: none;
  color: #fff8ef;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.18);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.v16 .final-action-rail a:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.32);
}
.v16 .final-action-rail strong {
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 900;
}
.v16 .final-action-rail span {
  color: rgba(255,248,239,.72);
  font-size: .89rem;
  line-height: 1.45;
}
.v16 .momentum-rail-inner span:last-child {
  color: rgba(255, 248, 239, .94);
}
@media (max-width: 920px) {
  .v16 .final-v16-grid {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .v16 .final-action-rail {
    max-width: 680px;
  }
}
@media (max-width: 640px) {
  .v16 .final-v16 {
    padding-block: 58px;
  }
  .v16 .final-v16-copy h2 {
    font-size: clamp(3.4rem, 16vw, 5.4rem) !important;
  }
  .v16 .final-v16-proof {
    display: grid;
    gap: 10px;
  }
  .v16 .final-action-rail {
    border-radius: 18px;
    padding: 16px;
  }
}
