/* ── Seite: Impressum (Rahmen auch für legal.py und errorpage.py) ── */
.lg-hero .wrap,.lg-body .wrap{width:min(1200px,100% - 56px);}
@media (max-width:920px){.lg-hero .wrap,.lg-body .wrap{width:calc(100% - 32px);}}
.lg-hero{padding:clamp(40px,5vw,80px) 0 clamp(28px,3vw,44px);background:var(--bg);}
.lg-hero h1{font-size:clamp(2.6rem,5vw,4.2rem);letter-spacing:-.035em;}
.lg-hero h1 .hl{color:var(--cyan);}
.lg-hero .lead{margin:18px 0 0;max-width:40em;}
.lg-body{padding:0 0 clamp(60px,8vw,120px);background:var(--bg);}
.lg-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.4vw,34px);box-shadow:var(--shadow-s);}
.lg-card h2{font-size:clamp(1.15rem,1.5vw,1.4rem);letter-spacing:-.02em;margin:0 0 14px;line-height:1.15;}
.lg-card p{margin:0 0 10px;font-weight:500;line-height:1.6;color:var(--text);}
.lg-card p:last-child{margin-bottom:0;}
.lg-card a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px;}
.lg-card a:hover{text-decoration-color:var(--cyan);}
.lg-card dl,.lg-vcard dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:8px 22px;}
.lg-card dt{font-weight:700;color:var(--ink);}
.lg-card dd{margin:0;font-weight:500;color:var(--text);}
/* Impressum: Visitenkarte (Standard-Verlauf) + Angaben */
.lg-imp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(16px,2vw,28px);align-items:stretch;}
.lg-vcard{position:relative;overflow:hidden;border-radius:var(--r);padding:clamp(28px,3.2vw,48px);background:linear-gradient(135deg,#0e5570 0%,#1c6f64 52%,#8bc220 100%);color:#fff;box-shadow:var(--shadow-m);}
.lg-vcard>div{position:relative;z-index:2;}
.lg-vcard>div+div{margin-top:clamp(22px,2.4vw,32px);padding-top:clamp(22px,2.4vw,32px);border-top:1px solid rgba(255,255,255,.22);}
.lg-vcard h2{color:rgba(255,255,255,.72);font-size:1rem;font-weight:600;letter-spacing:0;margin:0 0 12px;line-height:1.3;}
.lg-vcard p{margin:0;font-size:clamp(1.05rem,1.2vw,1.15rem);font-weight:500;line-height:1.6;color:rgba(255,255,255,.9);}
.lg-vcard p::first-line{font-size:clamp(1.6rem,2.2vw,2.1rem);font-weight:700;line-height:1.5;letter-spacing:-.02em;color:#fff;}
.lg-vcard dl{align-items:baseline;gap:10px 22px;}
.lg-vcard dt{font-size:.95rem;font-weight:500;color:rgba(255,255,255,.72);}
.lg-vcard dd{margin:0;font-size:clamp(1.12rem,1.4vw,1.3rem);}
.lg-vcard a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:rgba(255,255,255,.5);text-underline-offset:3px;}
.lg-vcard a:hover{text-decoration-color:#fff;}
.lg-vcard .bx{position:absolute;z-index:1;border-radius:6px;box-shadow:0 8px 20px -8px rgba(20,30,15,.35);}
.lg-facts{padding-block:clamp(10px,1.2vw,16px);}
.lg-row{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr);gap:8px 28px;padding:clamp(16px,1.8vw,22px) 0;border-top:1px solid var(--line);}
.lg-row:first-child{border-top:0;}
.lg-row h2{margin:0;font-size:clamp(1.02rem,1.2vw,1.12rem);line-height:1.6;}
.lg-row dl{grid-template-columns:max-content 1fr;gap:6px 18px;}
@media (max-width:1180px){.lg-row{grid-template-columns:1fr;}}
@media (max-width:860px){.lg-imp{grid-template-columns:1fr;}}
@media (max-width:760px){.lg-card dl,.lg-vcard dl{grid-template-columns:1fr;gap:2px;}.lg-card dd,.lg-vcard dd{margin-bottom:10px;}.lg-card dd:last-child,.lg-vcard dd:last-child{margin-bottom:0;}}
@media (max-width:560px){.lg-vcard .bx{display:none;}}
