.brand-logo {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.legal-hero { padding-top: 90px; }
.legal-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; align-items: start; }
.legal-intro { position: sticky; top: 150px; }
.legal-intro h1 { font-size: clamp(52px, 6vw, 78px); margin-bottom: 20px; }
.legal-intro > p { max-width: 360px; color: var(--muted); font-size: 18px; }
.legal-card { padding: 48px; border: 1px solid var(--line); border-radius: 24px; background: var(--white); box-shadow: 0 18px 50px rgba(28,58,39,.07); }
.legal-notice { margin-bottom: 38px; padding: 24px; border-radius: 16px; background: var(--green-soft); }
.legal-notice strong { color: var(--green); font-family: "Manrope", sans-serif; }
.legal-notice p { margin: 8px 0 0; color: #506057; font-size: 13px; }
.legal-section { padding: 26px 0; border-top: 1px solid var(--line); }
.legal-section h2 { margin-bottom: 10px; font-size: 20px; letter-spacing: -.02em; }
.legal-section p, .legal-section address { margin: 0; color: #505b52; font-style: normal; }
.legal-section a { color: var(--green); font-weight: 600; }
.legal-section a:hover { text-decoration: underline; }
.legal-updated { margin: 22px 0 0; color: var(--muted); font-size: 12px; }
.legal-footer { display: flex; justify-content: space-between; gap: 30px; color: var(--muted); font-size: 13px; }
.legal-footer nav { display: flex; gap: 22px; }
.legal-footer a:hover, .legal-footer a[aria-current="page"] { color: var(--green); }

@media (max-width: 760px) {
  .legal-nav .text-link { font-size: 13px; }
  .legal-hero { padding-top: 58px; }
  .legal-layout { grid-template-columns: 1fr; gap: 32px; }
  .legal-intro { position: static; }
  .legal-card { padding: 26px 22px; }
  .legal-footer { flex-direction: column; }
  .legal-footer nav { flex-wrap: wrap; gap: 10px 18px; }
}
