/* LaPartyList — responsive states, motion and print */

@media (min-width: 1680px) {
  :root { --lpz-frame: 1280px; }
}

@media (max-width: 980px) {
  .lpz-colophon__top { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 1.5rem; }
  .lpz-colophon__brand { grid-column: 1 / -1; }
  :root { --lpz-masthead-h: 72px; }
  .lpz-masthead__inner { grid-template-columns: auto 1fr auto auto; gap: 0.75rem; }
  .lpz-topnav { display: none; }
  .lpz-masthead__brand img { width: 100px; height: 56px; }
  .lpz-menu-toggle { justify-self: end; }

  .lpz-ribbon ul { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .lpz-ribbon li:nth-child(-n + 3) { grid-column: span 2; }
  .lpz-ribbon li:nth-child(n + 4) { grid-column: span 3; }

  .lpz-overture__grid,
  .lpz-duo,
  .lpz-dispatch,
  .lpz-intro,
  .lpz-profile { grid-template-columns: 1fr; }
  .lpz-duo--flip > :first-child { order: 0; }
  .lpz-profile__media { position: static; grid-template-columns: 1fr 1fr; }
  .lpz-profile__media figure:nth-child(2) { margin-right: 0; }
  .lpz-intro__copy { padding-bottom: 4rem; }
  .lpz-intro__media .lpz-accent-chip { right: 0.5rem; }

  .lpz-advice { grid-template-columns: 1fr; }

  .lpz-whitepanel--two,
  .lpz-whitepanel--three { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {

  .lpz-meta { grid-template-columns: 1fr; gap: 0 0; }
  .lpz-meta dd { margin-bottom: 0.5rem; }
}

@media (max-width: 520px) {
  .lpz-colophon__top { grid-template-columns: 1fr 1fr; row-gap: 1.75rem; }
  .lpz-colophon__top > nav:last-child { grid-column: 1 / -1; }
  .lpz-colophon h2 { margin-bottom: 0.8rem; }
  .lpz-colophon__support { gap: 1.5rem 1.5rem; margin-top: 2.75rem; }
  .lpz-colophon__support .lpz-logo-ga,
  .lpz-colophon__support .lpz-logo-gs { width: 176px; }
  .lpz-colophon__support .lpz-logo-gc { width: 108px; }
  .lpz-colophon__support .lpz-logo-age { width: 54px; }
  .lpz-colophon__legal span { padding-inline: 0.25em; }
  .lpz-masthead__brand img { width: 84px; height: 47px; }
  .lpz-age-mark img { width: 40px; height: 40px; }
  .lpz-menu-toggle { padding: 0 0.8rem; gap: 0.5rem; }

  .lpz-ribbon ul { grid-template-columns: 1fr 1fr; gap: 0.5rem; }
  .lpz-ribbon li { grid-column: auto !important; min-height: 42px; font-size: var(--lpz-step-0); }
  .lpz-ribbon li:last-child { grid-column: 1 / -1 !important; }

  .lpz-profile__media { grid-template-columns: 1fr; }

}

@media (max-width: 360px) {
  :root { --lpz-gutter: 0.85rem; }
  .lpz-masthead__inner { gap: 0.4rem; }
  .lpz-masthead__brand img { width: 74px; height: 42px; }
  .lpz-menu-toggle__word { display: none; }
  .lpz-menu-toggle { width: 46px; padding: 0; justify-content: center; }
}

/* ───── Policy and contact states ───── */
@media (max-width: 900px) {
  .lpz-contact { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .lpz-table--plain { border-spacing: 1rem 0; margin-left: -1rem; }
  .lpz-table--plain thead th { min-width: 0; }
}

/* ───── Review page states ───── */
@media (max-width: 1100px) {
  .lpz-dossier__row--c { grid-template-columns: 1fr 1fr; }
  .lpz-dossier__row--c > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .lpz-dossier__row--a,
  .lpz-bonusbox { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .lpz-banner3 { grid-template-columns: 1fr 1fr; }
  .lpz-banner3__photo { grid-column: 1 / -1; grid-row: 1; aspect-ratio: 542 / 196; min-height: 0 !important; }
  .lpz-dossier__row--c { grid-template-columns: 1fr; }
  .lpz-fact { flex-wrap: wrap; gap: 0.2rem 0.5rem; }
  .lpz-facts--grid .lpz-fact { grid-template-columns: 1fr; gap: 0.15rem; }
}
@media (max-width: 340px) {
  .lpz-banner3 { grid-template-columns: 1fr; }
}

/* ───── Consent states ───── */
@media (max-width: 1100px) {
  .lpz-consent-bar { grid-template-columns: 1fr; }
  .lpz-consent-bar__actions { justify-content: flex-start; }
}
@media (max-width: 560px) {
  .lpz-consent-bar { max-height: 75vh; overflow-y: auto; }
  .lpz-consent-bar__actions .lpz-btn { flex: 1 1 130px; }
  .lpz-consent-bar__actions .lpz-consent-btn--manage { flex-basis: 100%; }
  .lpz-consent-dialog__actions .lpz-btn { width: 100%; }
}

/* ───── Homepage layout states ───── */
@media (max-width: 1100px) {
  .lpz-slab__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .lpz-slab__unit { grid-column: 1 / -1; }
  .lpz-slab__notes { grid-column: 1 / -1; }
  .lpz-slab__facts { grid-column: 1 / -1; }
  .lpz-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #5d4b3f; }
  .lpz-steps li { border-bottom: 1px solid #5d4b3f; min-height: 220px; }
}
@media (max-width: 980px) {
  .lpz-overture__frame { max-width: 600px; width: 100%; margin-inline: auto; }
  .lpz-overture__copy { padding-top: 3.5rem; }
  .lpz-tally { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lpz-advice { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .lpz-steps { grid-template-columns: 1fr 1fr; }
  .lpz-steps li { min-height: 0; padding-bottom: 1.4rem; }
  .lpz-steps li:last-child { grid-column: 1 / -1; }
  .lpz-steps__num { padding-bottom: 1rem; }
  .lpz-slab__unit { grid-template-columns: 1fr 1fr; min-height: 104px; }
  .lpz-slab__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lpz-duo__stack figure:nth-child(1) { margin-left: 8%; }
  .lpz-duo__stack figure:nth-child(2) { margin-right: 8%; }
}
@media (max-width: 420px) {
  .lpz-slab__unit { grid-template-columns: 1fr; }
  .lpz-slab__logo { border-right: 1px solid #b9b1aa; border-bottom: 0; border-radius: 4px 4px 0 0; min-height: 96px; }
  .lpz-slab__actions { grid-template-rows: none; grid-template-columns: 1fr 1fr; border-radius: 0 0 4px 4px; }
  .lpz-slab__actions a { min-height: 48px; }
  .lpz-slab__grid { grid-template-columns: 1fr; }
  .lpz-tally li { min-height: 116px; }
  .lpz-overture__copy .lpz-accent-ace { width: 96px; }
  .lpz-overture__cta { width: 100%; }
}

@media (hover: none) {
  .lpz-btn--crimson:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

@media (forced-colors: active) {
  .lpz-stars::after { forced-color-adjust: none; }
  .lpz-btn,
  .lpz-slab__actions a,
}

@media print {
  .lpz-masthead,
.lpz-drawer,
.lpz-consent-bar,
.lpz-consent-dialog,
.lpz-dispatch form { display: none !important; }
  body { background: #fff; color: #000; text-transform: none; }
  h1, h2, h3, .lpz-band__title { color: #000 !important; }
  .lpz-colophon { background: #fff; }
  a { color: #000; }
}
