/* Shared mobile reading bounds and return-to-top control. */
main :is(h1,h2,h3,p,li,a){overflow-wrap:break-word}
.seo-detail-grid>*,.seo-project-grid>*,.work-video-grid>*{min-width:0}
body[data-content-group="3d_wall_panel"] .content.seo-detail{width:calc(100% - 2 * var(--pad,1.25rem));max-width:1180px;margin-inline:auto}
.site-back-to-top{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom) + var(--site-consent-clearance,0px));z-index:60;display:grid;place-items:center;box-sizing:border-box;width:50px;height:50px;padding:12px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:#222;color:#fff;text-decoration:none;box-shadow:0 5px 20px rgba(0,0,0,.16)}
.site-back-to-top svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor}
.site-back-to-top:hover{background:#000}.site-back-to-top:focus-visible{outline:2px solid #777;outline-offset:4px}
@media(max-width:760px){
 body[data-content-group="3d_wall_panel"] .wallpanel-intro{grid-template-columns:minmax(0,1fr)}
 body[data-content-group="3d_wall_panel"] .wallpanel-intro>*{min-width:0}
 body[data-content-group="3d_wall_panel"] .wallpanel-intro h2{font-size:clamp(2rem,7.5vw,3rem);line-height:1.08;max-width:100%;letter-spacing:-.04em}
 .seo-detail h2{font-weight:300;font-size:clamp(1.8rem,7vw,2.5rem);line-height:1.15}
 .wallpanel-header{gap:1rem}.wallpanel-header .wallpanel-back{min-width:0;max-width:calc(100% - 4.5rem);text-align:right;overflow-wrap:break-word}
}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* Optional reading theme; image assets retain their original colours. */
html[data-theme="dark"]{color-scheme:dark;--paper:#111;--ink:#eee;--muted:#b5b5b5;--line:rgba(255,255,255,.22);--soft:#292929}
html[data-theme="dark"],html[data-theme="dark"] body{background:var(--paper);color:var(--ink)}
html[data-theme="dark"] :is(.seo-services,.wallpanel-proof,.wallpanel-faq,.wallpanel-materials,.model-section--tinted,.muracle-official,.brand-row--light,.rules,.consent,.instagram-feed,.collection-empty){background:#1c1c1c;color:#eee}
html[data-theme="dark"] :is(.wallpanel-hero,.wallpanel-without-images .service-hero){background:#111!important;color:#eee!important}
html[data-theme="dark"] :is(.seo-services__grid p,.wallpanel-practical-grid p,.wallpanel-faq details p,.wallpanel-materials article p,.wallpanel-projects__heading>p,.wallpanel-selection figcaption,.wallpanel-model-caption,.wallpanel-model-ref,.collection-summary p,.collection-empty>p:nth-of-type(2),.menu-label,.collections-label,.menu.collection-menu>p){color:#b5b5b5}
html[data-theme="dark"] .collection-reset{background:#222;color:#eee;border-color:#777}

html[data-theme="dark"] .gallery .filter>span{opacity:1}

html[data-theme="dark"] :is(.model-button,.primary){background:#eee;color:#111}
html[data-theme="dark"] :is(input,textarea,select){background:#222;color:#eee;border-color:#777}
html[data-theme="dark"] .brand-row--light .social-icon{filter:invert(1)}
.site-theme-toggle{position:fixed;left:max(1rem,env(safe-area-inset-left));right:auto;bottom:calc(1rem + env(safe-area-inset-bottom) + var(--site-consent-clearance,0px));z-index:60;display:grid;place-items:center;box-sizing:border-box;width:50px;height:50px;padding:12px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:#222;color:#fff;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.12)}
.site-theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.site-theme-toggle:hover{background:#000}.site-theme-toggle:focus-visible{outline:2px solid #888;outline-offset:4px}
.site-theme-toggle .theme-sun,html[data-theme="dark"] .site-theme-toggle .theme-moon{display:none}
html[data-theme="dark"] .site-theme-toggle .theme-sun{display:block}

/* Family navigation remains available beyond the final product. */
.moulures-nav-fixed{position:fixed!important;margin:0!important;z-index:45!important;box-sizing:border-box}
.moulures-nav-fixed[hidden],.moulures-family-nav[hidden]{display:none!important}
html,body{overflow-anchor:none}

.gallery .collection-picker.moulures-nav-fixed{z-index:50!important}
