:root{--navy:#2B2D42;--navy2:#414459;--accent:#D90429;--silver:#8D99AE;--ink:#2B2D42;--light:#EDF2F4;--muted:#697589}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.75 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.wrap{max-width:1100px;margin:auto;padding:0 28px}.header{background:var(--navy);color:white}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-size:1.08rem;font-weight:800;letter-spacing:.13em}.nav{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.nav a{font-size:.89rem;color:#d8e4ee;text-decoration:none;border-bottom:2px solid transparent;padding:6px 0}.nav a:hover,.nav a[aria-current=page]{color:white;border-color:var(--accent)}.hero{padding:110px 0 122px;background:linear-gradient(120deg,#2B2D42,#414459);color:#fff}.eyebrow{font-size:.78rem;color:#EDF2F4;letter-spacing:.19em;text-transform:uppercase;font-weight:800}.hero h1,.page-hero h1,.section-title{font-family:Georgia,serif;font-weight:500;line-height:1.15;letter-spacing:-.035em}.hero h1{font-size:clamp(2.75rem,6vw,5rem);margin:20px 0 26px}.hero p{font-size:1.22rem;max-width:745px;color:#EDF2F4}.page-hero{padding:72px 0;background:linear-gradient(120deg,#2B2D42,#414459);color:white}.page-hero h1{font-size:clamp(2.4rem,5vw,3.7rem);margin:14px 0}.page-hero p{max-width:760px;color:#EDF2F4;font-size:1.12rem}.btn{display:inline-block;text-decoration:none;font-weight:800;font-size:.94rem;background:var(--accent);color:#FFFFFF;padding:13px 22px;margin:23px 12px 0 0;border:1px solid var(--accent)}.btn-outline{background:transparent;color:white}main section{padding:75px 0}.section-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#B00022}.section-title{font-size:clamp(2rem,4vw,2.9rem);color:var(--navy);margin:12px 0 23px}.intro{max-width:850px;color:#4D5868;font-size:1.14rem}.soft{background:var(--light)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.card{background:white;padding:26px;border:1px solid var(--silver);border-top:4px solid var(--accent)}.card h2,.card h3{font-size:1.14rem;line-height:1.4;color:var(--navy);margin:0 0 12px}.card p{margin:0;color:#4D5868}.timeline{display:grid;gap:16px;margin-top:26px}.role{background:#fff;border-left:4px solid var(--accent);padding:23px 26px;box-shadow:0 5px 20px #2B2D420a}.role h2{margin:0;color:var(--navy);font-size:1.18rem}.role p{margin:7px 0 0;color:#566174}.feature{background:var(--navy);color:white}.feature .section-title{color:white}.feature p{font-family:Georgia,serif;font-size:1.45rem;max-width:900px;color:#EDF2F4}.links{display:flex;flex-wrap:wrap;gap:15px;margin-top:25px}.text-link{color:#B00022;font-weight:700;text-underline-offset:4px}.footer{background:#202230;color:#CCD3DE;padding:27px 0;font-size:.89rem}.footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.footer a{color:#EDF2F4}.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:38px}.aside{background:var(--light);border-left:4px solid var(--accent);padding:28px}.aside h2{font-size:1.15rem;color:var(--navy)}@media(max-width:750px){.header-inner{flex-direction:column;align-items:flex-start;padding-top:19px;padding-bottom:19px}.nav{gap:12px 18px}.hero{padding:75px 0 85px}.cards,.two-col{grid-template-columns:1fr}.page-hero{padding:60px 0}main section{padding:58px 0}}
/* Single-screen homepage only; interior pages retain normal scrolling. */
body:has(.landing-main){min-height:100svh;display:flex;flex-direction:column}
body:has(.landing-main) .landing-main{flex:1;display:flex;min-height:0}
.landing-hero{width:100%;background:linear-gradient(120deg,#2B2D42,#414459);color:#fff;display:flex;align-items:center}
.landing-inner{width:100%;padding-top:42px;padding-bottom:42px}
.landing-hero h1{font:500 clamp(2.4rem,5.2vw,4.8rem)/1.12 Georgia,serif;letter-spacing:-.035em;margin:20px 0 22px}
.landing-intro{font-size:clamp(1rem,1.45vw,1.2rem);max-width:820px;color:#EDF2F4;line-height:1.65;margin:0}
.landing-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:23px}
.landing-actions .btn{margin:0}
.landing-text-link{color:#fff;font-weight:700;text-underline-offset:4px}
@media(min-width:850px) and (min-height:620px){body:has(.landing-main){height:100svh;overflow:hidden}}
@media(max-height:700px){.landing-inner{padding-top:25px;padding-bottom:25px}.landing-hero h1{font-size:clamp(2rem,4.6vw,3.7rem);margin:12px 0}.landing-actions{margin-top:15px}}
@media(max-width:849px){.landing-inner{padding-top:65px;padding-bottom:65px}}

/* Accessibility and clearer navigation */
.skip-link{position:absolute;z-index:1000;top:-80px;left:12px;padding:10px 18px;background:#fff;color:#2B2D42;font-weight:800;border:2px solid #D90429;text-decoration:none}
.skip-link:focus{top:12px}
.nav a{white-space:nowrap}
.card,.role,.aside{overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:560px){.header-inner{gap:8px}.brand{font-size:.96rem}.nav{gap:8px 14px}.nav a{font-size:.85rem}.landing-hero h1{font-size:clamp(2.15rem,8vw,3.2rem)}.landing-actions{align-items:stretch}.landing-actions .btn{margin:0}.wrap{padding-left:20px;padding-right:20px}}

.landing-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,270px);gap:45px;align-items:center}.landing-copy{min-width:0}.landing-layout h1{font-size:clamp(2.1rem,4.4vw,4.2rem)}.landing-photo{width:100%;aspect-ratio:1;border:5px solid #8D99AE;box-shadow:12px 12px 0 #D90429;overflow:hidden}.landing-photo img{display:block;width:100%;height:100%;object-fit:cover}.about-photo-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:42px;align-items:start}.about-headshot{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;margin:0 auto 20px;border:3px solid #8D99AE}@media(max-width:780px){.landing-layout{grid-template-columns:1fr;gap:20px}.landing-photo{grid-row:1;justify-self:center;max-width:150px;box-shadow:7px 7px 0 #D90429}.landing-layout h1{font-size:clamp(2.1rem,7.5vw,3.2rem)}.about-photo-layout{grid-template-columns:1fr}.about-photo-aside{max-width:420px}}@media(min-width:781px) and (max-height:700px){.landing-photo{max-width:195px}.landing-layout h1{font-size:clamp(2rem,3.8vw,3.3rem)}}
