/* NBS Automatic — P2.10C.2 Mis Viajes, approved P2.10B.1 system */
:root {
  --mv-bg: #06060a;
  --mv-surface: rgba(18, 16, 25, .78);
  --mv-surface-strong: rgba(24, 17, 34, .94);
  --mv-line: rgba(218, 205, 241, .13);
  --mv-text: #f8f5fc;
  --mv-muted: #aaa3b4;
  --mv-dim: #777180;
  --mv-violet: #9c63ff;
  --mv-fuchsia: #f345a4;
  --mv-coral: #ff6d3d;
  --mv-cyan: #54c9ee;
  --mv-amber: #dda530;
  --mv-green: #53dca6;
}

html { background: var(--mv-bg); overflow-x: hidden; }
.app-body {
  position: relative;
  min-height: 100vh;
  margin: 0;
  width: 100%;
  overflow-x: hidden;
  color: var(--mv-text);
  background:
    radial-gradient(circle at 75% 17%, rgba(119, 52, 184, .12), transparent 28rem),
    radial-gradient(circle at 16% 47%, rgba(66, 31, 112, .12), transparent 34rem),
    var(--mv-bg);
}
.app-body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image: linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 100% 76px;
  mask-image: linear-gradient(to bottom, black, transparent 80%);
}
.app-body *, .app-body *::before, .app-body *::after { box-sizing: border-box; }

/* Ambient W2 geometry: recognisable as a system, never a literal logo. */
.w2-atmosphere { position: absolute; inset: 0; width: 100%; max-width: 100vw; z-index: 0; overflow: hidden; contain: paint; pointer-events: none; }
.w2-atmosphere i { position: absolute; display: block; border-radius: 50%; border: 1px solid rgba(170, 78, 255, .14); }
.w2-atmosphere i:nth-child(1) { width: min(760px, 100vw); height: min(760px, 100vw); right: 0; top: 520px; box-shadow: 0 0 120px rgba(100, 38, 160, .08); clip-path: inset(0 0 0 48%); }
.w2-atmosphere i:nth-child(2) { width: min(590px, 100vw); height: min(590px, 100vw); right: 0; top: 1010px; border-color: rgba(244, 61, 157, .09); clip-path: inset(0 0 0 39%); }
.w2-atmosphere i:nth-child(3) { width: min(540px, 100vw); height: min(540px, 100vw); left: 0; top: 1220px; border-color: rgba(243, 69, 164, .1); clip-path: inset(0 42% 0 0); }

