.gps-beacon-page .gps-beacon-section{padding:60px 0 36px}
.beacon-console{position:relative;isolation:isolate;overflow:hidden;padding:36px 40px 40px;border:1px solid #394046;border-radius:14px;background:#0b1116;color:#fff;box-shadow:0 22px 50px #0000001a}
.beacon-console::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;background:linear-gradient(#ffffff10 1px,transparent 1px),linear-gradient(90deg,#ffffff10 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(110deg,transparent,#000)}
.beacon-console::after{content:"";position:absolute;z-index:-1;width:640px;height:640px;right:-170px;top:-150px;background:radial-gradient(circle,#ff6a0014,transparent 65%);pointer-events:none}
.beacon-topline,.beacon-bottomline{display:flex;justify-content:space-between;align-items:center;gap:16px;font:600 12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:#b8c2cb}
.beacon-topline{padding-bottom:23px;border-bottom:1px solid #ffffff20}
.beacon-channel{display:flex;align-items:center;gap:10px}
.beacon-channel::before{content:"";width:8px;height:8px;border-radius:50%;background:#ff8c3a;box-shadow:0 0 14px #ff6a0080}
.beacon-id{color:#7f8c97}
.beacon-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:48px;align-items:center;padding:40px 0 30px}
.beacon-copy .kicker{color:#ff9a52;margin:0 0 16px}
.beacon-copy h2{color:#fff;margin:0;font-size:clamp(24px,2.5vw,36px);line-height:1.15;letter-spacing:-.02em;max-width:560px}
.beacon-copy>p:not(.kicker){font-size:19px;line-height:1.6;color:#c5cdd4;margin:22px 0 0;max-width:550px}
.beacon-features{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:13px}
.beacon-features li{display:flex;align-items:center;gap:13px;color:#e2e6eb;font-size:16px;line-height:1.5}
.beacon-features i{display:grid;place-items:center;flex:0 0 34px;height:34px;background:#ff6a001f;color:#ff9a52;border:1px solid #ff6a003b;border-radius:6px;font-size:14px}
.beacon-action{min-width:0;text-align:center}
.beacon-stage{position:relative;display:grid;place-items:center;min-height:310px}
.beacon-rings{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.beacon-rings span{position:absolute;width:280px;height:280px;border:1px solid #ff9a522e;border-radius:50%}
.beacon-rings span:nth-child(2){width:334px;height:334px;border-color:#ff9a521c}
.beacon-rings span:nth-child(3){width:388px;height:388px;border-color:#ff9a520d}
.beacon-trigger{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;width:216px;height:216px;aspect-ratio:1;flex-shrink:0;padding:26px;border:1px solid #ffbd8b;border-radius:0;background:linear-gradient(145deg,#ff8a22,#ed5700);color:#fff;font:800 19px/1.2 "Outfit",sans-serif;text-transform:uppercase;letter-spacing:.025em;cursor:pointer;box-shadow:0 7px 0 #8c3400,0 0 0 10px #ff6a000c,0 18px 38px #0008;transition:transform .18s,box-shadow .18s,background .18s;touch-action:manipulation}
.beacon-trigger::before,.beacon-trigger::after{content:"";position:absolute;width:16px;height:16px;border:2px solid #ffffff80;pointer-events:none}
.beacon-trigger::before{top:12px;left:12px;border-right:0;border-bottom:0}
.beacon-trigger::after{right:12px;bottom:12px;border-left:0;border-top:0}
.beacon-trigger .beacon-symbol{font-size:54px;line-height:1}
.beacon-trigger .beacon-label{display:block;max-width:160px}
.beacon-trigger .beacon-trigger-note{font:600 10px/1.3 ui-monospace,Consolas,monospace;letter-spacing:.18em;color:#fff4e9}
@media(hover:hover) and (pointer:fine){.beacon-trigger:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 0 #8c3400,0 0 0 10px #ff6a0017,0 22px 44px #0008;background:linear-gradient(145deg,#ff9c41,#ff6a00)}}
.beacon-trigger:active:not(:disabled){transform:translateY(5px);box-shadow:0 2px 0 #8c3400,0 0 0 10px #ff6a0010}
.beacon-trigger:focus-visible{outline:3px solid #fff;outline-offset:15px}
.beacon-trigger:disabled{cursor:wait}
.beacon-consent{position:relative;font-size:14px;line-height:1.65;color:#c5cdd4;max-width:380px;margin:8px auto 0}
.beacon-consent strong{font-weight:600;color:#fff}
.beacon-status{min-height:3.2em;margin:22px 0 0;padding:16px 18px;border-left:3px solid #ff8c3a;background:#ffffff06;font-size:16px;line-height:1.55;color:#d6dee5}
.beacon-bottomline{padding-top:22px;margin-top:24px;border-top:1px solid #ffffff20;font-size:10px;letter-spacing:.1em}
.beacon-console[data-state="locating"] .beacon-rings span,.beacon-console[data-state="sending"] .beacon-rings span{animation:beacon-pulse 2.4s ease-out infinite}
.beacon-console[data-state="locating"] .beacon-rings span:nth-child(2),.beacon-console[data-state="sending"] .beacon-rings span:nth-child(2){animation-delay:.6s}
.beacon-console[data-state="locating"] .beacon-rings span:nth-child(3),.beacon-console[data-state="sending"] .beacon-rings span:nth-child(3){animation-delay:1.2s}
.beacon-console[data-state="sending"] .beacon-symbol{animation:beacon-signal 1s ease-in-out infinite alternate}
.beacon-console[data-state="error"] .beacon-status{border-color:#ffb0a7;color:#ffc2ba}
.beacon-console[data-state="error"] .beacon-channel::before{background:#ffb0a7}
.gps-beacon-page .gps-how-section{padding:36px 0 78px}
.gps-how-section .scam-section-heading{max-width:none}
.gps-how-section .scam-section-heading h2{font-size:clamp(30px,3.2vw,44px)}
.gps-help-note{margin:24px 0 0;font-size:16px;line-height:1.65;color:var(--muted)}
.gps-no-script{color:#ffc2ba;font-size:16px;line-height:1.6;border:1px solid #ffb0a7;padding:16px}
@keyframes beacon-pulse{0%{transform:scale(.8);opacity:.25}50%{opacity:1}100%{transform:scale(1.12);opacity:0}}
@keyframes beacon-signal{to{opacity:.5;transform:translateY(-4px)}}
@media(max-width:850px){.beacon-console{padding:28px}.beacon-layout{grid-template-columns:1fr;gap:22px}.beacon-copy h2,.beacon-copy>p:not(.kicker){max-width:none}.beacon-stage{min-height:300px}.beacon-consent{max-width:470px}.beacon-bottomline{flex-wrap:wrap}}
/* Keep the control, consent, and signal graphics comfortable on phone screens. */
@media(max-width:600px){
  .gps-beacon-page .gps-beacon-section{padding:32px 0 24px}
  .beacon-console{padding:24px 20px}
  .beacon-topline{padding-bottom:18px;font-size:11px;letter-spacing:.07em}
  .beacon-channel{min-width:0;line-height:1.5}
  .beacon-channel::before{flex-shrink:0}
  .beacon-id{display:none}
  .beacon-layout{grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 0 14px}
  .beacon-copy{min-width:0}
  .beacon-copy .kicker{font-size:13px;margin-bottom:12px}
  .beacon-copy h2{font-size:clamp(30px,8vw,38px);line-height:1.12}
  .beacon-copy>p:not(.kicker){font-size:17px;line-height:1.55;margin-top:16px}
  .beacon-features{gap:10px;margin-top:20px}
  .beacon-features li{gap:10px;font-size:15px}
  .beacon-features i{flex-basis:30px;height:30px;font-size:13px}
  .beacon-stage{min-height:264px}
  .beacon-rings{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(100%,300px);height:auto;aspect-ratio:1}
  .beacon-rings span{width:72%;height:auto;aspect-ratio:1}
  .beacon-rings span:nth-child(2){width:86%;height:auto}
  .beacon-rings span:nth-child(3){width:100%;height:auto}
  .beacon-trigger{width:clamp(184px,52vw,216px);height:auto;aspect-ratio:1;padding:20px;gap:12px;font-size:17px;-webkit-tap-highlight-color:transparent}
  .beacon-trigger .beacon-symbol{font-size:44px}
  .beacon-trigger .beacon-label{max-width:100%;line-height:1.25}
  .beacon-trigger .beacon-trigger-note{font-size:10px;letter-spacing:.12em}
  .beacon-consent{font-size:15px;line-height:1.65;margin-top:10px;text-align:left}
  .beacon-status{margin-top:18px;padding:14px;font-size:16px;overflow-wrap:anywhere}
  .beacon-bottomline{display:grid;gap:8px;margin-top:20px;padding-top:18px;font-size:11px;letter-spacing:.06em;overflow-wrap:anywhere}
  .gps-beacon-page .gps-how-section{padding:24px 0 48px}
  .gps-how-section .scam-section-heading{margin-bottom:24px}
  .gps-how-section .scam-step-grid{grid-template-columns:minmax(0,1fr)}
  .gps-how-section .scam-step-grid article{padding:22px}
  .gps-how-section .scam-step-grid h3{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.beacon-console *{animation:none!important;transition:none!important}}

.beacon-device-dialog{position:fixed;inset:0;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:36px;border:1px solid #40474e;border-radius:14px;background:#0b1116;color:#fff;font-family:"Outfit",Arial,sans-serif;box-shadow:0 24px 90px #0008;overflow-y:auto}
.beacon-device-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
.beacon-device-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff30;border-radius:6px;background:transparent;color:#fff;cursor:pointer;font-size:21px}
.beacon-device-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 0 24px;border-radius:9px;background:#ff6a00;color:#fff;font-size:28px}
.beacon-device-dialog .kicker{margin:0 0 12px;color:#ff9a52;font-size:13px}
.beacon-device-dialog .beacon-device-title{margin:0;color:#fff;font-size:clamp(26px,4vw,34px);line-height:1.15;text-align:left}
.beacon-device-dialog p:not(.kicker){margin:18px 0 26px;color:#d2d9df;font-size:18px;line-height:1.6}
.beacon-device-dismiss{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:0;border-radius:6px;background:#ff6a00;color:#fff;font:800 16px/1.4 "Outfit",Arial,sans-serif;cursor:pointer}
.beacon-device-close:focus-visible,.beacon-device-dismiss:focus-visible{outline:3px solid #ffad70;outline-offset:4px}
@media(max-width:480px){.beacon-device-dialog{padding:28px 24px}.beacon-device-dialog p:not(.kicker){font-size:17px}}
