.aat-presence, .aat-presence * { box-sizing: border-box; }
.aat-presence { --aat-blue:#006bb7; --aat-orange:#ec8500; --aat-ink:#202735; --aat-muted:#6d7785; display:block; width:100%; padding:92px 24px 70px; color:var(--aat-ink); background:#fff; font-family:inherit; line-height:1.6; isolation:isolate; }
.aat-presence .aat-presence__inner { max-width:1230px; width:100%; margin:0 auto; }
.aat-presence .aat-presence__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin:0 0 32px; }
.aat-presence .aat-presence__heading > div:first-child { max-width:730px; }
.aat-presence .aat-presence__eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 14px; color:#6c717a; font-size:13px; font-weight:700; letter-spacing:1.7px; line-height:1.5; }
.aat-presence .aat-presence__eyebrow span { display:block; width:9px; height:9px; border-radius:50%; background:var(--aat-orange); }
.aat-presence h2 { margin:0 0 16px; color:#232323; font-size:clamp(30px,3.5vw,46px); font-weight:700; line-height:1.12; letter-spacing:-1.2px; }
.aat-presence .aat-presence__intro { max-width:670px; margin:0; color:var(--aat-muted); font-size:16px; line-height:1.8; }
.aat-presence .aat-presence__stats { display:flex; flex-shrink:0; gap:24px; padding-bottom:3px; }
.aat-presence .aat-presence__stats > div { display:flex; flex-direction:column; min-width:104px; padding-left:18px; border-left:2px solid #e5eef5; }
.aat-presence .aat-presence__stats strong { color:var(--aat-blue); font-size:35px; font-weight:700; line-height:1.1; }
.aat-presence .aat-presence__stats > div:last-child strong { color:var(--aat-orange); }
.aat-presence .aat-presence__stats span { margin-top:7px; color:var(--aat-muted); font-size:12px; white-space:nowrap; }
.aat-presence .aat-presence__board { display:grid; grid-template-columns:minmax(0,1fr) 306px; min-width:0; overflow:hidden; border:1px solid #dce9f3; border-radius:24px; background:linear-gradient(135deg,#f8fcff 0%,#ecf6fc 66%,#fff9f0 100%); box-shadow:0 16px 55px rgb(0 78 131 / 6%); }
.aat-presence .aat-presence__map-column { min-width:0; position:relative; display:flex; flex-direction:column; padding:26px 22px 22px; }
.aat-presence .aat-presence__map-top { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 4px; color:var(--aat-blue); font-size:11px; font-weight:700; letter-spacing:1.8px; }
.aat-presence .aat-presence__map-top > span:first-child { display:flex; align-items:center; gap:8px; }
.aat-presence .aat-presence__map-top i { display:block; width:6px; height:6px; background:var(--aat-orange); border-radius:50%; }
.aat-presence .aat-presence__hint { color:#7b8b9a; font-size:11px; font-weight:400; letter-spacing:0; }
.aat-presence .aat-presence__canvas { position:relative; flex:1; min-width:0; min-height:390px; margin:4px 0 0; overflow:hidden; }
.aat-presence .aat-presence__svg { display:block; width:100%; height:auto; min-height:390px; max-height:570px; overflow:hidden; filter:drop-shadow(0 9px 13px rgb(0 80 135 / 8%)); }
.aat-presence .aat-presence__province { fill:#e0eaf1; stroke:#fff; stroke-width:1.8; stroke-linejoin:round; vector-effect:non-scaling-stroke; transition:fill .2s; }
.aat-presence .aat-presence__province.is-covered { fill:#b5d9ed; cursor:pointer; }
.aat-presence .aat-presence__province.is-covered:hover { fill:#89c3e5; }
.aat-presence .aat-presence__province.is-selected { fill:#f5bd70; }
.aat-presence .aat-presence__province-labels { pointer-events:none; }
.aat-presence .aat-presence__province-labels text { font-family:inherit; font-size:12px; font-weight:600; text-anchor:middle; dominant-baseline:middle; fill:#6d8291; paint-order:stroke; stroke:#f4faff; stroke-width:3; stroke-linejoin:round; }
.aat-presence .aat-presence__pin { cursor:pointer; outline:none; }
.aat-presence .aat-presence__hit { fill:transparent; stroke:none; }
.aat-presence .aat-presence__halo { fill:var(--aat-blue); opacity:0; }
.aat-presence .aat-presence__marker { fill:var(--aat-blue); stroke:#fff; stroke-width:2; stroke-linejoin:round; }
.aat-presence .aat-presence__dot { fill:white; stroke:none; }
.aat-presence .aat-presence__pin--office .aat-presence__marker { fill:#133e69; }
.aat-presence .aat-presence__pin--gateway .aat-presence__marker { fill:var(--aat-orange); }
.aat-presence .aat-presence__pin:hover .aat-presence__halo,
.aat-presence .aat-presence__pin:focus .aat-presence__halo,
.aat-presence .aat-presence__pin[aria-pressed=true] .aat-presence__halo { opacity:.17; }
.aat-presence .aat-presence__pin:focus .aat-presence__marker { stroke:#102c46; stroke-width:2.5; }
.aat-presence .aat-presence__pin[aria-pressed=true] .aat-presence__marker { stroke:#fff; stroke-width:2.5; }
.aat-presence .aat-presence__zoom { position:absolute; right:8px; bottom:20px; display:flex; gap:5px; padding:5px; border:1px solid #d8e7f2; border-radius:12px; background:#fff; box-shadow:0 4px 14px rgb(20 65 100 / 6%); }
.aat-presence .aat-presence__zoom button { display:grid; place-items:center; width:34px; height:34px; margin:0; padding:0; border:0; border-radius:8px; background:#f0f7fc; color:var(--aat-blue); font-family:inherit; font-size:21px; font-weight:500; line-height:1; cursor:pointer; }
.aat-presence .aat-presence__zoom button:hover { background:#dceffb; }
.aat-presence .aat-presence__zoom button:disabled { opacity:.4; cursor:default; }
.aat-presence .aat-presence__tooltip { position:absolute; z-index:3; max-width:220px; pointer-events:none; padding:9px 13px; border:1px solid #dbe7f2; border-radius:10px; color:#203951; background:white; box-shadow:0 9px 26px rgb(28 72 111 / 13%); font-size:12px; font-weight:600; line-height:1.5; }
.aat-presence .aat-presence__tooltip[hidden] { display:none; }
.aat-presence .aat-presence__legend { display:flex; justify-content:center; flex-wrap:wrap; gap:10px 22px; padding-top:6px; color:#63798c; font-size:11px; line-height:1.4; }
.aat-presence .aat-presence__legend span { display:flex; align-items:center; gap:7px; }
.aat-presence .aat-presence__legend i { width:8px; height:8px; border-radius:50%; background:var(--aat-blue); box-shadow:0 0 0 3px #fff; }
.aat-presence .aat-presence__legend .aat-presence__key--office { background:#133e69; }
.aat-presence .aat-presence__legend .aat-presence__key--gateway { background:var(--aat-orange); }
.aat-presence .aat-presence__side { display:flex; flex-direction:column; min-width:0; padding:34px 25px; border-left:1px solid #dce9f3; background:rgb(255 255 255 / 91%); }
.aat-presence .aat-presence__select-label { display:block; margin:0 0 10px; color:#7b8b9a; font-size:10px; font-weight:700; letter-spacing:1.6px; }
.aat-presence .aat-presence__select { display:block!important; appearance:auto; width:100%; min-width:0; height:auto; min-height:48px; padding:11px 26px 11px 12px; margin:0 0 30px; border:1px solid #dce7f0; border-radius:10px; background:#fff; color:#263a50; font-family:inherit; font-size:13px; line-height:1.5; box-shadow:none; cursor:pointer; }
.aat-presence .nice-select { display:none!important; }
.aat-presence .aat-presence__details { min-height:250px; }
.aat-presence .aat-presence__type { display:inline-block; margin:0 0 13px; padding:5px 9px; border-radius:6px; background:#edf6fc; color:var(--aat-blue); font-size:10px; font-weight:700; line-height:1.4; letter-spacing:.6px; text-transform:uppercase; }
.aat-presence .aat-presence__side[data-kind=gateway] .aat-presence__type { background:#fff2e0; color:#b86500; }
.aat-presence h3.aat-presence__location-title { margin:0 0 5px; font-size:29px; font-weight:700; color:#1d3044; line-height:1.2; letter-spacing:-.5px; }
.aat-presence .aat-presence__province-name { margin:0; color:#8793a0; font-size:12px; }
.aat-presence .aat-presence__rule { display:block; width:36px; height:3px; margin:20px 0; border-radius:3px; background:var(--aat-orange); }
.aat-presence .aat-presence__description { margin:0 0 12px; color:#475d70; font-size:14px; line-height:1.8; }
.aat-presence .aat-presence__address { margin:0 0 14px; color:#7b8894; font-size:12px; line-height:1.8; }
.aat-presence .aat-presence__address[hidden] { display:none; }
.aat-presence a.aat-presence__cta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:24px 0 0; padding:13px 14px; border:0; border-radius:9px; background:var(--aat-blue); color:#fff; font-size:12px; font-weight:600; line-height:1.5; text-decoration:none; transition:background .2s; }
.aat-presence a.aat-presence__cta:hover { background:#00518e; color:#fff; }
.aat-presence .aat-presence__cta span { font-size:21px; line-height:1; }
.aat-presence a.aat-presence__phone { display:block; margin:15px 0 0; color:var(--aat-blue); font-size:14px; font-weight:600; text-align:center; text-decoration:none; }
.aat-presence .aat-presence__promise { margin:24px 0 0; padding-top:20px; border-top:1px solid #e8edf2; color:#9aa3ac; font-size:11px; line-height:1.8; }
.aat-presence .aat-presence__footnote { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 20px; margin:12px 4px 0; color:#9aa5ae; font-size:10px; line-height:1.5; }
.aat-presence .aat-presence__footnote a { color:#7e909f; text-decoration:underline; text-underline-offset:2px; }
.aat-presence .aat-presence__fallback { margin-top:20px; padding:20px; border:1px solid #dce9f3; border-radius:12px; font-size:14px; }
.aat-presence button:focus-visible,.aat-presence a:focus-visible,.aat-presence select:focus-visible { outline:3px solid #efab50; outline-offset:3px; }
@media(max-width:1024px) {
  .aat-presence { padding:70px 24px 55px; }
  .aat-presence .aat-presence__heading { align-items:flex-start; gap:25px; }
  .aat-presence .aat-presence__stats { gap:12px; padding-top:32px; }
  .aat-presence .aat-presence__stats > div { min-width:86px; padding-left:12px; }
  .aat-presence .aat-presence__stats strong { font-size:30px; }
  .aat-presence .aat-presence__stats span { font-size:10px; }
  .aat-presence .aat-presence__board { grid-template-columns:minmax(0,1fr) 275px; }
  .aat-presence .aat-presence__side { padding:26px 20px; }
  .aat-presence .aat-presence__map-column { padding:22px 12px; }
  .aat-presence .aat-presence__hint { display:none; }
  .aat-presence .aat-presence__details { min-height:260px; }
}
@media(max-width:767px) {
  .aat-presence { padding:58px 18px 44px; }
  .aat-presence .aat-presence__heading { display:block; margin-bottom:25px; }
  .aat-presence h2 { max-width:440px; font-size:33px; letter-spacing:-.8px; }
  .aat-presence .aat-presence__intro { font-size:14px; line-height:1.8; }
  .aat-presence .aat-presence__eyebrow { font-size:11px; margin-bottom:12px; }
  .aat-presence .aat-presence__stats { padding-top:22px; gap:30px; }
  .aat-presence .aat-presence__stats > div { min-width:95px; padding-left:12px; }
  .aat-presence .aat-presence__stats strong { font-size:29px; }
  .aat-presence .aat-presence__stats span { font-size:11px; }
  .aat-presence .aat-presence__board { grid-template-columns:minmax(0,1fr); border-radius:18px; }
  .aat-presence .aat-presence__map-column { padding:20px 10px 17px; }
  .aat-presence .aat-presence__map-top { padding:0 8px; }
  .aat-presence .aat-presence__canvas { margin-top:8px; min-height:0; }
  .aat-presence .aat-presence__svg { min-height:0; max-height:none; }
  .aat-presence .aat-presence__province-labels { display:none; }
  .aat-presence .aat-presence__zoom { bottom:8px; right:8px; padding:3px; gap:4px; }
  .aat-presence .aat-presence__zoom button { width:32px; height:32px; }
  .aat-presence .aat-presence__legend { gap:10px 17px; padding-top:17px; font-size:10px; }
  .aat-presence .aat-presence__side { padding:24px; border-left:0; border-top:1px solid #dce9f3; }
  .aat-presence .aat-presence__select { margin-bottom:24px; font-size:13px; }
  .aat-presence .aat-presence__details { min-height:0; }
  .aat-presence .aat-presence__promise { display:none; }
  .aat-presence .aat-presence__footnote { font-size:9px; margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) { .aat-presence *, .aat-presence *::before, .aat-presence *::after { transition:none!important; animation:none!important; } }
