/* Visual refinement: crisp hierarchy, generous reading space, precise controls. */
:root{--muted:#354139;--line:#aeb9af;--red:#a02029}
html{scroll-padding-top:calc(var(--header-height,116px) + 24px)}
h1,h2,h3{text-wrap:balance}
.hero-intro,.section-heading>p,.service-body>p{text-wrap:pretty}
.site-header{background:#f7f6f2}
.section-heading h2{font-weight:550;letter-spacing:-.045em;line-height:1.12}
.section-heading>p{font-size:15px;line-height:1.85}
.discipline-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:-14px 0 32px}
.discipline-shortcuts a{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:46px;padding:10px 16px;border:1px solid var(--line);font-size:13px;font-weight:600;background:white;transition:border-color .18s,background .18s}
.discipline-shortcuts a span{color:var(--red)}
.discipline-shortcuts a:hover,.discipline-shortcuts a:focus-visible{border-color:var(--red);background:#f5ecea}
.services{align-items:start;gap:36px}
.services .service{background:#fff;box-shadow:0 2px 0 #17281d08;transition:border-color .2s,box-shadow .2s}
.services .service:focus-within,.services .service:has(details[open]){border-color:var(--red)!important;box-shadow:0 5px 22px #19281c0a}
.service-photo{aspect-ratio:1.75}
.service-photo img{transition:none}
.service:hover .service-photo img{transform:none}
.service-body{padding:30px 32px 22px}
.service-body>svg{width:36px;height:36px;stroke-width:1.7;margin-bottom:24px}
.service h3{font-size:30px;font-weight:600;letter-spacing:-.035em;line-height:1.16}
.service-body>p{font-size:16px;line-height:1.8;margin:18px 0 24px}
.service summary{font-size:14px;min-height:54px;border-top:1px solid #d7ded7;padding:15px 0;align-items:center}
.service summary span{display:grid;place-items:center;flex:none;width:26px;height:26px;font-size:24px;transition:transform .2s}
.service details[open] summary span{transform:rotate(45deg)}
.service-detail{font-size:15px;border-top:1px solid #e2e7e1;padding-top:18px}
.service-detail li::marker{color:var(--red)}
.service-detail a{color:var(--red);font-weight:700;text-decoration:underline;text-underline-offset:5px}
.visual-note{font-size:12px;color:#455249}
.enquiry-hint{font-size:13px;line-height:1.65;margin:0 0 20px;padding-left:13px;border-left:2px solid var(--red);color:var(--muted)}
#navigation>a[aria-current="location"]{color:var(--red);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
#navigation>.nav-contact[aria-current="location"]{color:white}
.primary:hover{background:#801822}
.text-link:hover,.service-detail a:hover{color:#801822}
@media(max-width:800px){.service-body{padding:24px}.service h3{font-size:26px}.service-body>p{font-size:15px}.services{gap:24px}.discipline-shortcuts a{font-size:12px}}
@media(max-width:600px){.discipline-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:0}.discipline-shortcuts a{padding:10px 12px;gap:8px}.service-photo{aspect-ratio:1.5}.service-body{padding:25px 23px 18px}.service h3{font-size:28px}.service summary{font-size:13px}.section-heading>p{font-size:15px}.visual-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Owner direction: mineral surfaces, italic editorial type, softly shaped controls. */
:root{--panel:#e8e5de;--panel-hover:#dedad2}
.services .service{background:var(--panel);border-radius:10px;overflow:hidden;border-color:#bcb7ad;box-shadow:none}
.service-body{background:var(--panel)}
.service-body>svg{width:48px;height:48px;padding:2px;fill:none;stroke:#8d202d;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:23px}
h1,h2,h3,.hero-intro,.service-body>p,.service-detail,.button,.text-link,.nav-contact,.discipline-shortcuts a,.service summary{font-style:italic}
.brand,.brand *{font-style:normal}
.button,.nav-contact,.menu-toggle,.site-language select,.discipline-shortcuts a,input,select,textarea,.gallery-header button,.gallery-controls button{border-radius:7px}
.discipline-shortcuts a{background:#e8e5de;border-color:#bcb7ad}
.discipline-shortcuts a:hover,.discipline-shortcuts a:focus-visible{background:var(--panel-hover)}
.service summary{border-color:#bcb7ad;border-radius:6px;padding:15px 10px;margin-inline:-10px}
.service summary:hover{background:#dedad2}
.service-detail{border-color:#bcb7ad}
.site-language select,.menu-toggle,.enquiry input,.enquiry select,.enquiry textarea{background:#eeece5}
.enquiry{border-radius:10px;background:var(--panel)}
.contact-link{overflow-wrap:anywhere}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-feedback{min-height:1.5em;font-weight:600}
