:root{color-scheme:light;--ink:#191b18;--muted:#4d524b;--line:#d6d9d1;--sage:#e1e8d5;--paper:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:#4b6240}a:active{color:#2a4121}:focus-visible{outline:3px solid #638250;outline-offset:4px}.wrap{width:min(1220px,calc(100% - 96px));margin:auto}.skip{position:absolute;left:16px;top:-100px;background:white;padding:8px;z-index:1}.skip:focus{top:8px}header,footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0}header{border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;white-space:nowrap;letter-spacing:-.025em}nav{display:flex;gap:26px;font-size:14px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;background:var(--ink);color:white;border:1px solid var(--ink);padding:12px 17px;text-decoration:none;font:600 14px/1.45 system-ui;cursor:pointer;transition:background .18s,color .18s}.button:hover{background:#35462e;color:white}.button:active{background:#536a46;color:white}.outline{background:white;color:var(--ink)}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,6vw,92px);padding:56px 0 70px}.intro{animation:arrive .48s ease-out}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;margin:0 0 19px}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.02;letter-spacing:-.055em;margin:0}h1{font-size:clamp(49px,6.3vw,96px);max-width:10ch}h2{font-size:clamp(37px,4.6vw,64px);max-width:14ch}h3{font-size:19px;letter-spacing:-.02em;margin:0}p{color:var(--muted)}.lede{font-size:18px;max-width:34ch;margin:22px 0 27px}figure{margin:0}figure img{display:block;width:100%;height:auto;aspect-ratio:1.06;object-fit:cover;filter:grayscale(1);background:#e0e2db}figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:11px;font-size:10px;font-weight:650;letter-spacing:.12em;color:var(--muted)}
.section{padding:72px 0}.focus{background:var(--ink);color:#f8faf6}.focus .eyebrow,.focus p{color:#ccd6c3}.rows{margin-top:34px}.rows article{display:grid;grid-template-columns:55px 1fr 1.45fr;align-items:baseline;gap:18px;padding:23px 0;border-top:1px solid #50564b}.rows span{font-size:12px;color:#ccd6c3}.rows p{margin:0}.process{display:grid;grid-template-columns:1fr 1fr;gap:45px}.process ol{margin:0;padding-left:27px}.process li{padding:0 0 14px 8px}.process li p{margin:5px 0 12px}.faq{background:#f3f4f0}details{border-top:1px solid var(--line);padding:14px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:600}details p{margin-bottom:0}.consult{background:var(--sage)}form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:600;font-size:14px}select{font:inherit;padding:11px;background:white;color:var(--ink);border:1px solid #87917f;border-radius:0}form button{justify-self:start}small{color:var(--muted)}#result{margin:0;background:white;border-left:3px solid #638250;padding:12px}footer{font-size:13px;flex-wrap:wrap}footer span{color:var(--muted)}
@keyframes arrive{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}header{flex-wrap:wrap;gap:15px}nav{order:3;width:100%;gap:12px 20px;flex-wrap:wrap}.hero,.process{grid-template-columns:1fr;gap:26px}.hero,.section{padding:43px 0}.rows article{grid-template-columns:32px 1fr;gap:6px 10px}.rows p{grid-column:2}figure img{aspect-ratio:1.35}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Interior studio palette and page layouts */
:root{--ink:#191919;--muted:#535353;--line:#d0d0d0}
a:hover,a:active{color:#595959}
:focus-visible{outline-color:#666}
.button:hover{background:#3b3b3b;color:white}
.button:active{background:#555;color:white}
.outline:hover{background:#191919;color:white}
nav [aria-current="page"]{text-decoration:underline}
.focus .eyebrow,.focus p,.rows span{color:#ccc}
.focus a:hover{color:#ddd}
.rows article{border-color:#585858}
.faq{background:#f3f3f3}
.consult{background:#dedede}
select{border-color:#858585}
#result{border-left-color:#555}
#process li+li{border-top:1px solid #bdbdbd;padding-top:16px}
.page-lead{border-bottom:1px solid var(--line)}
.page-lead h1{max-width:15ch;font-size:clamp(46px,7vw,82px)}
.page-lead .lede{max-width:52ch}
.service-list{padding-top:24px;padding-bottom:24px}
.service-list article{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}
.service-list h2,.gallery h2{font-size:clamp(28px,3vw,43px)}
.service-list p{margin:0}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery img{display:block;width:100%;aspect-ratio:1.15;object-fit:cover}
.gallery .eyebrow{margin:18px 0 8px}
.gallery a{font-size:13px}
.location-block{padding:30px;background:#eee}
.location-block h2{margin-bottom:22px}
address{font-style:normal;margin-top:10px}
@media(max-width:760px){.gallery,.service-list article{grid-template-columns:1fr}.gallery{gap:36px}}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}}

/* Keep the desktop opening composition in the first viewport. */
@media (min-width: 961px) {
  body > header { min-height: 90px; }
  .hero {
    min-height: calc(100vh - 90px);
    min-height: calc(100svh - 90px);
  }
}
