/* AgentTravel footer: isolated styles, all prefixed .at- */
.at-footer {
  --at-bg: #071018;
  --at-bg2: #0c1828;
  --at-text: #e8f0fa;
  --at-sky: #85c4f5;
  --at-sky2: #5b9fd5;
  --at-muted: #aabdd4;
  --at-signal: #5ec9a8;
  position: relative;
  background: var(--at-bg);
  color: var(--at-text);
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  overflow: hidden;
}
.at-footer *, .at-footer *::before { box-sizing: border-box; }
.at-scene { position: relative; line-height: 0; }
.at-scene::before {
  content: ''; position: absolute; inset: 0 0 auto 0; height: 90px; z-index: 1; pointer-events: none;
  background: linear-gradient(var(--at-bg), rgba(7, 16, 24, 0));
}
.at-scene-svg { display: block; width: 100%; height: auto; }
.at-scene-svg * { transform-box: view-box; }

.at-bar {
  display: grid; grid-template-columns: 1fr auto auto; gap: 24px 40px; align-items: end;
  padding: 26px clamp(20px, 4vw, 56px) 30px; border-top: 1px solid rgba(94, 201, 168, 0.14);
  background: var(--at-bg);
}
.at-logo { font-family: 'Fraunces', Georgia, serif; font-size: 22px; font-weight: 400; color: var(--at-text); text-decoration: none; letter-spacing: -0.01em; }
.at-tag { margin: 6px 0 0; font-size: 12px; color: var(--at-muted); }
.at-links { display: flex; gap: 22px; flex-wrap: wrap; }
.at-links a, .at-copy { font-size: 12px; color: var(--at-muted); text-decoration: none; }
.at-links a { position: relative; padding-bottom: 2px; transition: color .2s; }
.at-links a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px; background: var(--at-signal); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.at-links a:hover { color: var(--at-text); }
.at-links a:hover::after, .at-links a:focus-visible::after { transform: scaleX(1); }
.at-links a:focus-visible, .at-logo:focus-visible { outline: 2px solid var(--at-sky); outline-offset: 3px; }
.at-copy { margin: 0; opacity: .75; }
.at-instructions { grid-column: 2 / -1; max-width: 570px; }
.at-instructions .at-tag { margin: 0 0 12px; }
.at-instructions .at-links { gap: 12px 22px; }
.at-copy { grid-column: 1 / -1; justify-self: end; }

@media (max-width: 767px) {
  .at-scene { overflow: hidden; }
  /* keep hotel, beach and airport: widen svg and pan subtly */
  .at-scene-svg { width: 150%; margin-left: -8%; }
  .at-bar { grid-template-columns: 1fr; gap: 16px; }
  .at-instructions { grid-column: 1; }
  .at-copy { justify-self: start; }
}
@media (max-width: 480px) { .at-scene-svg { width: 118%; margin-left: -4%; } }


/* Live-site integration: match the page width and retain useful destination links. */
.at-footer { padding: 0; font-size: .74rem; }
.at-bar { grid-template-columns: 1fr auto; max-width: 1160px; margin: 0 auto; }
.at-instructions { grid-column: 2; }
.at-copy { justify-self: start; opacity: 1; line-height: 1.8; }
.at-scene-svg { aspect-ratio: 1600 / 520; border: 0; }
.at-links a { display: inline-block; min-height: 24px; }
@media (max-width: 767px) {
  .at-bar { grid-template-columns: 1fr; }
  .at-instructions { grid-column: 1; }
}
