.privacy-hero{
  padding:var(--gm-space-5) 0 var(--gm-space-6);
  color:var(--gm-ink);
  background:var(--gm-light)
}

.privacy-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);
  align-items:start;
  gap:var(--gm-space-4)
}

.privacy-hero__copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem
}

.privacy-hero__copy h1{
  max-width:48rem;
  overflow-wrap:anywhere
}

.privacy-hero__copy>p{
  max-width:48rem;
  color:var(--gm-muted);
  font-size:var(--gm-text-3)
}

.privacy-version{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem var(--gm-space-3);
  width:100%;
  margin-top:var(--gm-space-3);
  padding-top:var(--gm-space-3);
  color:var(--gm-muted);
  border-top:1px solid var(--gm-line);
  font-size:var(--gm-text-1);
  line-height:var(--gm-leading-data)
}

.privacy-version span{
  min-width:0;
  overflow-wrap:anywhere
}

.privacy-version strong{
  color:var(--gm-dark);
  font-weight:700
}

.privacy-hero__brief{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem;
  padding:var(--gm-space-3);
  color:#f7f1e6;
  background:var(--gm-dark);
  border-radius:var(--gm-radius-lg);
  box-shadow:var(--gm-shadow-float)
}

.privacy-hero__brief h2{
  color:#fff;
  font-size:var(--gm-text-4)
}

.privacy-hero__brief ul{
  display:flex;
  flex-direction:column;
  gap:var(--gm-space-2);
  margin:var(--gm-space-2) 0 0;
  padding-left:1.2rem
}

.privacy-hero__brief li{
  color:#d8d0c3
}

.privacy-layout{
  display:grid;
  grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);
  align-items:start;
  gap:var(--gm-space-5)
}

.privacy-rail{
  min-width:0
}

.privacy-rail__inner{
  position:sticky;
  top:7rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem
}

.privacy-rail__inner h2{
  font-size:var(--gm-text-4)
}

.privacy-toc{
  display:flex;
  width:100%;
  flex-direction:column;
  margin-top:var(--gm-space-2)
}

.privacy-toc a{
  padding:.65rem 0;
  color:var(--gm-muted);
  border-bottom:1px solid var(--gm-line);
  font-size:var(--gm-text-1);
  line-height:var(--gm-leading-data)
}

.privacy-toc a:hover,
.privacy-toc a:focus-visible{
  color:var(--gm-primary-paper)
}

.privacy-rail__contact{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  margin-top:var(--gm-space-3);
  padding:var(--gm-space-3);
  color:var(--gm-ink);
  background:var(--gm-band-cool);
  border-radius:var(--gm-radius-md)
}

.privacy-rail__contact strong{
  color:var(--gm-dark)
}

.privacy-rail__contact p{
  color:var(--gm-muted);
  font-size:var(--gm-text-1);
  overflow-wrap:anywhere
}

.privacy-content{
  min-width:0
}

.privacy-section{
  display:grid;
  grid-template-columns:3rem minmax(0,1fr);
  align-items:start;
  gap:var(--gm-space-3);
  scroll-margin-top:7rem
}

.privacy-section+.privacy-section{
  margin-top:var(--gm-space-6);
  padding-top:var(--gm-space-6);
  border-top:1px solid var(--gm-line)
}

.privacy-section__index{
  display:inline-flex;
  width:3rem;
  height:3rem;
  align-items:center;
  justify-content:center;
  color:var(--gm-primary-deep);
  background:var(--gm-accent-soft);
  border-radius:999px;
  font-size:var(--gm-text-1);
  line-height:1;
  font-weight:700
}

.privacy-section__body{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem
}

.privacy-section__body>h2{
  max-width:46rem;
  overflow-wrap:anywhere
}

.privacy-section__body>h3{
  margin-top:var(--gm-space-3)
}

.privacy-section__body>p{
  width:100%;
  max-width:52rem;
  color:var(--gm-muted)
}

.privacy-section__body a:not(.c-btn){
  color:var(--gm-primary-paper);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
  overflow-wrap:anywhere
}

.privacy-role-grid,
.privacy-purpose-grid,
.privacy-security-grid,
.privacy-request-grid{
  display:grid;
  width:100%;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));
  align-items:start;
  gap:var(--gm-space-3);
  margin-top:var(--gm-space-3)
}

