/* Indwel Public Estate — Policy Estate R23
   Final shell + augmented Mineral reconciliation for Legal and Privacy.
   Policy pages remain sober document surfaces: no circumpunct, no campaign cards,
   no ornamental UI. The elevation comes from canonical shell geometry, Mineral
   field separation, and stronger reading hierarchy. */

/* Rejoin the current corporate rail rather than floating a narrower legacy page
   inside the header/footer shell. */
.legal-page .policy-hero .legal-hero__inner,
.legal-page .policy-body{
  width:var(--f50-rail)!important;
  max-width:1200px!important;
  margin-inline:auto!important;
}

/* Formal policy hero expressed in the same proposition/support geometry used by
   the mature estate, while retaining the serif legal-document voice. */
.legal-page .policy-hero{
  position:relative;
  min-height:0!important;
  padding:clamp(92px,7.8vw,118px) 0 clamp(76px,6.4vw,96px)!important;
  overflow:hidden;
  border-bottom:1px solid color-mix(in srgb,var(--line-light) 88%,transparent);
  background:
    linear-gradient(112deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,0) 44%),
    linear-gradient(145deg,#f4f1e9 0%,#ece8de 100%)!important;
}
.legal-page .policy-hero .legal-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,390px);
  grid-template-rows:auto auto;
  column-gap:clamp(72px,7.4vw,112px);
  align-items:end;
}
.legal-page .policy-hero .eyebrow{
  grid-column:1;
  grid-row:1;
  margin:0 0 18px!important;
  color:color-mix(in srgb,var(--ink) 56%,transparent);
}
.legal-page .policy-hero h1{
  grid-column:1;
  grid-row:2;
  max-width:14ch!important;
  margin:0!important;
  font-size:clamp(58px,5.3vw,76px)!important;
  line-height:.96!important;
  letter-spacing:-.047em!important;
}
.legal-page.privacy-page .policy-hero h1{max-width:17ch!important}
.legal-page .policy-hero .lede{
  grid-column:2;
  grid-row:2;
  align-self:end;
  max-width:390px!important;
  margin:0!important;
  padding-top:20px;
  border-top:1px solid color-mix(in srgb,var(--ink) 24%,transparent);
  font-size:16.5px!important;
  line-height:1.62!important;
  letter-spacing:-.006em;
  color:color-mix(in srgb,var(--ink) 76%,transparent)!important;
}
.legal-page .policy-hero time{font-weight:650;color:var(--ink)}

/* Document field: one quiet Mineral reading surface with the index registered
   to the same left edge as the shell and the body held to a humane measure. */
