.skip-link {
  position: fixed;
  z-index: 200;
  top: 10px;
  left: 10px;
  border-radius: 10px;
  background: #171918;
  color: #fff;
  padding: 10px 14px;
  font: 650 13px/1 Inter, sans-serif;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform .15s ease;
}

.skip-link:focus { transform: translateY(0); }

.pw-legal .legal-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-bottom: 1px solid var(--pw-sub-line);
}

.pw-legal .legal-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at 84% 16%, rgba(184, 214, 202, .48), transparent 31%),
    radial-gradient(circle at 8% 100%, rgba(212, 119, 107, .08), transparent 26%),
    linear-gradient(145deg, #f7f4ed 0%, #f2eee5 63%, #edf1eb 100%);
  content: '';
}

.pw-legal .legal-hero__grid {
  display: grid;
  min-height: 600px;
  grid-template-columns: minmax(0, 1.18fr) minmax(330px, .54fr);
  align-items: center;
  gap: 90px;
  padding-block: 84px 96px;
}

.pw-legal .legal-hero__copy { max-width: 760px; }

.pw-legal .legal-hero h1 {
  max-width: 780px;
  font-size: clamp(66px, 7vw, 100px);
}

.pw-legal .legal-hero h1 em {
  color: var(--pw-sub-sage);
  font-weight: 500;
}

.pw-legal .legal-hero__lead {
  max-width: 660px;
  margin: 29px 0 0;
  color: rgba(23, 25, 24, .65);
  font-size: 17px;
  line-height: 1.72;
}

.pw-legal .legal-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 29px;
  color: rgba(23, 25, 24, .49);
  font-size: 10px;
  font-weight: 670;
  letter-spacing: .35px;
}

.pw-legal .legal-hero__meta span { display: inline-flex; align-items: center; gap: 8px; }
.pw-legal .legal-hero__meta span::before { width: 5px; height: 5px; border-radius: 50%; background: var(--pw-sub-sage); content: ''; }

.pw-legal .legal-summary {
  position: relative;
  overflow: hidden;
  border-radius: 29px;
  background: #171918;
  color: #fff;
  box-shadow: 0 35px 80px rgba(23, 25, 24, .2);
  padding: 32px;
}

.pw-legal .legal-summary::after {
  position: absolute;
  right: -92px;
  bottom: -112px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(184, 214, 202, .075);
  content: '';
}

.pw-legal .legal-summary__eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  padding-bottom: 21px;
  color: #b8d6ca;
  font-size: 9px;
  font-weight: 760;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}

