@import url('legal.css');

:root { --ink: #102a43; --muted: #52677d; --accent: #1a7f72; --accent-dark: #106259; --soft: #edf7f5; }
.election-home { background: #f6f9fa; color: var(--ink); }
.election-home .main-header { background: rgba(255, 255, 255, .94); }
.election-home .nav-container { max-width: 1180px; }
.election-home .brand-logo { height: 64px; }
.home-nav { display: flex; align-items: center; gap: 26px; list-style: none; }
.home-nav a { color: var(--ink); font-size: .94rem; font-weight: 600; text-decoration: none; }
.home-nav a:hover { color: var(--accent-dark); }
.nav-cta { background: var(--accent); border-radius: 6px; color: #fff !important; padding: 10px 16px; }
.nav-cta:hover { background: var(--accent-dark); }
.election-hero { background: radial-gradient(circle at 84% 12%, rgba(58, 156, 143, .26), transparent 25%), linear-gradient(135deg, #102a43, #174e61); color: #fff; overflow: hidden; padding: clamp(76px, 11vw, 138px) 24px; position: relative; }
.election-hero::after { border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ''; height: 510px; position: absolute; right: -130px; top: -170px; width: 510px; }
.hero-inner { margin: 0 auto; max-width: 1120px; position: relative; z-index: 1; }
.hero-kicker { color: #8ce1d2; font-size: .78rem; font-weight: 800; letter-spacing: .13em; margin-bottom: 18px; text-transform: uppercase; }
.election-hero h1 { font-size: clamp(2.55rem, 5.3vw, 4.8rem); letter-spacing: -.055em; line-height: 1.03; max-width: 800px; }
.hero-copy { color: rgba(255,255,255,.82); font-size: 1.16rem; line-height: 1.7; margin-top: 26px; max-width: 650px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button-primary, .button-secondary { border-radius: 6px; display: inline-block; font-weight: 700; padding: 13px 21px; text-decoration: none; }
.button-primary { background: #36b4a0; color: #072d30; }
.button-primary:hover { background: #70d7c7; }
.button-secondary { border: 1px solid rgba(255,255,255,.45); color: #fff; }
.button-secondary:hover { background: rgba(255,255,255,.1); }
.election-main { margin: 0 auto; max-width: 1120px; padding: 92px 24px; }
.section-kicker { color: var(--accent-dark); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.section-heading { color: var(--ink); font-size: clamp(2rem, 3.5vw, 3rem); letter-spacing: -.04em; line-height: 1.14; margin-top: 10px; max-width: 660px; }
.section-copy { color: var(--muted); line-height: 1.7; margin-top: 18px; max-width: 680px; }
.capabilities { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); margin-top: 42px; }
.capability { background: #fff; border: 1px solid #dce8e6; border-radius: 12px; padding: 29px; }
.capability-number { color: var(--accent); font-size: .8rem; font-weight: 800; letter-spacing: .1em; }
.capability h3 { color: var(--ink); font-size: 1.18rem; margin: 16px 0 10px; }
.capability p { color: var(--muted); font-size: .95rem; line-height: 1.65; }
.workflow { background: var(--soft); border-radius: 16px; display: grid; gap: 46px; grid-template-columns: 1fr 1fr; margin-top: 88px; padding: clamp(32px, 6vw, 70px); }
.workflow h2 { color: var(--ink); font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -.04em; line-height: 1.15; }
.workflow p { color: var(--muted); line-height: 1.7; margin-top: 18px; }
.workflow-list { list-style: none; }
.workflow-list li { border-bottom: 1px solid #cde0dd; color: var(--ink); font-weight: 650; padding: 18px 0 18px 33px; position: relative; }
.workflow-list li::before { color: var(--accent); content: '✓'; font-weight: 800; left: 2px; position: absolute; }
.contact-panel { background: #fff; border: 1px solid #dce8e6; border-radius: 12px; margin-top: 88px; padding: clamp(32px, 6vw, 64px); text-align: center; }
.contact-panel h2 { color: var(--ink); font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -.04em; }
.contact-panel p { color: var(--muted); margin: 15px auto 26px; max-width: 590px; }
.contact-panel .button-primary { background: var(--accent); color: #fff; }
.contact-panel .button-primary:hover { background: var(--accent-dark); }
@media (max-width: 768px) { .home-nav { gap: 14px; } .home-nav a:not(.nav-cta) { display: none; } .election-home .nav-container { padding: 12px 20px; } .election-home .brand-logo { height: 52px; } .capabilities, .workflow { grid-template-columns: 1fr; } .election-main { padding: 64px 20px; } .workflow, .contact-panel { margin-top: 60px; } }
