.legal-site { min-height:100svh; color:#20201f; background:#fff }
.legal-site .legal-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:start; gap:24px; padding:28px 32px }
.legal-back { justify-self:start; display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:11px 19px; border-radius:999px; background:#20201f; color:#fff; font-size:12px; font-weight:600; line-height:1.4; transition:background .2s }
.legal-back:hover { background:#42413f }
.legal-back span { font-size:18px; line-height:1 }
.legal-switch { display:flex; gap:4px; padding:6px; border:1px solid #e9e8e5; border-radius:999px; background:#fff; box-shadow:0 8px 28px #29221c09 }
.legal-switch a { display:flex; align-items:center; justify-content:center; min-height:41px; padding:9px 22px; border-radius:999px; color:#797773; font-size:13px; font-weight:600; line-height:1.4; transition:color .18s,background .18s }
.legal-switch a:hover { color:#20201f; background:#f5f4f2 }
.legal-switch a[aria-selected=true] { color:#fff; background:#20201f }
.legal-main { width:min(760px,calc(100% - 48px)); margin:90px auto 0; padding-bottom:90px; text-align:center }
.legal-brand { display:block; width:min(310px,80%); margin:0 auto 30px }
.legal-site .legal-brand .brand-logo { width:100%; height:98px; object-fit:cover }
.legal-panel { scroll-margin-top:220px }
.legal-panel h1 { margin:0 0 38px; font:700 clamp(43px,5.5vw,68px)/1.06 var(--sans); letter-spacing:-.055em; overflow-wrap:anywhere }
.legal-copy { margin:0 auto; color:#77746f; font-size:19px; line-height:1.8; white-space:pre-line; overflow-wrap:anywhere }
.legal-imprint .legal-line { display:block }
.legal-imprint .legal-business { margin-bottom:4px; font-size:14px; font-weight:500 }
.legal-imprint .legal-person { margin-bottom:20px; color:#252421; font-size:25px; font-weight:700; line-height:1.45 }
.legal-imprint .legal-spacer { display:block; height:22px }
.legal-imprint a { text-decoration:underline; text-decoration-color:#d7d4cf; text-underline-offset:5px; transition:color .2s }
.legal-imprint a:hover { color:var(--copper) }
.legal-contact { display:inline-flex; align-items:center; justify-content:center; min-height:46px; margin-top:34px; padding:12px 23px; border-radius:999px; background:var(--copper); color:#fff; font-size:13px; font-weight:600; transition:background .2s }
.legal-contact:hover { background:var(--copper-dark) }
.legal-privacy { max-width:640px; text-align:left; font-size:16px; line-height:1.9 }
.legal-privacy { white-space:normal }
.legal-privacy h2, .legal-map-settings h2 { margin:32px 0 12px; color:#252421; font:600 21px/1.4 var(--sans); letter-spacing:-.025em }
.legal-privacy p { margin:0 0 18px; white-space:pre-line }
.legal-privacy a { color:#4b4843; text-decoration:underline; text-underline-offset:3px }
.legal-privacy .legal-revision { color:#8a8781; font-size:12px }
.legal-map-settings { max-width:640px; margin:36px auto 0; padding-top:4px; border-top:1px solid #e9e8e5; text-align:left }
.legal-map-settings p { color:#77746f; font-size:14px; line-height:1.7 }
.legal-map-settings .legal-contact { margin-top:8px; border:0; font-family:var(--sans); cursor:pointer }
.legal-map-settings .legal-contact:disabled { background:#efefed; color:#8a8781; cursor:default }
@media(max-width:760px) {
  .legal-site .legal-header { grid-template-columns:1fr; gap:35px; padding:20px }
  .legal-back { min-height:42px; padding:10px 17px; font-size:11px }
  .legal-switch { justify-self:center }
  .legal-switch a { min-height:40px; padding:9px 22px; font-size:12px }
  .legal-main { width:calc(100% - 40px); margin-top:48px; padding-bottom:60px }
  .legal-brand { width:255px; margin-bottom:25px }
  .legal-site .legal-brand .brand-logo { height:81px }
  .legal-panel h1 { margin-bottom:30px; font-size:clamp(40px,10vw,50px) }
  .legal-copy { font-size:16px }
  .legal-imprint .legal-person { font-size:22px; margin-bottom:18px }
  .legal-imprint .legal-business { font-size:12px }
  .legal-privacy { font-size:15px }
}
