*{box-sizing:border-box}
:root{--navy:#0D1B2A;--slate:#3D4D63;--gold:#C8A36B;--paper:#F7F4EE;--white:#fff;--muted:#69727B;--line:#E5DED3}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--navy);font-family:"DM Sans",sans-serif;line-height:1.65}
header{min-height:94px;padding:18px 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}
.brand{display:block;width:min(340px,62vw);line-height:0}.brand img{width:100%;height:auto}
.nav-contact,.primary-link,.contact-email{color:var(--navy);text-decoration:none}
.nav-contact{font-size:.88rem}.nav-contact span,.primary-link span,.contact-email span{color:var(--gold);margin-left:7px}
main{max-width:1200px;margin:auto;padding:0 7vw}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.75fr);gap:clamp(42px,8vw,110px);align-items:center;padding:clamp(70px,10vw,125px) 0 100px}
.eyebrow{margin:0 0 22px;color:#A77E45;text-transform:uppercase;letter-spacing:.17em;font-size:.7rem;font-weight:600}
h1,h2{font-family:"Lora",Georgia,serif;font-weight:400;line-height:1.18}
h1{margin:0;font-size:clamp(2.6rem,5.3vw,4.7rem);letter-spacing:-.045em}
.intro{max-width:570px;margin:28px 0 34px;color:var(--muted);font-size:1.08rem}
.primary-link{display:inline-block;border-bottom:1px solid var(--gold);padding:0 0 7px;font-size:.93rem}
.portrait-wrap{margin:0;max-width:430px;justify-self:end;width:100%}
.portrait-wrap img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 28%;border-radius:2px}
.portrait-wrap figcaption{padding-top:14px;font:1rem "Lora",Georgia,serif}
.portrait-wrap figcaption span{display:block;color:var(--muted);font: .78rem "DM Sans",sans-serif;margin-top:2px}
.section{border-top:1px solid var(--line);padding:62px 0 74px}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}
.service-no{font-size:.72rem;color:var(--gold);letter-spacing:.12em}
.services h2{font-size:1.35rem;margin:14px 0 12px}
.services p,.about-text p{color:var(--muted);margin:0}
.about{display:grid;grid-template-columns:.9fr 1fr;gap:70px;max-width:none}
.about-heading h2{font-size:clamp(1.7rem,3vw,2.35rem);max-width:460px;margin:0}
.about-text{padding-top:39px}.about-text p{font-size:1.02rem;margin:0 0 18px}
.contact{margin:0 calc(-7vw);padding:58px 7vw;background:var(--navy);color:var(--paper);display:flex;align-items:end;justify-content:space-between;gap:30px}
.contact .eyebrow{color:var(--gold)}.contact h2{font-size:clamp(1.8rem,3.6vw,2.7rem);margin:0;max-width:540px}
.contact-email{color:var(--paper);border-bottom:1px solid var(--gold);padding-bottom:7px;white-space:nowrap}
footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 7vw;color:var(--muted);font-size:.78rem}
footer img{width:42px;height:42px}
@media(max-width:760px){header{padding:16px 6vw}.hero{grid-template-columns:1fr;gap:42px;padding:68px 0 72px}.portrait-wrap{justify-self:start;max-width:420px}.services{grid-template-columns:1fr;gap:30px}.about{grid-template-columns:1fr;gap:12px}.about-text{padding-top:0}.section{padding:48px 0 56px}.contact{margin:0 -6vw;padding:48px 6vw;align-items:flex-start;flex-direction:column}.contact-email{white-space:normal}footer{padding:24px 6vw;flex-wrap:wrap}footer img{order:0}}
@media(max-width:420px){.brand{width:240px}.nav-contact{font-size:.8rem}}

.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.linkedin-link,.footer-link{color:var(--slate);text-decoration:none;font-size:.9rem}
.linkedin-link span{color:var(--gold);margin-left:5px}
.linkedin-link:hover,.footer-link:hover,.nav-contact:hover{color:#A77E45}
.footer-link{white-space:nowrap}

/* Refined navigation, links and tablet layout */
.brand-text{font:500 1.45rem "Lora",Georgia,serif;color:var(--navy);text-decoration:none;letter-spacing:-.035em;width:auto}
.main-nav{display:flex;gap:30px;align-items:center}
.main-nav a,.footer-link,.linkedin-link{color:var(--slate);text-decoration:none;font-size:.88rem}
.main-nav a span{color:var(--gold);margin-left:4px}
.main-nav a:hover,.footer-link:hover,.linkedin-link:hover,.text-link:hover{color:#A77E45}
.hero{grid-template-columns:minmax(0,1.05fr) minmax(260px,.72fr);gap:clamp(38px,6vw,84px);padding:clamp(58px,7vw,88px) 0 78px}
.hero-copy{min-width:0}
h1{font-size:clamp(2.45rem,4.25vw,4.15rem);max-width:680px}
.portrait-wrap{max-width:365px}
.portrait-wrap img{aspect-ratio:4/4.7;object-position:center 25%;border-radius:3px}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.primary-link{font-size:.9rem}
.linkedin-link{border-bottom:1px solid var(--line);padding-bottom:7px}
.linkedin-link span{color:var(--gold);margin-left:5px}
.text-link{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px}
.contact-links{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.contact-email{font-size:.88rem}
footer{min-height:78px}
footer img{display:none}
.projects-page .projects-intro{padding:86px 0 58px;max-width:850px}
.projects-intro h1{max-width:800px}
.project-list{border-top:1px solid var(--line)}
.project-item{padding:38px 0 40px;border-bottom:1px solid var(--line);max-width:820px}
.project-item h2{font-size:clamp(1.45rem,2.5vw,2rem);margin:5px 0 14px}
.project-item p:not(.eyebrow){color:var(--muted);max-width:760px;margin:0 0 12px}
.project-item .project-orgs{font-size:.82rem;color:var(--slate);letter-spacing:.02em}
.projects-contact{margin-top:30px}
@media (min-width:761px) and (max-width:1100px){
  main{padding-left:6vw;padding-right:6vw}
  .hero{grid-template-columns:minmax(0,1fr) minmax(230px,.78fr);gap:38px;padding:62px 0 66px}
  h1{font-size:clamp(2.45rem,4.2vw,3.35rem);line-height:1.12}
  .intro{font-size:1rem;margin:22px 0 27px}
  .portrait-wrap{max-width:310px}
  .section{padding:48px 0 56px}
  .services{gap:25px}
  .services h2{font-size:1.2rem}
  .about{gap:38px}
  .contact{margin-left:-6vw;margin-right:-6vw;padding-left:6vw;padding-right:6vw}
}
@media(max-width:760px){
  header{align-items:center}
  .brand-text{font-size:1.2rem}
  .main-nav{gap:18px}
  .hero{grid-template-columns:1fr;gap:32px;padding:58px 0 62px}
  h1{font-size:clamp(2.45rem,9vw,3.45rem);line-height:1.12}
  .portrait-wrap{max-width:420px;justify-self:start}
  .portrait-wrap img{aspect-ratio:4/4.6}
  .projects-page .projects-intro{padding:60px 0 38px}
  .project-item{padding:30px 0}
}
@media(max-width:420px){.main-nav{gap:13px}.main-nav a{font-size:.8rem}}
