/* imu-vets-hud v1: tactical HUD skin for the homepage Vets band. Black + gold only, original CSS/SVG, no images beyond the existing iMV badge. */
.vh{--vg:231,181,58;--mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;padding:clamp(40px,5.5vw,80px) 0;
  background:
    radial-gradient(45% 90% at 16% 50%,rgba(var(--vg),.12),transparent 70%),
    repeating-radial-gradient(circle at 84% 18%,transparent 0 22px,rgba(var(--vg),.045) 22px 23px),
    repeating-radial-gradient(circle at 70% 120%,transparent 0 30px,rgba(var(--vg),.035) 30px 31px),
    linear-gradient(180deg,#060504,#0b0906 50%,#060504)}
.vh::before{background:
    linear-gradient(rgba(var(--vg),.05) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,rgba(var(--vg),.05) 1px,transparent 1px) 0 0/48px 48px;
  -webkit-mask:radial-gradient(80% 100% at 50% 50%,#000 30%,transparent 85%);mask:radial-gradient(80% 100% at 50% 50%,#000 30%,transparent 85%)}
.vh::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px),
    linear-gradient(180deg,transparent 0,rgba(var(--vg),.07) 50%,transparent 100%) 0 -40%/100% 140px no-repeat;
  animation:vh-scan 9s linear infinite}
@keyframes vh-scan{to{background-position:0 0,0 140%}}
.vh-panel{position:relative;z-index:1;padding:clamp(18px,2.6vw,30px) clamp(18px,3vw,40px);border:1px solid rgba(var(--vg),.16);background:linear-gradient(180deg,rgba(5,5,5,.55),rgba(12,10,6,.7));box-shadow:inset 0 0 60px rgba(0,0,0,.6)}
.vh-panel::before{content:"";position:absolute;inset:-6px;pointer-events:none;--c:rgba(var(--vg),.9);
  background:
    linear-gradient(var(--c),var(--c)) 0 0/26px 2px,linear-gradient(var(--c),var(--c)) 0 0/2px 26px,
    linear-gradient(var(--c),var(--c)) 100% 0/26px 2px,linear-gradient(var(--c),var(--c)) 100% 0/2px 26px,
    linear-gradient(var(--c),var(--c)) 0 100%/26px 2px,linear-gradient(var(--c),var(--c)) 0 100%/2px 26px,
    linear-gradient(var(--c),var(--c)) 100% 100%/26px 2px,linear-gradient(var(--c),var(--c)) 100% 100%/2px 26px;
  background-repeat:no-repeat;filter:drop-shadow(0 0 6px rgba(var(--vg),.45))}
.vh-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;font:500 11px/1.3 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:rgba(var(--vg),.72)}
.vh-bar b{color:rgba(var(--vg),.4);font-weight:400;margin:0 .35em}
.vh-top{padding-bottom:14px;margin-bottom:clamp(18px,2.4vw,28px);border-bottom:1px dashed rgba(var(--vg),.2)}
.vh-bot{padding-top:14px;margin-top:clamp(18px,2.4vw,28px);border-top:1px dashed rgba(var(--vg),.2);color:rgba(var(--vg),.5);font-size:10.5px}
.vh-rec{display:inline-flex;align-items:center;gap:10px;color:var(--gold-hi)}
.vh-rec i{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:vh-blink 1.6s steps(2,start) infinite}
@keyframes vh-blink{50%{opacity:.25}}
.vh-tag{padding:5px 12px 5px 14px;color:#140d02;background:var(--gbtn);font-weight:700;letter-spacing:.2em;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.vh-sig{display:inline-flex;align-items:flex-end;gap:2px;height:10px;margin-left:8px;vertical-align:-1px}
.vh-sig u{width:3px;background:rgba(var(--vg),.75)}.vh-sig u:nth-child(1){height:3px}.vh-sig u:nth-child(2){height:5px}.vh-sig u:nth-child(3){height:7px}.vh-sig u:nth-child(4){height:9px}.vh-sig u:nth-child(5){height:10px;background:rgba(var(--vg),.22)}
.vh-grid{display:grid;gap:22px;align-items:center}
@media (min-width:860px){.vh-grid{grid-template-columns:auto 1fr;gap:clamp(36px,4vw,56px)}}
/* scope */
.vh-scope{position:relative;width:176px;aspect-ratio:1;display:grid;place-items:center;flex:none;margin-inline:auto}
@media (min-width:860px){.vh-scope{width:224px;margin:0}}
.vh-reticle{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--gold)}
.vh-r0{stroke-width:1.6;stroke-opacity:.85;filter:drop-shadow(0 0 4px rgba(231,181,58,.5))}
.vh-ticks{stroke-width:5;stroke-opacity:.45;stroke-dasharray:1 8.2531}
.vh-ticks-major{stroke-width:10;stroke-opacity:.85;stroke-dasharray:1.6 53.9015}
.vh-r1{stroke-width:.8;stroke-opacity:.35;stroke-dasharray:3 5}
.vh-post{stroke-width:5;stroke-linecap:butt}
.vh-hair{stroke-width:1.1;stroke-opacity:.9}
.vh-dots{fill:var(--gold-hi);stroke:none}
.vh-lock{stroke:var(--gold-hi);stroke-width:2.2;transform-origin:120px 120px}
.vh-sweep{position:absolute;inset:5%;border-radius:50%;background:conic-gradient(from 0deg,rgba(var(--vg),.28),rgba(var(--vg),0) 22%,transparent 100%);
  -webkit-mask:radial-gradient(circle,transparent 30%,#000 31%);mask:radial-gradient(circle,transparent 30%,#000 31%);animation:vh-spin 6s linear infinite;opacity:.55}
@keyframes vh-spin{to{transform:rotate(1turn)}}
.vh-badge{position:relative;width:44%;height:auto;filter:drop-shadow(0 6px 22px rgba(231,181,58,.4))}
.vh-lockt{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);white-space:nowrap;font:600 10px/1 var(--mono,monospace);letter-spacing:.24em;text-transform:uppercase;color:#140d02;background:var(--gold);padding:4px 8px;opacity:0}
/* reticle lock when the band scrolls into view (.rv gets .in from home-v2.js); static + locked without JS or with reduced motion */
.js .vh-scope.in .vh-lock{animation:vh-lock 1.1s cubic-bezier(.2,.8,.2,1) .35s both,vh-pulse 2.4s ease-in-out 1.6s infinite}
.js .vh-scope.in .vh-lockt{animation:vh-in .3s ease 1.3s both}
.js .vh-scope.in .vh-badge{animation:vh-in .5s ease .2s both}
html:not(.js) .vh-lockt{opacity:1}
@keyframes vh-lock{0%{transform:scale(1.55) rotate(45deg);opacity:0}60%{transform:scale(.94) rotate(0);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes vh-pulse{50%{stroke-opacity:.45}}
@keyframes vh-in{from{opacity:0}to{opacity:1}}
/* copy */
.vh-eyebrow{font-weight:600;letter-spacing:.34em;color:var(--gold-hi)}
.vh-eyebrow span{color:var(--gold);letter-spacing:.05em}
.vh .vets-h{font-weight:300}
.vh-btn{border-radius:4px;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);letter-spacing:.08em;text-transform:uppercase;font-size:15px;font-weight:600}
.vh-honor{font:500 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--vg),.75);padding-left:12px;border-left:2px solid rgba(var(--vg),.6)}
.vh-honor::before{font-size:11px}
@media (max-width:859px){.vh-grid{justify-items:start}.vh-scope{margin-inline:auto}}
@media (max-width:520px){.vh-hide-s{display:none}.vh-bar{letter-spacing:.12em;font-size:10px}.vh-top{flex-wrap:nowrap}.vh-tag{padding:4px 9px 4px 11px;letter-spacing:.14em}.vh-btn{width:100%}}
@media (prefers-reduced-motion:reduce){.vh::after{animation:none}.vh-sweep{animation:none;opacity:.35}.vh-rec i{animation:none}
  .js .vh-scope .vh-lock,.js .vh-scope.in .vh-lock{animation:none;transform:none;opacity:1}.vh-lockt,.js .vh-scope .vh-lockt{animation:none;opacity:1}.js .vh-scope .vh-badge{animation:none;opacity:1}}
