/* Fine architectural linework, restricted to paper sections so photography stays intact. */
.intro,.page-heading{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M48 0H0V48' fill='none' stroke='%23194d48' stroke-opacity='.025' stroke-width='.6'/%3E%3C/svg%3E")}
::selection{background:#d5ddce;color:#163d36}
.page-heading h1,.intro h1,.section-heading h2,.scene-title{text-wrap:balance}
.page-lead,.section-intro{text-wrap:pretty}
.scene-count,.card-meta,.project-description dl{font-variant-numeric:tabular-nums}
.scene-title{max-width:18ch}
.scene-copy{pointer-events:none}
.scene-copy a{pointer-events:auto}
.scene-dot{transition:border-color .2s,color .2s,opacity .2s}
.scene-dot[aria-current]{border-top-width:3px;padding-top:13px}
.article-toc nav a{position:relative;border-left:2px solid transparent;padding-left:14px;transition:border-color .2s,color .2s}
.article-toc nav a[aria-current="location"]{border-left-color:var(--terracotta);color:var(--green);font-weight:600}
.enquiry-form :is(input,textarea):focus{outline:2px solid var(--green);outline-offset:3px;background:#fff}
.enquiry-form :is(input,textarea){transition:background-color .2s,border-color .2s}
:where(a,button,summary,input,textarea):focus-visible{outline:2px solid var(--terracotta);outline-offset:5px}
:where(.scene-story,footer,.lightbox) :is(a,button):focus-visible{outline-color:#fff}
.service-list summary{transition:background-color .2s}
.service-list details[open]>summary{background:#e9ede355}
.service-list .plus{transition:transform .25s}
.service-list details[open] .plus{transform:rotate(45deg)}
.image-explore{display:flex;align-items:center;justify-content:center;gap:12px}
#gallery-thumbnails button{scroll-snap-align:center}
#gallery-thumbnails{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#cf9566 #ffffff10}
@media(hover:hover) and (pointer:fine){
 .desktop-nav>a:not(.nav-contact){position:relative}
 .desktop-nav>a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--terracotta);transform:scaleX(0);transform-origin:left;transition:transform .25s}
 .desktop-nav>a:not(.nav-contact):hover::after{transform:scaleX(1)}
 .archive-card:hover .card-arrow{transform:translate(2px,-2px)}
 .gallery-tile:hover b,.project-pagination a:hover strong{color:var(--green);text-decoration:underline;text-underline-offset:5px}
 .text-link .ui-icon,.scene-link .ui-icon,.image-explore .ui-icon{transition:transform .25s}
 :is(.text-link,.scene-link,.image-explore):hover .ui-icon{transform:translate(2px,-2px)}
}
@media(prefers-reduced-motion:reduce){
 .scene-dot,.article-toc nav a,.enquiry-form :is(input,textarea),.service-list summary,.service-list .plus,.desktop-nav>a::after,.text-link .ui-icon,.scene-link .ui-icon,.image-explore .ui-icon{transition:none!important}
}
html.reduce-motion :is(.scene-dot,.article-toc nav a,.enquiry-form input,.enquiry-form textarea,.service-list summary,.service-list .plus,.text-link .ui-icon,.scene-link .ui-icon,.image-explore .ui-icon){transition:none}
html.reduce-motion .desktop-nav>a::after{transition:none}
@media(forced-colors:active){.intro,.page-heading{background-image:none}.article-toc nav a[aria-current="location"]{border-color:Highlight}}
