/* ══════════════════════════════════════════════════════════════════════════
   doorguard-country.css — COUNTRY HUB DELTA ONLY
   ──────────────────────────────────────────────────────────────────────────
   Loaded AFTER doorguard.css (the shared city pack). Country stage now uses
   the shared `.pm-dg` / `.pm-dg__grid` shell (brandReserve + brand zone + H1),
   same principles as City. This file keeps the hub-card adapter chrome and
   permanent composed page-shell layout for --country-page / --city-page.

   Unique here:
     · city-destination hub cards (`.pm-dg-hub__card` inside `.pm-dg__grid`)
     · legacy `.pm-dg-hub` rules retained only as fallback for older markup
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Legacy hub stage (fallback) — Country now prefers shared `.pm-dg` ───── */
.pm-dg-hub {
  position: relative;
  flex: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 420ms cubic-bezier(.22, 1, .36, 1);
  container-type: size;
  container-name: pm-dg-stage;
}
.pm-dg__slide-wrap.is-panel-open .pm-dg-hub {
  transform: translateY(100%);
}

/* ══════════════════════════════════════════════════════════════════════════
   Permanent composed destination chrome (Country + City).
   (:is(--country-page, --city-page) — not prelaunch-country / not the door)

   ROOT LAYOUT CONTRACT (flex column — no chrome overlaps):
     header  → flex: 0 0 var(--pm-bar-h)
     slide-wrap (content band) → flex: 1; min-height: 0; clips everything
     footer  → flex: 0 0 var(--pm-bar-h)

   All stage / panels / chat / collector / share fill ONLY the content band.
   Slide-up transforms + panel open logic unchanged.
   ══════════════════════════════════════════════════════════════════════════ */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) > .pm-dg__chrome-header,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) > .pm-dg__chrome-footer {
  flex: 0 0 var(--pm-bar-h);
  position: relative;
  z-index: 100;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) > .pm-dg__slide-wrap {
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  z-index: 1;
}

/* Content-band layers: absolute fill of slide-wrap only (keeps slide animations).
 * City opened stage is `.pm-dg` (shared grid shell); Country hub stays `.pm-dg-hub`. */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__slide-wrap > .pm-dg-hub,
