:root{--navy:#073b73;--blue:#168dcc;--sky:#eaf8ff;--green:#198b62;--ink:#12324e;--muted:#65798a;--line:#d9eaf2;--soft:#f7fcff;--shadow:0 24px 70px rgba(7,59,115,.11)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"DM Sans",sans-serif;color:var(--ink);line-height:1.65;overflow-x:hidden}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.container{width:min(1160px,calc(100% - 40px));margin:auto}.section{padding:105px 0}
.site-header{position:fixed;z-index:20;inset:0 0 auto;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font:800 14px Montserrat}.brand strong,.brand small{display:block}.brand strong{font:800 15px Montserrat;color:var(--navy)}.brand small{font-size:9px;letter-spacing:.08em;color:var(--muted)}.nav{display:flex;align-items:center;gap:21px;font-size:13px;font-weight:700}.nav a{transition:.25s}.nav a:hover{color:var(--blue)}.nav-contact{background:var(--navy);color:#fff!important;padding:10px 17px;border-radius:99px}.nav-donate{background:var(--green);color:#fff!important;padding:10px 17px;border-radius:99px}.menu-toggle{display:none;border:0;background:none;width:42px;height:42px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px auto}
.vote-badge{position:fixed;z-index:50;top:92px;right:22px;background:var(--navy);color:#fff;border:2px solid #9de4f8;border-radius:14px;padding:9px 15px;text-align:center;box-shadow:0 12px 35px rgba(7,59,115,.22);min-width:165px;line-height:1.15}.vote-badge span,.vote-badge strong,.vote-badge small{display:block}.vote-badge span{font:800 9px Montserrat;letter-spacing:.16em;color:#9de4f8}.vote-badge strong{font:800 15px Montserrat;margin:3px 0}.vote-badge small{font-size:9px;letter-spacing:.14em;color:#d8f6ff}
.hero{position:relative;overflow:hidden;padding:145px 0 85px;min-height:900px;background:linear-gradient(180deg,#eaf8ff 0%,#fff 76%)}.hero-stack{text-align:center;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.hero-name{font:800 clamp(48px,7vw,86px)/.95 Montserrat;letter-spacing:.055em;color:var(--navy);margin-bottom:13px}.candidate-line{font:700 clamp(17px,2vw,23px)/1.35 Montserrat;color:var(--blue)}.candidate-line span{font:500 .82em "DM Sans",sans-serif;color:#45677f}.hero-photo-wrap{position:relative;width:min(390px,76vw);margin:37px auto 28px}.photo-ring{position:absolute;inset:-16px -18px -16px 17px;border:2px solid #a9e1f3;border-radius:38% 38% 25% 25%;transform:rotate(4deg)}.hero-photo{position:relative;z-index:2;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:40% 40% 24% 24%;box-shadow:var(--shadow)}.floating-card{position:absolute;z-index:3;left:-52px;bottom:27px;background:#fff;border-radius:18px;padding:14px 17px;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow);min-width:240px;text-align:left}.floating-icon{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:var(--blue)}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:13px}.floating-card small{font-size:10px;color:var(--muted)}.hero-message{max-width:850px}.hero-message h1{font:800 clamp(37px,5vw,64px)/1.07 Montserrat;color:var(--navy);letter-spacing:-.045em}.hero-message h1 span{color:var(--blue)}.hero-message>p{color:var(--muted);font-size:16px;margin:18px auto 25px;max-width:700px}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:99px;padding:14px 23px;font-weight:800;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(7,59,115,.15)}.btn-primary{background:var(--navy);color:#fff}.btn-secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn-donate{background:var(--green);color:#fff}.btn-light{background:#fff;color:var(--navy)}.hero-glow{position:absolute;border-radius:50%;opacity:.6}.hero-glow-one{width:420px;height:420px;background:#d7f4ff;right:-170px;top:170px}.hero-glow-two{width:280px;height:280px;background:#dff7ee;left:-140px;bottom:-90px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.17em;color:var(--blue);margin-bottom:13px}.two-col{display:grid;grid-template-columns:.75fr 1.25fr;gap:85px;align-items:center}.section-heading h2,.contact-copy h2{font:800 clamp(35px,4vw,52px)/1.08 Montserrat;color:var(--navy);letter-spacing:-.045em}.intro-copy{font-size:16px;color:var(--muted)}.intro-copy p+p{margin-top:17px}.intro-copy strong{color:var(--navy)}.value-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.value-row span{background:var(--sky);color:var(--navy);padding:8px 13px;border-radius:99px;font-size:12px;font-weight:800}.about-photo{max-width:420px;margin:auto}.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}
.why{background:var(--soft)}.why-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:55px;display:grid;grid-template-columns:.15fr 1fr;gap:35px;box-shadow:var(--shadow)}.why-mark{font:800 90px/1 Montserrat;color:#b9e8f7}.why-card h2{font:800 40px/1.1 Montserrat;color:var(--navy)}.why-card p:not(.eyebrow){color:var(--muted);font-size:15px;margin-top:15px}.signature{display:inline-block;margin-top:23px;background:var(--sky);color:var(--navy);padding:10px 15px;border-radius:12px;font-weight:800;font-size:13px}
.priorities{background:linear-gradient(#f7fcff,#edfaff)}.center-heading{text-align:center;max-width:720px;margin:0 auto 48px}.center-heading h2{font:800 46px/1.1 Montserrat;color:var(--navy);letter-spacing:-.045em}.center-heading>p:last-child{color:var(--muted)}.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.priority-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;min-height:255px;transition:.3s;overflow:hidden}.priority-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:#9bdcf3}.priority-number{position:absolute;right:22px;top:18px;color:#a8bdca;font:800 11px Montserrat}.icon-circle{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:19px;margin-bottom:21px}.icon-circle.blue{background:#e2f6ff;color:#168dcc}.icon-circle.green{background:#e5f8ef;color:#198b62}.icon-circle.orange{background:#fff0de;color:#d77b14}.icon-circle.red{background:#ffe9e9;color:#c84b4b}.icon-circle.purple{background:#f0e9ff;color:#7549b6}.icon-circle.teal{background:#e3f7f8;color:#168a98}.priority-card h3{font:800 20px Montserrat;color:var(--navy);margin-bottom:9px}.priority-card p{color:var(--muted);font-size:13.5px}.inclusion-panel{margin-top:20px;background:#e9f9f2;border:1px solid #c6ebdc;border-radius:26px;padding:27px 30px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}.inclusion-icon{width:55px;height:55px;border-radius:18px;background:#198b62;color:#fff;display:grid;place-items:center;font-size:25px}.inclusion-panel h3{font:800 21px Montserrat;color:var(--navy)}.inclusion-panel p:last-child{color:var(--muted);font-size:13.5px}
.statement{background:#fff}.statement-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:85px;align-items:center}.statement-photo{max-width:420px;margin:auto}.statement-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}.statement-copy h2{font:800 46px/1.1 Montserrat;color:var(--navy);letter-spacing:-.045em}.statement-copy>p:not(.eyebrow){color:var(--muted);font-size:16px;margin-top:17px}.quote-card{margin-top:27px;padding:23px;background:var(--sky);border-radius:20px;color:var(--navy);font-weight:800}.quote-card span{font:800 40px/0 Montserrat;color:var(--blue)}
.election{padding-top:30px}.election-card{background:linear-gradient(120deg,var(--navy),#147caf);color:#fff;padding:43px;border-radius:30px;display:grid;grid-template-columns:1.5fr auto auto;gap:30px;align-items:center;box-shadow:0 25px 65px rgba(7,59,115,.2)}.election .eyebrow{color:#b4ebff}.election-card h2{font:800 30px Montserrat}.election-card p:last-child{opacity:.82}.date-box{border:1px solid #ffffff45;border-radius:18px;padding:12px 19px;display:flex;align-items:center;gap:10px}.date-box strong{font:800 36px/1 Montserrat}.date-box span{font-size:10px;letter-spacing:.1em}
.contact{background:var(--soft)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.contact-copy h2{margin-bottom:18px}.contact-copy>p:not(.eyebrow){color:var(--muted)}.contact-details{display:grid;gap:13px;margin-top:30px;color:var(--navy);font-weight:800;font-size:14px}.contact-form{background:#fff;border:1px solid var(--line);padding:32px;border-radius:28px;box-shadow:var(--shadow);display:grid;gap:17px}.contact-form label{display:grid;gap:7px;font-size:12px;font-weight:800;color:var(--navy)}input,textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px 15px;font:inherit;outline:none;resize:vertical}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #168dcc18}.form-note{font-size:10px;color:#8496a4}.form-success{display:none;background:#e9f8f0;color:#177650;padding:10px;border-radius:10px;font-size:11px;font-weight:800}
.footer{background:#062f5c;color:#fff;padding:27px 0}.footer-wrap{display:flex;justify-content:space-between;align-items:center}.footer strong,.footer span{display:block}.footer strong{font:800 14px Montserrat}.footer span{font-size:10px;opacity:.65}.footer a{font-size:12px;font-weight:800}.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}
@media(max-width:1000px){.nav{gap:12px}.two-col,.statement-grid{gap:45px}.priority-grid{grid-template-columns:repeat(2,1fr)}.election-card{grid-template-columns:1fr auto}.election-card .btn{grid-column:1/-1;justify-self:start}}
@media(max-width:780px){.container{width:min(100% - 28px,640px)}.menu-toggle{display:block}.nav{display:none;position:absolute;top:78px;left:14px;right:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:10px}.vote-badge{top:86px;right:12px;min-width:145px;padding:7px 10px}.vote-badge strong{font-size:12px}.vote-badge small{font-size:8px}.hero{padding-top:125px;min-height:auto}.hero-name{font-size:48px}.hero-photo-wrap{margin-top:30px}.floating-card{left:8px}.two-col,.statement-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.section{padding:80px 0}.about-photo,.statement-photo{max-width:360px}.why-card{grid-template-columns:1fr;padding:30px;gap:5px}.why-mark{font-size:60px}.why-card h2{font-size:31px}.center-heading h2,.statement-copy h2{font-size:36px}.priority-grid{grid-template-columns:1fr}.inclusion-panel{grid-template-columns:1fr}.election-card{grid-template-columns:1fr;padding:30px}.date-box{justify-self:start}.contact-form{padding:23px}.footer-wrap{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:480px){.vote-badge{top:83px;right:9px;min-width:132px}.vote-badge strong{font-size:10px}.hero-name{font-size:39px}.candidate-line{font-size:15px}.hero-photo-wrap{width:min(330px,82vw)}.hero-message h1{font-size:36px}.hero-message>p{font-size:14px}.hero-actions .btn{width:100%}.brand small{display:none}}
