 :root{--photo-wait-paper:#f7f0e7;--photo-wait-ink:#25211e;--photo-wait-accent:#a13228}
.image-state-message[data-state="loading"] .wait-key{transform-origin:57px 37px;animation:wait-key 2.2s ease-in-out infinite}
@keyframes wait-key{0%,100%{transform:translateX(3px) rotate(-4deg)}50%{transform:translateX(-3px) rotate(4deg)}}
.service-scene[data-image-state="loading"] .photo-zoom,.service-scene[data-image-state="error"] .photo-zoom{visibility:hidden}
/* Waiting belongs to the real image request, never to a presentation timer. */
:where(.native-image-frame){position:relative}
.image-state-message{pointer-events:none;isolation:isolate;overflow:hidden;box-sizing:border-box;background:var(--photo-wait-paper);color:var(--photo-wait-ink)}
.image-state-message[hidden]{display:none}
.image-state-message.native-image-wait{position:absolute;right:auto;bottom:auto;z-index:0;padding:0;min-width:0;min-height:0;display:grid;place-items:center}
.image-state-message.native-image-wait[hidden]{display:none}
.image-wait-icon{display:block;width:70px;height:70px;color:var(--photo-wait-accent);line-height:0}
.image-wait-icon svg{display:block;width:100%;height:100%;overflow:visible}
.image-state-message[data-state="loading"] .image-wait-copy{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.image-state-message[data-state="error"] .image-wait-icon{display:none}
.image-state-message[data-state="error"] .image-wait-copy{max-width:100%;padding:1rem;font:500 13px/1.5 sans-serif;text-align:center;overflow-wrap:anywhere}
.motion-paused .image-wait-icon *,html.reduced-motion .image-wait-icon *{animation:none!important}
@media(prefers-reduced-motion:reduce){.image-wait-icon,.image-wait-icon *{animation:none!important}}
@media(forced-colors:active){.image-state-message{background:Canvas;color:CanvasText;border:1px solid CanvasText}.image-wait-icon{color:CanvasText}.image-wait-icon svg{forced-color-adjust:auto}}

/* Brand colours, native scrolling and native accessibility remain together. */
@supports not selector(::-webkit-scrollbar){html,*{scrollbar-color:#ad7560 #f7f0e7;scrollbar-width:thin}}
@supports selector(::-webkit-scrollbar){html,*{scrollbar-color:auto;scrollbar-width:auto}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:#f7f0e7}::-webkit-scrollbar-thumb{background:#ad7560;border:2px solid #f7f0e7;border-radius:9px}::-webkit-scrollbar-thumb:hover{background:#a13228}::-webkit-scrollbar-thumb:active{background:#81251e}::-webkit-scrollbar-corner{background:#f7f0e7}}
@supports(-moz-appearance:none){html,*{scrollbar-color:#ad7560 #f7f0e7;scrollbar-width:thin}}
@media(forced-colors:active){html,*{scrollbar-color:auto!important;scrollbar-width:auto!important}::-webkit-scrollbar,::-webkit-scrollbar-track,::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active,::-webkit-scrollbar-corner{all:revert!important}}
