/* VIEWRINGER V3 — final Hero only. All later scenes remain untouched. */
.v3-hero-final{position:relative;min-height:calc(100svh - var(--header-h,82px));overflow:hidden;background:var(--v3-cobalt);color:var(--v3-blue-light);isolation:isolate}
.v3-hero-final-stage{position:relative;min-height:calc(100svh - var(--header-h,82px));padding:clamp(28px,4vh,52px) var(--v3-pad) 38px}
.v3-hero-final-brand{position:relative;z-index:7;display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.v3-hero-final-wordmark{font:900 clamp(30px,3vw,46px)/.9 Arial,sans-serif;letter-spacing:-.075em;margin-top:11px}
.v3-hero-final-copy{position:relative;z-index:7;width:min(46vw,610px);padding-top:clamp(96px,13vh,150px)}
.v3-hero-final-copy h1{font-size:clamp(58px,6.4vw,98px);font-weight:650;line-height:.98;letter-spacing:-.075em;text-wrap:balance}
.v3-hero-final-support{max-width:480px;margin-top:30px;font-size:clamp(16px,1.4vw,20px);font-weight:540;line-height:1.62;letter-spacing:-.03em;color:rgba(239,243,255,.92)}
.v3-hero-final-actions{display:flex;align-items:center;gap:24px;margin-top:34px}
.v3-hero-service-rail{position:relative;z-index:7;display:flex;gap:0;border-block:1px solid rgba(231,237,255,.56)}
.v3-hero-service-rail li{padding:13px 18px;border-right:1px solid rgba(231,237,255,.3);font:700 11px/1 var(--mono,monospace);letter-spacing:.075em;white-space:nowrap}
.v3-hero-service-rail li:first-child{padding-left:0}.v3-hero-service-rail li:last-child{padding-right:0;border-right:0}

.v3-gallery{position:absolute;z-index:2;left:43%;right:-7%;top:74px;bottom:-34px;perspective:1180px;perspective-origin:54% 45%;transform-style:preserve-3d;pointer-events:none}
.v3-gallery-track{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.v3-gallery-card{position:absolute;left:50%;top:50%;width:clamp(310px,30.5vw,460px);height:clamp(220px,21.2vw,316px);margin:0;overflow:hidden;background:#111522;border:1px solid rgba(235,240,255,.42);box-shadow:0 26px 58px rgba(6,15,58,.25);opacity:0;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,opacity;pointer-events:auto;transition:filter .35s ease,border-color .35s ease}
.v3-gallery-card>img{display:block;width:100%;height:calc(100% - 42px);object-fit:cover;object-position:top center;filter:none!important;mix-blend-mode:normal!important;opacity:1!important}
.v3-gallery-card figcaption{height:42px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 13px;background:#111522;color:#edf2ff;font:600 10px/1 var(--mono,monospace);letter-spacing:.07em}
.v3-gallery-card figcaption span:last-child{color:#9eabd0;font-size:9px}
.v3-device-stage{position:relative;display:grid;place-items:center;width:100%;height:calc(100% - 42px);overflow:hidden;background:#dbe3f5}
.v3-gallery-card--phone{width:clamp(170px,13.5vw,198px);height:clamp(330px,28vw,410px);overflow:visible;border:0;background:transparent;box-shadow:none}
.v3-gallery-card--phone .v3-device-stage{height:calc(100% - 38px);overflow:visible;background:transparent}
.v3-phone{position:relative;width:100%;height:100%;padding:5px;border:2px solid #8e939d;border-radius:31px;background:#07080b;box-shadow:0 25px 42px rgba(5,11,32,.46),inset 0 0 0 1px rgba(255,255,255,.22);transform:rotate(-1.5deg)}
.v3-phone::before{content:"";position:absolute;right:-5px;top:27%;width:3px;height:18%;border-radius:0 3px 3px 0;background:#777d87}
.v3-gallery-card--phone figcaption{height:38px;margin-top:8px;border:1px solid rgba(235,240,255,.42);box-shadow:0 12px 24px rgba(5,11,32,.2)}
.v3-phone img{display:block;width:100%;height:100%;border-radius:25px;object-fit:cover;filter:none!important;opacity:1!important}
.v3-phone-speaker{position:absolute;z-index:2;left:50%;top:11px;width:34%;height:14px;border:1px solid rgba(255,255,255,.05);border-radius:999px;background:#050609;box-shadow:0 1px 3px rgba(0,0,0,.6);transform:translateX(-50%)}
.v3-gallery-card--tv .v3-device-stage{background:#d6deee}
.v3-tv{position:relative;width:80%;aspect-ratio:16/9;padding:6px;border-radius:4px;background:#10131b;box-shadow:0 18px 34px rgba(5,11,32,.28),inset 0 0 0 1px rgba(255,255,255,.16);transform:translateY(-5px)}
.v3-tv-screen{display:block;width:100%;height:100%;overflow:hidden;background:#05070b}
.v3-tv img{display:block;width:100%;height:100%;object-fit:cover;filter:none!important;opacity:1!important}
.v3-tv-stand{position:absolute;left:50%;bottom:-17px;width:34%;height:14px;border-bottom:4px solid #181b24;transform:translateX(-50%);clip-path:polygon(42% 0,58% 0,66% 76%,100% 76%,100% 100%,0 100%,0 76%,34% 76%);background:#181b24}
.v3-gallery-card.is-focused{border-color:#fff;filter:saturate(1.03)}
.v3-gallery:not(.is-live) .v3-gallery-card:nth-child(1),.v3-gallery.is-static .v3-gallery-card:nth-child(1){opacity:1;transform:translate(-50%,-50%) translate3d(-120px,55px,120px) rotateY(2deg)}
.v3-gallery:not(.is-live) .v3-gallery-card:nth-child(2),.v3-gallery.is-static .v3-gallery-card:nth-child(2){opacity:.72;transform:translate(-50%,-50%) translate3d(260px,-165px,-270px) rotateY(-4deg)}
.v3-gallery:not(.is-live) .v3-gallery-card:nth-child(3),.v3-gallery.is-static .v3-gallery-card:nth-child(3){opacity:.46;transform:translate(-50%,-50%) translate3d(250px,190px,-560px) rotateY(-3deg)}
.v3-gallery.is-static .v3-gallery-card:nth-child(n+4){display:none}
.v3-gallery-toggle{position:absolute;z-index:8;right:calc(var(--v3-pad) - 18px);bottom:24px;min-height:35px;padding:8px 11px;border:1px solid rgba(231,237,255,.52);background:rgba(37,71,208,.76);color:var(--v3-blue-light);font:600 9px/1 var(--mono,monospace);letter-spacing:.08em;cursor:pointer;backdrop-filter:blur(7px)}
.v3-gallery-toggle:hover,.v3-gallery-toggle:focus-visible{background:var(--v3-blue-light);color:var(--v3-cobalt)}
.v3-hero-final-edge{position:absolute;z-index:6;left:var(--v3-pad);right:var(--v3-pad);bottom:18px;display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(231,237,255,.38);font:500 9px/1 var(--mono,monospace);letter-spacing:.1em;color:rgba(231,237,255,.68);pointer-events:none}

@media(max-width:900px){
  .v3-hero-final-copy{width:min(58vw,560px)}
  .v3-gallery{left:37%;right:-13%}
  .v3-hero-service-rail li{padding-inline:11px;font-size:9px}
}

@media(max-width:700px){
  .v3-hero-final{min-height:980px}
  .v3-hero-final-stage{min-height:980px;padding:21px 20px 24px}
  .v3-hero-final-brand{display:block}
  .v3-hero-final-wordmark{font-size:29px;margin-top:8px}
  .v3-hero-service-rail{position:absolute;left:20px;top:420px;width:350px}
  .v3-hero-service-rail li{flex:1;padding:11px 5px;text-align:center;font-size:8px}
  .v3-hero-final-copy{width:auto;padding-top:67px}
  .v3-hero-final-copy h1{font-size:clamp(46px,13vw,54px);line-height:1.01}
  .v3-hero-final-support{width:340px;margin-top:24px;font-size:15px;line-height:1.58}
  .v3-hero-final-actions{margin-top:94px;gap:13px}.v3-hero-final-actions .v3-action--primary{flex:1}.v3-hero-final-actions .v3-action--text{min-width:92px;gap:10px}
  .v3-gallery{left:0;right:0;top:605px;bottom:25px;perspective:760px;perspective-origin:50% 50%}
  .v3-gallery-card{width:235px;height:166px}.v3-gallery-card>img{height:calc(100% - 33px)}.v3-gallery-card figcaption{height:33px;padding-inline:9px;font-size:8px}.v3-gallery-card figcaption span:last-child{font-size:7px}
  .v3-device-stage{height:calc(100% - 33px)}.v3-gallery-card--phone{width:138px;height:286px}.v3-gallery-card--phone .v3-device-stage{height:calc(100% - 31px)}.v3-gallery-card--phone figcaption{height:31px;margin-top:6px;padding-inline:7px}.v3-gallery-card--phone figcaption span:last-child{display:none}.v3-phone{padding:4px;border-width:1px;border-radius:23px}.v3-phone img{border-radius:19px}.v3-phone-speaker{top:8px;width:35%;height:10px}.v3-tv{padding:4px}.v3-tv-stand{bottom:-11px;height:9px;border-bottom-width:3px}
  .v3-gallery-toggle{right:20px;bottom:15px}
  .v3-hero-final-edge{left:20px;right:20px;bottom:13px}.v3-hero-final-edge span:last-child{display:none}
}

@media(prefers-reduced-motion:reduce){.v3-gallery-toggle{display:none}.v3-gallery-track{transform:none!important}.v3-gallery-card{will-change:auto;transition:none}}
@media(forced-colors:active){.v3-gallery-card{border:2px solid CanvasText}.v3-gallery-toggle{background:Canvas;color:CanvasText}}
