:root{--navy:#102f55;--blue:#194e87;--red:#b62135;--ink:#25374a;--line:#dce3ed}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:white;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.7}a{color:var(--blue);text-underline-offset:5px}a:focus-visible{outline:3px solid var(--red);outline-offset:5px}.flagbar{height:8px;background:linear-gradient(90deg,var(--red) 0 34%,#fff 34% 66%,var(--blue) 66%)}header{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 48px;border-bottom:1px solid var(--line)}.brand{font-weight:900;font-size:30px;letter-spacing:-1px;color:var(--navy);text-decoration:none;line-height:1.1;white-space:nowrap}.brand span{display:block;font-size:10px;letter-spacing:2px;margin-top:7px;color:var(--red)}nav{display:flex;align-items:center;gap:25px}nav a{font-size:12px;font-weight:700;text-decoration:none}nav a:hover,.textlink:hover{color:var(--red)}.button{display:inline-flex;gap:30px;background:var(--red);color:#fff;padding:16px 24px;text-decoration:none;font-weight:700;font-size:14px;border:1px solid var(--red)}.button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.button.small{padding:11px 17px;font-size:12px}.hero{max-width:1320px;margin:auto;padding:80px 48px 90px;display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:center}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2.2px;font-weight:800;color:var(--red);margin:0 0 20px}h1,h2{color:var(--navy);line-height:1.12;font-family:Georgia,'Times New Roman',serif;font-weight:500}h1{font-size:clamp(38px,4.3vw,65px);letter-spacing:-2px;margin:0 0 25px}h1 em{font-style:normal;color:var(--red)}.tagline{font-size:13px;font-weight:700;letter-spacing:2px;margin:28px 0}.textlink{display:block;font-size:12px;margin-top:19px}figure{margin:0;background:#f1f4f8;padding:28px 26px 20px;position:relative;border-bottom:6px solid var(--red)}figure img{width:100%;display:block;max-height:470px;object-fit:contain}.stars{color:var(--blue);letter-spacing:14px;text-align:center;font-size:20px;margin-bottom:15px}figcaption{text-align:center;font-family:Georgia,serif;font-size:18px;color:var(--navy);margin-top:16px}.priorities{padding:70px 48px;max-width:1320px;margin:auto;border-top:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:50px 70px}.grid article{padding:25px 0 5px;border-top:2px solid var(--blue)}.number{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--red);display:block;margin-bottom:20px}.grid .eyebrow{font-size:10px;margin-bottom:10px}.grid h2{font-size:31px;margin:0 0 16px}.grid p{font-size:15px}.quote{background:var(--navy);color:#fff;text-align:center;padding:64px max(25px,calc((100vw - 950px)/2))}.quote .eyebrow{color:#fff;opacity:.75}blockquote{font-family:Georgia,serif;font-size:clamp(23px,2.4vw,33px);line-height:1.5;margin:0}.quote>p:last-child{font-size:13px;letter-spacing:1px;margin-top:24px}.contact{max-width:1320px;margin:auto;padding:85px 48px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:45px;margin:0 0 20px}.contact p{max-width:520px}address{font-style:normal;border-left:3px solid var(--red);padding-left:35px;align-self:center}address strong{color:var(--navy);font-size:20px}.social{display:flex;gap:22px;font-size:12px;margin-top:20px}footer{border-top:1px solid var(--line);padding:25px 48px;font-size:11px;display:flex;justify-content:space-between;align-items:center;gap:20px}footer span{font-weight:bold;color:var(--navy)}.pagehead{max-width:1180px;margin:auto;padding:70px 48px 50px}.pagehead h1{max-width:960px}.articles{max-width:1080px;margin:auto;padding:0 48px 65px}.articles article{display:grid;grid-template-columns:65px 1fr;gap:20px;border-top:1px solid var(--line);padding:35px 0}.articles h2{font-size:33px;margin:0 0 18px}.articles p{margin:0}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(max-width:1000px){header{padding:24px;flex-wrap:wrap}nav{flex-wrap:wrap;gap:18px}.hero{gap:30px;padding:50px 24px}h1{letter-spacing:-1px}.priorities,.contact{padding:50px 24px}.contact{gap:35px}footer{padding:24px}}@media(max-width:650px){nav{gap:12px 18px}nav a{font-size:11px}.hero{grid-template-columns:1fr;padding-top:40px;gap:35px}.hero figure{max-width:420px;width:100%;margin:auto}.hero h1{font-size:43px}.grid,.contact{grid-template-columns:1fr;gap:30px}.grid h2{font-size:28px}.pagehead{padding:45px 24px 30px}.pagehead h1{font-size:39px}.articles{padding:0 24px 40px}.articles article{grid-template-columns:30px 1fr;gap:10px}.articles h2{font-size:28px}.articles p{font-size:15px}footer{display:block}address{padding-left:20px;overflow-wrap:anywhere}.quote{padding:48px 24px}}
.brand{white-space:normal}.brand img{width:260px;max-width:100%;display:block}header{padding-top:12px;padding-bottom:12px}@media(max-width:650px){.brand img{width:230px}}
.articles article{display:block}.biography{max-width:1180px;margin:auto;padding:0 48px 80px;display:grid;grid-template-columns:280px 1fr;gap:60px}.biography aside img{width:100%;display:block;background:#f1f4f8;border-bottom:4px solid var(--red)}.prose p{margin:0 0 22px}.prose .bio-lead{font-size:21px;color:var(--navy)}.prose h3{font:500 29px/1.2 Georgia,serif;color:var(--navy);margin:35px 0 18px}@media(max-width:650px){.biography{grid-template-columns:1fr;padding:0 24px 50px;gap:30px}.biography aside{max-width:270px}}
.campaign-note{font-size:17px;color:var(--navy);margin:10px 0}.hero .textlink{margin-bottom:20px}.celebrations{max-width:1320px;margin:auto;padding:70px 48px;border-bottom:1px solid var(--line)}.celebrations h2{font-size:42px;margin:0 0 18px}.calendar-intro{max-width:700px;margin-bottom:35px}.calendar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.calendar-grid article{border-top:3px solid var(--red);padding:18px 0}.calendar-grid .month{font-size:12px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:var(--red)}.calendar-grid h3{font:500 24px/1.2 Georgia,serif;color:var(--navy);margin:15px 0}.calendar-grid article>p:last-child{font-size:13px}@media(max-width:850px){.calendar-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.celebrations{padding:45px 24px}.celebrations h2{font-size:33px}.calendar-grid{grid-template-columns:1fr;gap:15px}}
