/* X-ray section: a real job map plays, freezes, then fades to the words Google and AI read.
   Used on the contractor pages and the agency page. */
.xray{--dusk:#1C2440;--dusk-2:#252F52;--glow:#FFD23F;--glow-soft:#FFE58A;--halo:rgba(255,210,63,.55);--cream:#F3EEDF;--mist:#AEB5CB;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--ease:cubic-bezier(.4,0,.2,1)}
.xray .kicker{font:700 13px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--glow);margin:0 0 12px}
/* x-ray */
.dark{background:var(--dusk);color:#fff}
.xray .lede{color:#CBD1DF;margin:0}
.xr-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:26px 0 18px}
.xr-switch{display:inline-flex;background:var(--dusk-2);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:4px;gap:4px}
.xr-switch button,.xr-replay{font:700 14px var(--display);border:0;border-radius:999px;cursor:pointer}
.xr-switch button{color:var(--mist);background:transparent;padding:10px 18px;transition:background-color .3s var(--ease),color .3s var(--ease)}
.xr-switch button[aria-pressed="true"]{background:var(--glow);color:var(--dusk)}
.xr-replay{display:inline-flex;align-items:center;gap:7px;background:transparent;color:var(--cream);border:1px solid rgba(255,255,255,.2);padding:9px 14px}
.xr-replay svg{width:14px;height:14px}
.xr-cap{font-size:15px;color:var(--mist);margin:0;max-width:56ch;min-width:0;flex:1 1 280px}
.xr-stage{position:relative;container-type:inline-size;width:100%;max-width:100%;aspect-ratio:1440/784;border-radius:12px;outline:1px dashed transparent;outline-offset:6px;transition:outline-color .8s var(--ease)}
.xr-frame{position:absolute;inset:0;border-radius:12px;overflow:hidden;background:#151a2c;box-shadow:0 40px 80px -40px rgba(0,0,0,.8);transition:opacity 1.1s var(--ease),filter 1.1s var(--ease)}
.xr-frame img,.xr-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.xr-frame video.gone{opacity:0}
.xr-t{position:absolute;left:var(--l);top:var(--t);opacity:0;transform:translateY(5px);transition:opacity .7s var(--ease),transform .7s var(--ease);color:var(--cream);font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;line-height:1.35;pointer-events:none}
.xr-t small{display:block;font:600 max(9px,.8cqw) var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--glow);opacity:.9;margin-bottom:.3cqw}
.xr-logo b{font:800 1.5cqw var(--display);color:var(--glow-soft);text-shadow:0 0 1.2cqw rgba(255,210,63,.35)}
.xr-nav{display:flex;gap:1.55cqw;font-size:1.15cqw}
.xr-nav span{text-decoration:underline;text-decoration-color:rgba(255,229,138,.5);text-underline-offset:.35cqw}
.xr-phone{font-size:1.35cqw;font-weight:700;color:var(--glow-soft)}
.xr-badge,.xr-back,.xr-months{font-size:1.05cqw}
.xr-town{font-size:1.2cqw;font-weight:700;color:var(--glow-soft)}
.xr-place{font-size:1.1cqw;font-weight:700}
.xr-photo{width:25.2%;height:34.7%;padding:1.5cqw 1.4cqw 1.2cqw 2.6cqw;border:1px dashed rgba(255,210,63,.5);border-radius:.9cqw;display:flex;flex-direction:column;justify-content:center;gap:.5cqw;font-size:1.15cqw}
.xr-photo em{font-style:normal;color:var(--mist)}
.xr-title{font:700 1.55cqw var(--display);color:var(--glow-soft);text-shadow:0 0 1.2cqw rgba(255,210,63,.3)}
.xr-chips{display:flex;flex-wrap:wrap;gap:.55cqw;width:25.4%;font-size:.95cqw}
.xr-chips span{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.25cqw .8cqw}
.xr-desc{width:24.6%;font-size:1.12cqw;line-height:1.6}
.xr-ghost{font:max(9px,.9cqw) var(--mono);color:var(--mist)}
.xr-mk{position:absolute;left:var(--l);top:var(--t);z-index:5;width:clamp(18px,2.1cqw,26px);height:clamp(18px,2.1cqw,26px);border-radius:50%;background:var(--glow);color:var(--dusk);font:800 clamp(10px,1.1cqw,13px)/1 var(--display);display:grid;place-items:center;box-shadow:0 0 0 4px rgba(255,210,63,.18),0 0 18px 4px var(--halo);opacity:0;transform:scale(.3);transition:opacity .45s var(--ease),transform .45s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.xr-stage.ai{outline-color:rgba(255,255,255,.16)}
.xr-stage.ai .xr-frame{opacity:.1;filter:grayscale(1) blur(1px)}
.xr-stage.ai .xr-t{opacity:1;transform:none;transition-delay:calc(.7s + var(--d,0) * .09s)}
.xr-stage.ai .xr-mk{opacity:1;transform:scale(1);transition-delay:calc(1.6s + var(--i) * .17s)}
.xr-schema-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.xr-schema{overflow:hidden;min-height:0;opacity:0;transition:opacity .6s var(--ease)}
.xr-schema-in{position:relative;margin-top:22px;border:1px dashed rgba(255,210,63,.45);border-radius:10px;padding:14px 18px}
.xr-schema-in p{margin:0 0 8px;padding-left:34px;line-height:24px;font:600 11.5px/24px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--glow-soft);max-width:none}
.xr-schema pre{margin:0;font:12.5px/1.55 var(--mono);color:var(--cream);overflow-x:auto;white-space:pre}
.xr-schema-in .xr-mk{left:14px;top:14px;width:24px;height:24px;font-size:13px}
.xr-on .xr-schema-wrap{grid-template-rows:1fr;transition-delay:1s}
.xr-on .xr-schema{opacity:1;transition-delay:1.1s}
.xr-on .xr-schema-in .xr-mk{opacity:1;transform:scale(1);transition-delay:calc(1.6s + 5 * .17s)}
.xr-legend{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px}
.xr-legend li{display:flex;gap:12px;align-items:flex-start;font:500 15.5px/1.45 var(--display);color:var(--cream);opacity:.5;transition:opacity .5s var(--ease);min-width:0}
.xr-legend li>div{min-width:0}
.xr-legend b{flex:none;width:24px;height:24px;border-radius:50%;background:var(--dusk-2);border:1px solid rgba(255,255,255,.16);color:var(--mist);font:800 13px/22px var(--display);text-align:center;transition:background-color .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.xr-legend q{display:none;margin-top:4px;font:13px/1.45 var(--mono);color:var(--mist);quotes:none}
.xr-on .xr-legend li{opacity:1;transition-delay:calc(1.6s + var(--i) * .17s)}
.xr-on .xr-legend b{background:var(--glow);border-color:var(--glow);color:var(--dusk);box-shadow:0 0 14px 2px var(--halo);transition-delay:calc(1.6s + var(--i) * .17s)}
.xr-note{margin:24px 0 0;font:500 14px var(--display);color:#9FA8BF;max-width:none}
.xr-note a{color:var(--glow-soft)}

.xr-live{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:22px 0 0;max-width:none}
.xr-live span{font:500 15px var(--display);color:#9FA8BF}

@media (max-width:900px){.xr-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
  .xr-t{display:none}
  .xr-stage.ai .xr-frame{opacity:.28;filter:grayscale(1)}
  .xr-legend q{display:block}
}
@media (max-width:640px){
  .xr-legend{grid-template-columns:1fr}
  .xr-switch button{padding:9px 12px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  .xr-frame,.xr-t,.xr-mk,.xr-schema,.xr-schema-wrap,.xr-legend li,.xr-legend b{transition-duration:1ms!important;transition-delay:0ms!important}
}
