/* Main photographic visual; independent from product and inquiry pages. */
.photo-hero{height:calc(100svh - 96px);min-height:620px;max-height:1000px;background:#121b20;isolation:isolate}
.visual-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.2s ease,visibility 1.2s;pointer-events:none}
.visual-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.visual-photo{position:absolute;inset:0;overflow:hidden;background:#18242c}
.visual-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% center;transform:scale(1.055)}
.visual-slide.is-active .visual-photo img{animation:visual-drift 8s linear both;animation-play-state:var(--hero-play,running)}
.visual-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,15,24,.85),rgba(5,15,24,.52) 48%,rgba(5,15,24,.14)),linear-gradient(0deg,rgba(5,15,24,.42),transparent 40%);pointer-events:none}
.photo-hero .hero-copy{position:relative;z-index:2;padding:clamp(90px,13vh,165px) 8% 120px;background:none;max-width:1200px}
.photo-hero .eyebrow{font-size:11px;letter-spacing:3px;margin:0 0 30px;color:#e2e8ec}
.photo-hero h1,.photo-hero h2{font-size:clamp(48px,5.1vw,82px);line-height:1.2;letter-spacing:-.055em;margin:0 0 27px;color:#fff;font-weight:600}
.photo-hero h1 span,.photo-hero h2 span{color:#ed3b43}
.photo-hero .intro{font-size:16px;line-height:1.9;color:#edf0f2;margin:0 0 32px}
.photo-hero .button{font-size:13px;padding:16px 22px;background:transparent;border:1px solid #ffffff88;color:white;gap:40px}
.photo-hero .button:hover{background:#fff;color:#172029}
.visual-slide.is-active .hero-copy{animation:visual-copy .85s ease both}
.visual-label{position:absolute;right:6%;bottom:55px;z-index:2;font-size:10px;letter-spacing:2px;color:#e1e7eb}
.visual-controls{position:absolute;bottom:45px;left:8%;z-index:4;display:flex;align-items:center;gap:22px;color:white}
.visual-controls[hidden]{display:none}.visual-count{display:flex;gap:12px;align-items:center;font-size:12px;letter-spacing:1px}.visual-count b{font-size:18px;font-weight:500}.visual-count>span{color:#c7cdd2}
.visual-dots{display:flex;gap:4px}.visual-dots button,.visual-pause{color:white;border:0;background:transparent;cursor:pointer;min-width:44px;height:44px;padding:12px}
.visual-dots button span{display:block;height:2px;width:28px;background:#ffffff55;transition:background .25s}.visual-dots button[aria-pressed=true] span{background:#fff}.visual-pause{font-size:16px;border:1px solid #ffffff55;border-radius:50%;line-height:1}
.photo-hero :focus-visible{outline:2px solid #fff;outline-offset:5px}
.visual-scroll{position:absolute;left:50%;bottom:54px;transform:translateX(-50%);z-index:3;font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:20px;color:#fff}
@keyframes visual-drift{from{transform:scale(1.055)}to{transform:scale(1)}}@keyframes visual-copy{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
html[lang=en] .photo-hero h1,html[lang=en] .photo-hero h2{font-size:clamp(42px,4.6vw,74px);letter-spacing:-.045em}
@media(max-width:900px){.visual-scroll{display:none}.photo-hero .hero-copy{padding-top:100px}.visual-label{font-size:8px;letter-spacing:1px}}
@media(max-width:640px){.photo-hero{height:calc(100svh - 74px);min-height:620px;max-height:850px}.photo-hero .hero-copy{padding:100px 7% 130px}.photo-hero .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:28px}.photo-hero h1,.photo-hero h2{font-size:clamp(34px,8.6vw,50px);line-height:1.3;margin-bottom:25px}.photo-hero .intro{font-size:13px;line-height:1.95;margin-bottom:30px}.visual-photo img{object-position:58% center}.visual-slide:after{background:linear-gradient(90deg,#07131dd9,#07131d70),linear-gradient(0deg,#07131d88,transparent)}.visual-controls{left:7%;bottom:35px;gap:14px}.visual-label{right:7%;bottom:100px}.photo-hero .button{font-size:12px;padding:15px 20px}html[lang=en] .photo-hero h1,html[lang=en] .photo-hero h2{font-size:clamp(31px,8.2vw,44px)}html[lang=en] .photo-hero .intro{font-size:12px}}
@media(prefers-reduced-motion:reduce){.visual-slide{transition:none}.visual-slide.is-active .visual-photo img,.visual-slide.is-active .hero-copy{animation:none}.visual-photo img{transform:none}}

.photo-hero .visual-slide.is-active .visual-photo img{animation:visual-drift 14s ease-in-out infinite alternate;animation-play-state:var(--hero-play,running)}.visual-motion-label{font-size:9px;letter-spacing:2px;color:#e0e6ea}@media(prefers-reduced-motion:reduce){.photo-hero .visual-slide.is-active .visual-photo img{animation:none}}
