/* il CORSO · Rechtliche Seiten (Impressum, Datenschutz) */
:root{
  --ink:#1B1A19;
  --paper:#17332A;
  --paper-2:#24473A;
  --text-primary:#F7F5EF;
  --text-secondary:#C5C2B9;
  --on-paper:#F4EBD0;
  --on-paper-rgb:244,235,208;
  --accent-on-paper:#C9A24A;
  --on-paper-2:#BFC7B4;
  --accent:#7E2F2E;
  --accent-hover:#93393A;
  --line:rgba(247,245,239,.16);
  --line-strong:rgba(247,245,239,.42);
  --display:'Bodoni Moda',Didot,'Bodoni 72',Georgia,serif;
  --body:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --label:'Marcellus SC',Georgia,serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}
body{
  margin:0;
  background:var(--paper);
  color:var(--on-paper);
  font-family:var(--body);
  font-weight:400;
  font-size:1.0625rem;
  line-height:1.65;
  overflow-x:clip;
}
a{color:var(--on-paper);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;overflow-wrap:anywhere}
a:hover{color:var(--accent-on-paper)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}

.skip{
  position:absolute;left:16px;top:-100px;z-index:10;
  background:var(--paper);color:var(--on-paper);
  padding:.75rem 1rem;font-family:var(--label);letter-spacing:.18em;text-transform:uppercase;font-size:.85rem;
}
.skip:focus{top:12px}

/* Top bar */
.bar{background:var(--ink);color:var(--text-primary);border-bottom:1px solid var(--line)}
.bar-in{
  max-width:72rem;margin:0 auto;padding:0 16px;min-height:64px;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.wm{font-family:var(--display);font-weight:500;font-size:1.5rem;letter-spacing:.04em;line-height:1;white-space:nowrap}
.wm i{font-style:italic;letter-spacing:0}
.bar a{color:var(--text-primary);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.bar a:hover{color:var(--text-secondary)}
.bar .back{font-family:var(--label);text-transform:uppercase;letter-spacing:.18em;font-size:.8rem}

/* Content */
main{padding:3rem 16px 4rem}
.legal{max-width:68ch;margin:0 auto}
.kicker{font-family:var(--label);text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;color:var(--on-paper-2);margin:0 0 .75rem}
h1{font-family:var(--display);font-weight:500;font-size:clamp(2.25rem,7vw,3.5rem);line-height:1.1;margin:0 0 2.5rem}
h2{
  font-family:var(--display);font-weight:500;font-size:clamp(1.35rem,3.6vw,1.7rem);line-height:1.25;
  margin:2.75rem 0 .9rem;padding-top:1.5rem;border-top:1px solid var(--paper-2);
}
h1 + section h2,h1 + h2{border-top:0;padding-top:0;margin-top:0}
p,ul{margin:0 0 1rem}
ul{padding-left:1.25rem}
li{margin-bottom:.4rem}
strong{font-weight:500}
address{font-style:normal;margin:0 0 1rem}
.note{border-left:2px solid var(--on-paper);padding:.25rem 0 .25rem 1rem;margin:0 0 1rem}

/* Table: stacks on phones */
.table{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:.95rem}
.table th,.table td{text-align:left;vertical-align:top;padding:.6rem .5rem;border-bottom:1px solid var(--paper-2)}
.table th{font-family:var(--label);font-weight:400;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--on-paper-2)}
@media (max-width:599px){
  .table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .table tr{display:block;padding:.75rem 0;border-bottom:1px solid var(--paper-2)}
  .table td{display:block;border:0;padding:.15rem 0}
  .table td::before{content:attr(data-label);display:block;font-family:var(--label);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--on-paper-2)}
}
.stand{margin-top:2.5rem;color:var(--on-paper-2);font-size:.95rem}

/* Footer */
.foot{background:var(--ink);color:var(--text-secondary);border-top:1px solid var(--line)}
.foot-in{max-width:72rem;margin:0 auto;padding:2.5rem 16px;display:flex;flex-wrap:wrap;gap:1.25rem 2rem;align-items:center;justify-content:space-between}
.foot .wm{color:var(--text-primary);font-size:1.35rem}
.foot nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 1.5rem}
.foot nav a{color:var(--text-primary);text-decoration:none;font-family:var(--label);text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;display:inline-flex;align-items:center;min-height:44px}
.foot nav a:hover,.foot nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:.3em}
.foot p{margin:0;font-size:.9rem}
.foot a.home{color:var(--text-primary);text-decoration:none}

@media (min-width:900px){
  main{padding:4.5rem 16px 6rem}
}

/* long German compounds on phones */
h1{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
@media (max-width:420px){h1{font-size:clamp(1.9rem,8.6vw,2.4rem)}}
