/*
  SOUTH DAKOTA SECRETARY OF STATE REDESIGN
  Single shared stylesheet for Dreamweaver Design View, Live View,
  and the published website. Fonts are stored in ../fonts/public-sans/.
*/
@font-face {
  font-family: "Public Sans";
  src: url("../fonts/public-sans/PublicSans-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Public Sans";
  src: url("../fonts/public-sans/PublicSans-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Public Sans";
  src: url("../fonts/public-sans/PublicSans-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Public Sans";
  src: url("../fonts/public-sans/PublicSans-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
/*
  SOUTH DAKOTA SECRETARY OF STATE REDESIGN
  One shared stylesheet for every page in this package.
  Edit this file to make global design changes.
*/
/* ============================================================
   Dreamweaver Design View compatibility
   ------------------------------------------------------------
   Design View uses an older rendering engine than Live View.
   These classic table/inline-block fallbacks keep the layout
   readable there. Modern browsers use the enhanced rules below.
   ============================================================ */
/* Main interior-page shell: table fallback; CSS Grid enhances it later. */
.page-layout{
  display:table;
  width:100%;
  max-width:1440px;
  table-layout:fixed;
}
.page-rail{
  display:table-cell;
  width:270px;
  vertical-align:top;
}
.page-body{
  display:table-cell;
  vertical-align:top;
}
.page-toc{
  display:block;
}
.page-toc a{
  display:block;
}
/* Shared header fallback. */
.site-head-inner{
  display:table;
  width:100%;
}
.site-brand{
  display:table;
}
.site-head-seal,.site-head-text{
  display:table-cell;
  vertical-align:middle;
}
.site-head-text{
  padding-left:18px;
}
/* Homepage spotlight fallback. */
.spotlight-grid{
  display:table;
  width:100%;
}
.spotlight-grid > *{
  display:table-cell;
  vertical-align:middle;
}
.spotlight-grid > div{
  padding-left:40px;
}
/* Reusable multi-column collections. Design View shows clean cards
   even when it cannot understand CSS Grid. */
.cards,.contact-grid,.divisions,.release-feature-grid,.deadline-grid,.related{
  display:block;
  font-size:0;
}
.cards > *,.contact-grid > *,.divisions > *,.release-feature-grid > *,
.deadline-grid > *,.related > *{
  display:inline-block;
  width:31.5%;
  margin:0 1.5% 20px 0;
  vertical-align:top;
  font-size:16px;
}
.cards > *:nth-child(3n),.contact-grid > *:nth-child(3n),
.divisions > *:nth-child(3n),.release-feature-grid > *:nth-child(3n),
.deadline-grid > *:nth-child(3n),.related > *:nth-child(3n){
  margin-right:0;
}
/* Two-column content fallbacks. */
.updates,.hero-grid,.truth-page .hero-grid{
  display:table;
  width:100%;
  table-layout:fixed;
}
.updates > *,.hero-grid > *,.truth-page .hero-grid > *{
  display:table-cell;
  width:50%;
  vertical-align:top;
}
.updates > * + *,.hero-grid > * + *,.truth-page .hero-grid > * + *{
  padding-left:28px;
}
/* Press release rows remain readable when Grid is unavailable. */
.release-row{
  display:table;
  width:100%;
  table-layout:fixed;
}
.release-row > *{
  display:table-cell;
  vertical-align:middle;
}
@media screen and (max-width:980px){
  .page-layout,.page-rail,.page-body{
  display:block;
  width:auto;
  }
  .spotlight-grid,.spotlight-grid > *{
  display:block;
  width:auto;
  }
  .spotlight-grid > div{
  padding-left:0;
  }
}
@media screen and (max-width:760px){
  .cards > *,.contact-grid > *,.divisions > *,
  .release-feature-grid > *,.deadline-grid > *,.related > *{
  display:block;
  width:auto;
  margin-right:0;
  }
  .updates,.updates > *,.hero-grid,.hero-grid > *,
  .truth-page .hero-grid,.truth-page .hero-grid > *{
  display:block;
  width:auto;
  }
  .updates > * + *,.hero-grid > * + *,.truth-page .hero-grid > * + *{
  padding-left:0;
  }
}
/* Shared South Dakota Secretary of State Dreamweaver redesign system.
   Edit this file to restyle every page in the bundle. */
/* ============================================================
   South Dakota Secretary of State - shared design system
   Used by: homepage, election-truth-transparency, elections-voting,
   business-services, general-services, contact-us,
   about-secretary-johnson, election-faqs
   ============================================================ */
*{
  box-sizing:border-box;
}
body{
  margin:0;
  background:#F3EFE5;
  color:#1E1B16;
  font-family:"Public Sans",Arial,sans-serif;
  line-height:1.55;
}
h1,h2,h3{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  color:#00133B;
  margin:0;
  letter-spacing:-0.01em;
}
a{
  color:#00133B;
}
a:focus, button:focus{
  outline:3px solid #C79A4C;
  outline-offset:2px;
}
.eyebrow{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
}
.btn{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.82rem;
  letter-spacing:0.03em;
  padding:13px 22px;
  border-radius:2px;
  text-decoration:none;
  display:inline-block;
  border:1px solid transparent;
  cursor:pointer;
}
.btn-primary{
  background:#00133B;
  color:#FFFCF6;
}
.btn-primary:hover{
  background:#00133B;
}
.btn-ghost{
  border-color:#00133B;
  color:#00133B;
  background:transparent;
}
.btn-ghost:hover{
  background:#00133B;
  color:#FFFCF6;
}
/* ===== Page title header (sits at the top of the editable content area -
   the site's real global nav lives above this in the CMS) ===== */
.page-title{
  max-width:1160px;
  margin:0 auto;
  padding:44px 24px 0;
}
.page-title .kicker{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
  display:block;
  margin-bottom:10px;
}
.page-title h1{
  font-size:1.9rem;
}
.page-title p.lede{
  margin-top:14px;
  max-width:64ch;
  color:#4A453C;
  font-size:1.02rem;
}
/* ===== Generic section shell ===== */
section{
  padding:56px 24px;
}
.section-inner{
  max-width:1160px;
  margin:0 auto;
}
.section-head{
  max-width:64ch;
  margin-bottom:36px;
}
.section-head.center{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.section-head h2{
  font-size:1.5rem;
  margin-top:8px;
}
.section-head p{
  color:#4A453C;
  margin-top:12px;
  font-size:1rem;
}
.alt{
  background:#FFFCF6;
  border-top:1px solid #D3C8AE;
  border-bottom:1px solid #D3C8AE;
}
.dark{
  background:#00133B;
  color:#F3EFE5;
}
.dark h2, .dark h3{
  color:#FFFCF6;
}
.dark .eyebrow{
  color:#C79A4C;
}
.dark .section-head p{
  color:#C7CBD4;
}
/* ===== Card grid (used for link collections, resources, divisions) ===== */
.card{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  padding:26px 24px;
  border-radius:2px;
}
.dark .card{
  background:rgba(255,255,255,0.04);
  border-color:rgba(255,255,255,0.14);
}
.card .tag{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.7rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#AD7F35;
  margin-bottom:10px;
}
.card h3{
  font-size:1.1rem;
  margin-bottom:10px;
}
.card p{
  margin:0 0 14px;
  font-size:0.95rem;
  color:#4A453C;
}
.dark .card p{
  color:#C7CBD4;
}
.card a.link{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.78rem;
  text-decoration:none;
  border-bottom:1px solid #AD7F35;
  padding-bottom:2px;
  width:auto;
}
.dark .card a.link{
  color:#C79A4C;
  border-color:#C79A4C;
}
.card ul{
  list-style:none;
  margin:0 0 18px;
  padding:0;
  font-size:0.9rem;
}
.card ul a{
  text-decoration:none;
  color:#1E1B16;
  border-bottom:1px solid transparent;
}
.card ul a:hover{
  border-color:#AD7F35;
  color:#7A2E2E;
}
.card .go{
  margin-top:auto;
}
/* ===== Fact list (checkmarked) ===== */
.fact-list{
  list-style:none;
  margin:0;
  padding:0;
}
.fact-list li{
  position:relative;
  display:block;
  padding:18px 0 18px 40px;
  border-top:1px solid #D3C8AE;
  font-size:1rem;
}
.fact-list li:first-child{
  border-top:none;
}
.fact-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  color:#7A2E2E;
  font-weight:700;
  font-family:"Public Sans",Arial,sans-serif;
}
/* ===== FAQ accordion ===== */
.faq-item{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  border-radius:2px;
  overflow:hidden;
}
.faq-q{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  cursor:pointer;
  padding:18px 22px;
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  font-size:1.02rem;
  color:#00133B;
}
.faq-q .plus{
  font-family:"Public Sans",Arial,sans-serif;
  color:#AD7F35;
}
.faq-a{
  max-height:0;
  overflow:hidden;
}
.faq-a-inner{
  padding:0 22px 20px;
  color:#4A453C;
  font-size:0.96rem;
}
.faq-item.open .faq-a{
  max-height:600px;
}
/* ===== Contact blocks ===== */
.contact-card{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  border-radius:2px;
  padding:26px 24px;
}
.contact-card .tag{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.7rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#AD7F35;
  margin-bottom:10px;
}
.contact-card h3{
  font-size:1.05rem;
  margin-bottom:10px;
}
.contact-card address{
  font-style:normal;
  color:#4A453C;
  font-size:0.95rem;
  line-height:1.6;
  margin-bottom:12px;
}
.contact-card .detail{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.85rem;
  color:#00133B;
  margin-top:4px;
}
.contact-card .detail a{
  color:#00133B;
  text-decoration:none;
  border-bottom:1px solid #AD7F35;
}
/* ===== Footer ===== */
footer.site-foot{
  background:#00133B;
  color:#9AA1AE;
  padding:34px 24px;
  text-align:center;
  font-size:0.82rem;
}
footer.site-foot a{
  color:#C7CBD4;
  text-decoration:none;
  margin:0 10px;
}
footer.site-foot a:hover{
  color:#C79A4C;
}
.subnav{
  background:#FFFCF6;
  border-bottom:1px solid #D3C8AE;
}
.subnav-inner{
  max-width:1160px;
  margin:0 auto;
  padding:14px 24px;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.76rem;
}
.subnav a{
  color:#4A453C;
  text-decoration:none;
  padding:2px 0;
  border-bottom:2px solid transparent;
  white-space:nowrap;
}
.subnav a:hover{
  color:#7A2E2E;
  border-color:#AD7F35;
}
.subnav a.current{
  color:#7A2E2E;
  border-color:#7A2E2E;
  font-weight:600;
}
.mega-wrap{
  background:#FFFCF6;
  border-bottom:1px solid #D3C8AE;
  position:relative;
}
.mega-bar{
  max-width:1160px;
  margin:0 auto;
  padding:10px 24px;
}
.mega-toggle{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.78rem;
  letter-spacing:0.02em;
  background:#00133B;
  color:#FFFCF6;
  border:none;
  border-radius:2px;
  padding:10px 16px;
  display:inline-block;
  cursor:pointer;
}
.mega-toggle:hover{
  background:#00133B;
}
.mega-toggle .car{
  font-size:0.7rem;
}
.mega-panel{
  background:#00133B;
  border-top:1px solid rgba(255,255,255,0.12);
}
.mega-panel[hidden]{
  display:none;
}
.mega-inner{
  max-width:1160px;
  margin:0 auto;
  padding:32px 24px 36px;
}
.mega-col .mega-heading{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#C79A4C;
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,0.14);
}
.mega-col ul{
  list-style:none;
  margin:0;
  padding:0;
}
.mega-col a{
  color:#E7E4DA;
  text-decoration:none;
  font-size:0.9rem;
  line-height:1.4;
  border-bottom:1px solid transparent;
}
.mega-col a:hover{
  color:#C79A4C;
  border-color:#C79A4C;
}
.mega-col a.ext:after{
  content:" >";
  color:#AD7F35;
  font-size:0.78em;
}
.mega-note{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  color:#9AA1AE;
  padding-top:6px;
  border-top:1px solid rgba(255,255,255,0.1);
  margin-top:4px;
}
@media screen and (max-width:640px){
  .mega-toggle{
  width:100%;
  }
}
.site-head{
  background:#00133B;
  border-bottom:3px solid #AD7F35;
}
.site-head-inner{
  max-width:1160px;
  margin:0 auto;
  padding:22px 24px;
}
.site-head-seal{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  font-size:1.05rem;
  color:#00133B;
  background:#C79A4C;
  width:54px;
  height:54px;
  border-radius:50%;
}
.site-head-text{
  line-height:1.3;
}
.site-head-eyebrow{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.78rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#C79A4C;
}
.site-head-title{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  font-size:1.7rem;
  color:#FFFCF6;
}
.site-head-sub{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.88rem;
  letter-spacing:0.04em;
  color:#C7CBD4;
  margin-top:2px;
}
/* ===== Accessibility and editing helpers ===== */
.skip-link{
  position:absolute;
  left:12px;
  top:-60px;
  z-index:9999;
  background:#C79A4C;
  color:#00133B;
  padding:10px 14px;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.82rem;
  text-decoration:none;
  border-radius:2px;
}
.skip-link:focus{
  top:12px;
}
/* Automatically applied to the matching local navigation link by site.js. */
.mega-col a.current-page{
  color:#C79A4C;
  border-color:#C79A4C;
  font-weight:600;
}
/* Reusable content helpers for new pages. */
.content-narrow{
  max-width:760px;
}
.content-wide{
  max-width:1160px;
}
.notice{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  border-left:5px solid #AD7F35;
  padding:20px 22px;
  border-radius:2px;
  margin:20px 0;
}
.notice.important{
  border-left-color:#7A2E2E;
}
.notice h2,.notice h3{
  margin-bottom:8px;
}
.notice p:last-child{
  margin-bottom:0;
}
.responsive-table{
  width:100%;
  border-collapse:collapse;
  background:#FFFCF6;
}
.responsive-table th,.responsive-table td{
  padding:13px 14px;
  border:1px solid #D3C8AE;
  text-align:left;
  vertical-align:top;
}
.responsive-table th{
  background:#EAE3D2;
  color:#00133B;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.78rem;
  letter-spacing:.03em;
}
@media screen and (max-width:700px){
  .table-scroll{
  overflow-x:auto;
  }
  .site-head-title{
  font-size:1.35rem;
  }
}
/* ============================================================
   V2 layout: automatic, page-specific side navigation
   ============================================================ */
.site-brand{
  text-decoration:none;
  color:inherit;
}
.site-brand:hover .site-head-title{
  color:#C79A4C;
}
.page-layout{
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding:0 24px;
}
.page-body{
  min-width:0;
  border-left:1px solid #D3C8AE;
  background:#F3EFE5;
}
.page-body .page-title{
  max-width:none;
  margin:0;
  padding:44px 34px 0;
}
.page-body section{
  padding:56px 34px;
}
.page-body .section-inner{
  max-width:none;
  margin:0;
}
.page-rail{
  padding:44px 22px 70px 0;
}
.page-rail-inner{
  position:relative;
  top:18px;
}
.page-rail-panel{
  border:1px solid #D3C8AE;
  background:#FFFCF6;
}
.page-rail-title{
  background:#00133B;
  color:#FFFCF6;
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  font-size:1.28rem;
  line-height:1.25;
  padding:20px 18px;
  border-bottom:3px solid #AD7F35;
}
.page-rail-heading{
  background:#7A2E2E;
  color:#FFFCF6;
  padding:10px 16px;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.75rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.page-toc a{
  display:block;
  padding:13px 16px;
  border-bottom:1px solid #D3C8AE;
  color:#00133B;
  text-decoration:none;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.98rem;
  line-height:1.25;
  background:#FFFCF6;
}
.page-toc a:last-child{
  border-bottom:none;
}
.page-toc a:hover{
  background:#EAE3D2;
  color:#7A2E2E;
}
.page-toc a.is-active{
  background:#EAE3D2;
  color:#7A2E2E;
  font-weight:600;
}
.page-rail-toggle{
  display:none;
}
/* Let content sections fit naturally inside the two-column page shell. */
.page-body section.alt{
  border-left:0;
  border-right:0;
}
.page-body section.dark{
  margin-left:0;
  margin-right:0;
}
.page-body .press-title{
  padding-bottom:34px;
}
@media screen and (max-width:980px){
  .page-layout{
  display:block;
  padding:0;
  }
  .page-body{
  border-left:0;
  }
  .page-rail{
  padding:18px 24px 0;
  }
  .page-rail-inner{
  position:static;
  }
  .page-rail-toggle{
  width:100%;
  background:#00133B;
  color:#FFFCF6;
  border:0;
  border-bottom:3px solid #AD7F35;
  padding:14px 16px;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.82rem;
  cursor:pointer;
  }
  .page-rail-toggle-icon{
  font-size:1.1rem;
  }
  .page-rail-panel{
  display:none;
  }
  .page-rail-panel.is-open{
  display:block;
  }
  .page-rail-title{
  font-size:1.12rem;
  padding:15px 16px;
  }
  .page-body .page-title{
  padding-left:24px;
  padding-right:24px;
  }
  .page-body section{
  padding-left:24px;
  padding-right:24px;
  }
}
@media screen and (max-width:640px){
  .site-head-sub{
  font-size:.76rem;
  }
  .page-rail{
  padding-left:16px;
  padding-right:16px;
  }
  .page-body .page-title,.page-body section{
  padding-left:18px;
  padding-right:18px;
  }
}
/* ===== Assets/css/pages/register-to-vote.css (scoped) ===== */
/* Original page-specific styling for register-to-vote.html. */
.register-page *{
  box-sizing:border-box;
}
.register-page{
  margin:0;
  background:#F3EFE5;
  color:#1E1B16;
  font-family:"Public Sans",Arial,sans-serif;
  line-height:1.55;
}
.register-page h1,.register-page h2,.register-page h3{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  color:#00133B;
  margin:0;
  letter-spacing:-0.01em;
}
.register-page a{
  color:#00133B;
}
.register-page a:focus{
  outline:3px solid #C79A4C;
  outline-offset:2px;
}
.register-page .eyebrow{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
}
.register-page .btn{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.82rem;
  letter-spacing:0.03em;
  padding:13px 22px;
  border-radius:2px;
  text-decoration:none;
  display:inline-block;
  border:1px solid transparent;
}
.register-page .btn-primary{
  background:#00133B;
  color:#FFFCF6;
}
.register-page .btn-primary:hover{
  background:#00133B;
}
.register-page .btn-ghost{
  border-color:#00133B;
  color:#00133B;
}
.register-page .btn-ghost:hover{
  background:#00133B;
  color:#FFFCF6;
}
.register-page .page-title{
  max-width:1160px;
  margin:0 auto;
  padding:44px 24px 0;
}
.register-page .page-title .kicker{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
  display:block;
  margin-bottom:10px;
}
.register-page .page-title h1{
  font-size:1.9rem;
}
.register-page .page-title p.lede{
  margin-top:14px;
  max-width:64ch;
  color:#4A453C;
  font-size:1.02rem;
}
.register-page section{
  padding:52px 24px;
}
.register-page .section-inner{
  max-width:1160px;
  margin:0 auto;
}
.register-page .section-head{
  max-width:66ch;
  margin-bottom:32px;
}
.register-page .section-head h2{
  font-size:1.4rem;
  margin-top:8px;
}
.register-page .section-head p{
  color:#4A453C;
  margin-top:10px;
  font-size:0.98rem;
}
.register-page .alt{
  background:#FFFCF6;
  border-top:1px solid #D3C8AE;
  border-bottom:1px solid #D3C8AE;
}
.register-page .dark{
  background:#00133B;
  color:#F3EFE5;
}
.register-page .dark h2,.register-page .dark h3{
  color:#FFFCF6;
}
.register-page .dark .eyebrow{
  color:#C79A4C;
}
.register-page .dark .section-head p{
  color:#C7CBD4;
}
.register-page .cta-row{
  margin-top:8px;
}
.register-page .fact-list{
  list-style:none;
  margin:0;
  padding:0;
  max-width:800px;
}
.register-page .fact-list li{
  position:relative;
  display:block;
  padding:16px 0 16px 40px;
  border-top:1px solid #D3C8AE;
  font-size:0.98rem;
}
.register-page .fact-list li:first-child{
  border-top:none;
}
.register-page .fact-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  color:#7A2E2E;
  font-weight:700;
  font-family:"Public Sans",Arial,sans-serif;
}
.register-page .callout{
  background:#FFFCF6;
  border:1px solid #AD7F35;
  border-left:4px solid #7A2E2E;
  border-radius:2px;
  padding:24px 26px;
  max-width:820px;
}
.register-page .callout .tag{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.7rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#7A2E2E;
  margin-bottom:10px;
}
.register-page .callout h3{
  font-size:1.05rem;
  margin-bottom:10px;
}
.register-page .callout p{
  margin:0 0 10px;
  font-size:0.92rem;
  color:#4A453C;
}
.register-page .callout ol{
  margin:10px 0 0;
  padding-left:20px;
  font-size:0.9rem;
  color:#4A453C;
}
.register-page .card{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  padding:20px;
  border-radius:2px;
  font-size:0.92rem;
  color:#4A453C;
}
.register-page .card strong{
  display:block;
  color:#00133B;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:1rem;
  margin-bottom:6px;
}
.register-page .party-table{
  width:100%;
  border-collapse:collapse;
  max-width:900px;
  background:#FFFCF6;
  border:1px solid #D3C8AE;
}
.register-page .party-table th,.register-page .party-table td{
  text-align:left;
  padding:14px 16px;
  border-bottom:1px solid #D3C8AE;
  font-size:0.92rem;
}
.register-page .party-table th{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#7A2E2E;
  background:#EAE3D2;
}
.register-page .party-table td:first-child{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  color:#00133B;
}
.register-page footer.site-foot{
  background:#00133B;
  color:#9AA1AE;
  padding:34px 24px;
  text-align:center;
  font-size:0.82rem;
}
.register-page footer.site-foot a{
  color:#C7CBD4;
  text-decoration:none;
  margin:0 10px;
}
.register-page footer.site-foot a:hover{
  color:#C79A4C;
}
/* ===== Assets/css/pages/absentee-voting.css (scoped) ===== */
/* Original page-specific styling for absentee-voting.html. */
.absentee-page *{
  box-sizing:border-box;
}
.absentee-page{
  margin:0;
  background:#F3EFE5;
  color:#1E1B16;
  font-family:"Public Sans",Arial,sans-serif;
  line-height:1.55;
}
.absentee-page h1,.absentee-page h2,.absentee-page h3{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  color:#00133B;
  margin:0;
  letter-spacing:-0.01em;
}
.absentee-page a{
  color:#00133B;
}
.absentee-page a:focus{
  outline:3px solid #C79A4C;
  outline-offset:2px;
}
.absentee-page .eyebrow{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
}
.absentee-page .btn{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.82rem;
  letter-spacing:0.03em;
  padding:13px 22px;
  border-radius:2px;
  text-decoration:none;
  display:inline-block;
  border:1px solid transparent;
}
.absentee-page .btn-primary{
  background:#00133B;
  color:#FFFCF6;
}
.absentee-page .btn-primary:hover{
  background:#00133B;
}
.absentee-page .btn-ghost{
  border-color:#00133B;
  color:#00133B;
}
.absentee-page .btn-ghost:hover{
  background:#00133B;
  color:#FFFCF6;
}
.absentee-page .page-title{
  max-width:1160px;
  margin:0 auto;
  padding:44px 24px 0;
}
.absentee-page .page-title .kicker{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
  display:block;
  margin-bottom:10px;
}
.absentee-page .page-title h1{
  font-size:1.9rem;
}
.absentee-page .page-title p.lede{
  margin-top:14px;
  max-width:64ch;
  color:#4A453C;
  font-size:1.02rem;
}
.absentee-page section{
  padding:52px 24px;
}
.absentee-page .section-inner{
  max-width:1160px;
  margin:0 auto;
}
.absentee-page .section-head{
  max-width:66ch;
  margin-bottom:32px;
}
.absentee-page .section-head h2{
  font-size:1.4rem;
  margin-top:8px;
}
.absentee-page .section-head p{
  color:#4A453C;
  margin-top:10px;
  font-size:0.98rem;
}
.absentee-page .alt{
  background:#FFFCF6;
  border-top:1px solid #D3C8AE;
  border-bottom:1px solid #D3C8AE;
}
.absentee-page .dark{
  background:#00133B;
  color:#F3EFE5;
}
.absentee-page .dark h2,.absentee-page .dark h3{
  color:#FFFCF6;
}
.absentee-page .dark .eyebrow{
  color:#C79A4C;
}
.absentee-page .dark .section-head p{
  color:#C7CBD4;
}
.absentee-page .cta-row{
  margin-top:8px;
}
.absentee-page .fact-list{
  list-style:none;
  margin:0;
  padding:0;
  max-width:800px;
}
.absentee-page .fact-list li{
  position:relative;
  display:block;
  padding:16px 0 16px 40px;
  border-top:1px solid #D3C8AE;
  font-size:0.98rem;
}
.absentee-page .fact-list li:first-child{
  border-top:none;
}
.absentee-page .fact-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  color:#7A2E2E;
  font-weight:700;
  font-family:"Public Sans",Arial,sans-serif;
}
.absentee-page .dark .fact-list li{
  border-color:rgba(255,255,255,0.14);
  color:#DCE0E6;
}
.absentee-page .deadline{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  border-radius:2px;
  padding:24px 22px;
}
.absentee-page .deadline .tag{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.68rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#AD7F35;
  margin-bottom:10px;
}
.absentee-page .deadline h3{
  font-size:1rem;
  margin-bottom:10px;
}
.absentee-page .deadline p{
  margin:0;
  font-size:0.92rem;
  color:#4A453C;
}
.absentee-page .card{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  padding:24px 22px;
  border-radius:2px;
}
.absentee-page .card .tag{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.68rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#AD7F35;
  margin-bottom:8px;
}
.absentee-page .card h3{
  font-size:1.02rem;
  margin-bottom:8px;
}
.absentee-page .card p{
  margin:0 0 12px;
  font-size:0.92rem;
  color:#4A453C;
}
.absentee-page .card a.link{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.78rem;
  text-decoration:none;
  border-bottom:1px solid #AD7F35;
  padding-bottom:2px;
  width:auto;
  margin-top:auto;
}
.absentee-page footer.site-foot{
  background:#00133B;
  color:#9AA1AE;
  padding:34px 24px;
  text-align:center;
  font-size:0.82rem;
}
.absentee-page footer.site-foot a{
  color:#C7CBD4;
  text-decoration:none;
  margin:0 10px;
}
.absentee-page footer.site-foot a:hover{
  color:#C79A4C;
}
/* ===== Assets/css/pages/felony-convictions.css (scoped) ===== */
/* Original page-specific styling for felony-convictions.html. */
.felony-page *{
  box-sizing:border-box;
}
.felony-page{
  margin:0;
  background:#F3EFE5;
  color:#1E1B16;
  font-family:"Public Sans",Arial,sans-serif;
  line-height:1.55;
}
.felony-page h1,.felony-page h2,.felony-page h3{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  color:#00133B;
  margin:0;
  letter-spacing:-0.01em;
}
.felony-page a{
  color:#00133B;
}
.felony-page a:focus{
  outline:3px solid #C79A4C;
  outline-offset:2px;
}
.felony-page .eyebrow{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
}
.felony-page .page-title{
  max-width:900px;
  margin:0 auto;
  padding:44px 24px 0;
}
.felony-page .page-title .kicker{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
  display:block;
  margin-bottom:10px;
}
.felony-page .page-title h1{
  font-size:1.9rem;
}
.felony-page section{
  padding:44px 24px;
}
.felony-page .section-inner{
  max-width:900px;
  margin:0 auto;
}
.felony-page .callout{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  border-left:4px solid #7A2E2E;
  border-radius:2px;
  padding:28px 30px;
}
.felony-page .callout .tag{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.7rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#7A2E2E;
  margin-bottom:12px;
}
.felony-page .callout p{
  margin:0 0 14px;
  font-size:1.05rem;
  color:#1E1B16;
}
.felony-page .callout p:last-child{
  margin-bottom:0;
}
.felony-page .callout a{
  color:#00133B;
  border-bottom:1px solid #AD7F35;
  text-decoration:none;
}
.felony-page .fact-list{
  list-style:none;
  margin:24px 0 0;
  padding:0;
}
.felony-page .fact-list li{
  position:relative;
  display:block;
  padding:16px 0 16px 40px;
  border-top:1px solid #D3C8AE;
  font-size:0.98rem;
}
.felony-page .fact-list li:first-child{
  border-top:none;
}
.felony-page .fact-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  color:#7A2E2E;
  font-weight:700;
  font-family:"Public Sans",Arial,sans-serif;
}
.felony-page .related{
  margin-top:12px;
}
.felony-page .related a{
  display:block;
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  border-radius:2px;
  padding:18px 20px;
  text-decoration:none;
  color:#00133B;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.85rem;
}
.felony-page .related a:hover{
  border-color:#AD7F35;
  color:#7A2E2E;
}
.felony-page footer.site-foot{
  background:#00133B;
  color:#9AA1AE;
  padding:34px 24px;
  text-align:center;
  font-size:0.82rem;
}
.felony-page footer.site-foot a{
  color:#C7CBD4;
  text-decoration:none;
  margin:0 10px;
}
.felony-page footer.site-foot a:hover{
  color:#C79A4C;
}
/* ===== Assets/css/pages/polling-place-accessibility.css (scoped) ===== */
/* Original page-specific styling for polling-place-accessibility.html. */
.accessibility-page *{
  box-sizing:border-box;
}
.accessibility-page{
  margin:0;
  background:#F3EFE5;
  color:#1E1B16;
  font-family:"Public Sans",Arial,sans-serif;
  line-height:1.55;
}
.accessibility-page h1,.accessibility-page h2,.accessibility-page h3{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  color:#00133B;
  margin:0;
  letter-spacing:-0.01em;
}
.accessibility-page a{
  color:#00133B;
}
.accessibility-page a:focus{
  outline:3px solid #C79A4C;
  outline-offset:2px;
}
.accessibility-page .eyebrow{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
}
.accessibility-page .btn{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.82rem;
  letter-spacing:0.03em;
  padding:13px 22px;
  border-radius:2px;
  text-decoration:none;
  display:inline-block;
  border:1px solid transparent;
}
.accessibility-page .btn-primary{
  background:#00133B;
  color:#FFFCF6;
}
.accessibility-page .btn-primary:hover{
  background:#00133B;
}
.accessibility-page .page-title{
  max-width:900px;
  margin:0 auto;
  padding:44px 24px 0;
}
.accessibility-page .page-title .kicker{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
  display:block;
  margin-bottom:10px;
}
.accessibility-page .page-title h1{
  font-size:1.9rem;
}
.accessibility-page .page-title p.lede{
  margin-top:14px;
  color:#4A453C;
  font-size:1.02rem;
}
.accessibility-page section{
  padding:44px 24px;
}
.accessibility-page .section-inner{
  max-width:900px;
  margin:0 auto;
}
.accessibility-page .section-head{
  margin-bottom:28px;
}
.accessibility-page .section-head h2{
  font-size:1.3rem;
  margin-top:8px;
}
.accessibility-page .alt{
  background:#FFFCF6;
  border-top:1px solid #D3C8AE;
  border-bottom:1px solid #D3C8AE;
}
.accessibility-page .fact-list{
  list-style:none;
  margin:0;
  padding:0;
}
.accessibility-page .fact-list li{
  position:relative;
  display:block;
  padding:16px 0 16px 40px;
  border-top:1px solid #D3C8AE;
  font-size:0.98rem;
}
.accessibility-page .fact-list li:first-child{
  border-top:none;
}
.accessibility-page .fact-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  color:#7A2E2E;
  font-weight:700;
  font-family:"Public Sans",Arial,sans-serif;
}
.accessibility-page .device-card{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  border-radius:2px;
  padding:28px 30px;
}
.accessibility-page .device-card .tag{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.7rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#AD7F35;
  margin-bottom:10px;
}
.accessibility-page .device-card h3{
  font-size:1.15rem;
  margin-bottom:14px;
}
.accessibility-page .device-card p{
  margin:0 0 12px;
  color:#4A453C;
  font-size:0.96rem;
}
.accessibility-page .callout{
  background:#00133B;
  color:#FFFCF6;
  border-radius:2px;
  padding:26px 28px;
}
.accessibility-page .callout .tag{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.7rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#C79A4C;
  margin-bottom:10px;
}
.accessibility-page .callout p{
  margin:0;
  color:#DCE0E6;
  font-size:0.98rem;
}
.accessibility-page .callout a{
  color:#C79A4C;
}
.accessibility-page footer.site-foot{
  background:#00133B;
  color:#9AA1AE;
  padding:34px 24px;
  text-align:center;
  font-size:0.82rem;
}
.accessibility-page footer.site-foot a{
  color:#C7CBD4;
  text-decoration:none;
  margin:0 10px;
}
.accessibility-page footer.site-foot a:hover{
  color:#C79A4C;
}
/* ===== Election Truth & Transparency ===== */
/* Scoped styling for the Truth & Transparency landing page. */
.truth-page, .truth-page *{
  box-sizing:border-box;
}
.truth-page{
  margin:0;
  background:#F3EFE5;
  color:#1E1B16;
  font-family:"Public Sans",Arial,sans-serif;
  line-height:1.55;
}
.truth-page h1, .truth-page h2, .truth-page h3{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  color:#00133B;
  margin:0;
  letter-spacing:-0.01em;
}
.truth-page a{
  color:#00133B;
}
.truth-page a:focus, .truth-page button:focus{
  outline:3px solid #C79A4C;
  outline-offset:2px;
}
.truth-page .eyebrow{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
}
/* ===== Top ribbon ===== */
.truth-page .ribbon{
  background:#00133B;
  color:#F3EFE5;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.78rem;
  padding:9px 24px;
  letter-spacing:0.02em;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.truth-page .ribbon strong{
  color:#C79A4C;
}
.truth-page .ribbon span{
  opacity:0.65;
}
/* ===== Header ===== */
.truth-page header.site{
  background:#00133B;
  color:#FFFCF6;
  padding:22px 24px;
}
.truth-page .brand-mark{
  width:44px;
  height:44px;
  border-radius:50%;
  border:2px solid #C79A4C;
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:700;
  color:#C79A4C;
  font-size:1.1rem;
}
.truth-page .brand-text .kicker{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.68rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  opacity:0.75;
}
.truth-page .brand-text .name{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:1.15rem;
  font-weight:600;
}
.truth-page nav.top a{
  color:#FFFCF6;
  text-decoration:none;
  font-size:0.88rem;
  margin-left:22px;
  opacity:0.85;
  border-bottom:1px solid transparent;
}
.truth-page nav.top a:hover{
  opacity:1;
  border-color:#C79A4C;
}
/* ===== Hero ===== */
.truth-page .hero{
  position:relative;
  padding:88px 24px 100px;
  background:#F3EFE5;
  overflow:hidden;
  border-bottom:1px solid #D3C8AE;
}
.truth-page .hero-grid{
  max-width:1120px;
  margin:0 auto;
}
.truth-page .hero h1{
  font-size:2.4rem;
  line-height:1.04;
}
.truth-page .hero h1 em{
  font-style:italic;
  color:#7A2E2E;
}
.truth-page .hero p.lede{
  font-size:1.14rem;
  color:#4A453C;
  max-width:52ch;
  margin-top:20px;
}
.truth-page .hero-cta{
  margin-top:32px;
}
.truth-page .btn{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.82rem;
  letter-spacing:0.03em;
  padding:13px 22px;
  border-radius:2px;
  text-decoration:none;
  display:inline-block;
  border:1px solid transparent;
}
.truth-page .btn-primary{
  background:#00133B;
  color:#FFFCF6;
}
.truth-page .btn-primary:hover{
  background:#00133B;
}
.truth-page .btn-ghost{
  border-color:#00133B;
  color:#00133B;
}
.truth-page .btn-ghost:hover{
  background:#00133B;
  color:#FFFCF6;
}
/* Seal signature element */
.truth-page .seal{
  width:90%;
  max-width:320px;
  position:relative;
}
.truth-page .seal svg{
  width:100%;
  height:auto;
  display:block;
}
.truth-page .quote-block{
  max-width:1120px;
  margin:64px auto 0;
  border-top:1px solid #D3C8AE;
  padding-top:36px;
}
.truth-page .quote-mark{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:4rem;
  color:#AD7F35;
  line-height:0.6;
}
.truth-page .quote-block blockquote{
  margin:0;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:1.3rem;
  font-style:italic;
  color:#00133B;
  line-height:1.4;
}
.truth-page .quote-block cite{
  display:block;
  margin-top:14px;
  font-style:normal;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.78rem;
  letter-spacing:0.04em;
  color:#4A453C;
}
/* ===== Section shell ===== */
.truth-page section{
  padding:76px 24px;
}
.truth-page .section-inner{
  max-width:1120px;
  margin:0 auto;
}
.truth-page .section-head{
  max-width:62ch;
  margin-bottom:44px;
}
.truth-page .section-head h2{
  font-size:1.6rem;
  margin-top:10px;
}
.truth-page .section-head p{
  color:#4A453C;
  margin-top:14px;
  font-size:1.02rem;
}
.truth-page .alt{
  background:#FFFCF6;
  border-top:1px solid #D3C8AE;
  border-bottom:1px solid #D3C8AE;
}
.truth-page .dark{
  background:#00133B;
  color:#F3EFE5;
}
.truth-page .dark h2{
  color:#FFFCF6;
}
.truth-page .dark .eyebrow{
  color:#C79A4C;
}
.truth-page .dark .section-head p{
  color:#C7CBD4;
}
/* Trusted sources grid */
.truth-page .card{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  padding:26px 24px;
  border-radius:2px;
}
.truth-page .dark .card{
  background:rgba(255,255,255,0.04);
  border-color:rgba(255,255,255,0.14);
}
.truth-page .card h3{
  font-size:1.05rem;
  margin-bottom:10px;
}
.truth-page .card p{
  margin:0 0 14px;
  font-size:0.95rem;
  color:#4A453C;
}
.truth-page .dark .card p{
  color:#C7CBD4;
}
.truth-page .card a{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.78rem;
  text-decoration:none;
  border-bottom:1px solid #AD7F35;
  padding-bottom:2px;
}
.truth-page .dark .card a{
  color:#C79A4C;
  border-color:#C79A4C;
}
/* Threat rows */
.truth-page .threat-row{
  padding:28px 0;
  border-top:1px solid rgba(255,255,255,0.14);
}
.truth-page .threat-row:last-child{
  border-bottom:1px solid rgba(255,255,255,0.14);
}
.truth-page .threat-tag{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#C79A4C;
  padding-top:4px;
}
.truth-page .threat-row h3{
  color:#FFFCF6;
  font-size:1.15rem;
  margin-bottom:8px;
}
.truth-page .threat-row p{
  color:#C7CBD4;
  margin:0 0 10px;
  max-width:70ch;
}
.truth-page .threat-row a{
  color:#C79A4C;
  font-size:0.88rem;
}
/* Process timeline - genuine sequence: equipment test -> cast -> audit -> recount trigger -> certify */
.truth-page .timeline{
  position:relative;
  margin-top:8px;
}
.truth-page .timeline:before{
  content:"";
  position:absolute;
  top:22px;
  left:5%;
  right:5%;
  height:1px;
  background:#D3C8AE;
}
.truth-page .tl-step{
  position:relative;
  padding:0 14px;
  text-align:left;
}
.truth-page .tl-num{
  width:44px;
  height:44px;
  border-radius:50%;
  background:#F3EFE5;
  border:1px solid #00133B;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.85rem;
  color:#00133B;
  position:relative;
  z-index:1;
  margin-bottom:16px;
}
.truth-page .tl-step h3{
  font-size:0.98rem;
  margin-bottom:8px;
}
.truth-page .tl-step p{
  font-size:0.88rem;
  color:#4A453C;
  margin:0;
}
@media screen and (max-width:860px){
  .truth-page .timeline:before{
  display:none;
  }
}
.truth-page .fact-list{
  list-style:none;
  margin:0;
  padding:0;
}
.truth-page .fact-list li{
  position:relative;
  display:block;
  padding:18px 0 18px 40px;
  border-top:1px solid #D3C8AE;
  font-size:1rem;
}
.truth-page .fact-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  color:#7A2E2E;
  font-weight:700;
  font-family:"Public Sans",Arial,sans-serif;
}

/* Bottom CTA */
.truth-page .cta-band{
  background:#00133B;
  color:#FFFCF6;
  text-align:center;
  padding:76px 24px;
}
.truth-page .cta-band h2{
  color:#FFFCF6;
  font-size:1.6rem;
}
.truth-page .cta-band p{
  color:#C7CBD4;
  max-width:52ch;
  margin:16px auto 30px;
}
.truth-page footer{
  background:#00133B;
  color:#9AA1AE;
  padding:34px 24px;
  text-align:center;
  font-size:0.82rem;
}
.truth-page footer a{
  color:#C7CBD4;
  text-decoration:none;
  margin:0 10px;
}
.truth-page footer a:hover{
  color:#C79A4C;
}
.truth-page .foot-links{
  margin-bottom:12px;
}
/* ===== Press Releases ===== */
/* Press Release archive - page-specific styles. Uses variables from site.css. */
.press-releases-page .press-title{
  padding-bottom:34px;
}
.press-releases-page .press-feature-section{
  padding-top:26px;
}
.press-releases-page .release-feature{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  padding:28px;
  min-height:210px;
}
.press-releases-page .release-feature.lead{
  min-height:440px;
  background:#00133B;
  border-color:#00133B;
  padding:38px;
}
.press-releases-page .release-feature.lead h3,.press-releases-page .release-feature.lead h3 a{
  color:#FFFCF6;
  font-size:1.55rem;
}
.press-releases-page .release-feature h3{
  font-size:1.28rem;
  line-height:1.25;
  margin:14px 0 22px;
}
.press-releases-page .release-feature h3 a{
  color:#00133B;
  text-decoration:none;
}
.press-releases-page .release-feature h3 a:hover{
  text-decoration:underline;
}
.press-releases-page .release-meta{
  margin:0;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7A2E2E;
}
.press-releases-page .release-meta span+span:before{
  content:"";
  margin-right:10px;
  color:#AD7F35;
}
.press-releases-page .release-feature.lead .release-meta{
  color:#C79A4C;
}
.press-releases-page .release-open{
  margin-top:auto;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.78rem;
  color:#00133B;
  text-decoration:none;
  border-bottom:1px solid #AD7F35;
  width:auto;
  padding-bottom:3px;
}
.press-releases-page .release-feature.lead .release-open{
  color:#C79A4C;
}
.press-releases-page .media-contact{
  background:#F3EFE5;
  border:1px solid #D3C8AE;
  padding:18px 20px;
  text-decoration:none;
  min-width:260px;
  margin-bottom:36px;
}
.press-releases-page .media-contact span{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.68rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#7A2E2E;
}
.press-releases-page .media-contact strong{
  font-size:.92rem;
  color:#00133B;
  margin-top:5px;
}
.press-releases-page .release-tools{
  background:#00133B;
  padding:24px;
  margin-bottom:42px;
  border-top:3px solid #AD7F35;
}
.press-releases-page .release-search-label{
  display:block;
  color:#FFFCF6;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.72rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.press-releases-page .release-search-wrap{
  background:#FFFCF6;
  border:1px solid transparent;
}
.press-releases-page .release-search-wrap span{
  padding-left:16px;
  color:#7A2E2E;
  font-size:1.25rem;
}
.press-releases-page .release-search-wrap input{
  width:100%;
  border:0;
  background:transparent;
  padding:15px 16px;
  font:inherit;
  color:#1E1B16;
  outline:3px solid transparent;
  outline-offset:3px;
}
.press-releases-page .release-year-filters{
  margin-top:16px;
}
.press-releases-page .year-filter{
  border:1px solid rgba(255,255,255,.28);
  background:transparent;
  color:#E7E4DA;
  padding:8px 12px;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.72rem;
  cursor:pointer;
}
.press-releases-page .year-filter:hover,.press-releases-page .year-filter.active{
  background:#C79A4C;
  border-color:#C79A4C;
  color:#00133B;
}
.press-releases-page .release-count{
  margin:15px 0 0;
  color:#C7CBD4;
  font-size:.84rem;
}
.press-releases-page .release-count strong{
  color:#FFFCF6;
}
.press-releases-page .release-year{
  margin-top:44px;
}
.press-releases-page .release-year[hidden]{
  display:none;
}
.press-releases-page .release-year-heading{
  border-bottom:3px solid #00133B;
  padding-bottom:10px;
  margin-bottom:0;
}
.press-releases-page .release-year-heading h2{
  font-size:2rem;
}
.press-releases-page .release-year-heading span{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#4A453C;
}
.press-releases-page .release-list{
  border-bottom:1px solid #D3C8AE;
}
.press-releases-page .release-row{
  padding:22px 4px;
  border-top:1px solid #D3C8AE;
}
.press-releases-page .release-row[hidden]{
  display:none;
}
.press-releases-page .release-row time{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.76rem;
  color:#7A2E2E;
  padding-top:5px;
}
.press-releases-page .release-type{
  margin:0 0 6px;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.66rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#AD7F35;
}
.press-releases-page .release-row h3{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  font-size:1rem;
  line-height:1.45;
  letter-spacing:0;
}
.press-releases-page .release-row h3 a{
  color:#00133B;
  text-decoration:none;
}
.press-releases-page .release-row h3 a:hover{
  text-decoration:underline;
}
.press-releases-page .release-pdf{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.7rem;
  text-decoration:none;
  color:#00133B;
  border:1px solid #D3C8AE;
  padding:8px 9px;
  text-align:center;
  white-space:nowrap;
}
.press-releases-page .release-pdf:hover{
  background:#00133B;
  border-color:#00133B;
  color:#FFFCF6;
}
.press-releases-page .release-extra{
  display:inline-block;
  margin-top:8px;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.72rem;
  color:#7A2E2E;
  text-decoration:none;
  border-bottom:1px solid #AD7F35;
}
.press-releases-page .release-empty{
  text-align:center;
  padding:70px 24px;
  border:1px dashed #D3C8AE;
  background:#F3EFE5;
}
.press-releases-page .release-empty h2{
  font-size:1.4rem;
}
.press-releases-page .release-empty p{
  color:#4A453C;
}
@media screen and (max-width:760px){
  .press-releases-page .release-feature.lead{
  min-height:320px;
  }
  .press-releases-page .archive-heading{
  display:block;
  }
  .press-releases-page .media-contact{
  min-width:0;
  max-width:360px;
  }
  .press-releases-page .release-row time{
  padding:0;
  }
}
@media screen and (max-width:480px){
  .press-releases-page .release-feature,.press-releases-page .release-feature.lead{
  padding:24px;
  }
}
/* ===== Homepage ===== */
.page-home *{
  box-sizing:border-box;
}
.page-home{
  margin:0;
  background:#F3EFE5;
  color:#1E1B16;
  font-family:"Public Sans",Arial,sans-serif;
  line-height:1.55;
}
.page-home h1,.page-home h2,.page-home h3{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  color:#00133B;
  margin:0;
  letter-spacing:-0.01em;
}
.page-home a{
  color:#00133B;
}
.page-home a:focus,.page-home button:focus{
  outline:3px solid #C79A4C;
  outline-offset:2px;
}
.page-home .eyebrow{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A2E2E;
}
.page-home .btn{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.82rem;
  letter-spacing:0.03em;
  padding:13px 22px;
  border-radius:2px;
  text-decoration:none;
  display:inline-block;
  border:1px solid transparent;
}
.page-home .btn-primary{
  background:#00133B;
  color:#FFFCF6;
}
.page-home .btn-primary:hover{
  background:#00133B;
}
.page-home .btn-ghost{
  border-color:#00133B;
  color:#00133B;
}
.page-home .btn-ghost:hover{
  background:#00133B;
  color:#FFFCF6;
}
.page-home section{
  padding:64px 24px;
}
.page-home .section-inner{
  max-width:1160px;
  margin:0 auto;
}
/* ===== Secretary spotlight ===== */
.page-home .spotlight{
  background:#F3EFE5;
  border-bottom:1px solid #D3C8AE;
  padding:56px 24px 60px;
}
.page-home .spotlight-grid{
  max-width:1160px;
  margin:0 auto;
}
.page-home .sec-photo{
  width:168px;
  height:168px;
  border-radius:50%;
  border:4px solid #FFFCF6;
  outline:1px solid #D3C8AE;
}
.page-home .spotlight h1{
  font-size:1.9rem;
  line-height:1.08;
}
.page-home .spotlight .title{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.85rem;
  letter-spacing:0.04em;
  color:#4A453C;
  margin-top:6px;
}
.page-home .spotlight p.lede{
  margin-top:16px;
  max-width:64ch;
  color:#4A453C;
  font-size:1.02rem;
}
.page-home .spotlight-cta{
  margin-top:22px;
}
@media screen and (max-width:700px){
  .page-home .spotlight-grid{
  text-align:center;
  }
  .page-home .spotlight p.lede{
  margin-left:auto;
  margin-right:auto;
  }
}
/* ===== Quick access strip ===== */
.page-home .quick{
  background:#00133B;
  padding:16px 24px;
}
.page-home .quick-inner{
  max-width:1160px;
  margin:0 auto;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.8rem;
}
.page-home .quick-inner a{
  color:#F3EFE5;
  text-decoration:none;
  opacity:0.85;
  border-bottom:1px solid transparent;
}
.page-home .quick-inner a:hover{
  opacity:1;
  border-color:#C79A4C;
}
.page-home .quick-inner .sep{
  color:rgba(255,255,255,0.25);
}
/* ===== Division cards ===== */
.page-home .section-head{
  max-width:64ch;
  margin:0 auto 40px;
  text-align:center;
}
.page-home .section-head h2{
  font-size:1.5rem;
  margin-top:8px;
}
.page-home .division{
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  border-radius:2px;
  padding:30px 26px;
}
.page-home .division .tag{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.7rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#AD7F35;
  margin-bottom:10px;
}
.page-home .division h3{
  font-size:1.3rem;
  margin-bottom:10px;
}
.page-home .division p{
  color:#4A453C;
  font-size:0.95rem;
  margin:0 0 18px;
}
.page-home .division ul{
  list-style:none;
  margin:0 0 22px;
  padding:0;
  font-size:0.9rem;
}
.page-home .division ul a{
  text-decoration:none;
  color:#1E1B16;
  border-bottom:1px solid transparent;
}
.page-home .division ul a:hover{
  border-color:#AD7F35;
  color:#7A2E2E;
}
.page-home .division .go{
  margin-top:auto;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.8rem;
  text-decoration:none;
  color:#00133B;
  border-bottom:1px solid #AD7F35;
  padding-bottom:2px;
  width:auto;
}
/* ===== Election dates carousel ===== */
.page-home .carousel-wrap{
  max-width:1160px;
  margin:0 auto 46px;
}
.page-home .carousel{
  position:relative;
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  border-radius:2px;
  overflow:hidden;
  min-height:220px;
}
.page-home .car-slide{
  display:none;
}
.page-home .car-visual{
  background:#00133B;
  color:#FFFCF6;
  padding:30px 28px;
  position:relative;
  overflow:hidden;
}
.page-home .car-visual svg{
  position:absolute;
  bottom:-10px;
  left:50%;
  width:180px;
  opacity:0.35;
}
.page-home .car-visual .tag{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.68rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#C79A4C;
  position:relative;
  z-index:1;
}
.page-home .car-visual h3{
  color:#FFFCF6;
  font-size:1.35rem;
  line-height:1.15;
  position:relative;
  z-index:1;
}
.page-home .car-visual .script{
  font-family:"Public Sans",Arial,sans-serif;
  font-style:italic;
  font-weight:400;
  font-size:1rem;
  color:#C79A4C;
  position:relative;
  z-index:1;
}
.page-home .car-facts{
  padding:26px 30px;
}
.page-home .car-fact{
  padding:14px 0;
  border-top:1px solid #D3C8AE;
}
.page-home .car-fact:first-child{
  border-top:none;
}
.page-home .car-fact .label{
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:600;
  font-size:1.02rem;
  color:#00133B;
}
.page-home .car-fact .value{
  font-family:"Public Sans",Arial,sans-serif;
  font-size:0.92rem;
  color:#7A2E2E;
  text-align:right;
}
.page-home .car-fact .value small{
  display:block;
  font-size:0.72rem;
  color:#4A453C;
  font-weight:400;
}
.page-home .car-nav{
  position:absolute;
  top:50%;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#FFFCF6;
  border:1px solid #D3C8AE;
  cursor:pointer;
  font-family:"Public Sans",Arial,sans-serif;
  color:#00133B;
  z-index:2;
}
.page-home .car-nav:hover{
  background:#C79A4C;
  color:#FFFCF6;
  border-color:#C79A4C;
}
.page-home .car-prev{
  left:12px;
}
.page-home .car-next{
  right:12px;
}
.page-home .car-dots{
  margin-top:14px;
}
.page-home .car-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#D3C8AE;
  border:none;
  cursor:pointer;
  padding:0;
}
.page-home .car-dot.active{
  background:#AD7F35;
}
@media screen and (max-width:760px){
  .page-home .car-visual{
  padding:26px 22px 60px;
  }
}
/* ===== Office updates carousel ===== */
.page-home .office-updates-section{
  background:#F3EFE5;
  border-top:1px solid #D3C8AE;
}
.page-home .office-updates-section .section-inner{
  padding-top:54px;
  padding-bottom:54px;
}
.page-home .office-updates-head{
  max-width:760px;
  margin-bottom:24px;
}
.page-home .office-updates-head h2{
  margin-bottom:8px;
}
.page-home .office-updates-carousel{
  position:relative;
}
.page-home .office-update-card{
  display:none;
  min-height:218px;
  padding:34px 38px;
  box-sizing:border-box;
  color:#FFFCF6;
  background:#00133B;
  border-left:6px solid #C79A4C;
  box-shadow:0 7px 20px rgba(15,24,38,.12);
}
.page-home .office-update-card.active{
  display:block;
}
.page-home .office-update-card[hidden]{
  display:none;
}
.page-home .office-update-label{
  margin:0 0 10px;
  color:#E5A637;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.page-home .office-update-card h3{
  margin:0 0 12px;
  color:#FFFCF6;
  font-size:1.35rem;
}
.page-home .office-update-card > p:not(.office-update-label){
  max-width:820px;
  margin:0;
  color:#E4E7EC;
  font-size:1rem;
  line-height:1.6;
}
.page-home .office-update-action{
  display:inline-block;
  margin-top:20px;
  color:#F4C56F;
  font-size:.9rem;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:4px;
}
.page-home .office-update-action:hover,
.page-home .office-update-action:focus{
  color:#FFFFFF;
}
.page-home .office-update-controls{
  display:flex;
  margin-top:16px;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}
