/* Photographic service scenes, with state changes tied to scrolling. */
.photo-frame{position:relative;aspect-ratio:3/2;width:100%;overflow:hidden;border-radius:9px;background:#283b2e;box-shadow:0 28px 75px #0004;transform:perspective(1200px) rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg));transition:transform .18s ease-out;isolation:isolate}.photo-depth{position:absolute;inset:0;transform:scale(var(--scene-zoom,1.015)) translateY(var(--scene-pan,0%));transform-origin:var(--scene-origin,50% 50%);will-change:transform}.photo-depth img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}#scene-base{filter:brightness(var(--scene-brightness,1))}#scene-on{opacity:var(--power,0);pointer-events:none}.photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,#09170f40,transparent 28%);pointer-events:none}.charger-led{display:none;position:absolute;left:28.95%;top:22.5%;height:10%;width:.2%;min-width:1px;border-radius:5px;background:#b0ffc7;box-shadow:0 0 5px 2px #a4ffd3,0 0 20px 5px #35e691;opacity:var(--power,0)}[data-active-service="charger"] .charger-led{display:block}[data-active-service]:not([data-active-service="lamp"]) #scene-on{display:none}.scene-status{position:absolute;left:22px;bottom:20px;display:flex;align-items:center;gap:8px;background:#10231dcc;backdrop-filter:blur(12px);border:1px solid #ffffff26;border-radius:5px;padding:11px 14px;font-size:10px;color:#e1ecdb;min-width:130px}.scene-status i{width:5px;height:5px;border-radius:50%;background:#d6bd80}.scene-status .charge-track{display:none;width:68px;height:3px;background:#ffffff26;border-radius:3px;overflow:hidden;margin-left:8px}.charge-track b{display:block;height:100%;width:var(--charge,0%);background:#a9ebbb;border-radius:3px}[data-active-service="charger"] .scene-status i{background:#b2edc1}[data-active-service="charger"] .charge-track{display:block}.is-enhanced .journey-visual.photo-visual{pointer-events:auto;right:4%;width:53%;height:auto;top:50%;transform:translateY(-54%);display:block}.photo-toolbar{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;font-size:10px;color:#b7c6ab}.photo-toolbar button{padding:11px 16px;min-height:42px;border:1px solid #a6bb9350;border-radius:5px;background:#ffffff08;color:#e8eede;font-size:11px;display:flex;align-items:center;gap:9px}.photo-toolbar button:before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:#809275}.photo-toolbar button[aria-pressed="true"]:before{background:#e7c389;box-shadow:0 0 8px #e7c38966}.photo-toolbar button:hover{background:#ffffff12}.photo-toolbar button[hidden]{display:none}.is-enhanced .chapter-photo{display:none}.chapter-photo{max-width:100%;height:auto;border-radius:8px;box-shadow:0 20px 40px #0003}.is-enhanced .journey-chapter{width:36%;left:5%}.is-enhanced .chapter-copy h2{font-size:clamp(40px,4.4vw,66px)}.is-enhanced .journey-chapters{z-index:2}.is-enhanced .journey-visual{z-index:3}.service-journey:not(.is-enhanced) .photo-visual{display:none}.photo-frame.changing{opacity:.65;transition:opacity .12s}.photo-frame:not(.changing){opacity:1;transition:opacity .3s,transform .18s ease-out}@media(max-width:1100px) and (min-width:801px){.is-enhanced .chapter-copy h2{font-size:46px}.is-enhanced .journey-visual.photo-visual{width:52%;right:4%}.photo-toolbar{font-size:9px}.photo-toolbar button{padding:9px 11px;font-size:10px}}@media(max-width:800px){.is-enhanced .journey-visual.photo-visual{top:9%;left:6%;right:6%;width:88%;transform:none;height:auto}.photo-frame{border-radius:6px}.photo-toolbar{min-height:38px;margin-top:6px;font-size:8px;gap:8px}.photo-toolbar button{font-size:9px;min-height:34px;padding:8px 10px}.photo-toolbar button:before{width:4px;height:4px}.is-enhanced .journey-chapter{left:7%;width:86%;top:49%}.is-enhanced .chapter-copy h2{font-size:clamp(34px,7.6vw,46px)}.scene-status{left:12px;bottom:12px;font-size:8px;padding:8px 10px;min-width:100px}.scene-status .charge-track{width:45px;margin-left:0}.chapter-photo{grid-row:1;width:100%}.journey-chapter{gap:25px}.scene-status i{width:4px;height:4px}}@media(max-width:800px) and (max-height:750px){.is-enhanced .journey-visual.photo-visual{top:8%;width:78%;left:11%;right:11%}.is-enhanced .journey-chapter{top:43%}.is-enhanced .chapter-copy h2{font-size:35px}}@media(prefers-reduced-motion:reduce){.photo-frame,.photo-depth{transform:none!important}.photo-depth{will-change:auto}}

/* Full-bleed photography behind the service journey copy. */
.is-enhanced .journey-visual.photo-visual{inset:0;top:0;right:auto;left:0;width:100%;height:100%;transform:none;z-index:1}
.is-enhanced .photo-frame{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none;transform:none}
.is-enhanced .photo-depth{transform:scale(var(--scene-zoom,1.015)) translateY(var(--scene-pan,0%))}
.is-enhanced .photo-shade{background:linear-gradient(90deg,#09170fe8 0%,#09170fc9 34%,#09170f57 72%,#09170f38 100%),linear-gradient(0deg,#09170fbf 0%,transparent 30%,#09170f25 100%)}
.is-enhanced .journey-chapters{z-index:3}
.is-enhanced .journey-top,.is-enhanced .journey-footer{z-index:5}
.is-enhanced .photo-toolbar{position:absolute;right:6%;bottom:20%;z-index:4;margin:0;justify-content:flex-end}
@media(max-width:800px){.is-enhanced .journey-visual.photo-visual{inset:0;top:0;left:0;right:auto;width:100%;height:100%;transform:none}.is-enhanced .journey-chapter{top:49%}.is-enhanced .photo-toolbar{right:6%;bottom:29%}.is-enhanced .photo-shade{background:linear-gradient(0deg,#09170fdd 0%,#09170f91 46%,#09170f30 100%),linear-gradient(90deg,#09170f8a,transparent)}}
@media(max-width:800px){.is-enhanced .scene-status{top:22%;right:6%;bottom:auto;left:auto}.is-enhanced .photo-toolbar{bottom:14%;right:6%}.is-enhanced #model-caption{display:none}}
@media(max-width:800px){.is-enhanced .scene-status span{display:none}}
.is-enhanced #model-caption{display:none}
/* Show each complete source photo without zooming or cropping at any viewport. */
.is-enhanced .photo-depth{transform:none!important;will-change:auto}
.is-enhanced .photo-depth img{object-fit:contain;object-position:center}
.is-enhanced .photo-frame{background:#14271f}
.is-enhanced .photo-frame .scene-status{display:none}

/* Extend the photograph into portrait-screen space while retaining the complete foreground image. */
.is-enhanced .photo-frame::before{content:"";position:absolute;inset:-40px;background-image:var(--scene-backdrop,url("assets/scenes/panel.webp"));background-size:cover;background-position:center;filter:blur(28px) brightness(.8);transform:scale(1.08);pointer-events:none;z-index:0}
.is-enhanced .photo-depth{z-index:1}

.charger-led{box-shadow:0 0 3px 1px #a4ffd3,0 0 10px 2px #35e691}
.is-enhanced .photo-toolbar{display:none!important}

/* Advance one chapter after roughly 60% of a screen of scrolling. */
.service-journey.is-enhanced{height:520svh;min-height:0}

/* A continuous service list on phones, with each complete photograph above its copy. */
@media(max-width:800px){
 .service-journey:not(.is-enhanced) .journey-stage{padding-bottom:0}
 .service-journey:not(.is-enhanced) .journey-chapter{padding:28px 6% 38px;gap:24px}
 .service-journey:not(.is-enhanced) .chapter-photo{grid-row:1;width:100%;height:auto;display:block;box-shadow:none}
 .service-journey:not(.is-enhanced) .chapter-copy h2{font-size:clamp(30px,8vw,40px);overflow-wrap:anywhere}
 .service-journey:not(.is-enhanced) .chapter-description{font-size:14px;line-height:1.7;max-width:65ch}
 .service-journey:not(.is-enhanced) .chapter-copy ul{margin:18px 0 22px}
 .service-journey:not(.is-enhanced) .chapter-copy li{font-size:12px}
 .service-journey:not(.is-enhanced) .chapter-copy>.button{min-height:46px;margin-top:0;font-size:13px}
}
