.legal-page { padding-bottom:0; }
.legal-main { background:#faf8fa; padding-bottom:65px; }
.legal-container { max-width:1000px; }
.legal-heading { padding:35px 0 36px; }
.legal-heading h1 { font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.6; letter-spacing:-.035em; }
.legal-details { margin:0; background:#fff; border:1px solid #e8e0e5; border-radius:16px; overflow:hidden; }
.legal-row { display:grid; grid-template-columns:220px minmax(0,1fr); }
.legal-row + .legal-row { border-top:1px solid #e8e0e5; }
.legal-row dt { background:#fff3f8; padding:23px 26px; font-weight:700; font-size:.94rem; }
.legal-row dd { margin:0; padding:23px 28px; color:#394659; font-size:.95rem; line-height:1.95; }
.legal-row dd p + p { margin-top:15px; }
.legal-row a { color:#b31759; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.legal-back { margin-top:34px; text-align:center; }
@media(max-width:600px) {
  .legal-heading { padding:24px 0 28px; }
  .legal-main { padding-bottom:45px; }
  .legal-row { grid-template-columns:1fr; }
  .legal-row dt { padding:15px 20px 10px; }
  .legal-row dd { padding:15px 20px 22px; font-size:.9rem; }
}
@media print { .legal-main { background:#fff; padding:0; } .legal-row { break-inside:avoid; } .legal-back { display:none; } }
