/* ─── Guía del Votante / Voter Guide ─── */

:root {
  --vg-go: #1E5B4E;
  --vg-go-bg: #F1F7F3;
  --mn-paper: #FFFFFF;
  --mn-ink: #211918;
  --mn-muted: #5E524D;
  --mn-rule: #DAD6CD;
  --mn-divider: #E8E4DC;
  --mn-yellow: #FFCE00;
  --cream: #F0EEE9;
  --cream-deep: #E7E4DC;
  --cream-light: #F6F5F1;
  --white: var(--mn-paper);
  --mn-display: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --mn-sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mn-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
}

@keyframes mn-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.55; transform: scale(0.92); }
}
@keyframes vg-beam-go {
  0% { box-shadow: 0 0 0 0 rgba(30,91,78,0.5); }
  70% { box-shadow: 0 0 0 11px rgba(30,91,78,0); }
  100% { box-shadow: 0 0 0 0 rgba(30,91,78,0); }
}
@keyframes vg-beam-stop {
  0% { box-shadow: 0 0 0 0 rgba(178,34,34,0.5); }
  70% { box-shadow: 0 0 0 11px rgba(178,34,34,0); }
  100% { box-shadow: 0 0 0 0 rgba(178,34,34,0); }
}

/* ─── Announcement strip (brand yellow) ─── */
.vg-announce {
  background: var(--mn-red, #B22222);
  color: var(--mn-paper);
  border-bottom: 2px solid var(--mn-red-deep, #8E1B1B);
}
.vg-announce__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 18px;
  padding: 13px var(--mn-gutter, 24px);
  text-align: center;
  line-height: 1;
}
.vg-announce__label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--mn-sans);
  font-weight: 800;
  font-size: 12.5px;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mn-paper);
}
.vg-announce__label .pulse {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--mn-yellow);
  animation: mn-pulse 1.8s ease-in-out infinite;
}
.vg-announce__text {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  letter-spacing: -0.005em;
}
.vg-announce__cta {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 12.5px;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--mn-paper);
  padding: 6px 0;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  color: inherit;
  box-sizing: border-box;
}
.vg-announce__cta:hover { color: var(--mn-yellow); border-color: var(--mn-yellow); }

/* ─── Hero (noir) ─── */
.vg-hero {
  background-color: var(--noir-base, #0C0C0D);
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 1px, rgba(255,255,255,0) 1px 8px),
    var(--noir-bg);
  background-size: auto, 100% 100%, 240px 240px, 100% 100%;
  background-repeat: repeat, no-repeat, repeat, no-repeat;
  background-blend-mode: normal, screen, overlay, normal;
  color: var(--mn-paper);
  position: relative;
  overflow: hidden;
}
.vg-hero__inner { padding: 60px 0 62px; position: relative; z-index: 1; }
.vg-hero__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.vg-crumbs {
  font-family: var(--mn-sans);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  display: flex;
  gap: 9px;
  align-items: center;
  flex-wrap: wrap;
}
.vg-crumbs a { color: inherit; }
.vg-crumbs a:hover { color: inherit; }
.vg-crumbs .sep { opacity: 0.4; }
.vg-crumbs .now { color: var(--mn-paper); font-weight: 600; }
.vg-crumbs .mid { color: rgba(255,255,255,0.55); font-weight: 600; }
.vg-eyebrow {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mn-yellow);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.vg-eyebrow::before { content: ""; width: 24px; height: 3px; background: var(--mn-red-soft, #D94A4A); }
.elementor-kit-8 h1.vg-hero__title,
.vg-hero h1.vg-hero__title {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: clamp(42px, 6vw, 64px);
  line-height: 1.0;
  letter-spacing: -0.025em;
  margin: 0 0 20px;
  max-width: 18ch;
  text-wrap: balance;
  color: var(--mn-paper);
}
.vg-hero__title em { font-style: normal; color: var(--mn-yellow); }
.vg-hero__deck {
  font-family: var(--mn-serif);
  font-size: 20px;
  line-height: 1.5;
  color: rgba(255,255,255,0.8);
  margin: 0 0 32px;
  max-width: 58ch;
}
.vg-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 40px;
}
.vg-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 16px 26px;
  border-radius: 6px;
  border: 1px solid transparent;
  text-decoration: none;
  transition: background .15s, color .15s, border-color .15s, transform .12s;
}
.vg-btn:hover { transform: translateY(-1px); }
.vg-btn--yellow { background: var(--mn-yellow); color: var(--mn-ink); border-color: var(--mn-yellow); }
.vg-btn--yellow:hover { background: var(--mn-paper); border-color: var(--mn-paper); }
.vg-btn--ghost { background: transparent; color: var(--mn-paper); border-color: rgba(255,255,255,0.45); }
.vg-btn--ghost:hover { background: var(--mn-paper); color: var(--mn-ink); border-color: var(--mn-paper); }
.vg-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 56px;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,0.16);
  margin: 0;
}
.vg-hero__meta-item { margin: 0; }
.vg-hero__meta dt {
  display: block;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mn-yellow);
  margin-bottom: 6px;
}
.vg-hero__meta dd {
  margin: 0;
  font-family: var(--mn-sans);
  font-size: 15px;
  color: rgba(255,255,255,0.82);
}

