/* Site v2 legal family: terms, security, press releases, the compliance
   request form and the team member profiles. The documents sit on
   layouts/longform.css, the form on layouts/utility.css. */

/* ---------- Terms: numbered sub-clauses carry their own numbers ---------- */
.v2-prose .v2-legal-clauses {
  list-style: none;
  padding-left: 0;
  gap: 0.75em;
}
.v2-prose .v2-legal-clauses .v2-legal-clauses {
  margin-top: 0.75em;
  padding-left: 1.5em;
}

/* ---------- Press releases: the long headline is the h1 at the h2 size ---------- */
main:has(.v2-legal-dateline) .v2-doc-head__title {
  max-width: 32ch;
  font-size: var(--fs-h2);
  line-height: 1.25;
}
main:has(.v2-legal-dateline) .v2-doc-head__lead {
  max-width: 640px;
}

/* ---------- Security: badges on round 4 cards, 16px apart ---------- */
.v2-prose .v2-legal-shields,
.v2-prose .v2-legal-standards {
  gap: var(--space-4);
  margin-block: 1.6em;
  padding-left: 0;
  list-style: none;
  font-family: var(--font-sans);
}
.v2-legal-shield,
.v2-legal-standard {
  display: grid;
  align-content: start;
  gap: var(--space-4);
  padding: var(--space-6);
}
.v2-legal-shield img {
  width: auto;
  height: 56px;
}
.v2-legal-shield p,
.v2-legal-standard span {
  font-size: var(--fs-sm);
  line-height: 1.43;
  color: var(--muted);
}
/* Phones: one card per row, the badge beside the text (as the standards). */
@media (max-width: 559px) {
  .v2-prose .v2-legal-shields {
    grid-template-columns: minmax(0, 1fr);
  }
  .v2-legal-shield {
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    padding: var(--space-4) var(--space-5);
  }
  .v2-legal-shield img {
    width: 48px;
    height: auto;
  }
}
/* Standards: one card per row on phones (badge beside the text); from 720px
   three across, with a last row of two sharing the width (no lone card). */
.v2-prose .v2-legal-standards {
  grid-template-columns: minmax(0, 1fr);
}
.v2-legal-standard {
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  padding: var(--space-4) var(--space-5);
}
.v2-legal-standard img {
  width: 48px;
  height: auto;
}
@media (min-width: 720px) {
  .v2-prose .v2-legal-standards {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .v2-legal-standard {
    grid-column: span 2;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    padding: var(--space-6);
  }
  .v2-legal-standard:nth-child(3n + 1):nth-last-child(2),
  .v2-legal-standard:nth-child(3n + 1):nth-last-child(2) + .v2-legal-standard {
    grid-column: span 3;
  }
  .v2-legal-standard:nth-child(3n + 1):last-child {
    grid-column: 1 / -1;
  }
  .v2-legal-standard img {
    width: 56px;
  }
}
.v2-prose .v2-legal-file {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-sans);
  font-size: var(--fs-sm);
  font-weight: 500;
}
/* The closing contact card. */
.v2-legal-contact {
  gap: var(--space-5);
  margin-top: var(--space-12);
  padding: var(--space-8);
  color: var(--ink-2);
}
.v2-legal-address {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: var(--space-3);
  font-style: normal;
  font-weight: 500;
  color: var(--ink);
}
.v2-legal-address svg {
  margin-top: 4px;
  color: var(--muted);
}
@media (max-width: 559px) {
  .v2-legal-contact {
    padding: var(--space-6);
  }
}

/* ---------- Compliance request: the form card beside the legal links ---------- */
.v2-legal-request {
  display: grid;
  gap: var(--space-10);
  width: 100%;
  max-width: 1040px;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .v2-legal-request {
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    column-gap: clamp(40px, 6vw, 80px);
    align-items: start;
  }
}
/* The thank-you row sits in the panel itself, not in a second frame. */
.v2-legal-request__panel .v2-form-success {
  padding: 0;
  box-shadow: none;
}
/* The old upper-case field labels ("NAME:") read as round 4's mono labels. */
.v2-legal-request__panel .v2-field__label {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: 500;
  line-height: 1.33;
  letter-spacing: 0.02em;
  color: var(--ink-2);
}
.v2-legal-request__related .v2-row {
  align-items: center;
  min-height: 56px;
  padding-block: var(--space-4);
}
.v2-legal-request__related .v2-row svg {
  color: var(--muted);
  transition:
    transform var(--dur) var(--ease),
    color var(--dur) var(--ease);
}
.v2-legal-request__related .v2-row:hover .v2-row__title {
  color: var(--accent-ink);
}
.v2-legal-request__related .v2-row:hover svg {
  color: var(--accent-ink);
  transform: translateX(3px);
}

/* ---------- Team member profiles: the portrait on top of the centred head ---------- */
.v2-legal-profile-head__photo {
  width: 112px;
  height: auto;
  aspect-ratio: 1;
  margin-bottom: var(--space-6);
  padding: 4px;
  object-fit: cover;
  border-radius: 50%;
  background: var(--paper);
  box-shadow:
    0 0 0 1px var(--rule),
    var(--shadow-float);
}
@media (min-width: 720px) {
  .v2-legal-profile-head__photo {
    width: 136px;
  }
}
/* Bindu Reddy's bio, after her article. */
.v2-legal-bio {
  margin-top: var(--space-12);
}
.v2-legal-bio__text {
  display: grid;
  gap: 1em;
  font-size: var(--fs-sm);
  line-height: 1.43;
  color: var(--muted);
}
