/* limitls — shared styles for sub-pages (FAQ, Impressum, DSGVO, AGB) */
@font-face{ font-family:'Hanken Grotesk'; font-weight:300; font-style:normal; font-display:swap; src:url('fonts/hanken-300.woff2') format('woff2'); }
@font-face{ font-family:'Hanken Grotesk'; font-weight:400; font-style:normal; font-display:swap; src:url('fonts/hanken-400.woff2') format('woff2'); }
@font-face{ font-family:'Hanken Grotesk'; font-weight:500; font-style:normal; font-display:swap; src:url('fonts/hanken-500.woff2') format('woff2'); }
@font-face{ font-family:'Instrument Serif'; font-weight:400; font-style:normal; font-display:swap; src:url('fonts/instrument-400.woff2') format('woff2'); }
@font-face{ font-family:'Instrument Serif'; font-weight:400; font-style:italic; font-display:swap; src:url('fonts/instrument-400i.woff2') format('woff2'); }
@font-face{ font-family:'Poppins'; font-weight:600; font-style:normal; font-display:swap; src:url('fonts/poppins-600.woff2') format('woff2'); }

:root{
  --paper:#F2EBE9; --powder:#ADC3D4; --mocha:#956558; --teal:#1C5163; --ink:#000;
  --placeholder:#E6007A;
}
*{ margin:0; padding:0; box-sizing:border-box; }
body{
  background:var(--paper); color:var(--ink);
  font-family:'Hanken Grotesk', sans-serif; font-weight:300;
  font-size:16.5px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
::selection{ background:var(--powder); }
a{ color:var(--teal); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; transition:color .25s ease; }
a:hover{ color:var(--mocha); }

.ph{ color:var(--placeholder) !important; outline:1px dashed var(--placeholder); outline-offset:3px; }
.ph-box{
  border:1px dashed var(--placeholder); color:var(--placeholder);
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-size:13px; letter-spacing:.05em; padding:28px; margin:8px 0 4px;
}

nav{ padding:24px 0; }
.wrap{ max-width:860px; margin:0 auto; padding:0 24px; }
.wordmark{ font-family:'Poppins', sans-serif; font-weight:600; font-size:20px; color:var(--ink); text-decoration:none; }
.wordmark:hover{ color:var(--teal); }

main{ padding:48px 0 96px; }
.quiet{ color:var(--teal); font-size:15.5px; font-weight:400; letter-spacing:.06em; margin-bottom:4px; }
h1{ font-family:'Instrument Serif', serif; font-weight:400; font-size:clamp(38px, 6vw, 52px); margin-bottom:32px; }
h2{ color:var(--mocha); font-size:15.5px; font-weight:400; letter-spacing:.06em; margin:36px 0 10px; }
main p{ max-width:44em; margin-bottom:14px; }
main ol{ max-width:44em; margin:0 0 14px 20px; }
main ol li{ margin-bottom:10px; }
.back{ display:inline-block; margin-top:40px; font-size:14px; }

details{ border-top:1px solid rgba(0,0,0,.12); }
details:last-of-type{ border-bottom:1px solid rgba(0,0,0,.12); }
summary{
  cursor:pointer; list-style:none; padding:17px 0;
  font-weight:500; font-size:16.5px;
  display:flex; justify-content:space-between; align-items:baseline; gap:16px;
}
summary::-webkit-details-marker{ display:none; }
summary::after{
  content:"+"; font-family:'Instrument Serif', serif; font-size:22px; color:var(--mocha); flex-shrink:0;
}
details[open] summary::after{ content:"\2212"; }
details .answer{ padding:0 0 20px; max-width:42em; }
details .answer p{ margin-bottom:12px; }

footer{ background:var(--teal); color:var(--paper); padding:40px 0 32px; margin-top:64px; }
footer .wordmark{ color:var(--paper); font-size:20px; display:block; margin-bottom:20px; }
footer .wordmark:hover{ color:var(--powder); }
.foot-meta{
  display:flex; flex-wrap:wrap; gap:16px 24px; justify-content:space-between;
  font-size:13px; color:rgba(242,235,233,.75);
}
.foot-meta a{ color:rgba(242,235,233,.75); }
.foot-meta a:hover{ color:var(--paper); }