/* ─── Sticky jump nav (dark noir — matches KYR adjustment) ─── */
.vg-jump {
  position: relative;
  top: auto;
  z-index: 101;
  background-color: var(--noir-base, #0C0C0D);
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,0.075) 0 1px, rgba(255,255,255,0) 1px 8px),
    url("/wp-content/themes/memphis/assets/img/footer-grain.png");
  background-size: auto, 240px 240px;
  background-repeat: repeat, repeat;
  background-blend-mode: normal, overlay;
  border-bottom: 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.22);
}
.vg-jump.is-pinned {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  top: calc(var(--mn-header-bottom, 128px) - 1px);
}
.vg-jump-spacer { display: block; width: 100%; }
.vg-jump__inner {
  display: flex;
  align-items: stretch;
  gap: 24px;
  padding: 0 var(--mn-gutter, 24px);
  min-height: 54px;
  overflow-x: auto;
  scrollbar-width: none;
}
.vg-jump__inner::-webkit-scrollbar { display: none; }
.vg-jump a {
  position: relative;
  display: flex;
  align-items: center;
  font-family: var(--mn-sans);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.9);
  white-space: nowrap;
  text-decoration: none;
  transition: color .12s ease;
}
.vg-jump a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 5px;
  background: var(--mn-yellow);
  opacity: 0;
  transition: opacity .12s ease;
}
.vg-jump a:hover,
.vg-jump a:focus-visible,
.vg-jump a.is-active { color: var(--mn-paper); }
.vg-jump a:hover::after,
.vg-jump a:focus-visible::after,
.vg-jump a.is-active::after { opacity: 1; }

/* ─── Section scaffold ─── */
.vg-sec {
  padding: 64px 0;
  background: var(--cream);
  scroll-margin-top: calc(var(--mn-header-bottom, 128px) + 54px);
}
.vg-sec--cream { background: var(--cream-deep); }
.vg-sec--cream#formas {
  background-color: var(--cream-deep);
  background-image: repeating-linear-gradient(45deg, rgba(33,25,24,0.045) 0 1px, transparent 1px 8px);
}
.vg-sec__head { margin-bottom: 30px; }
.vg-sec__kicker {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}
.vg-sec__num {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--white);
  border: 1px solid var(--mn-divider);
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.07);
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 17px;
  color: var(--mn-red, #B22222);
}
.vg-sec__title {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 40px;
  line-height: 1.04;
  letter-spacing: -0.02em;
  margin: 0;
  text-wrap: balance;
}
.vg-sec__intro {
  font-family: var(--mn-sans);
  font-size: 19px;
  line-height: 1.55;
  color: var(--mn-muted);
  margin: 0;
  max-width: 64ch;
  padding-left: 60px;
  text-wrap: pretty;
}

/* ─── Quick-link tiles ─── */
.vg-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 30px;
}
.vg-tile {
  display: flex;
  align-items: center;
  gap: 12px;
  background-color: var(--noir-base, #0C0C0D);
  background-image: url("/wp-content/themes/memphis/assets/img/footer-grain.png");
  background-size: 200px 200px;
  background-repeat: repeat;
  background-blend-mode: overlay;
  color: var(--mn-paper);
  border-radius: 8px;
  padding: 22px 18px;
  text-decoration: none;
  transition: transform .12s ease, box-shadow .12s ease;
}
.vg-tile:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(33,25,24,0.26); }
.vg-tile__ic {
  flex: none;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  color: var(--mn-yellow);
  font-size: 18px;
}
.vg-tile__lbl {
  flex: 1;
  font-family: var(--mn-sans);
  font-weight: 600;
  font-size: 16px;
  line-height: 1.25;
}
.vg-tile__arrow {
  flex: none;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  color: var(--mn-paper);
  display: flex; align-items: center; justify-content: center;
  font-size: 15px;
  transition: background .15s, color .15s, transform .2s;
}
.vg-tile:hover .vg-tile__arrow { background: var(--mn-yellow); color: var(--mn-ink); }
.vg-tile:hover .vg-tile__arrow i { transform: translateX(2px); }
.vg-tile__arrow i { transition: transform .2s ease; display: block; line-height: 1; }