.privacy-role-grid section,
.privacy-purpose-grid section,
.privacy-security-grid section,
.privacy-request-grid section{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:.5rem;
  padding:var(--gm-space-3);
  color:var(--gm-ink);
  background:var(--gm-band);
  border-radius:var(--gm-radius-lg)
}

.privacy-role-grid h3,
.privacy-purpose-grid h3,
.privacy-security-grid h3,
.privacy-request-grid h3{
  color:var(--gm-dark);
  overflow-wrap:anywhere
}

.privacy-role-grid p,
.privacy-purpose-grid p,
.privacy-security-grid p,
.privacy-request-grid p{
  color:var(--gm-muted)
}

.privacy-purpose-grid section:nth-child(even),
.privacy-request-grid section:nth-child(even){
  color:var(--gm-ink);
  background:var(--gm-band-cool)
}

.privacy-section__body>.table-scroll{
  width:100%;
  margin-top:var(--gm-space-3);
  border:1px solid var(--gm-line)
}

.privacy-data-table,
.privacy-retention-table{
  min-width:46rem
}

.privacy-data-table caption,
.privacy-retention-table caption{
  padding:var(--gm-space-2);
  color:var(--gm-dark);
  background:var(--gm-light);
  font-family:var(--gm-font-heading);
  font-size:var(--gm-text-1);
  line-height:var(--gm-leading-data);
  font-weight:650;
  text-align:left
}

.privacy-data-table th:first-child,
.privacy-retention-table th:first-child{
  width:9rem
}

.privacy-data-table td,
.privacy-data-table th,
.privacy-retention-table td,
.privacy-retention-table th{
  overflow-wrap:anywhere
}

.privacy-callout{
  display:flex;
  width:100%;
  flex-direction:column;
  gap:.5rem;
  margin-top:var(--gm-space-3);
  color:var(--gm-ink);
  background:var(--gm-band-cool)
}

.privacy-callout strong{
  color:var(--gm-dark)
}

.privacy-callout p{
  color:var(--gm-muted)
}

.privacy-payment-flow{
  display:grid;
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:var(--gm-space-3);
  margin-top:var(--gm-space-3)
}

.privacy-payment-flow section{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:.5rem;
  padding:var(--gm-space-3);
  color:#f7f1e6;
  background:var(--gm-dark);
  border-radius:var(--gm-radius-lg)
}

.privacy-payment-flow h3{
  color:#fff
}

.privacy-payment-flow p{
  color:#c9c0b0
}

.privacy-payment-flow__step{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
  padding:.42em .82em;
  color:var(--gm-dark);
  background:var(--gm-accent);
  border-radius:999px;
  font-size:var(--gm-text-0);
  line-height:1.2;
  font-weight:700
}

.privacy-payment-boundary{
  display:grid;
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--gm-space-3);
  margin-top:var(--gm-space-3)
}

.privacy-payment-boundary>div{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:.5rem;
  padding:var(--gm-space-3);
  color:var(--gm-ink);
  background:var(--gm-light);
  border-radius:var(--gm-radius-lg)
}

.privacy-payment-boundary h3{
  color:var(--gm-dark)
}

.privacy-payment-boundary ul{
  margin:.5rem 0 0;
  padding-left:1.2rem
}

.privacy-payment-boundary li{
  color:var(--gm-muted)
}

.privacy-definition-list{
  display:flex;
  width:100%;
  flex-direction:column;
  gap:var(--gm-space-2);
  margin:var(--gm-space-3) 0 0
}

.privacy-definition-list>div{
  display:grid;
  grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr);
  gap:var(--gm-space-3);
  padding:var(--gm-space-3);
  color:var(--gm-ink);
  background:var(--gm-band);
  border-radius:var(--gm-radius-md)
}

.privacy-definition-list dt{
  color:var(--gm-dark);
  overflow-wrap:anywhere
}

.privacy-definition-list dd{
  color:var(--gm-muted)
}

.privacy-security-grid svg{
  width:1.75rem;
  height:1.75rem;
  margin-bottom:.5rem;
  color:var(--gm-primary-paper)
}

.privacy-request-path{
  display:grid;
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:var(--gm-space-3);
  margin-top:var(--gm-space-3)
}

