/* Static material shared by reading cards and small controls.
   Edge light supplies depth without sampling and blurring the background. */
:root {
  --pf-material-fill:
    linear-gradient(135deg, #ffffff80, #ffffff14 44%, #ffffff40), #f8fcff85;
  --pf-material-shadow:
    inset 1px 1px 1px #ffffffe6,
    inset -1px -1px 1px #64819926,
    inset 0 0 0 1px #ffffff66,
    0 8px 24px -8px #45607e24;
  --pf-material-control-shadow:
    inset 1px 1px 1px #ffffffe6,
    inset -1px -1px 1px #64819940,
    0 3px 8px -3px #45607e33;
  /* The official pale-blue contact action, approved from /cobertura-nacional/. */
  --pf-contact-button-fill: color-mix(in srgb, var(--pf-accent, #d0dff9) 62%, transparent);
  --pf-contact-button-border: transparent;
  --pf-contact-button-shadow: var(--pf-material-control-shadow);
  --pf-contact-button-hover-fill: var(--pf-accent, #d0dff9);
}

/* These exported cards keep their markup, dimensions and action strips. */
body .integrations-item:not(.pf-service-card),
body .feature-card {
  background: var(--pf-material-fill);
  border-color: transparent;
  box-shadow: var(--pf-material-shadow);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body .feature-card > .glass-effect { display: none; }

@media (forced-colors: active) {
  body .integrations-item:not(.pf-service-card),
  body .feature-card {
    color: CanvasText;
    background: Canvas;
    border-color: CanvasText;
    outline: 1px solid CanvasText;
    box-shadow: none;
  }
}


/* Shared site chrome: the white-glass header and footer of the national map, used by every page family.
   Every selector stays under .pf-header or .pf-footer so pages generated from the preserved export keep
   their own styles. The tokens are declared here because those pages do not load the Lumos foundation,
   and the element resets use :where() so they never outrank the component classes below. */
.pf-header,
.pf-footer {
  --pf-ink: #272727;
  --pf-muted: #272727b3;
  --pf-page: #f3f6fc;
  --pf-white: #ffffff;
  --pf-black: #000000;
  --pf-accent: #d0dff9;
  --pf-surface-muted: #edeef1;
  --pf-map-dot: #9fbce6;
  --pf-map-wash: #eaf0fb;
  --pf-border: #2727271a;
  --pf-glass: #ffffff99;
  --pf-glass-stroke: #ffffff;
  --pf-shadow: 0 8px 32px #9fbce626;
  --pf-shadow-glass: 8px 12px 32px #9fbce633;
  --pf-sheen: inset 0 1px 1px #ffffffcc;
  --pf-frost-edge: #97b4cd7a;
  --pf-frost-line: #98b4cb52;
  --pf-frost-ink: #325974;
  --pf-frost-focus: #3479b4;
  --pf-frost-background:
    linear-gradient(150deg, #ffffff47, #ffffff0f 46%, #ffffff29),
    linear-gradient(180deg, #daeaf833, #ffffff0a), #f8fcff85;
  --pf-frost-shadow:
    inset 0 1px 0 #ffffffe6,
    inset 0 -18px 38px #d5e7f633,
    0 10px 30px #45607e14;
  --text: var(--pf-ink);
  --text-2: var(--pf-muted);
  --space-2: 12px;
  --space-3: 18px;
  --space-4: 24px;
  --space-5: 36px;
  --space-6: 48px;
  --space-7: 72px;
  --section-space-small: 48px;
  --section-space-medium: 96px;
  --site-margin: 48px;
  --max-width-main: 1440px;
  --radius-small: 6px;
  --radius-round: 200px;
  --hover-duration: 200ms;
  --hover-ease: cubic-bezier(.25, 1, .5, 1);
  box-sizing: border-box;
  color: var(--pf-ink);
  font-family: 'Google Sans Flex', sans-serif;
  font-size: 14px;
  font-weight: 400;
  font-optical-sizing: auto;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: start;
  -webkit-font-smoothing: antialiased;
}

:where(.pf-header, .pf-footer) *,
:where(.pf-header, .pf-footer) *::before,
:where(.pf-header, .pf-footer) *::after,
.pf-footer::before,
.pf-footer::after { box-sizing: border-box; }
:where(.pf-header, .pf-footer) p { margin: 0; color: var(--text-2); text-wrap: pretty; }
:where(.pf-header, .pf-footer) a { color: inherit; font-weight: inherit; text-decoration: underline; text-underline-offset: .2em; }
:where(.pf-header, .pf-footer) button { margin: 0; color: inherit; font: inherit; text-transform: none; }
:where(.pf-header, .pf-footer) button:not(:disabled),
:where(.pf-header, .pf-footer) summary { cursor: pointer; }
:where(.pf-header, .pf-footer) summary { display: list-item; }
:where(.pf-header, .pf-footer) img,
:where(.pf-header, .pf-footer) svg { display: block; max-width: 100%; }
:where(.pf-header, .pf-footer) img { height: auto; vertical-align: baseline; object-fit: fill; }
.pf-header [hidden],
.pf-footer [hidden] { display: none !important; }
.pf-header :focus-visible { outline: 2px solid var(--text); outline-offset: 4px; }

.pf-header .button_wrap,
.pf-footer .button_wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid var(--pf-glass-stroke);
  border-radius: var(--radius-round);
  color: var(--pf-ink);
  font-size: 17.6px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.01em;
  text-align: center;
  text-decoration: none;
  transition: box-shadow var(--hover-duration) var(--hover-ease);
}
.pf-header .button_wrap--contact,
.pf-footer .button_wrap--contact {
  background: var(--pf-contact-button-fill);
  border-color: var(--pf-contact-button-border);
  box-shadow: var(--pf-contact-button-shadow);
}
/* The footer's action reads as the page's own contact button, not as chrome: it keeps the size and
   arrow the service reading uses, while the header stays at the larger chrome scale. */
.pf-footer .button_wrap {
  font-size: 15px;
  gap: 16px;
}
.pf-header .button_wrap--glass {
  background: var(--pf-material-fill);
  box-shadow: var(--pf-material-control-shadow);
}

/* Header */
.pf-header {
  position: fixed;
  z-index: 100;
  inset: 20px 20px auto;
  width: auto;
  max-width: 1347px;
  margin-inline: auto;
}
.pf-header__scrim {
  position: fixed;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  background: rgb(0 0 0 / .16);
  transition: opacity var(--hover-duration) var(--hover-ease), visibility var(--hover-duration) var(--hover-ease);
}
.pf-header:has(.pf-dropdown[open]) .pf-header__scrim {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
}
.pf-header__bar {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 48px;
  min-height: 64px;
  padding: 12px 24px;
  color: var(--pf-ink);
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-round);
  box-shadow: var(--pf-material-shadow);
}
/* A separate blur layer keeps the fixed mobile navigation viewport-sized. Every blur in this file
   declares the prefixed property first: in the other order the build's CSS minifier keeps only the
   prefixed declaration, which Chromium ignores. */
.pf-header__bar::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: var(--pf-material-fill);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  pointer-events: none;
}
.pf-header__logo {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  flex: 0 0 auto;
  color: inherit;
  font-family: 'EB Garamond', 'Times New Roman', sans-serif;
  font-size: 17.6px;
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.pf-header__mark {
  font-family: inherit;
  font-size: 24px;
  letter-spacing: normal;
}
.pf-navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  width: 100%;
}
.pf-dropdown { position: static; }
.pf-navigation__link,
.pf-dropdown > summary {
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none;
}
.pf-dropdown > summary { gap: 4px; list-style: none; }
.pf-dropdown > summary::-webkit-details-marker { display: none; }
.pf-dropdown > summary svg { width: 20px; transition: transform var(--hover-duration) var(--hover-ease); }
.pf-dropdown[open] > summary svg { transform: rotate(180deg); }
.pf-navigation .pf-navigation__cta {
  flex: 0 0 auto;
  min-height: 44px;
  margin-left: auto;
  padding: 10px 18px;
  font-size: 14px;
}
.pf-dropdown__panel {
  position: absolute;
  z-index: 2;
  inset: calc(100% - 4px) 0 auto;
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  padding: 0;
  border: 1px solid var(--pf-glass-stroke);
  border-radius: 0 0 4px 4px;
  background: color-mix(in srgb, var(--pf-white) 94%, transparent);
  box-shadow: var(--pf-shadow-glass);
  overflow: hidden;
}
.pf-dropdown__column {
  min-width: 0;
  padding: 40px 24px;
  border-right: 1px solid var(--pf-border);
}
.pf-dropdown__column:last-child { border-right: 0; }
.pf-dropdown__column--tint { background: var(--pf-map-wash); }
.pf-dropdown__heading {
  margin-bottom: 20px;
  padding-inline: 16px;
  color: var(--pf-ink);
  font-size: 12px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.pf-dropdown__column ul {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pf-dropdown__column li a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 4px;
  color: var(--pf-ink);
  font-weight: 500;
  text-decoration: none;
}
.pf-dropdown__column small {
  color: var(--pf-muted);
  font-size: 12px;
  font-weight: 400;
  white-space: normal;
}
.pf-dropdown__claim {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 20px 12px 0;
  padding: 12px 16px;
  border: 1px solid var(--pf-glass-stroke);
  border-radius: 16px;
  background: var(--pf-glass);
  box-shadow: var(--pf-sheen), var(--pf-shadow-glass);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  text-decoration: none;
  transition: background var(--hover-duration) var(--hover-ease), box-shadow var(--hover-duration) var(--hover-ease);
}
.pf-dropdown__claim-orb {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border: 1px solid var(--pf-white);
  border-radius: 50%;
  background: radial-gradient(circle at 30% 22%, #ffffff 7%, #eaf6ff 35%, #a4c5db 85%);
  box-shadow: inset -2px -2px 5px #729ab03d, 0 2px 5px #88a7be3d;
}
.pf-dropdown__claim-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.pf-dropdown__claim-copy > span {
  color: var(--pf-ink);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
}
.pf-dropdown__claim-copy small { color: var(--pf-muted); font-size: 12px; }
.pf-dropdown__claim-arrow {
  margin-left: auto;
  color: var(--pf-frost-ink);
  font-size: 16px;
  line-height: 1;
}
.pf-dropdown__contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
.pf-dropdown__contact .pf-dropdown__heading { margin: 0; }
.pf-dropdown__contact > p:not(.pf-dropdown__heading) { max-width: 26ch; }
.pf-dropdown__place-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  margin-block: -12px;
  color: var(--pf-frost-ink);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.pf-dropdown__back { display: none; }
.pf-header__toggle { display: none; }
@media (hover: hover) {
  .pf-navigation__link:hover,
  .pf-dropdown > summary:hover,
  .pf-dropdown__column a:hover { background: rgb(39 39 39 / .055); }
  .pf-dropdown__column .pf-dropdown__claim:hover { background: var(--pf-white); box-shadow: var(--pf-sheen), 8px 12px 32px #9fbce64d; }
  .pf-header .button_wrap--glass:hover:not(:disabled) { box-shadow: var(--pf-shadow-glass); }
}
@media (hover: hover) and (forced-colors: none) {
  .pf-header .button_wrap--contact:hover:not(:disabled),
  .pf-footer .button_wrap--contact:hover:not(:disabled) { background: var(--pf-contact-button-hover-fill); }
  .pf-header .button_wrap--glass:hover:not(:disabled) { background: var(--pf-white); }
}
@media (min-width: 1101px) {
  .pf-navigation__link,
  .pf-dropdown > summary { border-radius: var(--radius-round); }
  /* Preserve the hover path across the space beneath the floating navbar. */
  .pf-dropdown[open]::after {
    content: '';
    position: absolute;
    inset: 100% 0 auto;
    height: 12px;
  }
  .pf-dropdown__panel {
    inset: calc(100% + 12px) 0 auto;
    max-height: calc(100dvh - 116px);
    border-color: transparent;
    border-radius: 28px;
    background: var(--pf-material-fill);
    box-shadow: var(--pf-material-shadow), 0 24px 48px -24px #45607e40;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .pf-dropdown__column--tint { background: #eaf0fb55; }
  .pf-dropdown__column li a { border-radius: 12px; }
}
@media (max-width: 1100px) {
  .pf-header { inset: 0 0 auto; width: 100%; max-width: none; }
  .pf-header__scrim { display: none; }
  .pf-header__bar {
    justify-content: space-between;
    gap: 0;
    min-height: 64px;
    padding: 10px 20px;
    border-radius: 0;
  }
  .pf-header__toggle {
    position: relative;
    display: block;
    width: 44px;
    height: 44px;
    padding: 10px;
    flex: 0 0 44px;
    border: 0;
    border-radius: var(--radius-small);
    color: var(--pf-ink);
    background: var(--pf-white);
    box-shadow: var(--pf-shadow-glass), var(--pf-sheen);
  }
  .pf-header__toggle span {
    position: absolute;
    top: 21px;
    left: 10px;
    display: block;
    width: 24px;
    height: 2px;
    margin: 0;
    border-radius: 2px;
    background: currentColor;
    transform-origin: center;
    transition: transform var(--hover-duration) var(--hover-ease), opacity var(--hover-duration) var(--hover-ease);
  }
  .pf-header__toggle span:first-child { transform: translateY(-6px); }
  .pf-header__toggle span:last-child { transform: translateY(6px); }
  .pf-header[data-menu-open='true'] .pf-header__toggle span:first-child { transform: rotate(45deg); }
  .pf-header[data-menu-open='true'] .pf-header__toggle span:nth-child(2) { opacity: 0; }
  .pf-header[data-menu-open='true'] .pf-header__toggle span:last-child { transform: rotate(-45deg); }
  .pf-navigation {
    position: fixed;
    inset: 64px 0 0;
    display: flex;
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    max-height: calc(100svh - 64px);
    padding: 24px;
    color: var(--pf-ink);
    background: var(--pf-page);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .pf-header[data-ready='true'][data-menu-open='false'] .pf-navigation { display: none; }
  .pf-navigation__link,
  .pf-dropdown > summary {
    justify-content: space-between;
    width: 100%;
    min-height: 52px;
    padding: 12px 0;
    border-bottom: 1px solid var(--pf-border);
    border-radius: 0;
    font-size: 20px;
  }
  .pf-dropdown > summary svg,
  .pf-dropdown[open] > summary svg { width: 24px; transform: rotate(-90deg); }
  .pf-navigation .pf-navigation__cta {
    align-self: stretch;
    justify-content: center;
    margin: 24px 0 0;
    min-height: 52px;
    font-size: 17.6px;
  }
  .pf-dropdown__panel {
    position: fixed;
    z-index: 3;
    inset: 64px 0 0;
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    max-height: calc(100svh - 64px);
    padding: 20px 24px 32px;
    border-radius: 0;
    color: var(--pf-ink);
    background: var(--pf-page);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .pf-dropdown__back {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    align-self: flex-start;
    min-height: 44px;
    margin-bottom: 8px;
    padding: 8px 0;
    border: 0;
    background: transparent;
    font-weight: 500;
  }
  .pf-dropdown__column {
    padding: 24px 0;
    border-right: 0;
    border-bottom: 1px solid var(--pf-border);
  }
  .pf-dropdown__column:last-child { border-bottom: 0; }
  .pf-dropdown__heading { margin-bottom: 8px; padding-inline: 0; }
  .pf-dropdown__column li a { padding-inline: 0; }
  .pf-dropdown__contact { gap: 12px; }
  .pf-header:not([data-ready='true']) {
    position: relative;
    inset: auto;
    width: calc(100% - 24px);
    margin: 12px auto 0;
  }
  .pf-header:not([data-ready='true']) .pf-header__bar { flex-wrap: wrap; border-radius: 4px; }
  .pf-header:not([data-ready='true']) .pf-navigation {
    position: static;
    display: flex;
    max-height: none;
    padding: 16px 0 0;
    background: transparent;
    overflow: visible;
  }
  .pf-header:not([data-ready='true']) .pf-dropdown__panel {
    position: static;
    max-height: none;
    padding: 8px 0 16px;
    background: transparent;
    overflow: visible;
  }
  .pf-header:not([data-ready='true']) .pf-dropdown__back { display: none; }
}

/* Footer */
.pf-footer {
  position: relative;
  isolation: isolate;
  padding-top: var(--section-space-medium);
  background: linear-gradient(var(--pf-page), #eef3f9);
  overflow: hidden;
  /* The footer's rules run to the edge of the viewport, so they need the distance from its reading
     column back to that edge, and from the container's own edge for the rule the container paints. */
  --rule-bleed: calc(-1 * ((100vw - min(var(--max-width-main), 100vw)) / 2 + var(--site-margin)));
  --rule-bleed-frame: calc(-1 * (100vw - min(var(--max-width-main), 100vw)) / 2);
}
.pf-footer::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: 0;
  opacity: .2;
  background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--pf-map-dot) 30%, transparent) 0, transparent 7%, transparent 8.25%);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 80%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 80%, transparent);
}
.pf-footer::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: auto -8% -145px;
  height: 280px;
  border-radius: 50% 50% 0 0;
  background: linear-gradient(90deg, var(--pf-accent), var(--pf-map-dot));
  filter: blur(75px);
  pointer-events: none;
}
.pf-footer .u-container {
  position: relative;
  width: 100%;
  max-width: var(--max-width-main);
  min-width: 0;
  margin-inline: auto;
  padding-inline: var(--site-margin);
}
.pf-footer > .u-container::before {
  content: '';
  position: absolute;
  top: calc(var(--section-space-medium) * -.5);
  inset-inline: var(--rule-bleed-frame);
  border-top: 1px solid var(--pf-frost-line);
  box-shadow: inset 0 1px 0 #ffffff99;
  height: 2px;
  pointer-events: none;
}
.pf-footer__contents {
  display: grid;
  grid-template-columns: minmax(250px, 4fr) minmax(0, 7fr);
  align-items: start;
  gap: var(--space-6);
}
.pf-footer__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}
.pf-footer__logo-card {
  display: block;
  flex: none;
  width: 196px;
  max-width: 100%;
  padding: 0;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 24px;
  background: var(--pf-material-fill);
  box-shadow: var(--pf-material-shadow);
}
.pf-footer__logo { display: block; width: 100%; height: auto; }
.pf-footer__trust,
.pf-footer__social a {
  color: var(--pf-frost-ink);
  background: var(--pf-material-fill);
  border: 1px solid transparent;
  box-shadow: var(--pf-material-control-shadow);
}
.pf-footer__trust {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 42px;
  padding: 8px 18px 8px 12px;
  border-radius: var(--radius-small);
  font-size: 11.1px;
  text-decoration: none;
}
.pf-footer__trust svg { flex: 0 0 20px; }
.pf-footer__tagline {
  color: var(--pf-ink);
  font-size: 22.2px;
  line-height: 1.4;
  letter-spacing: -.01em;
  font-weight: 450;
}
.pf-footer__preferences {
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #4d6476;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: opacity var(--hover-duration) var(--hover-ease);
}
.pf-footer__menus {
  display: grid;
  grid-template-columns: 1fr 1.25fr 1fr;
  gap: var(--space-4);
}
.pf-footer__column {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  min-width: 0;
}
.pf-footer__group { display: flex; flex-direction: column; gap: var(--space-3); }
.pf-footer__heading { color: var(--pf-ink); font-weight: 700; }
.pf-footer__group ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pf-footer__group a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding-block: 4px;
  color: #4d6476;
  text-decoration: none;
  transition: opacity var(--hover-duration) var(--hover-ease);
}
/* The longer selector keeps this link in ink ahead of the map theme's footer link colour. */
.pf-footer .pf-footer__menus .pf-footer__group .pf-footer__arrow {
  margin-top: 8px;
  color: var(--pf-ink);
  font-weight: 500;
}
.pf-footer__arrow span { margin-left: 8px; }
.pf-footer__help {
  max-width: 680px;
  margin-top: var(--space-6);
  color: var(--pf-muted);
}
.pf-footer__help summary {
  min-height: 44px;
  padding-block: var(--space-2);
  color: var(--pf-ink);
}
.pf-footer__help p { margin-top: var(--space-2); }
/* The page-level scope note leads the footer, so the footer's own top rule separates it
   from the page above and it carries none of its own. */
.pf-footer__disclosure { max-width: 680px; margin-bottom: var(--section-space-medium); color: var(--pf-muted); }
.pf-footer__disclosure > summary { min-height: 44px; padding-block: var(--space-2); color: var(--pf-ink); }
.pf-footer__disclosure > summary:focus-visible { outline: 2px solid var(--pf-frost-focus); outline-offset: 4px; }
.pf-footer__disclosure-body > :first-child { margin-top: var(--space-2); }
.pf-footer__disclosure-body > * + * { margin-top: var(--space-2); }
.pf-footer__disclosure-body > :last-child { margin-bottom: 0; }
.pf-footer__bottom {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-7);
  padding-block: 24px 36px;
  border-top: 1px solid;
  border-color: transparent;
  box-shadow: inset 0 1px 0 #ffffff99;
  font-size: 11.1px;
}
.pf-footer__bottom::before {
  content: '';
  position: absolute;
  top: -1px;
  inset-inline: var(--rule-bleed);
  height: 1px;
  background: var(--pf-frost-line);
  pointer-events: none;
}
.pf-footer__bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
}
.pf-footer__copyright {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
}
.pf-footer__copyright > p {
  color: var(--pf-ink);
  font-family: 'EB Garamond', Georgia, 'Times New Roman', serif;
  font-weight: 500;
  letter-spacing: -.03em;
}
.pf-footer__legal { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; }
.pf-footer__legal a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: #4d6476;
  text-decoration: none;
  transition: opacity var(--hover-duration) var(--hover-ease);
}
.pf-footer__social { display: flex; align-items: center; gap: 12px; }
.pf-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: background var(--hover-duration) var(--hover-ease), transform var(--hover-duration) var(--hover-ease);
}
.pf-footer__social svg { width: 18px; height: 18px; }
.pf-footer__notice { max-width: 1050px; color: var(--pf-muted); }
.pf-footer :is(a, button, summary):focus-visible { outline: 2px solid var(--pf-frost-focus); outline-offset: 3px; }
@media (hover: hover) {
  .pf-footer__social a:hover { transform: translateY(-1px); }
}
@media (hover: hover) and (forced-colors: none) {
  .pf-footer :is(.pf-footer__trust, .pf-footer__social a):hover { background: #e5effbb3; }
  .pf-footer :is(.pf-footer__group a, .pf-footer__legal a, .pf-footer__preferences):hover { color: var(--pf-ink); text-decoration: underline; text-underline-offset: 4px; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .pf-header__bar::before { background: #f5faff; }
  .pf-dropdown__panel { background: #f5faff; }
}
@media (max-width: 1100px) {
  .pf-footer__contents { grid-template-columns: 1fr; gap: var(--space-7); }
  .pf-footer__brand { align-items: center; text-align: center; }
  .pf-footer__menus { width: 100%; max-width: 820px; margin-inline: auto; gap: var(--space-6); }
  .pf-footer__group a { min-height: 44px; }
}
@media (max-width: 767px) {
  .pf-header,
  .pf-footer { --site-margin: 24px; --section-space-medium: 72px; }
  .pf-footer { padding-top: var(--section-space-small); }
  .pf-footer__contents { gap: var(--space-6); }
  .pf-footer__menus { grid-template-columns: 1fr; gap: var(--space-5); }
  .pf-footer__column { gap: var(--space-5); }
  .pf-footer__bottom { margin-top: var(--space-6); }
  .pf-footer__bottom-row { align-items: flex-start; flex-direction: column; }
  .pf-footer__legal { gap: 0 18px; }
  .pf-footer__legal a { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .pf-header,
  .pf-header *,
  .pf-footer,
  .pf-footer * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .pf-footer__social a { transition: none; }
}
@media (forced-colors: active) {
  .pf-header__bar::before,
  .pf-footer::before,
  .pf-footer::after { display: none; }
  .pf-header,
  .pf-footer { --pf-frost-ink: CanvasText; --pf-frost-focus: Highlight; --pf-frost-line: CanvasText; --pf-frost-edge: CanvasText; }
  .pf-header__bar { border-color: CanvasText; box-shadow: none; background: Canvas; }
  .pf-dropdown__panel { color: CanvasText; background: Canvas; border-color: CanvasText; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .pf-footer { color: CanvasText; background: Canvas; box-shadow: none; }
  .pf-footer :is(.pf-footer__logo-card, .pf-footer__trust, .pf-footer__social a) { color: CanvasText; background: Canvas; border-color: CanvasText; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .pf-header .button_wrap--contact,
  .pf-footer .button_wrap--contact { color: ButtonText; background: ButtonFace; border-color: ButtonText; box-shadow: none; }
  .pf-footer :is(.pf-footer__group a, .pf-footer__legal a, .pf-footer__preferences, .pf-footer__trust, .pf-footer__social a) { color: LinkText; }
  .pf-footer__bottom,
  .pf-footer > .u-container::before { box-shadow: none; }
  .pf-footer :is(a, button, summary):focus-visible { outline-color: Highlight; }
  .pf-dropdown__claim { background: Canvas; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .pf-dropdown__claim-orb { display: none; }
}
