*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}img,picture,video{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{background:none;border:0;cursor:pointer;color:inherit;font:inherit}a{color:inherit;text-decoration:none}:root{--bg: #f4efe6;--bg-2: #ece5d6;--paper: #faf6ee;--ink: #181410;--ink-2: #2f2a22;--ink-3: #6b6456;--rule: #ddd4c1;--max: 1400px;--gutter: clamp(1.5rem, 4.5vw, 4rem);--font-display: "Fraunces", "Cormorant Garamond", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--ease: cubic-bezier(.2,.7,.2,1)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);font-size:18px;line-height:1.6;color:var(--ink);background:var(--bg);font-feature-settings:"ss01","ss02"}h1,h2,h3,h4{font-family:var(--font-display);font-weight:380;line-height:1.02;letter-spacing:-.025em;color:var(--ink);font-variation-settings:"opsz" 144,"SOFT" 30}h1{font-size:clamp(2.6rem,7vw,6rem)}h2{font-size:clamp(2rem,4.4vw,3.6rem)}h3{font-size:clamp(1.4rem,2vw,1.85rem);font-variation-settings:"opsz" 72}p{color:var(--ink);max-width:60ch}.intro h2{font-size:clamp(1.9rem,3.4vw,2.8rem)}.intro p,.lede,.page-title p{font-size:1.15rem;color:var(--ink)}p+p{margin-top:1em}.label{font-family:var(--font-body);font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2)}.link{display:inline-flex;align-items:baseline;gap:.35em;border-bottom:1px solid currentColor;padding-bottom:1px;color:var(--ink);transition:color .2s var(--ease),border-color .2s var(--ease),gap .25s var(--ease)}.link:hover{color:var(--ink-2);gap:.55em}.link .arrow{font-size:.85em;transition:transform .25s var(--ease)}.link:hover .arrow{transform:translate(2px)}.wrap{width:100%;max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}.section{padding-block:clamp(3.5rem,7vw,6rem)}.section-tight{padding-block:clamp(2.5rem,5vw,4.5rem)}.site-header{position:sticky;top:0;left:0;right:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--rule)}.site-header.dark-text,.site-header.light-text{color:var(--ink)}.nav{display:flex;align-items:center;justify-content:space-between;padding-block:1.8rem}.brand{font-family:var(--font-display);font-size:1.35rem;font-weight:450;letter-spacing:.005em;line-height:1.1}.nav-links{display:flex;gap:2.5rem;align-items:center}.nav-links a{font-size:13px;font-weight:500;letter-spacing:.04em;color:inherit;transition:opacity .2s var(--ease);position:relative}.nav-links a:hover{opacity:.7}.nav-links a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor}.nav-toggle{display:none}.mobile-nav{display:none;flex-direction:column;gap:1.1rem;padding:1.5rem var(--gutter) 2.5rem;background:var(--bg);color:var(--ink);border-top:1px solid var(--rule)}.mobile-nav a{font-family:var(--font-display);font-size:1.35rem}@media (max-width: 820px){.nav-links{display:none}.nav-toggle{display:inline-flex;align-items:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase}.mobile-nav.open{display:flex}.site-header{position:relative}}.header-spacer{height:5.5rem}.hero{position:relative;min-height:calc(100svh - 5.4rem);background-size:cover;background-position:center;color:var(--ink);display:flex;align-items:flex-end;justify-content:center;isolation:isolate}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:transparent}.hero-inner{padding-block:clamp(3rem,8vw,5rem);width:100%}.hero .label{color:#ffffffd9}.hero h1{color:#fff;max-width:14ch;margin-top:1rem;font-weight:350}.hero .caption{position:absolute;right:var(--gutter);bottom:clamp(3rem,8vw,5rem);text-align:right;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#ffffffd9;max-width:28ch}.hero--split{color:var(--ink)}.hero--split:after{background:transparent}.hero--split .label{color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-tagline{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 clamp(2.5rem,6vw,4rem);padding:0 var(--gutter);font-family:var(--font-display);font-weight:380;font-size:clamp(2rem,5.2vw,4.6rem);line-height:1;letter-spacing:-.03em;white-space:nowrap;pointer-events:none}.hero-tagline .part-left,.hero-tagline .part-right{color:var(--ink);text-shadow:0 1px 16px rgba(244,239,230,.7),0 1px 3px rgba(244,239,230,.9)}.hero-tagline .part-right{font-style:italic;font-weight:360}@media (max-width: 640px){.hero-tagline{font-size:clamp(1.8rem,8.5vw,3rem)}}.intro{max-width:60ch}.intro h2{font-size:clamp(1.7rem,2.8vw,2.4rem)}.intro p{font-size:1.05rem;margin-top:1.25rem}.two-col{display:grid;gap:clamp(2.5rem,6vw,6rem);grid-template-columns:1fr;align-items:start}@media (min-width: 880px){.two-col{grid-template-columns:1fr 1fr}.two-col.weighted-left{grid-template-columns:1.15fr 1fr}.two-col.weighted-right{grid-template-columns:1fr 1.15fr}.two-col.reverse>:first-child{order:2}}.two-col img{width:100%;object-fit:cover;aspect-ratio:4/5}.project-grid{display:grid;gap:clamp(2rem,4vw,3.5rem) clamp(1.5rem,3vw,2.5rem);grid-template-columns:1fr}@media (min-width: 720px){.project-grid{grid-template-columns:1fr 1fr}}@media (min-width: 1100px){.project-grid.three{grid-template-columns:1fr 1fr 1fr}}.project-grid.editorial>:nth-child(4n+1){margin-top:4rem}.project-grid.editorial>:nth-child(4n+4){margin-top:4rem}@media (max-width: 720px){.project-grid.editorial>*{margin-top:0!important}}.project-card{display:block}.project-card .img-wrap{aspect-ratio:4/5;overflow:hidden;background:var(--bg-2)}.project-card.wide .img-wrap{aspect-ratio:4/3}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s var(--ease);filter:saturate(.96)}.project-card:hover img{transform:scale(1.03)}.project-card .meta{margin-top:1rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.project-card .meta h3{font-size:clamp(1.2rem,1.6vw,1.5rem);font-weight:400}.project-card .meta .tag{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.svc-list{display:grid;grid-template-columns:1fr;gap:0;margin-top:2rem}.svc-row{display:grid;grid-template-columns:1fr;gap:.5rem 2rem;padding-block:2rem;border-top:1px solid var(--rule)}.svc-row:last-child{border-bottom:1px solid var(--rule)}@media (min-width: 780px){.svc-row{grid-template-columns:1fr 2fr;gap:0 4rem;align-items:baseline}}.svc-row h3{font-size:clamp(1.4rem,2vw,1.9rem)}.svc-row p{max-width:56ch;color:var(--ink)}.phase-list{margin-top:1rem;counter-reset:phase}.phase{display:grid;grid-template-columns:auto 1fr;gap:2rem 3rem;padding-block:2rem;border-top:1px solid var(--rule);counter-increment:phase}.phase:last-child{border-bottom:1px solid var(--rule)}.phase:before{content:counter(phase,decimal-leading-zero);font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);color:var(--ink-3);line-height:1}.phase h3{margin-bottom:.5rem}.site-footer{background:var(--bg-2);padding-block:clamp(4rem,7vw,6rem) clamp(2rem,3vw,3rem);margin-top:clamp(4rem,10vw,8rem);color:var(--ink-2)}.footer-top{display:grid;gap:3rem;grid-template-columns:1fr;padding-bottom:3rem;border-bottom:1px solid var(--rule)}@media (min-width: 780px){.footer-top{grid-template-columns:2fr 1fr 1fr}}.footer-mark{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);color:var(--ink);line-height:1;font-variation-settings:"opsz" 144}.footer-tag{margin-top:1rem;max-width:40ch}.footer-col h4{font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:1rem}.footer-col ul{list-style:none;padding:0;display:grid;gap:.55rem;font-size:14px}.footer-col a{color:var(--ink)}.footer-col a:hover{color:var(--ink-2)}.footer-legal{margin-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.page-title{padding-block:clamp(4rem,9vw,8rem) clamp(2.5rem,5vw,4rem)}.page-title .label{margin-bottom:1.5rem;display:inline-block}.page-title h1{max-width:18ch}.page-title .lede{margin-top:1.75rem;font-size:1.1rem;max-width:56ch}.reveal{opacity:0;transform:translateY(14px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}.project-card img,.link,.nav-links a{transition:none}}.divider{height:1px;background:var(--rule);border:0;margin-block:clamp(4rem,8vw,7rem)}.muted{color:var(--ink-3)}.contact-stack{display:grid;gap:2.5rem;max-width:50ch}.contact-stack .line{display:grid;gap:.35rem}.contact-stack .line .label{margin-bottom:0}.contact-stack .line a,.contact-stack .line span.value{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2rem);color:var(--ink);font-weight:380;line-height:1.1}.contact-stack .line a{border-bottom:1px solid transparent;transition:border-color .25s var(--ease)}.contact-stack .line a:hover{border-bottom-color:var(--ink-3)}.designer-grid{display:grid;gap:clamp(2.5rem,6vw,5rem);grid-template-columns:1fr;align-items:start}@media (min-width: 860px){.designer-grid{grid-template-columns:.85fr 1fr}}.designer-grid img{width:100%;aspect-ratio:3/4;object-fit:cover}.figure{margin-block:clamp(2rem,5vw,4rem)}.figure img{width:100%;aspect-ratio:16/10;object-fit:cover}.figure figcaption{margin-top:.9rem;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}::selection{background:var(--ink);color:var(--bg)}
