.loc-hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:#04111d}.loc-hero-image{position:absolute;inset:0;background:url('../assets/naval-radar-harbor.webp') center/cover;filter:saturate(.5) contrast(1.08);animation:drift 16s ease-in-out infinite alternate}.loc-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,11,19,.92),rgba(3,15,25,.42) 65%,rgba(2,11,19,.68)),linear-gradient(0deg,#03101b,transparent 60%)}.radar{position:absolute;left:74%;top:52%;width:min(54vw,760px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid rgba(142,195,223,.25);border-radius:50%}.radar i{position:absolute;inset:18%;border:1px solid rgba(142,195,223,.18);border-radius:50%}.radar i:nth-child(2){inset:36%}.radar i:nth-child(3){inset:49%;background:#85bde0;box-shadow:0 0 25px #6ca6ca}.radar b{position:absolute;left:50%;top:50%;width:48%;height:1px;transform-origin:left;background:linear-gradient(90deg,#7fb7d7,transparent);animation:sweep 7s linear infinite}.network{background:radial-gradient(circle at 32% 45%,#0c2c43,transparent 42%),#04121f}.network-head{display:grid;grid-template-columns:1.15fr .55fr;gap:8vw;align-items:end}.network-head .eyebrow{grid-column:1/-1}.network-head>p:last-child{color:#9db0ba;line-height:1.8}.network-map{height:min(68vw,760px);min-height:560px;margin-top:5rem;position:relative;overflow:hidden;border:1px solid rgba(165,202,222,.2);background:#061827}.network-map>img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(1.08);opacity:.8}.network-map>svg{position:absolute;inset:0;width:100%;height:100%;z-index:2}.network-map path{fill:none;stroke:#7d9cff;stroke-width:2;stroke-dasharray:5 12;animation:route 2.5s linear infinite;filter:drop-shadow(0 0 6px #668cff)}.map-point{position:absolute;z-index:3;display:grid;grid-template-columns:18px 1fr;column-gap:.5rem;text-transform:uppercase;text-shadow:0 2px 8px #03101b}.map-point i{grid-row:1/3;width:10px;height:10px;margin-top:4px;border-radius:50%;background:#eef7fa;box-shadow:0 0 0 7px rgba(99,139,255,.18),0 0 28px #638bff;animation:pulse 2s ease-in-out infinite}.map-point strong{font:800 clamp(.7rem,1.2vw,1rem) Montserrat}.map-point small{color:#c4d3da;font-size:.5rem;letter-spacing:.1em}.mangalia{left:73%;top:56%}.tulcea{left:77%;top:41%}.genova{left:27%;top:50%}.riva{left:32%;top:42%}.map-code{position:absolute;z-index:3;left:2rem;bottom:2rem;color:#9cb0ba;font-size:.58rem;font-weight:600;letter-spacing:.18em}.yards{background:#e8ebea;color:#061725}.yards:before{background-image:linear-gradient(rgba(7,35,51,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(7,35,51,.07) 1px,transparent 1px)}.yards .chapter{color:#516e7e}.yards .eyebrow{color:#4f7082}.yards h2 em{color:#24475b}.yard-list{margin-top:5rem;border-top:1px solid rgba(8,39,57,.2)}.yard-card{display:grid;grid-template-columns:110px 1fr 210px;gap:4vw;padding:3.2rem 0;border-bottom:1px solid rgba(8,39,57,.2);transition:.45s}.yard-card:hover{padding-left:1.3rem;background:linear-gradient(90deg,rgba(62,103,126,.06),transparent)}.yard-number{color:#5473d9;font-size:.62rem;font-weight:600;letter-spacing:.14em}.yard-copy small{color:#577282;font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.yard-copy h3{margin:.8rem 0 1.2rem;font:800 clamp(2.6rem,5vw,5.8rem)/.9 Montserrat;text-transform:uppercase;letter-spacing:-.065em}.yard-copy p{max-width:720px;color:#526873;line-height:1.75}.yard-copy>div{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.yard-copy>div span{padding:.6rem .9rem;border:1px solid rgba(8,39,57,.2);border-radius:99px;font-size:.57rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.yard-coord{align-self:center;border-left:1px solid rgba(8,39,57,.18);padding-left:2rem}.yard-coord b,.yard-coord span{display:block}.yard-coord b{font:300 1.35rem 'Cormorant Garamond',serif}.yard-coord span{margin-top:.7rem;color:#597282;font-size:.58rem;letter-spacing:.13em;text-transform:uppercase}.mobilisation{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:linear-gradient(135deg,#061827,#03101b)}.mobilisation-copy>p:last-child{color:#9db0ba;line-height:1.8}.mobilisation-flow{border-top:1px solid var(--line)}.mobilisation-flow article{display:grid;grid-template-columns:44px 1fr;gap:.3rem 1rem;padding:1.45rem 0;border-bottom:1px solid var(--line)}.mobilisation-flow b{grid-row:1/3;color:#7596ff;font-size:.6rem}.mobilisation-flow h3{margin:0;font:800 1.1rem Montserrat;text-transform:uppercase}.mobilisation-flow p{margin:.6rem 0 0;color:#91a6b1;font-size:.82rem;line-height:1.6}.footprint{background:radial-gradient(circle at 72% 36%,#0b2c43,transparent 36%),#051421}.footprint-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:5rem;border-top:1px solid var(--line)}.footprint-stats article{min-height:220px;padding:2rem;border-right:1px solid var(--line)}.footprint-stats strong{display:block;font:300 clamp(4rem,7vw,7.5rem)/1 'Cormorant Garamond',serif}.footprint-stats span{display:block;max-width:170px;margin-top:1rem;color:#91a8b4;font-size:.62rem;line-height:1.5;letter-spacing:.11em;text-transform:uppercase}@keyframes sweep{to{transform:rotate(360deg)}}@keyframes route{to{stroke-dashoffset:-34}}@keyframes pulse{50%{box-shadow:0 0 0 12px rgba(99,139,255,.05),0 0 38px #638bff}}@keyframes drift{to{transform:scale(1.06) translate(-.5%,.5%)}}@media(max-width:1000px){.network-head,.mobilisation{grid-template-columns:1fr}.network-map{height:70vw;min-height:500px}.yard-card{grid-template-columns:70px 1fr}.yard-coord{grid-column:2;border-left:0;padding:0}.footprint-stats{grid-template-columns:1fr 1fr}}@media(max-width:620px){.loc-hero{min-height:690px}.radar{left:86%;width:135vw}.network-map{height:120vw;min-height:480px}.map-point strong{font-size:.62rem}.map-point small{display:none}.mangalia{left:68%}.tulcea{left:74%}.genova{left:15%}.riva{left:22%}.yard-card{grid-template-columns:1fr;gap:1rem}.yard-coord{grid-column:1}.yard-copy h3{font-size:12vw}.footprint-stats{grid-template-columns:1fr 1fr}.footprint-stats article{min-height:170px;padding:1.2rem}}@media(prefers-reduced-motion:reduce){.loc-hero-image,.radar b,.network-map path,.map-point i{animation:none}}
/* Geographic calibration for the Europe chart: Liguria and Romania's Black Sea coast. */
.network-map .mangalia{left:68%;top:35%}.network-map .tulcea{left:68.5%;top:28%}.network-map .genova{left:29%;top:37%}.network-map .riva{left:31%;top:30%}
@media(max-width:620px){.network-map .mangalia{left:66%;top:36%}.network-map .tulcea{left:68%;top:26%}.network-map .genova{left:23%;top:39%}.network-map .riva{left:29%;top:27%}}

/* Monfalcone, on the northern Adriatic coast. */
.network-map .monfalcone{left:43%;top:29%;white-space:nowrap}.network-map .monfalcone i{animation-delay:-.7s}.network-map svg path:nth-child(4){animation-delay:-.8s}.network-map svg path:nth-child(5){animation-delay:-1.4s}
@media(max-width:620px){.network-map .monfalcone{left:43%;top:29%}.network-map .monfalcone strong{font-size:.58rem}}
