/* Editorial refinement: ivory, petrol and restrained bronze. */
@font-face{font-family:'Cormorant Garamond';src:url('assets/cormorant-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('assets/cormorant-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('assets/cormorant-italic.ttf') format('truetype');font-weight:500;font-style:italic;font-display:swap}
:root{--green:#263c40;--deep:#182b2f;--paper:#f8f4ec;--ink:#263639;--muted:#60615c;--line:#d9d1c4;--gold:#936e42;--soft:#eee7dc;--font-display:'Cormorant Garamond',Georgia,serif;--ease:cubic-bezier(.23,1,.32,1)}
body{background:var(--paper)}
h1,h2,h3,.brand>span,.phone-display,.review-score strong{font-weight:500;letter-spacing:-.025em}
h1{font-size:clamp(3.8rem,6.5vw,6rem);line-height:.98}
h1 em,h2 em,.image-label em{font-weight:500;color:#6e5740}
h2{font-weight:600;line-height:1.04}
h3{font-weight:600}
.brand>span{font-weight:600;font-size:45px;letter-spacing:-.04em}
.brand small{letter-spacing:.19em;font-size:10px}
.hero-copy>p{max-width:43ch;line-height:1.85}
.hero-image{border-radius:1px}
.hero-image img{object-position:center;transform-origin:50% 65%}
.image-label{background:var(--deep);font-size:35px;font-weight:500;line-height:1.08;border-radius:1px}
.image-label em{color:#e5c79c}
.hero-image figcaption{background:var(--deep);border-radius:1px}
.practical{border-color:var(--line)}
.map{background:var(--soft)}
.work-tabs,.before-after>div{border-color:var(--line)}
.quote-layout input,.quote-layout select,.quote-layout textarea{background:var(--paper);border-color:#c9c1b4}
.quote-layout p,.quote-layout .form-note,.optional-fields>summary>span{color:#e4e5de}
.optional-fields,.quote-layout #quote-result{border-color:#78888b}
.hours dd{font-variant-numeric:tabular-nums}
::selection{background:#d9c3a1;color:var(--deep)}
html{scrollbar-color:#9c8d78 var(--paper)}
.button,.mobile-contact a,.menu-toggle{position:relative;isolation:isolate;overflow:hidden;border-radius:2px;transition:transform 160ms var(--ease)}
.button::before,.mobile-contact a::before{content:'';position:absolute;inset:0;background:#ffffff;opacity:.09;transform:translateX(-101%);transition:transform 250ms var(--ease);pointer-events:none;z-index:-1}
.button svg,.text-link svg{transition:transform 200ms var(--ease)}
.button:active,.mobile-contact a:active,.menu-toggle:active{transform:scale(.97);filter:none}
.text-link{position:relative;text-decoration-thickness:1px;text-underline-offset:6px;transition:transform 160ms var(--ease)}
.text-link:active{transform:translateY(1px);filter:none}
.header nav a{position:relative;text-decoration:none}
.header nav a::after{content:'';height:1px;position:absolute;bottom:3px;left:0;right:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease)}
summary svg{transition:transform 200ms var(--ease)}
.work-tabs button{position:relative;border-bottom-color:transparent!important}
.work-tabs button::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease)}
.work-tabs button[aria-selected=true]::after{transform:scaleX(1)}
.gallery-grid img{transition:transform 250ms var(--ease)}
.gallery-grid figure{overflow:hidden}
.gallery-grid img{border-radius:1px}
@media(hover:hover) and (pointer:fine){
 .button:hover::before,.mobile-contact a:hover::before{transform:translateX(0)}
 .button:hover svg{transform:translateX(2px)}
 .light:hover{background:var(--paper)}
 .header nav a:hover{color:var(--green)}
 .header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1)}
 .service-list summary:hover h3{color:#755532}
 .gallery-grid figure:hover img{transform:scale(1.025)}
}
@media(prefers-reduced-motion:no-preference){
 .hero-copy h1{animation:atelier-title 700ms var(--ease) both}
 .hero-image{animation:atelier-photo 900ms var(--ease) both}
 .hero-actions{animation:atelier-actions 600ms var(--ease) both}
 @keyframes atelier-title{from{clip-path:inset(0 0 12% 0);transform:translateY(8px);opacity:.7}to{clip-path:inset(0);transform:none;opacity:1}}
 @keyframes atelier-photo{from{clip-path:inset(0 0 8% 0)}to{clip-path:inset(0)}}
 @keyframes atelier-actions{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}
}
@media(max-width:650px){h1{font-size:clamp(3.1rem,12.8vw,4.8rem);line-height:1.02}.brand>span{font-size:36px}.brand small{font-size:10px}.hero-copy>p{font-size:16px}.hero-actions{gap:18px}.image-label{font-size:30px}.hero-image{height:320px}h2{font-size:40px}.quote-layout h2{font-size:52px}.header nav a::after{left:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.button,.text-link,.mobile-contact a,.menu-toggle,.gallery-grid img{transform:none!important}.button::before,.mobile-contact a::before{display:none}}
