/* Operator portrait and animated activation maps */
.portrait{margin:3.5rem 0 0;position:relative;overflow:hidden;background:var(--navy)}
.portrait img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;filter:saturate(.9)}
.portrait figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.2rem 1.4rem;background:linear-gradient(0deg,#07131ff2,transparent);color:white}
.portrait figcaption strong,.portrait figcaption span{display:block}
.portrait figcaption strong{font:700 1.35rem "Barlow Condensed";text-transform:uppercase}
.portrait figcaption span{font-size:.75rem;color:var(--gold);letter-spacing:.1em}
.reach{margin-top:110px;display:grid;grid-template-columns:.7fr 1.3fr;gap:5rem;align-items:center}
.reach-copy h3{font:700 clamp(3rem,5vw,5rem)/.88 "Barlow Condensed";text-transform:uppercase;margin:1.4rem 0 2rem}
.reach-copy>p:last-child{color:var(--muted)}
.map-show{background:var(--navy);padding:.8rem;box-shadow:0 25px 60px #07131f28}
.map-stage{position:relative;aspect-ratio:4/3;overflow:hidden;background:#06101a}
.map-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .9s ease;overflow:hidden}
.map-slide.active{opacity:1;visibility:visible;z-index:1}
.map-slide img{width:100%;height:100%;object-fit:contain;transform:scale(1.01);transform-origin:center;filter:saturate(.92)}
.map-slide.active img{animation:map-drift 6s ease-out both}
.map-slide figcaption{position:absolute;z-index:2;left:1rem;bottom:1rem;background:#07131fe8;color:white;padding:.55rem .8rem;font:700 .75rem "DM Sans";letter-spacing:.08em;text-transform:uppercase;border-left:3px solid var(--gold)}
.map-controls{min-height:58px;display:flex;align-items:center;justify-content:space-between;color:white;padding:.5rem .35rem 0 1rem}
.map-count{font:600 .8rem "DM Sans";letter-spacing:.12em;color:#8ea1ad}.map-count b{color:var(--gold);font-size:1.05rem}
.map-controls button{min-width:48px;height:40px;border:1px solid #ffffff35;background:transparent;color:white;font:600 .75rem "DM Sans";text-transform:uppercase;cursor:pointer}
.map-controls button:hover,.map-controls button:focus-visible{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.map-toggle{padding:0 1rem}
@keyframes map-drift{from{transform:scale(1.01)}to{transform:scale(1.07)}}
@media(max-width:800px){.reach{grid-template-columns:1fr;gap:2.5rem;margin-top:75px}.map-stage{aspect-ratio:3/4}.map-slide img{object-fit:contain}.map-toggle{padding:0 .7rem}.portrait{margin-top:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.map-slide{transition:none}.map-slide.active img{animation:none}}

.footer-links{display:flex;align-items:center;gap:2rem}
.social-links{display:flex;gap:.65rem}
.footer-links a{display:inline-flex;align-items:center;gap:.55rem;border:1px solid #ffffff3d;padding:.7rem 1rem;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease}
.footer-links a span{color:var(--gold);font-size:1rem}
.footer-links a:hover,.footer-links a:focus-visible{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.footer-links a:hover span,.footer-links a:focus-visible span{color:var(--navy)}
.footer-links p{margin:0}
@media(max-width:800px){.footer-links{align-items:flex-end;flex-direction:column;gap:1rem}.social-links{flex-direction:column;align-items:flex-end}}

/* Rounded map transitions */
.map-show{border-radius:26px;overflow:hidden}
.map-stage{border-radius:18px}
.map-slide,.map-slide img{border-radius:18px}

/* Scroll-reveal typography and content */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.3,1);transition-delay:var(--reveal-delay,0ms)}
.js .reveal.is-visible{opacity:1;transform:translateY(0)}
.js .reveal[data-reveal="soft"]{transform:translateY(18px)}
.js .reveal[data-reveal="soft"].is-visible{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.js .reveal,.js .reveal[data-reveal="soft"]{opacity:1;transform:none;transition:none}}

/* Live Parks on the Air status */
.pota-live{margin-top:90px;border:1px solid #ffffff24;border-radius:26px;overflow:hidden;background:#0a1c2a;box-shadow:0 26px 70px #0004}
.pota-live-heading{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2.2rem 2.5rem;border-bottom:1px solid #ffffff1d}
.pota-live-heading .section-no{margin:0 0 .8rem}
.pota-live-heading h3{margin:0;font:700 clamp(2.5rem,4vw,4.2rem)/.9 "Barlow Condensed",sans-serif;text-transform:uppercase}
.pota-status{display:flex;align-items:center;gap:.75rem;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#aab8c0}
.pota-status-dot{width:11px;height:11px;border-radius:50%;background:#7d8a91;box-shadow:0 0 0 6px #7d8a9120}
.pota-live.is-live .pota-status{color:#bcecc7}.pota-live.is-live .pota-status-dot{background:#46d16f;box-shadow:0 0 0 6px #46d16f23;animation:pota-pulse 1.8s ease-out infinite}
.pota-live.is-recent .pota-status{color:#f6d77c}.pota-live.is-recent .pota-status-dot{background:var(--gold);box-shadow:0 0 0 6px #f6b81720}
.pota-live.is-unavailable .pota-status-dot{background:#d97a70}
.pota-live-grid{display:grid;grid-template-columns:1fr .8fr 2.2fr 1fr}
.pota-stat{min-width:0;padding:2rem 2.5rem;border-right:1px solid #ffffff1d}
.pota-stat:last-child{border-right:0}
.pota-stat>span{display:block;margin-bottom:.7rem;color:#80939f;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.pota-stat strong{display:block;color:white;font:700 1.6rem/1.15 "Barlow Condensed",sans-serif;text-transform:uppercase;overflow-wrap:anywhere}
.pota-stat small{display:block;margin-top:.4rem;color:var(--gold);font-size:.75rem;font-weight:600;letter-spacing:.08em}
.pota-live-footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.25rem 2.5rem;background:#071722;border-top:1px solid #ffffff1d}
.pota-live-footer p{margin:0;color:#9babb4;font-size:.84rem}
.pota-actions{display:flex;flex-shrink:0;gap:.75rem}
.pota-actions button,.pota-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #ffffff35;background:transparent;color:white;padding:.65rem 1rem;font:700 .75rem "DM Sans";letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.pota-actions button:hover,.pota-actions button:focus-visible,.pota-actions a:hover,.pota-actions a:focus-visible{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.pota-actions button:disabled{cursor:wait;opacity:.6}
@keyframes pota-pulse{0%{box-shadow:0 0 0 0 #46d16f55}70%{box-shadow:0 0 0 10px #46d16f00}100%{box-shadow:0 0 0 0 #46d16f00}}
@media(max-width:900px){.pota-live-grid{grid-template-columns:1fr 1fr}.pota-stat:nth-child(2){border-right:0}.pota-stat:nth-child(-n+2){border-bottom:1px solid #ffffff1d}}
@media(max-width:650px){.pota-live{margin-top:65px;border-radius:20px}.pota-live-heading,.pota-live-footer{align-items:flex-start;flex-direction:column;padding:1.7rem}.pota-live-grid{grid-template-columns:1fr 1fr}.pota-stat{padding:1.5rem}.pota-stat strong{font-size:1.35rem}.pota-park{grid-column:1/-1;border-right:0;border-bottom:1px solid #ffffff1d}.pota-stat:last-child{grid-column:1/-1}.pota-actions{width:100%;flex-wrap:wrap}.pota-actions button,.pota-actions a{flex:1}.pota-live-footer{gap:1.2rem}}
@media(prefers-reduced-motion:reduce){.pota-live.is-live .pota-status-dot{animation:none}}

/* Pasco ACS / AUXCOMM credential */
.auxcomm-credential{display:flex;align-items:center;gap:1.1rem;margin:2rem 0;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:18px;background:#f5f8fa;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.auxcomm-credential:hover,.auxcomm-credential:focus-visible{transform:translateY(-2px);border-color:#3774b7;box-shadow:0 12px 28px #07131f16}
.auxcomm-credential img{width:88px;height:88px;flex:0 0 88px;object-fit:contain}
.auxcomm-credential span{display:block;min-width:0}
.auxcomm-credential strong{display:block;color:var(--navy);font:800 1.65rem/1 "Barlow Condensed",sans-serif;letter-spacing:.02em;text-transform:uppercase}
.auxcomm-credential small{display:block;margin-top:.45rem;padding:0;border:0;color:#4d6575;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:480px){.auxcomm-credential{align-items:center;padding:.9rem}.auxcomm-credential img{width:72px;height:72px;flex-basis:72px}.auxcomm-credential strong{font-size:1.35rem}}
