/* FedSonar TEST globe concept. Layered on a copy of the live ff.css. Accent: blue #4da3ff. No green. */
:root{--acc:#4da3ff;--accd:#4da3ff22;--mint:#4da3ff}
/* concept-only gradient: the live mint stop is removed; loops magenta > violet > blue > cyan-blue > back */
.concept .si,.concept .wm-g{background-image:linear-gradient(120deg,#ff2bd6 0%,#c63bff 22%,#7b5cff 40%,#4da3ff 60%,#00b8ff 78%,#ff2bd6 100%);filter:none}
body.concept{padding-bottom:0;background:#000}
.testtag{font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#ffcf8a;border:1px dashed #ffb54788;border-radius:6px;padding:3px 7px;white-space:nowrap}
.gh{position:relative;overflow:hidden;background:radial-gradient(90% 45% at 60% 55%,#0a0f1c 0%,#000 100%)}
.gh-in{display:flex;flex-direction:column;padding-top:26px}
.gh-copy{display:contents}
.kick{order:0;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mu)}
.gh h1{order:1;font-size:clamp(2rem,8.6vw,3.6rem);font-weight:800;letter-spacing:-.025em;line-height:1.05;margin-top:10px;max-width:14ch}
.subl{order:2;display:flex;align-items:flex-start;gap:9px;margin-top:12px;color:#c9cdd6;font-size:1.05rem}
.adot{flex:none;margin-top:.55em;width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px var(--accd)}
.gbtn{order:3;align-self:flex-start;margin-top:20px;background:var(--acc);border-color:var(--acc);color:#04101f}
.gbtn:hover{background:#7dbcff;border-color:#7dbcff}
.gh-globe{order:4;position:relative;-webkit-mask-image:linear-gradient(#000 72%,transparent);mask-image:linear-gradient(#000 72%,transparent);height:calc(132vw * .84);margin:18px -16px 0;overflow:hidden}
.globe{position:absolute;top:0;width:132vw;left:calc(50% - 69vw)}
.globe img{display:block;width:100%;height:auto}
.plab{position:absolute;display:inline-flex;align-items:center;white-space:nowrap;font-size:.74rem;line-height:1;color:#e8ecf3;background:#07090dE6;border:1px solid #4da3ff66;border-radius:999px;padding:6px 10px;box-shadow:0 4px 18px #0009}
.plab b{font-weight:800}
.plab .lx{display:none}.plab .ls{display:inline}
.plab-dc{transform:translate(calc(-100% + 6px),16px)}
.plab-ott{transform:translate(4px,calc(-100% - 20px))}
.stats-g{order:5;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:-6px 0 8px;position:relative;z-index:2}
.sc{background:#0d0f14e8;border:1px solid #2a2d36;border-radius:16px;padding:14px 14px 12px}
.sc:first-child{grid-column:1/-1}
.sc .v{font-size:1.65rem;font-weight:800;letter-spacing:-.01em}
.sc .l{font-size:.84rem;color:#c3c7d0;margin-top:2px;line-height:1.35}
.sc .src{font-size:.68rem;color:#80838f;margin-top:8px;line-height:1.3}
.foot{margin-top:24px}
@media (min-width:400px){.plab .lx{display:inline}.plab .ls{display:none}}
@media (max-width:399px){.plab-dc .lx{display:inline}}
@media (min-width:900px){
 .gh-in{display:block;position:relative;min-height:800px;padding-top:0}
 .gh-copy{display:block;position:relative;z-index:3;width:560px;padding:110px 0 60px}
 .gh h1{font-size:3.9rem}
 .subl{font-size:1.15rem}
 .gbtn{margin-top:26px}
 .gh-globe{position:absolute;inset:0 -200px 0 auto;width:960px;height:auto;margin:0;overflow:visible}
 .globe{position:absolute;top:44px;left:0;width:960px}
 .gh-globe{-webkit-mask-image:linear-gradient(#000 80%,transparent);mask-image:linear-gradient(#000 80%,transparent)}
 .plab{font-size:.84rem;padding:7px 12px}
 .stats-g{grid-template-columns:repeat(3,1fr);margin:44px 0 0}
 .sc:first-child{grid-column:auto}
 .sc .v{font-size:1.9rem}
}
/* US | Canada toggle */
.seg{order:-1;align-self:flex-start;display:inline-flex;gap:4px;padding:4px;margin-bottom:16px;border-radius:999px;background:#0d0f14;border:1px solid #2a2d36}
.seg button{min-height:44px;min-width:84px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:#b7bcc7;font:800 .95rem var(--font);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.seg button small{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8d93a0;border:1px solid #3a3e49;border-radius:6px;padding:2px 5px}
.seg button[aria-selected=true]{background:var(--acc);color:#04101f}
.seg button[aria-selected=true] small{color:#04101f;border-color:#04101f55}
.seg button:hover:not([aria-selected=true]){color:#fff;background:#1a1d25}
.seg button:focus-visible{outline:3px solid #9cccff;outline-offset:2px}
.sc{transition:opacity .2s,border-color .2s}
.is-ca .sc-us{opacity:.45}
.is-ca .sc-ca{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset,0 8px 30px #4da3ff22}
.is-ca .plab-dc{color:#8a909c;border-color:#2a2d36}
/* pins overlay: US state shows DC only; Canada state shows Ottawa (ringed) with DC dimmed */
.pins{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pulse{transform-box:fill-box;transform-origin:center;animation:pl 3.2s ease-out infinite}
@keyframes pl{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}}
.pin-ott,.plab-ott,.pring{display:none}
.is-ca .pin-ott{display:inline}.is-ca .plab-ott{display:inline-flex}.is-ca .pring{display:block}
.is-ca .pin-dc{opacity:.4}.is-ca .pin-dc .pulse{display:none}
.is-ca .plab-ott{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc),0 4px 18px #0009}
.pring{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:1.5px solid #9cccff;box-shadow:0 0 10px #4da3ffaa;display:none;pointer-events:none}
@media (min-width:900px){.seg{margin-bottom:22px}.pring{width:22px;height:22px;margin:-11px 0 0 -11px}}
@media (prefers-reduced-motion:reduce){.sc{transition:none}}
/* PHONE ONLY (<720px): globe sits behind the hero text as a background */
@media (max-width:719px){
 .gh-in>*,.gh-copy>*{position:relative;z-index:2}
 .gh-globe{z-index:0;margin-top:-200px;height:calc(140vw * .86)}
 .globe{width:140vw;left:calc(50% - 62vw)} /* offset right: reads as a cropped hero image */
 .globe img{position:relative;z-index:0}
 .globe::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.74) 0%,rgba(0,0,0,.70) 30%,rgba(0,0,0,.45) 37%,rgba(0,0,0,0) 44%)}
 .pins{z-index:2}.plab,.pring{z-index:3}
 /* both labels sit left of their pins so nothing runs off the right edge */
 .plab-dc{transform:translate(calc(-100% - 12px),-50%)}
 .plab-ott{transform:translate(calc(-100% - 12px),-50%)}
 .stats-g{margin-top:-10px}
}
/* Buttons ~15-20% smaller (tap area stays >=44px) */
.btn{min-height:44px;padding:0 16px;font-size:.84rem}
.btn.big{min-height:46px;padding:0 21px;font-size:.88rem}
.top .btn{min-height:40px;padding:0 13px;font-size:.78rem;position:relative}
.top .btn::after{content:"";position:absolute;inset:-2px 0}
@media (min-width:900px){.gbtn{margin-top:22px}}
/* Compact location pill (replaces the segmented switch) */
.seg{display:none}
.loc{order:-1;position:relative;align-self:flex-start;margin-bottom:14px;z-index:5}
.locbtn{position:relative;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px 0 11px;border-radius:999px;border:1px solid #646b7a;background:rgba(255,255,255,.06);color:#eef0f4;font:800 .86rem var(--font);cursor:pointer;-webkit-tap-highlight-color:transparent}
.locbtn::before{content:"";position:absolute;inset:-4px -2px}
.locbtn:hover{background:rgba(255,255,255,.10);border-color:#7d8494}
.locbtn .ic-pin{color:#c3c8d2}.locbtn .ic-chev{color:#a9afbb;transition:transform .15s}
.locbtn[aria-expanded=true]{border-color:var(--acc)}
.locbtn[aria-expanded=true] .ic-chev{transform:rotate(180deg)}
.locbtn:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.locmenu{position:absolute;top:calc(100% + 8px);left:0;min-width:200px;margin:0;padding:6px;list-style:none;background:#14161c;border:1px solid #2c303a;border-radius:14px;box-shadow:0 14px 40px #000c}
.locmenu:focus{outline:none}.locmenu:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.locmenu [role=option]{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 10px 0 12px;border-radius:10px;color:#eef0f4;font-weight:700;font-size:.92rem;cursor:pointer}
.locmenu [role=option] span{flex:1}
.locmenu [role=option].act{background:#1f2430}
.locmenu small{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#a3a9b6;border:1px solid #3d424e;border-radius:6px;padding:2px 5px}
.locmenu .ic-chk{color:var(--acc);visibility:hidden}
.locmenu [aria-selected=true] .ic-chk{visibility:visible}
@media (min-width:900px){.loc{margin-bottom:20px}}
/* ONE pin per view: US = DC only (blue-outlined label + ring); Canada = Ottawa only (DC fully hidden) */
.plab-dc{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc),0 4px 18px #0009}
.pring-dc{display:block}
.is-ca .pin-dc,.is-ca .plab-dc,.is-ca .pring-dc{display:none}
.is-ca .pring-ott{display:block}
