:root{--ink: #1c1714;--ink-soft: #2a231f;--paper: #f1ece3;--paper-bright: #faf7f0;--clay: #ae6046;--clay-light: #d68a69;--brown: #6f4a3c;--text: #201b18;--muted: #665d57;--bone: #f3ede3;--bone-muted: #bdb2a8;--rule-dark: rgba(243, 237, 227, .18);--rule-light: rgba(32, 27, 24, .18);--serif: "Cormorant Garamond", Georgia, serif;--sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--gutter: clamp(24px, 4.5vw, 72px);--section-space: clamp(88px, 11vw, 168px);--max: 1440px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block;max-width:100%}::selection{background:var(--clay);color:#fff}:focus-visible{outline:2px solid var(--clay-light);outline-offset:4px}.skip-link{position:fixed;top:0;left:var(--gutter);z-index:1000;padding:12px 18px;color:#fff;background:var(--clay);transform:translateY(-110%)}.skip-link:focus{transform:translateY(0)}.site-header{position:fixed;inset:0 0 auto;z-index:100;color:var(--bone);transition:background-color .18s ease,border-color .18s ease;border-bottom:1px solid transparent}.site-header.scrolled{background:#1c1714f7;border-color:var(--rule-dark)}.header-inner{width:min(100%,var(--max));height:76px;margin:auto;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.brand-mark{width:30px;aspect-ratio:360 / 260;background:currentColor;-webkit-mask:url(/logo-mark.svg) center / contain no-repeat;mask:url(/logo-mark.svg) center / contain no-repeat}.site-nav{display:flex;gap:34px}.site-nav a{font-size:.875rem;color:var(--bone-muted);transition:color .15s ease}.site-nav a:hover,.site-nav a[aria-current=true]{color:var(--bone)}.menu-toggle{display:none}.hero{min-height:760px;height:100svh;max-height:980px;background:var(--ink);color:var(--bone);display:grid;grid-template-columns:minmax(0,47%) minmax(0,53%)}.hero-copy{position:relative;z-index:2;padding:150px var(--gutter) 80px max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)));display:flex;flex-direction:column;justify-content:center}.hero h1{max-width:15ch;font-family:var(--serif);font-size:clamp(3.5rem,5.5vw,5rem);font-weight:500;line-height:.98;letter-spacing:-.025em}.hero-summary{max-width:48ch;margin-top:32px;color:var(--bone-muted);font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.7}.text-link{width:fit-content;margin-top:42px;padding-bottom:5px;color:var(--bone);border-bottom:1px solid var(--clay-light);font-size:.9375rem;font-weight:500;display:inline-flex;align-items:center;gap:10px}.text-link svg,.submit-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.text-link:hover svg{transform:translate(2px,2px)}.hero-visual{position:relative;min-width:0;overflow:hidden;background:#231813}.hero-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--ink),transparent 24%);pointer-events:none}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:63% center;animation:hero-reveal 1.1s cubic-bezier(.2,.8,.2,1) both}@keyframes hero-reveal{0%{clip-path:inset(0 0 0 100%);transform:scale(1.025)}to{clip-path:inset(0);transform:scale(1)}}.work{padding:var(--section-space) max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)));background:var(--paper-bright)}.section-heading{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:clamp(36px,8vw,140px);padding-bottom:clamp(48px,7vw,88px)}.section-heading h2{font-family:var(--serif);font-size:clamp(3rem,5vw,5rem);font-weight:500;line-height:1;letter-spacing:-.03em}.section-heading p{max-width:58ch;align-self:end;color:var(--muted);font-size:1.0625rem;line-height:1.75}.product-feature{min-height:530px;display:grid;grid-template-columns:minmax(360px,1.55fr) minmax(280px,1fr);background:var(--paper);border-top:1px solid var(--rule-light);border-bottom:1px solid var(--rule-light)}.product-copy{padding:clamp(48px,7vw,104px)}.product-copy{display:flex;flex-direction:column;justify-content:center}.product-copy h3{max-width:17ch;font-family:var(--serif);font-size:clamp(2.25rem,3.8vw,3.75rem);font-weight:500;line-height:1.02;letter-spacing:-.025em}.product-copy h3 span{color:var(--clay)}.product-copy p{max-width:56ch;margin-top:28px;color:var(--muted);line-height:1.75}.text-link-dark{color:var(--text);border-color:var(--clay)}.product-wordmark{overflow:hidden;display:grid;place-items:center;background:var(--clay);color:var(--paper-bright)}.product-wordmark svg{width:min(46%,220px);overflow:visible}.product-wordmark rect{fill:transparent;stroke:currentColor;stroke-width:8}.product-wordmark text{fill:currentColor;font-family:var(--sans);font-size:52px;font-weight:700}.visual-essay{max-width:var(--max);height:clamp(440px,48vw,680px);margin:0 auto;padding:0 var(--gutter) var(--section-space);display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,.85fr);gap:clamp(10px,1.2vw,18px);background:var(--paper-bright)}.visual-essay figure{min-width:0;overflow:hidden}.visual-essay img{width:100%;height:100%;object-fit:cover}.visual-essay-wide img{object-position:52% center}.visual-essay-detail img{object-position:center 45%}@media (min-width: 1441px){.visual-essay{padding-left:72px;padding-right:72px}}.services{padding:var(--section-space) max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)));color:var(--bone);background:var(--ink)}.section-heading-light{border-bottom:1px solid var(--rule-dark)}.section-heading-light p{color:var(--bone-muted)}.service-list{display:grid;grid-template-columns:repeat(3,1fr)}.service-list article{min-height:310px;padding:46px clamp(24px,3.5vw,52px) 20px 0;border-bottom:1px solid var(--rule-dark)}.service-list article+article{padding-left:clamp(24px,3.5vw,52px);border-left:1px solid var(--rule-dark)}.service-list h3{font-family:var(--serif);font-size:2rem;font-weight:500}.service-list p{max-width:35ch;margin-top:92px;color:var(--bone-muted);line-height:1.75}.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--clay);color:#fff8ef}.contact-intro,.contact-panel{padding:var(--section-space) max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)))}.contact-intro{padding-right:clamp(40px,8vw,120px)}.contact-intro h2{max-width:9ch;font-family:var(--serif);font-size:clamp(3.5rem,6vw,5.75rem);font-weight:500;line-height:.95;letter-spacing:-.035em}.contact-intro p{max-width:48ch;margin-top:34px;color:#f2d7c8;line-height:1.75}.contact-intro a{display:inline-block;margin-top:54px;padding-bottom:4px;border-bottom:1px solid rgba(255,248,239,.65)}.contact-panel{padding-left:clamp(40px,8vw,120px);background:var(--brown)}.contact-form{display:flex;flex-direction:column}.field{padding:0 0 18px;margin-bottom:30px;border-bottom:1px solid rgba(255,248,239,.35)}.field:focus-within{border-color:#fff8ef}.field label{display:block;margin-bottom:9px;color:#dbc3b8;font-size:.8125rem}.field input,.field textarea{width:100%;padding:0;color:#fff8ef;caret-color:#fff8ef;background:transparent;border:0;outline:0;resize:vertical}.field textarea{min-height:110px}.form-error{margin-bottom:22px;color:#fff1eb}.submit-button{width:fit-content;padding:15px 22px;color:var(--text);background:var(--paper-bright);border:0;border-radius:0;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:22px}.submit-button:hover svg{transform:translate(3px)}.submit-button:hover{background:var(--bone)}.submit-button:disabled{cursor:wait;opacity:.65}.contact-success{padding-top:80px}.contact-success[hidden],.contact-form[hidden],.form-error[hidden]{display:none}.contact-success h3{font-family:var(--serif);font-size:3.5rem;font-weight:500}.contact-success p{margin-top:18px;color:#dbc3b8}.contact-success button{margin-top:34px;padding:0 0 4px;color:#fff;background:none;border:0;border-bottom:1px solid currentColor;cursor:pointer}.site-footer{padding:60px max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter))) 30px;background:var(--ink);color:var(--bone)}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:54px}.footer-main nav{display:flex;gap:28px;color:var(--bone-muted);font-size:.8125rem}.footer-main nav a:hover{color:var(--bone)}.copyright{padding-top:24px;border-top:1px solid var(--rule-dark);color:var(--bone-muted);font-size:.75rem}@media (max-width: 980px){.hero{min-height:720px;grid-template-columns:1fr}.hero-copy{min-height:720px;padding-right:42%}.hero-visual{position:absolute;top:0;right:0;bottom:0;left:36%;opacity:.64}.hero-visual:after{background:linear-gradient(90deg,var(--ink) 0%,rgba(28,23,20,.8) 28%,rgba(28,23,20,.12) 85%)}.product-feature{grid-template-columns:1fr}.product-wordmark{min-height:300px}.product-wordmark svg{width:min(36%,180px)}.contact{grid-template-columns:1fr}.contact-intro,.contact-panel{padding-left:var(--gutter);padding-right:var(--gutter)}}@media (max-width: 720px){.header-inner{height:68px}.menu-toggle{display:flex;align-items:center;gap:10px;padding:8px 0;color:var(--bone);background:none;border:0;cursor:pointer;font-size:.8125rem}.menu-icon{position:relative;display:block;width:20px;height:1px;background:currentColor}.menu-icon:after{content:"";position:absolute;left:0;top:6px;width:20px;height:1px;background:currentColor}.menu-toggle[aria-expanded=true] .menu-icon{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{top:0;transform:rotate(90deg)}.site-nav{display:none;position:fixed;top:68px;right:0;bottom:0;left:0;padding:48px var(--gutter);flex-direction:column;gap:24px;background:var(--ink)}.site-nav.open{display:flex}.site-nav a{font-family:var(--serif);font-size:2.5rem;color:var(--bone)}.hero{min-height:100svh;height:auto;max-height:none;display:flex;flex-direction:column}.hero-visual{position:relative;inset:auto;order:1;height:min(52svh,460px);min-height:330px;opacity:1}.hero-visual img{object-position:64% center}.hero-visual:after{background:linear-gradient(0deg,var(--ink) 0%,transparent 38%)}.hero-copy{order:2;min-height:auto;padding:36px var(--gutter) 64px;justify-content:flex-start}.hero h1{max-width:11ch;font-size:clamp(3.35rem,14vw,4.4rem);line-height:.96}.hero-summary{margin-top:26px}.text-link{min-height:44px;align-items:center;margin-top:30px}.work,.services{padding-top:76px;padding-bottom:80px}.section-heading{grid-template-columns:1fr;gap:20px;padding-bottom:44px}.section-heading h2{font-size:clamp(3rem,14vw,3.75rem)}.section-heading p{font-size:1rem;line-height:1.65}.product-feature{display:block;min-height:0;background:transparent;border:0}.product-copy{padding:0}.product-copy h3{max-width:13ch;font-size:clamp(2.6rem,12vw,3.25rem)}.product-copy p{margin-top:24px;font-size:1rem;line-height:1.7}.product-copy .text-link{margin-top:28px}.product-wordmark{display:grid;min-height:230px;margin-top:44px}.product-wordmark svg{width:118px}.visual-essay{height:280px;padding-bottom:76px;grid-template-columns:minmax(0,1.8fr) minmax(92px,.8fr);gap:8px}.visual-essay-wide img{object-position:47% center}.service-list{grid-template-columns:1fr}.service-list article{min-height:auto;padding:34px 0 38px}.service-list article+article{padding-left:0;border-left:0}.service-list p{margin-top:24px}.contact-intro,.contact-panel{padding-top:76px;padding-bottom:80px}.contact-intro h2{max-width:10ch;font-size:clamp(3.4rem,15vw,4.25rem)}.contact-intro p{margin-top:26px}.contact-intro a{min-height:44px;margin-top:34px;display:inline-flex;align-items:center}.field{margin-bottom:26px}.submit-button{min-height:48px}.footer-main{align-items:flex-start;flex-direction:column}.footer-main nav{flex-wrap:wrap}}@media (max-width: 380px){.brand{font-size:1.1rem}.brand-mark{width:26px}.hero h1{font-size:3.25rem}.product-copy h3{font-size:2.55rem}.contact-intro h2{font-size:3.35rem}}@media (pointer: coarse){.site-nav a,.footer-main nav a{min-height:44px;display:inline-flex;align-items:center}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
