@font-face{font-family:Cormorant;src:url(cormorantgaramond.ttf) format('truetype');font-weight:300 700;font-display:swap}@font-face{font-family:Manrope;src:url(manrope.ttf) format('truetype');font-weight:200 800;font-display:swap}
:root{--paper:#f3f0e9;--ink:#252923;--oak:#806044;--mineral:#ded8cd;--muted:#5d6159;--line:#b9b9ad;--gutter:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 Manrope,Arial,sans-serif}body.modal-open{overflow:hidden}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Cormorant,Georgia,serif;font-weight:500;line-height:1.02}h1{font-size:clamp(58px,8.7vw,132px);letter-spacing:-.055em}h2{font-size:clamp(43px,5.1vw,76px);letter-spacing:-.04em}h3{font-size:30px;letter-spacing:-.025em}p{max-width:65ch}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a,button{min-height:44px}button{cursor:pointer;color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--oak);outline-offset:5px}img{max-width:100%;display:block;object-fit:cover}button{border:0;border-radius:0}::selection{background:var(--oak);color:white}.wrap{padding-inline:var(--gutter);max-width:1680px;margin-inline:auto}.section{padding-block:80px}.small{font-size:13px;line-height:1.7;color:var(--muted)}.kicker{font-size:12px;margin-bottom:25px;color:var(--oak)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid currentColor;font-size:13px;padding-block:10px;background:none}.text-link:hover{color:var(--oak)}.skip{position:fixed;z-index:100;left:20px;top:-100px;background:var(--ink);color:var(--paper);padding:12px 20px}.skip:focus{top:10px}
.header{position:sticky;top:0;z-index:20;background:var(--paper);display:flex;align-items:center;justify-content:space-between;min-height:88px;padding:10px var(--gutter);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;min-height:56px}.brand-logo{display:block;width:128px;height:auto}.menu-toggle{font-size:12px;background:transparent;display:flex;align-items:center;gap:15px}.menu-toggle span{font-size:18px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px var(--gutter);border-bottom:1px solid var(--line)}nav.is-open{display:flex;flex-direction:column}nav a{display:flex;align-items:center;font-size:14px;padding:10px 0}.nav-cta{gap:35px}.hero-heading{padding-top:45px;padding-bottom:42px}.location{font-size:11px;margin-bottom:24px;color:var(--muted)}.hero-intro{margin-top:28px;font-size:14px}.hero-intro .text-link{margin-top:12px}.hero-photo{position:relative}.hero-photo>img{width:100%;height:430px;object-position:51% 50%}.hero-photo figcaption{display:flex;justify-content:space-between;gap:14px;padding:12px var(--gutter);background:var(--ink);color:var(--paper);font-size:10px}.hero-photo figcaption>span:first-child{display:none}.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:17px;border-bottom:1px solid var(--line);font-size:10px}.hero-foot a{display:flex;align-items:center;gap:15px}.studio{display:grid;gap:32px}.section-intro .small{display:none}.studio-content>p{font-size:15px;max-width:54ch;margin-top:26px}.studio-facts{display:flex;gap:45px;margin-top:35px;padding-top:30px;border-top:1px solid var(--line)}.studio-facts strong{display:block;font:500 52px/1 Cormorant,serif}.studio-facts span{display:block;font-size:10px;margin-top:10px;max-width:130px}.services{border-top:1px solid var(--line);padding-top:25px;margin-top:18px;font-size:12px}.services>p{color:var(--oak)}.services ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}.portfolio{padding-top:15px}.section-heading{display:flex;flex-direction:column;gap:25px;margin-bottom:35px}.gallery{display:grid;gap:36px}.gallery-link{display:block;position:relative;overflow:hidden;background:var(--mineral)}.gallery-link img{width:100%;height:430px;transition:transform 320ms ease}.gallery-link:hover img{transform:scale(1.025)}.image-open{position:absolute;bottom:16px;right:16px;background:var(--paper);width:44px;height:44px;display:grid;place-items:center;font-size:22px}.project figcaption{display:flex;flex-direction:column;gap:5px;padding-top:18px}.project h3{font-size:30px}.project figcaption>span{font-size:11px;color:var(--muted)}.gallery-end{margin-top:35px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:12px}.process{border-top:1px solid var(--line)}.timeline{display:grid;list-style:none;padding:0;margin:45px 0 0;gap:36px;counter-reset:step}.timeline li{border-top:1px solid var(--line);padding-top:20px}.step{font-size:12px;color:var(--oak)}.timeline h3{margin-top:25px;margin-bottom:15px}.timeline p{font-size:14px;max-width:40ch;color:var(--muted)}.materials{display:grid;background:var(--ink);color:var(--paper)}.material-image{position:relative;min-height:400px}.material-image img{width:100%;height:100%;position:absolute;object-position:45% 85%}.material-image>span{position:absolute;left:16px;bottom:14px;background:var(--ink);color:var(--paper);padding:5px 10px;font-size:10px}.material-copy{padding:60px var(--gutter)}.material-copy .kicker{color:var(--mineral)}.material-copy>p:not(.kicker){margin-top:25px;font-size:14px;max-width:40ch}.material-copy .small{color:var(--mineral);font-size:11px!important}.material-copy .text-link{margin-top:30px}.material-copy .text-link:hover{color:white}.swatches{display:flex;gap:20px;margin-top:32px}.swatches>div{font-size:10px}.swatch{display:block;width:58px;height:58px;border-radius:50%;margin-bottom:12px;border:1px solid #8c9185}.oak{background:#9b7754}.mineral{background:var(--mineral)}.charcoal{background:#343a32}.testimonials{text-align:center;padding-block:75px;border-bottom:1px solid var(--line)}.testimonials h2{font-size:43px}.testimonials p{margin-inline:auto}.testimonials p:not(.kicker){font-size:13px;color:var(--muted);margin-top:25px}.testimonials .text-link{margin-top:20px}.consultation{display:grid;gap:50px}.contact-copy>p:not(.kicker){margin-top:25px;max-width:35ch;font-size:14px}.phone{display:flex;align-items:center;width:fit-content;font-size:24px;margin-top:30px}.contact-copy address{font-style:normal;font-size:12px;line-height:1.9;margin-block:16px}.contact-copy .text-link{font-size:11px}.form-note{font-size:12px;color:var(--muted);margin-bottom:30px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:24px}.field label{font-size:12px}.field input,.field select,.field textarea{border:0;border-bottom:1px solid #85877f;border-radius:0;background:transparent;padding:12px 0;min-height:48px;color:var(--ink);width:100%;font-size:16px}.field textarea{resize:vertical}.field textarea::placeholder{color:#696b64;font-size:13px}.button{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;background:var(--ink);color:var(--paper);padding:17px 22px;font-size:13px;margin-top:26px;transition:background 200ms}.button:hover{background:#404639}.form-result{padding:20px;border:1px solid var(--oak);margin-top:22px;font-size:14px}.form-result .small{margin-top:15px}.result-actions{display:flex;flex-wrap:wrap;gap:15px}.footer{background:var(--ink);color:var(--paper);padding-top:35px;padding-bottom:25px;max-width:none}.footer-top{display:flex;justify-content:space-between;gap:25px;font-size:11px}.footer-top a{display:flex;align-items:center;gap:15px;flex-shrink:0}.footer-wordmark{font:500 clamp(44px,11.8vw,190px)/1.2 Cormorant,Georgia,serif;letter-spacing:-.055em;margin-block:40px;white-space:nowrap;max-width:none}.footer-bottom{border-top:1px solid #686c62;display:flex;flex-wrap:wrap;gap:12px 25px;align-items:center;justify-content:space-between;padding-top:20px;font-size:10px}.footer-bottom a{display:flex;align-items:center}.footer a:focus-visible,.materials a:focus-visible{outline-color:var(--paper)}dialog{width:calc(100% - 24px);max-width:1300px;max-height:94dvh;padding:15px;background:var(--ink);color:var(--paper);border:1px solid var(--muted)}dialog::backdrop{background:rgba(15,18,14,.92)}.lightbox-bar,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}.lightbox-bar{padding-bottom:12px}.lightbox-bar button,.lightbox-bottom button{background:none;color:var(--paper);min-width:44px;min-height:44px}.lightbox-bar button{display:flex;align-items:center;gap:15px}.lightbox-bar button span{font-size:25px}#lightbox-image{width:100%;height:65dvh;object-fit:contain}.lightbox-bottom{padding-top:10px}.lightbox-bottom p{text-align:center;font-size:10px}.lightbox-bottom button{font-size:24px}dialog button:focus-visible{outline-color:var(--paper)}
@media(min-width:768px){:root{--gutter:40px}.section{padding-block:100px}.header{min-height:98px}.brand-logo{width:164px}.menu-toggle{display:none}nav{display:flex;position:static;padding:0;border:0;align-items:center;gap:30px}nav a{font-size:12px}.nav-cta{margin-left:10px;border-bottom:1px solid var(--ink);gap:30px}.hero-heading{display:grid;grid-template-columns:1fr .42fr;align-items:end;gap:30px;padding-top:65px;padding-bottom:50px}.hero-intro{margin:0 0 8px;font-size:13px}.hero-photo>img{height:560px}.hero-photo figcaption>span:first-child{display:block}.hero-foot{font-size:11px}.studio{grid-template-columns:1fr 2.1fr;gap:55px}.section-intro .small{display:block}.studio-content>p{font-size:16px}.studio-facts{gap:70px}.studio-facts strong{font-size:70px}.studio-facts span{max-width:none;font-size:11px}.services{grid-column:1/-1;display:flex;justify-content:space-between;gap:30px;align-items:baseline}.services ul{max-width:75%;justify-content:flex-end}.section-heading{flex-direction:row;align-items:end;justify-content:space-between;gap:40px}.section-heading .small{max-width:30ch}.gallery{grid-template-columns:1.15fr 1fr;gap:55px 55px;align-items:start}.project:nth-child(2){margin-top:135px}.project:nth-child(3){max-width:88%}.project:nth-child(4){margin-top:120px}.gallery-link img{height:480px}.project:nth-child(2) img{height:520px}.project:nth-child(3) img{height:350px}.project:nth-child(4) img{height:390px}.gallery-end{flex-direction:row;justify-content:space-between;align-items:center}.timeline{grid-template-columns:repeat(3,1fr);gap:35px}.materials{grid-template-columns:1fr 1fr}.material-copy{padding:70px 40px}.material-image{min-height:650px}.testimonials{padding-block:90px}.consultation{grid-template-columns:1fr 1fr;gap:65px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.footer{padding-top:50px}.footer-wordmark{margin-block:45px}.footer-bottom{font-size:11px}}
@media(min-width:1200px){:root{--gutter:64px}.header{padding-inline:64px}.brand-logo{width:184px}nav{gap:45px}.hero-heading{padding-top:65px;padding-bottom:55px;grid-template-columns:1fr 320px}.hero-intro{font-size:15px}.hero-intro .text-link{margin-top:24px}.hero-photo>img{height:640px;object-position:50% 53%}.hero-photo figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.8));padding-top:50px;padding-bottom:22px;font-size:11px}.studio{padding-block:140px;grid-template-columns:1fr 2fr}.studio-content{max-width:810px}.studio-content>p{max-width:56ch}.services{margin-top:35px}.portfolio{padding-top:40px}.gallery{gap:70px 95px}.gallery-link img{height:670px}.project:nth-child(2){margin-top:185px}.project:nth-child(2) img{height:560px}.project:nth-child(3) img{height:440px}.project:nth-child(4) img{height:510px}.project figcaption{flex-direction:row;justify-content:space-between;align-items:baseline;gap:15px}.project figcaption>span{font-size:11px}.material-copy{padding:95px 85px}.material-image{min-height:750px}.material-copy h2{font-size:80px}.material-copy>p:not(.kicker){font-size:15px}.swatches{gap:35px;margin-top:45px}.swatch{width:70px;height:70px}.consultation{padding-block:130px;gap:140px}.testimonials h2{font-size:56px}.contact-copy h2{font-size:73px}}
@media(prefers-reduced-motion:no-preference){.reveal.waiting{opacity:0;transform:translateY(15px)}.reveal{transition:opacity 320ms ease,transform 320ms ease}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}


/* --- contact form: honeypot, attachments, result states --- */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.optional{font-weight:400;opacity:.7}
#photos{width:100%;padding:.6rem 0}
.form-result[data-state="success"]{border-left:3px solid currentColor;padding-left:1rem}
.form-result[data-state="error"]{border-left:3px solid #b3261e;padding-left:1rem}
.form-result[data-state="pending"]{opacity:.75}
#enquiry-submit[disabled]{opacity:.6;cursor:progress}
