﻿/* Viking Off-Road: live home page hero motion, independent of private concept page. */
.hero-main{min-height:690px;grid-template-columns:50% 50%}
.hero-copy{z-index:3}
.hero-art{position:relative;z-index:1;min-height:600px;height:600px;display:block;overflow:visible}
.viking-hero-motion{position:absolute;inset:-30px -26% -30px -19%;isolation:isolate;contain:paint;overflow:hidden;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 52% 50%,#7f222522 0,transparent 60%)}
.hero-halo{position:absolute;left:51%;top:46%;width:75%;aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #9b464629;border-radius:50%;box-shadow:0 0 0 35px #bd2b2d09,0 0 0 36px #ab37372b,0 0 0 90px #af373706}
.hero-halo::before{content:"";position:absolute;inset:11%;border:1px dashed #a550502b;border-radius:50%;animation:hero-halo-spin 70s linear infinite}
.hero-ground{position:absolute;bottom:7%;left:-8%;right:-8%;height:20%;border-radius:50%;background:radial-gradient(ellipse at center,#7f73703c,transparent 70%);filter:blur(22px);opacity:.6}
.hero-pulsing-crest{position:absolute;left:51%;top:50%;width:min(67%,495px);aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;z-index:5;opacity:1;transition:opacity .45s ease-in;will-change:opacity}
.hero-pulse-rim{position:absolute;inset:4%;border-radius:50%;border:1px solid #a94a4a42;box-shadow:0 0 0 13px #c92d2d08;animation:hero-rim-breathe 4.3s ease-in-out infinite}
.hero-pulsing-crest #hero-impact-logo{position:relative;z-index:1;width:98%;height:98%;max-width:none;object-fit:contain;filter:drop-shadow(0 22px 18px #000d) drop-shadow(0 0 20px #c82e2e4e);animation:hero-logo-pulse 4.3s ease-in-out infinite}
.hero-jeep{position:absolute;right:-76%;bottom:7%;width:76%;z-index:4;opacity:0;transform-origin:50% 85%;backface-visibility:hidden;will-change:transform,opacity;pointer-events:none}
.hero-jeep .jeep-body{display:block;width:100%;max-width:none;height:auto;object-fit:contain;filter:drop-shadow(0 20px 9px #000b);transform:none}
.hero-jeep .wheel-hub{position:absolute;z-index:3;aspect-ratio:1;backface-visibility:hidden;transform-origin:50% 50%;pointer-events:none}
.hero-jeep .wheel-hub img{width:100%;max-width:none;height:100%;object-fit:contain;filter:none;transform-origin:center;will-change:transform}
.hero-jeep .wheel-rear{left:13.671875%;top:65.57377%;width:10.9375%;transform:translate(-50%,-50%) scaleX(.485714)}
.hero-jeep .wheel-near{left:50.703125%;top:71.50063%;width:12.65625%;transform:translate(-50%,-50%) scaleX(.604938)}
.viking-hero-motion.broken .hero-pulsing-crest{opacity:0}
.viking-hero-motion.broken .hero-pulse-rim,.viking-hero-motion.broken #hero-impact-logo{animation-play-state:paused}
.viking-hero-motion.passed .hero-jeep{z-index:8}
.hero-impact-burst{position:absolute;inset:0;z-index:9;pointer-events:none;opacity:0;background:radial-gradient(circle at 51% 47%,#fff4dc99, #e9393260 12%,transparent 52%);mix-blend-mode:screen}
.viking-hero-motion.impact .hero-impact-burst{animation:hero-burst .6s ease-out both}
#hero-particles{position:absolute;inset:0;width:100%;height:100%;max-width:none;z-index:10;pointer-events:none}
.hero-replay-impact{position:absolute;z-index:4;right:16px;bottom:8px;display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:8px 13px;background:#1f1e208c;border:1px solid #76535466;color:#c6bcbc;letter-spacing:.13em;font-size:10px;font-weight:700;backdrop-filter:blur(7px);transition:background .2s,border-color .2s}
.hero-replay-impact:hover{border-color:#c43d41;background:#342427;color:#fff}
.hero-replay-impact span{font-size:20px;color:#e04a4d}
.hero-art .art-caption{right:10px;bottom:65px;z-index:3;pointer-events:none}
@keyframes hero-logo-pulse{0%,100%{transform:scale(.975);filter:drop-shadow(0 17px 15px #000b) drop-shadow(0 0 12px #c72b2b3e)}50%{transform:scale(1.035);filter:drop-shadow(0 23px 19px #000e) drop-shadow(0 0 35px #db353578)}}
@keyframes hero-rim-breathe{0%,100%{transform:scale(.98);opacity:.35}50%{transform:scale(1.07);opacity:.9}}
@keyframes hero-halo-spin{to{transform:rotate(360deg)}}
@keyframes hero-burst{0%{opacity:0}12%{opacity:1}100%{opacity:0}}
@media(max-width:1020px){
 .hero-main{grid-template-columns:52% 48%}
 .hero-art{height:540px;min-height:540px}
 .viking-hero-motion{inset:-18px -28% -18px -18%}
 .hero-replay-impact{right:-4px}
}
@media(max-width:720px){
 .hero{min-height:0}
 .hero-main{display:flex;flex-direction:column;align-items:stretch;min-height:0}
 .hero-copy{padding:58px 0 12px}
 .hero h1{font-size:clamp(73px,13.5vw,106px)}
 .hero-art{position:relative;top:auto;right:auto;opacity:1;width:100%;height:430px;min-height:430px;margin:0;pointer-events:auto}
 .viking-hero-motion{inset:0 -10% -5px -10%}
 .hero-pulsing-crest{width:min(72%,420px);top:50%}
 .hero-halo{width:75%;top:46%}
 .hero-jeep{width:85%;right:-85%;bottom:5%}
 .hero-replay-impact{right:2px;bottom:9px}
 .hero-art .art-caption{display:none}
 .hero-end{height:52px}
}
@media(max-width:370px){
 .hero h1{font-size:67px}
 .hero-art{height:355px;min-height:355px}
}
@media(prefers-reduced-motion:reduce){
 .hero-halo::before,.hero-pulse-rim,.hero-pulsing-crest #hero-impact-logo,.hero-impact-burst{animation:none!important}
 .hero-jeep,#hero-particles{display:none!important}
 .hero-replay-impact{display:none}
 .hero-pulsing-crest{opacity:1!important;transition:none!important}
}

/* Live brand CSS pulses the former logo globally: exclude independently animated vehicle textures. */
.hero-art .hero-jeep img {animation:none!important;}
@media(prefers-reduced-motion:reduce){.hero-pulsing-crest{transition:none!important;opacity:1!important}}

