/* Shared stylesheet for the legal pages (impressum.html, datenschutz.html).
   index.html keeps its CSS inline because it is the landing page and every
   saved round-trip shows; the @font-face blocks below are therefore the one
   piece that exists twice. Keep them in sync if the fonts ever change. */

@font-face{
  font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;
  src:url(../fonts/cormorant-garamond-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;
  src:url(../fonts/cormorant-garamond-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;
  src:url(../fonts/cormorant-garamond-italic-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;
  src:url(../fonts/cormorant-garamond-italic-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Jost';font-style:normal;font-weight:300 500;font-display:swap;
  src:url(../fonts/jost-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Jost';font-style:normal;font-weight:300 500;font-display:swap;
  src:url(../fonts/jost-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Cormorant Fallback';src:local('Georgia'),local('Times New Roman');
  size-adjust:81%;ascent-override:105%;descent-override:29%;line-gap-override:0%;
}
@font-face{
  font-family:'Jost Fallback';src:local('Arial'),local('Helvetica');
  size-adjust:99%;ascent-override:105%;descent-override:29%;line-gap-override:0%;
}

:root{
  --black:#0B0B0C;
  --espresso:#1A1310;
  --gold:#C8A45D;
  --gold-soft:#D9BE86;
  --cream:#EFE7D8;
  --beige:#C9BBA4;
  --bordeaux:#5A1A23;
  --line:rgba(200,164,93,.28);
  --serif:'Cormorant Garamond','Cormorant Fallback',Georgia,serif;
  --sans:'Jost','Jost Fallback','Helvetica Neue',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--black);color:var(--cream);font-family:var(--sans);
  font-weight:300;line-height:1.75;letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
::selection{background:var(--gold);color:var(--black)}

/* ===== HEADER ===== */
.lg-nav{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:26px 6vw;border-bottom:1px solid var(--line);
  background:rgba(11,11,12,.92);position:sticky;top:0;z-index:10;
  backdrop-filter:blur(14px);
}
.lg-brand{font-family:var(--serif);font-size:22px;letter-spacing:.42em;color:var(--cream);text-decoration:none;padding-left:.42em}
.lg-brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.5em;color:var(--gold);text-align:center;margin-top:2px;padding-left:.1em}
.lg-back{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-decoration:none;border:1px solid var(--gold);padding:10px 20px;transition:.3s;white-space:nowrap}
.lg-back:hover{background:var(--gold);color:var(--black)}

/* ===== CONTENT ===== */
.lg-wrap{max-width:820px;margin:0 auto;padding:78px 6vw 40px}
.lg-label{display:flex;align-items:center;gap:16px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.lg-label::before{content:"";width:44px;height:1px;background:var(--gold)}
.lg-wrap h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,6vw,62px);line-height:1.1;margin:22px 0 10px}
.lg-wrap h1 .it{font-style:italic;color:var(--gold-soft)}
.lg-updated{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--beige);opacity:.7}

.lg-wrap h2{
  font-family:var(--serif);font-weight:500;font-size:27px;line-height:1.25;
  color:var(--cream);margin:56px 0 8px;padding-top:26px;border-top:1px solid var(--line);
}
.lg-wrap h3{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:30px 0 8px;font-weight:400}
.lg-wrap p{margin:14px 0;color:var(--beige)}
.lg-wrap p strong{color:var(--cream);font-weight:500}
.lg-wrap ul{margin:14px 0 14px 22px;color:var(--beige)}
.lg-wrap li{margin:7px 0}
.lg-wrap a:not(.lg-back):not(.lg-brand){color:var(--gold-soft);text-decoration:none;border-bottom:1px solid var(--line);transition:.3s}
.lg-wrap a:not(.lg-back):not(.lg-brand):hover{color:var(--gold);border-color:var(--gold)}

/* Address / key-value blocks */
.lg-block{border:1px solid var(--line);padding:26px 30px;margin:22px 0;background:rgba(255,255,255,.015)}
.lg-block p{margin:6px 0}
.lg-row{display:grid;grid-template-columns:210px 1fr;gap:8px 26px;margin:14px 0}
.lg-row dt{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding-top:5px}
.lg-row dd{color:var(--beige)}


/* ===== FOOTER ===== */
.lg-foot{
  border-top:1px solid var(--line);margin-top:70px;padding:34px 6vw;
  display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between;
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--beige);
}
.lg-foot a{color:var(--beige);text-decoration:none;transition:.3s}
.lg-foot a:hover{color:var(--gold)}
.lg-foot nav{display:flex;gap:26px;flex-wrap:wrap}

@media (max-width:640px){
  .lg-wrap{padding:52px 6vw 30px}
  .lg-wrap h2{font-size:23px;margin-top:44px}
  .lg-row{grid-template-columns:1fr;gap:2px}
  .lg-row dd{margin-bottom:12px}
  .lg-nav{padding:18px 6vw}
  .lg-brand{font-size:18px}
}