/* Masthead */
.app-body .nav--app {
  position: relative;
  z-index: 30;
  min-height: 88px;
  background: rgba(6, 6, 10, .92);
  border-bottom: 1px solid transparent;
  border-image: linear-gradient(90deg, #8059ff, #f345a4, #ff6d26) 1;
  backdrop-filter: blur(18px);
}
.app-body .nav--app .nav__inner { max-width: 1200px; min-height: 88px; }
.app-body .nav--app .nav__logo { gap: 12px; }
.app-body .nav--app .nav__logo-img { width: 57px; height: 57px; object-fit: contain; filter: drop-shadow(0 0 17px rgba(220,62,163,.22)); }
.nav__brand-lockup { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
.app-body .nav--app .nav__logo-text { font-size: 1.25rem; font-weight: 800; letter-spacing: .035em; color: #fff; }
.nav__brand-line { margin-top: 6px; color: #af76ff; font-size: .48rem; font-weight: 800; letter-spacing: .17em; }
.app-body .nav--app .nav__links { gap: 28px; }
.app-body .nav--app .nav__link { color: #b7b0bf; font-size: .84rem; font-weight: 650; }
.app-body .nav--app .nav__link[aria-current="page"] { color: #fff; }
.app-body .nav--app .nav__link[aria-current="page"]::after { background: linear-gradient(90deg, var(--mv-fuchsia), var(--mv-coral)); }
.app-body .nav--app .nav__cta {
  min-height: 46px; padding: 0 21px; border: 0; border-radius: 12px;
  display: inline-flex; align-items: center;
  background: linear-gradient(105deg, var(--mv-fuchsia), var(--mv-coral));
  color: #12050c; font-weight: 850; box-shadow: 0 12px 34px rgba(238,67,144,.2);
}

/* Portfolio hero */
.trips-hero { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 65px 20px 26px; }
.trips-hero__inner { display: grid; grid-template-columns: 250px 1fr 1.15fr auto; gap: 26px; align-items: center; }
.trips-hero__eyebrow, .portfolio-section__heading p {
  margin: 0; color: #a875ff; text-transform: uppercase; letter-spacing: .17em;
  font-size: .67rem; font-weight: 850;
}
.trips-hero__eyebrow { display: flex; align-items: center; gap: 10px; }
.trips-hero__eyebrow span { width: 5px; height: 5px; border-radius: 50%; background: #a875ff; box-shadow: 0 0 12px #a875ff; }
.trips-hero__heading { display: contents; }
.trips-hero__title { margin: 0; color: #fff; font-size: clamp(2.5rem, 4vw, 3.55rem); line-height: .98; letter-spacing: -.045em; }
.trips-hero__sub { max-width: 490px; margin: 0; color: #b8b0bf; line-height: 1.45; font-size: 1.02rem; }
.trips-hero__cta { display: none !important; }

/* Editorial monitoring-intelligence rail */
.trips-stats {
  grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr) 1.05fr;
  min-height: 86px; margin: 38px 0 0; padding: 8px;
  border: 1px solid var(--mv-line); border-radius: 16px;
  background: linear-gradient(110deg, rgba(15,14,20,.82), rgba(19,16,27,.7));
  box-shadow: inset 0 1px rgba(255,255,255,.02), 0 24px 70px rgba(0,0,0,.2);
}
.trips-stats__item, .trips-stats__opportunity { min-width: 0; display: flex; align-items: center; gap: 18px; padding: 13px 22px; }
.trips-stats__item + .trips-stats__item { border-left: 1px solid rgba(255,255,255,.045); }
.trips-stats dd { margin: 0; color: #fff; font-size: 1.7rem; font-weight: 800; line-height: 1; }
.trips-stats dt { color: #aaa2b3; text-transform: uppercase; font-size: .56rem; font-weight: 800; letter-spacing: .09em; }
.trips-stats span { color: #797280; font-size: .65rem; }
.trips-stats__opportunity { position: relative; border-radius: 12px; background: linear-gradient(105deg, rgba(91,32,122,.9), rgba(116,43,58,.9)); overflow: hidden; }
.trips-stats__opportunity::after { content: ""; position: absolute; inset: auto 20px 14px 78px; height: 1px; background: linear-gradient(90deg, var(--mv-fuchsia), transparent); }
.trips-stats__opportunity dd { color: #ff8b60; }
.trips-stats__opportunity dt { color: #f2d5e9; }
.trips-stats__spark { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--mv-coral); box-shadow: 0 0 16px var(--mv-fuchsia); }

/* Filters */
.trips-filters { position: relative; z-index: 4; max-width: 1200px; margin: 0 auto; padding: 0 20px 28px; display: flex; gap: 10px; align-items: center; border-bottom: 1px solid var(--mv-line); }
.trips-filter { min-height: 38px; padding: 0 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(10,10,14,.65); color: #aaa4b0; font: inherit; font-size: .75rem; font-weight: 750; cursor: pointer; }
.trips-filter span { margin-left: 5px; color: #77717c; }
.trips-filter:hover, .trips-filter:focus-visible { color: #fff; border-color: rgba(167,104,255,.55); outline: none; }
.trips-filter.is-active { color: #fff; background: rgba(115,61,177,.32); border-color: #8354cf; }
.trips-filter.is-active span { color: #cdb5f7; }
.trips-filters__order { margin-left: auto; color: #55505d; font-size: .68rem; }

/* Main rhythm */
.app-main { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 0 20px 92px; }
#alerts-container:empty { display: none; }
.trips-loading { min-height: 240px; display: flex; align-items: center; justify-content: center; gap: 12px; color: #9991a3; }
.trips-loading span { width: 9px; height: 9px; border-radius: 50%; background: var(--mv-fuchsia); animation: mvPulse 1.1s infinite alternate; }
@keyframes mvPulse { to { opacity: .25; transform: scale(.7); } }
.portfolio-section { position: relative; padding: 58px 0 62px; border-bottom: 1px solid var(--mv-line); }
.portfolio-section--attention::after { content: ""; position: absolute; width: min(580px, 100%); height: min(580px, 100vw); right: 0; bottom: -350px; border: 1px solid rgba(144,71,226,.18); border-radius: 50%; box-shadow: 0 0 90px rgba(113,44,179,.06); clip-path: inset(0 0 0 54%); pointer-events: none; }
.portfolio-section__heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 28px; }
.portfolio-section__heading h2 { margin: 10px 0 0; color: #f6f1fa; font-size: 1.72rem; letter-spacing: -.025em; }
.portfolio-section__heading > span:not(.all-good) { padding: 7px 13px; border: 1px solid rgba(255,255,255,.09); border-radius: 999px; color: #78717e; font-size: .68rem; }
.all-good { display: flex; align-items: center; gap: 8px; color: #6dc5a2; font-size: .66rem; }
.all-good i { width: 6px; height: 6px; border-radius: 50%; background: #48dda4; box-shadow: 0 0 12px #48dda4; }

.trip-card { min-width: 0; position: relative; }
.opportunity-card {
  display: grid; grid-template-columns: 1.15fr .85fr; gap: 34px; padding: 32px;
  border: 1px solid transparent; border-radius: 20px;
  background: linear-gradient(#161020, #161020) padding-box,
    linear-gradient(110deg, #7641c8, var(--mv-fuchsia), var(--mv-coral)) border-box;
  box-shadow: 0 26px 80px rgba(76,28,105,.18);
  overflow: hidden;
}
.opportunity-card::before { content: ""; position: absolute; width: 430px; height: 430px; right: -100px; top: -210px; border: 1px solid rgba(255,107,61,.32); border-radius: 50%; box-shadow: 0 0 80px rgba(218,49,129,.12); }
.opportunity-card__copy { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; }
.state-chip { display: inline-flex; align-items: center; min-height: 27px; padding: 0 12px; border-radius: 999px; background: rgba(67,178,221,.12); color: #6ed5f0; text-transform: uppercase; letter-spacing: .09em; font-size: .56rem; font-weight: 850; }
.state-chip--opportunity { color: #ff946e; background: rgba(222,65,50,.15); border: 1px solid rgba(255,105,50,.42); }
.state-chip i { width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: var(--mv-coral); }
.trip-route { min-width: 0; }
.trip-route p { margin: 21px 0 8px; color: #817888; text-transform: uppercase; letter-spacing: .11em; font-size: .58rem; font-weight: 800; }
.trip-route a { display: block; color: #f4eef9; font-size: 1.3rem; font-weight: 760; line-height: 1.25; text-decoration: none; overflow-wrap: normal; word-break: normal; }
.opportunity-card .trip-route a { font-size: 1.58rem; }
.trip-route a:hover { color: #fff; }
.trip-route a small { color: #86808c; font-size: .6em; }
.trip-route > span { display: block; margin-top: 8px; color: #9d94a4; font-size: .78rem; }
.opportunity-card__lead { max-width: 520px; margin: 22px 0 17px; color: #c4bcc9; font-size: .93rem; line-height: 1.45; }
.trip-airline { display: flex; align-items: center; gap: 9px; min-width: 0; color: #bdb5c3; font-size: .7rem; }
.trip-airline img, .trip-airline > span { width: 30px; height: 30px; border-radius: 50%; background: #faf8fb; display: inline-flex; align-items: center; justify-content: center; object-fit: contain; color: #a8235f; font-size: .55rem; font-weight: 850; }
.trip-airline b { font-weight: 650; overflow: hidden; text-overflow: ellipsis; }
.opportunity-card__stamp { margin: -7px 0 0 39px; color: #746d79; font-size: .62rem; }
.nbs-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-width: 168px; min-height: 45px; margin-top: 23px; padding: 0 18px; border-radius: 10px; background: linear-gradient(100deg, var(--mv-fuchsia), var(--mv-coral)); color: #17050e; font-size: .78rem; font-weight: 850; text-decoration: none; }
.nbs-action:hover, .nbs-action:focus-visible { filter: brightness(1.08); outline: 2px solid #fff; outline-offset: 3px; }
.saving-panel { position: relative; z-index: 1; align-self: stretch; padding: 29px; border: 1px solid rgba(238,60,161,.35); border-radius: 16px; background: linear-gradient(135deg, rgba(67,25,87,.86), rgba(72,28,45,.84)); }
.saving-panel > p { margin: 0; color: #ff9979; text-transform: uppercase; letter-spacing: .11em; font-size: .61rem; font-weight: 850; }
.saving-panel__value { display: flex; justify-content: space-between; align-items: end; gap: 15px; margin: 10px 0 22px; }
.saving-panel__value strong { color: #fff; font-size: clamp(1.8rem, 3vw, 2.55rem); letter-spacing: -.04em; line-height: 1; }
.saving-panel__value b { color: #ff8a61; font-size: 1.08rem; }
.saving-panel dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin: 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.09); }
.saving-panel dt { color: #7f7683; text-transform: uppercase; font-size: .49rem; letter-spacing: .06em; }
.saving-panel dd { margin: 10px 0 0; color: #eee8f0; font-size: .76rem; font-weight: 750; }
.saving-panel > span { display: block; margin-top: 20px; color: #7f7581; font-size: .58rem; }

.attention-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-top: 16px; }
.attention-card { min-width: 0; padding: 25px 24px 22px; border: 1px solid var(--mv-line); border-left: 3px solid var(--mv-cyan); border-radius: 16px; background: linear-gradient(135deg, rgba(14,14,18,.93), rgba(21,17,27,.8)); }
.attention-card.is-incident { border-left-color: var(--mv-amber); }
.attention-card.is-incident .state-chip { color: #e5b74c; background: rgba(176,126,25,.13); }
.attention-card__top, .trip-card__top { display: flex; align-items: center; justify-content: space-between; min-width: 0; flex-wrap: wrap; }
.attention-card__route { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.attention-card__price { flex: 0 0 auto; text-align: right; }
.attention-card__price strong { display: block; color: #ede8f0; font-size: 1.25rem; }
.attention-card__price span { color: #746d78; text-transform: uppercase; font-size: .5rem; }
.attention-card__copy { min-height: 42px; margin: 18px 0 14px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); color: #9c94a1; font-size: .74rem; line-height: 1.45; }
.attention-card__meta { display: flex; align-items: center; gap: 16px; color: #77707c; font-size: .61rem; }
.attention-card__meta .trip-airline { font-size: .62rem; }
.attention-card__meta .trip-airline img, .attention-card__meta .trip-airline > span { width: 22px; height: 22px; }
.text-action { color: #bea7d2; font-size: .68rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.attention-card > .text-action { position: absolute; right: 22px; bottom: 20px; }

.monitoring-list { display: grid; gap: 14px; }
.monitoring-card { display: grid; grid-template-columns: 34px 1.25fr .65fr .9fr auto; align-items: center; gap: 18px; min-height: 104px; padding: 18px 22px; border: 1px solid var(--mv-line); border-radius: 16px; background: rgba(15,14,19,.8); }
.monitoring-card.is-paused { opacity: .7; background: rgba(12,11,15,.72); }
.monitoring-card__icon { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(145,84,225,.35); border-radius: 10px; background: rgba(101,48,155,.18); color: #b084ee; }
.monitoring-card.is-paused .monitoring-card__icon { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.03); color: #827b87; }
.monitoring-card .trip-route p { margin-top: 0; }
.monitoring-card .trip-route a { font-size: 1rem; }
.monitoring-card .trip-route > span { margin-top: 4px; font-size: .66rem; }
.monitoring-card__price > span { display: block; color: #716a76; text-transform: uppercase; font-size: .5rem; }
.monitoring-card__price strong { display: block; margin-top: 4px; color: #ebe5ef; font-size: 1.25rem; }
.monitoring-card__price b { display: block; margin-top: 3px; color: #57c99e; font-size: .55rem; }
.monitoring-card__airline { min-width: 0; color: #746e79; font-size: .59rem; }
.monitoring-card__airline .trip-airline { margin-bottom: 7px; font-size: .62rem; }
.monitoring-card__airline .trip-airline img, .monitoring-card__airline .trip-airline > span { width: 24px; height: 24px; }
.monitoring-card__airline > span, .monitoring-card__airline small { display: block; margin-top: 3px; }
.monitoring-card > .text-action { justify-self: end; }

/* Menus and states */
.trip-card__menu { position: relative; z-index: 8; }
.opportunity-card > .trip-card__menu { position: absolute; right: 18px; top: 16px; }
.monitoring-card > .trip-card__menu { position: absolute; right: 12px; top: 10px; }
.trip-card__menu-btn { width: 38px; height: 38px; border: 0; border-radius: 8px; background: transparent; color: #77707e; cursor: pointer; }
.trip-card__menu-btn:hover, .trip-card__menu-btn:focus-visible { color: #fff; background: rgba(255,255,255,.06); outline: 1px solid #8e63c8; }
.trip-card__menu-dropdown { position: absolute; right: 0; top: 42px; width: 190px; padding: 7px; border: 1px solid var(--mv-line); border-radius: 11px; background: #15121c; box-shadow: 0 18px 45px rgba(0,0,0,.5); }
.trip-card__menu-dropdown button { width: 100%; padding: 10px; border: 0; border-radius: 7px; background: transparent; color: #d7cfdd; text-align: left; cursor: pointer; }
.trip-card__menu-dropdown button:hover, .trip-card__menu-dropdown button:focus-visible { background: rgba(255,255,255,.06); outline: none; }
.trip-card__menu-dropdown .is-danger { color: #ff8f91; }
.trips-state, .ob-empty { margin: 55px auto; padding: 52px; border: 1px solid var(--mv-line); border-radius: 20px; background: radial-gradient(circle at 50% 0, rgba(102,45,158,.19), transparent 60%), rgba(15,13,20,.84); color: #a9a1ad; text-align: center; }
.trips-state__title, .ob-empty h2 { color: #f5eff8; font-size: 1.65rem; }
.ob-empty__kicker { color: #a875ff; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; font-size: .67rem; }

/* P2.10C.2A · footer as the restrained final chapter of the application.
   Content and links remain unchanged; only identity, atmosphere and rhythm
   are strengthened. */
.app-body .footer {
  position: relative; z-index: 3; margin-top: 0; padding: 44px 0 25px;
  overflow: hidden; isolation: isolate;
  border-top: 1px solid transparent;
  border-image: linear-gradient(90deg, rgba(128,89,255,.72), rgba(243,69,164,.62), rgba(255,109,61,.46), transparent 92%) 1;
  background:
    radial-gradient(ellipse at 8% 0%, rgba(111,54,177,.19), transparent 43%),
    radial-gradient(ellipse at 88% 115%, rgba(188,49,132,.11), transparent 42%),
    linear-gradient(145deg, #110c19 0%, #0b0911 46%, #07070b 100%);
  box-shadow: 0 -46px 100px rgba(79,33,127,.07);
}
.app-body .footer::before {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: linear-gradient(115deg, rgba(255,255,255,.018), transparent 38%);
  pointer-events: none;
}
.app-body .footer::after {
  content: ""; position: absolute; z-index: -1;
  width: min(560px, 52vw); height: 270px; right: -90px; top: -166px;
  border: 1px solid rgba(186,74,230,.16); border-radius: 50%;
  box-shadow: 0 0 90px rgba(112,46,174,.08); pointer-events: none;
}
.app-body .footer .container { position: relative; z-index: 2; max-width: 1200px; }
.app-body .footer__w2 { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
.app-body .footer__w2 span { position: absolute; display: block; border-radius: 50%; }
.app-body .footer__w2 span:first-child {
  width: 430px; height: 240px; left: -180px; bottom: -168px;
  border: 1px solid rgba(139,82,217,.14); transform: rotate(-8deg);
}
.app-body .footer__w2 span:last-child {
  width: 360px; height: 190px; right: 9%; bottom: -154px;
  border: 1px solid rgba(242,66,161,.1); transform: rotate(7deg);
}
.app-body .footer__grid {
  grid-template-columns: minmax(300px, 1.65fr) minmax(145px, .65fr) minmax(180px, .8fr);
  gap: 42px; margin-bottom: 28px;
}
.app-body .footer__brand-lockup { display: flex; align-items: center; gap: 13px; }
.app-body .footer__brand-mark {
  width: 54px; height: 54px; object-fit: contain; flex: 0 0 auto;
  filter: drop-shadow(0 0 18px rgba(223,61,164,.2));
}
.app-body .footer__brand-identity { min-width: 0; }
.app-body .footer__brand-name {
  margin: 0; color: #fff; font-family: var(--font-b); font-size: 1.08rem;
  font-weight: 850; line-height: 1; letter-spacing: .045em; text-transform: uppercase;
}
.app-body .footer__brand-line {
  margin: 7px 0 0; color: #ad74fb; font-size: .47rem; font-weight: 850;
  line-height: 1; letter-spacing: .18em; text-transform: uppercase;
}
.app-body .footer__brand-desc { margin-top: 15px; color: rgba(239,232,246,.55); }
.app-body .footer__brand-email { margin-top: 8px; color: rgba(239,232,246,.48); }
.app-body .footer__brand-email:hover { color: #d8c1f5; }
.app-body .footer__col-title { color: rgba(205,180,235,.52); font-weight: 750; letter-spacing: .14em; }
.app-body .footer__links a { color: rgba(239,232,246,.58); }
.app-body .footer__links a:hover { color: #fff; }
.app-body .footer__bottom { padding-top: 17px; border-top-color: rgba(180,130,226,.12); }
.app-body .footer__copy { color: rgba(239,232,246,.35); }

@media (max-width: 1023px) {
  .trips-hero__inner { grid-template-columns: 1fr 1.6fr; }
  .trips-hero__eyebrow { grid-column: 1 / -1; }
  .trips-hero__heading { display: contents; }
  .trips-stats { grid-template-columns: repeat(2,1fr); }
  .monitoring-card { grid-template-columns: 34px 1fr .6fr auto; }
  .monitoring-card__airline { grid-column: 2 / 4; }
}

@media (max-width: 767px) {
  .app-body .nav--app { min-height: 68px; }
  .app-body .nav--app .nav__inner { min-height: 68px; }
  .app-body .nav--app .nav__logo-img { width: 41px; height: 41px; }
  .app-body .nav--app .nav__logo-text { font-size: .86rem; }
  .nav__brand-line { font-size: .38rem; margin-top: 4px; }
  .trips-hero { padding-top: 34px; }
  .trips-hero__inner { display: block; }
  .trips-hero__title { margin-top: 16px; font-size: 2.25rem; }
  .trips-hero__sub { margin-top: 10px; font-size: .82rem; }
  .trips-stats { grid-template-columns: repeat(3,1fr); margin-top: 24px; }
  .trips-stats__item { gap: 8px; padding: 12px 8px; }
  .trips-stats__item + .trips-stats__item { border-left: 0; }
  .trips-stats dd { font-size: 1.4rem; }
  .trips-stats dt { font-size: .44rem; }
  .trips-stats__item span { display: none; }
  .trips-stats__opportunity { grid-column: 1 / -1; min-height: 48px; padding: 9px 14px; }
  .trips-stats__opportunity dd { font-size: .68rem; order: 2; }
  .trips-stats__opportunity div { display: flex; justify-content: space-between; flex: 1; }
  .trips-stats__opportunity dt { font-size: .5rem; }
  .trips-stats__opportunity span:not(.trips-stats__spark) { font-size: .44rem; }
  .trips-filters { overflow-x: auto; scrollbar-width: none; padding-bottom: 17px; }
  .trips-filter { flex: 0 0 auto; padding: 0 12px; font-size: .65rem; }
  .trips-filters__order { display: none; }
  .portfolio-section { padding: 43px 0; }
  .opportunity-card { display: flex; flex-direction: column-reverse; gap: 18px; padding: 16px; }
  .saving-panel { padding: 21px; }
  .saving-panel__value strong { font-size: 2rem; }
  .opportunity-card__copy { align-items: stretch; }
  .opportunity-card .trip-route a { font-size: 1.27rem; }
  .nbs-action { width: 100%; }
  .attention-grid { grid-template-columns: 1fr; }
  .monitoring-card { grid-template-columns: 32px 1fr auto; padding: 17px 13px; }
  .monitoring-card__price { grid-column: 1 / 3; }
  .monitoring-card__airline { grid-column: 1 / -1; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.07); }
  .monitoring-card > .text-action { grid-column: 3; grid-row: 2; }
  .app-body .footer__grid { grid-template-columns: 1.25fr .75fr .9fr; gap: 24px; }
}

@media (max-width: 480px) {
  .app-body .nav--app .nav__inner { padding: 0 11px; }
  .app-body .nav--app .nav__links { background: #100d16; }
  .trips-hero, .trips-filters, .app-main { padding-left: 11px; padding-right: 11px; }
  .trips-hero { padding-bottom: 20px; }
  .trips-hero__eyebrow { font-size: .55rem; }
  .trips-hero__title { font-size: 2rem; }
  .trips-stats { border-radius: 14px; }
  .portfolio-section__heading h2 { font-size: 1.35rem; }
  .portfolio-section__heading > span:not(.all-good) { font-size: .58rem; }
  .saving-panel dl { gap: 7px; }
  .saving-panel dd { font-size: .64rem; }
  .attention-card { padding: 18px 14px 45px; }
  .attention-card__route { display: block; }
  .attention-card__price { margin-top: 14px; text-align: left; }
  .attention-card__meta { flex-wrap: wrap; gap: 8px 13px; }
  .trip-card__menu-dropdown { position: fixed; left: 12px; right: 12px; top: auto; bottom: 12px; width: auto; z-index: 100; padding: 12px; }
  .w2-atmosphere i:nth-child(1) { width: 390px; height: 390px; right: 0; top: 500px; opacity: .65; clip-path: inset(0 0 0 68%); }
  .w2-atmosphere i:nth-child(2) { width: 350px; height: 350px; right: 0; top: 1060px; opacity: .55; clip-path: inset(0 0 0 64%); }
  .w2-atmosphere i:nth-child(3) { display: none; }
  .trips-state, .ob-empty { margin: 32px 0; padding: 34px 19px; }
  .app-body .footer { padding: 29px 0 19px; }
  .app-body .footer::after { width: 300px; height: 180px; right: -135px; top: -118px; }
  .app-body .footer .container { padding-left: 18px; padding-right: 18px; }
  .app-body .footer__grid { grid-template-columns: 1fr 1fr; gap: 22px 24px; margin-bottom: 20px; }
  .app-body .footer__grid > .footer__brand { grid-column: 1 / -1; }
  .app-body .footer__brand-lockup { gap: 11px; }
  .app-body .footer__brand-mark { width: 46px; height: 46px; }
  .app-body .footer__brand-name { font-size: .94rem; }
  .app-body .footer__brand-line { margin-top: 5px; font-size: .4rem; }
  .app-body .footer__brand-desc { display: block; max-width: 280px; margin-top: 11px; font-size: .76rem; line-height: 1.45; }
  .app-body .footer__brand-email { margin-top: 5px; font-size: .72rem; }
  .app-body .footer__col-title { margin-bottom: 7px; font-size: .58rem; }
  .app-body .footer__links { gap: 7px; }
  .app-body .footer__links a { font-size: .73rem; }
  .app-body .footer__bottom { padding-top: 13px; }
  .app-body .footer__copy { font-size: .65rem; line-height: 1.4; }
  .app-body .footer__w2 span:first-child { width: 250px; height: 150px; left: -145px; bottom: -105px; }
  .app-body .footer__w2 span:last-child { width: 230px; height: 130px; right: -100px; bottom: -88px; }
}

@media (prefers-reduced-motion: reduce) { .trips-loading span { animation: none; } }
