:root{--ink:#171916;--paper:#f5f4ef;--orange:#f45e35;--green:#d8fa39;--blue:#c5dcef;--line:#454741;--pad:clamp(24px,5vw,90px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.55}body.modal-open{overflow:hidden}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}img{display:block;max-width:100%;height:auto}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:6px}::selection{background:var(--green);color:var(--ink)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h1,h2{letter-spacing:-.065em;line-height:.97}p{max-width:38em}.label{font-size:14px;line-height:1.5;letter-spacing:.065em;text-transform:uppercase}.muted{opacity:.75}.skip{position:fixed;top:0;left:0;padding:14px;background:white;z-index:100;transform:translateY(-150%)}.skip:focus{transform:none}.text-link{text-decoration:none;border-bottom:1px solid;padding:8px 0;display:inline-flex;align-items:center;gap:28px;min-height:44px}.text-link span{font-size:26px;line-height:1}.text-link:hover span{transform:translateX(4px)}
.header{position:absolute;z-index:10;inset:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;padding:24px var(--pad);gap:24px}.brand{background:white;width:88px;padding:10px;flex-shrink:0}.brand img{width:68px;height:108px;object-fit:contain}.nav{display:flex;align-items:center;gap:32px;padding:6px 0;font-size:15px}.nav a{text-decoration:none;min-height:44px;display:flex;align-items:center}.nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav .contact-link{padding:10px 20px;background:var(--ink);color:white;border-radius:2px}.menu-button{display:none}
.hero{background:var(--orange);padding:190px var(--pad) 0;position:relative}.hero-top{display:flex;justify-content:space-between;border-top:1px solid #17191670;padding:14px 0 28px;gap:20px}.hero-title{display:grid;grid-template-columns:1fr 210px;align-items:end;gap:32px}.hero h1{font-size:clamp(80px,12.1vw,190px);max-width:8em;line-height:.94}.hero h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.075em}.personal{padding-bottom:14px}.personal img{width:120px;height:120px;object-fit:cover;margin-bottom:16px;box-shadow:10px 10px 0 var(--green)}.personal p{font-size:15px;line-height:1.45}.personal strong{font-weight:600;display:block}.hero-bottom{display:grid;grid-template-columns:1fr 2.1fr;gap:5vw;align-items:end;margin-top:55px}.hero-note{padding-bottom:50px;position:relative}.hero-note::before{content:'';display:block;width:64px;height:6px;background:var(--green);margin-bottom:25px}.hero-note blockquote{margin:0 0 24px;font-size:clamp(23px,2.2vw,34px);line-height:1.25;letter-spacing:-.025em}.hero-image{position:relative;transform:translateY(38px);z-index:2}.hero-image img{width:100%;aspect-ratio:1.7;object-fit:cover}.hero-image figcaption{background:var(--ink);color:white;display:flex;justify-content:space-between;gap:16px;padding:14px 20px;font-size:14px}.vertical-note{position:absolute;top:12px;left:12px;background:var(--paper);padding:7px 12px;font-size:13px;line-height:1.4}
.work{background:var(--ink);color:var(--paper);padding:150px var(--pad) 100px;position:relative}.work::before{content:'';position:absolute;width:6px;background:var(--green);top:0;left:calc(var(--pad) + 29px);height:70px}.section-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:8vw;align-items:end;margin-bottom:70px}.section-intro h2{font-size:clamp(52px,7.5vw,118px)}.section-intro h2 em{color:var(--green);font-family:Georgia,serif;font-weight:400}.section-intro p{font-size:19px;max-width:29em}.section-intro .label{margin-bottom:18px}.projects{display:grid;grid-template-columns:1.15fr 1fr;gap:90px 7vw;align-items:start}.project:nth-child(2){margin-top:160px}.project:nth-child(3){width:85%;margin-top:-50px}.project:nth-child(4){margin-top:80px}.project-button{padding:0;border:0;background:none;color:inherit;text-align:left;width:100%;display:block}.project-image{overflow:hidden;position:relative}.project-image img{width:100%;aspect-ratio:1.34;object-fit:cover;transition:transform .6s}.project:nth-child(2) img{aspect-ratio:1.1}.project-button:hover img{transform:scale(1.035)}.open-project{position:absolute;bottom:16px;right:16px;display:grid;place-items:center;width:48px;height:48px;background:var(--green);color:var(--ink);font-size:29px;border-radius:50%}.project-caption{display:flex;justify-content:space-between;gap:18px;padding-top:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.project-caption h3{font-size:clamp(25px,2.5vw,36px);letter-spacing:-.04em;line-height:1.15}.project-caption p{font-size:14px;margin-top:7px;color:#bec0b8}.project-caption .index{font-size:14px;flex-shrink:0}.project-aside{margin-top:16px;font-size:16px;color:#d4d5ce;max-width:25em}.work-end{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:80px;padding-top:28px;border-top:1px solid var(--line)}.work-end p{font-size:16px;max-width:29em}
.thinking{padding:100px var(--pad);position:relative;overflow:hidden}.thinking-head{display:grid;grid-template-columns:1fr 2.1fr;gap:5vw;margin-bottom:55px}.thinking h2{font-size:clamp(48px,7vw,108px);max-width:12em}.thinking h2 em{font-family:Georgia,serif;font-weight:400}.thoughts{margin-left:34%;border-top:1px solid #aaa}.thought{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid #bbb}.thought .num{font-size:14px;padding-top:4px}.thought h3{font-size:26px;line-height:1.25;letter-spacing:-.025em;margin-bottom:12px}.thought p{font-size:17px;max-width:35em}.note{position:absolute;left:var(--pad);top:410px;max-width:22%;transform:rotate(-6deg);font-family:Georgia,serif;font-style:italic;font-size:clamp(24px,3vw,42px);line-height:1.2}.note::after{content:'';display:block;width:110px;height:8px;background:var(--green);margin-top:24px}
.portrait-section{background:var(--blue);padding:95px var(--pad);display:grid;grid-template-columns:1fr 2.1fr;gap:5vw;position:relative}.portrait-card{align-self:start;max-width:245px;border-top:1px solid #17191660;padding-top:24px}.portrait-card img{width:150px;height:150px;margin-bottom:24px}.portrait-card figcaption{font-size:16px;line-height:1.5}.portrait-copy h2{font-size:clamp(46px,6vw,92px);margin:18px 0 32px}.portrait-copy p{margin:18px 0}.portrait-copy .text-link{margin-top:12px}.full-quote{background:var(--green);padding:75px var(--pad);position:relative}.full-quote blockquote{margin:0;max-width:18em;font-size:clamp(38px,6.2vw,94px);letter-spacing:-.045em;line-height:1.08}.full-quote p{margin-top:24px;font-size:14px}.full-quote em{font-family:Georgia,serif;font-weight:400}
.contact{background:var(--orange);padding:100px var(--pad) 70px;display:grid;grid-template-columns:1.1fr 1fr;gap:8vw}.contact h2{font-size:clamp(58px,7vw,108px);margin:20px 0 28px}.contact p{max-width:24em}.contact-details{margin-top:38px;font-size:20px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.contact-details a{text-decoration:none;border-bottom:1px solid}.contact-details address{font-style:normal;font-size:15px;line-height:1.6;margin-top:16px}.contact-form{align-self:end;border-top:1px solid #17191670;padding-top:25px}.field{margin-bottom:23px}.field label{display:block;font-size:15px;margin-bottom:8px}.field input,.field textarea{display:block;width:100%;border:0;border-bottom:1px solid #17191690;background:#ffffff22;border-radius:0;padding:12px;color:var(--ink);min-width:0}.field textarea{resize:vertical;min-height:110px}.submit{background:var(--ink);color:white;border:0;padding:17px 24px;width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;min-height:58px}.submit:hover{background:#34372e}.form-note{font-size:14px;line-height:1.55;margin:14px 0 0;max-width:none!important}.form-status{font-size:15px;margin-top:12px}.footer{background:var(--orange);display:flex;justify-content:space-between;gap:24px;padding:25px var(--pad);border-top:1px solid #17191660;font-size:14px}.footer a{text-underline-offset:4px}
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(1100px,94vw);max-height:90svh;overflow:auto}dialog::backdrop{background:#10120ef0}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 25px}.dialog-top h2{font-size:clamp(25px,3vw,40px);letter-spacing:-.035em}.dialog-close{border:1px solid currentColor;background:transparent;min-width:48px;min-height:48px;font-size:24px;flex-shrink:0}.dialog-image{width:100%;max-height:62svh;object-fit:contain;background:#e4e5df}.dialog-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:20px 25px}.dialog-bottom p{font-size:15px}.gallery-controls{display:flex;align-items:center;gap:16px}.gallery-controls button{background:transparent;border:1px solid currentColor;width:44px;height:44px}.gallery-controls button:disabled{opacity:.35;cursor:default}.gallery-count{font-size:14px;min-width:45px;text-align:center}
@media(min-width:1700px){.hero,.work,.thinking,.portrait-section,.contact,.full-quote{padding-left:max(90px,calc((100vw - 1550px)/2));padding-right:max(90px,calc((100vw - 1550px)/2))}}
@media(max-width:900px){.hero-title{grid-template-columns:1fr 165px;gap:18px}.hero h1{font-size:11.7vw}.hero-bottom{grid-template-columns:1fr 1.6fr;gap:30px}.hero-note blockquote{font-size:24px}.section-intro{gap:30px}.projects{gap:60px 30px}.project:nth-child(2){margin-top:100px}.project:nth-child(3){margin-top:0;width:100%}.thinking-head,.portrait-section{grid-template-columns:1fr 2fr;gap:30px}.contact{gap:40px}.nav{gap:22px}.thoughts{margin-left:33%}}
@media(max-width:600px){body{font-size:17px}.header{padding:18px 24px;align-items:flex-start}.brand{width:66px;padding:8px}.brand img{width:50px;height:82px}.menu-button{display:block;background:var(--ink);color:white;border:0;padding:11px 16px;min-height:44px;font-size:15px}.nav{display:none;position:absolute;top:75px;right:24px;background:var(--ink);color:white;padding:16px 22px;min-width:190px;flex-direction:column;align-items:stretch;gap:5px;box-shadow:0 10px 25px #0003}.nav.open{display:flex}.nav .contact-link{background:var(--green);color:var(--ink);padding:10px 14px}.hero{padding-top:146px}.hero-top{padding-bottom:25px}.hero-top .label:last-child{display:none}.hero-title{grid-template-columns:1fr;gap:28px}.hero h1{font-size:20vw;letter-spacing:-.07em}.personal{display:flex;align-items:center;gap:22px;padding:0}.personal img{width:76px;height:76px;margin:0;box-shadow:6px 6px 0 var(--green)}.personal p{font-size:14px}.hero-bottom{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:34px}.hero-note{padding-bottom:0}.hero-note::before{display:none}.hero-note blockquote{font-size:24px;max-width:17em;margin-bottom:12px}.hero-note .text-link{font-size:16px}.hero-image{margin-top:0;transform:translateY(28px)}.hero-image img{aspect-ratio:1.35}.hero-image figcaption{font-size:12px;padding:12px;gap:8px}.vertical-note{font-size:12px;top:8px;left:8px;padding:5px 8px}.work{padding-top:95px;padding-bottom:60px}.work::before{height:50px;left:45px}.section-intro{grid-template-columns:1fr;gap:25px;margin-bottom:40px}.section-intro h2{font-size:15vw}.section-intro p{font-size:17px}.projects{grid-template-columns:1fr;gap:45px}.project:nth-child(n){margin-top:0;width:100%}.project:nth-child(even){padding-left:28px}.project:nth-child(n) img{aspect-ratio:1.4}.project-caption{padding-top:15px}.project-caption h3{font-size:28px}.project-aside{font-size:16px}.work-end{flex-direction:column;align-items:flex-start;gap:20px;margin-top:45px}.thinking{padding-top:60px;padding-bottom:60px}.thinking-head{grid-template-columns:1fr;gap:20px;margin-bottom:25px}.thinking h2{font-size:13vw}.note{position:static;transform:none;max-width:100%;font-size:25px;margin:25px 0 35px}.note::after{height:5px;margin-top:16px}.thoughts{margin-left:0}.thought{grid-template-columns:25px 1fr;gap:15px;padding:24px 0}.thought h3{font-size:23px}.portrait-section{grid-template-columns:1fr;padding-top:60px;padding-bottom:60px;gap:32px}.portrait-card{display:flex;align-items:center;gap:22px;max-width:none}.portrait-card img{width:110px;height:110px;margin:0}.portrait-card figcaption{font-size:15px}.portrait-copy h2{font-size:13vw}.full-quote{padding-top:50px;padding-bottom:50px}.full-quote blockquote{font-size:10vw}.contact{grid-template-columns:1fr;padding-top:60px;padding-bottom:45px;gap:45px}.contact h2{font-size:15vw}.contact-details{font-size:21px;margin-top:30px}.footer{flex-direction:column;gap:12px;font-size:13px}.dialog-top,.dialog-bottom{padding:16px}.dialog-bottom{flex-direction:column;align-items:flex-start;gap:14px}.dialog-image{max-height:55svh}.gallery-controls{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.brand{width:180px;height:135px;padding:0;display:flex;align-items:center;justify-content:center}.brand img{max-width:100%;flex-shrink:0;width:180px;height:auto}
main{position:relative}main::after{content:'';position:absolute;left:18px;top:190px;bottom:0;width:3px;background:var(--green);pointer-events:none;z-index:3}
@media(max-width:600px){.brand{width:145px;height:105px}.brand img{width:145px;height:auto}main::after{left:8px;top:146px;width:2px}.hero-top .label{font-size:.8125rem}.personal p{font-size:.875rem}.thought p{font-size:1.0625rem}.contact-form label{font-size:.9375rem}}
@media print{.header,.contact-form,.menu-button,dialog{display:none}.hero{padding-top:30px}.project,.portrait-section{break-inside:avoid}.hero-image{transform:none}body{font-size:12pt}}
