:root{
  --blue:#005fa8;--blue2:#0d82c7;--cyan:#44b9df;--green:#00a653;--green2:#42c878;
  --navy:#082f49;--ink:#123a55;--muted:#607b8e;--line:rgba(8,76,119,.12);
  --surface:rgba(255,255,255,.82);--surface-solid:#fff;--shadow:0 26px 70px rgba(17,79,116,.12);--shadow-sm:0 12px 34px rgba(18,80,116,.10);
  --radius:26px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--topbar:96px;
}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#f7fbfe;color:var(--navy)}
body{font-family:"Manrope","Avenir Next","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}
body::before{content:"";position:fixed;inset:-12%;z-index:-3;background:
 radial-gradient(circle at 8% 16%,rgba(56,183,226,.24),transparent 28%),
 radial-gradient(circle at 88% 12%,rgba(0,166,83,.15),transparent 25%),
 radial-gradient(circle at 80% 86%,rgba(0,95,168,.12),transparent 29%),
 linear-gradient(135deg,#f4fbff 0%,#ffffff 43%,#f8fffb 74%,#eef8ff 100%);animation:bgFloat 18s ease-in-out infinite alternate}
body::after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.52;background-image:linear-gradient(rgba(0,95,168,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(0,166,83,.021) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 90%)}
@keyframes bgFloat{0%{transform:translate3d(-1%,0,0) scale(1)}100%{transform:translate3d(1.5%,-1%,0) scale(1.04)}}
button,select{font:inherit}button{border:0}img{max-width:100%;display:block;-webkit-user-drag:none}button:focus-visible,select:focus-visible{outline:3px solid rgba(13,130,199,.25);outline-offset:3px}
#app{position:fixed;inset:0}.screen{position:relative;width:100%;height:100dvh;overflow:hidden}.content-scroll,.home-scroll{position:absolute;inset:0;overflow:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.content-scroll::-webkit-scrollbar,.home-scroll::-webkit-scrollbar{display:none}
.screen::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-170px;bottom:-200px;background:radial-gradient(circle,rgba(0,166,83,.08),transparent 67%);pointer-events:none}
.pressable{cursor:pointer;user-select:none;touch-action:manipulation}.reveal{opacity:0;transform:translateY(24px) scale(.985);filter:blur(3px)}.screen.play .reveal{animation:premiumReveal .62s cubic-bezier(.2,.78,.28,1) forwards;animation-delay:calc(var(--i,0)*80ms + 70ms)}
@keyframes premiumReveal{60%{opacity:1;filter:blur(0);transform:translateY(-4px) scale(1.006)}100%{opacity:1;filter:blur(0);transform:none}}

/* Header */
.topbar{position:absolute;inset:0 0 auto;height:calc(var(--topbar) + var(--safe-t));padding-top:var(--safe-t);z-index:40;pointer-events:none;background:linear-gradient(180deg,rgba(250,253,255,.96) 0%,rgba(250,253,255,.80) 72%,rgba(250,253,255,0) 100%);backdrop-filter:blur(10px)}
.scene-logo{position:absolute;left:50%;top:17px;transform:translateX(-50%);width:min(31vw,430px);pointer-events:none}.scene-logo img{width:100%;height:auto;object-fit:contain}.topbar-tag{position:absolute;right:clamp(20px,3vw,48px);top:36px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#6b8698}
.global-back,.section-back{display:grid;place-items:center;color:var(--navy);background:rgba(255,255,255,.84);border:1px solid rgba(0,95,168,.11);box-shadow:var(--shadow-sm);backdrop-filter:blur(12px);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.global-back{pointer-events:auto;position:absolute;left:calc(22px + var(--safe-l));top:22px;width:48px;height:48px;border-radius:15px}.global-back:hover,.section-back:hover{transform:translateX(-3px);box-shadow:0 18px 36px rgba(14,81,120,.16);border-color:rgba(0,166,83,.28)}
.icon-svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.scene-shell{width:min(1480px,100%);min-height:100%;margin:0 auto;padding:calc(var(--topbar) + var(--safe-t) + 20px) clamp(20px,4.6vw,72px) calc(46px + var(--safe-b))}
.section-heading{display:flex;align-items:flex-start;gap:16px;max-width:1040px;margin-bottom:28px}.section-back{width:50px;height:50px;flex:0 0 50px;border-radius:16px}.section-kicker,.eyebrow,.filter-title>span,.panel-heading>span,.card-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:7px}
.section-heading h1,.page-intro h1,.filter-title h2,.panel-heading h3{font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;margin:0;color:var(--navy);letter-spacing:-.035em;line-height:1.05}.section-heading h1{font-size:clamp(30px,4vw,58px)}.section-heading p{margin:9px 0 0;max-width:790px;color:var(--muted);font-size:clamp(14px,1.3vw,18px);line-height:1.6}
.gradient-text{background:linear-gradient(95deg,var(--blue) 0%,var(--blue2) 43%,var(--green) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Premium card motion */
.premium-card{position:relative;isolation:isolate;transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .28s ease,border-color .28s ease;will-change:transform}
.premium-card::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(68,185,223,.17),transparent 48%);opacity:0;transition:opacity .25s ease}
.premium-card:hover{box-shadow:0 28px 66px rgba(17,85,123,.16);border-color:rgba(0,166,83,.23)}.premium-card:hover::after{opacity:1}

/* Splash */
.splash{overflow:auto;display:grid;place-items:center;padding:26px}.splash-shell{position:relative;width:min(1420px,95vw);min-height:min(790px,90vh);display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(28px,5vw,82px);padding:clamp(90px,7vw,120px) clamp(32px,5vw,78px) clamp(40px,5vw,70px);border-radius:42px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(245,252,255,.82));border:1px solid rgba(0,95,168,.10);box-shadow:0 40px 100px rgba(22,89,125,.13);backdrop-filter:blur(18px);overflow:hidden}.splash-shell::before{content:"";position:absolute;inset:auto -15% -42% 28%;height:68%;background:radial-gradient(ellipse,rgba(0,166,83,.10),transparent 65%);pointer-events:none}.splash-shell::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.32));pointer-events:none}.splash .scene-logo{position:absolute;left:50%;top:24px;transform:translateX(-50%);width:min(30vw,430px);z-index:2}.splash-v11 .hero-orbit{position:absolute;border:1px solid rgba(0,95,168,.12);border-radius:50%;animation:orbitSpin 18s linear infinite}.splash-v11 .hero-orbit-a{width:560px;height:560px;right:-120px;top:-140px}.splash-v11 .hero-orbit-b{width:760px;height:760px;left:-240px;bottom:-340px;animation-direction:reverse;animation-duration:24s}.hero-copy-v11{position:relative;z-index:2}.hero-copy-v11 .line-a{opacity:0;display:block;animation:textLift .85s ease .15s forwards}.hero-copy-v11 .line-b{opacity:0;display:block;animation:textLift .95s ease .36s forwards}@keyframes textLift{from{opacity:0;transform:translateY(32px) scale(.97);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
.hero-kicker{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border:1px solid rgba(0,95,168,.12);border-radius:999px;background:rgba(255,255,255,.72);font-size:11px;font-weight:800;color:var(--blue);letter-spacing:.08em;text-transform:uppercase}.hero-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(0,166,83,.11);animation:livePulse 1.8s ease infinite}@keyframes livePulse{50%{box-shadow:0 0 0 9px rgba(0,166,83,0)}}
.hero-copy h1{font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;margin:22px 0 17px;font-size:clamp(48px,6.8vw,98px);line-height:.95;letter-spacing:-.055em;color:var(--navy)}.hero-copy h1 span{display:block;font-size:.53em;letter-spacing:-.035em;color:var(--blue)}.hero-copy h1 b{display:block;font-weight:700}.hero-copy p{max-width:710px;margin:0;color:var(--muted);font-size:clamp(15px,1.45vw,20px);line-height:1.7}.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}.primary-cta{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 22px;border-radius:17px;background:linear-gradient(100deg,var(--blue) 0%,var(--blue2) 54%,var(--green) 120%);color:#fff;font-weight:800;box-shadow:0 16px 34px rgba(0,105,166,.23);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.primary-cta::before{content:"";position:absolute;top:-120%;left:-30%;width:35%;height:320%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:rotate(24deg);animation:ctaSheen 3.6s ease-in-out infinite}@keyframes ctaSheen{0%,55%{left:-45%}82%,100%{left:125%}}.primary-cta:hover{transform:translateY(-3px);box-shadow:0 23px 44px rgba(0,105,166,.30)}.cta-icon{width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.15)}
.hero-proof{display:grid;gap:2px}.hero-proof b{font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;color:var(--navy);font-size:18px}.hero-proof span{font-size:12px;color:var(--muted)}.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.hero-pills span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(0,95,168,.09);font-size:11px;font-weight:800;color:var(--ink)}
.hero-tech{position:relative;min-height:510px;display:grid;place-items:center}.chip-stage{position:relative;width:min(37vw,470px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 44% 37%,rgba(68,185,223,.20),rgba(0,95,168,.06) 50%,transparent 68%)}.chip-stage::before,.chip-stage::after{content:"";position:absolute;border:1px solid rgba(0,95,168,.16);border-radius:50%;animation:orbitSpin 14s linear infinite}.chip-stage::before{inset:7%}.chip-stage::after{inset:19%;animation-direction:reverse;animation-duration:9s}@keyframes orbitSpin{to{transform:rotate(360deg)}}
.chip-core{position:relative;width:46%;aspect-ratio:1;border-radius:30px;background:linear-gradient(145deg,#fff,#ecf7fd);border:1px solid rgba(0,95,168,.12);box-shadow:0 28px 64px rgba(0,95,168,.18);display:grid;place-items:center;animation:chipFloat 4.4s ease-in-out infinite}@keyframes chipFloat{50%{transform:translateY(-12px) rotate(1.5deg)}}.chip-core svg{width:55%;height:55%;stroke:url(#chipGrad);fill:none;stroke-width:1.7}.orbit-dot{position:absolute;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--green));box-shadow:0 0 0 7px rgba(68,185,223,.10),0 8px 20px rgba(0,95,168,.22)}.dot-a{top:5%;left:48%}.dot-b{right:9%;bottom:24%}.dot-c{left:7%;bottom:29%}.tech-badge{position:absolute;display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:15px;background:rgba(255,255,255,.87);border:1px solid rgba(0,95,168,.10);box-shadow:var(--shadow-sm);font-size:11px;font-weight:800;color:var(--ink);backdrop-filter:blur(12px)}.badge-a{top:12%;right:0}.badge-b{bottom:13%;left:-3%}.badge-c{bottom:0;right:7%}.mini-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;color:var(--blue);background:linear-gradient(135deg,rgba(0,95,168,.10),rgba(0,166,83,.10))}

/* Home */
.home-scroll{padding:calc(var(--topbar) + var(--safe-t) + 26px) clamp(20px,4.8vw,74px) calc(44px + var(--safe-b))}.page-intro{width:min(1260px,100%);margin:0 auto 24px}.page-intro h1{font-size:clamp(34px,4.5vw,62px);max-width:870px}.page-intro p{max-width:760px;color:var(--muted);font-size:15px;line-height:1.65;margin:12px 0 0}.home-grid{width:min(1260px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:19px}.nav-card{grid-column:span 2;min-width:0;text-align:left;padding:21px;border-radius:26px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(245,251,254,.82));border:1px solid rgba(0,95,168,.10);box-shadow:var(--shadow-sm);overflow:hidden}.nav-card:nth-child(4){grid-column:2/4}.nav-card:nth-child(5){grid-column:4/6}.nav-icon{position:relative;width:64px;height:64px;border-radius:19px;display:grid;place-items:center;margin-bottom:24px;color:var(--blue);background:linear-gradient(140deg,rgba(0,95,168,.10),rgba(0,166,83,.11));box-shadow:inset 0 1px rgba(255,255,255,.8)}.nav-icon svg{width:34px;height:34px}.nav-card:nth-child(2) .nav-icon,.nav-card:nth-child(5) .nav-icon{color:var(--green)}.nav-copy h3{font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;margin:0;color:var(--navy);font-size:20px;letter-spacing:-.025em}.nav-copy p{margin:8px 0 18px;color:var(--muted);font-size:13px;line-height:1.55;min-height:42px}.nav-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:12px;font-weight:800}.nav-link .icon-svg{width:16px;height:16px;transition:transform .2s ease}.nav-card:hover .nav-link .icon-svg{transform:translateX(4px)}

/* Choice / product / galleries */
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.choice-card{position:relative;min-height:190px;text-align:left;padding:25px;border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(244,251,254,.86));border:1px solid rgba(0,95,168,.10);box-shadow:var(--shadow-sm);overflow:hidden}.choice-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--blue),var(--green))}.choice-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:linear-gradient(100deg,rgba(0,95,168,.09),rgba(0,166,83,.09));color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.choice-card h3{font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;margin:28px 0 8px;color:var(--navy);font-size:24px}.choice-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;max-width:85%}.choice-arrow{position:absolute;right:21px;bottom:21px;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--blue2),var(--green));box-shadow:0 11px 25px rgba(0,111,160,.20)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.specialty-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.asset-card{min-width:0;text-align:left;border-radius:23px;background:rgba(255,255,255,.88);border:1px solid rgba(0,95,168,.09);box-shadow:var(--shadow-sm);overflow:hidden}.asset-visual{height:190px;display:grid;place-items:center;padding:10px;background:linear-gradient(135deg,rgba(0,95,168,.04),rgba(0,166,83,.035));overflow:hidden}.asset-visual img{width:100%;height:100%;object-fit:contain;transition:transform .38s cubic-bezier(.2,.7,.2,1)}.asset-card:hover .asset-visual img{transform:scale(1.035)}.asset-copy{padding:15px 17px 18px}.asset-copy h3{font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;margin:0;color:var(--navy);font-size:15px;line-height:1.25}.asset-copy span{display:inline-block;margin-top:8px;color:var(--blue);font-size:11px;font-weight:800}.solution-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.safety-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.safety-card{min-width:0;text-align:left;border-radius:23px;background:#fff;border:1px solid rgba(0,95,168,.09);box-shadow:var(--shadow-sm);overflow:hidden}.safety-card>img{width:100%;height:175px;object-fit:cover;transition:transform .4s ease}.safety-card:hover>img{transform:scale(1.045)}.safety-card>div{padding:14px 15px 17px}.safety-card span,.photo-label span,.infra-card>div>span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:800}.safety-card h3,.photo-label h3,.infra-card h3{font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;margin:5px 0 0;color:var(--navy);font-size:14px;line-height:1.3}
.photo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-card{min-width:0;text-align:left;border-radius:24px;background:#fff;border:1px solid rgba(0,95,168,.09);box-shadow:var(--shadow-sm);overflow:hidden}.photo-media{height:210px;overflow:hidden}.photo-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.photo-card:hover .photo-media img{transform:scale(1.045)}.photo-label{padding:15px 17px 18px}.photo-label b{display:inline-block;margin-top:10px;color:var(--blue);font-size:11px}.infra-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.infra-card{display:grid;grid-template-columns:.9fr 1.1fr;min-height:290px;text-align:left;border-radius:26px;background:#fff;border:1px solid rgba(0,95,168,.09);box-shadow:var(--shadow-sm);overflow:hidden}.infra-thumb{height:100%;min-height:260px;background:linear-gradient(135deg,rgba(0,95,168,.04),rgba(0,166,83,.035));display:grid;place-items:center;overflow:hidden}.infra-thumb img{width:100%;height:100%;object-fit:contain}.infra-card>div:last-child{padding:26px}.infra-card h3{font-size:22px}.infra-card p{color:var(--muted);font-size:13px;line-height:1.6}.infra-card b{color:var(--blue);font-size:12px}

/* Map */
.map-layout{display:grid;grid-template-columns:minmax(300px,365px) minmax(0,1fr);gap:24px;align-items:start}.map-sidebar{padding:21px;border-radius:26px;background:rgba(255,255,255,.90);border:1px solid rgba(0,95,168,.10);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.filter-title h2{font-size:26px}.map-controls{display:grid;gap:13px;margin-top:18px}.map-controls label{display:grid;gap:7px}.map-controls label>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.map-controls select{width:100%;height:54px;padding:0 43px 0 15px;border-radius:15px;border:1px solid rgba(0,95,168,.13);background:linear-gradient(110deg,#ffffff,#f1f9fd);color:var(--navy);font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);appearance:auto}.map-filter-result{margin-top:16px;display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:linear-gradient(125deg,rgba(0,95,168,.09),rgba(0,166,83,.09));border:1px solid rgba(0,95,168,.07)}.map-filter-result>strong{font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;font-size:34px;color:var(--blue);line-height:1}.map-filter-result div{display:grid;gap:2px}.map-filter-result b{font-size:12px;color:var(--navy)}.map-filter-result span{font-size:10px;color:var(--muted)}.map-category-panel,.map-details{margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.panel-heading h3{font-size:18px}.map-category-list{display:grid;grid-template-columns:1fr;gap:8px;margin-top:11px}.map-category-row{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border-radius:14px;background:#f7fbfd;border:1px solid #e7f0f4;color:var(--ink);font-size:11px;font-weight:800;transition:.25s ease}.map-category-row.selected{background:linear-gradient(100deg,rgba(0,95,168,.11),rgba(0,166,83,.13));border-color:rgba(0,166,83,.25);color:var(--green);transform:translateY(-1px)}.map-category-row img{width:28px;height:32px;object-fit:contain}.map-location-list{display:grid;gap:8px;margin-top:10px;max-height:300px;overflow:auto;padding-right:3px}.map-location-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:#fff;border:1px solid #e7f0f4;animation:detailIn .38s ease both;animation-delay:var(--d,0ms);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.map-location-card.active{transform:translateX(4px);border-color:rgba(0,166,83,.35);box-shadow:0 10px 24px rgba(0,95,168,.10)}@keyframes detailIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.map-location-card img{width:32px;height:37px;object-fit:contain}.map-location-card div{display:grid;gap:1px;min-width:0}.map-location-card strong{font-size:12px;color:var(--navy)}.map-location-card span{font-size:10px;color:var(--blue);font-weight:800}.map-location-card small{font-size:9px;color:var(--muted)}.map-empty{display:grid;gap:4px;padding:13px;border-radius:14px;background:#f7fafc;color:var(--muted);font-size:11px}.map-empty strong{color:var(--navy)}
.map-panel{min-width:0;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(244,251,254,.88));border:1px solid rgba(0,95,168,.11);box-shadow:var(--shadow);overflow:hidden}.map-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 19px;border-bottom:1px solid var(--line)}.map-panel-head span{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}.map-panel-head b{font-size:11px;color:var(--muted)}.map-canvas{position:relative;min-height:600px;padding:20px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 47%,rgba(68,185,223,.08),transparent 48%)}.map-stage{position:relative;width:min(100%,650px);aspect-ratio:1314/1433;flex:none;overflow:hidden;isolation:isolate}.map-base{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;filter:drop-shadow(0 14px 24px rgba(0,77,125,.10))}.map-pin{position:absolute;z-index:6;transform:translate(-50%,-50%);background:transparent;padding:0;width:clamp(27px,2.3vw,40px);cursor:pointer;transition:filter .2s ease,transform .2s ease}.map-pin::before{content:"";position:absolute;inset:9%;border-radius:50%;background:rgba(68,185,223,.18);z-index:-1;animation:pinPulse 2.1s ease-out infinite}.map-pin:hover,.map-pin.active{transform:translate(-50%,-50%) scale(1.16);z-index:12;filter:drop-shadow(0 8px 12px rgba(0,95,168,.24))}.map-pin img{width:100%;height:auto}.map-pin[hidden]{display:none!important}.map-pin.filter-pop{animation:pinPop .42s cubic-bezier(.2,.8,.2,1)}@keyframes pinPop{0%{transform:translate(-50%,-50%) scale(.35);opacity:0}70%{transform:translate(-50%,-50%) scale(1.12);opacity:1}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes pinPulse{0%{opacity:.7;transform:scale(.35)}75%,100%{opacity:0;transform:scale(2.4)}}.map-active-info{position:absolute;left:18px;bottom:18px;z-index:15;display:none;max-width:260px;padding:12px 14px;border-radius:15px;background:rgba(255,255,255,.94);border:1px solid rgba(0,95,168,.10);box-shadow:var(--shadow-sm);backdrop-filter:blur(12px)}.map-active-info.show{display:grid;gap:2px;animation:tipIn .28s ease}@keyframes tipIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.map-active-info strong{font-size:12px;color:var(--navy)}.map-active-info span{font-size:10px;color:var(--muted)}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:64px;background:rgba(246,251,255,.88);backdrop-filter:blur(18px)}.lightbox.open{display:flex}.lb-img{max-width:90vw;max-height:86vh;object-fit:contain;border-radius:22px;background:#fff;padding:10px;box-shadow:0 36px 90px rgba(0,60,100,.16)}.lb-close,.lb-prev,.lb-next{position:absolute;display:grid;place-items:center;border-radius:16px;background:#fff;color:var(--navy);box-shadow:var(--shadow-sm);width:52px;height:52px}.lb-close{top:20px;right:20px}.lb-prev,.lb-next{top:50%;transform:translateY(-50%)}.lb-prev{left:18px}.lb-next{right:18px}.lb-close svg,.lb-prev svg,.lb-next svg{width:22px;height:22px}

@media (max-width:1120px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.specialty-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.safety-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}.infra-card{grid-template-columns:1fr}.infra-thumb{height:205px}.map-layout{grid-template-columns:minmax(275px,330px) 1fr}.map-canvas{min-height:540px}.map-stage{width:min(100%,560px)}}
@media (orientation:portrait), (max-width:820px){body::after{background-size:55% auto,55% auto,75% auto;opacity:.08}:root{--topbar:124px}.topbar-tag{display:none}.scene-logo{top:16px;width:min(58vw,360px)}.global-back{top:70px;left:14px;width:42px;height:42px;border-radius:13px}.scene-shell{padding:calc(var(--topbar) + var(--safe-t) + 12px) 16px 32px}.home-scroll{padding:calc(var(--topbar) + var(--safe-t) + 16px) 16px 32px}.section-heading{gap:10px}.section-back{width:42px;height:42px;flex-basis:42px;border-radius:13px}.section-heading h1{font-size:clamp(28px,7vw,44px)}.section-heading p{font-size:13px}.splash{padding:12px}.splash-shell{display:block;min-height:calc(100dvh - 24px);padding:108px 22px 32px;border-radius:30px}.splash .scene-logo{left:50%;top:28px;transform:translateX(-50%);width:min(72vw,410px)}.hero-copy h1{font-size:clamp(47px,12vw,74px)}.hero-copy p{font-size:14px}.hero-tech{min-height:330px;margin-top:12px}.chip-stage{width:min(77vw,360px)}.badge-a{right:0}.badge-b{left:0}.hero-actions{gap:12px}.primary-cta{width:100%;justify-content:center}.hero-proof{width:100%;text-align:center}.hero-pills{justify-content:center}.page-intro h1{font-size:clamp(34px,9vw,52px)}.home-grid{grid-template-columns:1fr 1fr;gap:12px}.nav-card,.nav-card:nth-child(4),.nav-card:nth-child(5){grid-column:auto}.nav-card:nth-child(5){grid-column:1/3;width:calc((100% - 12px)/2);justify-self:center}.nav-card{padding:15px;border-radius:20px}.nav-icon{width:52px;height:52px;border-radius:16px;margin-bottom:18px}.nav-icon svg{width:28px;height:28px}.nav-copy h3{font-size:15px}.nav-copy p{font-size:11px;min-height:50px}.choice-grid{grid-template-columns:1fr}.choice-card{min-height:160px;padding:20px}.choice-card h3{font-size:20px;margin-top:20px}.cards,.solution-cards{grid-template-columns:1fr 1fr}.specialty-grid{grid-template-columns:1fr 1fr}.asset-visual{height:145px}.safety-grid{grid-template-columns:1fr 1fr}.safety-card>img{height:135px}.photo-list{grid-template-columns:1fr}.infra-grid{grid-template-columns:1fr}.map-layout{grid-template-columns:1fr}.map-panel{order:2}.map-sidebar{order:1;padding:16px}.map-category-list{grid-template-columns:1fr 1fr}.map-location-list{max-height:220px}.map-canvas{min-height:auto;padding:12px}.map-stage{width:min(100%,520px)}.map-panel-head{padding:12px 14px}.lightbox{padding:58px 12px}.lb-prev{left:8px}.lb-next{right:8px}}
@media (max-width:520px){.home-grid{grid-template-columns:1fr}.nav-card:nth-child(5){grid-column:auto;width:100%}.cards,.specialty-grid,.solution-cards,.safety-grid{grid-template-columns:1fr}.map-category-list{grid-template-columns:1fr}.hero-tech{min-height:300px}.tech-badge{font-size:9px;padding:9px}.badge-c{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.premium-card{transform:none!important}}

/* ================= V12: visible rebuild ================= */
body::before{background:
 radial-gradient(circle at 12% 10%,rgba(0,95,168,.11),transparent 32%),
 radial-gradient(circle at 88% 12%,rgba(0,166,83,.10),transparent 28%),
 linear-gradient(180deg,#fbfdff 0%,#f1f8fc 48%,#f8fdfb 100%)!important}
body::after{opacity:.14!important;background-image:url('assets/bg-sustainability.jpg'),url('assets/bg-who-we-are.jpg')!important;background-position:left top,right top!important;background-size:44% auto,46% auto!important;background-repeat:no-repeat!important;filter:saturate(.72) brightness(1.08)!important;mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.35));-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.35))}
.scene-logo img{width:100%;height:auto;display:block;image-rendering:auto}

/* V6-inspired first screen, rebuilt in the light INOX website palette */
.splash-v12{position:relative;overflow:hidden;display:block;padding:0;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(238,249,255,.64) 48%,rgba(240,253,247,.68));isolation:isolate}
.splash-v12::before{content:"";position:absolute;inset:-12%;z-index:0;background:
 radial-gradient(circle at 22% 32%,rgba(0,125,190,.12),transparent 26%),
 radial-gradient(circle at 75% 58%,rgba(0,166,83,.09),transparent 30%);
animation:splashGlow 10s ease-in-out infinite alternate}
@keyframes splashGlow{0%{transform:translate3d(-1%,0,0) scale(1)}100%{transform:translate3d(1.5%,-1%,0) scale(1.05)}}
.splash-visual{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.splash-photo{position:absolute;border-radius:48%;filter:saturate(.8) contrast(.95);opacity:.13;background-size:cover;background-position:center;box-shadow:0 0 100px rgba(0,95,168,.10);animation:photoFloat 18s ease-in-out infinite alternate}
.splash-photo-a{width:56vw;height:56vw;left:-18vw;bottom:-28vw;background-image:url('assets/bg-who-we-are.jpg')}
.splash-photo-b{width:54vw;height:54vw;right:-18vw;top:-25vw;background-image:url('assets/bg-sustainability.jpg');animation-delay:-7s}
@keyframes photoFloat{from{transform:rotate(-5deg) scale(1)}to{transform:rotate(3deg) scale(1.08)}}
.splash-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(0,95,168,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,95,168,.08) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at 50% 50%,black,transparent 72%);-webkit-mask-image:radial-gradient(circle at 50% 50%,black,transparent 72%);animation:gridDrift 16s linear infinite}
@keyframes gridDrift{to{background-position:44px 44px}}
.splash-v12>.scene-logo{position:absolute;z-index:5;left:50%;top:clamp(22px,4vh,48px);transform:translateX(-50%);width:min(38vw,500px)}
.splash-message{position:absolute;z-index:5;left:50%;top:49%;transform:translate(-50%,-50%);width:min(70vw,920px);text-align:center;text-transform:uppercase;font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;font-weight:700;line-height:.91;letter-spacing:-.025em;perspective:1000px}
.msg-line{display:block;white-space:nowrap;transform-origin:center;color:#073f68;text-shadow:0 8px 26px rgba(0,95,168,.10)}
.msg-line-1{font-size:clamp(28px,4vw,64px);letter-spacing:.12em;color:#005fa8;animation:lifeline1V12 6s ease-in-out infinite}
.msg-line-2,.msg-line-3{font-size:clamp(42px,6.6vw,104px);background:linear-gradient(92deg,#005fa8 0%,#0878b7 45%,#00a653 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.msg-line-2{animation:lifeline2V12 6s ease-in-out infinite}.msg-line-3{animation:lifeline3V12 6s ease-in-out infinite}
@keyframes lifeline1V12{0%,100%{opacity:0;transform:translateY(55px) scale(.62) rotateX(58deg)}12%{opacity:1;transform:translateY(-4px) scale(1.04)}20%,49%{opacity:1;transform:none}58%{transform:translate(20px,-15px) scale(.72) rotate(-13deg)}70%{opacity:.78;transform:translate(72px,-48px) scale(.45) rotate(-23deg)}80%,99%{opacity:0;transform:translate(110px,-85px) scale(.28) rotate(-30deg)}}
@keyframes lifeline2V12{0%,100%{opacity:0;transform:translateY(62px) scale(.64) rotateX(58deg)}13%{opacity:1;transform:translateY(0) scale(1.04)}20%,49%{opacity:1;transform:none}58%{transform:translate(-8px,8px) rotate(-9deg) scale(1.02)}70%{opacity:.86;transform:translate(-20px,10px) rotate(-14deg) scale(.96)}80%,99%{opacity:0;transform:translate(-34px,-18px) rotate(-18deg) scale(.74)}}
@keyframes lifeline3V12{0%,100%{opacity:0;transform:translateY(68px) scale(.62) rotateX(62deg)}14%{opacity:1;transform:translateY(0) scale(1.04)}20%,49%{opacity:1;transform:none}58%{transform:translate(8px,11px) rotate(-9deg) scale(1.03)}70%{opacity:.86;transform:translate(16px,13px) rotate(-14deg) scale(.97)}80%,99%{opacity:0;transform:translate(30px,-14px) rotate(-19deg) scale(.75)}}
.splash-foot{position:absolute;z-index:6;left:50%;bottom:clamp(22px,3.5vh,46px);transform:translateX(-50%);display:grid;justify-items:center;gap:14px;width:min(78vw,920px)}
.splash-mini{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.splash-mini span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.68);border:1px solid rgba(0,95,168,.10);font-size:10px;font-weight:800;color:#526b7b;backdrop-filter:blur(10px)}
.splash-witness{display:flex;align-items:center;justify-content:center;gap:13px;min-width:min(440px,70vw);height:64px;padding:0 28px;border-radius:20px;background:linear-gradient(100deg,#005fa8 0%,#0878b7 55%,#00a653 120%);color:#fff;font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;font-size:clamp(18px,2vw,28px);font-weight:700;letter-spacing:.04em;box-shadow:0 18px 42px rgba(0,95,168,.23);animation:witnessJumpV12 1.25s cubic-bezier(.33,.02,.22,1) infinite;overflow:hidden;position:relative}
.splash-witness::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.4),transparent 68%);transform:translateX(-140%);animation:witnessSheen 3s ease-in-out infinite}.splash-witness svg{width:25px;height:25px;stroke:#fff;fill:none;stroke-width:1.9;position:relative;z-index:2}.splash-witness span{position:relative;z-index:2}
@keyframes witnessJumpV12{0%,100%{transform:translateY(0)}34%{transform:translateY(-16px)}50%{transform:translateY(0) scale(.987)}66%{transform:translateY(-6px)}78%{transform:translateY(0)}}
@keyframes witnessSheen{0%,55%{transform:translateX(-140%)}82%,100%{transform:translateX(140%)}}

/* Location finder: inspired by the official INOX locations experience, in this app's light style */
.location-finder{display:grid;gap:18px}
.location-filterbar{display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(190px,.75fr) minmax(220px,.9fr) minmax(190px,.7fr);gap:12px;align-items:end;padding:18px;border-radius:24px;background:rgba(255,255,255,.92);border:1px solid rgba(0,95,168,.10);box-shadow:0 18px 50px rgba(0,72,120,.08);backdrop-filter:blur(16px)}
.filter-heading span,.activity-strip-head span,.panel-heading>span{font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#00a653}.filter-heading h2{font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;margin:4px 0 0;color:#073f68;font-size:clamp(22px,2vw,30px)}
.location-filterbar label{display:grid;gap:7px}.location-filterbar label>span{font-size:10px;font-weight:800;color:#6a7f8d;text-transform:uppercase;letter-spacing:.08em}.location-filterbar select{height:54px;border-radius:15px;border:1px solid rgba(0,95,168,.15);padding:0 14px;background:linear-gradient(110deg,#fff,#f1f9fd);color:#073f68;font-weight:800;outline:none;box-shadow:0 7px 18px rgba(0,95,168,.05)}
.location-filterbar .map-filter-result{margin:0;height:54px}
.activity-strip{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.83);border:1px solid rgba(0,95,168,.08)}.activity-strip-head{display:grid;gap:2px}.activity-strip-head b{font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;font-size:15px;color:#073f68;white-space:nowrap}.activity-strip .map-category-list{display:flex;gap:8px;flex-wrap:wrap;margin:0}.activity-strip .map-category-row{width:auto;padding:8px 10px;border-radius:999px;background:#f7fbfd;font-size:10px}.activity-strip .map-category-row img{width:23px;height:26px}
.locations-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px;align-items:stretch}.locations-workspace .map-panel{min-height:620px}.locations-workspace .map-canvas{min-height:560px;height:calc(100% - 58px);padding:0;background:linear-gradient(150deg,#f7fcff,#eff9fd)}
.google-map{position:absolute;inset:0;z-index:4;opacity:0;pointer-events:none;transition:opacity .35s ease}.google-map.is-live{opacity:1;pointer-events:auto}.map-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:18px;transition:opacity .3s ease}.map-fallback.is-hidden{opacity:0;pointer-events:none}.map-stage{width:min(100%,610px);height:100%;max-height:610px;aspect-ratio:1314/1433;overflow:hidden!important}.map-base{object-fit:contain!important}.location-results{min-height:620px;padding:20px;border-radius:28px;background:rgba(255,255,255,.93);border:1px solid rgba(0,95,168,.10);box-shadow:0 18px 50px rgba(0,72,120,.08);overflow:hidden;display:flex;flex-direction:column}.location-results .panel-heading h3{font-family:"Avenir Next","SF Pro Display","Segoe UI Variable","Segoe UI",system-ui,sans-serif;margin:4px 0;color:#073f68;font-size:24px}.location-results .panel-heading p{margin:4px 0 0;color:#6c7f8d;font-size:12px;line-height:1.5}.location-results .map-location-list{max-height:none;overflow:auto;flex:1;margin-top:16px;padding-right:5px}.location-results .map-location-card{padding:12px;border-radius:16px;cursor:pointer}.location-results .map-location-card:hover{transform:translateX(3px);border-color:rgba(0,166,83,.28);box-shadow:0 10px 24px rgba(0,95,168,.08)}
.map-panel-head>div{display:grid;gap:2px}.map-panel-head small{font-size:10px;color:#6e8190}.map-active-info{left:16px!important;bottom:16px!important;right:auto!important;top:auto!important}

/* Lightbox is now always light, not dark */
.lightbox{background:rgba(248,252,255,.92)!important}.lb-img{background:#fff!important;box-shadow:0 30px 80px rgba(0,69,110,.16)!important}.lb-close,.lb-prev,.lb-next{background:#fff!important;color:#073f68!important;border:1px solid rgba(0,95,168,.10)}

@media (orientation:portrait),(max-width:900px){
 .splash-v12>.scene-logo{width:min(76vw,450px);top:28px}.splash-message{width:90vw;top:47%}.msg-line-1{font-size:clamp(24px,6.1vw,44px)}.msg-line-2,.msg-line-3{font-size:clamp(38px,10vw,72px)}.splash-foot{width:92vw;bottom:30px}.splash-mini{display:none}.splash-witness{min-width:min(82vw,430px);height:58px;font-size:17px}.splash-photo-a{width:110vw;height:110vw;left:-50vw;bottom:-40vw}.splash-photo-b{width:100vw;height:100vw;right:-45vw;top:-35vw}
 .location-filterbar{grid-template-columns:1fr;align-items:stretch}.location-filterbar .map-filter-result{height:auto;min-height:58px}.activity-strip{grid-template-columns:1fr}.locations-workspace{grid-template-columns:1fr}.locations-workspace .map-panel,.location-results{min-height:auto}.locations-workspace .map-canvas{min-height:520px;height:520px}.location-results .map-location-list{max-height:330px}.activity-strip .map-category-list{display:grid;grid-template-columns:1fr 1fr}.activity-strip .map-category-row{border-radius:14px}
}
@media (max-width:520px){.activity-strip .map-category-list{grid-template-columns:1fr}.locations-workspace .map-canvas{min-height:430px;height:430px}}
@media (prefers-reduced-motion:reduce){.msg-line,.splash-witness,.splash-photo,.splash-grid,.splash-v12::before{animation:none!important;opacity:1!important;transform:none!important}}
.activity-strip .map-category-row{border:1px solid #e7f0f4;cursor:pointer;font-family:inherit;text-align:left}.activity-strip .map-category-row:hover{border-color:rgba(0,166,83,.28);transform:translateY(-1px)}
.locations-workspace .map-stage{width:auto!important;height:min(96%,610px)!important;aspect-ratio:1314/1433!important;max-width:100%!important;max-height:610px!important;overflow:hidden!important}
@media (orientation:portrait),(max-width:900px){.locations-workspace .map-stage{width:min(100%,430px)!important;height:auto!important;max-height:100%!important}}


/* V13 fixes: reference-matched Lifeline motion, restored Safety gallery and fixed map result viewport */
.msg-line{will-change:transform,opacity,filter;backface-visibility:hidden;transform-style:preserve-3d}
.msg-line-1{animation:lifeline1V13 6.6s cubic-bezier(.44,.02,.2,1) infinite!important;transform-origin:52% 58%}
.msg-line-2{animation:lifeline2V13 6.6s cubic-bezier(.44,.02,.2,1) infinite!important;transform-origin:50% 50%}
.msg-line-3{animation:lifeline3V13 6.6s cubic-bezier(.44,.02,.2,1) infinite!important;transform-origin:49% 42%}
@keyframes lifeline1V13{
  0%,12%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
  18%{opacity:1;transform:translate3d(28px,-8px,20px) rotateX(-6deg) rotateY(18deg) rotateZ(-6deg) scale(.93)}
  24%{opacity:.92;transform:translate3d(72px,-26px,-40px) rotateX(-16deg) rotateY(52deg) rotateZ(-14deg) scale(.67);filter:blur(.2px)}
  30%{opacity:0;transform:translate3d(120px,-58px,-150px) rotateX(-28deg) rotateY(78deg) rotateZ(-22deg) scale(.32);filter:blur(3px)}
  36%{opacity:0;transform:translate3d(-105px,44px,-170px) rotateX(24deg) rotateY(-70deg) rotateZ(18deg) scale(.28);filter:blur(3px)}
  42%{opacity:.72;transform:translate3d(-48px,20px,-55px) rotateX(10deg) rotateY(-26deg) rotateZ(10deg) scale(.62);filter:blur(.4px)}
  48%,68%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
  75%{opacity:1;transform:translate3d(-8px,5px,0) rotateZ(-4deg) rotateY(-10deg) scale(.96)}
  82%{opacity:.9;transform:translate3d(42px,-18px,-46px) rotateZ(10deg) rotateY(38deg) scale(.72)}
  89%{opacity:0;transform:translate3d(102px,-54px,-160px) rotateZ(22deg) rotateY(74deg) scale(.30);filter:blur(3px)}
  94%{opacity:.15;transform:translate3d(-70px,30px,-120px) rotateZ(-16deg) rotateY(-52deg) scale(.38);filter:blur(2px)}
  100%{opacity:1;transform:none;filter:none}
}
@keyframes lifeline2V13{
  0%,12%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
  18%{opacity:1;transform:translate3d(-10px,4px,8px) rotateZ(3deg) rotateY(-8deg) scale(.98)}
  24%{opacity:.9;transform:translate3d(20px,-4px,-32px) rotateZ(-8deg) rotateY(26deg) scale(.82)}
  30%{opacity:.05;transform:translate3d(64px,-18px,-135px) rotateZ(-17deg) rotateY(62deg) scale(.40);filter:blur(2px)}
  36%{opacity:0;transform:translate3d(-90px,42px,-145px) rotateZ(17deg) rotateY(-60deg) scale(.32);filter:blur(3px)}
  42%{opacity:.75;transform:translate3d(-28px,12px,-35px) rotateZ(8deg) rotateY(-18deg) scale(.72);filter:blur(.3px)}
  48%,68%{opacity:1;transform:none;filter:none}
  75%{opacity:1;transform:translate3d(4px,5px,0) rotateZ(-3deg) scale(.98)}
  82%{opacity:.92;transform:translate3d(-16px,10px,-26px) rotateZ(-10deg) rotateY(-24deg) scale(.82)}
  89%{opacity:.08;transform:translate3d(-60px,28px,-128px) rotateZ(-20deg) rotateY(-58deg) scale(.40);filter:blur(2px)}
  94%{opacity:.2;transform:translate3d(62px,-22px,-105px) rotateZ(16deg) rotateY(46deg) scale(.45);filter:blur(1.5px)}
  100%{opacity:1;transform:none;filter:none}
}
@keyframes lifeline3V13{
  0%,12%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
  18%{opacity:1;transform:translate3d(8px,6px,8px) rotateZ(3deg) rotateY(8deg) scale(.98)}
  24%{opacity:.9;transform:translate3d(-18px,9px,-34px) rotateZ(9deg) rotateY(-28deg) scale(.82)}
  30%{opacity:.05;transform:translate3d(-58px,22px,-130px) rotateZ(18deg) rotateY(-60deg) scale(.40);filter:blur(2px)}
  36%{opacity:0;transform:translate3d(88px,-32px,-145px) rotateZ(-18deg) rotateY(62deg) scale(.32);filter:blur(3px)}
  42%{opacity:.78;transform:translate3d(24px,-8px,-34px) rotateZ(-8deg) rotateY(18deg) scale(.72);filter:blur(.3px)}
  48%,68%{opacity:1;transform:none;filter:none}
  75%{opacity:1;transform:translate3d(-3px,5px,0) rotateZ(-3deg) scale(.98)}
  82%{opacity:.9;transform:translate3d(18px,13px,-28px) rotateZ(11deg) rotateY(25deg) scale(.82)}
  89%{opacity:.08;transform:translate3d(62px,30px,-125px) rotateZ(21deg) rotateY(60deg) scale(.40);filter:blur(2px)}
  94%{opacity:.2;transform:translate3d(-58px,-20px,-110px) rotateZ(-15deg) rotateY(-48deg) scale(.45);filter:blur(1.5px)}
  100%{opacity:1;transform:none;filter:none}
}

/* Keep Safety imagery crisp and avoid broken-alt layout if an image is loading. */
.safety-card{position:relative;min-height:330px}
.safety-card>img{display:block;background:linear-gradient(135deg,#edf8ff,#eefbf5);font-size:0}

/* Fixed-height Location Details viewport with invisible scrollbar. */
.location-results{height:620px!important;min-height:620px!important;max-height:620px!important;overflow:hidden!important}
.location-results .map-location-list{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:none!important;-ms-overflow-style:none;padding-right:4px}
.location-results .map-location-list::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
@media (max-width:1120px){.location-results{height:560px!important;min-height:560px!important;max-height:560px!important}}
@media (orientation:portrait),(max-width:820px){.location-results{height:390px!important;min-height:390px!important;max-height:390px!important}.location-results .map-location-list{max-height:none!important}}

/* V14 — reference-video Lifeline sequence + richer location address cards */
.splash-message{perspective:1200px;transform-style:preserve-3d}
.msg-line{transform-style:preserve-3d;backface-visibility:visible;will-change:transform,opacity,filter}
.msg-line-1{animation:lifeline1V14 5.45s cubic-bezier(.4,0,.2,1) infinite!important;transform-origin:48% 55%}
.msg-line-2{animation:lifeline2V14 5.45s cubic-bezier(.4,0,.2,1) infinite!important;transform-origin:48% 48%}
.msg-line-3{animation:lifeline3V14 5.45s cubic-bezier(.4,0,.2,1) infinite!important;transform-origin:50% 42%}
@keyframes lifeline1V14{
  0%,18%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
  23%{opacity:1;transform:translate3d(15px,-3px,-12px) rotateX(-3deg) rotateY(14deg) rotateZ(4deg) scale(.96)}
  29%{opacity:.72;transform:translate3d(48px,-7px,-72px) rotateX(-8deg) rotateY(48deg) rotateZ(10deg) scale(.72);filter:blur(.3px)}
  34%{opacity:.04;transform:translate3d(86px,-12px,-180px) rotateX(-14deg) rotateY(78deg) rotateZ(18deg) scale(.34);filter:blur(2.6px)}
  39%,47%{opacity:0;transform:translate3d(100px,-14px,-220px) rotateY(86deg) rotateZ(20deg) scale(.22);filter:blur(4px)}
  50%{opacity:.05;transform:translate3d(-150px,58px,-150px) rotateX(15deg) rotateY(-46deg) rotateZ(-15deg) scale(.30);filter:blur(3px)}
  55%{opacity:.96;transform:translate3d(-72px,26px,-18px) rotateX(5deg) rotateY(-15deg) rotateZ(-7deg) scale(1.34);filter:blur(.15px)}
  61%{opacity:1;transform:translate3d(-20px,7px,0) rotateZ(-2deg) scale(1.12)}
  68%,100%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
}
@keyframes lifeline2V14{
  0%,18%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
  23%{opacity:1;transform:translate3d(3px,5px,-8px) rotateZ(-2deg) rotateY(-5deg) scale(.94)}
  29%{opacity:.8;transform:translate3d(12px,10px,-48px) rotateZ(-5deg) rotateY(18deg) scale(.72)}
  35%{opacity:.18;transform:translate3d(26px,14px,-135px) rotateZ(-10deg) rotateY(48deg) scale(.40);filter:blur(1.7px)}
  40%,49%{opacity:0;transform:translate3d(35px,18px,-180px) rotateZ(-14deg) rotateY(66deg) scale(.24);filter:blur(3px)}
  53%{opacity:.10;transform:translate3d(77px,27px,-120px) rotateZ(10deg) rotateY(32deg) scale(.24);filter:blur(2px)}
  58%{opacity:.72;transform:translate3d(44px,16px,-40px) rotateZ(6deg) rotateY(12deg) scale(.52);filter:blur(.3px)}
  63%{opacity:1;transform:translate3d(14px,5px,0) rotateZ(2deg) scale(.84)}
  69%,100%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
}
@keyframes lifeline3V14{
  0%,18%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
  23%{opacity:1;transform:translate3d(-2px,6px,-8px) rotateZ(2deg) rotateY(5deg) scale(.94)}
  29%{opacity:.76;transform:translate3d(-9px,13px,-52px) rotateZ(5deg) rotateY(-18deg) scale(.68)}
  35%{opacity:.15;transform:translate3d(-22px,20px,-140px) rotateZ(11deg) rotateY(-50deg) scale(.36);filter:blur(1.8px)}
  40%,50%{opacity:0;transform:translate3d(-34px,24px,-185px) rotateZ(15deg) rotateY(-68deg) scale(.22);filter:blur(3px)}
  54%{opacity:.08;transform:translate3d(84px,38px,-125px) rotateZ(12deg) rotateY(35deg) scale(.21);filter:blur(2px)}
  59%{opacity:.68;transform:translate3d(48px,20px,-38px) rotateZ(7deg) rotateY(14deg) scale(.49);filter:blur(.3px)}
  64%{opacity:1;transform:translate3d(16px,6px,0) rotateZ(2deg) scale(.83)}
  70%,100%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0) scale(1);filter:blur(0)}
}

.map-location-card{align-items:flex-start!important;cursor:pointer}
.map-location-card .location-copy{display:grid!important;gap:4px!important;min-width:0!important}
.map-location-card address{font-style:normal;font-size:10px;line-height:1.45;color:#526b7b;margin-top:2px}
.map-location-card small{font-size:9px;color:#073f68;font-weight:800}
.map-active-info{max-width:340px!important}
.map-active-info small{display:block;margin-top:6px;font-size:10px;line-height:1.4;color:#526b7b;font-weight:500}
.map-active-info em{display:block;margin-top:5px;font-style:normal;font-size:10px;color:#073f68;font-weight:800}

@media (orientation:portrait),(max-width:820px){
 .map-location-card address{font-size:10px}
 .map-active-info{left:10px!important;right:10px!important;bottom:10px!important;max-width:none!important}
}

/* V14 exact Lifeline motion extracted from the user's Unity reference recording. */
.splash-message-exact{pointer-events:none;perspective:none!important;transform:translate(-50%,-50%)!important}
.splash-message-exact img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,95,168,.12));user-select:none;-webkit-user-drag:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (orientation:portrait),(max-width:820px){.splash-message-exact{width:96vw!important;top:48%!important}}
