
:root { --ink:#152025; --deep:#101a1e; --gold:#b99054; --paper:#f2f0ea; --white:#fff; --muted:#6a7375; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; line-height:1.6; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; top:0; left:0; right:0; z-index:5; height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 6vw; border-bottom:1px solid rgba(255,255,255,.25); color:#fff; }
.wordmark { font-size:18px; font-weight:700; letter-spacing:.12em; }
.wordmark span { font-weight:400; color:#d4be98; }
nav { display:flex; align-items:center; gap:28px; font-size:13px; letter-spacing:.04em; }
.nav-contact { border:1px solid rgba(255,255,255,.55); padding:8px 16px; }
.hero { min-height:680px; height:86vh; position:relative; display:flex; align-items:center; overflow:hidden; color:white; background:#0d171a; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 48%; filter:grayscale(100%) saturate(35%) brightness(48%) contrast(112%); transform:scale(1.025); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,15,18,.94) 0%,rgba(10,20,24,.78) 48%,rgba(10,20,24,.25) 100%),linear-gradient(0deg,rgba(8,16,18,.55),transparent 55%); }
.hero-content { position:relative; z-index:1; max-width:760px; margin-left:6vw; padding-top:55px; }
.eyebrow,.section-kicker { color:#caa76c; text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:700; }
h1,h2,h3 { font-family:Georgia, 'Times New Roman', serif; font-weight:400; line-height:1.08; margin:0; }
h1 { font-size:clamp(32px,2.8vw,50px); letter-spacing:-.02em; color:#d5b98e; }
.hero-name { margin:24px 0 20px; color:#d8b77f; text-transform:uppercase; letter-spacing:.3em; font-size:clamp(20px,2.6vw,44px); font-weight:700; }
.hero-name::after { content:""; display:block; width:86px; height:1px; background:#caa76c; margin-top:24px; }
.hero-copy { max-width:630px; font-size:16px; color:#d9dddd; margin:28px 0; }
.primary-link { display:inline-flex; gap:30px; border-bottom:1px solid #caa76c; padding:0 0 7px; font-size:14px; text-transform:uppercase; letter-spacing:.11em; }
.hero-foot { position:absolute; z-index:1; left:6vw; right:6vw; bottom:30px; max-width:790px; font-size:12px; color:#cbd0cf; }
.facts { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; padding:38px 6vw; border-bottom:1px solid #ddd9d0; }
.facts div { padding:0 30px; border-left:1px solid #d9d5cc; display:flex; flex-direction:column; }
.facts div:first-child { border-left:0; }
.facts strong { font:400 30px/1.2 Georgia,serif; color:#8d6733; }
.facts span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.1em; margin-top:4px; }
.section { padding:120px 8vw; }
.about { display:grid; grid-template-columns:minmax(300px, .78fr) 1.2fr; gap:9vw; align-items:center; }
.portrait-wrap { position:relative; max-width:370px; justify-self:center; overflow:hidden; }
.portrait-wrap::after { content:""; position:absolute; inset:20px -20px -20px 20px; border:1px solid #b99054; z-index:-1; }
.portrait-wrap img { width:100%; display:block; filter:grayscale(100%); }
h2 { font-size:clamp(30px,3.1vw,46px); letter-spacing:-.015em; }
.about-copy .lead { font:400 21px/1.55 Georgia,serif; margin:30px 0 20px; }
.about-copy>p:not(.section-kicker):not(.lead) { color:#535c5d; }
.qualifications { border-top:1px solid #cfcac0; padding-top:22px; margin-top:26px; font-size:13px; }
.services { background:var(--deep); color:#fff; }
.section-intro { display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; align-items:end; margin-bottom:64px; }
.section-intro>p { color:#9ea6a6; max-width:520px; margin:0; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #465052; border-left:1px solid #465052; }
.service-card { min-height:310px; padding:38px; border-right:1px solid #465052; border-bottom:1px solid #465052; }
.service-card>span { color:#b99054; font-size:12px; letter-spacing:.14em; }
.service-card h3 { font-size:23px; margin:48px 0 18px; }
.service-card p { color:#aeb5b5; font-size:14px; }
.experience { background:#fff; }
.assignment-list { border-top:1px solid #cfcac0; }
.assignment-list article { display:grid; grid-template-columns:.42fr 1fr; gap:5vw; padding:28px 0; border-bottom:1px solid #d8d4cb; }
.assignment-list p { margin:0; }
.assignment-type { color:#946d36; text-transform:uppercase; letter-spacing:.13em; font-size:12px; font-weight:700; }
.publications { background:#ebe8e1; }
.publications ol { list-style:none; counter-reset:pub; margin:0; padding:0; border-top:1px solid #c9c4ba; }
.publications li { counter-increment:pub; position:relative; padding:24px 20px 24px 70px; border-bottom:1px solid #c9c4ba; }
.publications li::before { content:counter(pub, decimal-leading-zero); position:absolute; left:5px; color:#9a7441; font-size:12px; letter-spacing:.1em; }
.contact { background:#132126 url('/texture.jpg') center bottom/cover no-repeat; color:#fff; padding:110px 8vw; display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; }
.contact h2 { max-width:780px; }
.contact>div>p:last-child { color:#bbc1c0; max-width:680px; }
.contact-details { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:17px; }
.contact-details a { border-bottom:1px solid #917345; padding-bottom:5px; font-size:18px; }
footer { background:#0a1114; color:#8f9898; padding:30px 8vw; display:flex; justify-content:space-between; gap:40px; font-size:11px; line-height:1.7; }
footer p { margin:0; }
footer span { color:#687274; }
footer p:last-child { text-align:right; }
@media (max-width:900px) { nav a:not(.nav-contact){display:none}.site-header{height:74px}.hero{min-height:680px}.hero-content{margin:0 7vw}.hero-foot{left:7vw}.about,.section-intro,.contact{grid-template-columns:1fr}.portrait-wrap{max-width:340px}.service-grid{grid-template-columns:1fr 1fr}.section{padding:85px 7vw}.contact{padding:85px 7vw}.assignment-list article{grid-template-columns:1fr;gap:8px} }
@media (max-width:560px) { .wordmark{font-size:14px}nav{gap:10px}.hero{min-height:720px}.hero-content{padding-top:40px}.hero-copy{font-size:16px}.facts{padding:30px 4vw}.facts div{padding:0 16px}.facts strong{font-size:24px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.section{padding:70px 6vw}.contact{padding:70px 6vw}.contact-details a{font-size:15px}footer{display:block}footer p:last-child{text-align:left;margin-top:14px} }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
