:root{
  --black:#111111;
  --white:#ffffff;
  --off:#f5f3ef;
  --gold:#c9a46c;
  --gray:#74706a;
  --line:#dedbd5;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Montserrat",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--off);
  color:var(--black);
  font-family:var(--sans);
  font-size:14px;
  line-height:1.75;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.announcement{
  min-height:30px;
  padding:6px 18px;
  background:#0b0b0b;
  color:#ddd;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:10px;
  font-weight:600;
  letter-spacing:1.2px;
}
.legal-header{
  position:sticky;
  top:0;
  z-index:10;
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:16px clamp(20px,5vw,72px);
  background:rgba(17,17,17,.97);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.legal-brand img{width:165px;height:auto}
.legal-nav{display:flex;align-items:center;gap:24px;font-size:10px;font-weight:700;letter-spacing:1px}
.legal-nav a{opacity:.78}
.legal-nav a:hover{opacity:1}
.legal-hero{
  padding:clamp(70px,10vw,135px) clamp(22px,8vw,130px);
  background:#111;
  color:#fff;
}
.legal-hero .eyebrow{
  margin:0 0 12px;
  color:var(--gold);
  font-size:10px;
  font-weight:700;
  letter-spacing:2px;
}
.legal-hero h1{
  max-width:900px;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(46px,7vw,88px);
  font-weight:600;
  line-height:.95;
}
.legal-hero p{
  max-width:720px;
  margin:24px 0 0;
  color:#cfcfcf;
}
.legal-wrap{
  display:grid;
  grid-template-columns:260px minmax(0,850px);
  gap:clamp(35px,6vw,80px);
  max-width:1220px;
  margin:auto;
  padding:clamp(55px,8vw,105px) clamp(22px,5vw,60px);
}
.legal-aside{
  align-self:start;
  position:sticky;
  top:110px;
  padding:24px;
  border:1px solid var(--line);
  background:#fff;
}
.legal-aside strong{
  display:block;
  margin-bottom:12px;
  font-size:10px;
  letter-spacing:1.5px;
}
.legal-aside a{
  display:block;
  padding:8px 0;
  color:var(--gray);
  font-size:12px;
}
.legal-aside a:hover{color:#111}
.legal-content{
  background:#fff;
  border:1px solid var(--line);
  padding:clamp(28px,5vw,62px);
}
.legal-content h2{
  margin:48px 0 14px;
  font-family:var(--serif);
  font-size:34px;
  line-height:1.1;
}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{
  margin:30px 0 10px;
  font-size:12px;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.legal-content p,.legal-content li{color:#444}
.legal-content ul{padding-left:22px}
.notice{
  margin:0 0 30px;
  padding:18px 20px;
  border-left:3px solid var(--gold);
  background:#f8f6f2;
  color:#56514b;
  font-size:12px;
}
.legal-table{
  width:100%;
  border-collapse:collapse;
  margin:18px 0;
}
.legal-table th,.legal-table td{
  text-align:left;
  vertical-align:top;
  padding:12px;
  border-bottom:1px solid var(--line);
}
.legal-table th{font-size:11px;text-transform:uppercase;letter-spacing:.7px}
.faq details{
  border-top:1px solid var(--line);
  padding:18px 0;
}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:700}
.faq details p{margin-bottom:0}
.legal-cta{
  margin-top:46px;
  padding:28px;
  background:#111;
  color:#fff;
}
.legal-cta p{color:#ddd}
.legal-cta a{
  display:inline-block;
  margin-top:8px;
  padding:12px 18px;
  border:1px solid #fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:1px;
}
footer{background:#0b0b0b;color:#fff}
.footer-main{
  max-width:1220px;
  margin:auto;
  padding:60px clamp(22px,5vw,60px);
  display:grid;
  grid-template-columns:1.4fr repeat(3,1fr);
  gap:45px;
}
.footer-logo img{width:170px}
.footer-main p{max-width:300px;color:#929292;font-size:12px}
.footer-main h4{font-size:10px;letter-spacing:1.5px;margin:0 0 18px}
.footer-main a{display:block;color:#9d9d9d;font-size:12px;margin:10px 0}
.footer-main a:hover{color:#fff}
.footer-bottom{
  max-width:1220px;
  margin:auto;
  padding:20px clamp(22px,5vw,60px);
  border-top:1px solid #222;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#777;
  font-size:10px;
}
@media(max-width:850px){
  .legal-nav{display:none}
  .legal-wrap{grid-template-columns:1fr}
  .legal-aside{position:static}
  .footer-main{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .legal-header{min-height:66px}
  .legal-brand img{width:145px}
  .legal-hero{padding-top:65px;padding-bottom:65px}
  .legal-content{padding:24px 20px}
  .footer-main{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}