:root {
  --wine:#510b28;
  --rose:#efbeb8;
  --cream:#fff8ef;
  --brown:#38211e;
  --rule:rgba(81,11,40,.22);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  background:var(--cream);
  color:var(--wine);
  font-family:"DM Sans",Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
}
a { color:inherit; text-underline-offset:.2em; }
a:hover { opacity:.62; }

.legal-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  min-height:82px;
  padding:18px clamp(22px,6vw,92px);
  border-bottom:1px solid var(--rule);
}
.legal-brand {
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.45rem,2.3vw,2.05rem);
  font-variation-settings:"opsz" 85,"wght" 350;
  letter-spacing:-.045em;
  line-height:.9;
  text-decoration:none;
}
.legal-brand span { display:block; margin-left:1.05em; }
.legal-nav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(16px,2.4vw,36px);
  font-size:13px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.legal-nav a { text-decoration:none; white-space:nowrap; }
.language-switch { display:inline-flex; gap:.42em; align-items:center; }
.language-switch a { opacity:.45; }
.language-switch a[aria-current="page"] { opacity:1; }
.language-switch span { opacity:.28; }

.legal-hero {
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);
  gap:clamp(52px,9vw,150px);
  padding:clamp(70px,11vw,165px) clamp(22px,6vw,92px) clamp(64px,9vw,120px);
  border-bottom:1px solid var(--rule);
}
.legal-eyebrow,
.legal-section-label {
  margin:0;
  font-size:13px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.legal-hero h1 {
  max-width:9ch;
  margin:.24em 0 0;
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(4.4rem,10vw,10.5rem);
  font-variation-settings:"opsz" 75,"wght" 350;
  font-weight:350;
  letter-spacing:-.075em;
  line-height:.78;
}
.legal-intro {
  max-width:660px;
  margin:auto 0 0;
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.65rem,3.2vw,3.15rem);
  font-variation-settings:"opsz" 75,"wght" 350;
  letter-spacing:-.035em;
  line-height:1.06;
}

.legal-layout {
  display:grid;
  grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);
  gap:clamp(42px,8vw,130px);
  padding:clamp(62px,9vw,120px) clamp(22px,6vw,92px) clamp(80px,11vw,160px);
}
.legal-aside { align-self:start; position:sticky; top:28px; }
.legal-aside p { max-width:24ch; margin:1.3em 0 0; font-size:.9rem; opacity:.65; }
.legal-content { max-width:820px; }
.legal-section { padding:0 0 clamp(42px,5.6vw,72px); }
.legal-section + .legal-section { padding-top:clamp(42px,5.6vw,72px); border-top:1px solid var(--rule); }
.legal-section h2 {
  margin:0 0 .75em;
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(2.15rem,4.6vw,4.5rem);
  font-variation-settings:"opsz" 75,"wght" 350;
  font-weight:350;
  letter-spacing:-.055em;
  line-height:.94;
}
.legal-section h3 {
  margin:2.15em 0 .65em;
  font-size:13px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.legal-section p { margin:.8em 0; }
.legal-section ul { margin:1em 0; padding-left:1.2em; }
.legal-section li { margin:.45em 0; }
.legal-address { font-style:normal; }
.legal-note {
  margin-top:1.7em !important;
  padding:18px 20px;
  border-left:3px solid var(--rose);
  background:rgba(239,190,184,.22);
}

.site-footer {
  display:grid;
  grid-template-columns:minmax(160px,.7fr) minmax(0,1.3fr);
  align-items:center;
  gap:34px;
  padding:24px clamp(22px,6vw,92px) 38px;
  background:var(--rose);
  color:var(--wine);
}
.footer-brand strong {
  display:block;
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.55rem,2.4vw,2.35rem);
  font-variation-settings:"opsz" 85,"wght" 350;
  font-weight:350;
  letter-spacing:-.05em;
  line-height:.8;
}
.footer-brand strong span { display:block; margin-left:1em; }
.footer-brand small {
  display:block;
  margin-top:12px;
  font-size:10px;
  font-weight:500;
  letter-spacing:.1em;
  line-height:1.35;
  text-transform:uppercase;
  opacity:.55;
}
.footer-nav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px clamp(18px,2.6vw,38px);
}
.footer-nav a {
  font-size:12px;
  font-weight:500;
  letter-spacing:.1em;
  text-decoration:none;
  text-transform:uppercase;
}

[data-lang] { display:none; }
html[lang="en"] [data-lang="en"],
html[lang="de"] [data-lang="de"] { display:block; }

@media (max-width:760px) {
  body { font-size:15px; line-height:1.58; }
  .legal-header { min-height:66px; padding:13px 18px; }
  .legal-brand { font-size:1.25rem; }
  .legal-nav { gap:13px; font-size:10px; letter-spacing:.08em; }
  .legal-nav .secondary-link { display:none; }
  .legal-hero { display:block; padding:66px 20px 56px; }
  .legal-hero h1 { margin-top:.34em; font-size:clamp(4.2rem,21vw,6.1rem); }
  .legal-intro { margin-top:58px; font-size:clamp(1.65rem,8vw,2.35rem); }
  .legal-layout { display:block; padding:54px 20px 86px; }
  .legal-aside { position:static; margin-bottom:58px; }
  .legal-section h2 { font-size:clamp(2.5rem,13vw,4rem); }
  .site-footer { grid-template-columns:35% 65%; gap:10px; padding:18px 16px 22px; }
  .footer-brand strong { font-size:1.35rem; }
  .footer-brand small { font-size:7px; }
  .footer-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 10px; }
  .footer-nav a { font-size:8px; letter-spacing:.07em; }
}

@media print {
  .legal-header,.site-footer { display:none; }
  .legal-hero,.legal-layout { display:block; padding:30px 0; }
  .legal-aside { position:static; }
  body { color:#000; background:#fff; }
}
