@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#112c4b;--blue:#214a73;--yellow:#f1cf52;--ink:#172d43;--muted:#586a7b;--line:#dce3e9;--paper:#f4f7fa;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.7 'DM Sans',sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b99100;outline-offset:5px}.wrap{width:min(1184px,calc(100% - 80px));margin:auto}.skip{position:fixed;top:-100px;left:20px;background:white;padding:10px;z-index:50}.skip:focus{top:10px}.header{background:white;border-bottom:1px solid var(--line)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;line-height:1.4}.monogram{width:44px;height:44px;display:grid;place-items:center;background:var(--navy);color:white;font-family:Manrope,sans-serif;font-weight:700;border-bottom:3px solid var(--yellow)}.brand strong{font-size:17px}.brand small{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}nav{display:flex;gap:29px;align-items:center;font-size:14px;font-weight:600}nav a{text-decoration:none;padding:9px 0}nav a[aria-current]{border-bottom:2px solid var(--navy)}nav .nav-campaign{background:var(--navy);color:white;padding:10px 22px;border-radius:4px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:2.5px;font-weight:700}.hero{padding:68px 0 0;background:var(--paper)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}.hero-copy{padding-bottom:65px}.hero .eyebrow{display:flex;align-items:center;gap:13px}.hero .eyebrow:before{content:'';height:2px;width:30px;background:#aa8510}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.15;letter-spacing:-1.7px}h1{font-size:clamp(42px,5.4vw,70px);font-weight:600;margin:22px 0}h1 .degree{font:400 24px/1.5 'DM Sans',sans-serif;letter-spacing:0;display:block;margin-bottom:6px}.hero-sub{font-size:21px;color:var(--blue);margin:0 0 15px}.lede{color:var(--muted);max-width:510px;font-size:17px;line-height:1.8}.actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:28px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;background:var(--navy);border:1px solid var(--navy);padding:11px 22px;color:white;border-radius:4px;text-decoration:none;font-size:14px;font-weight:600}.button.secondary{background:transparent;color:var(--navy);border-color:#aebfcd}.portrait{margin:0;position:relative;height:530px;max-width:450px;background:#1c4770;overflow:hidden;border-radius:150px 4px 0 0}.portrait img{position:absolute;height:140%;max-width:none;width:auto;top:-3%;left:-2%}.portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px 25px 18px;color:white;background:linear-gradient(transparent,rgba(8,27,48,.87));font-size:13px}.hero-foot{background:var(--navy);color:white;padding:26px 0}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.fact{border-right:1px solid #42576f;padding-right:25px}.fact:last-child{border:0}.fact strong{display:block;font-family:Manrope,sans-serif;font-size:25px;font-weight:500}.fact span{font-size:13px;color:#d0dce8}.section{padding:88px 0}.section.tint{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:36px}.section-heading p{max-width:460px;color:var(--muted);margin:0}.section .eyebrow{color:var(--blue)}h2{font-size:38px;font-weight:600;margin:13px 0 0}h3{font-size:23px;letter-spacing:-.6px;font-weight:600;margin:15px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}.text p{color:var(--muted)}.source{font-size:13px;color:var(--blue)}.timeline{margin:0;padding:0;list-style:none}.timeline li{display:grid;grid-template-columns:75px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.timeline li:first-child{padding-top:0}.timeline time{font-family:Manrope,sans-serif;color:var(--blue);font-size:21px}.timeline h3{margin:2px 0 8px;font-size:18px}.timeline p{margin:0;font-size:14px;color:var(--muted)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project{padding:28px;background:white;border:1px solid var(--line);border-top:3px solid var(--navy);display:flex;flex-direction:column;align-items:flex-start}.project .year{font-size:13px;color:var(--muted)}.project p{color:var(--muted);font-size:15px;margin:0 0 18px}.project .amount{font-family:Manrope,sans-serif;font-size:25px;font-weight:600;color:var(--ink);margin-top:auto;margin-bottom:0}.project .amount-label{font-size:12px;margin-bottom:15px}.tag{font-size:12px;background:#eef2f6;color:#294867;padding:4px 9px;display:inline-block;margin-bottom:5px;border-radius:2px}.campaign-strip{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;background:var(--navy);color:white;padding:42px 45px;border-left:5px solid var(--yellow)}.campaign-strip h2{font-size:32px;margin:0 0 12px}.campaign-strip p{margin:0;color:#d0dce8;max-width:700px}.campaign-strip .button{background:var(--yellow);border-color:var(--yellow);color:var(--navy)}.footer{border-top:1px solid var(--line);padding:34px 0;color:var(--muted);font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:25px}.footer p{margin:5px 0}.footer strong{color:var(--ink)}.page-hero{background:var(--navy);color:white;padding:48px 0 53px}.breadcrumbs{font-size:13px;color:#d0dce8}.page-hero h1{font-size:54px;margin:28px 0 18px}.page-hero p{max-width:690px;color:#d0dce8;font-size:18px}.page-hero .eyebrow{color:var(--yellow);margin-top:35px}.disclosure-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:27px;font-size:13px;color:#d0dce8}.disclosure-meta span+span:before{content:'·';margin-right:14px}.notice{padding:22px 26px;border-left:3px solid #b6982a;background:#fbf8ea;margin-bottom:38px}.notice p{margin:0;font-size:15px;color:#635628}.notice strong{display:block;color:var(--ink);margin-bottom:4px}.disclosure-layout{display:grid;grid-template-columns:230px 1fr;gap:65px}.subnav{display:flex;flex-direction:column;gap:0;align-items:stretch;position:sticky;top:25px}.subnav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.disclosure h2{font-size:30px;margin:0 0 18px}.disclosure section{margin-bottom:55px}.summary-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.summary-box{padding:23px;border:1px solid var(--line);background:var(--paper)}.summary-box span{font-size:13px;color:var(--muted)}.summary-box strong{display:block;font-size:22px;font-weight:500;margin-top:8px}.table-scroll{overflow:auto;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:14px;min-width:610px}th{background:var(--paper);padding:15px;text-align:left;font-weight:600}td{padding:15px;border-top:1px solid var(--line)}.empty{text-align:center;padding:42px 20px}.empty strong{display:block;margin-bottom:8px;font-size:16px}.empty span{display:block;color:var(--muted);font-size:14px}.note{font-size:13px;color:var(--muted);margin-top:12px}.document-empty{border:1px dashed #b7c7d5;background:#fafcfe;padding:28px}.document-empty p{margin:0;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-weight:600}details p{font-size:15px;color:var(--muted)}.contact-box{padding:28px;border:1px solid var(--line)}.contact-box p{margin:0 0 14px}.site-note{max-width:750px;color:var(--muted);font-size:14px}.sources-list{padding-left:20px;color:var(--muted);font-size:14px}.sources-list li{margin:12px 0}
@media(max-width:900px){.wrap{width:calc(100% - 44px)}.header-inner{min-height:88px;gap:20px}.brand strong{font-size:14px}.brand small{font-size:10px}nav{gap:16px}.hero-grid{gap:30px;grid-template-columns:1.15fr .85fr}.portrait{height:430px}.hero-copy{padding-bottom:45px}h1{font-size:48px}.two-col{gap:40px}.projects{gap:12px}.project{padding:20px}.project h3{font-size:20px}.disclosure-layout{grid-template-columns:180px 1fr;gap:30px}.campaign-strip{padding:30px}.section{padding:65px 0}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.header-inner{padding:18px 0;flex-wrap:wrap;gap:17px}.brand strong{font-size:16px}.brand small{font-size:11px}nav{width:100%;justify-content:space-between;gap:8px;font-size:13px}nav .nav-campaign{padding:7px 14px}.hero{padding-top:35px}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding-bottom:32px}h1{font-size:49px;margin:16px 0}.hero-sub{font-size:19px}.lede{font-size:16px}.portrait{height:415px;width:310px;max-width:100%;justify-self:center;border-radius:110px 4px 0 0}.fact-grid{gap:20px;grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid #42576f;padding:0 0 16px;display:flex;justify-content:space-between;align-items:center;gap:20px}.fact:last-child{padding-bottom:0}.fact strong{font-size:21px}.fact span{text-align:right;max-width:155px}.section{padding:52px 0}.section-heading{display:block;margin-bottom:28px}.section-heading p{margin-top:22px}h2{font-size:32px}.two-col,.projects{grid-template-columns:1fr;gap:30px}.project{padding:26px}.project h3{font-size:23px}.campaign-strip{grid-template-columns:1fr;gap:25px;padding:28px}.campaign-strip .button{justify-self:start}.footer-inner{flex-direction:column;gap:18px}.page-hero{padding:30px 0 35px}.page-hero h1{font-size:43px}.page-hero p{font-size:16px}.disclosure-layout{grid-template-columns:1fr;gap:30px}.subnav{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 22px}.subnav a{padding:5px 0}.summary-row{grid-template-columns:1fr}.notice{padding:20px}.disclosure h2{font-size:28px}.disclosure-meta{gap:4px 14px}.timeline li{grid-template-columns:65px 1fr;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Square portrait: show the complete edited photograph on every screen. */
.portrait{width:100%;max-width:450px;height:auto;aspect-ratio:1/1;border-radius:10px;align-self:center;margin-bottom:60px;box-shadow:0 15px 40px #112c4b18}.portrait img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain}.portrait figcaption{font-size:12px;padding:22px 18px 10px}@media(max-width:650px){.portrait{width:min(100%,380px);height:auto;border-radius:10px;margin-bottom:35px}}

.candidate-info{font-size:18px;line-height:1.6;color:var(--ink);max-width:510px;margin:0 0 20px}
