/* NPRF 3D visual alignment with production homepage light navy palette. */
:root{color-scheme:light;background:#f3f6fa;color:#142033}
body{background:#f3f6fa;color:#142033}
.bar{background:#fff;border-bottom:1px solid #dfe5ee;box-shadow:0 1px 7px #082d6014}
.brand-mark{color:#c9312f}.brand strong{color:#082d60}.brand small{color:#687387}
.demo{background:#eef4fb;color:#15539a;border:1px solid #d9e7f7}
#layout{background:#f3f6fa}
.map{background:#dbe9f8}
.panel{background:#fff;color:#142033;border-left:1px solid #dfe5ee}
.eyebrow{color:#15539a}
.panel h1,.panel h2,.panel h3{color:#082d60}
.muted,.panel .card p{color:#59677a}
.metrics>div{background:#eef4fb;border:1px solid #d9e7f7}
.metrics span{color:#687387}.metrics b{color:#082d60}
.panel .card{background:#fff;border:1px solid #dfe5ee;box-shadow:0 2px 10px #082d600b}
button{background:#fff;color:#082d60;border:1px solid #bbd4ef;box-shadow:0 2px 8px #082d601a}
button.selected{background:#15539a;color:#fff;border-color:#15539a}
button:hover{background:#eef4fb;color:#082d60}
#loader{background:#fff;color:#082d60;border-color:#bbd4ef}
.link,.nprf-source-link{color:#15539a}
.source{color:#687387}
.nprf-3d-media-links{border-top-color:#dfe5ee!important}
.nprf-3d-media-links a{color:#15539a!important}
.map-bottom small{background:#ffffffdf;color:#24364d}
/* Accessible text contrast for control buttons including hover/selected/mobile. */
#layout button:not(.selected), .bar button:not(.selected){background-color:#ffffff!important;color:#082d60!important;border-color:#8ab0da!important}
#layout button:not(.selected):is(:hover,:focus-visible), .bar button:not(.selected):is(:hover,:focus-visible){background-color:#dbe9f8!important;color:#082d60!important}
#layout button.selected, #layout button.selected:is(:hover,:focus-visible), .bar button.selected{background-color:#15539a!important;color:#ffffff!important;border-color:#082d60!important}
#layout button:disabled{opacity:.58;cursor:not-allowed}
#layout button:focus-visible{outline:3px solid #c9312f;outline-offset:2px}
#layout .nav-tools button,#layout .mode-switch button{font-weight:750;text-shadow:none}
#layout .panel .card{box-shadow:0 2px 12px #082d6016;border-color:#bbd4ef}
#layout .panel .card h2{font-weight:800;letter-spacing:.01em}
.nprf-photo-above-pin{position:absolute;z-index:12;transform:translateX(-50%);pointer-events:auto;display:block;white-space:nowrap;padding:10px 14px;border-radius:12px;background:#15539a;color:#fff!important;font:750 13px/1.3 Inter,system-ui,Arial,sans-serif;text-decoration:none;box-shadow:0 4px 14px #082d6044;border:2px solid #fff}
.nprf-photo-above-pin:hover,.nprf-photo-above-pin:focus-visible{background:#082d60;color:#fff!important;outline:3px solid #c9312f;outline-offset:2px}
.nprf-photo-above-pin[hidden]{display:none!important}
#layout .nprf-map-pin,#layout .nprf-map-pin.selected,#layout .nprf-map-pin:hover{color:#fff!important;background:#15539a!important;border-color:#fff!important}
#layout .nprf-pin-shape{color:#fff!important}
#layout .panel .card p,#layout .panel .source{font-size:13px;line-height:1.7}
@media(max-width:850px){.panel{border-top:1px solid #dfe5ee}#layout button{font-size:12px;letter-spacing:.01em}}
