.gallery-page .nav-shell{position:fixed;top:0;left:0;right:0;z-index:100}
.immersive-gallery{--gallery-ease:cubic-bezier(.22,1,.36,1);position:relative;isolation:isolate;height:100svh;min-height:620px;overflow:hidden;background:#151514;color:#f1f0ed}
.gallery-stage,.gallery-stage-layer,.gallery-stage-scrim{position:absolute;inset:0}
.gallery-stage{z-index:0;background:#151514}
.gallery-stage-layer{opacity:0;overflow:hidden;transition:opacity .8s var(--gallery-ease)}
.gallery-stage-layer.is-active{opacity:1}
.gallery-stage-media{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center;animation:gallery-drift 12s ease-in-out infinite alternate;will-change:transform}
.gallery-stage-layer:nth-child(2) .gallery-stage-media{animation-direction:alternate-reverse}
.gallery-stage-scrim{z-index:3;pointer-events:none;background:radial-gradient(ellipse 62% 52% at 50% 50%,rgba(10,9,8,.3),rgba(10,9,8,.04) 72%),linear-gradient(180deg,rgba(10,9,8,.08) 0,rgba(10,9,8,.03) 46%,rgba(10,9,8,.68) 100%)}
.gallery-title{position:absolute;inset:0;z-index:1;display:grid;place-items:center;margin:0;padding:0 var(--pad);color:#f1f0ed;font-size:clamp(104px,12.3vw,236px);font-weight:500;line-height:.78;letter-spacing:-.075em;text-align:center;text-shadow:0 3px 30px rgba(0,0,0,.32);pointer-events:none}
.gallery-interface{position:relative;z-index:2;width:100%;height:100%}
.gallery-scroller-mask{position:absolute;top:50%;left:50%;display:flex;width:84px;height:min(46svh,360px);min-height:300px;padding:27px 9px 10px;border:1px solid rgba(241,240,237,.14);border-radius:18px;background:rgba(17,17,17,.28);box-shadow:0 14px 45px rgba(0,0,0,.16);transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.gallery-drag-handle{position:absolute;top:11px;left:50%;width:18px;height:2px;border-radius:999px;background:rgba(241,240,237,.58);transform:translateX(-50%)}
.gallery-thumbnails{display:flex;flex:1;flex-direction:column;align-items:center;gap:7px;width:100%;overflow-x:hidden;overflow-y:auto;padding:8px 0;overscroll-behavior-y:contain;scrollbar-width:none;touch-action:pan-y;cursor:grab;user-select:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}
.gallery-thumbnails::-webkit-scrollbar{display:none}
.gallery-thumbnails.is-dragging{cursor:grabbing}
.gallery-thumbnail{position:relative;flex:0 0 auto;width:64px;aspect-ratio:16/9;padding:0;overflow:hidden;border:1px solid transparent;border-radius:8px;background:#252421;color:#f1f0ed;opacity:.52;cursor:pointer;scroll-snap-align:center;transition:opacity .45s var(--gallery-ease),border-color .45s var(--gallery-ease),transform .55s var(--gallery-ease)}
.gallery-thumbnail::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);pointer-events:none}
.gallery-thumbnail:hover{opacity:.82;transform:scale(1.04)}
.gallery-thumbnail[aria-selected="true"]{border-color:rgba(241,240,237,.94);opacity:1}
.gallery-thumbnail:focus-visible{outline:2px solid #f1f0ed;outline-offset:4px;opacity:1}
.gallery-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.gallery-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:17px;height:17px;border:1px solid rgba(255,255,255,.58);border-radius:50%;background:rgba(17,17,17,.54);transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}
.gallery-play svg{display:block;width:6px;height:6px;fill:#f1f0ed;transform:translateX(.5px)}
.gallery-caption,.gallery-counter{position:absolute;bottom:clamp(28px,4vw,58px);margin:0;color:#f1f0ed;font-size:14px;font-weight:600;line-height:1.35;text-shadow:0 1px 14px rgba(0,0,0,.38);transition:opacity .32s var(--gallery-ease),transform .45s var(--gallery-ease)}
.gallery-caption{left:var(--pad);display:flex;gap:8px;max-width:min(620px,70vw)}
.gallery-caption span:first-child{color:#c8c5bf;font-variant-numeric:tabular-nums}
.gallery-caption.is-changing{opacity:0;transform:translateY(8px)}
.gallery-counter{right:var(--pad);font-variant-numeric:tabular-nums}
.gallery-noscript{position:absolute;top:50%;left:50%;z-index:5;margin:0;transform:translate(-50%,-50%);color:#f1f0ed}
@keyframes gallery-drift{from{transform:scale(1)}to{transform:scale(1.04)}}
@media(min-width:901px){.gallery-page:has(.consultation-card.is-visible) .gallery-counter{bottom:210px}}
@media(max-width:768px){
  .immersive-gallery{min-height:520px}
  .gallery-stage-media{animation:none;will-change:auto}
  .gallery-title{font-size:16vw;letter-spacing:-.065em;text-shadow:0 2px 24px rgba(0,0,0,.4)}
  .gallery-scroller-mask{left:auto;right:clamp(15px,5vw,26px);width:62px;height:min(42svh,280px);min-height:248px;padding:25px 8px 9px;border-radius:15px;transform:translateY(-50%)}
  .gallery-drag-handle{top:10px;width:15px}
  .gallery-thumbnails{gap:6px;padding:7px 0}
  .gallery-thumbnail{width:44px;border-radius:6px}
  .gallery-play{width:15px;height:15px}
  .gallery-caption,.gallery-counter{bottom:24px;font-size:12px}
  .gallery-caption{right:76px;max-width:none;gap:5px}
}
@media(prefers-reduced-motion:reduce){
  .gallery-stage-layer,.gallery-thumbnail,.gallery-caption{transition:none}
  .gallery-stage-media{animation:none;will-change:auto}
}