.page-home .office-update-controls[hidden]{
  display:none;
}
.page-home .office-update-prev,
.page-home .office-update-next{
  padding:9px 14px;
  color:#00133B;
  background:#FFFCF6;
  border:1px solid #B9AA8D;
  border-radius:2px;
  cursor:pointer;
  font-family:"Public Sans",Arial,sans-serif;
  font-weight:700;
}
.page-home .office-update-prev:hover,
.page-home .office-update-prev:focus,
.page-home .office-update-next:hover,
.page-home .office-update-next:focus{
  color:#7A2E2E;
  border-color:#AD7F35;
}
.page-home .office-update-dots{
  display:flex;
  align-items:center;
  gap:7px;
}
.page-home .office-update-dot{
  width:10px;
  height:10px;
  padding:0;
  background:#B9AA8D;
  border:0;
  border-radius:50%;
  cursor:pointer;
}
.page-home .office-update-dot.active{
  background:#7A2E2E;
  box-shadow:0 0 0 3px rgba(122,46,46,.16);
}
.page-home .office-update-status{
  min-width:42px;
  color:#4A453C;
  font-size:.82rem;
  text-align:center;
}
/* ===== Office resources ===== */
.page-home .alt{
  background:#FFFCF6;
  border-top:1px solid #D3C8AE;
  border-bottom:1px solid #D3C8AE;
}
.page-home .homepage-news .section-inner{
  padding-top:54px;
  padding-bottom:54px;
}
.page-home .updates-heading{
  max-width:760px;
  margin-bottom:24px;
}
.page-home .updates-heading h2{
  margin-bottom:8px;
}
.page-home .update-card-grid{
  display:flex;
  flex-wrap:wrap;
  margin:-8px;
}
.page-home .update-card-grid > *{
  width:calc(33.333% - 16px);
  margin:8px;
}
.page-home .update-card{
  display:flex;
  min-height:176px;
  padding:24px;
  flex-direction:column;
  box-sizing:border-box;
  background:#FFFFFF;
  border:1px solid #D3C8AE;
  border-radius:2px;
  text-decoration:none;
  color:#1E1B16;
  box-shadow:0 3px 10px rgba(15,24,38,.04);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.page-home .update-card:hover,
.page-home .update-card:focus{
  border-color:#AD7F35;
  box-shadow:0 7px 18px rgba(15,24,38,.09);
  transform:translateY(-2px);
}
.page-home .update-card-label{
  margin-bottom:9px;
  color:#7A2E2E;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.page-home .update-card strong{
  display:block;
  margin-bottom:8px;
  color:#00133B;
  font-size:1.13rem;
}
.page-home .update-card > span:not(.update-card-label):not(.update-card-action){
  color:#4A453C;
  font-size:.94rem;
  line-height:1.5;
}
.page-home .update-card-action{
  display:block;
  margin-top:auto;
  padding-top:16px;
  color:#7A2E2E;
  font-size:.88rem;
  font-weight:700;
}
@media screen and (max-width:800px){
  .page-home .update-card-grid > *{
    width:calc(100% - 16px);
  }
  .page-home .update-card{
  min-height:0;
  }
}
@media screen and (max-width:560px){
  .page-home .office-update-card{
  min-height:0;
  padding:28px 24px;
  }
  .page-home .office-update-controls{
  justify-content:center;
  flex-wrap:wrap;
  }
}.page-home footer{
  background:#00133B;
  color:#9AA1AE;
  padding:34px 24px;
  text-align:center;
  font-size:0.82rem;
}
.page-home footer a{
  color:#C7CBD4;
  text-decoration:none;
  margin:0 10px;
}
.page-home footer a:hover{
  color:#C79A4C;
}
/* ============================================================
   MODERN BROWSER RESET
   Dreamweaver Design View uses the classic fallback rules near
   the top of this file. Browsers that support CSS Grid must reset
   the fallback item widths/margins so cards fill their grid cells.
   ============================================================ */


/* ============================================================
   DREAMWEAVER-SAFE LAYOUT RULES
   These rules use tables, inline blocks, and floats instead of
   newer layout syntax that Dreamweaver does not parse reliably.
   ============================================================ */

body{min-width:320px;}
a:focus,button:focus,input:focus{outline:3px solid #C79A4C;outline-offset:2px;}
.btn,.register-page .btn,.absentee-page .btn,.accessibility-page .btn,.truth-page .btn,.page-home .btn{display:inline-block;margin:0 10px 10px 0;vertical-align:middle;}

/* Header and brand */
.site-head-inner{display:table;width:100%;max-width:1160px;margin:0 auto;padding:22px 24px;}
.site-brand{display:table;text-decoration:none;color:inherit;}
.site-head-seal,.site-head-text{display:table-cell;vertical-align:middle;}
.site-head-text{padding-left:18px;}
.site-head-eyebrow,.site-head-title,.site-head-sub{display:block;}

/* Main service menu */
.mega-bar{max-width:1160px;margin:0 auto;padding:10px 24px;text-align:right;}
.mega-toggle{display:inline-block;}
.mega-inner{max-width:1160px;margin:0 auto;padding:32px 24px 36px;font-size:0;}
.mega-col{display:inline-block;width:23%;margin-right:2%;vertical-align:top;font-size:16px;}
.mega-col:nth-child(4){margin-right:0;}
.mega-col li{margin-bottom:10px;}
.mega-note{clear:both;font-size:12px;margin-top:22px;}

/* Interior page shell */
.page-layout{display:table;width:100%;max-width:1440px;margin:0 auto;table-layout:fixed;}
.page-rail{display:table-cell;width:270px;vertical-align:top;padding:44px 22px 70px 24px;}
.page-body{display:table-cell;vertical-align:top;border-left:1px solid #D3C8AE;}
.page-rail-inner{position:relative;}
.page-toc{display:block;}
.page-toc a{display:block;}

/* Reusable columns */
.cards,.contact-grid,.divisions,.deadline-grid,.related{font-size:0;}
.cards > *,.contact-grid > *,.divisions > *,.deadline-grid > *,.related > *{display:inline-block;width:31.5%;margin:0 1.5% 20px 0;vertical-align:top;font-size:16px;}
.cards > *:nth-child(3n),.contact-grid > *:nth-child(3n),.divisions > *:nth-child(3n),.deadline-grid > *:nth-child(3n),.related > *:nth-child(3n){margin-right:0;}
.card ul li,.fact-list li,.faq-item,.update-links a{margin-bottom:10px;}
.stack > *{margin-bottom:20px;}
.cluster > *,.cta-row > *,.hero-cta > *,.spotlight-cta > *{display:inline-block;margin:0 12px 12px 0;vertical-align:middle;}

/* Homepage */
.spotlight-grid{display:table;width:100%;max-width:1160px;margin:0 auto;}
.spotlight-grid > *{display:table-cell;vertical-align:middle;}
.spotlight-grid > div{padding-left:40px;}
.quick-inner{text-align:center;}
.quick-inner a,.quick-inner .sep{display:inline-block;margin:3px 10px;}
.page-home .divisions{font-size:0;}
.page-home .division{display:inline-block;width:31.5%;margin:0 1.5% 20px 0;vertical-align:top;font-size:16px;min-height:440px;}
.page-home .division:nth-child(3n){margin-right:0;}
.page-home .division ul li{margin-bottom:9px;}
.carousel{display:block;}
.car-slide{display:none;}
.car-slide.active{display:table;width:100%;table-layout:fixed;}
.car-visual,.car-facts{display:table-cell;width:40%;vertical-align:middle;}
.car-facts{width:60%;}
.car-fact{display:table;width:100%;border-top:1px solid #D3C8AE;}
.car-fact .label,.car-fact .value{display:table-cell;vertical-align:baseline;}
.car-fact .value{text-align:right;}
.car-dots{text-align:center;}
.car-dot{display:inline-block;margin:0 4px;}
.updates{display:table;width:100%;table-layout:fixed;}
.updates > *{display:table-cell;width:50%;vertical-align:top;}
.updates > * + *{padding-left:30px;}

/* Press releases */
.release-feature-grid:after,.archive-heading:after{content:"";display:block;clear:both;}
.release-feature{box-sizing:border-box;}
.release-feature.lead{float:left;width:57%;min-height:440px;}
.release-feature-grid .release-feature:not(.lead){float:right;width:40%;min-height:210px;margin-bottom:20px;}
.release-meta span{display:inline-block;margin-right:10px;}
.release-open{display:inline-block;}
.archive-heading .section-head{float:left;width:64%;}
.media-contact{float:right;width:32%;}
.release-search-wrap{display:table;width:100%;}
.release-search-wrap span,.release-search-wrap input{display:table-cell;vertical-align:middle;}
.release-year-filters{margin-top:16px;}
.year-filter{display:inline-block;margin:0 8px 8px 0;}
.release-year-heading{display:table;width:100%;}
.release-year-heading h2,.release-year-heading span{display:table-cell;vertical-align:baseline;}
.release-year-heading span{text-align:right;}
.release-row{display:table;width:100%;table-layout:fixed;}
.release-row time,.release-row-main,.release-pdf{display:table-cell;vertical-align:top;}
.release-row time{width:155px;}
.release-pdf{width:70px;}
.release-row-main{padding:0 24px;}

/* Truth and transparency page */
.truth-page .ribbon{text-align:center;}
.truth-page .ribbon > *{display:inline-block;margin:0 10px 6px;}
.truth-page header.site{display:table;width:100%;}
.truth-page .brand,.truth-page nav.top{display:table-cell;vertical-align:middle;}
.truth-page nav.top{text-align:right;}
.truth-page .brand-mark,.truth-page .brand-text{display:inline-block;vertical-align:middle;}
.truth-page .brand-text{margin-left:14px;}
.truth-page .hero-grid{display:table;width:100%;table-layout:fixed;}
.truth-page .hero-grid > *{display:table-cell;width:55%;vertical-align:middle;}
.truth-page .hero-grid > * + *{width:45%;padding-left:50px;}
.truth-page .quote-block{display:table;width:100%;}
.truth-page .quote-mark,.truth-page .quote-block blockquote{display:table-cell;vertical-align:top;}
.truth-page .quote-mark{width:70px;}
.truth-page .threat-row{display:table;width:100%;table-layout:fixed;}
.truth-page .threat-tag,.truth-page .threat-row > div{display:table-cell;vertical-align:top;}
.truth-page .threat-tag{width:120px;}
.truth-page .threat-row > div{padding-left:28px;}
.truth-page .timeline{font-size:0;}
.truth-page .tl-step{display:inline-block;width:20%;vertical-align:top;font-size:16px;}
.truth-page .tl-num{line-height:44px;text-align:center;}

/* Small screen layout */
@media screen and (max-width:980px){
  .page-layout,.page-rail,.page-body{display:block;width:auto;}
  .page-body{border-left:0;}
  .page-rail{padding:18px 24px 0;}
  .page-rail-toggle{display:block;width:100%;}
  .page-rail-panel{display:none;}
  .page-rail-panel.is-open{display:block;}
  .mega-col{width:48%;margin-right:2%;}
  .spotlight-grid,.spotlight-grid > *{display:block;width:auto;text-align:center;}
  .spotlight-grid > div{padding-left:0;}
  .page-home .division{width:100%;margin-right:0;min-height:0;}
  .truth-page .hero-grid,.truth-page .hero-grid > *{display:block;width:auto;}
  .truth-page .hero-grid > * + *{padding-left:0;margin-top:28px;}
}
@media screen and (max-width:760px){
  .cards > *,.contact-grid > *,.deadline-grid > *,.related > *{display:block;width:auto;margin-right:0;}
  .release-feature.lead,.release-feature-grid .release-feature:not(.lead){float:none;width:auto;min-height:0;margin-bottom:20px;}
  .archive-heading .section-head,.media-contact{float:none;width:auto;}
  .release-row,.release-row time,.release-row-main,.release-pdf{display:block;width:auto;}
  .release-row-main{padding:10px 0;}
  .release-pdf{display:inline-block;}
  .car-slide.active,.car-visual,.car-facts{display:block;width:auto;}
  .updates,.updates > *{display:block;width:auto;}
  .updates > * + *{padding-left:0;margin-top:20px;}
  .truth-page .tl-step{display:block;width:auto;margin-bottom:24px;}
}
@media screen and (max-width:560px){
  .mega-col{display:block;width:auto;margin-right:0;}
  .site-head-title{font-size:1.35rem;}
  .site-head-sub{font-size:.76rem;}
}

/* =========================================================
   HOMEPAGE VISUAL CORRECTIONS
   Keeps portrait proportions, prevents button text clipping,
   and makes the election illustration clearly visible.
   ========================================================= */

.spotlight-grid {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.spotlight-grid > .sec-photo {
  display: inline-block;
  vertical-align: middle;
}

.sec-photo {
  width: 168px !important;
  height: 168px !important;
  min-width: 168px;
  min-height: 168px;
  max-width: 168px;
  max-height: 168px;
  object-fit: cover;
  object-position: 50% 18%;
  border-radius: 50%;
}

.spotlight-grid > div {
  display: inline-block;
  width: calc(100% - 230px);
  margin-left: 40px;
  vertical-align: middle;
}

.btn,
.spotlight-cta .btn {
  min-height: 48px;
  height: auto !important;
  padding: 13px 22px !important;
  line-height: 1.35 !important;
  white-space: normal;
  overflow: visible !important;
  box-sizing: border-box;
  text-align: center;
}

.car-visual {
  min-height: 250px;
  overflow: hidden;
}

.car-visual svg {
  display: block !important;
  position: absolute;
  width: 210px !important;
  height: auto !important;
  left: 50% !important;
  bottom: -4px !important;
  margin-left: -105px;
  opacity: 0.78 !important;
  z-index: 0;
}

.car-visual svg circle,
.car-visual svg rect,
.car-visual svg path,
.car-visual svg polygon {
  fill: #C79A4C !important;
  stroke: none;
}

.car-visual .tag,
.car-visual h3,
.car-visual .script {
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 760px) {
  .spotlight-grid {
    display: block;
    text-align: center;
  }

  .spotlight-grid > .sec-photo,
  .spotlight-grid > div {
    display: block;
    width: auto;
    margin-left: auto;
    margin-right: auto;
  }

  .spotlight-grid > div {
    margin-top: 24px;
  }

  .spotlight-cta {
    text-align: center;
  }

  .spotlight-cta .btn {
    margin-bottom: 10px;
  }
}

/* ===== FINAL CROSS-PAGE CORRECTIONS ===== */
/* These rules are intentionally written with older, widely supported CSS. */

/* Keep the SD brand mark circular in Dreamweaver and all browsers. */
.site-brand {
  display: block;
  text-decoration: none;
  white-space: normal;
}
.site-head-seal {
  display: inline-block !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px;
  min-height: 54px;
  padding: 0 !important;
  line-height: 54px !important;
  text-align: center;
  vertical-align: middle;
  border-radius: 50% !important;
  overflow: hidden;
  box-sizing: border-box;
}
.site-head-text {
  display: inline-block !important;
  width: auto !important;
  padding-left: 18px;
  vertical-align: middle;
  box-sizing: border-box;
}

/* Press-release feature cards: balanced without an oversized empty panel. */
.press-releases-page .release-feature.lead {
  min-height: 320px !important;
}
.press-releases-page .release-feature-grid .release-feature:not(.lead) {
  min-height: 150px !important;
}
.press-releases-page .release-feature h3 {
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.press-releases-page .release-open {
  white-space: normal;
}

/* Tablet adjustments. */
@media screen and (max-width: 980px) {
  .site-head-inner {
    padding: 18px 20px;
  }
  .page-layout,
  .page-rail,
  .page-body {
    display: block;
    width: auto;
  }
  .page-body {
    border-left: 0;
  }
  .page-rail {
    padding: 18px 20px 0;
  }
  .page-rail-toggle {
    display: block;
    width: 100%;
  }
  .page-rail-panel {
    display: none;
  }
  .page-rail-panel.is-open {
    display: block;
  }
}

/* Phone adjustments. */
@media screen and (max-width: 760px) {
  .site-head-seal {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px;
    min-height: 46px;
    line-height: 46px !important;
    font-size: 0.86rem;
  }
  .site-head-text {
    padding-left: 12px;
    max-width: 78%;
  }
  .site-head-title {
    font-size: 1.25rem;
    line-height: 1.15;
  }
  .site-head-eyebrow,
  .site-head-sub {
    font-size: 0.68rem;
  }
  .mega-bar,
  .page-title,
  .section-inner {
    padding-left: 18px;
    padding-right: 18px;
  }
  .mega-toggle {
    width: 100%;
    text-align: center;
  }
  .press-releases-page .release-feature.lead,
  .press-releases-page .release-feature-grid .release-feature:not(.lead) {
    float: none;
    width: auto;
    min-height: 0 !important;
    margin: 0 0 18px;
  }
  .press-releases-page .release-feature,
  .press-releases-page .release-feature.lead {
    padding: 24px;
  }
  .release-row,
  .release-row time,
  .release-row-main,
  .release-pdf {
    display: block;
    width: auto;
  }
  .release-row-main {
    padding: 10px 0;
  }
  .release-pdf {
    display: inline-block;
  }
  .fact-list li {
    padding-left: 34px;
  }
}

@media screen and (max-width: 420px) {
  .site-head-title {
    font-size: 1.08rem;
  }
  .site-head-sub {
    display: none;
  }
  .page-title h1 {
    font-size: 1.65rem;
  }
  .btn,
  .spotlight-cta .btn {
    display: block;
    width: 100%;
    margin-right: 0;
  }
}

/* ============================================================
   FINAL GLOBAL HOTFIX
   Uploading this one CSS file applies these corrections to all
   redesigned pages. No ASPX files or JavaScript files are needed
   for this round of fixes.
   ============================================================ */

/* 1. Use a CSS-drawn marker instead of an encoded checkmark.
      This avoids \2713, u2713, and character-set problems. */
.fact-list li:before,
.register-page .fact-list li:before,
.absentee-page .fact-list li:before,
.accessibility-page .fact-list li:before,
.felony-page .fact-list li:before,
.truth-page .fact-list li:before {
  content: "" !important;
  display: block;
  width: 8px;
  height: 8px;
  left: 5px;
  top: 24px;
  background: #7A2E2E;
  border: 0;
  border-radius: 50%;
  line-height: 0;
}

/* 2. Use a border between press-release date and category instead
      of an encoded centered dot. */
.press-releases-page .release-meta span {
  display: inline-block;
  margin-right: 0;
}
.press-releases-page .release-meta span + span {
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px solid #AD7F35;
}
.press-releases-page .release-meta span + span:before {
  content: "" !important;
  display: none !important;
}

/* 3. Keep both smaller featured press-release cards aligned on the
      same right edge and remove inherited fallback margins. */
.press-releases-page .release-feature-grid {
  display: block;
  width: 100%;
  font-size: 16px;
}
.press-releases-page .release-feature-grid:after {
  content: "";
  display: block;
  clear: both;
}
.press-releases-page .release-feature-grid .release-feature {
  box-sizing: border-box;
}
.press-releases-page .release-feature-grid .release-feature.lead {
  float: left;
  width: 57%;
  min-height: 300px !important;
  margin: 0 !important;
}
.press-releases-page .release-feature-grid .release-feature:not(.lead) {
  float: right;
  clear: right;
  width: 40%;
  min-height: 0 !important;
  margin: 0 0 20px 0 !important;
}

/* 4. Remove the gold courthouse-style graphic from the election
      carousel and leave comfortable spacing around the text. */
.page-home .car-visual {
  min-height: 220px;
  padding: 42px 42px 42px 62px !important;
}
.page-home .car-visual svg {
  display: none !important;
}
.page-home .car-facts {
  padding: 26px 62px 26px 30px !important;
}

/* 5. Replace the clipped Unicode carousel arrows with plain,
      encoding-safe ASCII arrows and center them vertically. */
.page-home .car-nav {
  width: 36px !important;
  height: 36px !important;
  margin-top: -18px;
  padding: 0 !important;
  overflow: visible !important;
  text-align: center;
  line-height: 34px !important;
  font-size: 0 !important;
  box-sizing: border-box;
}
.page-home .car-nav:after {
  display: block;
  width: 34px;
  height: 34px;
  line-height: 32px;
  font-family: Arial, sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: #00133B;
  text-align: center;
}
.page-home .car-prev:after {
  content: "<";
}
.page-home .car-next:after {
  content: ">";
}
.page-home .car-nav:hover:after {
  color: #FFFCF6;
}
.page-home .car-prev {
  left: 14px !important;
}
.page-home .car-next {
  right: 14px !important;
}

/* Tablet and phone behavior. */
@media screen and (max-width: 760px) {
  .press-releases-page .release-feature-grid .release-feature.lead,
  .press-releases-page .release-feature-grid .release-feature:not(.lead) {
    float: none;
    clear: both;
    width: auto;
    min-height: 0 !important;
    margin: 0 0 18px 0 !important;
  }

  .page-home .car-visual {
    min-height: 0;
    padding: 34px 54px 34px 54px !important;
  }

  .page-home .car-facts {
    padding: 22px 54px 22px 24px !important;
  }

  .page-home .car-prev {
    left: 10px !important;
  }

  .page-home .car-next {
    right: 10px !important;
  }
}

@media screen and (max-width: 420px) {
  .page-home .car-visual {
    padding-left: 48px !important;
    padding-right: 24px !important;
  }

  .page-home .car-facts {
    padding-left: 20px !important;
    padding-right: 48px !important;
  }

  .press-releases-page .release-meta span {
    display: block;
  }

  .press-releases-page .release-meta span + span {
    margin-left: 0;
    margin-top: 5px;
    padding-left: 0;
    border-left: 0;
  }
}

/* ============================================================
   CAROUSEL BUTTON CORRECTION
   Draws the arrows with CSS so no arrow character can clip,
   move below the circle, or be affected by page encoding.
   ============================================================ */

.page-home .car-nav {
  position: absolute;
  display: block !important;
  width: 36px !important;
  height: 36px !important;
  margin-top: -18px;
  padding: 0 !important;
  overflow: hidden !important;
  text-indent: -9999px;
  white-space: nowrap;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  box-sizing: border-box;
}

.page-home .car-nav:after {
  content: "" !important;
  position: absolute;
  display: block;
  width: 8px;
  height: 8px;
  top: 12px;
  border-top: 2px solid #00133B;
  border-right: 2px solid #00133B;
  font-size: 0;
  line-height: 0;
  box-sizing: border-box;
}

.page-home .car-prev:after {
  left: 14px;
  transform: rotate(-135deg);
}

.page-home .car-next:after {
  left: 11px;
  transform: rotate(45deg);
}

.page-home .car-nav:hover:after,
.page-home .car-nav:focus:after {
  border-color: #FFFCF6;
}

/* ============================================================
   2026 ELECTION INFORMATION SECTION
   ============================================================ */

.page-2026-election .page-rail {
  width: 315px;
}

.page-2026-election .page-rail-title {
  line-height: 1.2;
}

.page-2026-election .section-nav a {
  line-height: 1.3;
}

.page-2026-election .section-nav a.is-active {
  border-left: 4px solid #7A2E2E;
  padding-left: 13px;
}

.e26-hero-note {
  background: #00133B;
  color: #FFFCF6;
  border-top: 4px solid #C79A4C;
  padding: 28px 30px;
  margin: 0 0 34px;
}

.e26-hero-note h2,
.e26-hero-note h3 {
  color: #FFFCF6;
  margin-top: 0;
}

.e26-hero-note p {
  color: #E2E4E8;
}

.e26-hero-note .eyebrow {
  color: #C79A4C;
}

.e26-hero-note a {
  color: #FFFCF6;
}

.e26-actions {
  margin-top: 20px;
}

.e26-actions .btn {
  margin: 0 10px 10px 0;
}

.e26-grid,
.e26-date-grid,
.e26-stat-grid,
.e26-county-grid {
  display: block;
  width: 100%;
  font-size: 0;
}

.e26-card,
.e26-date-card,
.e26-stat,
.e26-county-card {
  display: inline-block;
  width: 31.5%;
  margin: 0 2.5% 22px 0;
  vertical-align: top;
  box-sizing: border-box;
  font-size: 16px;
}

.e26-card:nth-child(3n),
.e26-date-card:nth-child(3n),
.e26-stat:nth-child(3n),
.e26-county-card:nth-child(3n) {
  margin-right: 0;
}

.e26-card,
.e26-date-card,
.e26-county-card {
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  padding: 24px;
}

.e26-card h3,
.e26-date-card h3,
.e26-county-card h3 {
  margin-top: 0;
}

.e26-card p,
.e26-date-card p,
.e26-county-card p {
  color: #4A453C;
}

.e26-tag {
  display: block;
  margin-bottom: 8px;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.e26-date-card {
  border-top: 4px solid #AD7F35;
  min-height: 255px;
}

.e26-date-card.current {
  background: #00133B;
  border-color: #00133B;
  border-top-color: #C79A4C;
  color: #FFFCF6;
}

.e26-date-card.current h3,
.e26-date-card.current p,
.e26-date-card.current a {
  color: #FFFCF6;
}

.e26-date-card.current .e26-tag {
  color: #C79A4C;
}

.e26-date-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

.e26-date-list li {
  border-top: 1px solid #D3C8AE;
  padding: 11px 0;
}

.e26-date-card.current .e26-date-list li {
  border-top-color: #435066;
}

.e26-date-list strong {
  display: block;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.82rem;
  color: #7A2E2E;
}

.e26-date-card.current .e26-date-list strong {
  color: #C79A4C;
}

.e26-stat {
  background: #F3EFE5;
  border: 1px solid #D3C8AE;
  padding: 22px;
  text-align: center;
}

.e26-stat strong {
  display: block;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 1.8rem;
  color: #00133B;
}

.e26-stat span {
  display: block;
  margin-top: 5px;
  color: #4A453C;
}

.e26-timeline {
  border-left: 3px solid #AD7F35;
  margin: 24px 0 10px 10px;
  padding-left: 28px;
}

.e26-timeline-item {
  position: relative;
  border-bottom: 1px solid #D3C8AE;
  padding: 0 0 24px;
  margin: 0 0 24px;
}

.e26-timeline-item:before {
  content: "";
  position: absolute;
  left: -36px;
  top: 4px;
  width: 13px;
  height: 13px;
  background: #7A2E2E;
  border: 3px solid #F3EFE5;
  border-radius: 50%;
}

.e26-timeline-date {
  display: block;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.e26-timeline-item h3 {
  margin: 5px 0 8px;
}

.e26-table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 20px 0 30px;
  border: 1px solid #D3C8AE;
  background: #FFFCF6;
}

.e26-data-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}

.e26-data-table caption {
  text-align: left;
  padding: 18px 20px;
  background: #00133B;
  color: #FFFCF6;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
}

.e26-data-table th,
.e26-data-table td {
  border-bottom: 1px solid #D3C8AE;
  padding: 13px 15px;
  text-align: left;
  vertical-align: top;
}

.e26-data-table th {
  background: #EAE3D2;
  color: #00133B;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}

.e26-data-table tr:last-child td {
  border-bottom: 0;
}

.e26-note {
  background: #FFFCF6;
  border-left: 5px solid #AD7F35;
  padding: 20px 22px;
  margin: 24px 0;
}

.e26-note.warning {
  border-left-color: #7A2E2E;
}

.e26-note h3 {
  margin-top: 0;
}

.e26-link-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

.e26-link-list li {
  border-top: 1px solid #D3C8AE;
  padding: 13px 0;
}

.e26-link-list li:first-child {
  border-top: 0;
}

.e26-law {
  display: inline-block;
  background: #EAE3D2;
  color: #00133B;
  padding: 3px 8px;
  margin: 2px 3px 2px 0;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.75rem;
}

.e26-step-list {
  counter-reset: e26step;
  list-style: none;
  margin: 24px 0;
  padding: 0;
}

.e26-step-list li {
  counter-increment: e26step;
  position: relative;
  padding: 0 0 24px 58px;
  min-height: 42px;
}

.e26-step-list li:before {
  content: counter(e26step);
  position: absolute;
  left: 0;
  top: 0;
  width: 38px;
  height: 38px;
  line-height: 38px;
  text-align: center;
  background: #00133B;
  color: #FFFCF6;
  border-radius: 50%;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-weight: 600;
}

.e26-small {
  color: #4A453C;
  font-size: 0.88rem;
}

.e26-status {
  display: inline-block;
  background: #7A2E2E;
  color: #FFFCF6;
  padding: 5px 9px;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

@media screen and (max-width: 980px) {
  .page-2026-election .page-rail {
    width: auto;
  }

  .e26-card,
  .e26-date-card,
  .e26-stat,
  .e26-county-card {
    width: 48.5%;
    margin-right: 3%;
  }

  .e26-card:nth-child(3n),
  .e26-date-card:nth-child(3n),
  .e26-stat:nth-child(3n),
  .e26-county-card:nth-child(3n) {
    margin-right: 3%;
  }

  .e26-card:nth-child(2n),
  .e26-date-card:nth-child(2n),
  .e26-stat:nth-child(2n),
  .e26-county-card:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 620px) {
  .e26-card,
  .e26-date-card,
  .e26-stat,
  .e26-county-card {
    display: block;
    width: auto;
    margin-right: 0;
  }

  .e26-card:nth-child(2n),
  .e26-card:nth-child(3n),
  .e26-date-card:nth-child(2n),
  .e26-date-card:nth-child(3n),
  .e26-stat:nth-child(2n),
  .e26-stat:nth-child(3n),
  .e26-county-card:nth-child(2n),
  .e26-county-card:nth-child(3n) {
    margin-right: 0;
  }

  .e26-hero-note {
    padding: 24px 20px;
  }

  .e26-actions .btn {
    display: block;
    width: 100%;
    margin-right: 0;
  }

  .e26-timeline {
    margin-left: 4px;
    padding-left: 23px;
  }

  .e26-timeline-item:before {
    left: -31px;
  }
}

/* ============================================================
   2026 ELECTION CARD RESOURCE DROPDOWNS
   Native HTML details/summary controls; no JavaScript required.
   ============================================================ */

.e26-resource-menu {
  display: block;
  margin-top: 18px;
  border-top: 1px solid #D3C8AE;
}

.e26-resource-menu summary {
  display: list-item;
  padding: 13px 2px 11px;
  color: #00133B;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.4;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.e26-resource-menu summary:hover,
.e26-resource-menu summary:focus {
  color: #7A2E2E;
}

.e26-resource-menu-body {
  padding: 4px 2px 2px;
}

.e26-resource-menu-body ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.e26-resource-menu-body li {
  border-top: 1px solid #D3C8AE;
  padding: 10px 0;
  line-height: 1.35;
}

.e26-resource-menu-body li:first-child {
  border-top: 0;
}

.e26-resource-menu-body a {
  font-size: 0.9rem;
}

.e26-resource-note {
  margin: 8px 0 4px;
  color: #4A453C;
  font-size: 0.82rem;
  line-height: 1.45;
}

.e26-date-card.current .e26-resource-menu {
  border-top-color: #435066;
}

.e26-date-card.current .e26-resource-menu summary {
  color: #FFFCF6;
}

.e26-date-card.current .e26-resource-menu summary:hover,
.e26-date-card.current .e26-resource-menu summary:focus {
  color: #C79A4C;
}

.e26-date-card.current .e26-resource-menu-body li {
  border-top-color: #435066;
}

.e26-date-card.current .e26-resource-menu-body a {
  color: #FFFCF6;
}

.e26-date-card.current .e26-resource-menu-body a:hover,
.e26-date-card.current .e26-resource-menu-body a:focus {
  color: #C79A4C;
}

.e26-date-card.current .e26-resource-note {
  color: #D7DAE1;
}

@media screen and (max-width: 620px) {
  .e26-resource-menu summary {
    padding-top: 15px;
    padding-bottom: 13px;
  }

  .e26-resource-menu-body a {
    display: block;
    padding: 2px 0;
  }
}

/* ============================================================
   PETITIONS SECTION
   ============================================================ */

.page-petitions .page-rail {
  width: 290px;
}

.page-petitions .page-rail-title {
  line-height: 1.2;
}

.page-petitions .section-nav a.is-active {
  border-left: 4px solid #7A2E2E;
  padding-left: 13px;
}

.petition-alert {
  background: #00133B;
  color: #FFFCF6;
  border-top: 4px solid #C79A4C;
  padding: 28px 30px;
  margin: 0 0 32px;
}

.petition-alert h2,
.petition-alert h3 {
  color: #FFFCF6;
  margin-top: 0;
}

.petition-alert p,
.petition-alert li {
  color: #E2E4E8;
}

.petition-alert a {
  color: #FFFCF6;
}

.petition-alert .eyebrow {
  color: #C79A4C;
}

.petition-jump {
  display: block;
  width: 100%;
  margin: 0 0 34px;
  font-size: 0;
}

.petition-jump a {
  display: inline-block;
  width: 31.5%;
  margin: 0 2.5% 14px 0;
  padding: 15px 18px;
  vertical-align: top;
  box-sizing: border-box;
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  border-left: 4px solid #AD7F35;
  color: #00133B;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.78rem;
  line-height: 1.35;
  text-decoration: none;
}

.petition-jump a:nth-child(3n) {
  margin-right: 0;
}

.petition-jump a:hover,
.petition-jump a:focus {
  background: #EAE3D2;
  border-left-color: #7A2E2E;
}

.petition-group {
  margin: 0 0 40px;
}

.petition-group-header {
  border-bottom: 3px solid #AD7F35;
  margin-bottom: 18px;
  padding-bottom: 10px;
}

.petition-group-header .eyebrow {
  display: block;
  margin-bottom: 5px;
}

.petition-group-header h2 {
  margin: 0;
}

.petition-table-wrap {
  width: 100%;
  overflow-x: auto;
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
}

.petition-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.petition-table th,
.petition-table td {
  border-bottom: 1px solid #D3C8AE;
  padding: 16px 17px;
  text-align: left;
  vertical-align: top;
}

.petition-table th {
  background: #EAE3D2;
  color: #00133B;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.petition-table tr:last-child td {
  border-bottom: 0;
}

.petition-table .rule-col {
  width: 135px;
}

.petition-table .download-col {
  width: 250px;
}

.petition-rule {
  display: inline-block;
  background: #EAE3D2;
  color: #00133B;
  padding: 4px 8px;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.74rem;
  text-decoration: none;
}

.petition-title {
  display: block;
  color: #00133B;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-weight: 600;
  line-height: 1.3;
}

.petition-note {
  display: block;
  margin-top: 7px;
  color: #4A453C;
  font-size: 0.84rem;
  line-height: 1.45;
}

.petition-form-links a {
  display: inline-block;
  margin: 0 7px 7px 0;
  padding: 7px 10px;
  background: #00133B;
  border: 1px solid #00133B;
  color: #FFFCF6;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.72rem;
  line-height: 1.25;
  text-decoration: none;
}

.petition-form-links a.secondary {
  background: transparent;
  color: #00133B;
}

.petition-form-links a:hover,
.petition-form-links a:focus {
  background: #7A2E2E;
  border-color: #7A2E2E;
  color: #FFFCF6;
}

.petition-guides {
  margin-top: 10px;
}

.petition-guides a {
  font-size: 0.84rem;
}

.petition-process-grid,
.petition-fee-grid,
.petition-law-grid {
  display: block;
  width: 100%;
  font-size: 0;
}

.petition-process-card,
.petition-fee-card,
.petition-law-card {
  display: inline-block;
  width: 31.5%;
  margin: 0 2.5% 22px 0;
  padding: 23px;
  vertical-align: top;
  box-sizing: border-box;
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  font-size: 16px;
}

.petition-process-card:nth-child(3n),
.petition-fee-card:nth-child(3n),
.petition-law-card:nth-child(3n) {
  margin-right: 0;
}

.petition-process-card .number {
  display: block;
  width: 38px;
  height: 38px;
  margin-bottom: 15px;
  background: #00133B;
  color: #FFFCF6;
  border-radius: 50%;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-weight: 600;
  line-height: 38px;
  text-align: center;
}

.petition-process-card h3,
.petition-fee-card h3,
.petition-law-card h3 {
  margin-top: 0;
}

.petition-fee-card {
  border-top: 4px solid #AD7F35;
}

.petition-fee-card strong {
  display: block;
  margin-bottom: 7px;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 1.45rem;
}

.petition-law-card a {
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.8rem;
}

.petition-prohibited {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
}

.petition-prohibited li {
  position: relative;
  border-top: 1px solid #D3C8AE;
  padding: 14px 0 14px 32px;
}

.petition-prohibited li:first-child {
  border-top: 0;
}

.petition-prohibited li:before {
  content: "";
  position: absolute;
  left: 5px;
  top: 21px;
  width: 9px;
  height: 9px;
  background: #7A2E2E;
  border-radius: 50%;
}

.petition-contact {
  background: #EAE3D2;
  border-left: 5px solid #AD7F35;
  padding: 22px 24px;
  margin: 26px 0;
}

.petition-contact h3 {
  margin-top: 0;
}

.petition-contact address {
  font-style: normal;
  line-height: 1.65;
}

@media screen and (max-width: 980px) {
  .page-petitions .page-rail {
    width: auto;
  }

  .petition-jump a,
  .petition-process-card,
  .petition-fee-card,
  .petition-law-card {
    width: 48.5%;
    margin-right: 3%;
  }

  .petition-jump a:nth-child(3n),
  .petition-process-card:nth-child(3n),
  .petition-fee-card:nth-child(3n),
  .petition-law-card:nth-child(3n) {
    margin-right: 3%;
  }

  .petition-jump a:nth-child(2n),
  .petition-process-card:nth-child(2n),
  .petition-fee-card:nth-child(2n),
  .petition-law-card:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 720px) {
  .petition-jump a,
  .petition-process-card,
  .petition-fee-card,
  .petition-law-card {
    display: block;
    width: auto;
    margin-right: 0;
  }

  .petition-jump a:nth-child(2n),
  .petition-jump a:nth-child(3n),
  .petition-process-card:nth-child(2n),
  .petition-process-card:nth-child(3n),
  .petition-fee-card:nth-child(2n),
  .petition-fee-card:nth-child(3n),
  .petition-law-card:nth-child(2n),
  .petition-law-card:nth-child(3n) {
    margin-right: 0;
  }

  .petition-alert {
    padding: 24px 20px;
  }

  .petition-table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .petition-table,
  .petition-table tbody,
  .petition-table tr,
  .petition-table td {
    display: block;
    width: auto;
    min-width: 0;
  }

  .petition-table thead {
    display: none;
  }

  .petition-table tr {
    margin-bottom: 18px;
    background: #FFFCF6;
    border: 1px solid #D3C8AE;
  }

  .petition-table td {
    border-bottom: 1px solid #D3C8AE;
    padding: 13px 15px;
  }

  .petition-table td:last-child {
    border-bottom: 0;
  }

  .petition-table td:before {
    content: attr(data-label);
    display: block;
    margin-bottom: 6px;
    color: #7A2E2E;
    font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
}

/* ============================================================
   DIVISION-AWARE SERVICE MENU
   Each template sets body[data-division] and each mega-menu
   column identifies its division with data-division.
   ============================================================ */

.mega-col.is-current-division h4 {
  color: #FFFCF6;
  border-bottom-color: #C79A4C;
  box-shadow: inset 0 -2px 0 #C79A4C;
}

.mega-col.is-current-division > ul {
  border-left: 2px solid #AD7F35;
  padding-left: 14px;
}

.mega-col a.current-group {
  color: #C79A4C;
  border-color: #C79A4C;
  font-weight: 600;
}

@media screen and (max-width: 760px) {
  .mega-col.is-current-division > ul {
    border-left: 0;
    padding-left: 0;
  }
}

/* ============================================================
   ELECTION TRUTH SEAL RESTORATION
   Restores the navy/gold SVG rings, rotates the verification
   wording around a stationary checkmark, and centers both SD marks.
   ============================================================ */

/* Center the SD mark in the standard site header. */
.site-head-seal {
  text-align: center !important;
  text-indent: 0 !important;
}

/* Center the smaller outlined SD mark used inside the Truth page. */
.truth-page .brand-mark {
  display: inline-block !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  min-height: 44px;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 40px !important;
  text-align: center !important;
  text-indent: 0 !important;
  vertical-align: middle;
  box-sizing: border-box;
  overflow: hidden;
}

/* Keep the verification seal centered in its column. */


.truth-page .seal {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}

/* The SVG markup used CSS variables that are no longer present.
   These explicit colors restore all rings and the center emblem. */
.truth-page .seal svg > circle:nth-of-type(1) {
  fill: none !important;
  stroke: #00133B !important;
}

.truth-page .seal svg > circle:nth-of-type(2) {
  fill: none !important;
  stroke: #AD7F35 !important;
}

.truth-page .seal svg > circle:nth-of-type(3) {
  fill: #00133B !important;
  stroke: none !important;
}

.truth-page .seal #sealtext {
  fill: #00133B !important;
  transform-origin: 150px 150px;
  animation: truthSealTextRotation 24s linear infinite;
}

/* Keep the checkmark stationary and restore its gold appearance. */
.truth-page .seal svg > path:last-child {
  fill: none !important;
  stroke: #C79A4C !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@keyframes truthSealTextRotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Respect visitors who request reduced motion. */
@media screen and (prefers-reduced-motion: reduce) {
  .truth-page .seal #sealtext {
    animation: none;
  }
}

/* ============================================================
   POLITICAL PARTY INFORMATION SECTION
   Neutral presentation of official party contact, convention,
   formation, and statutory information.
   ============================================================ */

.page-political-parties .page-rail {
  width: 310px;
}

.page-political-parties .section-nav a.is-active {
  border-left: 4px solid #7A2E2E;
  padding-left: 13px;
}

.party-intro {
  background: #00133B;
  color: #FFFCF6;
  border-top: 4px solid #C79A4C;
  padding: 28px 30px;
  margin: 0 0 34px;
}

.party-intro h2,
.party-intro h3 {
  color: #FFFCF6;
  margin-top: 0;
}

.party-intro p {
  color: #E2E4E8;
}

.party-intro .eyebrow {
  color: #C79A4C;
}

.party-card-grid,
.party-stat-grid,
.party-deadline-grid,
.party-law-grid,
.party-convention-grid {
  display: block;
  width: 100%;
  font-size: 0;
}

.party-card,
.party-stat,
.party-deadline-card,
.party-law-card,
.party-convention-card {
  display: inline-block;
  width: 31.5%;
  margin: 0 2.5% 22px 0;
  vertical-align: top;
  box-sizing: border-box;
  font-size: 16px;
}

.party-card:nth-child(3n),
.party-stat:nth-child(3n),
.party-deadline-card:nth-child(3n),
.party-law-card:nth-child(3n),
.party-convention-card:nth-child(3n) {
  margin-right: 0;
}

.party-card,
.party-deadline-card,
.party-law-card,
.party-convention-card {
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  padding: 24px;
}

.party-card {
  border-top: 4px solid #AD7F35;
}

.party-card h3,
.party-deadline-card h3,
.party-law-card h3,
.party-convention-card h3 {
  margin-top: 0;
}

.party-label {
  display: block;
  margin-bottom: 8px;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.party-contact {
  margin: 13px 0 16px;
  color: #4A453C;
  font-style: normal;
  line-height: 1.6;
}

.party-resource-list,
.party-event-list {
  list-style: none;
  margin: 17px 0 0;
  padding: 0;
}

.party-resource-list li,
.party-event-list li {
  border-top: 1px solid #D3C8AE;
  padding: 11px 0;
}

.party-resource-list li:first-child,
.party-event-list li:first-child {
  border-top: 0;
}

.party-resource-list a,
.party-event-list a {
  font-size: 0.9rem;
}

.party-event-list strong {
  display: block;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.75rem;
}

.party-history-note {
  background: #EAE3D2;
  border-left: 5px solid #7A2E2E;
  padding: 21px 23px;
  margin: 28px 0;
}

.party-history-note h3 {
  margin-top: 0;
}

.party-stat {
  background: #F3EFE5;
  border: 1px solid #D3C8AE;
  padding: 24px;
  text-align: center;
}

.party-stat strong {
  display: block;
  color: #00133B;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 2rem;
}

.party-stat span {
  display: block;
  margin-top: 6px;
  color: #4A453C;
}

.party-deadline-card {
  border-top: 4px solid #AD7F35;
  min-height: 235px;
}

.party-deadline-card.current {
  background: #00133B;
  border-color: #00133B;
  border-top-color: #C79A4C;
  color: #FFFCF6;
}

.party-deadline-card.current h3,
.party-deadline-card.current p,
.party-deadline-card.current a {
  color: #FFFCF6;
}

.party-deadline-card.current .party-label {
  color: #C79A4C;
}

.party-step-list {
  counter-reset: partyStep;
  list-style: none;
  margin: 24px 0;
  padding: 0;
}

.party-step-list li {
  counter-increment: partyStep;
  position: relative;
  min-height: 42px;
  padding: 0 0 25px 58px;
}

.party-step-list li:before {
  content: counter(partyStep);
  position: absolute;
  left: 0;
  top: 0;
  width: 38px;
  height: 38px;
  background: #00133B;
  border-radius: 50%;
  color: #FFFCF6;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-weight: 600;
  line-height: 38px;
  text-align: center;
}

.party-law-card a {
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.8rem;
}

.party-convention-card {
  border-top: 4px solid #AD7F35;
}

.party-convention-card .party-event-date {
  display: block;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.party-convention-card address {
  margin: 12px 0;
  color: #4A453C;
  font-style: normal;
  line-height: 1.5;
}

.party-callout {
  background: #FFFCF6;
  border-left: 5px solid #AD7F35;
  padding: 21px 23px;
  margin: 25px 0;
}

.party-callout h3 {
  margin-top: 0;
}

@media screen and (max-width: 980px) {
  .page-political-parties .page-rail {
    width: auto;
  }

  .party-card,
  .party-stat,
  .party-deadline-card,
  .party-law-card,
  .party-convention-card {
    width: 48.5%;
    margin-right: 3%;
  }

  .party-card:nth-child(3n),
  .party-stat:nth-child(3n),
  .party-deadline-card:nth-child(3n),
  .party-law-card:nth-child(3n),
  .party-convention-card:nth-child(3n) {
    margin-right: 3%;
  }

  .party-card:nth-child(2n),
  .party-stat:nth-child(2n),
  .party-deadline-card:nth-child(2n),
  .party-law-card:nth-child(2n),
  .party-convention-card:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 620px) {
  .party-card,
  .party-stat,
  .party-deadline-card,
  .party-law-card,
  .party-convention-card {
    display: block;
    width: auto;
    margin-right: 0;
  }

  .party-card:nth-child(2n),
  .party-card:nth-child(3n),
  .party-stat:nth-child(2n),
  .party-stat:nth-child(3n),
  .party-deadline-card:nth-child(2n),
  .party-deadline-card:nth-child(3n),
  .party-law-card:nth-child(2n),
  .party-law-card:nth-child(3n),
  .party-convention-card:nth-child(2n),
  .party-convention-card:nth-child(3n) {
    margin-right: 0;
  }

  .party-intro {
    padding: 24px 20px;
  }
}

/* ============================================================
   AUDITED SHARED NAVIGATION HARDENING
   ============================================================ */
.mega-toggle .car {
  display: inline-block;
  margin-left: 6px;
  line-height: 1;
}

.mega-panel {
  position: relative;
  z-index: 100;
}

.mega-col a.current-page,
.mega-col a.current-group {
  color: #C79A4C;
  border-color: #C79A4C;
  font-weight: 600;
}

/* ============================================================
   DIVISION-ONLY SERVICE MENU AND NESTED-PAGE PATH FIX
   Current Elections templates contain only the Elections column.
   These rules also hide unrelated columns on older dependent pages
   until Dreamweaver finishes updating them from the DWT.
   ============================================================ */

body[data-division="elections"] .mega-col[data-division]:not([data-division="elections"]),
body[data-division="business"] .mega-col[data-division]:not([data-division="business"]),
body[data-division="general"] .mega-col[data-division]:not([data-division="general"]),
body[data-division="office"] .mega-col[data-division]:not([data-division="office"]) {
  display: none !important;
}

.mega-inner.single-division-menu,
body[data-division] .mega-inner {
  max-width: 1160px;
}

.mega-inner.single-division-menu .mega-col,
body[data-division="elections"] .mega-col[data-division="elections"],
body[data-division="business"] .mega-col[data-division="business"],
body[data-division="general"] .mega-col[data-division="general"],
body[data-division="office"] .mega-col[data-division="office"] {
  display: block;
  width: 100%;
  margin-right: 0;
}

.mega-inner.single-division-menu .mega-col > ul,
body[data-division] .mega-col.is-current-division > ul {
  display: block;
  padding-left: 0;
  border-left: 0;
  font-size: 0;
}

.mega-inner.single-division-menu .mega-col li,
body[data-division] .mega-col.is-current-division li {
  display: inline-block;
  width: 31.5%;
  margin: 0 2.5% 12px 0;
  padding-right: 12px;
  vertical-align: top;
  box-sizing: border-box;
  font-size: 16px;
}

.mega-inner.single-division-menu .mega-col li:nth-child(3n),
body[data-division] .mega-col.is-current-division li:nth-child(3n) {
  margin-right: 0;
}

.mega-inner.single-division-menu .mega-note {
  clear: both;
  margin-top: 16px;
}

@media screen and (max-width: 800px) {
  .mega-inner.single-division-menu .mega-col li,
  body[data-division] .mega-col.is-current-division li {
    width: 48%;
    margin-right: 4%;
  }

  .mega-inner.single-division-menu .mega-col li:nth-child(3n),
  body[data-division] .mega-col.is-current-division li:nth-child(3n) {
    margin-right: 4%;
  }

  .mega-inner.single-division-menu .mega-col li:nth-child(2n),
  body[data-division] .mega-col.is-current-division li:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 520px) {
  .mega-inner.single-division-menu .mega-col li,
  body[data-division] .mega-col.is-current-division li {
    display: block;
    width: auto;
    margin-right: 0;
    padding-right: 0;
  }

  .mega-inner.single-division-menu .mega-col li:nth-child(2n),
  .mega-inner.single-division-menu .mega-col li:nth-child(3n),
  body[data-division] .mega-col.is-current-division li:nth-child(2n),
  body[data-division] .mega-col.is-current-division li:nth-child(3n) {
    margin-right: 0;
  }
}

/* ============================================================
   ELECTION TRUTH PAGE — DIRECT STRUCTURAL REPAIR
   ============================================================ */

/* Old copies of the page may still contain these duplicate
   page-specific navigation blocks. Hide them as a safe fallback. */
.truth-page > .ribbon,
.truth-page > header.site {
  display: none !important;
}

/* Keep the main hero aligned after removing the duplicate header. */
.truth-page .hero {
  padding-top: 58px;
}

.truth-page .seal-wrap {
  text-align: center;
}

.truth-page .seal {
  display: inline-block;
  width: 300px;
  max-width: 100%;
  margin: 0 auto;
}

.truth-page .verification-seal {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.truth-page .seal-rotor {
  transform-box: view-box;
  transform-origin: 150px 150px;
  animation: truthSealOuterSpin 24s linear infinite;
}

/* Prevent legacy animation rules from rotating only the text. */
.truth-page .seal #sealtext,
.truth-page .seal text {
  animation: none !important;
}

/* Center the standard header SD mark. */
.site-brand {
  align-items: center;
}

.site-head-seal {
  padding: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;
}

@keyframes truthSealOuterSpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@media screen and (prefers-reduced-motion: reduce) {
  .truth-page .seal-rotor {
    animation: none;
  }
}

@media screen and (max-width: 720px) {
  .truth-page .hero {
    padding-top: 38px;
  }

  .truth-page .seal {
    width: 250px;
  }
}

/* ============================================================
   VOTING INFORMATION SECTION
   ============================================================ */

.page-voting-information .page-rail {
  width: 310px;
}

.page-voting-information .page-rail-title {
  line-height: 1.2;
}

.page-voting-information .section-nav a.is-active {
  border-left: 4px solid #7A2E2E;
  padding-left: 13px;
}

.page-voting-information .page-local-heading {
  background: #00133B;
}

.page-voting-information .page-local-toc a {
  font-size: 0.9rem;
  padding-top: 11px;
  padding-bottom: 11px;
}

.voting-alert {
  background: #00133B;
  color: #FFFCF6;
  border-top: 4px solid #C79A4C;
  padding: 28px 30px;
  margin: 0 0 32px;
}

.voting-alert h2,
.voting-alert h3 {
  color: #FFFCF6;
  margin-top: 0;
}

.voting-alert p,
.voting-alert li {
  color: #E2E4E8;
}

.voting-alert .eyebrow {
  color: #C79A4C;
}

.voting-alert a {
  color: #FFFCF6;
}

.voting-grid,
.voting-step-grid,
.voting-choice-grid,
.voting-form-grid,
.voting-id-grid {
  display: block;
  width: 100%;
  font-size: 0;
}

.voting-card,
.voting-step-card,
.voting-choice-card,
.voting-form-card,
.voting-id-card {
  display: inline-block;
  width: 31.5%;
  margin: 0 2.5% 22px 0;
  vertical-align: top;
  box-sizing: border-box;
  font-size: 16px;
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  padding: 24px;
}

.voting-card:nth-child(3n),
.voting-step-card:nth-child(3n),
.voting-choice-card:nth-child(3n),
.voting-form-card:nth-child(3n),
.voting-id-card:nth-child(3n) {
  margin-right: 0;
}

.voting-card {
  border-top: 4px solid #AD7F35;
}

.voting-card h3,
.voting-step-card h3,
.voting-choice-card h3,
.voting-form-card h3,
.voting-id-card h3 {
  margin-top: 0;
}

.voting-tag {
  display: block;
  margin-bottom: 8px;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.voting-step-card {
  min-height: 245px;
}

.voting-step-card .number {
  display: block;
  width: 38px;
  height: 38px;
  margin-bottom: 15px;
  background: #00133B;
  border-radius: 50%;
  color: #FFFCF6;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-weight: 600;
  line-height: 38px;
  text-align: center;
}

.voting-choice-card {
  border-left: 5px solid #AD7F35;
}

.voting-form-card {
  border-top: 4px solid #7A2E2E;
}

.voting-form-card .btn {
  margin: 6px 5px 0 0;
}

.voting-note {
  background: #EAE3D2;
  border-left: 5px solid #AD7F35;
  padding: 21px 23px;
  margin: 25px 0;
}

.voting-note.warning {
  border-left-color: #7A2E2E;
}

.voting-note h3 {
  margin-top: 0;
}

.voting-check-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

.voting-check-list li {
  position: relative;
  border-top: 1px solid #D3C8AE;
  padding: 13px 0 13px 30px;
}

.voting-check-list li:first-child {
  border-top: 0;
}

.voting-check-list li:before {
  content: "";
  position: absolute;
  left: 5px;
  top: 20px;
  width: 8px;
  height: 8px;
  background: #7A2E2E;
  border-radius: 50%;
}

.voting-contact {
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  border-left: 5px solid #AD7F35;
  padding: 22px 24px;
  margin: 26px 0;
}

.voting-contact address {
  font-style: normal;
  line-height: 1.65;
}

.voting-definition {
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  padding: 21px 23px;
  margin: 18px 0;
}

.voting-definition dt {
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.voting-definition dd {
  margin: 7px 0 18px;
}

.voting-definition dd:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 980px) {
  .page-voting-information .page-rail {
    width: auto;
  }

  .voting-card,
  .voting-step-card,
  .voting-choice-card,
  .voting-form-card,
  .voting-id-card {
    width: 48.5%;
    margin-right: 3%;
  }

  .voting-card:nth-child(3n),
  .voting-step-card:nth-child(3n),
  .voting-choice-card:nth-child(3n),
  .voting-form-card:nth-child(3n),
  .voting-id-card:nth-child(3n) {
    margin-right: 3%;
  }

  .voting-card:nth-child(2n),
  .voting-step-card:nth-child(2n),
  .voting-choice-card:nth-child(2n),
  .voting-form-card:nth-child(2n),
  .voting-id-card:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 620px) {
  .voting-card,
  .voting-step-card,
  .voting-choice-card,
  .voting-form-card,
  .voting-id-card {
    display: block;
    width: auto;
    min-height: 0;
    margin-right: 0;
  }

  .voting-card:nth-child(2n),
  .voting-card:nth-child(3n),
  .voting-step-card:nth-child(2n),
  .voting-step-card:nth-child(3n),
  .voting-choice-card:nth-child(2n),
  .voting-choice-card:nth-child(3n),
  .voting-form-card:nth-child(2n),
  .voting-form-card:nth-child(3n),
  .voting-id-card:nth-child(2n),
  .voting-id-card:nth-child(3n) {
    margin-right: 0;
  }

  .voting-alert {
    padding: 24px 20px;
  }
}

/* ============================================================
   GLOBAL INTERIOR PAGE LAYOUT REFINEMENT
   Widens the content canvas, reduces oversized desktop gutters,
   and adds subtle visual structure. The homepage is excluded.
   ============================================================ */

body.page-interior {
  background:
    linear-gradient(to right, rgba(173, 127, 53, 0.035), rgba(173, 127, 53, 0) 16%, rgba(173, 127, 53, 0) 84%, rgba(173, 127, 53, 0.035)),
    #F3EFE5;
}

body.page-interior main {
  width: 100%;
}

body.page-interior .page-layout {
  width: calc(100% - 48px);
  max-width: 1540px;
  margin: 0 auto;
  align-items: stretch;
  background: #F8F4EA;
  border-left: 1px solid #D3C8AE;
  border-right: 1px solid #D3C8AE;
  box-shadow: 0 10px 28px rgba(15, 24, 38, 0.05);
}

body.page-interior .page-rail {
  flex: 0 0 286px;
  width: 286px;
  padding: 46px 26px 56px;
  background:
    linear-gradient(to bottom, rgba(173, 127, 53, 0.06), rgba(173, 127, 53, 0) 180px),
    #F3EFE5;
  border-right: 1px solid #D3C8AE;
  box-sizing: border-box;
}

body.page-interior .page-rail-inner {
  position: sticky;
  top: 24px;
}

body.page-interior .page-body {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
  padding: 0 0 64px;
  background: #F8F4EA;
}

body.page-interior .page-title {
  margin: 0;
  padding: 54px 56px 34px;
  background:
    linear-gradient(to bottom, rgba(255, 252, 246, 0.98), rgba(248, 244, 234, 0.98));
  border-bottom: 3px solid #AD7F35;
}

body.page-interior .page-title .lede {
  max-width: 840px;
}

body.page-interior section {
  margin: 0;
  background: #F8F4EA;
  border-bottom: 1px solid rgba(211, 200, 174, 0.72);
}

body.page-interior section.alt {
  background: #F1EBDD;
}

body.page-interior .section-inner {
  max-width: none;
  padding: 46px 56px;
}

body.page-interior .section-head {
  max-width: 920px;
}

body.page-interior .callout,
body.page-interior .voting-note,
body.page-interior .petition-contact,
body.page-interior .party-callout,
body.page-interior .e26-note {
  box-shadow: 0 5px 18px rgba(15, 24, 38, 0.035);
}

body.page-interior .card,
body.page-interior .voting-card,
body.page-interior .petition-process-card,
body.page-interior .party-card,
body.page-interior .e26-card,
body.page-interior .e26-date-card {
  box-shadow: 0 5px 15px rgba(15, 24, 38, 0.025);
}

/* Preserve special full-width dark feature panels inside the content area. */
body.page-interior .truth-page .hero,
body.page-interior .e26-hero-note,
body.page-interior .petition-alert,
body.page-interior .party-intro,
body.page-interior .voting-alert {
  border-radius: 0;
}

/* The register page is the Voting Information group landing page only.
   It does not replace the Elections homepage or the main site homepage. */
body.page-voting-information .page-rail-title {
  max-width: 100%;
}

/* Large desktop monitors. */
@media screen and (min-width: 1500px) {
  body.page-interior .page-layout {
    width: calc(100% - 72px);
    max-width: 1680px;
  }

  body.page-interior .page-rail {
    flex-basis: 310px;
    width: 310px;
    padding-left: 32px;
    padding-right: 32px;
  }

  body.page-interior .page-title,
  body.page-interior .section-inner {
    padding-left: 64px;
    padding-right: 64px;
  }
}

/* Medium desktop and tablet landscape. */
@media screen and (max-width: 1100px) {
  body.page-interior .page-layout {
    width: calc(100% - 24px);
  }

  body.page-interior .page-rail {
    flex-basis: 255px;
    width: 255px;
    padding-left: 18px;
    padding-right: 18px;
  }

  body.page-interior .page-title,
  body.page-interior .section-inner {
    padding-left: 38px;
    padding-right: 38px;
  }
}

/* Existing responsive rail behavior takes over below this point. */
@media screen and (max-width: 980px) {
  body.page-interior .page-layout {
    display: block;
    width: 100%;
    border-left: 0;
    border-right: 0;
    box-shadow: none;
  }

  body.page-interior .page-rail {
    width: auto;
    padding: 18px 20px 0;
    border-right: 0;
    background: #F3EFE5;
  }

  body.page-interior .page-rail-inner {
    position: static;
  }

  body.page-interior .page-title {
    padding: 38px 28px 28px;
  }

  body.page-interior .section-inner {
    padding: 36px 28px;
  }
}

@media screen and (max-width: 520px) {
  body.page-interior .page-title {
    padding: 30px 20px 24px;
  }

  body.page-interior .section-inner {
    padding: 30px 20px;
  }

  body.page-interior .page-rail {
    padding-left: 14px;
    padding-right: 14px;
  }
}

/* ============================================================
   CAMPAIGN FINANCE SECTION
   ============================================================ */

.page-campaign-finance .page-rail {
  width: 310px;
}

.page-campaign-finance .section-nav a.is-active {
  border-left: 4px solid #7A2E2E;
  padding-left: 13px;
}

.page-campaign-finance .page-local-heading {
  background: #00133B;
}

.cf-hero {
  background: #00133B;
  color: #FFFCF6;
  border-top: 4px solid #C79A4C;
  padding: 30px;
  margin: 0 0 34px;
}

.cf-hero h2,
.cf-hero h3 {
  color: #FFFCF6;
  margin-top: 0;
}

.cf-hero p,
.cf-hero li {
  color: #E2E4E8;
}

.cf-hero .eyebrow {
  color: #C79A4C;
}

.cf-hero a {
  color: #FFFCF6;
}

.cf-grid,
.cf-deadline-grid,
.cf-limit-grid,
.cf-form-grid,
.cf-step-grid,
.cf-summary-grid {
  display: block;
  width: 100%;
  font-size: 0;
}

.cf-card,
.cf-deadline-card,
.cf-limit-card,
.cf-form-card,
.cf-step-card,
.cf-summary-card {
  display: inline-block;
  width: 31.5%;
  margin: 0 2.5% 22px 0;
  vertical-align: top;
  box-sizing: border-box;
  font-size: 16px;
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  padding: 24px;
}

.cf-card:nth-child(3n),
.cf-deadline-card:nth-child(3n),
.cf-limit-card:nth-child(3n),
.cf-form-card:nth-child(3n),
.cf-step-card:nth-child(3n),
.cf-summary-card:nth-child(3n) {
  margin-right: 0;
}

.cf-card,
.cf-form-card,
.cf-summary-card {
  border-top: 4px solid #AD7F35;
}

.cf-card h3,
.cf-deadline-card h3,
.cf-limit-card h3,
.cf-form-card h3,
.cf-step-card h3,
.cf-summary-card h3 {
  margin-top: 0;
}

.cf-tag {
  display: block;
  margin-bottom: 8px;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cf-deadline-card {
  border-top: 4px solid #AD7F35;
  min-height: 250px;
}

.cf-deadline-card.current {
  background: #00133B;
  border-color: #00133B;
  border-top-color: #C79A4C;
  color: #FFFCF6;
}

.cf-deadline-card.current h3,
.cf-deadline-card.current p,
.cf-deadline-card.current li,
.cf-deadline-card.current a {
  color: #FFFCF6;
}

.cf-deadline-card.current .cf-tag {
  color: #C79A4C;
}

.cf-limit-card {
  padding: 0;
  overflow: hidden;
}

.cf-limit-card h3 {
  margin: 0;
  padding: 20px 22px;
  background: #00133B;
  color: #FFFCF6;
}

.cf-limit-list {
  list-style: none;
  margin: 0;
  padding: 0 22px 12px;
}

.cf-limit-list li {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid #D3C8AE;
  padding: 11px 0;
}

.cf-limit-list li:first-child {
  border-top: 0;
}

.cf-limit-list strong {
  color: #7A2E2E;
  white-space: nowrap;
}

.cf-form-card .btn {
  margin: 6px 5px 0 0;
}

.cf-step-card .number {
  display: block;
  width: 38px;
  height: 38px;
  margin-bottom: 15px;
  background: #00133B;
  border-radius: 50%;
  color: #FFFCF6;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-weight: 600;
  line-height: 38px;
  text-align: center;
}

.cf-note {
  background: #EAE3D2;
  border-left: 5px solid #AD7F35;
  padding: 21px 23px;
  margin: 24px 0;
}

.cf-note.warning {
  border-left-color: #7A2E2E;
}

.cf-note h3 {
  margin-top: 0;
}

.cf-faq-group {
  margin-bottom: 34px;
}

.cf-faq-item {
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  border-bottom: 0;
}

.cf-faq-item:last-child {
  border-bottom: 1px solid #D3C8AE;
}

.cf-faq-item summary {
  cursor: pointer;
  padding: 17px 20px;
  color: #00133B;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 1.03rem;
  font-weight: 600;
}

.cf-faq-item[open] summary {
  background: #EAE3D2;
  color: #7A2E2E;
}

.cf-faq-answer {
  padding: 4px 20px 20px;
}

.cf-report-list {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
}

.cf-report-list li {
  border-top: 1px solid #D3C8AE;
  padding: 12px 0;
}

.cf-report-list li:first-child {
  border-top: 0;
}

.cf-compatibility {
  max-width: 760px;
  margin: 60px auto;
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  border-top: 5px solid #AD7F35;
  padding: 34px;
}

@media screen and (max-width: 980px) {
  .page-campaign-finance .page-rail {
    width: auto;
  }

  .cf-card,
  .cf-deadline-card,
  .cf-limit-card,
  .cf-form-card,
  .cf-step-card,
  .cf-summary-card {
    width: 48.5%;
    margin-right: 3%;
  }

  .cf-card:nth-child(3n),
  .cf-deadline-card:nth-child(3n),
  .cf-limit-card:nth-child(3n),
  .cf-form-card:nth-child(3n),
  .cf-step-card:nth-child(3n),
  .cf-summary-card:nth-child(3n) {
    margin-right: 3%;
  }

  .cf-card:nth-child(2n),
  .cf-deadline-card:nth-child(2n),
  .cf-limit-card:nth-child(2n),
  .cf-form-card:nth-child(2n),
  .cf-step-card:nth-child(2n),
  .cf-summary-card:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 620px) {
  .cf-card,
  .cf-deadline-card,
  .cf-limit-card,
  .cf-form-card,
  .cf-step-card,
  .cf-summary-card {
    display: block;
    width: auto;
    min-height: 0;
    margin-right: 0;
  }

  .cf-card:nth-child(2n),
  .cf-card:nth-child(3n),
  .cf-deadline-card:nth-child(2n),
  .cf-deadline-card:nth-child(3n),
  .cf-limit-card:nth-child(2n),
  .cf-limit-card:nth-child(3n),
  .cf-form-card:nth-child(2n),
  .cf-form-card:nth-child(3n),
  .cf-step-card:nth-child(2n),
  .cf-step-card:nth-child(3n),
  .cf-summary-card:nth-child(2n),
  .cf-summary-card:nth-child(3n) {
    margin-right: 0;
  }

  .cf-hero {
    padding: 24px 20px;
  }

  .cf-limit-list li {
    display: block;
  }

  .cf-limit-list strong {
    display: block;
    margin-top: 4px;
  }
}

/* ============================================================
   HOMEPAGE SERVICE MENU
   The homepage represents the complete office, so all four
   service columns remain visible. Interior pages remain
   division-specific through body[data-division].
   ============================================================ */

.page-home .homepage-mega-wrap {
  position: relative;
  z-index: 120;
  background: #FFFCF6;
  border-top: 1px solid #D3C8AE;
  border-bottom: 1px solid #D3C8AE;
}

.page-home .homepage-mega-wrap .mega-bar {
  max-width: 1240px;
}

.page-home .homepage-mega-wrap .mega-panel {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 130;
  box-shadow: 0 18px 32px rgba(15, 24, 38, 0.20);
}

.page-home .homepage-mega-wrap .mega-inner {
  max-width: 1240px;
}

@media screen and (max-width: 760px) {
  .page-home .homepage-mega-wrap .mega-panel {
    position: relative;
    box-shadow: none;
  }
}

/* ============================================================
   HOMEPAGE SERVICE MENU LINK VISIBILITY
   The general .page-home a rule appears later than the base
   mega-menu rule and was turning menu links navy on navy.
   ============================================================ */

.page-home .homepage-mega-wrap .mega-panel .mega-col a,
.page-home .homepage-mega-wrap .mega-panel .mega-col a:link,
.page-home .homepage-mega-wrap .mega-panel .mega-col a:visited {
  color: #E7E4DA;
}

.page-home .homepage-mega-wrap .mega-panel .mega-col a:hover,
.page-home .homepage-mega-wrap .mega-panel .mega-col a:focus {
  color: #C79A4C;
  border-color: #C79A4C;
}

.page-home .homepage-mega-wrap .mega-panel .mega-col a.current-page,
.page-home .homepage-mega-wrap .mega-panel .mega-col a.current-group {
  color: #C79A4C;
  border-color: #C79A4C;
  font-weight: 600;
}

.page-home .homepage-mega-wrap .mega-panel .mega-note {
  color: #C6CBD3;
}

/* ============================================================
   FINANCIAL INTEREST STATEMENTS SECTION
   ============================================================ */

.page-fis .page-rail {
  width: 310px;
}

.page-fis .section-nav a.is-active {
  border-left: 4px solid #7A2E2E;
  padding-left: 13px;
}

.page-fis .page-local-heading {
  background: #00133B;
}

.fis-hero {
  background: #00133B;
  color: #FFFCF6;
  border-top: 4px solid #C79A4C;
  padding: 30px;
  margin: 0 0 34px;
}

.fis-hero h2,
.fis-hero h3 {
  color: #FFFCF6;
  margin-top: 0;
}

.fis-hero p,
.fis-hero li {
  color: #E2E4E8;
}

.fis-hero .eyebrow {
  color: #C79A4C;
}

.fis-hero a {
  color: #FFFCF6;
}

.fis-grid,
.fis-search-grid,
.fis-step-grid,
.fis-law-grid {
  display: block;
  width: 100%;
  font-size: 0;
}

.fis-card,
.fis-search-card,
.fis-step-card,
.fis-law-card {
  display: inline-block;
  width: 48.5%;
  margin: 0 3% 24px 0;
  vertical-align: top;
  box-sizing: border-box;
  font-size: 16px;
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  padding: 26px;
}

.fis-card:nth-child(2n),
.fis-search-card:nth-child(2n),
.fis-step-card:nth-child(2n),
.fis-law-card:nth-child(2n) {
  margin-right: 0;
}

.fis-card,
.fis-search-card {
  border-top: 4px solid #AD7F35;
}

.fis-card h3,
.fis-search-card h3,
.fis-step-card h3,
.fis-law-card h3 {
  margin-top: 0;
}

.fis-tag {
  display: block;
  margin-bottom: 8px;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fis-deadline {
  display: block;
  margin: 14px 0;
  padding: 14px 16px;
  background: #EAE3D2;
  border-left: 4px solid #7A2E2E;
}

.fis-deadline strong {
  display: block;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.fis-check-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

.fis-check-list li {
  position: relative;
  border-top: 1px solid #D3C8AE;
  padding: 13px 0 13px 29px;
}

.fis-check-list li:first-child {
  border-top: 0;
}

.fis-check-list li:before {
  content: "";
  position: absolute;
  left: 5px;
  top: 20px;
  width: 8px;
  height: 8px;
  background: #7A2E2E;
  border-radius: 50%;
}

.fis-note {
  background: #EAE3D2;
  border-left: 5px solid #AD7F35;
  padding: 21px 23px;
  margin: 25px 0;
}

.fis-note.warning {
  border-left-color: #7A2E2E;
}

.fis-note h3 {
  margin-top: 0;
}

.fis-search-card {
  min-height: 335px;
}

.fis-search-fields {
  list-style: none;
  margin: 18px 0;
  padding: 0;
}

.fis-search-fields li {
  border-top: 1px solid #D3C8AE;
  padding: 10px 0;
}

.fis-search-fields li:first-child {
  border-top: 0;
}

.fis-search-card .btn {
  margin-top: 8px;
}

.fis-step-card .number {
  display: block;
  width: 38px;
  height: 38px;
  margin-bottom: 15px;
  background: #00133B;
  border-radius: 50%;
  color: #FFFCF6;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-weight: 600;
  line-height: 38px;
  text-align: center;
}

.fis-law-card a {
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.82rem;
}

@media screen and (max-width: 760px) {
  .fis-card,
  .fis-search-card,
  .fis-step-card,
  .fis-law-card {
    display: block;
    width: auto;
    min-height: 0;
    margin-right: 0;
  }

  .fis-card:nth-child(2n),
  .fis-search-card:nth-child(2n),
  .fis-step-card:nth-child(2n),
  .fis-law-card:nth-child(2n) {
    margin-right: 0;
  }

  .fis-hero {
    padding: 24px 20px;
  }
}

/* ============================================================
   HELP AMERICA VOTE ACT (HAVA)
   ============================================================ */

.page-hava .page-rail {
  width: 310px;
}

.page-hava .section-nav a.is-active {
  border-left: 4px solid #7A2E2E;
  padding-left: 13px;
}

.hava-hero {
  margin: 0 0 34px;
  padding: 31px;
  color: #FFFCF6;
  background:
    linear-gradient(135deg, rgba(199, 154, 76, 0.12), transparent 55%),
    #00133B;
  border-top: 4px solid #C79A4C;
}

.hava-hero h2,
.hava-hero h3,
.hava-hero p {
  color: #FFFCF6;
}

.hava-hero h2 {
  margin-top: 0;
}

.hava-hero .eyebrow {
  color: #C79A4C;
}

.hava-grid,
.hava-requirements,
.hava-plan-grid,
.hava-contact-grid {
  display: block;
  width: 100%;
  font-size: 0;
}

.hava-card,
.hava-requirement,
.hava-plan-card,
.hava-contact-card {
  display: inline-block;
  width: 31.5%;
  margin: 0 2.5% 24px 0;
  padding: 24px;
  vertical-align: top;
  box-sizing: border-box;
  font-size: 16px;
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  border-top: 4px solid #AD7F35;
}

.hava-card:nth-child(3n),
.hava-requirement:nth-child(3n),
.hava-plan-card:nth-child(3n) {
  margin-right: 0;
}

.hava-card h3,
.hava-requirement h3,
.hava-plan-card h3,
.hava-contact-card h3 {
  margin-top: 0;
}

.hava-tag {
  display: block;
  margin-bottom: 8px;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hava-timeline {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.hava-timeline li {
  position: relative;
  margin-left: 16px;
  padding: 0 0 25px 28px;
  border-left: 2px solid #D3C8AE;
}

.hava-timeline li:last-child {
  padding-bottom: 0;
}

.hava-timeline li:before {
  content: "";
  position: absolute;
  top: 4px;
  left: -8px;
  width: 14px;
  height: 14px;
  background: #7A2E2E;
  border: 3px solid #F8F4EA;
  border-radius: 50%;
}

.hava-timeline strong {
  display: block;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hava-note {
  margin: 25px 0;
  padding: 21px 23px;
  background: #EAE3D2;
  border-left: 5px solid #AD7F35;
}

.hava-note.warning {
  border-left-color: #7A2E2E;
}

.hava-note h3 {
  margin-top: 0;
}

.hava-feature-list {
  list-style: none;
  margin: 17px 0 0;
  padding: 0;
}

.hava-feature-list li {
  position: relative;
  padding: 12px 0 12px 29px;
  border-top: 1px solid #D3C8AE;
}

.hava-feature-list li:first-child {
  border-top: 0;
}

.hava-feature-list li:before {
  content: "";
  position: absolute;
  top: 19px;
  left: 5px;
  width: 8px;
  height: 8px;
  background: #7A2E2E;
  border-radius: 50%;
}

.hava-contact-card {
  width: 48.5%;
}

.hava-contact-card:nth-child(2n) {
  margin-right: 0;
}

@media screen and (max-width: 980px) {
  .page-hava .page-rail {
    width: auto;
  }

  .hava-card,
  .hava-requirement,
  .hava-plan-card {
    width: 48.5%;
    margin-right: 3%;
  }

  .hava-card:nth-child(3n),
  .hava-requirement:nth-child(3n),
  .hava-plan-card:nth-child(3n) {
    margin-right: 3%;
  }

  .hava-card:nth-child(2n),
  .hava-requirement:nth-child(2n),
  .hava-plan-card:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 650px) {
  .hava-card,
  .hava-requirement,
  .hava-plan-card,
  .hava-contact-card {
    display: block;
    width: auto;
    margin-right: 0;
  }

  .hava-card:nth-child(2n),
  .hava-card:nth-child(3n),
  .hava-requirement:nth-child(2n),
  .hava-requirement:nth-child(3n),
  .hava-plan-card:nth-child(2n),
  .hava-plan-card:nth-child(3n),
  .hava-contact-card:nth-child(2n) {
    margin-right: 0;
  }

  .hava-hero {
    padding: 25px 20px;
  }
}

/* ============================================================
   VOTING EQUIPMENT CERTIFICATIONS
   Dreamweaver-safe base layout: four compact columns instead of
   an extra-wide eight-column table. At narrow widths each record
   becomes a readable card.
   ============================================================ */

.cert-toolbar {
  display: table;
  width: 100%;
  margin: 0 0 22px;
  padding: 20px;
  box-sizing: border-box;
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
}

.cert-field,
.cert-result-count {
  display: table-cell;
  vertical-align: bottom;
}

.cert-field {
  padding-right: 18px;
}

.cert-field-small {
  width: 250px;
}

.cert-field label {
  display: block;
  margin-bottom: 7px;
  color: #00133B;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cert-field input,
.cert-field select {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  box-sizing: border-box;
  color: #1E1B16;
  background: #FFFFFF;
  border: 1px solid #8D877B;
  border-radius: 0;
  font: inherit;
}

.cert-result-count {
  width: 145px;
  padding-bottom: 10px;
  color: #4A453C;
  font-size: 0.88rem;
  text-align: right;
}

.cert-result-count strong {
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 1.45rem;
}

.cert-table-wrap {
  width: 100%;
  max-height: none;
  overflow: visible;
}

.cert-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  border-collapse: collapse;
}

.cert-table .cert-col-equipment { width: 26%; }
.cert-table .cert-col-system { width: 22%; }
.cert-table .cert-col-certification { width: 22%; }
.cert-table .cert-col-details { width: 30%; }

.cert-table th,
.cert-table td {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.cert-table thead th {
  position: static;
  top: auto;
  z-index: auto;
}

.cert-table tbody tr:nth-child(even) {
  background: #F8F4EA;
}

.cert-table td {
  color: #4A453C;
  font-size: 0.88rem;
  line-height: 1.42;
}

.cert-table td:first-child {
  color: #00133B;
}

.cert-cell-group {
  display: block;
}

.cert-cell-group + .cert-cell-group {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #E4DCCB;
}

.cert-cell-label {
  display: block;
  margin-bottom: 3px;
  color: #7A2E2E;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.25;
  text-transform: uppercase;
}

.cert-system .cert-cell-group:first-child span:last-child,
.cert-certification .cert-cell-group:last-child span:last-child,
.cert-record-details .cert-cell-group:first-child span:last-child {
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.79rem;
}

.cert-not-listed {
  color: #6A645A;
  font-style: italic;
}

.cert-note-text {
  color: #4A453C;
}

.cert-table tr[hidden] {
  display: none;
}

.cert-empty {
  margin: 20px 0;
  padding: 22px;
  background: #FFFCF6;
  border-left: 5px solid #7A2E2E;
}

@media screen and (max-width: 900px) {
  .cert-toolbar,
  .cert-field,
  .cert-result-count {
    display: block;
    width: auto;
  }

  .cert-field {
    padding: 0 0 16px;
  }

  .cert-result-count {
    padding: 2px 0 0;
    text-align: left;
  }

  .cert-table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .cert-table,
  .cert-table tbody,
  .cert-table tr,
  .cert-table td {
    display: block;
    width: auto;
    min-width: 0;
  }

  .cert-table colgroup,
  .cert-table thead {
    display: none;
  }

  .cert-table tr {
    margin-bottom: 20px;
    background: #FFFCF6;
    border: 1px solid #D3C8AE;
  }

  .cert-table tbody tr:nth-child(even) {
    background: #FFFCF6;
  }

  .cert-table td {
    padding: 15px 17px;
    border-bottom: 1px solid #D3C8AE;
  }

  .cert-table td:last-child {
    border-bottom: 0;
  }
}

/* ============================================================
   BALLOT CERTIFICATION SCROLL RESTORATION
   The default table remains Dreamweaver Design View friendly.
   Shared JavaScript adds .cert-scroll-enabled in Live View and
   published browsers, restoring horizontal and vertical scrolling.
   ============================================================ */

.cert-scroll-hint {
  margin: 0 0 10px;
  color: #4A453C;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size: 0.76rem;
}

.cert-table-wrap.cert-scroll-enabled {
  width: 100%;
  max-height: 680px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  background: #FFFCF6;
  border: 1px solid #D3C8AE;
  scrollbar-gutter: stable;
}

.cert-table-wrap.cert-scroll-enabled:focus {
  outline: 3px solid #C79A4C;
  outline-offset: 3px;
}

.cert-table-wrap.cert-scroll-enabled .cert-table {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}

.cert-table-wrap.cert-scroll-enabled .cert-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #EAE3D2;
  box-shadow: 0 1px 0 #D3C8AE;
}

@media screen and (max-width: 900px) {
  .cert-table-wrap.cert-scroll-enabled {
    max-height: 620px;
    overflow: auto;
    border: 1px solid #D3C8AE;
    background: #FFFCF6;
  }

  .cert-table-wrap.cert-scroll-enabled .cert-table {
    display: table;
    width: 100%;
    min-width: 980px;
    table-layout: fixed;
  }

  .cert-table-wrap.cert-scroll-enabled .cert-table colgroup {
    display: table-column-group;
  }

  .cert-table-wrap.cert-scroll-enabled .cert-table thead {
    display: table-header-group;
  }

  .cert-table-wrap.cert-scroll-enabled .cert-table tbody {
    display: table-row-group;
  }

  .cert-table-wrap.cert-scroll-enabled .cert-table tr {
    display: table-row;
    width: auto;
    min-width: 0;
    margin: 0;
    background: transparent;
    border: 0;
  }

  .cert-table-wrap.cert-scroll-enabled .cert-table td {
    display: table-cell;
    width: auto;
    min-width: 0;
    padding: 13px 14px;
    border-bottom: 1px solid #D3C8AE;
    vertical-align: top;
  }

  .cert-table-wrap.cert-scroll-enabled .cert-table tbody tr:nth-child(even) {
    background: #F8F4EA;
  }
}

/* ============================================================
   NATIONAL VOTER REGISTRATION ACT (NVRA)
   ============================================================ */
.page-nvra .page-rail{width:320px;}
.page-nvra .section-nav a.is-active{border-left:4px solid #7A2E2E;padding-left:13px;}
.nvra-hero{margin:0 0 32px;padding:30px;background:#00133B;border-top:4px solid #C79A4C;color:#FFFCF6;}
.nvra-hero h2,.nvra-hero h3,.nvra-hero p{color:#FFFCF6;}
.nvra-hero h2,.nvra-hero h3{margin-top:0;}
.nvra-hero .eyebrow{color:#C79A4C;}
.nvra-grid,.nvra-contact-grid,.nvra-resource-grid,.nvra-policy-grid,.nvra-year-grid{display:block;width:100%;font-size:0;}
.nvra-card,.nvra-contact-card,.nvra-resource-card,.nvra-policy-card,.nvra-year-card{display:inline-block;width:48.5%;margin:0 3% 24px 0;padding:24px;vertical-align:top;box-sizing:border-box;font-size:16px;background:#FFFCF6;border:1px solid #D3C8AE;border-top:4px solid #AD7F35;}
.nvra-card:nth-child(2n),.nvra-contact-card:nth-child(2n),.nvra-resource-card:nth-child(2n),.nvra-policy-card:nth-child(2n),.nvra-year-card:nth-child(2n){margin-right:0;}
.nvra-card h3,.nvra-contact-card h3,.nvra-resource-card h3,.nvra-policy-card h3,.nvra-year-card h3{margin-top:0;}
.nvra-tag{display:block;margin-bottom:8px;color:#7A2E2E;font-family:"Public Sans",Arial,sans-serif;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;}
.nvra-list{list-style:none;margin:16px 0 0;padding:0;}
.nvra-list li{position:relative;padding:12px 0 12px 28px;border-top:1px solid #D3C8AE;}
.nvra-list li:first-child{border-top:0;}
.nvra-list li:before{content:"";position:absolute;left:5px;top:19px;width:8px;height:8px;border-radius:50%;background:#7A2E2E;}
.nvra-note{margin:24px 0;padding:20px 22px;background:#EAE3D2;border-left:5px solid #AD7F35;}
.nvra-note.warning{border-left-color:#7A2E2E;}
.nvra-note h3{margin-top:0;}
.nvra-definition{margin:18px 0;padding:18px 20px;background:#FFFCF6;border:1px solid #D3C8AE;}
.nvra-definition strong{color:#7A2E2E;font-family:"Public Sans",Arial,sans-serif;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;}
.nvra-contact-card p:last-child,.nvra-card p:last-child,.nvra-resource-card p:last-child{margin-bottom:0;}
.nvra-resource-card .btn{margin-top:8px;}
.nvra-activity-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #D3C8AE;background:#FFFCF6;}
.nvra-activity-table{width:100%;border-collapse:collapse;background:#FFFCF6;}
.nvra-activity-table th,.nvra-activity-table td{padding:12px 13px;border:1px solid #D3C8AE;text-align:left;vertical-align:top;}
.nvra-activity-table thead th{background:#00133B;color:#FFFCF6;font-family:"Public Sans",Arial,sans-serif;font-size:.78rem;letter-spacing:.03em;}
.nvra-activity-table tbody th{min-width:260px;background:#F3EFE5;color:#00133B;font-weight:600;}
.nvra-activity-table td{text-align:right;white-space:nowrap;}
.nvra-archive-list{margin:12px 0 0;padding-left:20px;columns:2;column-gap:28px;}
.nvra-archive-list li{break-inside:avoid;margin:0 0 8px;}
.nvra-law{font-family:"Public Sans",Arial,sans-serif;font-size:.84rem;color:#7A2E2E;}
@media screen and (max-width:760px){
  .nvra-card,.nvra-contact-card,.nvra-resource-card,.nvra-policy-card,.nvra-year-card{display:block;width:auto;margin-right:0;}
  .nvra-card:nth-child(2n),.nvra-contact-card:nth-child(2n),.nvra-resource-card:nth-child(2n),.nvra-policy-card:nth-child(2n),.nvra-year-card:nth-child(2n){margin-right:0;}
  .nvra-hero{padding:24px 20px;}
  .nvra-archive-list{columns:1;}
}

/* ============================================================
   ELECTION RESOURCES SECTION NAVIGATION
   ============================================================ */

.page-election-resources .page-rail {
  width: 310px;
}

.page-election-resources .page-rail-title {
  line-height: 1.2;
}

.page-election-resources .section-nav a {
  line-height: 1.35;
}

.page-election-resources .section-nav a.is-active {
  border-left: 4px solid #7A2E2E;
  padding-left: 13px;
}

@media screen and (max-width: 980px) {
  .page-election-resources .page-rail {
    width: auto;
  }
}

/* ==========================================================================
   Historical Election Information
   Dreamweaver Design View receives inline-block/table fallbacks; browsers
   retain responsive wrapping and scrollable data tables.
   ========================================================================== */
.page-historical .history-year-grid {
  margin: 0 -10px;
  font-size: 0;
}
.page-historical .history-card {
  display: inline-block;
  width: 46%;
  margin: 0 1.5% 24px;
  padding: 24px;
  box-sizing: border-box;
  vertical-align: top;
  font-size: 16px;
  color: #1d252c;
  background: #ffffff;
  border: 1px solid #d8cfbf;
  border-top: 5px solid #17365d;
  border-radius: 4px;
  box-shadow: 0 7px 18px rgba(23, 54, 93, 0.08);
  text-decoration: none;
}
.page-historical a.history-card:hover,
.page-historical a.history-card:focus {
  border-top-color: #c49a45;
  box-shadow: 0 10px 24px rgba(23, 54, 93, 0.15);
}
.page-historical .history-card h3 {
  margin-top: 10px;
}
.page-historical .history-dates {
  margin: 18px 0 0;
}
.page-historical .history-dates dt {
  float: left;
  clear: left;
  width: 48%;
  padding: 8px 0;
  color: #5b2634;
  font-weight: 700;
}
.page-historical .history-dates dd {
  min-height: 22px;
  margin-left: 50%;
  padding: 8px 0;
  border-bottom: 1px solid #e5ded3;
}
.page-historical .history-note {
  clear: both;
  margin: 18px 0 0;
  padding: 14px;
  background: #f5f1e8;
  border-left: 4px solid #c49a45;
}
.page-historical .history-table-wrap {
  max-width: 100%;
  max-height: 720px;
  overflow: auto;
  border: 1px solid #cfc5b7;
  background: #ffffff;
}
.page-historical .history-table {
  min-width: 760px;
  margin: 0;
  border: 0;
}
.page-historical .history-table th,
.page-historical .history-table td {
  white-space: nowrap;
  text-align: right;
}
.page-historical .history-table th:first-child,
.page-historical .history-table td:first-child {
  text-align: left;
}
.page-historical .history-return-grid .btn {
  margin-top: 12px;
}
@media screen and (max-width: 760px) {
  .page-historical .history-card {
    display: block;
    width: auto;
    margin: 0 0 18px;
  }
  .page-historical .history-dates dt {
    float: none;
    width: auto;
    padding-bottom: 2px;
  }
  .page-historical .history-dates dd {
    margin-left: 0;
    padding-top: 2px;
  }
}

/* Historical archive browser */
.page-historical .history-archive {
  margin-top: 22px;
}
.page-historical .history-year-strip {
  margin: 0 0 20px;
  padding: 14px 12px 6px;
  overflow-x: auto;
  white-space: nowrap;
  background: #17365d;
  border: 1px solid #102946;
  border-radius: 5px;
}
.page-historical .history-year-strip button {
  display: inline-block;
  min-width: 58px;
  margin: 0 6px 8px 0;
  padding: 9px 13px;
  color: #ffffff;
  font: inherit;
  font-weight: 700;
  background: #264d78;
  border: 1px solid #6883a0;
  border-radius: 3px;
  cursor: pointer;
}
.page-historical .history-year-strip button:hover,
.page-historical .history-year-strip button:focus,
.page-historical .history-year-strip button.is-active {
  color: #17365d;
  background: #f1cf80;
  border-color: #f1cf80;
}
.page-historical .history-archive-controls {
  margin: 0 -7px 20px;
  padding: 20px 14px 12px;
  font-size: 0;
  background: #f5f1e8;
  border: 1px solid #d8cfbf;
}
.page-historical .history-control {
  display: inline-block;
  width: 22%;
  margin: 0 1.5% 10px;
  vertical-align: bottom;
  font-size: 16px;
}
.page-historical .history-search-control {
  width: 29%;
}
.page-historical .history-reset-control {
  width: 17%;
}
.page-historical .history-control label {
  display: block;
  margin-bottom: 7px;
  color: #17365d;
  font-weight: 700;
}
.page-historical .history-control input,
.page-historical .history-control select {
  display: block;
  width: 100%;
  min-height: 46px;
  padding: 9px 10px;
  box-sizing: border-box;
  color: #1d252c;
  background: #ffffff;
  border: 1px solid #8e969d;
  border-radius: 3px;
  font: inherit;
}
.page-historical .history-reset-control .btn {
  display: block;
  width: 100%;
  min-height: 46px;
  margin: 0;
}
.page-historical .history-results-bar {
  padding: 11px 16px;
  color: #ffffff;
  background: #5b2634;
  overflow: hidden;
}
.page-historical .history-results-bar p {
  float: left;
  margin: 0;
}
.page-historical .history-results-bar p + p {
  float: right;
  font-size: 14px;
}
.page-historical .history-archive-scroll {
  max-width: 100%;
  max-height: 680px;
  overflow: auto;
  background: #ffffff;
  border: 1px solid #c9c1b5;
  border-top: 0;
}
.page-historical .history-archive-table {
  min-width: 1050px;
  margin: 0;
  border: 0;
}
.page-historical .history-archive-table th,
.page-historical .history-archive-table td {
  padding: 12px 13px;
  text-align: left;
  vertical-align: top;
  white-space: normal;
}
.page-historical .history-archive-table thead th {
  position: static;
  color: #ffffff;
  background: #17365d;
}
.page-historical .history-archive-table tbody tr:nth-child(even) {
  background: #f7f3eb;
}
.page-historical .history-archive-table tbody tr:hover {
  background: #fff2cc;
}
.page-historical .history-archive-table th:first-child {
  width: 64px;
  color: #5b2634;
}
.page-historical .history-archive-table td:nth-child(2) {
  width: 120px;
}
.page-historical .history-archive-table td:nth-child(3) {
  width: 150px;
}
.page-historical .history-archive-table td:nth-child(4) {
  width: 230px;
}
.page-historical .history-archive-table td:nth-child(5) {
  width: 260px;
}
.page-historical .history-view-link {
  display: inline-block;
  min-width: 74px;
  padding: 7px 10px;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  background: #17365d;
  border-radius: 3px;
}
.page-historical .history-view-link:hover,
.page-historical .history-view-link:focus {
  color: #17365d;
  background: #f1cf80;
}
.page-historical .history-unavailable {
  color: #626b72;
  font-style: italic;
}
.page-historical [data-history-empty] td {
  padding: 28px;
  text-align: center;
  font-weight: 700;
  color: #5b2634;
}
@media screen and (max-width: 900px) {
  .page-historical .history-control,
  .page-historical .history-search-control,
  .page-historical .history-reset-control {
    width: 47%;
  }
}
@media screen and (max-width: 560px) {
  .page-historical .history-control,
  .page-historical .history-search-control,
  .page-historical .history-reset-control {
    display: block;
    width: auto;
    margin: 0 0 13px;
  }
  .page-historical .history-results-bar p,
  .page-historical .history-results-bar p + p {
    float: none;
    margin: 0 0 4px;
  }
}



/* About South Dakota */
.page-about-sd .sd-facts{margin:0 -7px 20px;font-size:0}.page-about-sd .sd-fact{display:inline-block;width:31%;min-height:112px;margin:0 1% 14px;padding:18px;color:#fff;font-size:16px;text-align:center;vertical-align:top;background:#17365d;border-top:5px solid #c49a45;border-radius:4px}.page-about-sd .sd-fact strong{display:block;margin-bottom:6px;color:#f1cf80;font:700 28px/1.1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}.page-about-sd .about-sd-cards,.page-about-sd .branch-strip{margin:0 -7px;font-size:0}.page-about-sd .about-sd-card{display:inline-block;width:47%;min-height:225px;margin:0 1% 18px;padding:22px;color:#28343d;font-size:16px;vertical-align:top;background:#fff;border:1px solid #d2c9bb;border-left:5px solid #5b2634;border-radius:4px;box-shadow:0 5px 14px rgba(23,54,93,.08)}.page-about-sd .about-sd-card h3{margin-top:0;color:#5b2634}.page-about-sd .branch-card{display:inline-block;width:31%;min-height:220px;margin:0 1% 16px;padding:22px;color:#fff;font-size:16px;vertical-align:top;background:#17365d;border-bottom:5px solid #c49a45;border-radius:4px}.page-about-sd .branch-card h3{margin-top:0;color:#fff}.page-about-sd .branch-card a{color:#f1cf80;font-weight:700}.page-about-sd .history-timeline{margin:0;padding:0;list-style:none}.page-about-sd .history-timeline li{position:relative;margin:0 0 15px;padding:0 0 15px 96px;border-bottom:1px solid #d9d0c2}.page-about-sd .history-timeline strong{position:absolute;top:0;left:0;width:76px;color:#5b2634;font:700 21px/1.2 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}.page-about-sd .profile-intro{overflow:hidden}.page-about-sd .profile-mark{float:left;width:116px;height:116px;margin:0 24px 15px 0;color:#fff;font:700 44px/116px system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;text-align:center;background:#17365d;border:7px solid #c49a45;border-radius:58px}.page-about-sd .report-year{margin:0 0 24px;padding:18px 20px;background:#fff;border:1px solid #d2c9bb;border-left:5px solid #17365d}.page-about-sd .report-year h3{margin:0 0 12px;color:#5b2634}.page-about-sd .report-year ul{margin-bottom:0}.page-about-sd .flag-rule{margin:0 0 14px;padding:14px 16px 14px 48px;background:#fff;border:1px solid #d2c9bb}.page-about-sd .flag-rule:before{float:left;margin-left:-31px;color:#5b2634;content:"★";font-size:19px}.page-about-sd .department-list{margin:0 -7px;padding:0;font-size:0;list-style:none}.page-about-sd .department-list li{display:inline-block;width:31%;margin:0 1% 10px;padding:11px 13px;color:#28343d;font-size:15px;vertical-align:top;background:#fff;border-left:4px solid #c49a45}@media screen and (max-width:850px){.page-about-sd .sd-fact,.page-about-sd .branch-card,.page-about-sd .department-list li{width:47%}}@media screen and (max-width:600px){.page-about-sd .sd-fact,.page-about-sd .about-sd-card,.page-about-sd .branch-card,.page-about-sd .department-list li{display:block;width:auto;min-height:0;margin:0 0 14px}.page-about-sd .sd-facts,.page-about-sd .about-sd-cards,.page-about-sd .branch-strip,.page-about-sd .department-list{margin:0}.page-about-sd .profile-mark{float:none;margin:0 auto 20px}.page-about-sd .history-timeline li{padding-left:0}.page-about-sd .history-timeline strong{position:static;display:block;width:auto;margin-bottom:6px}}
/* About South Dakota officials and symbols */
.page-about-sd .official-grid,.page-about-sd .symbol-grid{margin:0 -7px;font-size:0}
.page-about-sd .official-card,.page-about-sd .symbol-card{display:inline-block;width:31%;margin:0 1% 18px;padding:20px;vertical-align:top;box-sizing:border-box;font-size:16px;background:#fff;border:1px solid #d2c9bb;border-top:4px solid #c49a45;border-radius:4px;box-shadow:0 4px 12px rgba(23,54,93,.07)}
.page-about-sd .official-card{min-height:230px}
.page-about-sd .official-card h3,.page-about-sd .symbol-card h3{margin:7px 0 9px;color:#5b2634}
.page-about-sd .official-card p{margin:0 0 10px}
.page-about-sd .official-type,.page-about-sd .symbol-card span{display:block;color:#17365d;font:700 12px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.page-about-sd .judicial-grid .official-card{min-height:130px}
.page-about-sd .seal-story{overflow:hidden}
.page-about-sd .seal-emblem{float:left;width:150px;height:150px;margin:0 28px 18px 0;padding:14px;box-sizing:border-box;color:#f1cf80;text-align:center;background:#17365d;border:7px double #c49a45;border-radius:75px}
.page-about-sd .seal-emblem span{display:block;width:108px;height:108px;color:#fff;font:700 43px/108px system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;border:2px solid #f1cf80;border-radius:54px}
.page-about-sd .state-pledge{margin:22px 0;padding:22px 26px;color:#fff;background:#17365d;border-left:7px solid #c49a45}
.page-about-sd .state-pledge p{margin:0;color:#fff;font:600 21px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.page-about-sd .symbol-card{min-height:155px}
.page-about-sd .symbol-card p{margin-bottom:0}
@media screen and (max-width:900px){.page-about-sd .official-card,.page-about-sd .symbol-card{width:47%}}
@media screen and (max-width:600px){.page-about-sd .official-grid,.page-about-sd .symbol-grid{margin:0}.page-about-sd .official-card,.page-about-sd .symbol-card{display:block;width:auto;min-height:0;margin:0 0 14px}.page-about-sd .seal-emblem{float:none;margin:0 auto 22px}}
/* About South Dakota seal application */
.page-about-sd .fee-grid{margin:0 -7px;font-size:0}.page-about-sd .fee-card{display:inline-block;width:47%;min-height:175px;margin:0 1% 18px;padding:22px;vertical-align:top;box-sizing:border-box;font-size:16px;background:#fff;border:1px solid #d2c9bb;border-top:5px solid #5b2634}.page-about-sd .fee-card span{display:block;color:#17365d;font-weight:700;text-transform:uppercase}.page-about-sd .fee-card strong{display:block;margin:8px 0;color:#5b2634;font:700 34px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}.page-about-sd .application-steps{counter-reset:sealstep;margin:0 0 24px;padding:0;list-style:none}.page-about-sd .application-steps li{position:relative;min-height:42px;margin:0 0 13px;padding:10px 12px 10px 58px;background:#fff;border:1px solid #d2c9bb}.page-about-sd .application-steps li:before{position:absolute;top:8px;left:10px;width:34px;height:34px;color:#fff;text-align:center;background:#17365d;border-radius:17px;content:counter(sealstep);counter-increment:sealstep;font-weight:700;line-height:34px}.page-about-sd .seal-contact{max-width:560px;margin:20px 0}@media screen and (max-width:600px){.page-about-sd .fee-grid{margin:0}.page-about-sd .fee-card{display:block;width:auto;min-height:0;margin:0 0 14px}}
/* About South Dakota palette alignment */
.page-about-sd .sd-fact,.page-about-sd .branch-card,.page-about-sd .state-pledge{background:#00133B}
.page-about-sd .sd-fact{border-top-color:#C79A4C}
.page-about-sd .sd-fact strong,.page-about-sd .branch-card a{color:#C79A4C}
.page-about-sd .about-sd-card,.page-about-sd .official-card,.page-about-sd .symbol-card,.page-about-sd .fee-card,.page-about-sd .report-year,.page-about-sd .flag-rule,.page-about-sd .application-steps li{background:#FFFCF6;border-color:#D3C8AE}
.page-about-sd .about-sd-card{border-left-color:#7A2E2E;box-shadow:0 5px 14px rgba(15,24,38,.08)}
.page-about-sd .about-sd-card h3,.page-about-sd .official-card h3,.page-about-sd .symbol-card h3,.page-about-sd .report-year h3,.page-about-sd .fee-card strong{color:#7A2E2E}
.page-about-sd .official-card{width:47%;min-height:205px;border-top-color:#7A2E2E;box-shadow:0 4px 12px rgba(15,24,38,.07)}
.page-about-sd .official-type,.page-about-sd .symbol-card span,.page-about-sd .fee-card span{color:#00133B}
.page-about-sd .judicial-grid .official-card{min-height:120px}
.page-about-sd .profile-panel,.page-about-sd .seal-panel{margin:0;padding:24px 26px;background:#FFFCF6;border:1px solid #D3C8AE;border-left:6px solid #7A2E2E;box-shadow:0 4px 12px rgba(15,24,38,.06)}
.page-about-sd .profile-panel p:last-child,.page-about-sd .seal-panel p:last-child{margin-bottom:0}
.page-about-sd .state-pledge{border-left-color:#C79A4C}
.page-about-sd .report-year{border-left-color:#00133B}
.page-about-sd .flag-rule:before{color:#7A2E2E}
.page-about-sd .department-list li{color:#4A453C;background:#FFFCF6;border-left-color:#C79A4C}
.page-about-sd .application-steps li:before{background:#00133B;border-radius:2px}
.page-about-sd .fee-card{border-top-color:#7A2E2E}
@media screen and (max-width:600px){.page-about-sd .official-card{display:block;width:auto;min-height:0;margin:0 0 14px}.page-about-sd .profile-panel,.page-about-sd .seal-panel{padding:20px}}
/* State symbol image accordions */
.page-about-sd .seal-history-image{float:left;width:210px;max-height:210px;margin:0 26px 16px 0;object-fit:contain}
.page-about-sd .flag-history{overflow:hidden}.page-about-sd .flag-history img{float:left;width:290px;max-width:42%;margin:0 26px 16px 0;border:1px solid #D3C8AE}
.page-about-sd .symbol-accordion{margin:0}.page-about-sd .symbol-details{margin:0 0 10px;background:#FFFCF6;border:1px solid #D3C8AE}.page-about-sd .symbol-details summary{position:relative;min-height:46px;padding:15px 58px 15px 20px;color:#1E1B16;cursor:pointer;list-style:none;background:#F3EFE5;border-left:5px solid #7A2E2E}.page-about-sd .symbol-details summary:after{position:absolute;top:14px;right:18px;width:25px;height:25px;color:#FFFCF6;text-align:center;background:#00133B;content:"+";font:700 20px/25px Arial,sans-serif}.page-about-sd .symbol-details[open] summary:after{content:"-"}.page-about-sd .symbol-details summary span{display:block;margin-bottom:2px;color:#7A2E2E;font:700 11px/1.3 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.page-about-sd .symbol-details summary strong{display:block;color:#00133B;font:700 20px/1.25 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}.page-about-sd .symbol-detail-content{overflow:hidden;padding:22px}.page-about-sd .symbol-detail-content img{float:left;width:220px;height:150px;margin:0 24px 10px 0;object-fit:cover;border:1px solid #D3C8AE}.page-about-sd .symbol-detail-content p:last-child{margin-bottom:0}.page-about-sd .symbol-no-image{border-left:5px solid #C79A4C}
@media screen and (max-width:700px){.page-about-sd .seal-history-image,.page-about-sd .flag-history img,.page-about-sd .symbol-detail-content img{float:none;display:block;width:100%;height:auto;max-width:420px;max-height:none;margin:0 auto 18px}.page-about-sd .symbol-detail-content{padding:18px}.page-about-sd .symbol-details summary{padding-left:16px}}
/* Secretary Johnson profile refinement */
.page-about-secretary .secretary-intro .section-inner,.page-about-secretary .secretary-compact .section-inner{padding-top:42px;padding-bottom:42px}.page-about-secretary .secretary-layout{display:table;width:100%;background:#FFFCF6;border:1px solid #D3C8AE;border-top:6px solid #7A2E2E;box-shadow:0 5px 16px rgba(15,24,38,.08)}.page-about-secretary .secretary-photo,.page-about-secretary .secretary-bio{display:table-cell;vertical-align:middle}.page-about-secretary .secretary-photo{width:285px;padding:24px;background:#F3EFE5}.page-about-secretary .secretary-photo img{display:block;width:100%;height:auto;border:1px solid #D3C8AE}.page-about-secretary .secretary-bio{padding:30px 34px}.page-about-secretary .secretary-bio h2{margin-top:5px}.page-about-secretary .secretary-facts{margin:24px -5px 0;font-size:0}.page-about-secretary .secretary-facts span{display:inline-block;width:31%;min-height:85px;margin:0 1%;padding:13px;vertical-align:top;box-sizing:border-box;color:#4A453C;font-size:13px;text-align:center;background:#F3EFE5;border-top:3px solid #C79A4C}.page-about-secretary .secretary-facts strong{display:block;margin-bottom:5px;color:#00133B;font:700 18px/1.2 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}.page-about-secretary .secretary-card-row{margin:0 -7px;font-size:0}.page-about-secretary .secretary-card{display:inline-block;width:47%;min-height:155px;margin:0 1%;padding:22px;vertical-align:top;box-sizing:border-box;font-size:16px;background:#FFFCF6;border:1px solid #D3C8AE;border-left:5px solid #7A2E2E}.page-about-secretary .secretary-card h3{margin-top:0;color:#7A2E2E}.page-about-secretary .initiative-list>div{position:relative;margin:0 0 13px;padding:18px 20px 18px 170px;background:#FFFCF6;border:1px solid #D3C8AE}.page-about-secretary .initiative-list strong{position:absolute;top:18px;left:20px;width:130px;color:#7A2E2E}.page-about-secretary .initiative-list p{margin:0}@media screen and (max-width:800px){.page-about-secretary .secretary-layout,.page-about-secretary .secretary-photo,.page-about-secretary .secretary-bio{display:block;width:auto}.page-about-secretary .secretary-photo img{max-width:310px;margin:0 auto}.page-about-secretary .secretary-card{display:block;width:auto;min-height:0;margin:0 0 14px}.page-about-secretary .secretary-card-row{margin:0}}@media screen and (max-width:600px){.page-about-secretary .secretary-bio{padding:24px 20px}.page-about-secretary .secretary-facts{margin:20px 0 0}.page-about-secretary .secretary-facts span{display:block;width:auto;min-height:0;margin:0 0 10px}.page-about-secretary .initiative-list>div{padding:17px}.page-about-secretary .initiative-list strong{position:static;display:block;width:auto;margin-bottom:8px}}
/* Current elected officials portraits */
.page-current-officials section .section-inner{padding-top:42px;padding-bottom:42px}.page-current-officials .official-card{padding:0 0 20px;overflow:hidden}.page-current-officials .official-card .official-photo{display:block;width:100%;height:210px;margin:0 0 18px;object-fit:cover;border-bottom:1px solid #D3C8AE}.page-current-officials .official-card .official-type,.page-current-officials .official-card h3,.page-current-officials .official-card p{margin-left:20px;margin-right:20px}.page-current-officials .official-card .btn{max-width:100%;box-sizing:border-box}.page-current-officials .judicial-grid .official-card{min-height:330px}@media screen and (max-width:600px){.page-current-officials .official-card .official-photo{height:auto;max-height:360px;object-fit:contain;background:#F3EFE5}.page-current-officials .judicial-grid .official-card{min-height:0}}
/* Uniform elected-official portrait frames */
.page-current-officials .official-card{min-height:500px}.page-current-officials .official-photo-frame{display:block;width:100%;height:270px;margin:0 0 18px;overflow:hidden;text-align:center;background:#F3EFE5;border-bottom:1px solid #D3C8AE}.page-current-officials .official-card .official-photo-frame .official-photo{display:inline-block;width:auto!important;height:270px!important;max-width:100%;max-height:none;margin:0;border:0}.page-current-officials .judicial-grid .official-card{min-height:400px}.page-current-officials .judicial-grid .official-photo-frame{height:250px}.page-current-officials .judicial-grid .official-photo-frame .official-photo{height:250px!important}@media screen and (max-width:600px){.page-current-officials .official-card,.page-current-officials .judicial-grid .official-card{min-height:0}.page-current-officials .official-photo-frame,.page-current-officials .judicial-grid .official-photo-frame{height:260px}.page-current-officials .official-card .official-photo-frame .official-photo,.page-current-officials .judicial-grid .official-photo-frame .official-photo{width:auto!important;height:260px!important;max-width:100%}}
/* Dreamweaver-safe Secretary biography */
.page-about-secretary .secretary-biography .section-inner,.page-about-secretary .secretary-text-section .section-inner{padding-top:38px;padding-bottom:38px}.page-about-secretary .secretary-profile-table{width:100%;border-collapse:collapse;background:#FFFCF6;border:1px solid #D3C8AE;border-top:6px solid #7A2E2E}.page-about-secretary .secretary-profile-photo{width:285px;padding:24px;vertical-align:top;background:#F3EFE5}.page-about-secretary .secretary-profile-photo img{display:block;width:260px;height:362px;max-width:260px;margin:0 auto;border:1px solid #D3C8AE}.page-about-secretary .secretary-profile-copy{padding:30px 34px;vertical-align:top}.page-about-secretary .secretary-profile-copy h2{margin-top:5px}.page-about-secretary .secretary-text-section p{max-width:980px}.page-about-secretary .secretary-closing{margin:24px 0 0;padding:22px 26px;color:#FFFCF6;background:#00133B;border-left:7px solid #C79A4C}.page-about-secretary .secretary-closing p{margin:0;color:#FFFCF6;font:600 19px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}@media screen and (max-width:760px){.page-about-secretary .secretary-profile-table,.page-about-secretary .secretary-profile-table tbody,.page-about-secretary .secretary-profile-table tr,.page-about-secretary .secretary-profile-photo,.page-about-secretary .secretary-profile-copy{display:block;width:auto}.page-about-secretary .secretary-profile-photo img{width:260px;height:auto;max-width:100%}.page-about-secretary .secretary-profile-copy{padding:24px 20px}}
/* Full portrait canvas sizing */
.page-current-officials .official-photo-frame,.page-current-officials .judicial-grid .official-photo-frame{display:block;width:100%;height:auto!important;margin:0 0 18px;overflow:visible!important;text-align:center;background:#F3EFE5;border-bottom:1px solid #D3C8AE}.page-current-officials .official-card .official-photo-frame .official-photo,.page-current-officials .judicial-grid .official-photo-frame .official-photo{display:block;width:100%!important;height:auto!important;max-width:600px!important;max-height:none;margin:0 auto;border:0}.page-current-officials .official-card{min-height:0}.page-current-officials .judicial-grid .official-card{min-height:0}
/* Dreamweaver-contained elected-official portraits */
.page-current-officials .official-photo-frame,
.page-current-officials .judicial-grid .official-photo-frame {
    display: block;
    width: 100%;
    height: 380px !important;
    margin: 0 0 18px;
    overflow: hidden !important;
    text-align: center;
    background: #F3EFE5;
    border-bottom: 1px solid #D3C8AE;
    box-sizing: border-box;
}
.page-current-officials .official-card .official-photo-frame .official-photo,
.page-current-officials .judicial-grid .official-photo-frame .official-photo {
    display: block;
    width: 420px !important;
    height: 380px !important;
    max-width: 100% !important;
    margin: 0 auto;
    border: 0;
}
.page-current-officials .official-card { min-height: 590px; }
.page-current-officials .judicial-grid .official-card { min-height: 490px; }
@media screen and (max-width: 600px) {
    .page-current-officials .official-card,
    .page-current-officials .judicial-grid .official-card { min-height: 0; }
    .page-current-officials .official-photo-frame,
    .page-current-officials .judicial-grid .official-photo-frame { height: auto !important; }
    .page-current-officials .official-card .official-photo-frame .official-photo,
    .page-current-officials .judicial-grid .official-photo-frame .official-photo {
        width: 100% !important;
        height: auto !important;
    }
}

/* Homepage typography refinement - 2026-07-29 */
.page-home .eyebrow,
.page-home .btn,
.page-home .spotlight .title,
.page-home .quick-inner,
.page-home .division .tag,
.page-home .division .go,
.page-home .car-visual .tag,
.page-home .car-fact .value,
.page-home .car-nav {
  font-family:"Public Sans",Arial,sans-serif;
}
.page-home .btn,
.page-home .division .go {
  font-weight:600;
  letter-spacing:0;
}
.page-home .spotlight .title {
  letter-spacing:0;
}
.page-home .division .tag,
.page-home .car-visual .tag {
  font-weight:700;
}
.page-home .car-fact .value {
  font-weight:600;
}
/* ============================================================
   ACCESSIBILITY HARDENING — WCAG 2.2 AA
   ============================================================ */
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.card .tag,
.contact-card .tag,
.faq-q .plus,
.absentee-page .deadline .tag,
.absentee-page .card .tag,
.accessibility-page .device-card .tag,
.truth-page .quote-mark,
.press-releases-page .release-type,
.page-home .division .tag{
  color:#7A2E2E;
}
.dark .card .tag{
  color:#F4C56F;
}
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
summary:focus,
[tabindex]:focus{
  outline:3px solid #7A2E2E!important;
  outline-offset:3px!important;
}
.site-head a:focus,
.mega-panel a:focus,
.dark a:focus,
.dark button:focus,
.page-home .office-update-card a:focus,
.truth-page .ribbon a:focus,
.truth-page .cta-band a:focus{
  outline-color:#F4C56F!important;
}
.press-releases-page .release-search-wrap:focus-within{
  border-color:#7A2E2E;
  box-shadow:0 0 0 3px rgba(122,46,46,.22);
}
.faq-a{
  max-height:none;
  overflow:visible;
}
.faq-a[hidden]{
  display:none;
}
button,
.btn,
input[type="button"],
input[type="submit"],
input[type="reset"],
summary{
  min-height:44px;
}
.page-home .car-dot,
.page-home .office-update-dot{
  position:relative;
  width:44px;
  height:44px;
  margin:0;
  padding:0;
  background:transparent!important;
  border:0;
  border-radius:0;
}
.page-home .car-dot:before,
.page-home .office-update-dot:before{
  position:absolute;
  top:50%;
  left:50%;
  width:10px;
  height:10px;
  background:#8D826C;
  border-radius:50%;
  content:"";
  transform:translate(-50%,-50%);
}
.page-home .car-dot.active:before,
.page-home .office-update-dot.active:before{
  width:14px;
  height:14px;
  background:#7A2E2E;
  box-shadow:0 0 0 3px rgba(122,46,46,.18);
}
.page-home .car-pause,
.page-home .office-update-pause{
  min-height:44px;
  padding:9px 14px;
  color:#00133B;
  background:#FFFCF6;
  border:1px solid #8D826C;
  border-radius:2px;
  cursor:pointer;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:.82rem;
  font-weight:700;
}
.page-home .car-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
}
.page-home .office-update-prev,
.page-home .office-update-next{
  min-height:44px;
}
@media screen and (prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto!important;
  }
  *,*::before,*::after{
  animation-duration:.01ms!important;
  animation-iteration-count:1!important;
  transition-duration:.01ms!important;
  transition-delay:0s!important;
  }
}
@media(forced-colors:active){
  a:focus,button:focus,input:focus,select:focus,textarea:focus,summary:focus,[tabindex]:focus{
  outline:3px solid Highlight!important;
  }
  .page-home .car-dot:before,.page-home .office-update-dot:before{
  background:ButtonText;
  }
  .page-home .car-dot.active:before,.page-home .office-update-dot.active:before{
  background:Highlight;
  outline:2px solid Highlight;
  }
  .page-home .office-update-card,.page-home .update-card,.page-home .division{
  border:1px solid CanvasText;
  }
}

/* ============================================================
   Professional refinement layer — August 2026
   Shared across Elections, Business Services, General Services, and Information.
   ============================================================ */
html{font-size:100%;scroll-padding-top:24px}
body{font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.65;text-rendering:optimizeLegibility}
p,li,dd,td{font-size:1rem}
h1,h2,h3{line-height:1.2;}
a{text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
.site-head{background:#00133B;color:#FFFCF6;border-bottom:1px solid rgba(255,255,255,.14)}
.site-head-inner{max-width:1160px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.site-brand{display:flex;align-items:center;min-width:0;text-decoration:none;color:#FFFCF6}
.site-head-seal{display:block;flex:0 0 64px;width:64px;height:64px;background:url("../images/south-dakota-state-seal.png") center/contain no-repeat;text-indent:-9999px;overflow:hidden}
.site-head-text{display:flex;flex-direction:column;padding-left:16px;min-width:0}
.site-head-eyebrow{font-size:.82rem;letter-spacing:.15em;color:#E0B86F}
.site-head-title{font-size:1.75rem;font-weight:700;color:#FFFCF6;line-height:1.08}
.site-head-sub{font-size:.98rem;color:#D7DAE0;letter-spacing:.02em;margin-top:4px}
.site-head-tools{width:43%;max-width:460px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
.official-site{font-size:.78rem;color:#E7E4DA;letter-spacing:.02em}
.official-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#C79A4C;margin-right:7px}
.site-utility-links{display:flex;gap:14px;justify-content:flex-end}
.site-utility-links a{font-size:.82rem;color:#F5E7C6;text-decoration:none}
.site-utility-links a:hover{text-decoration:underline}
.site-search-form{position:relative;width:100%}
.site-search-control{display:flex;background:#FFFCF6;border:2px solid transparent;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.site-search-control:focus-within{border-color:#F4C56F;box-shadow:0 0 0 3px rgba(244,197,111,.26)}
.site-search-control input{flex:1;min-width:0;border:0;padding:12px 14px;font:inherit;font-size:.98rem;color:#1E1B16;background:#FFFCF6}
.site-search-control input:focus{outline:0}
.site-search-control button{border:0;background:#C79A4C;color:#00133B;font:inherit;font-weight:700;padding:0 18px;cursor:pointer}
.site-search-control button:hover{background:#DAB36B}
.site-search-results{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 6px);background:#FFFCF6;color:#1E1B16;border:1px solid #D3C8AE;border-radius:6px;box-shadow:0 14px 36px rgba(15,24,38,.12);max-height:480px;overflow:auto}
.site-search-results ul{list-style:none;margin:0;padding:6px}
.site-search-results li{margin:0}
.site-search-results li+li{border-top:1px solid #E7E0D1}
.site-search-results li a{display:flex;justify-content:space-between;gap:16px;padding:11px 12px;color:#00133B;text-decoration:none}
.site-search-results li a:hover,.site-search-results li a:focus{background:#EAE3D2}
.site-search-results li span{color:#5C574E;font-size:.78rem;white-space:nowrap}
.site-search-all{display:block;padding:11px 18px;border-top:1px solid #D3C8AE;color:#7A2E2E;font-weight:700;text-decoration:none}
.site-search-empty{padding:14px 16px;margin:0;color:#5C574E}
.primary-nav{background:#111F33;display:flex;justify-content:center;gap:0;border-top:1px solid rgba(255,255,255,.08)}
.primary-nav a{color:#F2EFE7;text-decoration:none;font-weight:600;font-size:.96rem;padding:13px 24px;border-left:1px solid rgba(255,255,255,.09)}
.primary-nav a:last-child{border-right:1px solid rgba(255,255,255,.09)}
.primary-nav a:hover,.primary-nav a:focus{background:#C79A4C;color:#00133B}
.mega-toggle{font-size:.94rem;padding:12px 18px;border-radius:6px}
.mega-col .mega-heading{font-size:.8rem}.mega-col a{font-size:.98rem;line-height:1.55}
.page-title{padding-top:54px}.page-title .kicker,.eyebrow{font-size:.8rem}.page-title h1{font-size:2.35rem}
.page-title p.lede,.section-head p,.page-home .spotlight p.lede{font-size:1.08rem;color:#514C43}
.section-head h2{font-size:1.9rem}
section{padding-top:64px;padding-bottom:64px}
.btn{font-size:.94rem;line-height:1.35;min-height:46px;padding:13px 22px;border-radius:6px;font-weight:600;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 3px 14px rgba(15,24,38,.08)}
.page-rail-title{font-size:1.34rem}.page-rail-heading{font-size:.8rem}.page-toc a{font-size:1rem;line-height:1.4;padding:14px 16px}
.cards>*,.about-sd-card,.division,.voting-card,.nvra-resource-card,.cf-form-card,.fis-search-card{border-radius:8px;box-shadow:0 3px 14px rgba(15,24,38,.08);transition:transform .18s ease,box-shadow .18s ease}
.cards>*:hover,.about-sd-card:hover,.division:hover,.voting-card:hover,.nvra-resource-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(15,24,38,.12)}
.document-link .file-type-badge{display:inline-block;margin-left:5px;padding:1px 5px;border:1px solid #D3C8AE;border-radius:3px;background:#EAE3D2;color:#7A2E2E;font-size:.68rem;font-weight:700;letter-spacing:.04em;vertical-align:.1em}
.table-scroll{max-width:100%;overflow:auto;border:1px solid #D3C8AE;border-radius:6px;background:#FFFCF6;scrollbar-gutter:stable}
.table-scroll:focus{outline:3px solid #C79A4C;outline-offset:3px}
.table-scroll table{margin:0;border:0;min-width:720px;width:100%;border-collapse:collapse}
.table-scroll th{position:sticky;top:0;z-index:1;background:#EAE3D2;font-size:.86rem;letter-spacing:.02em}
.table-scroll th,.table-scroll td{padding:14px 16px;border:0;border-bottom:1px solid #D3C8AE;vertical-align:top}
.table-scroll tbody tr:hover{background:#FAF6EC}
.notice,.alert,.deadline-card{border-radius:8px;border-left:5px solid #C79A4C;box-shadow:0 3px 14px rgba(15,24,38,.08)}
/* Task-first homepage */
.task-hero{background:linear-gradient(135deg,#F8F3E8 0%,#EFE6D4 100%);padding:72px 24px 64px;border-bottom:1px solid #D3C8AE}
.task-hero-inner{max-width:1160px;margin:0 auto;text-align:center}
.task-hero h1{font-size:3rem;letter-spacing:-.035em;color:#00133B;margin-top:8px}
.task-hero-lede{font-size:1.18rem;color:#5C574E;margin:16px auto 28px;max-width:680px}
.task-search-form{max-width:820px;margin:0 auto 34px;text-align:left}
.task-search-form .site-search-control{box-shadow:0 10px 28px rgba(15,24,38,.12);border-color:#C8B994}
.task-search-form .site-search-control input{padding:17px 18px;font-size:1.06rem}
.task-search-form .site-search-control button{padding:0 26px;font-size:1rem}
.task-grid{display:flex;flex-wrap:wrap;margin:-8px;text-align:left}
.task-card{display:flex;align-items:flex-start;gap:14px;width:calc(33.333% - 16px);margin:8px;min-height:126px;padding:20px;background:#FFFCF6;border:1px solid #D6C9AA;border-radius:8px;color:#00133B;text-decoration:none;box-shadow:0 3px 14px rgba(15,24,38,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.task-card:hover,.task-card:focus{transform:translateY(-3px);box-shadow:0 14px 36px rgba(15,24,38,.12);border-color:#C79A4C}
.task-card strong{display:block;font-size:1.05rem;line-height:1.3}
.task-card small{display:block;margin-top:7px;color:#5C574E;font-size:.88rem;line-height:1.4}
.task-icon{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#EFE3C7;color:#7A2E2E}
.task-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.election-status{padding:0;background:#00133B;color:#FFFCF6}
.election-status-inner{max-width:1160px;margin:0 auto;display:flex}
.election-status-inner>div{flex:1;padding:18px 22px;border-left:1px solid rgba(255,255,255,.12)}
.election-status-inner>div:last-child{border-right:1px solid rgba(255,255,255,.12)}
.status-label{display:block;color:#DDBB78;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;margin-bottom:4px}
.election-status a{color:#FFFCF6;font-weight:600;text-decoration:none}.election-status a:hover{text-decoration:underline}
.page-home .spotlight h1{font-size:2.25rem}.page-home .spotlight .title{font-size:1rem}.page-home .section-head h2{font-size:2.2rem;line-height:1.18}
.page-home .division h3{font-size:1.42rem}
@media (max-width:980px){
  .site-head-inner{align-items:flex-start;flex-direction:column;gap:16px}.site-head-tools{width:100%}.primary-nav{flex-wrap:wrap}.primary-nav a{flex:1 1 50%;text-align:center;border-bottom:1px solid rgba(255,255,255,.09)}
  .task-card{width:calc(50% - 16px)}.election-status-inner{flex-direction:column}.election-status-inner>div{border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
}
@media (max-width:620px){
  body{font-size:16px}.site-head-inner{padding:15px 18px}.site-head-seal{flex-basis:54px;width:54px;height:54px}.site-head-title{font-size:1.45rem}.site-head-sub{font-size:.9rem}.site-head-tools{display:block}.official-site{margin-bottom:7px}.site-utility-links{position:absolute;left:-9999px}.primary-nav a{flex-basis:100%;padding:11px 16px}.task-hero{padding:52px 18px 44px}.task-hero h1{font-size:2.45rem}.task-card{width:calc(100% - 16px)}.task-search-form .site-search-control{display:block}.task-search-form .site-search-control button{width:100%;padding:13px 16px}.page-title{padding-left:18px;padding-right:18px}.table-scroll table{min-width:620px}
}
@media (prefers-reduced-motion:reduce){.btn,.task-card,.cards>*,.about-sd-card,.division,.voting-card{transition:none}.btn:hover,.task-card:hover,.cards>*:hover,.about-sd-card:hover,.division:hover,.voting-card:hover{transform:none}}
@media print{.site-head-tools,.primary-nav,.mega-wrap,.site-search-results,.task-search-form{display:none}.site-head{background:#fff;color:#000}.site-head-title{color:#000}.site-head-seal{filter:grayscale(1)}}

.page-home .spotlight .secretary-name{font-size:2.25rem;line-height:1.08;margin:0;color:#00133B;font-weight:700}

/* Contact page: balanced two-column groups in browsers and Dreamweaver
   Design View, plus clear department dividers in the contact table. */
.contact-page .contact-two-column > *{
  width:48.5%;
  margin-right:3%;
}
.contact-page .contact-two-column > *:nth-child(2n){
  margin-right:0;
}
.contact-page .responsive-table tbody th[colspan]{
  position:static;
  background:#00133B;
  color:#FFFCF6;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media screen and (max-width:760px){
  .contact-page .contact-two-column > *{
    display:block;
    width:auto;
    margin-right:0;
  }
}

/* 404 recovery page. The search control uses a table fallback for
   Dreamweaver Design View and Flexbox in modern browsers. */
.error-main{
  min-height:60vh;
}
.error-hero{
  padding:72px 24px 76px;
  background:linear-gradient(135deg,#F8F3E8 0%,#EFE6D4 100%);
  border-bottom:1px solid #D3C8AE;
}
.error-inner{
  max-width:820px;
  margin:0 auto;
  text-align:center;
}
.error-code{
  margin-bottom:2px;
  color:#C79A4C;
  font-family:"Public Sans",Arial,sans-serif;
  font-size:5.4rem;
  font-weight:800;
  letter-spacing:-.06em;
  line-height:1;
}
.error-hero h1{
  margin:8px 0 16px;
  color:#00133B;
  font-size:2.8rem;
}
.error-lede{
  max-width:670px;
  margin:0 auto 28px;
  color:#514C43;
  font-size:1.08rem;
}
.error-search{
  position:relative;
  max-width:680px;
  margin:0 auto 22px;
  text-align:left;
}
.error-search > label{
  display:block;
  margin-bottom:8px;
  color:#00133B;
  font-size:.88rem;
  font-weight:700;
}
.error-search .site-search-control{
  display:table;
  width:100%;
}
.error-search .site-search-control input,
.error-search .site-search-control button{
  display:table-cell;
}
.error-search .site-search-control input{
  width:100%;
}
.error-actions{
  margin-top:8px;
}
.error-destinations{
  background:#F3EFE5;
}
.error-destinations .section-head{
  text-align:center;
}
@supports (display:flex){
  .error-search .site-search-control{
    display:flex;
  }
  .error-search .site-search-control input,
  .error-search .site-search-control button{
    display:block;
  }
  .error-search .site-search-control input{
    flex:1 1 auto;
  }
}
@media screen and (max-width:620px){
  .error-hero{
    padding:52px 18px 56px;
  }
  .error-code{
    font-size:4.3rem;
  }
  .error-hero h1{
    font-size:2.15rem;
  }
  .error-search .site-search-control{
    display:block;
  }
  .error-search .site-search-control input,
  .error-search .site-search-control button{
    display:block;
    width:100%;
  }
  .error-search .site-search-control button{
    padding:13px 16px;
  }
}

/* ============================================================
   Homepage proportion and portrait correction — 2026-08-04
   Keeps the task-first structure while restoring a restrained,
   official visual scale.
   ============================================================ */
.site-head-inner{padding:14px 24px;gap:26px}
.site-head-seal{flex-basis:54px;width:54px;height:54px}
.site-head-text{padding-left:13px}
.site-head-eyebrow{font-size:.72rem;letter-spacing:.14em}
.site-head-title{font-size:1.72rem;line-height:1.08}
.site-head-sub{font-size:.86rem;margin-top:3px}
@media (min-width:1100px){.site-head-title{white-space:nowrap}}
.page-home .site-head-tools{width:auto;min-width:315px;display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.page-home .official-site{font-size:.78rem}
.page-home .site-utility-links a{font-size:.82rem}
.page-home .homepage-mega-wrap{background:#F8F5EE}
.page-home .homepage-mega-wrap .mega-bar{padding:8px 24px;text-align:center}
.page-home .homepage-mega-wrap .mega-toggle{padding:9px 15px;border:1px solid #B8AA89;background:transparent;color:#00133B;font-size:.86rem;box-shadow:none}
.page-home .homepage-mega-wrap .mega-toggle:hover,.page-home .homepage-mega-wrap .mega-toggle:focus{background:#00133B;color:#FFFCF6;border-color:#00133B}
.task-hero{padding:48px 24px 52px}
.task-hero h1{font-size:3rem;letter-spacing:-.025em;margin-top:7px}
.task-hero-lede{font-size:1.05rem;margin:12px auto 22px;max-width:620px}
.task-search-form{max-width:720px;margin:0 auto 26px}
.task-search-form .site-search-control input{padding:14px 16px;font-size:1rem}
.task-search-form .site-search-control button{padding:0 22px;font-size:.94rem}
.task-grid{gap:14px;max-width:1040px;margin:0 auto}
.task-card{width:calc((100% - 28px)/3);margin:0;min-height:104px;padding:17px;gap:12px}
.task-card strong{font-size:.98rem}
.task-card small{margin-top:5px;font-size:.84rem}
.task-icon{flex-basis:38px;width:38px;height:38px}
.task-icon svg{width:21px;height:21px}
.page-home .spotlight{padding:48px 24px 52px}
.page-home .spotlight-grid{max-width:1040px}
.page-home .sec-photo{width:178px;height:178px;object-fit:cover;object-position:center 18%;background:#E9E1D1}
.page-home .spotlight .secretary-name{font-size:1.9rem;line-height:1.12}
.page-home .spotlight .title{font-size:.94rem}
.page-home .spotlight p.lede{font-size:1.01rem;line-height:1.62}
.page-home .section-head h2{font-size:2.1rem;line-height:1.2}
.page-home .division h3{font-size:1.3rem}
@media (max-width:980px){
  .page-home .site-head-inner{flex-direction:row;align-items:center}
  .page-home .site-head-tools{min-width:0;margin-left:auto}
  .task-hero{padding-top:42px}
  .task-card{width:calc((100% - 14px)/2)}
}
@media (max-width:720px){
  .page-home .site-head-inner{flex-direction:column;align-items:flex-start;gap:10px}
  .page-home .site-head-tools{align-items:flex-start;margin-left:0}
  .page-home .site-head-title{font-size:1.45rem;white-space:normal}
  .task-hero{padding:40px 18px 44px}
  .task-hero h1{font-size:2.15rem}
  .task-card{min-height:0}
  .page-home .spotlight-grid{text-align:center}
  .page-home .sec-photo{width:156px;height:156px;margin:0 auto 24px}
}
@media (max-width:620px){
  .task-card{width:100%}
}

/* ============================================================
   SEARCH PAGE AND SECRETARY PORTRAIT REFINEMENT
   ============================================================ */
html body{
  font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
.page-home .spotlight-grid{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  align-items:end;
  gap:42px;
  table-layout:auto;
}
.page-home .spotlight-grid > div{
  display:block;
  width:auto;
  margin-left:0;
  padding-left:0;
}
.page-home .sec-photo{
  display:block;
  width:230px !important;
  height:290px !important;
  min-width:230px;
  min-height:290px;
  max-width:230px;
  max-height:290px;
  margin:0 auto -1px;
  border:0;
  outline:0;
  border-radius:0;
  background:transparent url("../images/secretary-johnson.png") center bottom/contain no-repeat;
  box-shadow:none;
}
.page-search main{background:#F3EFE5;}
.search-page-inner{max-width:980px;margin:0 auto;}
.search-page-hero{padding:58px 24px 46px;background:#F3EFE5;border-bottom:1px solid #D3C8AE;}
.search-page-hero h1{font-size:2.35rem;line-height:1.15;margin-top:8px;}
.search-page-lede{max-width:68ch;margin:14px 0 28px;color:#4A453C;font-size:1.04rem;}
.search-page-form{max-width:760px;}
.search-page-form label{display:block;margin-bottom:8px;font-weight:600;color:#00133B;}
.search-page-form .site-search-control{box-shadow:0 12px 28px rgba(15,24,38,.09);}
.search-page-form input{min-height:54px;font-size:1rem;}
.search-page-form button{min-width:112px;font-size:.95rem;}
.search-page-results-section{padding:42px 24px 72px;background:#FFFCF6;}
.search-results-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;padding-bottom:20px;border-bottom:1px solid #D3C8AE;}
.search-results-toolbar h2{flex:1;font-size:1.35rem;line-height:1.3;margin-right:18px;}
.search-results-toolbar label{font-size:.82rem;font-weight:600;color:#4A453C;margin-right:8px;}
.search-results-toolbar select{min-width:210px;padding:10px 34px 10px 12px;border:1px solid #B9A980;border-radius:3px;background:#fff;font:inherit;color:#00133B;}
.search-page-results{display:block;}
.search-result-card{padding:24px 4px;border-bottom:1px solid #D3C8AE;}
.search-result-card h2{font-size:1.18rem;line-height:1.3;margin:5px 0 7px;}
.search-result-card h2 a{color:#00133B;text-decoration-thickness:1px;text-underline-offset:3px;}
.search-result-card h2 a:hover{color:#7A2E2E;}
.search-result-card p{max-width:74ch;margin:0;color:#4A453C;}
.search-result-meta{font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:#7A2E2E;font-weight:600;}
.search-page-empty{padding:36px 0;}
.search-page-empty h2{font-size:1.35rem;margin-bottom:8px;}
.search-page-tools{align-self:center;}
@media screen and (max-width:760px){
  .page-home .spotlight-grid{display:block;text-align:center;}
  .page-home .sec-photo{width:190px !important;height:240px !important;min-width:190px;min-height:240px;max-width:190px;max-height:240px;margin-bottom:20px;}
  .search-page-hero{padding:42px 20px 34px;}
  .search-page-hero h1{font-size:1.9rem;}
  .search-page-results-section{padding:30px 20px 56px;}
  .search-results-toolbar{display:block;}
  .search-results-toolbar label{display:block;margin:16px 0 6px;}
  .search-results-toolbar select{width:100%;min-width:0;}
  .search-page-form .site-search-control{display:block;}
  .search-page-form input,.search-page-form button{display:block;width:100%;}
  .search-page-form button{margin-top:8px;min-height:48px;}
}

/* ============================================================
   HOMEPAGE CAROUSEL BUTTON FIX
   Uses CSS-drawn chevrons so the arrows cannot clip or shift
   because of font rendering or page encoding.
   ============================================================ */
.page-home .car-nav{
  position:absolute;
  top:50%;
  display:block !important;
  width:36px !important;
  height:36px !important;
  margin-top:-18px;
  padding:0 !important;
  overflow:hidden !important;
  text-indent:-9999px;
  white-space:nowrap;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  box-sizing:border-box;
}
.page-home .car-nav:after{
  content:"" !important;
  position:absolute;
  display:block;
  width:8px;
  height:8px;
  top:12px;
  border-top:2px solid #00133B;
  border-right:2px solid #00133B;
  font-size:0;
  line-height:0;
  box-sizing:border-box;
}
.page-home .car-prev{left:14px !important;}
.page-home .car-next{right:14px !important;}
.page-home .car-prev:after{
  left:14px;
  transform:rotate(-135deg);
}
.page-home .car-next:after{
  left:11px;
  transform:rotate(45deg);
}
.page-home .car-nav:hover:after,
.page-home .car-nav:focus:after{
  border-color:#FFFCF6;
}
@media screen and (max-width:760px){
  .page-home .car-prev{left:10px !important;}
  .page-home .car-next{right:10px !important;}
}
