.legal-page{ padding-block:clamp(118px,12vw,164px) var(--section-gap); }
.legal-back{ display:inline-block; margin-bottom:34px; font-size:14px; text-decoration:none; color:var(--haze); }
.legal-back:hover{ color:var(--paper); }
.legal-content{ max-width:940px; margin-top:42px; }
.legal-grid{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:22px; }
.legal-card{ padding:clamp(24px,3vw,36px); border:1px solid var(--line); border-radius:22px; background:rgba(var(--plum-rgb),.78); }
.legal-content h2{ font-family:var(--body); font-size:clamp(22px,2.4vw,28px); font-weight:700; line-height:1.25; margin-bottom:22px; }
.legal-content address{ font-style:normal; }
.legal-content strong{ color:var(--paper); font-weight:600; }
.legal-content p, .legal-content address, .legal-content dd{ font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.legal-representative{ margin-top:22px; }
.legal-contact, .legal-register{ margin:0; display:grid; gap:20px; }
.legal-contact dt, .legal-register dt{ color:var(--mint); font-family:var(--label); font-weight:600; font-size:10px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:5px; }
.legal-contact dd, .legal-register dd{ margin:0; }
.legal-contact a{ color:var(--paper); text-decoration-thickness:1px; text-underline-offset:4px; }
.legal-contact a:hover{ color:var(--mint); }
.legal-section{ margin-top:34px; padding-top:30px; border-top:1px solid var(--line); }
.legal-register{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.legal-reference{ margin-bottom:10px; }
@media (max-width:640px){
  .legal-grid, .legal-register{ grid-template-columns:1fr; }
  .legal-content{ margin-top:32px; }
  .legal-back{ margin-bottom:26px; }
}
