/*
 * HVP-R7A-20260901-06C
 * Privacy & Terms design-system reconciliation · staging only.
 * Legal wording is unchanged. This stylesheet is deliberately restrained.
 */

.legal-shell{
  overflow:hidden;
  background:#fff;
  color:var(--ink);
}

/* Compact legal/editorial opening */
.legal-hero{
  padding:82px clamp(28px,8vw,130px) 70px;
  background-color:#f4f1ec;
  background-image:var(--linen);
  background-repeat:repeat;
  background-size:288px;
  border-bottom:1px solid var(--line);
}

.legal-hero>p{
  margin:0;
  color:var(--gold);
  font-size:10px;
  font-weight:800;
  letter-spacing:.24em;
  line-height:1.4;
  text-transform:uppercase;
}

.legal-hero h1{
  max-width:980px;
  margin:22px 0 28px;
  font-size:clamp(50px,6vw,86px);
  font-weight:500;
  line-height:.92;
  letter-spacing:-.048em;
}

.legal-hero h1 em{
  color:var(--gold);
  font-weight:400;
}

.legal-hero>span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border:1px solid rgba(26,26,26,.14);
  border-radius:999px;
  background:rgba(255,255,255,.56);
  color:var(--ink-soft);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
}

/* Quiet, readable legal rhythm */
.legal-content{
  counter-reset:legal-section;
  max-width:1220px;
  margin:0 auto;
  padding:72px clamp(28px,6vw,78px) 88px;
  background:#fff;
}

.legal-content section{
  counter-increment:legal-section;
  display:grid;
  grid-template-columns:minmax(230px,310px) minmax(0,1fr);
  gap:clamp(34px,6vw,92px);
  padding:33px 0 38px;
  border-top:1px solid #cec7bb;
}

.legal-content section:first-child{
  border-top:0;
  padding-top:0;
}

.legal-content h2{
  position:relative;
  margin:0;
  padding-top:25px;
  color:var(--ink);
  font-size:clamp(28px,2.5vw,38px);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.035em;
}

.legal-content section:first-child h2{
  padding-top:25px;
}

.legal-content h2::before{
  content:counter(legal-section, decimal-leading-zero);
  position:absolute;
  top:0;
  left:0;
  color:var(--gold);
  font-family:var(--sans);
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  line-height:1;
}

.legal-content p{
  max-width:790px;
  margin:0;
  color:#3e4548;
  font-size:16px;
  line-height:1.86;
}

.legal-content a{
  color:#9d6e31;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(157,110,49,.45);
}

.legal-content a:hover,
.legal-content a:focus-visible{
  color:#6f4b20;
  border-bottom-color:currentColor;
}

/* Direct legal-content to charcoal-footer transition; no generated spacer band. */

/* Do not let floating public controls compromise legal readability. */
.legal-shell,
.legal-content,
.legal-content section{
  min-width:0;
}

@media(max-width:900px){
  .legal-hero{
    padding:62px 24px 54px;
  }

  .legal-hero h1{
    max-width:720px;
    margin:18px 0 24px;
    font-size:clamp(44px,13vw,66px);
    line-height:.93;
  }

  .legal-content{
    padding:50px 24px 64px;
  }

  .legal-content section{
    grid-template-columns:1fr;
    gap:17px;
    padding:29px 0 32px;
  }

  .legal-content section:first-child{
    padding-top:0;
  }

  .legal-content h2{
    max-width:650px;
    padding-top:22px;
    font-size:clamp(27px,8vw,36px);
  }

  .legal-content p{
    max-width:none;
    font-size:15.5px;
    line-height:1.78;
  }

}

@media(max-width:520px){
  .legal-hero{
    padding:52px 20px 46px;
  }

  .legal-content{
    padding:42px 20px 56px;
  }

  .legal-hero>span{
    font-size:10px;
  }

  .legal-content p{
    overflow-wrap:anywhere;
  }
}
