/* Homepage mobile finishing pass. Desktop geometry and original art are unchanged. */
@media (max-width: 980px) {
  .mobile-faction-tabs button {
    color: #afb9c6;
    border-color: #353d47;
    background: #1a1e25;
    font-size: 14px;
  }
  .mobile-faction-tabs button.is-active {
    color: var(--tab-accent);
    border-color: rgba(173,185,201,.3);
    border-bottom-color: var(--tab-accent);
    background: var(--tab-bg);
  }
  .mobile-faction-tabs button:focus-visible { outline: 2px solid var(--tab-accent); outline-offset: 2px; }
  .main-nav a { min-height: 48px; }
}
@media (max-width: 640px) {
  /* Keep the approved focal point; limit the artwork only on short screens. */
  .hero__art { height: clamp(210px,min(67vw,34svh),320px); }
  .faction-panel { grid-template-columns: repeat(3,calc(100% - 12px)); }
  .faction-panel, .faction-card, .faction-card:last-child, .faction-card__trigger {
    min-height: clamp(390px,calc(42vw + 244px),520px);
  }
  .faction-card__art { --figure-floor: 198px; --figure-headroom: 64px; }
  .faction-card__emblem { top: 12px; left: 12px; width: 44px; height: 44px; padding: 5px; }
  .faction-card__emblem .race-emblem { width: 32px; height: 32px; }
  .faction-card__meta { top: 12px; right: 12px; }
  .faction-card__copy { min-height: 198px; padding-bottom: 78px; }
  .faction-card__copy > span:not(.faction-card__more) { max-width: 100%; }
  .faction-card__cta,
  .faction-card:hover .faction-card__cta,
  .faction-card:focus-within .faction-card__cta { min-height: 48px; inset: auto 16px 16px; font-size: 11px; }

  /* An edge-to-edge sheet keeps the close control and race tabs reachable. */
  .dossier-modal {
    width: 100%;
    max-height: 100dvh;
    margin: 0;
    border-inline: 0;
    border-radius: 0;
  }
  .dossier-heading { padding: max(16px,env(safe-area-inset-top)) 68px 14px 20px; }
  .dossier-heading p { display: none; }
  .dossier-heading h2 { font-size: 21px; }
  .dossier-header .modal-close { top: max(4px,env(safe-area-inset-top)); right: 8px; width: 48px; height: 48px; }
  .dossier-tabs { padding-inline: 12px; gap: 4px; }
  .dossier-tabs button { min-height: 48px; font-size: 13px; letter-spacing: .045em; }
  .dossier-tabs button span { display: none; }
  .dossier-visual { height: clamp(220px,32svh,288px); }
  .dossier-copy { padding: 22px 20px max(24px,env(safe-area-inset-bottom)); }
  .dossier-description { font-size: 15px; line-height: 1.75; }
  .dossier-features li { padding-block: 15px; }
  .dossier-action .button { min-height: 56px; }
}
@media (min-width: 641px) and (max-width: 980px) and (max-height: 600px) {
  /* Landscape phones should not inherit a 640px-tall tablet hero. */
  .hero { min-height: 0; }
  .hero__content { padding: calc(var(--header) + 28px) 24px 36px; width: 68%; }
  .hero__signature { display: none; }
  .hero__content > .eyebrow { margin-bottom: 14px; }
  .hero h1 { font-size: clamp(38px,5.8vw,52px); }
  .hero__lead { margin-block: 16px 20px; font-size: 14px; line-height: 1.65; }
  .hero__index { display: none; }
  .dossier-page { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
  .dossier-visual { height: 100%; min-height: 340px; }
  .dossier-copy { padding: 24px; }
}