/* ─── Callouts ─── */
.vg-callouts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.vg-callout {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  border: 1px solid var(--mn-rule);
  border-left: 5px solid var(--mn-rule);
  border-radius: 8px;
  padding: 22px 24px;
  background: var(--white);
}
.vg-callout--go { border-color: #BFE0CF; border-left-color: var(--vg-go); background: var(--vg-go-bg); }
.vg-callout--stop { border-color: #E9C4C0; border-left-color: var(--mn-red, #B22222); background: #FBF1F0; }
.vg-callout__dot {
  flex: none;
  width: 16px; height: 16px;
  border-radius: 50%;
  margin-top: 5px;
}
.vg-callout--go .vg-callout__dot { background: var(--vg-go); animation: vg-beam-go 2.2s ease-out infinite; }
.vg-callout--stop .vg-callout__dot { background: var(--mn-red, #B22222); animation: vg-beam-stop 2.2s ease-out infinite; }
.vg-callout__t {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 21px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 6px;
}
.vg-callout--go .vg-callout__t { color: var(--vg-go); }
.vg-callout--stop .vg-callout__t { color: var(--mn-red-deep, #8E1B1B); }
.vg-callout__d {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.55;
  color: var(--mn-ink);
  margin: 0;
}

/* ─── Three ways to vote ─── */
.vg-ways {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: stretch;
}
.vg-way {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border: 1px solid var(--mn-divider);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(33,25,24,0.08);
  transition: transform .15s ease, box-shadow .15s ease;
}
.vg-way:hover { transform: translateY(-4px); box-shadow: 0 18px 34px rgba(33,25,24,0.16); }
.vg-way__tag {
  padding: 16px 26px;
  font-family: var(--mn-sans);
  font-weight: 800;
  font-size: 13.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.vg-way--a .vg-way__tag { background: var(--mn-divider); color: var(--mn-ink); }
.vg-way--c .vg-way__tag { background: var(--mn-ink); color: var(--mn-paper); }
.vg-way__main {
  padding: 28px 26px 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.vg-way__title {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 28px;
  line-height: 1.05;
  letter-spacing: -0.018em;
  margin: 0;
}
.vg-way__when {
  font-family: var(--mn-sans);
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--mn-red, #B22222);
  margin: 14px 0 18px;
}
.vg-way__text {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.55;
  color: var(--mn-ink);
  margin: 0;
}
.vg-way__cta { margin-top: auto; padding-top: 24px; }
.vg-way__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: var(--cream-light);
  color: var(--mn-ink);
  border: 1px solid var(--mn-divider);
  border-radius: 7px;
  padding: 16px 20px;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.15;
  text-decoration: none;
  transition: background .15s, color .15s, border-color .15s;
}
.vg-way__btn .circ {
  flex: none;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--mn-yellow);
  color: var(--mn-ink);
  display: flex; align-items: center; justify-content: center;
  font-size: 15px;
  transition: transform .18s ease;
}
.vg-way__btn:hover { background: var(--mn-ink); color: var(--mn-paper); border-color: var(--mn-ink); }
.vg-way__btn:hover .circ { transform: translateX(2px); }
.vg-way--feat {
  background-color: var(--noir-base, #0C0C0D);
  background-image: var(--noir-bg);
  background-size: 100% 100%, 240px 240px, 100% 100%;
  background-repeat: no-repeat, repeat, no-repeat;
  background-blend-mode: screen, overlay, normal;
  color: var(--mn-paper);
  border: 0;
  box-shadow: 0 10px 28px rgba(33,25,24,0.3);
}
.vg-way--feat .vg-way__tag { background: var(--mn-yellow); color: var(--mn-ink); }
.vg-way--feat .vg-way__title { color: var(--mn-paper); }
.vg-way--feat .vg-way__when { color: var(--mn-yellow); }
.vg-way--feat .vg-way__text { color: rgba(255,255,255,0.82); }
.vg-way--feat .vg-way__btn {
  background: rgba(255,255,255,0.1);
  color: var(--mn-paper);
  border-color: rgba(255,255,255,0.22);
  -webkit-backdrop-filter: blur(12px) saturate(1.3);
  backdrop-filter: blur(12px) saturate(1.3);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
}
.vg-way--feat .vg-way__btn .circ { background: var(--mn-yellow); color: var(--mn-ink); }
.vg-way--feat .vg-way__btn:hover { background: var(--mn-yellow); color: var(--mn-ink); border-color: var(--mn-yellow); }
.vg-way--feat .vg-way__btn:hover .circ { background: var(--mn-ink); color: var(--mn-yellow); }

/* ─── Key dates timeline ─── */
.vg-dates {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  border-top: 2px solid var(--mn-ink);
}
.vg-date {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 24px 14px 8px 0;
  margin-right: 14px;
  border-right: 1px solid var(--mn-rule);
}
.vg-date:last-child { border-right: 0; margin-right: 0; }
.vg-date::before {
  content: "";
  position: absolute;
  top: -8px; left: 0;
  width: 13px; height: 13px;
  border-radius: 50%;
  background: var(--mn-yellow);
  box-shadow: 0 0 0 3px var(--cream);
}
.vg-sec--cream .vg-date::before { box-shadow: 0 0 0 3px var(--cream-deep); }
.vg-date--last::before { background: var(--mn-red, #B22222); }
.vg-date__d {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 26px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--mn-ink);
  margin-bottom: 8px;
}
.vg-date__l {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.02em;
  color: var(--mn-red-deep, #8E1B1B);
  margin: 0 0 8px;
  text-transform: uppercase;
  min-height: 2.6em;
  line-height: 1.3;
  text-wrap: balance;
}
.vg-date__n {
  font-family: var(--mn-sans);
  font-size: 15px;
  line-height: 1.45;
  color: var(--mn-muted);
  margin: 0;
  flex: 1;
  text-wrap: pretty;
}

/* ─── Photo ID ─── */
.vg-id {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.vg-idcol {
  border-radius: 10px;
  padding: 26px;
  border: 1px solid var(--mn-rule);
  background: var(--white);
}
.vg-idcol--yes { border-color: #BFE0CF; background: var(--vg-go-bg); }
.vg-idcol--no { border-color: #E9C4C0; background: #FBF1F0; }
.vg-idcol__tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mn-sans);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.vg-idcol--yes .vg-idcol__tag { color: #1A4F43; }
.vg-idcol--no .vg-idcol__tag { color: var(--mn-red-deep, #8E1B1B); }
.vg-idcol__badge {
  width: 26px; height: 26px;
  flex: none;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--white);
  font-size: 13px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.22);
}
.vg-idcol--yes .vg-idcol__badge { background: #1E5B4E; }
.vg-idcol--no .vg-idcol__badge { background: var(--mn-red, #B22222); }
.vg-idcol ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.vg-idcol li {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.5;
  color: var(--mn-ink);
  padding-left: 32px;
  position: relative;
}
.vg-idcol li::before {
  position: absolute;
  left: 0; top: 0;
  width: 22px; height: 22px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 800; line-height: 22px;
  text-align: center;
}
.vg-idcol--yes li::before { content: "✓"; background: #E3EFE9; color: #1A4F43; }
.vg-idcol--no li::before { content: "✕"; background: #FBE7E4; color: var(--mn-red, #B22222); }
.vg-idtip {
  grid-column: 1 / -1;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: var(--cream-light);
  color: var(--mn-ink);
  border: 1px solid var(--mn-divider);
  border-radius: 10px;
  padding: 22px 26px;
}
.vg-idtip__ic { flex: none; color: var(--mn-red, #B22222); margin-top: 3px; font-size: 20px; line-height: 1; display: flex; }
.vg-idtip p {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.55;
  margin: 0;
}

/* ─── Official source band ─── */
.vg-official {
  background: var(--cream-light);
  border-top: 1px solid var(--mn-divider);
  border-bottom: 1px solid var(--mn-divider);
}
.vg-official__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  flex-wrap: wrap;
  padding: 52px 0;
}
.vg-official__eyebrow {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mn-red, #B22222);
  margin-bottom: 14px;
}
.vg-official__title {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -0.014em;
  margin: 0;
  max-width: 46ch;
  text-wrap: balance;
}
.vg-official__cta {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--mn-ink);
  color: var(--mn-paper);
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 18px 30px;
  border-radius: 6px;
  text-decoration: none;
  transition: background .15s, color .15s;
}
.vg-official__cta:hover { background: var(--mn-yellow); color: var(--mn-ink); }

/* ─── GOTV closer (noir) ─── */
.vg-closer {
  background-color: var(--noir-base, #0C0C0D);
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 1px, rgba(255,255,255,0) 1px 8px),
    var(--noir-bg);
  background-size: auto, 100% 100%, 240px 240px, 100% 100%;
  background-repeat: repeat, no-repeat, repeat, no-repeat;
  background-blend-mode: normal, screen, overlay, normal;
  color: var(--mn-paper);
  text-align: center;
}
.vg-closer__inner { padding: 76px 0; }
.vg-closer .vg-eyebrow { justify-content: center; }
.elementor-kit-8 h2.vg-closer__title,
.vg-closer h2.vg-closer__title {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: clamp(38px, 5vw, 60px);
  line-height: 1.0;
  letter-spacing: -0.022em;
  margin: 0 auto 22px;
  max-width: 20ch;
  text-wrap: balance;
  color: var(--mn-paper);
}
.vg-closer__title em { font-style: normal; color: var(--mn-yellow); }
.vg-closer__text {
  font-family: var(--mn-serif);
  font-size: 20px;
  line-height: 1.5;
  color: rgba(255,255,255,0.8);
  margin: 0 auto 32px;
  max-width: 60ch;
}

/* ─── Disclaimer ─── */
.vg-disc {
  background-color: var(--noir-base, #0C0C0D);
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 1px, rgba(255,255,255,0) 1px 8px),
    var(--noir-bg);
  background-size: auto, 100% 100%, 240px 240px, 100% 100%;
  background-repeat: repeat, no-repeat, repeat, no-repeat;
  background-blend-mode: normal, screen, overlay, normal;
  color: var(--mn-paper);
}
.vg-disc__inner { padding: 72px 0; }
.vg-disc__card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: start;
  background: rgba(255,255,255,0.07);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  backdrop-filter: blur(14px) saturate(1.3);
  border: 1px solid rgba(255,255,255,0.16);
  border-left: 5px solid var(--mn-yellow);
  border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.18), 0 12px 30px rgba(0,0,0,0.3);
  padding: 28px 32px;
}
.vg-disc__card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1.5px;
  background: radial-gradient(160px circle at var(--mx, 50%) var(--my, 0%),
    rgba(255,255,255,1) 0%,
    rgba(255,224,102,0.95) 22%,
    rgba(255,206,0,0.6) 42%,
    rgba(255,206,0,0) 70%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask-composite: exclude;
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.vg-disc__card:hover::before { opacity: 1; }
.vg-disc__card:hover { border-color: rgba(255,255,255,0.28); border-left-color: var(--mn-red, #B22222); box-shadow: inset 0 1px 0 rgba(255,255,255,0.26), 0 16px 36px rgba(0,0,0,0.38), 0 0 24px rgba(255,206,0,0.16); }
.vg-disc__card > * { position: relative; }
.vg-disc__ic {
  flex: none;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: var(--mn-yellow);
  color: var(--mn-ink);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
}
.vg-disc__t {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 21px;
  line-height: 1.2;
  margin: 0 0 7px;
  color: var(--mn-paper);
}
.vg-disc__d {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255,255,255,0.75);
  margin: 0;
  max-width: 80ch;
}
.vg-disc__cta {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mn-paper);
  border-bottom: 2px solid var(--mn-yellow);
  padding-bottom: 3px;
  white-space: nowrap;
  text-decoration: none;
}
.vg-disc__cta:hover { color: var(--mn-yellow); border-color: var(--mn-yellow); }

/* ─── FA Classic icon slots ─── */
.vg-tile__ic i,
.vg-tile__arrow i,
.vg-way__btn .circ i,
.vg-idcol__badge i,
.vg-idtip__ic i,
.vg-official__cta i,
.vg-disc__ic i,
.vg-disc__cta i { line-height: 1; }

/* ─── Elementor page shell (33996) ─── */
.elementor-page-33996 .elementor-33996,
.elementor-page-33996 #content,
.elementor-page-33996 main,
.elementor-page-33996 .site-main {
  background: var(--cream) !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-page-33996 .elementor-element-vgroot,
.elementor-page-33996 .elementor-element-vgroot > .e-con-inner {
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  --row-gap: 0 !important;
  --column-gap: 0 !important;
  --gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
  gap: 0 !important;
  row-gap: 0 !important;
}
.elementor-page-33996 .elementor-element-vgroot .elementor-widget {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-page-33996 .elementor-element-vgroot .elementor-widget-container,
.elementor-page-33996 .elementor-element-vgroot .elementor-shortcode {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
.elementor-page-33996 .vg-hero,
.elementor-page-33996 .vg-announce,
.elementor-page-33996 .vg-jump,
.elementor-page-33996 .vg-sec,
.elementor-page-33996 .vg-official,
.elementor-page-33996 .vg-closer,
.elementor-page-33996 .vg-disc {
  width: 100%;
  max-width: none;
}
.elementor-page-33996 .vg-sec--cream { background: var(--cream-deep) !important; }
.elementor-page-33996 .vg-sec:not(.vg-sec--cream) { background: var(--cream) !important; }
.elementor-page-33996 .vg-callout,
.elementor-page-33996 .vg-way:not(.vg-way--feat),
.elementor-page-33996 .vg-idcol {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}
.elementor-page-33996 .vg-callout__d,
.elementor-page-33996 .vg-way__text,
.elementor-page-33996 .vg-idcol li,
.elementor-page-33996 .vg-idtip p,
.elementor-page-33996 .vg-date__n {
  font-size: 16px !important;
  line-height: 1.55 !important;
}
.elementor-page-33996 .vg-disc h2.vg-disc__t {
  font-family: var(--mn-display) !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  color: var(--mn-paper) !important;
  margin: 0 0 7px !important;
}

/* ─── Accessibility ─── */
.vg-crumbs a:focus-visible,
.vg-announce__cta:focus-visible,
.vg-btn:focus-visible,
.vg-jump a:focus-visible,
.vg-tile:focus-visible,
.vg-way__btn:focus-visible,
.vg-official__cta:focus-visible,
.vg-disc__cta:focus-visible {
  outline: 3px solid var(--mn-yellow);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .vg-announce__label .pulse,
  .vg-callout__dot { animation: none !important; }
  .vg-tile,
  .vg-way,
  .vg-btn,
  .vg-disc__card::before { transition: none; }
  .elementor-page-33996 a.vg-link { transition: none; }
}

/* ─── Responsive ─── */
@media (max-width: 1040px) {
  .vg-links { grid-template-columns: repeat(2, 1fr); }
  .vg-ways { grid-template-columns: 1fr; }
  .vg-dates { grid-template-columns: 1fr 1fr; gap: 8px 0; }
  .vg-date { border-right: 0; }
  .vg-date:nth-child(2n) { margin-right: 0; }
}
@media (max-width: 760px) {
  .vg-hero__inner { padding: 44px 0; }
  .vg-hero__top { flex-direction: column; align-items: flex-start; gap: 16px; }
  .vg-hero__title { font-size: 36px; }
  .vg-hero__deck { font-size: 18px; }
  .vg-sec { padding: 52px 0; }
  .vg-sec__title { font-size: 30px; }
  .vg-sec__intro { padding-left: 0; font-size: 17px; }
  .vg-links { grid-template-columns: 1fr; }
  .vg-callouts, .vg-id { grid-template-columns: 1fr; }
  .vg-dates { grid-template-columns: 1fr; }
  .vg-date { margin-right: 0; padding-left: 24px; }
  .vg-date::before { left: 0; top: 26px; }
  .vg-official__inner { padding: 40px 0; }
  .vg-disc__card { grid-template-columns: 1fr; gap: 16px; }
  .vg-jump a { font-size: 14px; }
  .vg-tile__lbl { font-size: 17px; }
  .vg-callout__d,
  .vg-way__text,
  .vg-idcol li { font-size: 17px; }
}

/* mn-wrap padding shorthand wins on shared inners and zeroes vertical rhythm.
   Restore declared insets without touching wrap gutters. */
.vg-announce .mn-wrap.vg-announce__inner { padding-top: 13px; padding-bottom: 13px; }
.vg-hero .mn-wrap.vg-hero__inner { padding-top: 60px; padding-bottom: 62px; }
.vg-official .mn-wrap.vg-official__inner { padding-top: 52px; padding-bottom: 52px; }
.vg-closer .mn-wrap.vg-closer__inner { padding-top: 76px; padding-bottom: 76px; }
.vg-disc .mn-wrap.vg-disc__inner { padding-top: 40px; padding-bottom: 72px; }
.vg-disc__card { align-items: center; padding: 36px 40px; }
.elementor-page-33996 .mn-crumbbar--footer { padding-top: 22px; padding-bottom: 22px; }
@media (max-width: 760px) {
  .vg-hero .mn-wrap.vg-hero__inner { padding-top: 44px; padding-bottom: 44px; }
  .vg-official .mn-wrap.vg-official__inner { padding-top: 40px; padding-bottom: 40px; }
  .vg-disc .mn-wrap.vg-disc__inner { padding-top: 28px; padding-bottom: 48px; }
  .vg-disc__card { padding: 28px 24px; }
}

/* Continuous noir through closer, disc, and this page footer.
   Disc noir (#0C0C0D + grain) was butting the Theme Builder footer ink (#211918).
   Fixed attachment keeps the pinstripe/grain in one coordinate space so stacked
   bands do not restart and draw a hairline. Footer override is page 33996 only. */
.vg-hero,
.vg-closer,
.vg-disc {
  background-attachment: fixed, fixed, fixed, fixed;
}
.vg-jump {
  background-color: var(--noir-base, #0C0C0D);
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 1px, rgba(255,255,255,0) 1px 8px),
    var(--noir-bg);
  background-size: auto, 100% 100%, 240px 240px, 100% 100%;
  background-repeat: repeat, no-repeat, repeat, no-repeat;
  background-blend-mode: normal, screen, overlay, normal;
  background-attachment: fixed, fixed, fixed, fixed;
  box-shadow: none;
}
.vg-jump.is-pinned {
  box-shadow: 0 4px 10px rgba(0,0,0,0.22);
}
.elementor-page-33996 .elementor-location-footer > .e-con {
  background-color: var(--noir-base, #0C0C0D) !important;
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 1px, rgba(255,255,255,0) 1px 8px),
    var(--noir-bg) !important;
  background-size: auto, 100% 100%, 240px 240px, 100% 100% !important;
  background-repeat: repeat, no-repeat, repeat, no-repeat !important;
  background-blend-mode: normal, screen, overlay, normal;
  background-attachment: fixed, fixed, fixed, fixed;
}
.elementor-page-33996 .mn-crumbbar--footer {
  background: transparent !important;
  border-bottom-color: transparent;
}
@media (max-width: 760px) {
  .vg-closer,
  .vg-disc,
  .elementor-page-33996 .elementor-location-footer > .e-con {
    background-attachment: scroll, scroll, scroll, scroll;
  }
}

/* Remaining identified issues on /guia-del-votante/ */
.vg-crumbs { color: rgba(255,255,255,0.72); }
.vg-disc__d { color: rgba(255,255,255,0.88); }
.vg-hero__meta { padding-top: 36px; }
.vg-sec { padding: 72px 0; }
.vg-sec__head { margin-bottom: 40px; }
.vg-sec__intro { margin-bottom: 8px; }
.vg-links { gap: 20px; margin-bottom: 36px; }
.vg-tile { padding: 24px 16px; }

.elementor-page-33996 .mn-crumbbar--footer {
  padding-top: 28px;
  padding-bottom: 28px;
}
.elementor-page-33996 .mn-crumbbar--footer .rank-math-breadcrumb a {
  color: rgba(255,255,255,0.82) !important;
}
.elementor-page-33996 .mn-crumbbar--footer .rank-math-breadcrumb .separator {
  color: rgba(255,255,255,0.7) !important;
}
.elementor-page-33996 .mn-crumbbar--footer .rank-math-breadcrumb .last {
  color: rgba(255,255,255,0.92) !important;
}
.elementor-page-33996 .elementor-location-footer .elementor-element-bdfb254 .mn-foot__contact-note {
  color: rgba(255,255,255,0.75) !important;
}
.elementor-page-33996 .elementor-location-footer .mn-foot__tag {
  color: rgba(255,255,255,0.75) !important;
  font-size: 11px !important;
}
.elementor-page-33996 .elementor-location-footer .mn-foot__brand-tagline,
.elementor-page-33996 .elementor-location-footer .mn-foot__brand-tagline p,
.elementor-page-33996 .elementor-location-footer .mn-foot__brand p {
  color: rgba(255,255,255,0.8) !important;
}
.elementor-page-33996 .elementor-location-footer .mn-social-counts__item {
  color: rgba(255,255,255,0.88) !important;
}
.elementor-page-33996 .elementor-element-dee6041 {
  --padding-top: 80px !important;
  padding-top: 80px !important;
  padding-left: 8px;
  padding-right: 8px;
}
.elementor-page-33996 .elementor-element-5568b51 {
  --gap: 56px !important;
  --column-gap: 56px !important;
  column-gap: 56px !important;
  gap: 56px !important;
  padding-bottom: 48px !important;
}
.elementor-page-33996 .elementor-location-footer .elementor-heading-title {
  margin-bottom: 20px !important;
}
.elementor-page-33996 .elementor-location-footer .elementor-nav-menu--layout-vertical .elementor-nav-menu li {
  margin: 7px 0 !important;
}

/* Facts row — moved out of the hero into Prepárate */
.vg-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 40px;
  margin: 0 0 40px;
  padding: 28px 32px;
  background: #fff;
  border: 1px solid var(--mn-rule, #DAD6CD);
}
.vg-facts__item { margin: 0; }
.vg-facts dt {
  display: block;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mn-red, #B22222);
  margin-bottom: 6px;
}
.vg-facts dd {
  margin: 0;
  font-family: var(--mn-sans);
  font-size: 16px;
  font-weight: 600;
  color: var(--mn-ink, #231614);
  line-height: 1.35;
}
@media (max-width: 767px) {
  .vg-facts { grid-template-columns: 1fr; padding: 22px 20px; }
}

/* Hello reset a / a:hover (#C36 / #333366) and :visited must not paint tile type. */
.elementor-page-33996 a.vg-tile,
.elementor-page-33996 a.vg-tile:link,
.elementor-page-33996 a.vg-tile:visited,
.elementor-page-33996 a.vg-tile:hover,
.elementor-page-33996 a.vg-tile:focus,
.elementor-page-33996 a.vg-tile:focus-visible,
.elementor-page-33996 a.vg-tile:active {
  color: var(--mn-paper) !important;
}
.elementor-page-33996 a.vg-tile .vg-tile__lbl,
.elementor-page-33996 a.vg-tile:link .vg-tile__lbl,
.elementor-page-33996 a.vg-tile:visited .vg-tile__lbl,
.elementor-page-33996 a.vg-tile:hover .vg-tile__lbl,
.elementor-page-33996 a.vg-tile:focus .vg-tile__lbl,
.elementor-page-33996 a.vg-tile:focus-visible .vg-tile__lbl,
.elementor-page-33996 a.vg-tile:active .vg-tile__lbl {
  color: var(--mn-paper) !important;
}

/* ─── 2026-09-04 community copy expansion ─── */

.vg-tile__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.vg-tile__note {
  display: block;
  font-family: var(--mn-sans);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  color: rgba(247, 244, 236, 0.72);
}
.elementor-page-33996 a.vg-tile .vg-tile__note,
.elementor-page-33996 a.vg-tile:link .vg-tile__note,
.elementor-page-33996 a.vg-tile:visited .vg-tile__note,
.elementor-page-33996 a.vg-tile:hover .vg-tile__note,
.elementor-page-33996 a.vg-tile:focus .vg-tile__note,
.elementor-page-33996 a.vg-tile:focus-visible .vg-tile__note,
.elementor-page-33996 a.vg-tile:active .vg-tile__note {
  color: rgba(247, 244, 236, 0.72) !important;
}

.vg-help {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin: 0 0 36px;
  padding: 24px 28px;
  background: #fff;
  border: 1px solid var(--mn-rule, #DAD6CD);
}
.vg-help__ic {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: var(--mn-ink, #231614);
  font-size: 18px;
}
.vg-help__t {
  margin: 0 0 8px;
  font-family: var(--mn-sans);
  font-size: 18px;
  font-weight: 700;
  color: var(--mn-ink, #231614);
  line-height: 1.3;
}
.vg-help__d {
  margin: 0;
  font-family: var(--mn-sans);
  font-size: 15px;
  line-height: 1.55;
  color: var(--mn-ink, #231614);
}

.vg-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 1025px) {
  .vg-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.vg-rules {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 24px;
}
.vg-rules__item {
  margin: 0;
  padding: 20px 22px;
  background: #fff;
  border: 1px solid var(--mn-rule, #DAD6CD);
}
.vg-rules__lead {
  display: block;
  font-family: var(--mn-sans);
  font-size: 16px;
  font-weight: 700;
  color: var(--mn-ink, #231614);
  margin-bottom: 6px;
  line-height: 1.35;
}
.vg-rules__text {
  display: block;
  font-family: var(--mn-sans);
  font-size: 15px;
  line-height: 1.55;
  color: var(--mn-ink, #231614);
}
@media (max-width: 767px) {
  .vg-rules { grid-template-columns: 1fr; }
}

.vg-legal {
  margin: 0 0 28px;
  font-family: var(--mn-sans);
  font-size: 13px;
  line-height: 1.5;
  color: rgba(35, 22, 20, 0.72);
  font-style: italic;
}

.vg-save {
  background: var(--mn-noir, #0C0C0D);
  color: var(--mn-paper, #F7F4EC);
  padding: 36px 36px 32px;
  margin: 0 0 28px;
}
.vg-steps {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.vg-steps__item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin: 0;
}
.vg-steps__n {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  background: var(--mn-yellow, #FFCE00);
  color: var(--mn-ink, #231614);
  font-family: var(--mn-sans);
  font-weight: 800;
  font-size: 16px;
  line-height: 1;
}
.vg-steps__t {
  font-family: var(--mn-sans);
  font-size: 17px;
  line-height: 1.45;
  color: var(--mn-paper, #F7F4EC);
  padding-top: 6px;
}
.vg-save__phones {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 24px;
}
.vg-save__phones .vg-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 14px 22px;
  text-decoration: none;
}
.vg-save__phone-lbl {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.vg-save__phone-note {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.85;
}
.vg-save__after {
  margin: 0;
  font-family: var(--mn-sans);
  font-size: 15px;
  line-height: 1.55;
  color: rgba(247, 244, 236, 0.88);
}
.elementor-page-33996 .vg-save a.vg-btn--yellow,
.elementor-page-33996 .vg-save a.vg-btn--yellow:link,
.elementor-page-33996 .vg-save a.vg-btn--yellow:visited,
.elementor-page-33996 .vg-save a.vg-btn--yellow:hover,
.elementor-page-33996 .vg-save a.vg-btn--yellow:focus,
.elementor-page-33996 .vg-save a.vg-btn--yellow:focus-visible {
  color: var(--mn-ink, #231614) !important;
  background: var(--mn-yellow, #FFCE00);
}

.vg-quiet {
  margin: 8px 0 0;
  padding: 28px 28px 24px;
  background: #fff;
  border: 1px solid var(--mn-rule, #DAD6CD);
}
.vg-quiet__t {
  margin: 0 0 12px;
  font-family: var(--mn-sans);
  font-size: 18px;
  font-weight: 700;
  color: var(--mn-ink, #231614);
  line-height: 1.35;
}
.vg-quiet__d {
  margin: 0 0 12px;
  font-family: var(--mn-sans);
  font-size: 15px;
  line-height: 1.55;
  color: var(--mn-ink, #231614);
}
.vg-quiet .vg-legal {
  margin-bottom: 0;
}

.vg-official__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px 48px;
  align-items: start;
  width: 100%;
}
.vg-official__sos .vg-official__cta {
  margin-top: 20px;
  display: inline-flex;
}
.vg-official__local-t {
  margin: 0 0 16px;
  font-family: var(--mn-sans);
  font-size: 18px;
  font-weight: 700;
  color: var(--mn-paper, #F7F4EC);
  line-height: 1.35;
}
.vg-official__local-grid {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 28px;
  row-gap: 12px;
  align-items: baseline;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0;
}
.vg-official__local-grid dt,
.vg-official__local-grid dd {
  margin: 0;
  padding: 0;
  border: 0;
  font-family: var(--mn-sans);
  font-size: 15px;
  line-height: 1.45;
  color: rgba(247, 244, 236, 0.88);
  background: transparent;
}
.vg-official__local-grid dt {
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
}
.vg-official__local-grid dd {
  font-weight: 400;
  min-width: 0;
  overflow-wrap: anywhere;
}
.elementor-page-33996 .vg-official__local-grid a,
.elementor-page-33996 .vg-official__local-grid a:link,
.elementor-page-33996 .vg-official__local-grid a:visited {
  font-weight: 700;
}

@media (max-width: 1024px) {
  .vg-official__grid { grid-template-columns: 1fr; gap: 32px; }
  .vg-save { padding: 28px 24px; }
}
@media (max-width: 767px) {
  .vg-help { padding: 20px; }
  .vg-quiet { padding: 22px 20px; }
  .vg-save__phones { flex-direction: column; }
  .vg-save__phones .vg-btn { width: 100%; }
}

/* ─── 2026-09-04 tile icon/note alignment ─── */
.elementor-page-33996 .vg-tile {
  align-items: flex-start;
}
.elementor-page-33996 .vg-tile__ic,
.elementor-page-33996 .vg-tile__arrow {
  margin-top: 0;
}
.elementor-page-33996 .vg-tile__lbl {
  line-height: 1.3;
}
.elementor-page-33996 .vg-tile__note {
  font-size: 13px;
  line-height: 1.45;
  min-height: calc(1.45em * 2);
}

/* ─── 2026-09-04 equal hotline buttons ─── */
.elementor-page-33996 .vg-save__phones {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: stretch;
}
.elementor-page-33996 .vg-save__phones .vg-btn {
  width: 100%;
  min-height: 88px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 4px;
  padding: 16px 22px;
}
@media (max-width: 767px) {
  .elementor-page-33996 .vg-save__phones {
    grid-template-columns: 1fr;
  }
}

/* ─── 2026-09-04 official local contrast ─── */
/* Official band is cream; paper-on-cream made the Shelby block unreadable. */
.elementor-page-33996 .vg-official__local {
  background: #fff;
  border: 1px solid var(--mn-rule, #DAD6CD);
  padding: 28px 28px 24px;
  color: var(--mn-ink, #231614);
}
.elementor-page-33996 .vg-official__local-t,
.elementor-page-33996 .vg-official h3.vg-official__local-t {
  color: var(--mn-ink, #231614) !important;
  margin: 0 0 16px;
}
.elementor-page-33996 .vg-official__local-grid,
.elementor-page-33996 .vg-official__local-grid dt,
.elementor-page-33996 .vg-official__local-grid dd {
  color: var(--mn-ink, #231614) !important;
  border: 0 !important;
  background: transparent !important;
}
.elementor-page-33996 .vg-official__local-grid {
  display: grid !important;
  grid-template-columns: max-content 1fr;
  column-gap: 28px;
  row-gap: 12px;
}
.elementor-page-33996 .vg-official__local-grid dt {
  font-weight: 600;
  color: var(--mn-ink, #231614) !important;
}
.elementor-page-33996 .vg-official__local-grid a,
.elementor-page-33996 .vg-official__local-grid a:link,
.elementor-page-33996 .vg-official__local-grid a:visited {
  color: var(--mn-ink, #231614) !important;
  font-weight: 700;
}
.elementor-page-33996 .vg-official__local-grid a:focus-visible {
  outline: 2px solid var(--mn-yellow, #FFCE00);
  outline-offset: 3px;
}
@media (max-width: 767px) {
  .elementor-page-33996 .vg-official__local {
    padding: 22px 20px;
  }
  .elementor-page-33996 .vg-official__local-grid {
    grid-template-columns: max-content 1fr;
    column-gap: 16px;
    row-gap: 10px;
  }
  .elementor-page-33996 .vg-official__local-grid dt {
    white-space: normal;
  }
}

/* ─── 2026-09-04 text-link yellow swipe ─── */
/* Enter left→right; leave right→left (size shrinks while anchored left). */
.elementor-page-33996 a.vg-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  background-image: linear-gradient(var(--mn-yellow, #FFCE00), var(--mn-yellow, #FFCE00));
  background-repeat: no-repeat;
  background-size: 0% 90%;
  background-position: left 55%;
  transition: background-size 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0.06em 0.12em;
  margin: 0 -0.12em;
  border-radius: 1px;
  box-shadow: none !important;
}
.elementor-page-33996 a.vg-link:hover,
.elementor-page-33996 a.vg-link:focus-visible {
  background-size: 100% 90%;
  background-position: left 55%;
  color: inherit !important;
}
.elementor-page-33996 .vg-disc__cta.vg-link:hover,
.elementor-page-33996 .vg-disc__cta.vg-link:focus-visible {
  color: inherit !important;
  border-color: var(--mn-ink, #231614);
}
.elementor-page-33996 .vg-way__text a.vg-link,
.elementor-page-33996 .vg-hero__meta a.vg-link {
  font-weight: 700;
}

/* ─── 2026-09-04 responsive remediation ─── */
/* Jump: wrap all destinations into view below ~900 (was horizontal-scroll only). */
@media (max-width: 900px) {
  .vg-jump__inner {
    flex-wrap: wrap;
    overflow-x: visible;
    gap: 0 14px;
    row-gap: 0;
    padding-top: 2px;
    padding-bottom: 2px;
    min-height: 0;
  }
  .vg-jump a {
    min-height: 40px;
    font-size: 12px;
    letter-spacing: 0.02em;
  }
  .vg-sec,
  .vg-official {
    scroll-margin-top: calc(var(--mn-header-bottom, 128px) + 96px);
  }
}

@media (max-width: 760px) {
  .vg-announce__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .vg-announce__cta {
    align-self: flex-start;
  }
  .vg-hero__title,
  .vg-sec__title,
  .vg-closer__title,
  .vg-official__title {
    text-wrap: balance;
  }
  .vg-hero__deck,
  .vg-sec__intro,
  .vg-way__text,
  .vg-closer__text,
  .vg-disc__d {
    text-wrap: pretty;
  }
  .vg-hero__title { font-size: 34px; line-height: 1.15; }
  .vg-sec__title { font-size: 28px; }
  .vg-btn,
  .vg-way__btn {
    font-size: 15px;
    min-height: 48px;
  }
  .vg-hero__cta {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .vg-hero__cta .vg-btn {
    width: 100%;
    justify-content: center;
  }
  .vg-official__local-grid {
    grid-template-columns: minmax(7.5rem, max-content) 1fr;
    column-gap: 14px;
  }
  .vg-save__phones {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .vg-hero__title { font-size: 30px; }
  .vg-jump a { font-size: 11.5px; min-height: 38px; }
  .elementor-page-33996 .vg-official__local-grid {
    grid-template-columns: 1fr !important;
    row-gap: 4px;
  }
  .elementor-page-33996 .vg-official__local-grid dt {
    white-space: normal;
    padding-top: 8px;
  }
  .elementor-page-33996 .vg-official__local-grid dt:first-child { padding-top: 0; }
  .elementor-page-33996 .vg-official__local-grid dd {
    margin-bottom: 4px;
  }
}

/* Laptop dead zone: keep ways readable before full single-column at 1040. */
@media (max-width: 1280px) and (min-width: 1041px) {
  .vg-ways {
    gap: 20px;
  }
  .vg-way__text { font-size: 15.5px; }
}

