/* Preserve the full artwork in the rotating hero frame. */
.underline-hero-image {
  object-fit: cover !important;
  object-position: center !important;
  background: #080d12 !important;
}
.underline-hero-art::before,
.underline-hero-art::after {
  display: none !important;
}

@media (max-width: 640px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .underline-shell main { min-width: 0; }
  .underline-shell .container { width: 100%; max-width: none; padding-left: .85rem; padding-right: .85rem; }
  .underline-topbar { padding: 0 .75rem !important; }
  .underline-topbar .underline-brand-link img, .underline-topbar .underline-brand-link svg { max-width: 10.5rem !important; height: 1.75rem !important; }
  .underline-topbar .underline-nav-status, .underline-topbar .underline-future-links { display: none !important; }
  .underline-hero { min-height: 0; }
  .underline-hero-grid { display: flex; flex-direction: column; gap: 1.25rem; align-items: stretch; }
  .underline-hero-copy { padding: 2.25rem 0 1rem; }
  .underline-hero h1 { margin: .9rem 0 1rem; font-size: clamp(3rem, 16vw, 4.8rem); line-height: .91; }
  .underline-hero-actions { gap: .55rem; margin-top: 1.35rem; }
  .underline-hero-actions .underline-button { flex: 1 1 10rem; justify-content: center; min-height: 2.9rem; }
  .underline-proof-row { display: flex; flex-wrap: wrap; gap: .65rem 1rem; margin-top: 1.6rem; font-size: .68rem; }
  .underline-hero-art { min-height: 220px; border-radius: .75rem; }
  .underline-hero-art-label { right: .8rem; bottom: .7rem; font-size: .55rem; }
  .underline-section { padding-top: 2rem; padding-bottom: 2rem; }
  .underline-section-heading { gap: .9rem; margin-bottom: 1rem; }
  .underline-section-heading h2 { font-size: 1.35rem; }
  .underline-catalog-heading { align-items: stretch; }
  .underline-search { width: 100%; min-width: 0; }
  .underline-carousel { margin-right: -.85rem; padding-right: .85rem; gap: .65rem; }
  .underline-home .underline-game-card { flex: 0 0 min(78vw, 260px); }
  .underline-game-card-image { height: 130px; }
  .underline-game-card-name { padding-top: .55rem; }
  .underline-plans { padding-top: 1rem; }
  .underline-plan-grid { grid-template-columns: 1fr; gap: .7rem; }
  .underline-plan-card { min-height: 0; padding: 1rem; }
  .underline-plan-card p { min-height: 0; }
  .underline-quote { gap: 1.25rem; padding: 1.25rem; margin-bottom: 2rem; }
  .underline-quote h2 { font-size: 1.65rem; }
  .underline-quote-form > div { grid-template-columns: 1fr; }
  .underline-status-strip { align-items: flex-start; gap: .65rem; margin-bottom: 1rem; padding: .9rem; font-size: .72rem; }
  .underline-catalog-page { padding-top: 1.25rem; }
  .underline-catalog-page-hero { padding: 1rem 0 1.5rem; }
  .underline-catalog-page-hero h1 { font-size: 2.5rem; }
  .underline-catalog-page-list { gap: 1.5rem; padding-top: 1.5rem; }
  .underline-catalog-page-plans { grid-template-columns: 1fr; }
}

/* Dark, subtle horizontal scroller used by the game catalog. */
.underline-home .underline-carousel {
  scrollbar-width: thin;
  scrollbar-color: #334955 #080d12;
}
.underline-home .underline-carousel::-webkit-scrollbar { height: 8px; }
.underline-home .underline-carousel::-webkit-scrollbar-track { background: #080d12; border-radius: 999px; }
.underline-home .underline-carousel::-webkit-scrollbar-thumb { background: #334955; border: 2px solid #080d12; border-radius: 999px; }
.underline-home .underline-carousel::-webkit-scrollbar-thumb:hover { background: #e6c477; }

.underline-home .underline-game-card {
  overflow: hidden;
  border-radius: .65rem;
  background: #0b151b;
}
.underline-home .underline-game-card-image {
  height: 118px;
  background: #0b151b;
}
.underline-home .underline-game-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.underline-home-game-modal { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 1rem; background: rgba(2, 6, 10, .78); backdrop-filter: blur(8px); }
.underline-home-game-modal-card { position: relative; width: min(100%, 38rem); overflow: hidden; border: 1px solid rgba(230,196,119,.48); border-radius: .8rem; background: #0b151b; box-shadow: 0 24px 80px rgba(0,0,0,.55); }
.underline-home-game-modal-image { display: block; width: 100%; height: 14rem; object-fit: cover; object-position: center; }
.underline-home-game-modal-body { padding: 1.35rem; }
.underline-home-game-modal-body h2 { margin: .35rem 0 .55rem; color: #f7f7f5; font-size: clamp(1.6rem, 4vw, 2.3rem); }
.underline-home-game-modal-body > p:not(.underline-kicker) { color: #a7b3b8; line-height: 1.55; }
.underline-home-game-modal-meta { display: grid; gap: .25rem; margin: 1rem 0; padding: .8rem; border: 1px solid rgba(115,185,198,.22); border-radius: .5rem; background: rgba(8,21,37,.65); }
.underline-home-game-modal-meta strong { color: #f7d98e; }
.underline-home-game-modal-meta span { color: #9dabb1; font-size: .75rem; }
.underline-home-game-modal-actions { display: flex; justify-content: flex-end; gap: .6rem; }
.underline-home-game-modal-close { position: absolute; top: .7rem; right: .7rem; z-index: 2; width: 2.2rem; height: 2.2rem; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(4,10,18,.8); color: #fff; font-size: 1.45rem; line-height: 1; cursor: pointer; }
.underline-home-game-modal-close:hover { border-color: #e6c477; color: #e6c477; }
@media (max-width: 640px) { .underline-home-game-modal-card { max-height: 92vh; overflow-y: auto; } .underline-home-game-modal-image { height: 10rem; } .underline-home-game-modal-actions { flex-direction: column-reverse; } .underline-home-game-modal-actions .underline-button { justify-content: center; width: 100%; } }

/* Plans remain available from each product page; keep the homepage focused on discovery. */
.underline-home .underline-plans { display: none !important; }
