body,
.site-shell,
.hero,
.nav-wrap,
.gps-message,
.adaptive-story,
.primary-action {
  transition: background 700ms ease, color 500ms ease, border-color 500ms ease, box-shadow 600ms ease;
}

body.hotel-mode,
.hotel-mode .site-shell {
  background: #102b3b;
}

.hotel-mode .site-shell {
  background:
    radial-gradient(circle at 80% 18%, rgb(43 190 202 / 18%), transparent 30%),
    linear-gradient(145deg, #0d2432 0%, #153b50 55%, #102b3b 100%);
}

.hotel-mode .nav-wrap {
  border-bottom-color: rgb(255 255 255 / 10%);
  background: rgb(13 36 50 / 88%);
}

.hotel-mode .brand {
  padding: 0;
  background: transparent;
  filter: drop-shadow(0 6px 16px rgb(0 0 0 / 18%));
}

.hotel-mode .hero h1,
.hotel-mode .text-action {
  color: #fff;
}

.hotel-mode .hero h1 em {
  color: #77e4e8;
}

.hotel-mode .hero-lede,
.hotel-mode .permission-note {
  color: #b3d1da;
}

.hotel-mode .eyebrow {
  color: #f2ca79;
}

.hotel-mode .eyebrow span {
  background: rgb(242 202 121 / 14%);
}

.hotel-mode .primary-action {
  background: linear-gradient(135deg, #d79d3a, #f2ca79);
  color: #183646;
  box-shadow: 0 18px 42px rgb(215 157 58 / 28%);
}

.hotel-mode .gps-message.hotel-arrival {
  border-color: rgb(242 202 121 / 30%);
  background:
    radial-gradient(circle at 85% 10%, rgb(242 202 121 / 20%), transparent 28%),
    linear-gradient(140deg, rgb(22 55 71 / 98%), rgb(18 113 133 / 96%));
  box-shadow: 0 28px 76px rgb(3 19 27 / 48%);
}

.hotel-mode .gps-message.hotel-arrival .gps-core {
  background: linear-gradient(135deg, #d79d3a, #f6d98d);
  color: #173747;
  box-shadow: 0 10px 36px rgb(242 202 121 / 40%);
}

.hotel-mode .gps-message.hotel-arrival .orbit-ring {
  border-color: rgb(242 202 121 / 60%);
  box-shadow: 0 0 24px rgb(242 202 121 / 18%);
}

.hotel-mode .gps-message.hotel-arrival .gps-copy small,
.hotel-mode .gps-message.hotel-arrival .city-spotlight {
  color: #f2ca79;
  background-image: linear-gradient(100deg, #f2ca79, #fff4cc 45%, #dca846 75%, #f2ca79);
}

.hotel-mode .movement-readout {
  border-color: rgb(255 255 255 / 14%);
  background: rgb(255 255 255 / 9%);
}

.hotel-mode .movement-readout small,
.hotel-mode .movement-readout em { color: #86aab7; }
.hotel-mode .movement-readout b,
.hotel-mode .movement-readout strong { color: #e6f5f7; }

.hotel-mode .adaptive-story {
  border-color: rgb(255 255 255 / 11%);
  background:
    radial-gradient(circle at 90% 8%, rgb(242 202 121 / 14%), transparent 26%),
    linear-gradient(145deg, #112f3f, #173e50);
  box-shadow: 0 28px 78px rgb(3 19 27 / 32%);
}

.hotel-mode .story-heading h2,
.hotel-mode .story-steps h3 { color: #fff; }
.hotel-mode .story-heading h2 em,
.hotel-mode .story-heading small { color: #f2ca79; }
.hotel-mode .story-heading > p { color: #a8c7d0; }

.hotel-mode .story-steps .primary-step {
  border-color: rgb(242 202 121 / 28%);
  background: linear-gradient(135deg, #193d4e, #9b702c);
  box-shadow: 0 22px 48px rgb(3 19 27 / 30%);
}

.hotel-mode .ambient-one {
  background: radial-gradient(circle, rgb(242 202 121 / 18%), transparent 68%);
}

.hotel-mode .ambient-two {
  background: radial-gradient(circle, rgb(40 199 206 / 17%), transparent 70%);
}
