/* Human-readable customer site map. Scoped so it cannot affect other pages. */
.site-map-page {
  min-height: 60vh;
  padding-bottom: 58px;
  background: #F7F9FC;
}
.site-map-hero {
  padding: 34px 0 38px;
  color: #fff;
  background:
    radial-gradient(90% 150% at 88% 10%, rgba(55,129,255,.34), transparent 58%),
    linear-gradient(115deg, #061630, #0B2B65 70%, #104CA5);
}
.site-map-crumbs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 25px;
  color: rgba(225,236,252,.7);
  font-size: 12px;
}
.site-map-crumbs a { color: #fff; }
.site-map-crumbs a:hover { text-decoration: underline; }
.site-map-hero__copy {
  display: flex;
  align-items: center;
  gap: 18px;
}
.site-map-hero__icon {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 16px;
  background: rgba(255,255,255,.1);
}
.site-map-kicker {
  margin: 0 0 4px;
  color: #69B4FF;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.site-map-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.site-map-hero__copy > div > p:last-child {
  max-width: 700px;
  margin: 9px 0 0;
  color: rgba(226,238,255,.77);
  font-size: 14px;
  line-height: 1.55;
}
.site-map-content { padding-top: 28px; }
.site-map-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.site-map-card {
  min-width: 0;
  padding: 22px;
  border: 1px solid #E3E9F2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(11,31,68,.05);
}
.site-map-card--primary {
  border-color: #CFDCF1;
  background: linear-gradient(145deg, #fff, #F3F7FE);
}
.site-map-card--support {
  border-color: #CFE0FA;
  background: #F7FAFF;
}
.site-map-card__head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid #EDF1F6;
}
.site-map-card__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #1257E5;
  background: #EAF1FE;
}
.site-map-card h2 {
  margin: 1px 0 3px;
  color: #0E1E38;
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: -.015em;
}
.site-map-card__head p {
  margin: 0;
  color: #718096;
  font-size: 11.5px;
  line-height: 1.45;
}
.site-map-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px 15px;
  padding-top: 13px;
}
.site-map-links a {
  position: relative;
  min-width: 0;
  padding: 8px 16px 8px 0;
  color: #334760;
  font-size: 12.5px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.site-map-links a::after {
  content: "›";
  position: absolute;
  top: 8px;
  right: 2px;
  color: #9AABC1;
  font-size: 16px;
  line-height: 1;
}
.site-map-links a:hover { color: #1257E5; }
.site-map-links a:hover::after { color: #1257E5; transform: translateX(2px); }
.site-map-links small {
  display: block;
  margin-top: 2px;
  color: #8A99AD;
  font-size: 9.5px;
}
.site-map-xml { color: #5C6F88 !important; }

@media (max-width: 1050px) {
  .site-map-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .site-map-page { padding-bottom: 38px; }
  .site-map-hero { padding: 25px 0 28px; }
  .site-map-crumbs { margin-bottom: 19px; }
  .site-map-hero__copy { align-items: flex-start; gap: 12px; }
  .site-map-hero__icon { width: 46px; height: 46px; flex-basis: 46px; border-radius: 12px; }
  .site-map-hero__icon svg { width: 23px; height: 23px; }
  .site-map-kicker { font-size: 10px; }
  .site-map-hero h1 { font-size: 27px; }
  .site-map-hero__copy > div > p:last-child { font-size: 12.5px; }
  .site-map-content { padding-top: 16px; }
  .site-map-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .site-map-card { padding: 18px 16px; border-radius: 12px; }
  .site-map-links { gap: 0 12px; }
  .site-map-links a { padding-block: 7px; font-size: 12px; }
}

@media (max-width: 370px) {
  .site-map-links { grid-template-columns: minmax(0, 1fr); }
}
