/* Fixed frames prevent layout shifts; generated scenes are not project records. */
.service-gallery-item{position:relative;min-width:0}
.gallery-card .service-carousel-frame{position:relative;aspect-ratio:1/2;overflow:hidden}
.gallery-card .service-carousel-frame .service-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease-in-out;z-index:0}
.gallery-card .service-carousel-frame .service-slide.is-current{opacity:1}
.gallery-card .service-carousel-frame::after{z-index:1;pointer-events:none}
.gallery-card .service-carousel-frame figcaption{z-index:2}
.service-carousel-toggle{position:absolute;right:12px;top:12px;z-index:3;display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:1px solid #ffffff30;border-radius:50%;background:rgb(0 0 0 / .3);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:1;cursor:pointer;opacity:.4;transition:opacity .3s ease-in-out;box-shadow:0 1px 5px #0002}
.service-carousel-toggle::before{content:"";position:absolute;inset:-6px;border-radius:50%}
.service-carousel-toggle:hover,.service-carousel-toggle:focus-visible{opacity:1}
.service-carousel-toggle:focus-visible{outline:3px solid #5cceff;outline-offset:3px}
.service-carousel-toggle [data-carousel-icon]{display:block;pointer-events:none;line-height:1}
@media(hover:none),(pointer:coarse){.service-carousel-toggle{opacity:1}}
.console .service-brand-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
.console .service-brand-thumbnails img{width:100%;aspect-ratio:1/2;object-fit:cover;border-radius:8px;border:1px solid var(--c-line)}
.console .branding-card .brand-preview-name{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.gallery-card .service-carousel-frame .service-slide,.service-carousel-toggle{transition:none}}
