:root{--sans:"Avenir Next", "Helvetica Neue", sans-serif;--heading:"Bodoni 72", "Didot", Georgia, serif;--heading-italic:"Bodoni 72", "Didot", Georgia, serif;font:16px/1.45 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}body{min-width:320px;margin:0}#root{min-height:100vh}:root{--ink:#1c1c1a;--paper:#f4f0e9;--muted:#817d74;--line:#d7d0c4;--saffron:#d8a43b;--coral:#d9674e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.app-shell{overflow:hidden}.top-nav{z-index:10;mix-blend-mode:multiply;padding:26px 5vw;position:fixed;inset:0 0 auto}.nav-shell,footer{justify-content:space-between;align-items:center;display:flex}.wordmark{color:var(--ink);font:700 1.05rem/1 var(--sans);letter-spacing:.16em;background:0 0;border:0;padding:0}.wordmark span{letter-spacing:.3em;margin-top:5px;font-size:.48rem;font-weight:500;display:block}.nav-links{gap:2.1rem;display:flex}.nav-links button,.menu-button,.filter-row button{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;padding:8px 0;font-size:.72rem}.nav-links button:hover,.nav-links .nav-link-active,.filter-row .filter-active{color:var(--ink)}.menu-button{display:none}.hero-section{grid-template-columns:1fr minmax(350px,43vw);align-items:center;gap:5vw;min-height:100vh;padding:9rem 10vw 5rem;display:grid;position:relative}.hero-copy{max-width:590px;animation:.9s both rise}.eyebrow{color:var(--coral);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.3rem;font-size:.67rem}h1,h2,h3,p{margin-top:0}h1,h2{font:400 clamp(3.7rem, 7vw, 7.8rem)/.92 var(--heading);letter-spacing:-.045em;margin-bottom:2rem}h1 em,h2 em{font-family:var(--heading-italic);color:var(--coral);font-style:italic}.hero-intro{color:var(--muted);max-width:290px;margin-bottom:2.2rem;font-size:1rem;line-height:1.7}.text-button,.submit-button{border:0;border-bottom:1px solid var(--ink);color:var(--ink);letter-spacing:.13em;text-transform:uppercase;background:0 0;padding:0 0 8px;font-size:.72rem}.text-button span,.submit-button span,.email-link span{color:var(--coral);margin-left:10px;font-size:1.1rem}.hero-image{height:min(76vh,730px);animation:1.1s .1s both reveal;position:relative}.hero-image img,.about-image img{object-fit:cover;width:100%;height:100%}.hero-image img{object-position:52% center}.image-note,.scroll-note{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:.65rem}.image-note{writing-mode:vertical-rl;position:absolute;bottom:1rem;right:-2.5rem}.scroll-note{transform-origin:0;position:absolute;bottom:3rem;left:5vw;transform:rotate(-90deg)}.scroll-note span{color:var(--coral);margin-left:12px;font-size:1rem}.section-shell{padding:9rem 10vw}.work-section{background:var(--ink);color:var(--paper)}.section-heading{justify-content:space-between;align-items:end;gap:3rem;margin-bottom:4rem;display:flex}.section-heading h2,.about-copy h2,.contact-section h2{margin:0;font-size:clamp(3rem,5.5vw,6rem)}.section-heading .eyebrow{color:var(--saffron)}.section-summary{max-width:290px;color:var(--muted);margin:0 0 .5rem;font-size:.92rem;line-height:1.7}.work-section .section-summary,.work-section .filter-row button{color:#aaa59c}.filter-row{border-bottom:1px solid #46443f;gap:1.8rem;margin-bottom:2.6rem;display:flex}.filter-row button{padding-bottom:13px}.filter-row .filter-active{color:var(--paper);border-bottom:1px solid var(--saffron)}.project-grid{grid-template-columns:repeat(2,1fr);gap:5rem 1.5rem;display:grid}.project-card{margin:0}.project-card img{object-fit:cover;filter:saturate(.78);width:100%;height:520px;transition:filter .4s,transform .4s}.project-card.tall img{height:620px}.project-card:hover img{filter:saturate();transform:translateY(-6px)}.project-card:nth-child(2n){margin-top:9rem}.project-meta{justify-content:space-between;align-items:baseline;padding-top:1.1rem;display:flex}.project-meta h3{font:400 1.35rem var(--heading);margin:0}.project-meta p{color:var(--saffron);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem}.services-section{background:var(--paper)}.service-list{border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line);grid-template-columns:8% 30% 1fr 30px;align-items:center;gap:1rem;padding:1.8rem 0;display:grid}.service-row span,.service-row p{color:var(--muted);font-size:.75rem}.service-row h3{font:400 1.55rem var(--heading);margin:0}.service-row p{max-width:310px;margin:0;line-height:1.6}.service-row b{color:var(--coral);font-size:1.4rem;font-weight:400}.about-section{background:#e7dfd3;grid-template-columns:45% 1fr;align-items:center;gap:10vw;padding:9rem 10vw;display:grid}.about-image{max-width:470px;height:650px}.about-image img{object-position:center top}.about-copy{max-width:480px}.about-copy .eyebrow{color:var(--coral)}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:390px;margin:2rem 0;line-height:1.8}.journal-section{background:#f8f6f1}.compact{align-items:center}.journal-grid{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.journal-grid img{aspect-ratio:1.5;object-fit:cover;filter:saturate(.75);width:100%}.journal-grid article p{color:var(--coral);letter-spacing:.14em;text-transform:uppercase;margin:1.2rem 0 .65rem;font-size:.64rem}.journal-grid h3{font:400 1.4rem var(--heading);max-width:300px;margin:0}.contact-section{background:var(--coral);color:#281b18;grid-template-columns:1fr 1fr;gap:10vw;padding:9rem 10vw;display:grid}.contact-section .eyebrow,.contact-section h2 em{color:#f5d99d}.email-link{color:inherit;letter-spacing:.08em;border-bottom:1px solid;padding-bottom:.7rem;font-size:.9rem;text-decoration:none;display:inline-block}.contact-section form{flex-direction:column;gap:1.6rem;padding-top:.5rem;display:flex}.contact-section label{letter-spacing:.12em;text-transform:uppercase;font-size:.65rem}.contact-section input,.contact-section textarea{width:100%;color:inherit;resize:vertical;background:0 0;border:0;border-bottom:1px solid #281b1880;outline:0;margin-top:.7rem;padding:.6rem 0;display:block}.contact-section input::placeholder,.contact-section textarea::placeholder{color:#281b18a6}.submit-button{color:#281b18;border-color:#281b18;align-self:start;margin-top:.5rem}.submit-button:disabled{cursor:wait;opacity:.6}.form-error{color:#281b18;max-width:360px;margin:0;font-size:.75rem;line-height:1.5}footer{background:var(--ink);color:#aaa59c;letter-spacing:.08em;padding:2.5rem 5vw;font-size:.68rem}footer a{color:inherit;text-decoration:none}footer .wordmark{color:var(--paper)}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal{0%{opacity:0;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0)}}@media (width<=700px){.top-nav{padding:20px 6vw}.nav-links{background:var(--paper);border:1px solid var(--line);flex-direction:column;gap:.3rem;padding:1.2rem;display:none;position:absolute;top:70px;left:6vw;right:6vw}.nav-links-open{display:flex}.menu-button{display:block}.hero-section{flex-direction:column;align-items:stretch;gap:2.5rem;padding:8rem 6vw 4rem;display:flex}.hero-image{height:70vh}.image-note{right:-.7rem}.scroll-note{display:none}.section-shell,.contact-section{padding:6rem 6vw}.section-heading{margin-bottom:3rem;display:block}.section-summary{margin-top:2rem}.filter-row{gap:1rem;overflow-x:auto}.filter-row button{white-space:nowrap}.project-grid,.journal-grid,.contact-section,.about-section{grid-template-columns:1fr}.project-grid{gap:3.5rem 0}.project-card:nth-child(2n){margin-top:0}.project-card img,.project-card.tall img{height:480px}.service-row{grid-template-columns:12% 1fr 25px}.service-row p{grid-column:2/3}.service-row b{grid-area:1/3}.about-section{gap:3rem;padding:6rem 6vw}.about-image{height:520px}footer{flex-wrap:wrap;gap:1.2rem}}
