
/* Legal pages — V12 */
.legal-page{
  background:var(--ivory);
  color:var(--ink);
  min-height:100vh;
}
.legal-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(244,240,231,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(18,37,31,.08);
}
.legal-header-inner{
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.legal-back{
  font-size:.67rem;
  font-weight:750;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.legal-main{
  padding:clamp(68px,7vw,110px) 0 clamp(78px,8vw,130px);
}
.legal-kicker{
  font-size:.67rem;
  font-weight:750;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--sage);
  margin-bottom:18px;
}
.legal-title{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(3.3rem,7vw,7rem);
  line-height:.9;
  letter-spacing:-.045em;
  margin:0 0 36px;
}
.legal-lead{
  max-width:780px;
  font-family:var(--serif);
  font-size:clamp(1.2rem,1.8vw,1.65rem);
  line-height:1.35;
  color:var(--ink-soft);
  margin-bottom:56px;
}
.legal-grid{
  display:grid;
  grid-template-columns:minmax(230px,.52fr) minmax(0,1.48fr);
  gap:clamp(34px,5vw,82px);
  align-items:start;
  border-top:1px solid var(--line);
  padding-top:34px;
}
.legal-section{
  padding:0 0 38px;
  margin:0 0 38px;
  border-bottom:1px solid var(--line);
}
.legal-section:last-child{margin-bottom:0}
.legal-section h2{
  font-family:var(--serif);
  font-size:clamp(1.7rem,2.5vw,2.45rem);
  font-weight:500;
  line-height:1;
  margin:0 0 20px;
}
.legal-section h3{
  font-family:var(--sans);
  font-size:.72rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin:26px 0 10px;
}
.legal-section p,
.legal-section li{
  font-size:.96rem;
  line-height:1.65;
  color:#33423d;
}
.legal-section p{margin:0 0 14px}
.legal-section ul{
  margin:10px 0 16px;
  padding-left:20px;
}
.legal-section a{
  text-decoration:underline;
  text-underline-offset:3px;
}
.legal-label{
  position:sticky;
  top:110px;
}
.legal-label .eyebrow{margin-bottom:14px}
.legal-label p{
  max-width:270px;
  font-size:.86rem;
  line-height:1.55;
  color:var(--ink-soft);
}
.legal-notice{
  padding:18px 20px;
  border:1px solid rgba(135,151,131,.55);
  background:rgba(135,151,131,.08);
  margin:22px 0;
  font-size:.9rem;
  line-height:1.55;
}
.legal-footer-links a{
  color:inherit;
}
.footer-right a{
  color:inherit;
  text-decoration:none;
}
.footer-right a:hover{opacity:.7}
@media (max-width:800px){
  .legal-grid{grid-template-columns:1fr}
  .legal-label{position:static}
  .legal-main{padding-top:52px}
}
@media (max-width:560px){
  .legal-title{font-size:3.25rem}
  .legal-header-inner{min-height:66px}
  .legal-back{font-size:.61rem}
}
