:root{--navy:#1f2a44;--char:#33363b;--warm:#e9e6e1;--warm2:#f6f4f1;--line:#cfcac2;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 17px/1.65 Inter,system-ui,sans-serif;color:var(--char);background:var(--white)}
h1,h2,h3,.brand{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);font-weight:600;line-height:1.15}
h1{font-size:clamp(2.6rem,6vw,4.2rem);margin:.2em 0}h2{font-size:2.3rem;margin:0 0 1.2rem}h3{font-size:1.5rem;margin:.3rem 0}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:9}
.nav{position:sticky;top:0;background:rgba(255,255,255,.95);border-bottom:1px solid var(--warm);z-index:5}
.nav-in{display:flex;justify-content:space-between;align-items:center;height:68px}
.brand{font-size:1.5rem;text-decoration:none}
nav a{margin-left:26px;color:var(--char);text-decoration:none;font-size:.95rem;font-weight:500}nav a:hover,nav a:focus{color:var(--navy);text-decoration:underline}
.hero{background:linear-gradient(135deg,var(--warm2),var(--warm));padding:80px 0}
.hero-in{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;color:#6b6760;margin:0}
.lead{font-size:1.2rem;margin:0 0 28px}
.btn{display:inline-block;background:var(--navy);color:#fff;padding:13px 26px;border-radius:4px;text-decoration:none;font-weight:500}
.btn:hover,.btn:focus{background:#2c3b60}
.headshot{width:100%;max-width:420px;height:auto;justify-self:end;border-radius:6px;box-shadow:0 20px 40px rgba(31,42,68,.18)}
.sec{padding:80px 0}.alt{background:var(--warm2)}
.placeholder{border:2px dashed var(--line);border-radius:8px;padding:56px;text-align:center;color:#8a857d;font-style:italic;background:#fbfaf8}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}.cards.two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{background:#fff;border:1px solid var(--warm);border-top:3px solid var(--navy);border-radius:6px;padding:28px}
.card p{margin:0}.insignia{width:64px;height:auto}
footer{background:var(--navy);color:#d7dae2;padding:28px 0;font-size:.9rem;text-align:center}
@media(max-width:760px){nav{display:none}.hero{padding:48px 0}.hero-in{grid-template-columns:1fr;gap:32px}.headshot{justify-self:center;order:-1;max-width:300px}.sec{padding:56px 0}}
