/* Policy page additions only. The global shell, header, panel, footer,
   responsive widths, colors and spacing come from the exact home-page CSS stack. */
.policy-page{min-height:100vh;background:var(--bg);color:var(--text)}
.policy-page .site-header,.policy-page main,.policy-page footer{position:relative;z-index:2}
.policy-page .site-header{position:fixed}
.policy-page .header-action{text-decoration:none}

/* Identical top-to-panel spacing to the homepage:
   the global main rule supplies the padding; this panel has no extra margin. */
.policy-main{
  margin:0 auto!important;
  padding:clamp(2.5rem,5vw,4.75rem)!important;
}

.policy-hero{max-width:47rem;margin-bottom:clamp(3rem,5vw,4.75rem)}
.policy-hero .kicker{font-size:var(--type-small)!important}
.policy-hero h1{
  max-width:11ch!important;
  margin-top:32px!important;
  font-family:var(--serif)!important;
  font-size:clamp(3.5rem,6vw,5rem)!important;
  font-weight:400!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  color:var(--text)
}
.policy-hero h1 em{
  font:inherit!important;
  letter-spacing:inherit!important;
  font-style:normal!important;
  color:transparent;
  background:linear-gradient(105deg,#fff 5%,#d9ccff 45%,#8b5cf6 98%);
  background-clip:text;
  -webkit-background-clip:text
}
.policy-intro{
  max-width:38rem;
  margin-top:32px!important;
  font-family:var(--sans)!important;
  font-size:var(--type-body-large)!important;
  font-weight:400!important;
  line-height:1.5556!important;
  color:var(--muted)
}

.policy-card{
  display:grid;
  grid-template-columns:5rem minmax(0,1fr);
  gap:clamp(1.25rem,4vw,4rem);
  max-width:65rem;
  padding:clamp(2.25rem,4vw,3.5rem) 0;
  border-top:1px solid var(--line)
}
.policy-card:last-of-type{border-bottom:1px solid var(--line)}
.policy-number{
  margin-top:.35rem;
  font-family:var(--sans)!important;
  font-size:var(--type-small)!important;
  line-height:1.4!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
  color:var(--accent-2)
}
.policy-card h2{
  margin:0 0 1rem;
  font-family:var(--sans)!important;
  font-size:var(--type-headline-small)!important;
  font-weight:500!important;
  line-height:1.18!important;
  letter-spacing:-.018em!important;
  color:var(--text)
}
.policy-card p{
  max-width:46rem;
  margin:.65rem 0;
  font-family:var(--sans)!important;
  font-size:var(--type-body)!important;
  font-weight:400!important;
  line-height:1.58!important;
  letter-spacing:0!important;
  color:var(--muted)
}
.policy-card strong{color:var(--text);font-weight:500!important}
.policy-card a{color:var(--accent-2);text-decoration:underline;text-underline-offset:.22em}
.policy-card a:hover{color:#fff}
.policy-legal{font-size:var(--type-small)!important;color:var(--muted-2)!important;margin-top:1.7rem!important}
.footer-policy{display:inline-block;margin-top:.55rem;color:var(--accent-2);text-decoration:none;font-size:var(--type-small);letter-spacing:.1em}
.footer-policy:hover{color:#fff}
.form-consent a{color:var(--accent-2);text-underline-offset:.18em}

@media(max-width:53.75rem){
  .policy-main{padding:clamp(1.75rem,5vw,2.75rem)!important}
  .policy-card{grid-template-columns:1fr;gap:.8rem}
  .policy-number{margin:0}
}

@media(max-width:38.75rem){
  .policy-main{padding:1.5rem 1rem!important}
  .policy-hero{margin-bottom:2.5rem}
  .policy-hero h1{font-size:38px!important;line-height:1.02!important;max-width:10ch!important;margin-top:20px!important}
  .policy-intro{font-size:14px!important;line-height:1.5!important;margin-top:24px!important}
  .policy-card{padding:2rem 0}
  .policy-card h2{font-size:19px!important;line-height:1.22!important}
  .policy-card p{font-size:14px!important;line-height:1.5!important}
}
