@font-face{font-family:"Public Sans";src:url("assets/fonts/public-sans.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Newsreader;src:url("assets/fonts/newsreader.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
:root{--navy:#183A64;--navy-deep:#10294A;--teal:#0E8F88;--green:#7CC242;--ivory:#FBF8F1;--white:#fff;--ink:#1B2430;--muted:#5B6675;--line:#DDD6C8;--amber:#E3A23A;--sans:"Public Sans",sans-serif;--serif:Newsreader,Georgia,serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:116px}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:var(--green);color:var(--navy-deep)}
a{color:inherit;text-underline-offset:5px}
button{font:inherit;cursor:pointer}
a,button,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--amber);outline-offset:6px}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
figure{min-width:0}
p+p{margin-top:20px}
h2{font-family:var(--serif);font-size:clamp(38px,4.6vw,64px);line-height:1.05;font-weight:400;letter-spacing:-.035em;text-wrap:balance;color:var(--navy)}
p{max-width:66ch}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;padding:12px 20px;background:var(--navy);color:white}
.skip-link:focus{top:12px}
.preview-bar{padding:7px 20px;text-align:center;font-size:12px;letter-spacing:.015em;background:var(--navy-deep);color:var(--white)}
.preview-bar span{padding:0 8px;color:var(--green)}
.site-header{position:sticky;top:0;z-index:30;background:var(--ivory);border-bottom:1px solid var(--line)}
.nav-shell{max-width:1440px;min-height:96px;padding:16px 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.wordmark{font-size:15px;letter-spacing:.12em;line-height:1.18;text-decoration:none;color:var(--navy)}
.wordmark strong{display:block;font-size:23px;letter-spacing:.015em}
.wordmark-dot{display:inline-block;width:8px;height:8px;background:var(--green);margin:0 0 2px 6px;border-radius:50%}
nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600}
nav a{text-decoration:none;padding:12px 0;border-bottom:2px solid transparent}
nav a:hover{border-bottom-color:var(--teal)}
nav .nav-contact{padding:12px 20px;border:1px solid var(--navy);display:flex;gap:28px;align-items:center;transition:background .2s,color .2s}
nav .nav-contact:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
.menu-button{display:none;border:1px solid var(--navy);background:none;color:var(--navy);padding:8px 13px;min-height:44px}
.menu-button[hidden]{display:none}
.hero{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;background:var(--navy);min-height:660px}
.hero-copy{padding:42px clamp(28px,4vw,68px) 22px;color:var(--white);display:flex;flex-direction:column;align-items:flex-start}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;line-height:1.5}
.hero-eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.17em}
.location-dot{width:7px;height:7px;background:var(--green);border-radius:50%;flex-shrink:0}
.hero h1{width:100%;max-width:560px;margin:4px 0 -22px}
.hero-lockup{width:100%;height:auto}
.hero-tagline{font-family:var(--serif);font-size:clamp(29px,2.8vw,40px);letter-spacing:-.035em;line-height:1.15;margin:0}
.hero-deck{font-size:16px;line-height:1.7;max-width:39ch;margin-top:18px;color:#fff}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 23px;min-height:54px;font-size:14px;font-weight:600;text-decoration:none;border:1px solid transparent;transition:background .2s,box-shadow .2s}
.button span{font-size:21px;line-height:1}
.button-green{background:var(--green);color:var(--navy-deep)}
.button-green:hover{background:var(--white);box-shadow:0 0 0 1px var(--navy-deep)}
.text-link{display:inline-flex;align-items:center;gap:16px;padding:10px 0;font-size:14px;font-weight:600;text-decoration:none;border:0;border-bottom:1px solid var(--navy);background:none;color:var(--navy)}
.text-link:hover{border-bottom-color:var(--teal);color:var(--navy-deep)}
.light-link{color:var(--white);border-bottom-color:#ffffff70}
.light-link:hover{color:var(--green);border-bottom-color:var(--green)}
.hero-footnote{display:flex;justify-content:space-between;gap:20px;width:100%;font-size:9px;letter-spacing:.16em;border-top:1px solid #ffffff40;padding-top:16px;margin-top:36px}
.hero-portrait{position:relative;overflow:hidden;background:#eeece9}
.hero-portrait>img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;position:absolute;inset:0}
.portrait-caption{position:absolute;bottom:20px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.17em;color:white;border-top:1px solid #ffffff70;padding-top:13px;text-shadow:0 1px 3px #10294a}
.intro-strip{max-width:1440px;margin:auto;padding:26px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.intro-strip>span{font-family:var(--serif);font-size:26px;color:var(--navy);letter-spacing:-.02em}
.intro-strip a{font-size:12px;text-decoration:none;display:flex;gap:30px;align-items:center}
.section{max-width:1336px;padding:100px 48px;margin:auto}
.section-label{display:flex;align-items:center;gap:28px;margin-bottom:52px;color:var(--navy)}
.section-rule{height:1px;background:var(--line);flex:1}
.about-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:80px;align-items:start}
.about-photo{padding-top:10px}
.about-photo img{aspect-ratio:5/4;object-fit:contain;width:100%}
figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:14px}
.photo-note{font-family:var(--serif);font-size:32px;line-height:1.25;color:var(--navy);max-width:23ch;padding-top:34px;margin-top:30px;border-top:1px solid var(--line);letter-spacing:-.02em}
.photo-note:before{content:"";display:block;width:40px;height:3px;background:var(--amber);margin-bottom:22px}
.about-copy h2{margin-bottom:30px}
.about-copy>p{font-size:17px;line-height:1.75}
details>summary{cursor:pointer;list-style:none}
details>summary::-webkit-details-marker{display:none}
.bio-more{border-top:1px solid var(--line);margin-top:30px}
.bio-more>summary{display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--navy);font-size:14px;font-weight:600;padding:20px 0}
.toggle{width:16px;height:16px;position:relative;flex-shrink:0}
.toggle:before,.toggle:after{content:"";position:absolute;top:7px;left:0;width:16px;height:1px;background:currentColor}
.toggle:after{transform:rotate(90deg);transition:transform .2s}
details[open]>summary .toggle:after{transform:rotate(0)}
.bio-expanded{padding:4px 0 20px;font-size:17px}
.priorities{background:var(--navy-deep);color:white}
.priorities-inner{padding-bottom:54px}
.priorities .section-label{color:white}
.priorities .section-rule{background:#ffffff35}
.priorities-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}
.priorities h2{font-size:clamp(56px,6.5vw,88px);color:white;line-height:1.03}
.priorities h2 span{color:var(--green)}
.priority-introduction{margin-top:28px;max-width:39ch;font-size:17px}
.priority-introduction p+p{margin-top:12px}
.small-label{font-size:10px;letter-spacing:.16em;margin-top:28px}
.priority{border-top:1px solid #ffffff45}
.priority:last-child{border-bottom:1px solid #ffffff45}
.priority>summary{display:flex;align-items:center;gap:22px;padding:28px 0}
.priority-number{font-size:12px;color:var(--green);align-self:flex-start;padding-top:12px}
.priority-title{flex:1}
.priority-title strong{display:block;font-family:var(--serif);font-size:38px;font-weight:400;line-height:1.2;letter-spacing:-.02em}
.priority-title>span{font-size:13px;line-height:1.5;display:block;margin-top:7px}
.priority .toggle{color:var(--green)}
.priority-body{padding:0 30px 30px 40px;font-size:17px;line-height:1.75}
.landscape{margin-top:70px}
.landscape img{aspect-ratio:2.65;object-fit:cover;object-position:50% 58%;width:100%}
.landscape figcaption{display:flex;justify-content:space-between;gap:20px;color:white;font-size:11px}
.landscape figcaption span:first-child{letter-spacing:.13em}
.experience-grid{display:grid;grid-template-columns:1fr .95fr;gap:80px;align-items:start}
.experience h2{font-size:clamp(38px,4.3vw,58px)}
.lead{font-size:20px;margin-top:22px;color:var(--muted)}
.experience-list{margin:36px 0 0}
.experience-list>div{border-top:1px solid var(--line);padding:19px 0}
dt{font-size:13px;font-weight:700;letter-spacing:.025em;color:var(--navy);margin-bottom:6px}
dd{font-size:16px;margin:0;line-height:1.7}
.council-photo{padding-top:8px}
.council-photo img{aspect-ratio:4/4.25;object-fit:cover;object-position:50% 50%;width:100%}
.film-section{max-width:1336px;margin:auto;padding:88px 48px 64px}
.film-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:30px}
.film-heading h2{margin:0}
.film-heading>p{font-size:16px;color:var(--muted)}
.film video{width:100%;display:block;aspect-ratio:16/7.8;object-fit:cover;background:var(--navy-deep)}
.film figcaption{text-align:left}
.questions{padding-top:30px;padding-bottom:100px;display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}
.questions h2{margin:18px 0 26px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:27px 0;font-size:17px;font-weight:600;line-height:1.5;color:var(--navy)}
.faq-list details>div{font-size:16px;line-height:1.75;padding:0 30px 25px 0}
.faq-list a{overflow-wrap:anywhere}
.contact{background:var(--navy);color:white}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:80px;padding-bottom:80px}
.contact h2{font-size:clamp(48px,5vw,72px);color:white;margin-top:24px}
.contact h2>span{color:var(--green)}
.contact-details{padding-top:36px}
.contact-intro{font-size:16px}
.email-link{display:block;font-size:clamp(22px,2.4vw,34px);line-height:1.35;letter-spacing:-.025em;margin-top:18px;text-decoration:none;overflow-wrap:anywhere}
.email-link:hover{text-decoration:underline}
.contact-actions{display:flex;flex-wrap:wrap;gap:22px;margin-top:30px;align-items:center}
.copy-status{font-size:13px;min-height:26px;margin-top:8px}
.social-links{display:flex;gap:36px;border-top:1px solid #ffffff40;padding-top:22px;margin-top:10px;font-size:13px}
.social-links a{display:flex;gap:24px;text-decoration:none;padding:8px 0}
.social-links a:hover{text-decoration:underline}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:35px 48px;max-width:1440px;margin:auto;font-size:11px;color:var(--navy)}
.footer-name{font-size:12px;font-weight:700;letter-spacing:.03em}
.footer-name span{display:block;font-weight:400;font-size:11px;margin-top:3px}
.site-footer a{padding:10px 0}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:enter .6s ease-out both}.hero-portrait{animation:enter .7s .1s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media(min-width:1600px){.hero-copy{padding-top:58px;padding-bottom:32px}.hero h1{margin-top:18px}.hero-footnote{margin-top:46px}.hero{min-height:760px}}
@media(max-width:1100px){.nav-shell{padding:16px 30px}nav{gap:23px}.hero-copy{padding:30px 32px 22px}.hero h1{margin:18px 0 0}.hero{min-height:610px}.hero-eyebrow{font-size:9px}.hero-actions{gap:16px}.hero-footnote{font-size:8px;margin-top:30px}.hero-tagline{font-size:32px}.section{padding:80px 36px}.about-grid,.experience-grid{gap:44px}.priorities-grid{gap:55px}.questions{gap:50px}.contact-inner{gap:50px}.hero-portrait>img{object-position:50% 45%}.about-copy>p{font-size:16px}.section-label{margin-bottom:40px}.contact-actions{gap:12px}.copy-email{font-size:12px}}
@media(max-width:760px){html{scroll-padding-top:95px}.preview-bar{font-size:10px;padding:7px 14px}.preview-bar span{padding:0 3px}.nav-shell{padding:16px 22px;min-height:84px;flex-wrap:wrap;gap:12px}.wordmark{font-size:12px}.wordmark strong{font-size:20px}.menu-button{font-size:13px}.menu-button span{margin-left:14px}nav{width:100%;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;padding-top:8px}nav .nav-contact{padding:9px 13px}.js .menu-button{display:block}.js nav{display:none}.js nav.is-open{display:flex}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:30px 26px 24px}.hero-eyebrow{font-size:9px}.hero h1{width:100%;max-width:460px;align-self:center;margin:-3px 0 -16px}.hero-tagline{font-size:34px}.hero-deck{font-size:16px;max-width:38ch}.hero-actions{gap:22px;margin-top:24px}.hero-actions .text-link{font-size:12px}.button{padding:15px 19px;gap:24px}.hero-footnote{margin-top:30px}.hero-portrait{height:auto;aspect-ratio:1.12}.hero-portrait>img{object-position:50% 40%}.portrait-caption{font-size:8px}.intro-strip{padding:21px 24px}.intro-strip>span{font-size:21px}.intro-strip a{font-size:10px;gap:10px}.section{padding:64px 24px}.section-label{margin-bottom:34px;gap:18px}.eyebrow{font-size:10px}.about-grid{display:flex;flex-direction:column;gap:38px}.about-photo{padding-top:0;order:2}.about-copy{order:1}.about-copy h2{font-size:46px}.about-copy h2 br:last-child{display:none}.about-copy>p{font-size:17px}.about-photo img{aspect-ratio:5/4}.photo-note{font-size:29px;max-width:none;padding-top:22px;margin-top:22px}.photo-note:before{margin-bottom:17px}.priorities-grid{grid-template-columns:1fr;gap:34px}.priorities h2{font-size:64px}.priority-introduction{font-size:17px;max-width:none}.priority-title strong{font-size:34px}.priority>summary{padding:24px 0}.priority-body{padding-left:36px;padding-right:10px}.small-label{margin-top:24px}.landscape{margin-top:42px}.landscape img{aspect-ratio:1.45}.landscape figcaption{font-size:9px;gap:12px}.landscape figcaption span:last-child{text-align:right}.experience-grid{grid-template-columns:1fr;gap:32px}.experience h2{font-size:43px}.lead{font-size:18px}.council-photo img{aspect-ratio:1.2;object-position:center}.film-section{padding:56px 24px 40px}.film-heading{display:block;margin-bottom:24px}.film-heading>p{margin-top:20px;font-size:15px}.film video{aspect-ratio:16/10}.film figcaption{font-size:10px;text-align:left}.questions{grid-template-columns:1fr;gap:28px;padding-top:20px}.questions h2{font-size:43px;margin-bottom:18px}.questions h2 br{display:none}.faq-list summary{font-size:16px;padding:25px 0}.faq-list details>div{padding-right:8px}.contact-inner{grid-template-columns:1fr;gap:25px}.contact h2{font-size:56px}.contact-details{padding-top:0}.email-link{font-size:29px}.contact-actions{gap:24px}.contact-actions .copy-email{font-size:13px}.site-footer{padding:30px 24px;flex-wrap:wrap;justify-content:flex-start;gap:14px 26px}.footer-name{width:100%}}
@media(max-width:360px){.hero-copy{padding-left:22px;padding-right:22px}.hero-tagline{font-size:30px}.hero-actions{gap:16px}.hero-actions .button{font-size:13px;gap:14px;padding:13px 15px}.intro-strip a{display:none}.email-link{font-size:25px}.contact h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media (min-width:761px) and (max-width:1100px){.film-section{padding:72px 36px 56px}}

/* Stephen's September 21 content review, applied September 22. */
.bio-quote{margin:64px 0 0;padding:38px 0 0;border-top:2px solid var(--teal);font:400 clamp(27px,3vw,40px)/1.35 var(--serif);letter-spacing:-.02em;color:var(--navy);text-align:center}.bio-quote p{max-width:none}.site-footer{flex-wrap:wrap}.site-footer .footer-election-link{font-size:16px;font-weight:600;line-height:1.5;padding:12px 0;border-bottom:2px solid var(--teal);text-decoration:none}.site-footer .authorization{flex-basis:100%}.site-footer .authorization:empty{display:none}@media(max-width:760px){.bio-quote{margin-top:38px;padding-top:28px;text-align:left}.site-footer .footer-election-link{font-size:15px}}

/* The three social links share the same treatment in the footer. */
.footer-socials{display:flex;align-items:center;gap:2px}
.site-footer .footer-socials a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--navy);border-radius:3px}
.footer-socials svg{width:18px;height:18px}
.footer-socials a:hover{color:var(--teal);background:#e5efea}
.footer-socials a:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
