:root{--navy:#081b33;--red:#e54a35;--bg:#f2f2f2;--sans:"Jost","Futura","Century Gothic",sans-serif;--serif:"Crimson Pro","Calluna",Georgia,serif}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);font-size:14px;line-height:1.55;color:rgba(8,27,51,.8);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:inherit}
header{position:relative;height:210px;max-width:1400px;margin:0 auto}
header .logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
header .logo img{height:52px;display:block}
header nav{position:absolute;right:8%;top:50%;transform:translateY(-50%)}
nav a{margin-left:14px;text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:rgba(8,27,51,.8)}
nav a.active,nav a:hover{color:var(--red)}
.hero{background:#030620 url(images/hero-navy.webp) center/cover;color:#f2f2f2;text-align:center;padding:56px 24px 52px}
.hero small{display:block;color:var(--red);letter-spacing:.2em;font-size:11px;font-weight:700;text-transform:uppercase;margin-bottom:6px}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,6.5vw,76px);line-height:1.1;margin:0;color:#f2f2f2}
main{max-width:940px;margin:0 auto;padding:64px 24px 80px}
h1,h2{font-family:var(--serif);font-weight:400;color:var(--navy);line-height:1.2}
h1{font-size:clamp(32px,4vw,44px);margin:0 0 24px}
h2{font-size:30px;margin:0 0 12px}
h3{font-family:var(--sans);font-size:15px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin:32px 0 6px}
h3.eyebrow{font-size:12px;margin-top:0}
p{margin:0 0 18px}
.cols{display:grid;grid-template-columns:1.85fr 1fr;gap:110px;margin-bottom:56px}
.cols .contact-col p,main > p + p strong,.contact-block p{font-family:var(--serif);font-size:22px;line-height:1.3;color:var(--navy)}
.contact-block{margin:0 0 20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 48px}
.btn{display:inline-block;border:2px solid var(--navy);padding:14px 22px;text-decoration:none;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--navy);margin-top:6px}
.btn:hover{background:var(--navy);color:#fff}
.person{display:grid;grid-template-columns:200px 1fr;gap:40px;margin:40px 0}
.person img{width:100%;display:block}
footer{max-width:940px;margin:0 auto;padding:32px 24px 48px;text-align:center;font-size:12px}
footer nav a{margin:0 10px}
@media(max-width:820px){header{height:auto;padding:24px;display:flex;flex-direction:column;gap:16px;align-items:center}header .logo,header nav{position:static;transform:none}header nav a{margin:0 8px}.cols,.person{grid-template-columns:1fr;gap:24px}}
.contact-col strong,.contact-block strong{font-weight:400}
.contact-col a,.contact-block a{text-decoration:none}
.contact-col a:hover,.contact-block a:hover{color:var(--red)}
.hero{padding:70px 24px 64px}
header{height:96px;max-width:1100px;padding:0 24px}
header .logo{left:24px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:16px;text-decoration:none}
header .logo img{height:44px}
header .logo span{font-family:var(--serif);font-size:26px;line-height:1;color:var(--navy);white-space:nowrap}
header nav{right:24px}
@media(max-width:820px){header .logo span{font-size:22px}}
body{font-family:"Source Serif 4",Georgia,serif;font-size:16px;line-height:1.65}
nav a,h3,.hero small,.btn{font-family:var(--sans)}
footer{font-size:13px}
.person{grid-template-columns:190px 1fr;align-items:stretch}
.person img{height:100%;object-fit:cover;object-position:top}
@media(max-width:820px){.person img{height:auto}}
/* spacing pass */
header{max-width:none;height:auto;padding:0;border-bottom:1px solid #d9d9dd}
header .logo,header nav{position:absolute}
.hdr-inner{position:relative;max-width:940px;margin:0 auto;height:84px}
header .logo{left:24px}
header nav{right:24px}
main{padding-top:32px}
main > h1,main > .person + h1,main .grid + h1{margin-top:64px}
main > div:first-child > h1{margin-top:0}
main > h1{margin-bottom:24px}
@media(max-width:820px){.hdr-inner{height:auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 24px}header .logo,header nav{position:static}main{padding-top:24px}}
.hdr-inner{padding:0 24px}@media(max-width:820px){.hdr-inner{padding:20px 24px}}