.pm-dg__page-shell--city-page .pm-dg__slide-wrap > .pm-dg,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__slide-wrap > .pm-dg__panel,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__slide-wrap > .pm-dg__pricing-panel,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__slide-wrap > .pm-dg__paramour-panel,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__slide-wrap > .pm-dg__chat-backdrop,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__slide-wrap > .pm-dg__coll-backdrop,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__slide-wrap > .pm-dg__share-backdrop {
  position: absolute;
  inset: 0;
  max-height: 100%;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__slide-wrap > .pm-dg__chat-panel {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  max-height: 100%;
}

/* Stage: fill band; clip (no bleed under chrome). Push-down animation intact. */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-hub,
.pm-dg__page-shell--city-page .pm-dg {
  flex: none;
  width: auto;
  height: auto;
  overflow: hidden;
  transition: transform 420ms cubic-bezier(.22, 1, .36, 1);
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__slide-wrap.is-panel-open .pm-dg-hub,
.pm-dg__page-shell--city-page .pm-dg__slide-wrap.is-panel-open .pm-dg {
  transform: translateY(100%);
}

/*
 * Panel interiors: shared pack uses justify-content:center — with tall essay
 * content that overflows the outline and paints over the page. Country pilot
 * scrolls from the top and clips to the band.
 */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel--learn,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel--info,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__pricing-panel {
  justify-content: flex-start;
  align-content: flex-start;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  min-height: 0;
  box-sizing: border-box;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__pricing-placeholder {
  padding: 1.25rem 1.4rem 1.6rem;
  color: #f4f1ea;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__pricing-placeholder-label {
  margin: 0 0 0.55rem;
  padding: 0.2rem 0.45rem;
  display: inline-block;
  border: 1px dashed #d97706;
  background: rgba(217, 119, 6, 0.18);
  color: #fbbf24;
  font: 600 0.68rem/1.3 "Inter", system-ui, sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__pricing-placeholder-body,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__pricing-placeholder-frame {
  margin: 0 0 0.75rem;
  max-width: 36rem;
  font: 400 0.92rem/1.5 "Inter", system-ui, sans-serif;
  color: rgba(244, 241, 234, 0.88);
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__paramour-panel {
  overflow: hidden;
  min-height: 0;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__paramour-panel .pm-dg__pnav-pane {
  justify-content: flex-start;
  align-content: flex-start;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  min-height: 0;
}

/* Collector / Share: band-local absolute (override shared position:fixed). */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__coll-backdrop,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__share-backdrop {
  position: absolute;
  inset: 0;
  z-index: 60;
  width: auto;
  height: auto;
  max-height: 100%;
  box-sizing: border-box;
}

:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page).is-compact-chrome .pm-dg__info-btn {
  padding: 6px 10px;
  font-size: 10px;
  letter-spacing: 0.08em;
  margin-left: 4px;
}

/* ── City-destination card grid (hub-card adapter)
   Shared packing engine sizes `.pm-dg__grid` (and legacy `.pm-dg-hub__grid`)
   and writes --pm-radius onto the `.pm-dg` stage on every ResizeObserver tick. */
.pm-dg-hub__grid {
  display: grid;
  position: relative;
  z-index: 5;
}

/* Empty spacer the shared engine injects to centre gaps (BRAND: neutral) */
.pm-dg-hub__empty { position: relative; }

/* ── City card — an <a> link. The scaling bg + static frame/label are
   SIBLINGS so the frame and city name never move while the bg scales. ─────── */
.pm-dg-hub__card {
  position: relative;
  display: block;
  text-decoration: none;
  cursor: pointer;
  z-index: 0;
}
.pm-dg-hub__card:hover { z-index: 15; }

/* Scaling background — the ONLY element that transforms on hover */
.pm-dg-hub__card-bg {
  position: absolute;
  inset: 0;
  border-radius: var(--pm-radius, 8px);
  background: #111;
  border: 1px solid #222;
  overflow: hidden;
  transition:
    transform 110ms cubic-bezier(.22, 1, .36, 1),
    box-shadow 110ms cubic-bezier(.22, 1, .36, 1),
    background 110ms ease;
}
.pm-dg-hub__card:hover .pm-dg-hub__card-bg {
  transform: scale(1.04);
  background: #1a1a1a;
  box-shadow: 0 8px 28px 4px rgba(0, 0, 0, .85), 0 2px 8px rgba(0, 0, 0, .6);
}

/* Inset frame — static sibling, never transforms */
.pm-dg-hub__card-frame {
  position: absolute;
  inset: 7px;
  border-radius: calc(var(--pm-radius, 8px) - 7px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  z-index: 2;
  pointer-events: none;
}

/* City name — static sibling, never transforms.
   Shared by Doorguard 25 (prelaunch-country) and opened (country-page). */
.pm-dg__page-shell .pm-dg-hub__card-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Raleway', sans-serif;
  font-size: clamp(8px, 3vw, 19px);
  color: rgba(255, 255, 255, 0.82);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: color 150ms, text-shadow 150ms;
  z-index: 3;
  pointer-events: none;
  user-select: none;
  text-align: center;
  padding: 10%;
}
.pm-dg__page-shell .pm-dg-hub__card:hover .pm-dg-hub__card-label {
  color: #ffffff;
  text-shadow:
    0 0 24px rgba(201, 41, 122, 0.65),
    0 0 60px rgba(201, 41, 122, 0.35);
}


/* Destination identity H1 lives on stage when `$identity_h1_on_stage` (shared shell).
   INFO identity block remains for lead / Place Facts — not a second H1. */
.pm-dg__page-shell .pm-dg__panel--info .pm-dg-ia--identity {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  z-index: auto;
  width: 100%;
  max-width: 780px;
  margin: 0 auto 1.25rem;
  padding: 0;
  text-align: left;
  pointer-events: auto;
  color: inherit;
  text-shadow: none;
}
.pm-dg__page-shell .pm-dg__panel--info .pm-dg-ia--identity .pm-dg__identity-class {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.78;
}
.pm-dg__page-shell .pm-dg__panel--info .pm-dg-ia--identity .pm-dg__identity-adult {
  font-weight: 600;
}
.pm-dg__page-shell .pm-dg__panel--info .pm-dg-ia--identity .pm-dg__identity-h1 {
  margin: 0 0 0.4rem;
  font-weight: 300;
  font-size: clamp(1.2rem, 2.4vw, 1.85rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.25;
}
.pm-dg__page-shell .pm-dg__panel--info .pm-dg-ia--identity .pm-dg__subtitle {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  display: block;
  margin: 0 0 0.65rem;
  white-space: normal;
  opacity: 0.88;
}
.pm-dg__page-shell .pm-dg__panel--info .pm-dg-ia--identity .pm-dg__identity-lead {
  margin: 0;
  max-width: none;
  font-size: 0.95rem;
  line-height: 1.5;
  font-weight: 300;
  opacity: 0.92;
}
.pm-dg__page-shell .pm-dg__panel--info .pm-dg-ia--identity .pm-dg__identity-trust {
  margin: 0.7rem 0 0;
  font-size: 0.8rem;
}
.pm-dg__page-shell .pm-dg__panel--info .pm-dg-ia--identity a,
.pm-dg__page-shell .pm-dg__panel--info .pm-dg-ia--identity button {
  pointer-events: auto;
}
.pm-dg__page-shell .pm-dg__panel--info .pm-dg-ia--identity .pm-dg__identity-trust a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pm-dg__page-shell .pm-dg__panel--info {
  justify-content: flex-start;
  align-content: flex-start;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  min-height: 0;
  box-sizing: border-box;
}
.pm-dg__page-shell .pm-dg__panel--info > :is(.pm-dg-ia--local-country, .pm-dg-ia--local-city) {
  align-self: stretch;
  width: 100%;
  max-width: 860px;
  margin: 8px auto 28px;
  pointer-events: auto;
}
.pm-dg__page-shell .pm-dg__panel--info .pm-pi {
  color: inherit;
  background: transparent;
}
.pm-dg__page-shell .pm-dg__panel--info .pm-pi a {
  color: inherit;
}
.pm-dg__page-shell .pm-dg__panel--info .pm-pi--embed {
  margin: 1.25rem 0 0;
  padding: 1.25rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--providers,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--practical,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--trust,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--qa,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--legal {
  width: min(100%, 42rem);
  min-height: 2.25rem;
  margin: 10px auto;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--knowledge {
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: min(100%, 860px);
  margin: 8px auto 12px;
  padding: 8px 4px 12px;
  box-sizing: border-box;
}
/* LOCAL COUNTRY CONTENT — receiving home; specimen essay populates it for design. */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country {
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: min(100%, 860px);
  margin: 8px auto 28px;
  padding: 12px 8px 16px;
  box-sizing: border-box;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country .pm-dg__local-country-hero {
  margin: 0 0 8px;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country .pm-dg__local-country-hero .pm-dg__panel-title {
  font-size: clamp(22px, 2.6vw, 36px);
  margin-bottom: 0;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country .pm-dg__local-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin: 10px 0 6px;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country .pm-dg__panel-cards--local-section {
  width: 100%;
  max-width: 780px;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country .pm-dg__panel-cards--local-section .pm-dg__panel-card {
  flex: 1 1 100%;
}

/* The local section is a flex child of the centred INFO panel, so it has to be
   told to stretch before anything inside it can share a column width. */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page)
  .pm-dg__panel--info > :is(.pm-dg-ia--local-country, .pm-dg-ia--local-city) {
  align-self: stretch;
  width: 100%;
}

/* The editorial blocks read as one column.
   The INFO panel is a centred flex column, so a child that is not stretched is
   sized to its own text and lands on its own left edge — a stack of blocks then
   steps in and out as each one's content changes length. These give the blocks a
   single shared column so labels line up under each other, and they cover the
   city section as well as the country one. */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page)
  :is(.pm-dg-ia--local-country, .pm-dg-ia--local-city) .pm-dg__local-future {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 26px;
  text-align: left;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page)
  :is(.pm-dg-ia--local-country, .pm-dg-ia--local-city) .pm-dg__local-future > * {
  width: 100%;
  max-width: none;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page)
  :is(.pm-dg-ia--local-country, .pm-dg-ia--local-city) .pm-dg__local-future .pm-dg__panel-cards--local-section {
  width: 100%;
  max-width: none;
  margin: 0;
}

/* The shapes an editorial block can take.
   A block renders in the shape its type implies — a paragraph, a list of facts,
   a set of questions, or a set of links. Those last three had no styling at all
   and fell back to the browser defaults, which read as an unstyled document
   inside an otherwise finished panel. Each follows the card body it sits next
   to: same family, same measure, same muted white. */

/* Facts, as a list of short statements. */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-card-list {
  margin: 0;
  padding: 0 0 0 18px;
  list-style: disc;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-card-list li {
  margin: 0 0 7px;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.65;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-card-list li::marker {
  color: rgba(255, 255, 255, 0.34);
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-card-list li:last-child {
  margin-bottom: 0;
}

/* Questions and answers. The question leads, the answer is set slightly back so
   the pair reads as one unit and the eye can skim the questions alone. */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-qa {
  margin: 0;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-qa-q {
  margin: 0 0 4px;
  color: rgba(255, 255, 255, 0.94);
  font-weight: 600;
  line-height: 1.5;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-qa-a {
  margin: 0 0 18px;
  padding: 0 0 0 14px;
  border-left: 2px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.75;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-qa-a:last-child {
  margin-bottom: 0;
}

/* The sources under a statement. Quieter than the statement they support, and
   visibly attached to it rather than floating as a separate section. */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-sources {
  margin: 16px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-sources-label {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.42);
  margin: 0 0 7px;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-sources .pm-dg__panel-legal-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-sources .pm-dg__panel-legal-list li {
  margin: 0 0 5px;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.58);
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-sources .pm-dg__panel-legal-list li:last-child {
  margin-bottom: 0;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-sources .pm-dg__panel-legal-list a {
  color: rgba(255, 255, 255, 0.78);
  text-decoration: underline;
  text-underline-offset: 2px;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-sources .pm-dg__panel-legal-list a:hover,
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg__panel-sources .pm-dg__panel-legal-list a:focus-visible {
  color: #fff;
}

/* The block label. It names the passage, so it should read as a heading rather
   than as another line of body text. */
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page)
  :is(.pm-dg-ia--local-country, .pm-dg-ia--local-city) .pm-dg__local-future-label {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--qx-blue);
  margin: 0 0 8px;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country .pm-dg__local-country-lead {
  text-align: center;
  gap: 14px;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country .pm-dg__local-country-lead .pm-dg__panel-title {
  font-size: clamp(22px, 2.6vw, 36px);
  margin: 0;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country .pm-dg__local-country-lead .pm-dg__panel-sub {
  margin-top: 0;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country .pm-dg__panel-cards--local-section .pm-dg__panel-card-body {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.75;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country .pm-dg__local-country-lead .pm-dg__panel-card-body {
  text-align: center;
}
:is(.pm-dg__page-shell--country-page, .pm-dg__page-shell--city-page) .pm-dg-ia--local-country .pm-dg__info-article {
  width: 100%;
  margin: 0;
}
/*
 * POLICIES / IMPRINT — same SoT as LEGAL LINKS.
 * In-bar crossfade (not a popover above the footer): page-shell overflow:hidden
 * was clipping the absolute-upward reveal, so hover looked like a no-op.
 */
.pm-dg__page-shell .pm-dg__footer-center {
  overflow: visible;
}
.pm-dg__page-shell .pm-dg__footer-tagline-host {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  min-width: 0;
  max-width: 100%;
  cursor: default;
  /* Override: keep footer policies hoverable (X-Ray must not steal hit targets). */
  pointer-events: auto;
}
/* Must beat the flex rule above — Paramour pnav sets [hidden] on this host. */
.pm-dg__page-shell .pm-dg__footer-tagline-host[hidden] {
  display: none !important;
}
.pm-dg__page-shell .pm-dg__footer-tagline-host .pm-dg__footer-tagline {
  flex: 0 1 auto;
  width: 100%;
  margin: 0;
  transition: opacity 200ms ease, transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}
.pm-dg__page-shell .pm-dg__footer-policies {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 8px;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(4px);
  transition:
    opacity 200ms ease,
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 200ms;
}
.pm-dg__page-shell .pm-dg__footer-policies .pm-dg__panel-legal-list,
.pm-dg__page-shell .pm-dg__footer-policies .pm-dg__panel-legal-list li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pm-dg__page-shell .pm-dg__footer-policies .pm-dg__panel-legal-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 14px;
  max-width: 100%;
}
.pm-dg__page-shell .pm-dg__footer-policies .pm-dg__panel-legal-list a {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
  text-decoration: none;
  white-space: nowrap;
  transition: color 140ms;
}
.pm-dg__page-shell .pm-dg__footer-policies .pm-dg__panel-legal-list a:hover,
.pm-dg__page-shell .pm-dg__footer-policies .pm-dg__panel-legal-list a:focus-visible {
  color: #fff;
}
.pm-dg__page-shell .pm-dg__footer-tagline-host:hover .pm-dg__footer-tagline,
.pm-dg__page-shell .pm-dg__footer-tagline-host:focus-within .pm-dg__footer-tagline,
.pm-dg__page-shell .pm-dg__footer-tagline-host.is-policies-open .pm-dg__footer-tagline {
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
}
.pm-dg__page-shell .pm-dg__footer-tagline-host:hover .pm-dg__footer-policies,
.pm-dg__page-shell .pm-dg__footer-tagline-host:focus-within .pm-dg__footer-policies,
.pm-dg__page-shell .pm-dg__footer-tagline-host.is-policies-open .pm-dg__footer-policies {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition:
    opacity 200ms ease,
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0s;
}
@media (prefers-reduced-motion: reduce) {
  .pm-dg__page-shell .pm-dg__footer-tagline-host .pm-dg__footer-tagline,
  .pm-dg__page-shell .pm-dg__footer-policies {
    transition: opacity 1ms linear, visibility 0s linear 0s;
    transform: none;
  }
}

