/* Unterseiten (Impressum, Datenschutz, 404) — dieselben Tokens und Schriften wie die Startseite */
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/fonts/jost-latin.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/playfair-latin.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 500;font-display:swap;src:url(/assets/fonts/playfair-italic-latin.woff2) format('woff2')}
:root{
  --paper:#F8F5EF; --paper-2:#F1EBE0; --card:#FFFFFF;
  --ink:#16202A; --mut:#5C6873; --line:#DED6C7; --line-2:#EAE3D6;
  --brand:#2E4A5E; --brand-d:#1B2E3D; --brand-l:#4A6B81;
  --blush:#E8C6B6; --blush-d:#B87E60;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:'Jost',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.68;font-weight:400;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.1;letter-spacing:-.015em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--brand);color:#fff}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 26px}
.wrap-n{max-width:820px;margin:0 auto;padding:0 26px}

.lbl{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--brand-l);font-weight:500;display:flex;align-items:center;gap:12px}
.lbl::before{content:"";width:26px;height:1px;background:var(--blush-d);flex:none}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:'Jost';font-weight:500;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;border:1px solid transparent;padding:12px 20px;white-space:nowrap;transition:background .22s,color .22s,border-color .22s}
.btn-b{background:var(--brand);color:#fff}
.btn-b:hover{background:var(--brand-d)}
.btn-line{border-color:var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper)}

.top{position:sticky;top:0;z-index:60;background:rgba(248,245,239,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;height:88px;gap:20px}
.top-logo img{height:64px;width:auto}
.top-links{display:flex;gap:clamp(16px,2.3vw,28px);align-items:center;font-size:.84rem;letter-spacing:.06em;color:var(--mut);text-transform:uppercase}
.top-links a:not(.btn):hover{color:var(--brand)}
@media(max-width:560px){.top-in{height:76px}.top-logo img{height:52px}.top-links .btn{display:none}}

.page-head{border-bottom:1px solid var(--line);background:var(--paper-2);padding:clamp(44px,6vw,76px) 0 clamp(36px,5vw,56px)}
.page-head h1{font-size:clamp(1.85rem,7.2vw,3.4rem);margin-top:18px;-webkit-hyphens:auto;hyphens:auto}
.page-head p{margin-top:14px;color:var(--mut);font-weight:300;max-width:60ch}

.legal{padding-top:clamp(40px,5vw,68px);padding-bottom:clamp(64px,8vw,104px)}
.legal h2{font-size:clamp(1.3rem,2.4vw,1.6rem);margin:clamp(34px,4vw,46px) 0 12px;padding-top:clamp(26px,3vw,34px);border-top:1px solid var(--line)}
.legal h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal h3{font-size:1.08rem;margin:22px 0 8px}
.legal p,.legal li,.legal dd{font-size:.97rem;color:#36424D;font-weight:300}
.legal p+p{margin-top:12px}
.legal ul{margin:10px 0 0 1.1em}
.legal li{padding:3px 0}
.legal b,.legal strong{font-weight:500;color:var(--ink)}
.legal a{color:var(--brand);border-bottom:1px solid var(--blush-d)}
.legal a:hover{color:var(--brand-d);border-color:var(--brand-d)}
.legal dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:12px 26px;margin-top:6px}
.legal dl>*{min-width:0}
.legal dt{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blush-d);font-weight:500;padding-top:5px}
@media(max-width:620px){.legal dl{grid-template-columns:1fr;gap:2px}.legal dd{margin-bottom:12px}}
.legal .stand{margin-top:clamp(36px,4vw,48px);font-size:.84rem;color:var(--mut)}

footer{border-top:1px solid var(--line);padding:34px 0 40px;font-size:.82rem;color:var(--mut);font-weight:300}
.foot-in{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:flex-start}
.foot-in b{color:var(--ink);font-family:'Playfair Display';font-weight:600;font-size:.95rem}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
.foot-links a{color:var(--ink);border-bottom:1px solid var(--line);padding:2px 0}
.foot-links a:hover,.foot-links a[aria-current="page"]{color:var(--brand);border-color:var(--brand)}

/* 404 */
.nf{padding-top:clamp(64px,10vw,130px);padding-bottom:clamp(64px,10vw,130px);text-align:center}
.nf .lbl{justify-content:center}
.nf h1{font-size:clamp(2.2rem,5vw,3.4rem);margin-top:18px}
.nf p{margin:16px auto 0;color:var(--mut);font-weight:300;max-width:46ch}
.nf-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.nf p a{border-bottom:1px solid var(--blush-d)}
.nf p a:hover{color:var(--brand)}
.foot-credit{flex-basis:100%;margin-top:6px;padding-top:16px;border-top:1px solid var(--line-2);font-size:.76rem}
.foot-credit a{color:var(--ink);border-bottom:1px solid var(--line)}
.foot-credit a:hover{color:var(--brand);border-color:var(--brand)}
