:root { --ink:#161510; --paper:#f3f0e9; --sage:#7a806c; --line:rgba(22,21,16,.2); --serif:Georgia,"Times New Roman",serif; --sans:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); text-rendering:optimizeLegibility; }
img { display:block; width:100%; height:100%; object-fit:cover; }
a { color:inherit; }
.skip-link { position:fixed; top:8px; left:8px; z-index:100; transform:translateY(-150%); padding:.75rem 1rem; background:var(--ink); color:#fff; }
.skip-link:focus { transform:translateY(0); }
.site-header { position:fixed; inset:0 0 auto; z-index:20; display:flex; align-items:center; justify-content:space-between; height:76px; padding:0 clamp(1.25rem,4vw,4rem); color:#fff; mix-blend-mode:difference; }
.wordmark { display:grid; place-items:center; width:42px; height:42px; border:1px solid currentColor; border-radius:50%; font:1rem/1 var(--serif); text-decoration:none; letter-spacing:.05em; }
nav { display:flex; gap:2rem; }
nav a { font-size:.72rem; text-decoration:none; text-transform:uppercase; letter-spacing:.16em; }
nav a:hover,nav a:focus-visible { text-decoration:underline; text-underline-offset:.4rem; }
.menu-button { display:none; }
.hero { min-height:100svh; display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,45vw); background:var(--ink); color:#fff; overflow:hidden; }
.hero-copy { align-self:center; padding:8rem clamp(1.5rem,6vw,7rem) 5rem; position:relative; z-index:1; }
.eyebrow,.section-label { margin:0 0 2rem; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:10ch; margin-bottom:1.3rem; font:clamp(3.7rem,7.5vw,8.5rem)/.83 var(--serif); letter-spacing:-.055em; font-weight:400; }
.hero-role { margin-bottom:2.5rem; font-size:clamp(1rem,1.6vw,1.35rem); letter-spacing:.04em; }
.hero-intro { max-width:33rem; font:clamp(1.08rem,1.6vw,1.35rem)/1.55 var(--serif); color:#d9d5ca; }
.text-link { display:inline-flex; justify-content:space-between; gap:2rem; margin-top:2rem; padding-bottom:.65rem; border-bottom:1px solid #77746d; font-size:.72rem; letter-spacing:.17em; text-decoration:none; text-transform:uppercase; }
.hero-portrait { min-height:100svh; margin:0; position:relative; }
.hero-portrait::after { content:""; position:absolute; inset:0; box-shadow:inset 10vw 0 12vw -9vw var(--ink); }
.hero-portrait figcaption { position:absolute; right:1.5rem; bottom:1.5rem; z-index:1; font-size:.62rem; letter-spacing:.13em; text-transform:uppercase; }
.hero-index { position:absolute; bottom:1.5rem; left:clamp(1.5rem,6vw,7rem); margin:0; font-size:.68rem; letter-spacing:.15em; }
.statement,.portfolio,.journal,.connect { padding:clamp(5rem,10vw,10rem) clamp(1.25rem,5vw,6rem); }
.statement { display:grid; grid-template-columns:.7fr 2fr 1fr; gap:clamp(2rem,6vw,7rem); border-bottom:1px solid var(--line); }
h2 { font:clamp(2.8rem,6vw,6.7rem)/.95 var(--serif); letter-spacing:-.045em; font-weight:400; }
.statement h2 { max-width:11ch; }
.statement>div>p { max-width:45rem; font:clamp(1.08rem,1.5vw,1.3rem)/1.65 var(--serif); }
.facts { align-self:end; margin:0; }
.facts div { padding:1rem 0; border-top:1px solid var(--line); }
.facts dt { margin-bottom:.4rem; font-size:.62rem; text-transform:uppercase; letter-spacing:.15em; }
.facts dd { margin:0; font:1rem/1.4 var(--serif); }
.portfolio { background:#d9d0c1; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:3rem; margin-bottom:clamp(3rem,6vw,6rem); }
.section-heading h2 { margin-bottom:0; }
.section-heading>p { max-width:28rem; margin:0 0 .5rem; font:1.05rem/1.55 var(--serif); }
.portfolio-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(.75rem,1.6vw,1.5rem); }
.tile { grid-column:span 4; margin:0; overflow:hidden; }
.tile-tall { grid-column:span 5; grid-row:span 2; }
.tile-wide { grid-column:span 7; }
.tile img { aspect-ratio:4/5; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.tile-wide img { aspect-ratio:7/4; object-position:50% 32%; }
.tile:hover img { transform:scale(1.025); }
.tile figcaption { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 0 1.5rem; border-top:1px solid rgba(22,21,16,.35); }
.tile figcaption span { font:1.05rem var(--serif); }
.tile figcaption small { font-size:.58rem; letter-spacing:.13em; text-transform:uppercase; }
.life { min-height:95svh; display:grid; grid-template-columns:1fr 1.1fr .7fr; gap:clamp(1rem,3vw,3rem); padding:clamp(5rem,10vw,10rem) clamp(1.25rem,5vw,6rem); background:var(--sage); color:#fff; }
.life-copy { align-self:center; padding-right:2rem; }
.life-copy h2 { max-width:9ch; }
.life-copy>p:last-child { max-width:28rem; font:1.08rem/1.6 var(--serif); color:#eeeee9; }
.life figure { margin:0; }
.life-primary { height:min(70vw,760px); }
.life-secondary { height:min(48vw,520px); align-self:end; }
.journal { background:var(--paper); }
.journal-list { border-top:1px solid var(--line); }
.journal-list article { display:grid; grid-template-columns:5rem 1.2fr 1fr; gap:2rem; align-items:center; padding:2.25rem 0; border-bottom:1px solid var(--line); }
.journal-list article>span { font-size:.65rem; letter-spacing:.15em; }
.journal-list article div p { margin-bottom:.45rem; font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; }
.journal-list h3 { margin:0; font:clamp(1.7rem,3vw,3rem)/1 var(--serif); font-weight:400; }
.journal-list article>p { max-width:27rem; margin:0; font:1rem/1.55 var(--serif); }
.connect { text-align:center; background:var(--ink); color:#fff; }
.connect h2 { max-width:10ch; margin-inline:auto; }
.connect>p:not(.section-label) { max-width:34rem; margin:0 auto 3rem; font:1.1rem/1.6 var(--serif); color:#d9d5ca; }
.social-links { display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; }
.social-links a { min-width:190px; padding:1.1rem 1.4rem; border:1px solid #5b5952; text-decoration:none; font-size:.69rem; text-transform:uppercase; letter-spacing:.15em; }
.social-links a:hover,.social-links a:focus-visible { background:#fff; color:var(--ink); }
footer { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2rem; padding:2rem clamp(1.25rem,5vw,6rem); background:var(--ink); color:#aaa79e; border-top:1px solid #34332f; font-size:.64rem; line-height:1.5; letter-spacing:.08em; }
footer p { margin:0; }
footer p:nth-child(2) { justify-self:center; text-align:center; }
:focus-visible { outline:2px solid #d9b678; outline-offset:4px; }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important} }
@media (max-width:900px) {
  .site-header{height:64px}.menu-button{display:flex;align-items:center;gap:.7rem;border:0;background:none;color:inherit;font:.68rem var(--sans);letter-spacing:.15em;text-transform:uppercase}.menu-button i{display:block;width:20px;border-top:1px solid currentColor}
  nav{position:fixed;inset:64px 0 auto;display:none;flex-direction:column;gap:0;padding:1rem 1.25rem 1.5rem;background:#111;color:#fff;mix-blend-mode:normal}nav.is-open{display:flex}nav a{padding:1rem 0;border-bottom:1px solid #333}
  .hero{grid-template-columns:1fr}.hero-copy{min-height:72svh;padding-top:8rem}.hero-portrait{min-height:70svh}.hero-index{display:none}.statement{grid-template-columns:1fr}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.section-heading{align-items:start;flex-direction:column}.life{grid-template-columns:1fr 1fr}.life-copy{grid-column:1/-1}.life-primary{height:70vw}.life-secondary{height:53vw}
}
@media (max-width:620px) {
  h1{font-size:clamp(3.3rem,17vw,5.2rem)}h2{font-size:clamp(2.65rem,13vw,4.5rem)}.hero-copy{min-height:76svh;padding-inline:1.25rem}.hero-portrait{min-height:66svh}.statement,.portfolio,.journal,.connect,.life{padding-block:5rem}.facts{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.tile,.tile-tall,.tile-wide{grid-column:span 1;grid-row:auto}.tile-tall,.tile-wide{grid-column:1/-1}.tile-wide img{aspect-ratio:4/5}.life{grid-template-columns:1fr}.life-primary,.life-secondary{height:125vw}.journal-list article{grid-template-columns:2rem 1fr;gap:1rem}.journal-list article>p{grid-column:2}footer{grid-template-columns:auto 1fr}footer p:nth-child(2){justify-self:start;text-align:left}footer p:last-child{grid-column:2}
}