.pw-legal .legal-summary__eyebrow::before { width: 7px; height: 7px; border-radius: 50%; background: #8fbda9; box-shadow: 0 0 0 5px rgba(143, 189, 169, .1); content: ''; }

.pw-legal .legal-summary__title {
  margin: 34px 0 30px;
  font: 500 31px/1.15 var(--pw-sub-serif);
  letter-spacing: -.6px;
}

.pw-legal .legal-summary__title em { color: #b8d6ca; font-weight: 500; }

.pw-legal .legal-summary__rows {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.pw-legal .legal-summary__row {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  padding: 15px 0;
}

.pw-legal .legal-summary__row span { color: rgba(255, 255, 255, .38); font-size: 8px; font-weight: 740; letter-spacing: .9px; text-transform: uppercase; }
.pw-legal .legal-summary__row strong { color: rgba(255, 255, 255, .83); font-size: 11px; font-weight: 620; line-height: 1.45; }
.pw-legal .legal-summary__row a { color: #b8d6ca; text-underline-offset: 3px; }

.pw-legal .legal-switcher {
  border-bottom: 1px solid var(--pw-sub-line);
  background: var(--pw-sub-paper);
}

.pw-legal .legal-switcher__inner {
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.pw-legal .legal-switcher__inner::-webkit-scrollbar { display: none; }

.pw-legal .legal-switcher a {
  flex: 1;
  min-width: max-content;
  border-right: 1px solid var(--pw-sub-line);
  padding: 22px 28px;
  color: rgba(23, 25, 24, .53);
  font-size: 11px;
  font-weight: 650;
  text-align: center;
  text-decoration: none;
}

.pw-legal .legal-switcher a:first-child { border-left: 1px solid var(--pw-sub-line); }
.pw-legal .legal-switcher a:hover { background: #f7f4ed; color: var(--pw-sub-ink); }
.pw-legal .legal-switcher a[aria-current='page'] { background: #f7f4ed; color: var(--pw-sub-ink); box-shadow: inset 0 -2px var(--pw-sub-sage); }

.pw-legal .legal-body { padding-block: 120px 130px; }

.pw-legal .legal-layout {
  display: grid;
  grid-template-columns: 215px minmax(0, 790px);
  justify-content: space-between;
  gap: 86px;
}

.pw-legal .legal-toc {
  position: sticky;
  top: 104px;
  align-self: start;
  max-height: calc(100vh - 130px);
  overflow: auto;
  scrollbar-width: thin;
}

.pw-legal .legal-toc__label {
  margin: 0 0 20px;
  color: rgba(23, 25, 24, .39);
  font-size: 9px;
  font-weight: 770;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.pw-legal .legal-toc a {
  display: grid;
  grid-template-columns: 25px 1fr;
  gap: 9px;
  border-top: 1px solid var(--pw-sub-line);
  padding: 11px 0;
  color: rgba(23, 25, 24, .58);
  font-size: 10px;
  font-weight: 610;
  line-height: 1.35;
  text-decoration: none;
}

.pw-legal .legal-toc a:last-of-type { border-bottom: 1px solid var(--pw-sub-line); }
.pw-legal .legal-toc a:hover { color: var(--pw-sub-ink); }
.pw-legal .legal-toc a span { color: var(--pw-sub-sage); font: 600 10px/1.35 var(--pw-sub-serif); }

.pw-legal .legal-toc__help {
  margin: 23px 0 0;
  color: rgba(23, 25, 24, .5);
  font-size: 10px;
  line-height: 1.6;
}

.pw-legal .legal-toc__help a { display: inline; border: 0; padding: 0; color: var(--pw-sub-sage); font-size: inherit; }

.pw-legal .legal-document__intro {
  border-top: 1px solid var(--pw-sub-line);
  border-bottom: 1px solid var(--pw-sub-line);
  padding: 34px 0 45px;
}

.pw-legal .legal-document__intro > p:first-child {
  margin-top: 0;
  color: var(--pw-sub-ink);
  font: 500 27px/1.35 var(--pw-sub-serif);
  letter-spacing: -.45px;
}

.pw-legal .legal-document p,
.pw-legal .legal-document li {
  color: rgba(23, 25, 24, .68);
  font-size: 15px;
  line-height: 1.82;
}

.pw-legal .legal-document p { margin: 0 0 18px; }
.pw-legal .legal-document p:last-child { margin-bottom: 0; }
.pw-legal .legal-document strong { color: var(--pw-sub-ink); font-weight: 690; }
.pw-legal .legal-document a { color: var(--pw-sub-sage); font-weight: 650; text-underline-offset: 3px; }

.pw-legal .legal-section {
  scroll-margin-top: 102px;
  border-bottom: 1px solid var(--pw-sub-line);
  padding: 57px 0 58px;
}

.pw-legal .legal-section__head {
  display: grid;
  grid-template-columns: 49px minmax(0, 1fr);
  gap: 17px;
  align-items: baseline;
  margin-bottom: 26px;
}

.pw-legal .legal-section__number { color: var(--pw-sub-sage); font: 600 16px/1 var(--pw-sub-serif); }
.pw-legal .legal-section h2 { margin: 0; font: 600 clamp(31px, 3vw, 42px)/1.05 var(--pw-sub-serif); letter-spacing: -1px; }
.pw-legal .legal-section h3 { margin: 29px 0 11px; color: var(--pw-sub-ink); font: 600 23px/1.2 var(--pw-sub-serif); letter-spacing: -.4px; }

.pw-legal .legal-document ul {
  margin: 17px 0 20px;
  padding: 0;
  list-style: none;
}

.pw-legal .legal-document li {
  position: relative;
  margin: 9px 0;
  padding-left: 24px;
}

.pw-legal .legal-document li::before {
  position: absolute;
  top: .72em;
  left: 2px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(101, 125, 115, .7);
  content: '';
}

.pw-legal .legal-note {
  margin: 23px 0;
  border-left: 2px solid var(--pw-sub-sage);
  background: rgba(184, 214, 202, .12);
  padding: 20px 23px;
}

.pw-legal .legal-note p { color: rgba(23, 25, 24, .7); font-size: 13px; }

.pw-legal .legal-contact {
  padding-bottom: 115px;
}

.pw-legal .legal-contact__box {
  position: relative;
  display: grid;
  overflow: hidden;
  grid-template-columns: 1.2fr .8fr;
  align-items: end;
  gap: 75px;
  border-radius: 33px;
  background: #171918;
  color: #fff;
  padding: 61px 66px;
}

.pw-legal .legal-contact__box::after {
  position: absolute;
  top: -185px;
  right: -70px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(184, 214, 202, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 75px rgba(184, 214, 202, .024), 0 0 0 150px rgba(184, 214, 202, .016);
  content: '';
}

.pw-legal .legal-contact__copy,
.pw-legal .legal-contact__action { position: relative; z-index: 1; }
.pw-legal .legal-contact .pw-kicker { color: #b8d6ca; }
.pw-legal .legal-contact h2 { max-width: 650px; font-size: clamp(46px, 5.5vw, 70px); }
.pw-legal .legal-contact h2 em { color: #b8d6ca; font-weight: 500; }
.pw-legal .legal-contact__copy p { max-width: 590px; margin: 23px 0 0; color: rgba(255, 255, 255, .55); font-size: 14px; line-height: 1.7; }
.pw-legal .legal-contact__action .pw-button { width: 100%; background: #fff; }

@media (max-width: 980px) {
  .pw-legal .legal-hero__grid { grid-template-columns: 1fr; gap: 50px; padding-block: 75px 82px; }
  .pw-legal .legal-summary { width: min(100%, 620px); }
  .pw-legal .legal-layout { grid-template-columns: 170px minmax(0, 1fr); gap: 50px; }
  .pw-legal .legal-contact__box { grid-template-columns: 1fr; align-items: start; gap: 42px; }
  .pw-legal .legal-contact__action { max-width: 410px; }
}

@media (max-width: 720px) {
  .pw-legal .legal-hero__grid { min-height: auto; gap: 42px; padding-block: 61px 66px; }
  .pw-legal .legal-hero h1 { font-size: clamp(52px, 15vw, 70px); letter-spacing: -2px; }
  .pw-legal .legal-hero__lead { margin-top: 23px; font-size: 15px; }
  .pw-legal .legal-summary { border-radius: 25px; padding: 28px 24px; }
  .pw-legal .legal-summary__title { font-size: 27px; }
  .pw-legal .legal-switcher a { padding: 19px 22px; }
  .pw-legal .legal-body { padding-block: 81px 92px; }
  .pw-legal .legal-layout { grid-template-columns: 1fr; }
  .pw-legal .legal-toc { position: static; display: none; }
  .pw-legal .legal-document__intro > p:first-child { font-size: 24px; }
  .pw-legal .legal-document p,
  .pw-legal .legal-document li { font-size: 14px; line-height: 1.76; }
  .pw-legal .legal-section { padding-block: 45px 47px; }
  .pw-legal .legal-section__head { grid-template-columns: 37px minmax(0, 1fr); gap: 8px; }
  .pw-legal .legal-section h2 { font-size: 34px; }
  .pw-legal .legal-contact { padding-bottom: 84px; }
  .pw-legal .legal-contact__box { border-radius: 27px; padding: 46px 27px; }
  .pw-legal .legal-contact h2 { font-size: 45px; letter-spacing: -1.6px; }
}

@media (max-width: 430px) {
  .pw-legal .legal-summary__row { grid-template-columns: 78px 1fr; }
}
