@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap');
:root{--ink:#2c2925;--paper:#f7f2e9;--cream:#fffaf2;--clay:#b8583e;--sage:#69745d;--line:rgba(44,41,37,.17)}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}img{display:block;max-width:100%;object-fit:cover}button,a{font:inherit}.skip{position:fixed;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.7rem 1rem}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);background:var(--cream);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none}.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--clay);color:#fff;font:italic 1.7rem "Instrument Serif"}.brand strong{font-weight:600;letter-spacing:.02em}.topbar nav{display:flex;align-items:center;gap:2rem}.topbar nav a{color:inherit;text-decoration:none;font-size:.9rem}.pill,.button{border:0;border-radius:999px;padding:.9rem 1.35rem;background:var(--ink);color:#fff;cursor:pointer;text-decoration:none;font-weight:600}.menu{display:none}.hero{min-height:calc(100vh - 86px);position:relative;display:grid;align-items:center;padding:clamp(2rem,6vw,6rem);overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;z-index:0}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,242,233,.96) 0%,rgba(247,242,233,.83) 38%,rgba(247,242,233,.1) 72%)}.hero-copy{position:relative;z-index:2;max-width:700px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:600}.hero h1,.intro h2,.approach h2,.studio h2,.contact h2,.modal h2{font:400 clamp(3rem,7vw,7.4rem)/.92 "Instrument Serif",serif;margin:.7rem 0 1.5rem;letter-spacing:-.03em}.hero h1 em{color:var(--clay);font-weight:400}.hero-copy>p:not(.eyebrow){font-size:1.08rem;max-width:580px}.actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}.actions a{color:inherit}.demo-note{position:absolute;right:2rem;bottom:1rem;z-index:2;background:rgba(255,250,242,.88);padding:.35rem .7rem;font-size:.68rem}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,6vw,6rem);align-items:end}.intro h2,.approach h2,.studio h2,.contact h2,.modal h2{font-size:clamp(2.7rem,5vw,5rem);max-width:850px}.intro>p{max-width:520px}.services{display:grid;grid-template-columns:repeat(2,1fr);padding:0 clamp(1.25rem,6vw,6rem);gap:1rem}.service{min-height:420px;padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--line);background:var(--cream);position:relative;overflow:hidden}.service span{font-size:.75rem;letter-spacing:.15em}.service h3{font:400 clamp(2.3rem,4vw,4rem) "Instrument Serif";margin:.5rem 0}.service p{max-width:520px}.service small{font-weight:600}.service-image{color:#fff;min-height:600px}.service-image img{position:absolute;inset:0;width:100%;height:100%;z-index:0}.service-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,22,19,.78),rgba(25,22,19,.05) 70%)}.service-image div{position:relative;z-index:1}.terracotta{background:var(--clay);color:#fff}.sand{background:#e7d6bd}.approach{margin:clamp(5rem,10vw,10rem) 0 0;display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.approach-copy{padding:clamp(3rem,7vw,8rem)}.approach img{width:100%;height:100%;min-height:650px}.approach ul{list-style:none;padding:0;margin-top:2rem}.approach li{padding:1rem 0;border-top:1px solid var(--line)}.studio{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,6vw,6rem)}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:3rem}.studio-grid>p{font-size:1.1rem}.studio dl{margin:0}.studio dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:1.2rem 0}.studio dt{font-weight:600}.contact{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,6vw,6rem);background:var(--sage);color:#fff;display:flex;justify-content:space-between;align-items:end;gap:2rem}.contact h2{margin-bottom:1rem}.light{background:#fff;color:var(--ink);white-space:nowrap}footer{padding:3rem clamp(1.25rem,6vw,6rem);display:flex;justify-content:space-between;align-items:center;gap:2rem;font-size:.8rem}dialog{border:0;padding:0;background:transparent;max-width:620px;width:calc(100% - 2rem)}dialog::backdrop{background:rgba(25,22,19,.72);backdrop-filter:blur(5px)}.modal{background:var(--cream);padding:clamp(2rem,5vw,4rem);position:relative}.modal h2{font-size:3.2rem}.modal label{display:grid;gap:.4rem;margin:1rem 0;font-size:.85rem;font-weight:600}.modal input,.modal select{width:100%;border:1px solid var(--line);background:#fff;padding:1rem;font:inherit}.close{position:absolute;right:1.2rem;top:1rem;border:0;background:none;font-size:2rem;cursor:pointer}.privacy,output{font-size:.78rem;padding:1rem;background:#f0e6d8;display:block;margin:1rem 0}output[hidden]{display:none}body.shot-services .hero,body.shot-approach .hero,body.shot-approach .intro,body.shot-approach .services,body.shot-studio .hero,body.shot-studio .intro,body.shot-studio .services,body.shot-studio .approach,body.shot-contact .hero,body.shot-contact .intro,body.shot-contact .services,body.shot-contact .approach,body.shot-contact .studio{display:none}body.shot-services .intro{padding-top:4rem;padding-bottom:4rem}body.shot-approach .approach{margin-top:0}body.shot-contact .contact{min-height:650px}@media(max-width:800px){.topbar{height:72px}.menu{display:block;border:0;background:none}.topbar nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:1.5rem;flex-direction:column;align-items:stretch}.topbar nav.open{display:flex}.hero{min-height:760px;padding:2rem 1.25rem;align-items:end;padding-bottom:7rem}.hero:after{background:linear-gradient(0deg,rgba(247,242,233,.98) 0%,rgba(247,242,233,.73) 58%,rgba(247,242,233,.1))}.hero h1{font-size:clamp(3.2rem,16vw,5.2rem)}.intro,.services,.approach,.studio-grid{grid-template-columns:1fr}.intro{gap:2rem}.services{padding:0}.service,.service-image{min-height:520px}.approach img{min-height:420px}.contact,footer{align-items:flex-start;flex-direction:column}.demo-note{right:1rem}.modal h2{font-size:2.7rem}.hero h1,.intro h2,.approach h2,.studio h2,.contact h2{font-size:clamp(2.45rem,12vw,3.8rem);overflow-wrap:anywhere}.intro>*,.contact>*,.studio-grid>*{min-width:0}}
