/* PC / Pad / Mobile — layout only (no second design system) */

.site-shell,
.site-main,
.home-hero,
.phantom-screen,
.login-overlay__panel {
  max-width: 100%;
  min-width: 0;
}

.home-hero__stats,
.spotlight__metrics,
.feature-pair__grid,
.pair-card,
.metric-card {
  min-width: 0;
}

/* —— Tablet (Pad) —— */
@media (max-width: 1024px) {
  :root {
    --page-pad: clamp(20px, 4vw, 36px);
  }

  .spotlight__metrics {
    grid-template-columns: 1fr 1fr;
  }

  .metric-card--hero {
    grid-column: 1 / -1;
  }

  .feature-pair {
    min-height: auto;
    padding-block: clamp(56px, 8vh, 88px);
  }

  .spotlight {
    min-height: auto;
    padding-block: clamp(64px, 10vh, 96px);
  }
}

/* —— Mobile —— */
@media (max-width: 720px) {
  :root {
    --site-top-h: 56px;
    --site-top-h-compact: 52px;
    --page-pad: 16px;
  }

  .site-brand__name span {
    display: none;
  }

  /* Mobile top nav chrome lives in shell.css (icon-only, nowrap). */

  .home-hero {
    min-height: 100svh;
    padding-top: calc(var(--site-top-h) + 20px);
  }

  .home-hero h1 {
    font-size: clamp(32px, 9vw, 40px);
    max-width: 14ch;
  }

  .home-hero__lead {
    font-size: 15px;
    max-width: none;
  }

  .home-hero__actions {
    width: 100%;
  }

  .home-hero__actions .btn {
    flex: 1 1 auto;
    justify-content: center;
  }

  .home-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .home-stat {
    min-height: 96px;
    padding: 14px 12px 12px;
  }

  .home-stat__lbl {
    font-size: 11px;
  }

  .spotlight__title {
    max-width: none;
  }

  .spotlight__lead {
    max-width: none;
    font-size: 15px;
  }

  .spotlight__metrics {
    grid-template-columns: 1fr;
  }

  .metric-card__val,
  .metric-card--hero .metric-card__val {
    font-size: 28px;
  }

  .metric-card--hero .metric-card__val--num {
    font-size: 40px;
  }

  .feature-pair__grid,
  .security-band__inner {
    grid-template-columns: 1fr;
  }

  .pair-card {
    min-height: 0;
  }

  .cta-band__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .cta-band__actions .btn {
    justify-content: center;
  }

  .login-overlay {
    padding: 12px;
    align-items: end;
  }

  .login-overlay__panel {
    width: 100%;
    max-height: min(92svh, 720px);
    overflow: auto;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }

  .login-form {
    padding: 20px 16px 28px;
  }

  .site-bottom__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .phantom__word,
  .phantom__word--sm {
    font-size: clamp(48px, 18vw, 96px);
    opacity: 0.8;
  }

  .scroll-progress {
    display: none;
  }
}

/* —— Narrow phone —— */
@media (max-width: 380px) {
  .home-stat__val {
    font-size: 17px;
  }
}

/* Prefer touch: slightly larger hit targets (skip compact mobile icon nav) */
@media (pointer: coarse) and (min-width: 721px) {
  .btn,
  .site-nav__link,
  .auth-tab,
  .scroll-cue {
    min-height: 44px;
  }
}
