/* Distinct source compositions, never a stretched desktop crop on a phone. */
.rt-picture { display:block; overflow:hidden; }
.storefront .rt-picture img { width:100%; height:auto; object-fit:contain; object-position:center; }
.sf-hero-media .rt-picture { aspect-ratio:2/1; }
.storefront .sf-hero-media .rt-picture img { aspect-ratio:2/1; }
.storefront .sf-configuration .rt-picture img { aspect-ratio:4/3; object-fit:contain; }
.rt-explorer { border-top:1px solid var(--sf-line); }
.rt-eyebrow { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--sf-muted); margin-bottom:14px!important; }
.rt-explorer-intro h2 { font-size:clamp(30px,5.2vw,80px); font-weight:900; line-height:1.05; }
.rt-explorer-intro > p:last-child { margin-top:18px; font-size:clamp(16px,1.7vw,24px); }
.rt-explorer-layout { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(280px,1fr); gap:clamp(28px,4vw,60px); margin-top:42px; align-items:start; }
.rt-scene { min-width:0; }
.rt-stage { overflow:hidden; position:relative; aspect-ratio:4/3; background:#202020; isolation:isolate; }
.rt-scene-plane { position:relative; width:100%; height:100%; transform:translate(var(--rt-tx,0%),var(--rt-ty,0%)) scale(var(--rt-scale,1)); transition:transform .65s cubic-bezier(.22,.68,.2,1); }
.rt-scene-plane .rt-picture, .rt-scene-plane .rt-picture img { width:100%; height:100%; aspect-ratio:4/3; }
.rt-hotspots { position:absolute; inset:0; pointer-events:none; }
.rt-hotspot { position:absolute; display:grid; place-items:center; width:48px; height:48px; padding:0; color:#fff; background:#090909; border:1.5px solid #fff; border-radius:50%; transform:translate(-50%,-50%) scale(var(--rt-inverse,1)); pointer-events:auto; font:600 13px/1 Helvetica,Arial,sans-serif!important; box-shadow:0 0 0 5px #09090940; }
.rt-hotspot[aria-pressed="true"] { color:#090909; background:#f4f4f2; }
.rt-hotspot-navigation { left:70%; top:23%; --rt-focus-x:53; --rt-focus-y:30; }
.rt-hotspot-placement { left:56%; top:52%; --rt-focus-x:52; --rt-focus-y:51; }
.rt-hotspot-commandes { left:22%; top:65%; --rt-focus-x:19; --rt-focus-y:67; }
.rt-scene figcaption { margin-top:10px; color:var(--sf-muted); font-size:11px; line-height:1.5; }
.rt-view-tools { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:12px; }
.rt-view-tools p { font-size:12px; color:var(--sf-muted); }
.rt-zoom { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:8px 14px; background:transparent; color:var(--sf-text); border:1px solid var(--sf-line); font-size:12px!important; white-space:nowrap; }
.rt-zoom:hover { border-color:var(--sf-text); }
.rt-zoom svg { width:20px; height:20px; }
.rt-point-button { display:flex; align-items:center; gap:14px; width:100%; min-height:66px; text-align:left; padding:16px 0; color:var(--sf-text); border:0; border-top:1px solid var(--sf-line); background:transparent; font:400 15px/1.4 Helvetica,Arial,sans-serif!important; }
.rt-point-button > span:first-child { font-size:21px; font-variant-numeric:tabular-nums; }
.rt-point-button svg { width:22px; height:22px; margin-left:auto; opacity:0; }
.rt-point-button.is-active svg { opacity:1; }
.rt-point-button.is-active { border-color:var(--sf-text); }
.rt-point-panel { padding:25px 0 32px; }
.rt-point-panel h3 { font-size:clamp(23px,2.2vw,32px); text-transform:none; line-height:1.16; letter-spacing:-.04em; text-wrap:pretty; }
.rt-point-panel p { font-size:16px; line-height:1.65; margin-top:18px; }
.rt-point-panel .rt-note { font-size:12px; color:var(--sf-muted); margin-top:16px; line-height:1.6; }
.rt-explorer-link { margin-top:28px; }
.rt-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (min-width:1000px) {
  .is-interactive .rt-guide { min-height:580px; }
  .rt-scene { position:sticky; top:26px; }
}
@media (min-width:600px) and (max-width:1099px) {
  .sf-hero-media .rt-picture, .storefront .sf-hero-media .rt-picture img { aspect-ratio:4/3; }
}
@media (max-width:999px) {
  .rt-explorer-layout { grid-template-columns:1fr; gap:24px; margin-top:28px; }
  .rt-explorer-intro h2 { font-size:clamp(29px,7vw,64px); }
  .is-interactive .rt-point-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:12px; align-items:start; }
  .is-interactive .rt-point { display:contents; }
  .rt-point-button { order:1; flex-direction:column; align-items:flex-start; gap:4px; min-height:78px; padding:12px 10px; border:1px solid var(--sf-line); font-size:13px!important; }
  .rt-point-button svg { display:none; }
  .rt-point-button.is-active { color:var(--sf-ink); background:var(--sf-paper); border-color:var(--sf-paper); }
  .rt-point-button > span:first-child { font-size:18px; }
  .rt-point-panel { order:2; grid-column:1/-1; min-height:222px; padding:22px 0 0; }
  .rt-point-panel h3 { font-size:26px; }
  .rt-explorer-link { margin-top:20px; }
}
@media (max-width:599px) {
  .sf-hero-media .rt-picture, .storefront .sf-hero-media .rt-picture img,
  .rt-stage, .rt-scene-plane .rt-picture, .rt-scene-plane .rt-picture img,
  .storefront .sf-configuration .rt-picture img { aspect-ratio:4/5; }
  .rt-explorer-intro h2 { font-size:clamp(27px,7.15vw,42px); }
  .rt-explorer-intro > p:last-child { font-size:17px; line-height:1.5; max-width:320px; }
  .rt-hotspot-navigation { left:77%; top:23%; --rt-focus-x:53; --rt-focus-y:29; }
  .rt-hotspot-placement { left:57%; top:48%; --rt-focus-x:50; --rt-focus-y:48; }
  .rt-hotspot-commandes { left:23%; top:65%; --rt-focus-x:20; --rt-focus-y:66; }
  .rt-view-tools { align-items:flex-start; flex-direction:column; gap:8px; }
  .rt-view-tools p { display:none; }
  .rt-zoom { width:100%; }
  .rt-point-button { font-size:11px!important; }
  .rt-point-panel { min-height:265px; }
  .rt-point-panel h3 { font-size:24px; }
  .rt-point-panel p { font-size:15px; }
}
@media (prefers-reduced-motion:reduce) {
  .rt-scene-plane { transition:none; }
}
@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion:no-preference) {
    .storefront::before { content:""; position:fixed; z-index:60; inset:0 0 auto; height:2px; background:#f4f4f2; transform:scaleX(0); transform-origin:left; animation:rt-reading linear; animation-timeline:scroll(root); pointer-events:none; }
    @keyframes rt-reading { to { transform:scaleX(1); } }
  }
}