.privacy-request-path>div{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem;
  padding:var(--gm-space-3);
  color:var(--gm-ink);
  background:var(--gm-light);
  border-radius:var(--gm-radius-lg)
}

.privacy-request-path h3{
  color:var(--gm-dark)
}

.privacy-request-path p{
  color:var(--gm-muted)
}

.privacy-request-path .c-btn{
  margin-top:auto
}

.privacy-request-path__label{
  width:fit-content;
  max-width:100%;
  align-self:flex-start;
  padding:.42em .82em;
  color:var(--gm-primary-deep);
  background:var(--gm-accent-soft);
  border-radius:999px;
  font-size:var(--gm-text-0);
  line-height:1.2;
  font-weight:750
}

.privacy-change-log{
  width:100%;
  margin-top:var(--gm-space-3);
  color:var(--gm-ink);
  background:var(--gm-surface);
  border:1px solid var(--gm-line);
  border-radius:var(--gm-radius-md)
}

.privacy-change-log__head,
.privacy-change-log__row{
  display:grid;
  grid-template-columns:minmax(5rem,.2fr) minmax(9rem,.3fr) minmax(0,1fr);
  gap:var(--gm-space-2);
  padding:var(--gm-space-2)
}

.privacy-change-log__head{
  color:var(--gm-dark);
  background:var(--gm-band);
  border-radius:var(--gm-radius-md) var(--gm-radius-md) 0 0;
  font-family:var(--gm-font-heading);
  font-size:var(--gm-text-1);
  line-height:var(--gm-leading-data);
  font-weight:700
}

.privacy-change-log__row{
  color:var(--gm-muted);
  border-top:1px solid var(--gm-line);
  font-size:var(--gm-text-1);
  line-height:var(--gm-leading-body)
}

.privacy-change-log__row>*{
  min-width:0;
  overflow-wrap:anywhere
}

.privacy-closing{
  padding-top:0
}

.privacy-closing .c-cta{
  color:#f8f3e8;
  background:var(--gm-dark)
}

.privacy-closing__copy{
  display:flex;
  min-width:0;
  max-width:42rem;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem
}

.privacy-closing__copy h2{
  color:#fff
}

.privacy-closing__copy p{
  color:#c9c0b0
}

.privacy-closing .gm-actions{
  justify-content:flex-start
}

.privacy-closing .c-btn--primary{
  color:var(--gm-dark);
  background:var(--gm-accent);
  box-shadow:none
}

.privacy-closing .c-btn--primary:hover{
  background:var(--gm-accent-soft)
}

.privacy-closing .c-btn--ghost{
  color:#f8f3e8;
  border-color:color-mix(in srgb,currentColor 42%,transparent)
}

@media(max-width:64rem){
  .privacy-layout{
    grid-template-columns:1fr;
    gap:var(--gm-space-5)
  }

  .privacy-rail__inner{
    position:static
  }

  .privacy-toc{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));
    gap:.5rem var(--gm-space-2)
  }

  .privacy-rail__contact{
    max-width:38rem
  }
}

@media(max-width:48rem){
  .privacy-hero{
    padding:var(--gm-space-4) 0 var(--gm-space-5)
  }

  .privacy-hero__grid{
    grid-template-columns:1fr;
    gap:var(--gm-space-4)
  }

  .privacy-section{
    grid-template-columns:1fr
  }

  .privacy-section+.privacy-section{
    margin-top:var(--gm-space-5);
    padding-top:var(--gm-space-5)
  }

  .privacy-payment-flow,
  .privacy-payment-boundary,
  .privacy-request-path{
    grid-template-columns:1fr
  }

  .privacy-definition-list>div{
    grid-template-columns:1fr;
    gap:.5rem
  }

  .privacy-change-log__head{
    display:none
  }

  .privacy-change-log__row{
    grid-template-columns:1fr
  }
}

@media(max-width:24.375rem){
  .privacy-version{
    flex-direction:column
  }

  .privacy-hero__brief,
  .privacy-role-grid section,
  .privacy-purpose-grid section,
  .privacy-security-grid section,
  .privacy-request-grid section,
  .privacy-payment-flow section,
  .privacy-payment-boundary>div,
  .privacy-request-path>div,
  .privacy-definition-list>div{
    padding:var(--gm-space-2)
  }

  .privacy-change-log__row{
    padding:var(--gm-space-2)
  }
}