.legal-page .policy-document-field{
  background:#f4f1e9!important;
}
.legal-page .policy-body{
  grid-template-columns:220px minmax(0,780px)!important;
  gap:clamp(68px,6.5vw,96px)!important;
  justify-content:start;
  padding-top:clamp(72px,6.4vw,96px)!important;
  padding-bottom:clamp(104px,8vw,132px)!important;
}
.legal-page .policy-body .legal-index{
  top:96px!important;
  padding:0 0 0 14px!important;
  border-left:1px solid color-mix(in srgb,var(--ink) 18%,transparent);
  scrollbar-color:color-mix(in srgb,var(--ink) 18%,transparent) transparent;
}
.legal-page .policy-index-label{
  margin:0 0 12px!important;
  color:color-mix(in srgb,var(--ink) 50%,transparent)!important;
}
.legal-page .policy-body .legal-index a{
  padding:9px 0!important;
  border-bottom:1px solid color-mix(in srgb,var(--line-light) 88%,transparent)!important;
  color:color-mix(in srgb,var(--ink) 67%,transparent)!important;
  transition:color 150ms ease,border-color 150ms ease;
}
.legal-page .policy-body .legal-index a:first-child{
  border-top:1px solid color-mix(in srgb,var(--line-light) 88%,transparent)!important;
}
.legal-page .policy-body .legal-index a:hover,
.legal-page .policy-body .legal-index a:focus-visible{
  color:var(--ink)!important;
  border-color:color-mix(in srgb,var(--ink) 30%,transparent)!important;
}
.legal-page .policy-body .legal-content,
.legal-page .policy-body .legal-section{max-width:780px!important}
.legal-page .policy-body .legal-section{padding-bottom:clamp(62px,5vw,78px)!important}
.legal-page .policy-body .legal-section + .legal-section{
  padding-top:clamp(58px,5vw,74px)!important;
  border-top-color:color-mix(in srgb,var(--line-light) 92%,transparent)!important;
}
.legal-page .policy-body .legal-section h2{
  max-width:27ch!important;
  margin-bottom:23px!important;
  font-size:clamp(30px,2.25vw,34px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.legal-page .policy-body .legal-section p{
  max-width:68ch!important;
  font-size:17px!important;
  line-height:1.7!important;
  color:color-mix(in srgb,var(--ink) 80%,transparent)!important;
}
.legal-page .policy-list{
  max-width:68ch!important;
  margin-top:8px!important;
  border-top-color:color-mix(in srgb,var(--line-light) 92%,transparent)!important;
}
.legal-page .policy-list li{
  padding-block:12px!important;
  color:color-mix(in srgb,var(--ink) 79%,transparent)!important;
  border-bottom-color:color-mix(in srgb,var(--line-light) 92%,transparent)!important;
}
.legal-page .policy-note{
  max-width:68ch!important;
  margin-top:30px!important;
  padding:20px 22px!important;
  border:1px solid color-mix(in srgb,var(--ink) 14%,transparent)!important;
  border-left:2px solid color-mix(in srgb,var(--ink) 58%,transparent)!important;
  background:rgba(255,255,255,.25)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset;
}

@media(max-width:920px){
  .legal-page .policy-hero{padding:78px 0 70px!important}
  .legal-page .policy-hero .legal-hero__inner,
  .legal-page .policy-body{width:min(100% - 56px,820px)!important}
  .legal-page .policy-hero .legal-hero__inner{
    display:block;
  }
  .legal-page .policy-hero h1{
    font-size:clamp(52px,8.2vw,66px)!important;
  }
  .legal-page .policy-hero .lede{
    max-width:650px!important;
    margin-top:30px!important;
    padding-top:18px;
  }
  .legal-page .policy-body{display:block!important;padding-top:54px!important}
  .legal-page .policy-body .legal-index{
    position:static!important;
    width:100%;
    max-height:none!important;
    margin:0 0 48px!important;
    padding:0!important;
    border-left:0!important;
  }
  .legal-page .policy-index-links{
    display:flex!important;
    width:100%;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 0 14px!important;
    border-bottom:1px solid var(--line-light)!important;
  }
  .legal-page .policy-body .legal-index a,
  .legal-page .policy-body .legal-index a:first-child{
    flex:0 0 auto;
    padding:9px 18px 9px 0!important;
    margin-right:18px!important;
    border:0!important;
    white-space:nowrap!important;
  }
}

@media(max-width:560px){
  .legal-page .policy-hero{padding:62px 0 54px!important}
  .legal-page .policy-hero .legal-hero__inner,
  .legal-page .policy-body{width:calc(100% - 40px)!important}
  .legal-page .policy-hero .eyebrow{margin-bottom:14px!important}
  .legal-page .policy-hero h1{
    max-width:100%!important;
    font-size:clamp(44px,12.8vw,54px)!important;
    line-height:.99!important;
  }
  .legal-page .policy-hero .lede{
    margin-top:25px!important;
    padding-top:16px;
    font-size:15.5px!important;
    line-height:1.62!important;
  }
  .legal-page .policy-body{padding-top:38px!important;padding-bottom:80px!important}
  .legal-page .policy-body .legal-index{margin-bottom:34px!important}
  .legal-page .policy-body .legal-section{padding-bottom:50px!important}
  .legal-page .policy-body .legal-section + .legal-section{padding-top:46px!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.68!important}
  .legal-page .policy-note{padding:17px 18px!important;font-size:15px!important}
}

/* W2H agency court: small-screen legal index has an explicit, native navigation surface.
   The desktop sticky document index is not altered. No text or anchors are changed. */
.policy-mobile-index{display:none}
@media(max-width:920px){
 .legal-page .policy-index-links{display:none!important}
 .legal-page .policy-mobile-index{display:block;width:100%;margin:0}
 .legal-page .policy-body .legal-index{padding:0!important;border:0!important}
 .legal-page .policy-mobile-index summary{
   position:relative;display:flex;align-items:center;justify-content:space-between;
   min-height:50px;cursor:pointer;list-style:none;
   border-block:1px solid color-mix(in srgb,var(--ink) 21%,transparent);
   padding:12px 4px 12px 0;
   color:var(--ink);font:600 14px/1.4 'Geist Variable',Geist,Arial,sans-serif;
 }
 .legal-page .policy-mobile-index summary::-webkit-details-marker{display:none}
 .legal-page .policy-mobile-index summary::after{content:'+';font-size:22px;font-weight:350;line-height:1}
 .legal-page .policy-mobile-index[open] summary::after{content:'−'}
 .legal-page .policy-mobile-index summary:focus-visible{outline:2px solid #4d705f;outline-offset:4px}
 .legal-page .policy-mobile-index .policy-mobile-links{padding:5px 0 12px}
 .legal-page .policy-mobile-index .policy-mobile-links a{
   display:block;min-height:44px;white-space:normal!important;
   margin:0!important;padding:12px 0!important;
   border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)!important;
   font-size:14px!important;line-height:1.45!important;
   color:var(--ink)!important;overflow-wrap:break-word;
 }
 .legal-page .policy-mobile-index .policy-mobile-links a:first-child{border-top:0!important}
 .legal-page .policy-mobile-index .policy-mobile-links a:focus-visible{outline:2px solid #4d705f;outline-offset:2px}
}
