/* ============================================================
   MISS BEAUTY — privacy policy page
   ============================================================ */

.policy-hero{
  padding-block:clamp(56px, 7vw, 110px) clamp(34px, 4vw, 56px);
  border-bottom:1px solid var(--line);
}
.policy-hero .display{max-width:14ch;}
.policy-updated{
  margin:0;
  font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
}

.policy-body{padding-block:clamp(44px, 6vw, 80px) var(--section);}

.policy-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:clamp(32px, 6vw, 96px);
  align-items:start;
}

.policy-toc{
  position:sticky;top:calc(var(--header-h) + 28px);
  display:flex;flex-direction:column;align-items:flex-start;gap:9px;
}
.policy-toc a{
  font-size:12px;line-height:1.4;color:var(--muted);
  border-bottom:1px solid transparent;
  transition:color .25s var(--ease), border-color .25s var(--ease);
}
.policy-toc a:hover{color:var(--ink);border-color:var(--ink);}

.policy-content{max-width:76ch;}
.policy-content h2{
  margin:clamp(38px,4.5vw,60px) 0 14px;
  font-size:clamp(19px, 1.9vw, 25px);
  font-weight:600;
  letter-spacing:-.018em;
  line-height:1.25;
  scroll-margin-top:calc(var(--header-h) + 28px);
}
.policy-content h2:first-child{margin-top:0;}
.policy-content h3{
  margin:26px 0 10px;
  font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
}
.policy-content p,
.policy-content li{
  font-size:15px;line-height:1.72;color:#2a2a2a;
}
.policy-content p{margin:0 0 15px;}
.policy-content ul{margin:0 0 15px;padding-left:20px;}
.policy-content li{margin-bottom:8px;}
.policy-content li::marker{color:var(--muted);}
.policy-content a{border-bottom:1px solid #9a9a9a;transition:border-color .25s var(--ease);}
.policy-content a:hover{border-color:var(--ink);}
.policy-content strong{font-weight:600;}

.policy-note{
  margin:32px 0 0;
  padding:24px 26px;
  border:1px solid var(--line);
}
.policy-note p:last-child{margin-bottom:0;}

.policy-table{
  width:100%;
  border-collapse:collapse;
  margin:8px 0 20px;
}
.policy-table th,
.policy-table td{
  text-align:left;
  padding:13px 16px 13px 0;
  border-bottom:1px solid var(--line);
  font-size:14px;
  line-height:1.6;
  vertical-align:top;
}
.policy-table th{
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.table-wrap{overflow-x:auto;}

@media (max-width:900px){
  .policy-layout{grid-template-columns:1fr;}
  .policy-toc{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 16px;padding-bottom:26px;border-bottom:1px solid var(--line);}
}
