/* Indwel Public Estate — Policy Estate R22
   Final Legal refinement: reading comfort, explicit index orientation, and mobile index integrity.
   No circumpunct, marketing accent, or root-overflow masking. */
.legal-page .policy-hero .lede{
  max-width:800px;
}
.legal-page .policy-body{
  grid-template-columns:220px minmax(0,780px);
  gap:clamp(68px,7.2vw,104px);
  padding-top:clamp(66px,5.5vw,84px);
}
.legal-page .policy-body .legal-content,
.legal-page .policy-body .legal-section{
  min-width:0;
  max-width:780px;
}
.legal-page .policy-body .legal-section p{
  max-width:68ch!important;
  font-size:17px!important;
  line-height:1.67!important;
  overflow-wrap:break-word;
}
.legal-page .policy-body .legal-section h2{
  font-size:clamp(30px,2.35vw,35px)!important;
  line-height:1.07!important;
}
.legal-page .policy-index-label{
  margin:0 0 10px;
  font-size:10.5px;
  line-height:1.2;
  font-weight:650;
  letter-spacing:.085em;
  text-transform:uppercase;
  color:color-mix(in srgb,var(--ink) 48%,transparent);
}
.legal-page .policy-index-links{
  display:block;
  min-width:0;
}
.legal-page .policy-body .legal-index a{
  display:block;
}
.legal-page .policy-note{
  margin-top:30px;
  padding:20px 23px;
  line-height:1.62;
}
.legal-page .policy-body a,
.legal-page .policy-note{
  overflow-wrap:break-word;
}
@media(max-width:920px){
  .legal-page .policy-body .legal-index{
    display:block!important;
    width:100%;
    overflow:visible!important;
    padding:0;
    border:0;
  }
  .legal-page .policy-index-label{margin-bottom:12px}
  .legal-page .policy-index-links{
    display:flex;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    gap:0;
    padding:0 0 14px;
    border-bottom:1px solid var(--line-light);
    scrollbar-width:none;
  }
  .legal-page .policy-index-links::-webkit-scrollbar{display:none}
  .legal-page .policy-body .legal-index a{
    flex:0 0 auto;
    scroll-snap-align:start;
    white-space:nowrap!important;
    padding:9px 18px 9px 0!important;
    margin-right:18px;
    border:0!important;
    font-size:13px!important;
    line-height:1.32!important;
  }
}
@media(max-width:560px){
  .legal-page .policy-hero .lede{
    font-size:16px!important;
    line-height:1.62!important;
  }
  .legal-page .policy-body .legal-section h2{
    font-size:27px!important;
    line-height:1.09!important;
  }
  .legal-page .policy-body .legal-section p{
    font-size:16px!important;
    line-height:1.66!important;
  }
  .legal-page .policy-body{
    padding-top:36px;
  }
  .legal-page .policy-body .legal-index{
    margin-bottom:28px!important;
  }
  .legal-page .policy-index-links{
    margin-right:0;
  }
  .legal-page .policy-note{
    padding:18px 18px;
    font-size:15.5px;
    line-height:1.62;
  }
}
