/* One opening-panel rhythm across every page. */
.hero { min-height:calc(228px + var(--safe-area-top)); padding:calc(24px + var(--safe-area-top)) 20px 86px; }
.hero-kicker { padding-top:var(--hero-kicker-padding-top); }
.hero h1 { padding-top:var(--hero-title-padding-top); margin-bottom:var(--hero-title-margin-bottom); font-size:clamp(58px,15vw,80px); }
.hero-bottom { flex:0 0 43px; min-height:43px; height:43px; }
.prep-hero .hero-bottom p { margin:0 20px 0 auto; font-size:.75rem; line-height:1.35; text-align:right; }

/* One image system: protected copy on the left, full artwork retained on the right. */
.prep-hero,
.schedule-hero,
.event-hero,
.flight-hero,
.expense-hero,
.tools-hero {
  position:relative;
  overflow:hidden;
  background-color:var(--ink);
  background-position:bottom;
  background-size:cover;
  background-repeat:no-repeat;
}
.prep-hero { background-image:url('../assets/prep-hero-travel-kit-v1.png'); }
.schedule-hero { background-image:url('../assets/schedule-hero-route-v1.png'); }
.event-hero { background-image:url('../assets/sonic-hero-stage-v1.png'); }
.flight-hero { background-image:url('../assets/flights-hero-stay-v1.png'); }
.expense-hero { background-image:url('../assets/expenses-hero-ledger-v1.png'); }
.tools-hero { background-image:url('../assets/tools-hero-toolkit-v1.png'); }
.prep-hero::after,
.schedule-hero::after,
.event-hero::after,
.flight-hero::after,
.expense-hero::after,
.tools-hero::after {
  content:'';
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(16,24,40,.18) 0%,rgba(16,24,40,.04) 53%,rgba(16,24,40,.18) 100%);
}
.hero h1 { text-shadow:0 8px 8px rgb(5 21 51 / 70%); }

@media (hover:hover) {
  .priority-action:hover {
    box-shadow:8px 8px 0 var(--ink);
    transform:translate(-2px,-2px);
  }

  .prep-more summary:hover,
  .prep-more .prep-list a:hover {
    background:rgba(255,211,78,.32);
  }

  .prep-more .prep-list a:hover .prep-action {
    background:var(--ink);
    color:var(--paper);
  }

  .prep-more .prep-list a:hover em {
    background:var(--ink);
    color:var(--paper);
  }

  .readiness-grid > a:hover {
    filter:brightness(.96);
  }
}

@media (max-width:370px) {
  .action-heading {
    grid-template-columns:1fr;
  }

  .home-action-heading {
    grid-template-columns:minmax(0,1fr) auto;
  }

  .home-action-heading h2 {
    font-size:clamp(1.35rem,6vw,1.5rem);
  }

  #actionSummary {
    justify-self:start;
    max-width:none;
    text-align:left;
  }

  .priority-action {
    grid-template:
      "kicker kicker"
      "body body"
      "cta arrow" / auto 24px;
  }

  .home-priority-action {
    grid-template:"body cta arrow" auto / minmax(0,1fr) auto 24px;
  }

  .priority-cta {
    justify-self:start;
  }
}

@media (prefers-reduced-motion:reduce) {
  .priority-action,
  .bottom-nav,
  .bottom-nav a,
  .bottom-nav a::before {
    transition:none;
  }
}
