/* ============================================================================
   inso-gmbh.com · EE Inso 6 GmbH · Fassung 2 (Oktober 2026)
   Hellblau auf Weiß, Arial. Startseite mit Teambild, Unterseiten mit Seitenleiste.
   ========================================================================== */
:root{
  --white:#FFFFFF;--bg:#FFFFFF;--sky-xl:#F2F8FD;--sky-l:#DCEEFA;--sky:#9CD0F3;--sky-d:#5BB0E8;
  --blue:#1E73B8;--blue-d:#145A93;--navy:#12304A;
  --ink:#1B2730;--ink-2:#3B4954;--mute:#5F6C78;--line:#D5E3EE;--line-2:#B9D0E2;
  --ok:#1E7A4A;--err:#B23A2E;
  --ff:Arial,Helvetica,sans-serif;
  --shell:1240px;--pad:20px;--r:6px;--r-l:12px;--top-h:72px;
  --ease:cubic-bezier(.2,.7,.2,1);
  /* Linienraster „Kontoblatt“ – die wiederkehrende Textur der Flächen */
  --ruled:repeating-linear-gradient(180deg,transparent 0 35px,rgba(30,115,184,.085) 35px 36px);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
[id]{scroll-margin-top:calc(var(--top-h) + 16px)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
html,body{overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ff);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
p,li,dd,dt,td,th,figcaption{overflow-wrap:anywhere}
img,picture,svg{max-width:100%;display:block}
img{height:auto}
a{color:var(--blue);text-decoration:underline;text-decoration-color:rgba(30,115,184,.4);text-underline-offset:.15em;transition:color .2s}
a:hover{color:var(--blue-d);text-decoration-color:currentColor}
:focus-visible{outline:3px solid var(--sky-d);outline-offset:2px;border-radius:3px}
h1,h2,h3,h4{font-family:var(--ff);color:var(--navy);margin:0;font-weight:700;line-height:1.15;letter-spacing:-.015em;text-wrap:balance;hyphens:manual}
h1{font-size:clamp(34px,4.6vw,58px);line-height:1.05;letter-spacing:-.025em}
h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.02em}
h3,.h3{font-size:20px;line-height:1.3}
h4{font-size:17px}
p{margin:0 0 1em}p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0}
address{font-style:normal}
button{font:inherit;color:inherit}
.small{font-size:14px}.muted{color:var(--mute)}
.meta{font-size:14px;color:var(--mute);display:inline-flex;align-items:center;gap:8px}
.lead{font-size:clamp(17.5px,1.4vw,20px);color:var(--ink-2);line-height:1.55}
.eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 var(--pad)}
.shell--narrow{max-width:860px}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:1000}
.skip:focus{left:0}
.i{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.i--s{width:17px;height:17px}
.tab{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-size:26px;font-weight:700;color:var(--sky-d);line-height:1;font-variant-numeric:tabular-nums}
.is-law{text-transform:none!important;letter-spacing:0!important}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:999px;border:2px solid var(--sky-d);background:var(--sky-d);color:var(--navy);font-weight:700;font-size:15.5px;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s var(--ease)}
.btn:hover{background:var(--sky);border-color:var(--sky);color:var(--navy);text-decoration:none;transform:translateY(-1px)}
.btn .i{transition:transform .25s var(--ease)}.btn:hover .i{transform:translateX(3px)}
.btn--ghost{background:transparent;color:var(--blue);border-color:var(--line-2)}
.btn--ghost:hover{background:var(--sky-xl);border-color:var(--sky-d);color:var(--blue-d)}
.btn--light{background:#fff;border-color:#fff;color:var(--navy)}
.btn--light:hover{background:var(--sky-l);border-color:var(--sky-l);color:var(--navy)}
.btn--lg{padding:16px 26px;font-size:16.5px}
.btn--sm{padding:9px 16px;font-size:14px}
.mail{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;color:var(--blue);min-height:44px}
.mail:hover{text-decoration:underline}
.mails{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:10px}
.mail--s{font-size:14.5px;min-height:40px}
.mail span{overflow-wrap:normal;word-break:keep-all}

/* ---------------------------------------------------------------- Kopfzeile */
.top{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:inset 0 3px 0 var(--sky-d);transition:box-shadow .3s}
.top.is-stuck{box-shadow:inset 0 3px 0 var(--sky-d),0 8px 24px -18px rgba(18,48,74,.35)}
.top__row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--top-h)}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);min-height:44px}
.brand:hover{text-decoration:none;color:var(--navy)}
.mark{flex:none}
.mark-1{stroke:var(--navy)}.mark-2{stroke:#2E8FD0}.mark-3{stroke:#8CC8EE}
.brand__w{display:flex;flex-direction:column;line-height:1}
.brand__w b{font-size:22px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.brand__w b i{font-style:normal;color:#2E8FD0}
.brand__w span{font-size:11px;letter-spacing:.02em;color:#4A6178;font-weight:400;margin-top:4px;white-space:nowrap}
.brand--light{color:#fff}.brand--light:hover{color:#fff}
.brand--light .mark-1{stroke:#fff}.brand--light .mark-2{stroke:#6BB8EC}.brand--light .mark-3{stroke:#3B86C4}
.brand--light .brand__w span{color:#A9C3DA}.brand--light .brand__w b i{color:#6BB8EC}
.top__right{display:flex;align-items:center;gap:14px}
.burger{display:none;align-items:center;gap:8px;background:none;border:2px solid var(--line-2);border-radius:999px;padding:9px 14px;min-height:44px;font-weight:700;font-size:14px;cursor:pointer;color:var(--navy)}
.burger .i--close{display:none}
.burger[aria-expanded="true"] .i--open{display:none}.burger[aria-expanded="true"] .i--close{display:block}
.nav__list{display:flex;align-items:center;gap:2px;list-style:none}
.nav__item>a{display:inline-flex;align-items:center;gap:5px;padding:10px 13px;font-weight:700;font-size:15.5px;color:var(--navy);text-decoration:none;border-radius:999px}
.nav__item>a:hover{background:var(--sky-xl);color:var(--blue-d)}
.nav__item.is-active>a{background:var(--sky-l);color:var(--navy)}
.nav__item>a .i{transition:transform .25s}
.nav__item>a[aria-expanded="true"] .i{transform:rotate(180deg)}
.nav__foot{display:none}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);border-bottom:3px solid var(--sky-d);box-shadow:0 30px 50px -30px rgba(18,48,74,.35);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s .22s;max-height:calc(100vh - var(--top-h));overflow:auto}
.nav__item--mega.is-open .mega,.nav__item--mega:focus-within .mega{opacity:1;visibility:visible;transform:none;transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s}
@media (hover:hover){.nav__item--mega:hover .mega{opacity:1;visibility:visible;transform:none;transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s}}
.mega__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 32px;padding-top:28px;padding-bottom:26px}
.mega__col ul{list-style:none;margin-top:8px;padding-left:30px}
.mega__col li a{display:block;padding:5px 0;font-size:14.5px;color:var(--ink-2);text-decoration:none;hyphens:auto;-webkit-hyphens:auto}
.mega__col li a:hover,.mega__col li a[aria-current]{color:var(--blue);text-decoration:underline}
.mega__t{display:inline-flex;align-items:center;gap:9px;font-size:16.5px;font-weight:700;color:var(--navy);text-decoration:none}
.mega__t .i{color:var(--sky-d)}
.mega__t:hover{color:var(--blue)}
.mega__foot{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px}
.mega__foot a{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;min-height:44px}
.veil{position:fixed;inset:0;background:rgba(18,48,74,.35);z-index:40}

/* ---------------------------------------------------------------- Startseite: Bühne */
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero__points{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin:0;padding:34px 0 48px}
.hero__points li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:18px 0 0;border-top:3px solid var(--sky-l);font-weight:700;color:var(--navy);font-size:16px;line-height:1.4}
.hero__pn{font-size:40px;line-height:.9;color:var(--sky-d);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:-2px}
.band{background:var(--navy);color:#fff;padding:22px 0}
.band__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 32px;margin:0}
.band__facts dt{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sky)}
.band__facts dd{margin:3px 0 0;font-size:16.5px;font-weight:700}

/* ---------------------------------------------------------------- Seitenkopf + Seitenleisten-Layout */
.phead{background:linear-gradient(180deg,var(--sky-l),var(--sky-xl));position:relative;padding:28px 0 40px}
.phead::before{content:"";position:absolute;inset:0;background:var(--ruled);pointer-events:none;mask-image:linear-gradient(90deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 85%)}
.phead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line-2)}
.phead__grid{position:relative;display:grid;gap:24px 56px;align-items:center}
.phead--img .phead__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.phead--img{padding-bottom:0}
.phead h1{margin-bottom:16px}
.phead .lead{max-width:60ch}
.phead__text{padding-bottom:40px}
.phead__media{margin:0 0 -64px;position:relative;z-index:1}
.phead__frame{position:relative;border-radius:var(--r-l);overflow:visible}
.phead__frame::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:2px solid var(--sky-d);border-radius:var(--r-l);pointer-events:none}
.phead__frame picture{position:relative;display:block;aspect-ratio:3/2;border-radius:var(--r-l);overflow:hidden;background:var(--sky-l);box-shadow:0 30px 60px -36px rgba(18,48,74,.5)}
.phead__frame img{width:100%;height:100%;object-fit:cover}
.phead__cap{position:absolute;left:0;right:0;top:100%;margin-top:30px;font-size:12.5px;color:var(--mute);line-height:1.4}
/* 16:9 (Teambild): breite Bühne unter dem Text */
.phead--wide .phead__grid{grid-template-columns:minmax(0,1fr)}
.phead--wide .phead__text{padding-bottom:8px;max-width:980px}
.phead--wide .phead__media{margin-bottom:-120px}
.phead--wide .phead__frame picture{aspect-ratio:16/9}
.phead--wide .phead__frame img{object-position:50% 40%}
.phead--wide .phead__frame::before{inset:22px -22px -22px 22px}
.phead--wide .phead__cap{margin-top:34px}
.phead--img+.layout{padding-top:116px}
.phead--wide+.layout{padding-top:180px}
.phead--wide+.tlead{padding-top:200px}
.phead--img+.blk{padding-top:116px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:14px;color:var(--mute);margin-bottom:18px}
.crumbs li+li::before{content:"›";margin-right:6px;color:var(--line-2)}
.crumbs a{color:var(--mute);text-decoration:none}.crumbs a:hover{color:var(--blue)}
.crumbs span[aria-current]{color:var(--navy);font-weight:700}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px 64px;align-items:start;padding-top:48px;padding-bottom:64px}
.layout__main{min-width:0}
.side{position:sticky;top:calc(var(--top-h) + 20px);display:flex;flex-direction:column;gap:18px}
.side--static{position:static}
.side__box{background:var(--sky-xl);border-radius:var(--r-l);padding:22px 22px 18px;position:relative}
.side__box:first-child{box-shadow:inset 0 4px 0 var(--sky-d)}
.side__h{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.side__person{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:start;background:#fff;border:1px solid var(--line)}
.side__person--noimg{grid-template-columns:minmax(0,1fr)}
.side__person .side__h{font-size:18px;letter-spacing:-.01em;text-transform:none;color:var(--navy)}
.side__img picture{border-radius:var(--r);overflow:hidden}
.side__person .side__h{margin-bottom:2px}
.side__links{list-style:none;display:flex;flex-direction:column;gap:6px}
.side__links a{display:flex;gap:8px;align-items:center;text-decoration:none;font-weight:700;padding:6px 0;color:var(--navy)}
.side__links a .i{color:var(--sky-d)}.side__links a:hover{color:var(--blue)}
.side__cta{background:var(--navy);color:#fff}
.side__cta p{margin-bottom:12px;font-weight:700}
.kp{list-style:none;counter-reset:kp;margin:0}
.kp li{counter-increment:kp;display:grid;grid-template-columns:30px 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:15px;color:var(--ink-2)}
.kp li:first-child{border-top:0}
.kp li::before{content:counter(kp,decimal-leading-zero);font-weight:700;font-size:20px;line-height:1;color:var(--sky-d);letter-spacing:-.03em;padding-top:2px}
.facts{margin:0}
.facts div{padding:8px 0;border-top:1px solid var(--line)}
.facts div:first-child{border-top:0}
.facts dt{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.facts dd{margin:2px 0 0;font-weight:700;color:var(--navy);font-size:15px}

/* ---------------------------------------------------------------- Abschnitte */
.blk{padding:64px 0}
.blk--alt{background:var(--sky-xl)}
.blk--tint{background:var(--sky-l)}
.blk--inlay{padding:0 0 40px;background:transparent}
.blk--inlay+.blk--inlay{border-top:1px solid var(--line);padding-top:36px}
.inlay{width:100%}
.blk__head{margin-bottom:28px;max-width:820px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 18px;align-items:start}
.blk__head .tab{grid-row:1/span 2;font-size:clamp(34px,3.6vw,52px);line-height:.85;letter-spacing:-.04em;color:var(--sky-d);margin:4px 0 0;text-transform:none;font-variant-numeric:tabular-nums;padding-right:18px;border-right:1px solid var(--line-2);align-self:stretch}
.blk__head h2{margin-bottom:4px;grid-column:2}
.blk__head:not(:has(.tab)) h2{grid-column:1/-1}
.blk__head:not(:has(.tab)) .blk__intro{grid-column:1/-1}
.blk--inlay .blk__head .tab{font-size:30px;padding-right:14px}
.blk__intro{color:var(--ink-2);grid-column:2;margin:0}
.prose{min-width:0}
.prose p{margin-bottom:1.05em}
.prose--2{columns:2;column-gap:40px}
.prose--2 p{break-inside:avoid}
.prose-aside{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:start}
.marginal{background:var(--sky-l);border-radius:var(--r-l);padding:16px 18px;font-size:15px;color:var(--ink-2)}
.marginal h3{font-size:15px;margin-bottom:6px;color:var(--navy)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:28px 40px;align-items:center}
.split__media{margin:0}
.frame{border-radius:var(--r-l);overflow:hidden;background:var(--sky-l)}
.frame img{width:100%;height:auto}
figure.wide{margin:0}
.frame--wide{aspect-ratio:21/9}.frame--wide img{height:100%;object-fit:cover}
.split__media figcaption,figure.wide figcaption{font-size:13.5px;color:var(--mute);margin-top:8px}
.law{font-size:14px;color:var(--mute);margin-top:14px;line-height:1.6;background:var(--sky-xl);padding:10px 14px;border-radius:var(--r)}
.law__k{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;margin-right:6px;color:var(--blue)}
.law__i{white-space:normal;hyphens:none}
.rule{display:flex;justify-content:center;padding:8px 0}
.rule span{width:64px;height:4px;border-radius:2px;background:var(--sky-d)}

/* Karten */
.cards{display:grid;gap:16px}
.cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.layout__main .cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.layout__main .cards--3{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--sky-d);border-radius:var(--r-l);padding:22px;color:var(--ink);text-decoration:none;position:relative;transition:border-color .25s,transform .3s var(--ease),box-shadow .3s}
.card h3{font-size:19px}
.card p{color:var(--ink-2);font-size:15.5px;margin:0}
.card--link:hover{text-decoration:none;color:var(--ink);border-color:var(--sky-d);transform:translateY(-3px);box-shadow:0 20px 40px -26px rgba(18,48,74,.4)}
.card__more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--blue);font-size:14.5px;text-decoration:none;min-height:44px}
.card__tl{color:inherit;text-decoration:none}.card__tl:hover{color:var(--blue)}
article.card--link:hover{transform:none;box-shadow:none}
.card__more .i{transition:transform .25s var(--ease)}
.card--link:hover .card__more .i{transform:translateX(4px)}
.card__top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.card__meta{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--blue-d);background:var(--sky-l);padding:4px 10px;border-radius:999px;max-width:100%;overflow-wrap:anywhere;hyphens:auto;-webkit-hyphens:auto}
.card__img{margin:-26px -22px 6px;border-radius:calc(var(--r-l) - 3px) calc(var(--r-l) - 3px) 0 0;overflow:hidden;aspect-ratio:4/5;background:var(--sky-l)}
.card__img img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.card__mails{display:flex;flex-direction:column;gap:2px}
.cards--plain{gap:0 48px}
.cards--plain .card{border:0;border-radius:0;background:transparent;padding:22px 0 26px;border-top:1px solid var(--line-2);gap:6px}
.cards--plain .card .card__top{margin-bottom:4px}
.cards--plain .card .num{font-size:44px;letter-spacing:-.04em;line-height:.9;color:var(--sky-d)}
.cards--plain .card h3{font-size:21px}
.cards--plain .card--link:hover{box-shadow:none;transform:none;background:transparent}
.cards--plain .card--link:hover h3{color:var(--blue)}
.cards--portrait{gap:0 32px}
.cards--portrait .card{border:0;border-radius:0;padding:0 0 18px;background:transparent;gap:6px}
.cards--portrait .card__img{margin:0 0 14px;border-radius:var(--r-l);aspect-ratio:4/5;box-shadow:inset 0 0 0 1px rgba(18,48,74,.06)}
.cards--portrait .card__meta{background:transparent;padding:0;color:var(--blue);letter-spacing:.08em;font-size:11.5px}
.cards--portrait .card--link:hover{box-shadow:none;transform:none}
.cards--portrait .card--link:hover .card__img img{transform:scale(1.03)}
.cards--portrait .card__img img{transition:transform .6s var(--ease)}
.cards--portrait .card h3{font-size:20px}
.cards--tint .card{background:var(--sky-xl)}
.cards--sm .card{padding:18px}.cards--sm .card h3{font-size:18px}
.cards .card--img h3{font-size:18px}.cards .card--img p{font-size:15px}

/* Personenverzeichnis (Teamseite) */
.people{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
.people__row{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:start;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r-l)}
.people__img picture{border-radius:var(--r);overflow:hidden}
.people__img--empty{aspect-ratio:4/5;background:var(--sky-l);border-radius:var(--r)}
.people__b h3{font-size:19px;margin:2px 0 6px}
.people__b p{font-size:15px;color:var(--ink-2);margin:0}
.people__b .mails{margin-top:4px}

/* Zeilenliste */
.rows{list-style:none}
.rows li{border-top:1px solid var(--line)}
.rows li:last-child{border-bottom:1px solid var(--line)}
.rows a,.rows>li>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;padding:16px 8px;color:var(--ink);text-decoration:none;align-items:center;transition:background .2s}
.rows a:hover{background:var(--sky-xl);color:var(--ink)}
.rows a .i{grid-row:1/span 3;grid-column:2;color:var(--sky-d)}
.rows a .rows__t,.rows a .rows__m,.rows a .rows__d{grid-column:1}
.rows__t{font-size:19px;font-weight:700;color:var(--navy)}
.rows__m{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.rows__d{font-size:15px;color:var(--ink-2)}
.rows--compact .rows__t{font-size:17px}.rows--compact a{padding:12px 8px}
.rows--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;counter-reset:rows}
.rows--grid li{counter-increment:rows;border-top:1px solid var(--line-2)}
.rows--grid li:last-child{border-bottom:0}
.rows--grid li:nth-last-child(-n+2){border-bottom:1px solid var(--line-2)}
.rows--grid a{grid-template-columns:auto minmax(0,1fr) auto;padding:24px 0;gap:4px 18px}
.rows--grid .rows__t,.rows--grid .rows__m,.rows--grid .rows__d{grid-column:2}
.rows--grid a::before{content:counter(rows,decimal-leading-zero);grid-column:1;grid-row:1/span 3;font-size:40px;font-weight:700;line-height:.9;color:var(--sky-d);letter-spacing:-.04em;padding-top:2px}
.rows--grid .rows__t{font-size:23px;letter-spacing:-.015em}
.rows--grid a .i{grid-column:3;grid-row:1/span 3;width:44px;height:44px;min-width:44px;padding:10px;border:1px solid var(--line-2);border-radius:50%;color:var(--blue);transition:background .2s,color .2s}
.rows--grid a:hover{background:transparent}
.rows--grid a:hover .i{background:var(--sky-d);border-color:var(--sky-d);color:var(--navy)}

/* Schritte */
.steps{list-style:none;display:grid;gap:18px}
.steps--2{grid-template-columns:repeat(2,minmax(0,1fr))}.steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}.steps--4{grid-template-columns:repeat(4,minmax(0,1fr))}.steps--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.layout__main .steps--4,.layout__main .steps--5,.layout__main .steps--3{grid-template-columns:repeat(2,minmax(0,1fr))}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:18px;display:flex;flex-direction:column}
.step__n{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--sky-d);color:var(--navy);font-weight:700;font-size:18px;margin-bottom:12px}
.step h3{font-size:18px;margin:2px 0 6px}
.step p{font-size:15px;color:var(--ink-2);margin:0}
.step .meta,.timeline .meta{display:block;margin-bottom:4px;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.steps--compact{grid-template-columns:1fr;gap:10px}
.steps--compact .step{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}
.steps--compact .step__n{margin:0}
.timeline{list-style:none;position:relative;padding-left:4px}
.timeline li{position:relative;display:grid;grid-template-columns:40px 1fr;gap:14px;padding:0 0 24px}
.timeline li::before{content:"";position:absolute;left:19px;top:40px;bottom:0;width:2px;background:var(--line-2)}
.timeline li:last-child::before{display:none}
.timeline__n{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--sky-d);color:var(--navy);font-weight:700}
.timeline h3{font-size:18px;margin:8px 0 6px}
.timeline p{font-size:15px;color:var(--ink-2);margin:0}
.timeline--row{display:grid;gap:0 28px;padding:0}
.timeline--3{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline--4{grid-template-columns:repeat(4,minmax(0,1fr))}.timeline--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.timeline--row li{display:block;padding:0 0 8px;border-top:3px solid var(--sky-l)}
.timeline--row li::before{display:none}
.timeline--row .timeline__n{width:auto;height:auto;border-radius:0;background:transparent;color:var(--sky-d);font-size:44px;letter-spacing:-.04em;line-height:.9;margin:-3px 0 14px;padding-top:0;position:relative}
.timeline--row .timeline__n::before{content:"";position:absolute;left:0;top:-3px;width:44px;height:3px;background:var(--sky-d)}
.timeline--row h3{margin-top:2px}

/* Ledger / Tabellen */
.ledger{margin:0;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden}
.ledger>div{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,2fr);gap:4px 20px;padding:12px 16px;border-top:1px solid var(--line)}
.ledger>div:first-child{border-top:0}
.ledger>div:nth-child(odd){background:var(--sky-xl)}
.ledger dt{font-weight:700;font-size:14.5px;color:var(--navy)}
.ledger dd{margin:0;color:var(--ink-2)}
.ledger--contact dt{display:flex;align-items:center;gap:8px;color:var(--mute);font-size:13.5px}
.contact__side .ledger>div{grid-template-columns:1fr;gap:2px}
.ledger--legal{margin:0 0 1.3em}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table{width:100%;border-collapse:collapse;font-size:15.5px}
.table caption{text-align:left;font-weight:700;padding:0 0 10px}
.table th,.table td{text-align:left;vertical-align:top;padding:11px 14px 11px 0;border-bottom:1px solid var(--line)}
.table thead th{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);border-bottom:2px solid var(--sky-d)}
.table tbody th{font-weight:700;color:var(--navy);width:32%}

/* Checklisten, Spalten, Hinweise */
.checks{list-style:none;display:grid;gap:9px}
.checks--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 28px}
.checks li{display:flex;gap:10px;align-items:flex-start;font-size:16px}
.checks .i{color:var(--sky-d);margin-top:4px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:26px}
.panel--tint{background:var(--sky-xl)}
.cols{display:grid;gap:22px 28px}
.cols--2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols--3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.layout__main .cols--3,.layout__main .cols--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.col{background:var(--sky-xl);border-radius:var(--r-l);padding:18px}
.col h3{font-size:18px;margin-bottom:6px}
.col p{font-size:15px;color:var(--ink-2);margin:0}
.col .num{display:block;margin-bottom:8px}
.note{display:flex;gap:14px;background:var(--sky-l);border-radius:var(--r-l);padding:20px 22px}
.note h3{font-size:18px;margin-bottom:6px}
.note p{font-size:15.5px}
.note--strong{background:var(--navy);color:#fff}
.note--strong h3{color:#fff}.note--strong a{color:var(--sky)}.note--strong .law{background:rgba(255,255,255,.08);color:#D5E3EE}.note--strong .law__k{color:var(--sky)}
.note__i{color:var(--sky);margin-top:2px}
.keyfig{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;background:var(--sky-xl);border-radius:var(--r-l);padding:22px}
.keyfig__n{font-size:clamp(38px,5vw,62px);font-weight:700;color:var(--blue);line-height:1;white-space:nowrap}
.keyfig h3{font-size:18px;margin-bottom:6px}
.blk--quote:not(.blk--inlay){background:var(--sky-l);position:relative;padding:72px 0}
.blk--quote:not(.blk--inlay)::before{content:"";position:absolute;inset:0;background:var(--ruled);opacity:.7;pointer-events:none}
.blk--quote:not(.blk--inlay) .shell{position:relative}
.quote{margin:0;padding:0 0 0 clamp(56px,8vw,96px);position:relative}
.quote__mark{position:absolute;left:0;top:-.72em;font-size:clamp(96px,12vw,150px);line-height:1;font-weight:700;color:var(--sky-d);letter-spacing:-.06em;user-select:none}
.quote p{font-size:clamp(21px,2.4vw,30px);font-weight:700;line-height:1.3;letter-spacing:-.015em;color:var(--navy);margin-bottom:14px;text-wrap:balance}
.quote footer{font-size:13.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);display:flex;align-items:center;gap:12px}
.quote footer::before{content:"";width:28px;height:2px;background:var(--sky-d)}
.blk--inlay .quote{padding:26px 26px 26px clamp(60px,9vw,88px);background:var(--sky-xl);border-radius:var(--r-l)}
.blk--inlay .quote__mark{left:18px;top:-34px;font-size:84px}
.blk--inlay .quote p{font-size:clamp(19px,2vw,23px)}
.quote__i{display:none}
.faq{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;cursor:pointer;font-size:18px;font-weight:700;color:var(--navy)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary .i{color:var(--sky-d);transition:transform .25s}
.faq__item[open] summary .i{transform:rotate(180deg)}
.faq__a{padding:0 0 18px;color:var(--ink-2)}
.person{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;background:var(--sky-xl);border-radius:var(--r-l);padding:22px}
.person__img picture{border-radius:var(--r);overflow:hidden}
.person__b h3{font-size:21px;margin:2px 0 6px}
.person__b p{color:var(--ink-2);font-size:15.5px}
.person__b .mails{margin:8px 0 14px}
.toc{padding-top:20px}
.toc__box{border:1px solid var(--line);border-radius:var(--r-l);background:#fff}
.toc__box summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:700;cursor:pointer}
.toc__box summary::-webkit-details-marker{display:none}
.toc__box[open] summary .i{transform:rotate(180deg)}
.toc__box ol{list-style:none;counter-reset:toc;padding:0 16px 12px;columns:2;column-gap:24px}
.toc__box li{counter-increment:toc;break-inside:avoid;padding:4px 0}
.toc__box li a{text-decoration:none;color:var(--ink-2);display:flex;gap:10px;font-size:15px;min-height:40px;align-items:center}
.toc__box li a::before{content:counter(toc);color:var(--blue);font-weight:700}
.toc__box li a:hover,.toc__box li a.is-active{color:var(--blue)}

/* Verwandtes, CTA */
.blk--related-list .h3{margin-bottom:12px}
.cta{background:linear-gradient(180deg,var(--sky-xl),var(--sky-l));padding:80px 0;position:relative;border-top:1px solid var(--line)}
.cta::before{content:"";position:absolute;inset:0;background:var(--ruled);pointer-events:none;mask-image:linear-gradient(90deg,transparent 30%,#000);-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000)}
.cta__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px 48px;align-items:center}
.cta h2{margin-bottom:12px;font-size:clamp(30px,3.8vw,48px);letter-spacing:-.025em}
.cta p{color:var(--ink-2);font-size:17px;max-width:60ch}
.cta__a{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.cta__mail{color:var(--navy);display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;min-height:44px}
.cta__mail:hover{text-decoration:underline}
.cta__meta{color:var(--mute);font-size:14px;display:inline-flex;gap:8px;align-items:center}
.ctaline{background:var(--navy);color:#fff;border-radius:var(--r-l);padding:24px 26px;display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:16px 32px;align-items:center}
.ctaline p{margin:0;color:#D5E3EE}.ctaline b{color:#fff}
.ctaline__a{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.ctaline .mail{color:#fff}

/* ---------------------------------------------------------------- Formulare */
.form{display:flex;flex-direction:column;gap:18px}
.form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.field{display:flex;flex-direction:column;gap:6px;border:0;padding:0;margin:0;min-width:0}
.field label,.field legend{font-weight:700;font-size:15px}
.field legend{padding:0;margin-bottom:8px}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{width:100%;font:inherit;padding:12px 14px;border:2px solid var(--line-2);border-radius:var(--r);background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--sky-d);box-shadow:0 0 0 3px rgba(91,176,232,.25)}
.field textarea{resize:vertical;min-height:140px}
.field.has-err input,.field.has-err textarea{border-color:var(--err)}
.field__err{color:var(--err);font-size:14px;font-weight:700;margin:0}
.field__hint{font-size:14px;color:var(--mute);margin:0}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.choice{display:flex;gap:10px;align-items:center;padding:10px 12px;border:2px solid var(--line);border-radius:var(--r);background:#fff;cursor:pointer;font-size:15px;font-weight:700;transition:border-color .2s,background .2s}
.choice:hover{border-color:var(--sky-d)}
.choice:has(input:checked){border-color:var(--sky-d);background:var(--sky-xl)}
.choice input{accent-color:var(--blue);width:18px;height:18px;margin:0;flex:none}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px}
.check input{accent-color:var(--blue);width:20px;height:20px;margin-top:2px;flex:none}
.form__actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;padding-top:6px}
.hp{position:absolute;left:-9999px;top:-9999px}
.notice{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:var(--r-l);border:1px solid;margin-bottom:22px}
.notice--ok{background:#EAF6EE;border-color:#BFE0CA;color:var(--ok)}
.notice--ok h2{font-size:21px;color:var(--ok);margin-bottom:6px;padding:0;border:0}
.notice--err{background:#FCEDEA;border-color:#F0C5BE;color:var(--err)}
.notice--err a{color:var(--err)}
.notice ul{list-style:none;margin-top:6px}
.notice .i{margin-top:3px}
.contact{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;align-items:start}
.contact__side{display:flex;flex-direction:column;gap:20px;position:sticky;top:calc(var(--top-h) + 20px)}
.contact__side address{margin-bottom:14px;color:var(--ink-2)}
.map{margin:16px 0 12px}
.map img{border-radius:var(--r);border:1px solid var(--line);width:100%;height:auto}
.map figcaption{font-size:12.5px;color:var(--mute);margin-top:6px}

/* ---------------------------------------------------------------- Rechtsseiten */
.legal{padding:40px 0 64px;font-size:16.5px}
.legal h2{font-size:24px;margin:38px 0 12px;padding-left:16px;border-left:5px solid var(--sky-d)}
.legal h2:first-child{margin-top:0}
.legal h3{font-size:18px;margin:24px 0 8px}
.legal p,.legal ul,.legal ol{margin-bottom:1.1em;color:var(--ink-2)}
.legal ul,.legal ol{padding-left:22px}
.legal li{margin-bottom:.35em}
.legal__addr{font-weight:700;color:var(--navy)}
.legal__note{background:var(--sky-l);padding:14px 18px;border-radius:var(--r-l)}
.legal .table{font-size:15px;margin-bottom:1.3em}

 /* ---------------------------------------------------------------- Fußzeile */
.foot{background:var(--navy);color:#C9D7E3;padding:0 0 24px;position:relative}
.foot::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--sky-d),var(--sky-l))}
.foot a{color:#EAF1F7;text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.foot .btn--light,.foot .btn--light:hover{color:var(--navy)}
.foot__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 64px;align-items:start;padding:56px 0 40px;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:36px}
.foot__brand{display:flex;flex-direction:column;gap:18px}
.foot__brand .brand__w b{font-size:26px}
.foot__claim{margin:0;font-size:15px;line-height:1.6;max-width:36ch;color:#AFC3D4}
.foot__contact{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.foot__k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sky)}
.foot__mail{font-size:clamp(22px,2.6vw,34px);font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1.1;overflow-wrap:anywhere}
.foot__addr{margin:0 0 8px;font-size:14.5px;line-height:1.6}
.foot__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px}
.foot__col{border:0}
.foot__col summary{list-style:none;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sky);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.foot__col summary::-webkit-details-marker{display:none}
.foot__col summary .i{display:none}
.foot__col ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px}
.foot__col li a{font-size:14.5px;hyphens:auto;-webkit-hyphens:auto}
.foot__bottom{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;align-items:center;margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:#9FB5C8}
.foot__legal{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px}

/* Cookie, mobile CTA */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:44;display:flex;justify-content:center}
.cookie__box{display:flex;gap:18px;align-items:center;max-width:760px;background:var(--navy);color:#DDE6EE;padding:16px 18px;border-radius:var(--r-l);box-shadow:0 20px 50px -20px rgba(0,0,0,.5)}
.cookie__box p{margin:0;font-size:14px;line-height:1.5}
.cookie__box a{color:#fff}
.cookie__box .btn{flex:none}
.mcta{display:none}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
[data-reveal].in,.no-js [data-reveal]{opacity:1;transform:none}
[data-stagger]{opacity:0;transform:translateY(12px);animation:rise .7s var(--ease) forwards}
[data-stagger]:nth-child(2){animation-delay:.12s}[data-stagger]:nth-child(3){animation-delay:.24s}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){[data-reveal],[data-stagger]{opacity:1;transform:none;animation:none}}

/* ---------------------------------------------------------------- Responsiv */
@media (max-width:1180px){
  .nav__item>a{padding:10px 9px;font-size:14.5px}
  .mega__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .layout{grid-template-columns:minmax(0,1fr) 280px;gap:32px}
}
@media (max-width:1023px){
  :root{--top-h:64px}
  .burger{display:inline-flex}
  .top__cta{display:none}
  .top{position:sticky}
  .nav{position:absolute;top:100%;left:0;right:0;height:calc(100vh - var(--top-h));height:calc(100dvh - var(--top-h));background:#fff;overflow:auto;transform:translateX(100%);visibility:hidden;transition:transform .3s var(--ease),visibility 0s .3s;z-index:45;padding:8px var(--pad) 40px}
  .nav.is-open{transform:none;visibility:visible;transition:transform .3s var(--ease),visibility 0s}
  .no-js .nav{position:static;height:auto;transform:none;visibility:visible;padding:0 0 12px}
  .no-js .burger{display:none}
  .nav__list{flex-direction:column;align-items:stretch;gap:0}
  .nav__item{border-bottom:1px solid var(--line)}
  .nav__item>a{display:flex;justify-content:space-between;padding:16px 4px;font-size:18px;border-radius:0}
  .nav__item.is-active>a,.nav__item>a:hover{background:transparent}
  .mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;display:none;max-height:none;padding:0 0 12px}
  .nav__item.is-open .mega{display:block}
  .mega__grid{grid-template-columns:1fr;gap:16px;padding:0 0 8px}
  .mega__col li a{padding:10px 0;font-size:16px}
  .mega__t{min-height:44px}
  .btn--sm{min-height:44px}
  .nav__foot{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:24px}
  .nav__addr{font-size:13.5px;color:var(--mute);margin:0}
  .phead--img .phead__grid,.split,.prose-aside,.cta__grid,.contact,.layout,.foot__top{grid-template-columns:minmax(0,1fr)}
  .hero__points{grid-template-columns:1fr;gap:0;padding:12px 0 36px}
  .hero__points li{padding:14px 0;border-top:1px solid var(--line)}
  .hero__points li:first-child{border-top:0}
  .hero__pn{font-size:30px}
  .phead__text{padding-bottom:0}
  .phead__media{margin:8px 0 -56px}
  .phead--wide .phead__media{margin-bottom:-72px}
  .phead__frame::before,.phead--wide .phead__frame::before{inset:12px -12px -12px 12px}
  .phead--img+.layout,.phead--wide+.layout,.phead--img+.blk{padding-top:104px}
  .phead--wide+.tlead{padding-top:120px}
  .rows--grid{grid-template-columns:1fr;gap:0}
  .rows--grid li:nth-last-child(-n+2){border-bottom:0}
  .rows--grid li:last-child{border-bottom:1px solid var(--line-2)}
  .timeline--row{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px}
  .side,.contact__side{position:static}
  .cards--4,.cards--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps--4,.steps--5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cols--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .cols--4,.layout__main .cols--4{grid-template-columns:minmax(0,1fr)}
  .people{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr;gap:14px}
  .foot__top{padding:40px 0 28px}
  .mcta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:35;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-top:1px solid var(--line-2);transform:translateY(110%);transition:transform .3s var(--ease)}
  .mcta.in{transform:none}
  .mcta .btn{width:100%}
  .page--kontakt .mcta{display:none}
}
@media (max-width:640px){
  :root{--pad:16px}
  body{font-size:16px}
  h3,.h3{font-size:19px}
  .blk{padding:44px 0}
  .blk__head{gap:2px 14px}
  .blk__head .tab{font-size:28px;padding-right:12px;margin-top:2px}
  .blk--inlay .blk__head .tab{font-size:24px}
  .cards--plain .card{padding:18px 0 20px}
  .cards--plain .card .num{font-size:34px}
  .rows--grid a{padding:18px 0;grid-template-columns:auto minmax(0,1fr) auto}
  .rows--grid a::before{font-size:28px}
  .rows--grid .rows__t{font-size:19px}
  .rows--grid a .i{width:40px;height:40px;padding:9px}
  .timeline--row{grid-template-columns:1fr;gap:18px}
  .timeline--row .timeline__n{font-size:34px}
  .blk--quote:not(.blk--inlay){padding:48px 0}
  .quote{padding-left:0;padding-top:64px}
  .quote__mark{font-size:84px;top:-30px}
  .blk--inlay .quote{padding:62px 18px 20px}
  .blk--inlay .quote__mark{left:14px;top:-24px;font-size:72px}
  .phead{padding-top:22px}
  .phead__media{margin-bottom:-48px}
  .phead--wide .phead__media{margin-bottom:-48px}
  .phead__cap{display:none}
  .phead--img+.layout,.phead--wide+.layout,.phead--img+.blk{padding-top:80px}
  .phead--wide+.tlead{padding-top:90px}
  .cta{padding:56px 0}
  .foot__mail{font-size:22px}
  .cards--2,.cards--3,.cards--4,.layout__main .cards--3,.layout__main .cards--4,.steps--2,.steps--3,.steps--4,.steps--5,.layout__main .steps--3,.cols--2,.cols--3,.cols--4,.layout__main .cols--3,.checks--2,.form__row,.choices{grid-template-columns:1fr}
  .cards:has(.card--img){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .cards:has(.card--img) .card{padding:14px}
  .cards:has(.card--img) .card__img{margin:-18px -14px 4px;aspect-ratio:1/1}
  .cards .card--img h3{font-size:17px}
  .prose--2{columns:1}
  .person{grid-template-columns:1fr;gap:16px;padding:18px}
  .person__img{width:130px}
  .people__row{grid-template-columns:90px 1fr;padding:12px}
  .ledger>div{grid-template-columns:1fr;gap:2px}
  .keyfig{grid-template-columns:1fr;gap:8px}
  .toc__box ol{columns:1}
  .ctaline{grid-template-columns:1fr}
  .side__person{grid-template-columns:80px 1fr}
  .side__person--noimg{grid-template-columns:minmax(0,1fr)}
  .foot__col{border-top:1px solid rgba(255,255,255,.14);padding:8px 0}
  .foot__col summary{pointer-events:auto;cursor:pointer;margin:0;padding:12px 0;min-height:44px}
  .foot__col summary .i{display:block}
  .foot__col[open] summary{margin-bottom:8px}
  .foot__col[open] summary .i{transform:rotate(180deg)}
  .foot__col ul{grid-template-columns:1fr}
  .cookie{left:10px;right:10px;bottom:10px}
  .cookie__box{flex-direction:column;align-items:stretch;gap:12px}
  .brand__w b{font-size:19px}
  .brand__w span{font-size:10px}
  .table th,.table td{padding:10px 10px 10px 0;font-size:14.5px}
  .table thead{position:absolute;left:-9999px}
  .table td[data-label]{display:grid;grid-template-columns:minmax(0,1fr);gap:3px}
  .table td[data-label]::before{content:attr(data-label);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);padding-top:2px;overflow-wrap:normal;hyphens:manual}
  .table tbody th{display:block;width:auto;border-bottom:0;padding-bottom:4px}
  .table tbody tr{display:block;border-bottom:1px solid var(--line-2);padding:4px 0}
  .table tbody td{border-bottom:0}
  .frame--wide{aspect-ratio:4/3}
}
@media (max-width:480px){.cards:has(.card--img){grid-template-columns:1fr}.cards:has(.card--img) .card__img{aspect-ratio:4/3}}
@media (max-width:360px){.btn--lg{font-size:15px;padding:12px 16px}}
@media (max-width:400px){.brand__w b{font-size:18px}.brand__w span{font-size:9.5px}}
@media (min-width:1500px){:root{--shell:1320px}}
@media print{
  .top,.foot,.cookie,.mcta,.veil,.btn,.cta,.crumbs,.toc,.side__cta{display:none!important}
  body{background:#fff;color:#000;font-size:12pt}
  .layout{display:block}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em;color:#555}
  [data-reveal],[data-stagger]{opacity:1!important;transform:none!important;animation:none!important}
}

/* Hero Startseite: Text links, Teambild rechts – kein Text über den Personen */
.hero{background:linear-gradient(180deg,var(--sky-l) 0%,var(--sky-xl) 100%);color:var(--navy);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:var(--ruled);pointer-events:none;opacity:.7}
.hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:36px 56px;align-items:center;padding-top:56px;padding-bottom:56px}
.hero__kicker{display:flex;flex-wrap:wrap;gap:6px 0;margin:0 0 18px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.hero__kicker span{display:inline-flex;align-items:center}
.hero__kicker span+span::before{content:"";display:inline-block;width:1px;height:12px;background:var(--line-2);margin:0 14px}
.hero__h1{font-size:clamp(34px,3.9vw,52px);line-height:1.06;letter-spacing:-.025em;color:var(--navy);margin:0 0 18px;max-width:none}
.hero__lead{font-size:clamp(16px,1.25vw,18.5px);line-height:1.55;color:var(--ink-2);max-width:56ch;margin:0 0 26px}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero__media{margin:0;position:relative;border-radius:var(--r-l);overflow:hidden;box-shadow:0 30px 60px -30px rgba(18,48,74,.45),0 0 0 1px rgba(18,48,74,.06);background:var(--sky-l)}
.hero__media::after{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--navy),#2E8FD0 55%,#8CC8EE);z-index:1}
.hero__media picture,.hero__media img{display:block;width:100%;height:auto}
.hero__cap{display:flex;align-items:center;gap:8px;background:#fff;color:var(--mute);font-size:12.5px;padding:10px 14px 12px;border-top:1px solid var(--line)}
.hero__cap .i{color:#2E8FD0}
.btn--outline{background:transparent;color:var(--blue);border-color:var(--line-2)}
.btn--outline:hover{background:#fff;border-color:var(--blue);color:var(--blue);text-decoration:none}
.hero__points{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin:0;padding:34px 0 48px}
.hero__points li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:18px 0 0;border-top:3px solid var(--sky-l);font-weight:700;color:var(--navy);font-size:16px;line-height:1.4}
.hero__pn{font-size:40px;line-height:.9;color:var(--sky-d);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:-2px}
@media (max-width:1023px){
  .hero__grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:36px;padding-bottom:40px}
  .hero__h1{font-size:clamp(32px,5.6vw,46px)}
  .hero__points{grid-template-columns:1fr;gap:0;padding:12px 0 36px}.hero__points li{padding:14px 0;border-top:1px solid var(--line)}.hero__points li:first-child{border-top:0}.hero__pn{font-size:30px}
}
@media (max-width:640px){
  .hero__grid{padding-top:28px;padding-bottom:28px;gap:22px}
  .hero__kicker{font-size:11px;letter-spacing:.1em}
  .hero__kicker span:nth-child(3){display:none}
  .hero__h1{font-size:clamp(30px,8.6vw,38px)}
  .hero__actions .btn{width:100%}
}
@media (max-width:640px){.phead__frame::before,.phead--wide .phead__frame::before{inset:12px 0 -12px 12px}}

/* Impressum klassisch: schlichte Textseite ohne Zierelemente */
.legal--classic{font-size:16px;padding-top:28px}
.legal--classic h2{font-size:21px;margin:30px 0 10px;padding:0;border:0;color:var(--navy)}
.legal--classic h3{font-size:16.5px;margin:18px 0 4px;color:var(--navy)}
.legal--classic p{margin:0 0 .9em;color:var(--ink)}
.legal--classic .legal__addr{font-weight:400;margin-bottom:.9em}
.legal--classic .ledger--legal{display:block;margin:0 0 .9em;padding:0;background:none;border:0}
.legal--classic .ledger--legal>div{display:block;padding:0;border:0;background:none}
.legal--classic .ledger--legal dt{font-weight:400;color:var(--ink);text-transform:none;letter-spacing:0;font-size:16px}
.legal--classic .ledger--legal dd{margin:0;font-weight:400;color:var(--ink)}

/* Teamseite – eigener Aufbau */
.tsec__head{max-width:760px;margin:0 0 28px}
.tsec__head h2{font-size:clamp(26px,2.6vw,34px);line-height:1.12;letter-spacing:-.02em;margin:6px 0 10px}
.tsec__head .lead{margin:0;color:var(--ink-2)}
.tlead{padding:56px 0 48px;background:#fff}
.tlead__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.tlead__card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding:24px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--sky-xl)}
.tlead__img picture{display:block;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--sky-l)}
.tlead__img img{width:100%;height:100%;object-fit:cover;display:block}
.tlead__body h3{font-size:24px;margin:4px 0 10px;letter-spacing:-.015em}
.tlead__body p{color:var(--ink-2);margin:0 0 .8em;font-size:15.5px}
.tmail{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--blue);font-weight:700;text-decoration:none;font-size:15px}
.tmail:hover{text-decoration:underline}
.tmail .i{color:var(--sky-d)}
.tband{background:var(--navy);color:#fff}
.tband__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 32px;padding-top:26px;padding-bottom:26px}
.tband__grid div{display:flex;flex-direction:column;gap:4px;padding-left:16px;border-left:3px solid var(--sky-d)}
.tband__grid strong{font-size:34px;line-height:1;letter-spacing:-.03em}
.tband__grid span{font-size:13.5px;color:var(--sky);line-height:1.35}
.tteam{padding:60px 0 24px;background:linear-gradient(180deg,var(--sky-xl),#fff 320px)}
.tgroup{margin:0 0 44px}
.tgroup__head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:0 0 16px;margin:0 0 18px;border-bottom:3px solid var(--sky-l)}
.tgroup__n{font-size:40px;line-height:.9;color:var(--sky-d);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.tgroup__head h3{font-size:22px;margin:0 0 4px}
.tgroup__head p{margin:0;color:var(--mute);font-size:15px;max-width:70ch}
.tgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tcard{display:grid;grid-template-columns:132px minmax(0,1fr);gap:4px 18px;padding:16px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);transition:border-color .2s,box-shadow .2s}
.tcard:hover{border-color:var(--line-2);box-shadow:0 20px 40px -30px rgba(18,48,74,.4)}
.tcard__img picture{display:block;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--sky-l)}
.tcard__img img{width:100%;height:100%;object-fit:cover;display:block}
.tcard__body h4{font-size:18px;margin:2px 0 2px}
.tcard__role{display:block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin:0 0 8px}
.tcard__body p{font-size:14.5px;color:var(--ink-2);margin:0 0 2px;line-height:1.5}
.tcard__img{grid-row:1 / span 2}
.tcard__mail{grid-column:2}
.twork{padding:48px 0 24px}
.tcols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 56px}
.tcol h3{font-size:20px;margin:0 0 10px;padding-left:14px;border-left:4px solid var(--sky-d)}
.tcol p{color:var(--ink-2);font-size:15.5px}
.tquote{padding:40px 0}
.tquote blockquote{margin:0;padding:34px 36px 34px 84px;background:var(--sky-l);border-radius:var(--r-l);position:relative}
.tquote blockquote::before{content:"\201C";position:absolute;left:24px;top:18px;font-size:92px;line-height:1;color:var(--sky-d);font-family:Georgia,serif}
.tquote p{font-size:clamp(19px,2vw,24px);line-height:1.4;color:var(--navy);margin:0 0 12px;font-weight:700;letter-spacing:-.01em}
.tquote cite{font-style:normal;font-size:14px;color:var(--mute)}
.tfacts{padding:24px 0 40px}
.tfacts__list{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.tfacts__list div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.tfacts__list dt{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);padding-top:3px}
.tfacts__list dd{margin:0;color:var(--ink);font-size:15.5px}
@media (max-width:1023px){
  .tlead__grid{grid-template-columns:minmax(0,1fr)}
  .tband__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tcols{grid-template-columns:minmax(0,1fr)}
  .tfacts__list{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .tlead{padding:36px 0 28px}
  .tlead__card{grid-template-columns:minmax(0,1fr);padding:18px}
  .tlead__img{max-width:220px}
  .tband__grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .tband__grid strong{font-size:28px}
  .tgrid{grid-template-columns:minmax(0,1fr)}
  .tcard{grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px}
  .tcard__role{font-size:11px;letter-spacing:.03em;hyphens:auto;-webkit-hyphens:auto}
  .tcard .tmail{font-size:13.5px;min-height:40px}
  .tcard .tmail span{overflow-wrap:normal;word-break:keep-all}
  .tcard__img{grid-row:1}
  .tcard__mail{grid-column:1 / -1;padding-top:4px;border-top:1px solid var(--line);margin-top:6px}
  .tcard__body p{font-size:14px}
  .tgroup__n{font-size:30px}
  .tquote blockquote{padding:48px 20px 24px}
  .tquote blockquote::before{left:16px;top:6px;font-size:64px}
  .tfacts__list div{grid-template-columns:minmax(0,1fr);gap:4px}
}

/* Tap-Ziele Fußzeile */
@media (max-width:640px){.foot__grid li a,.foot__legal a{display:inline-block;padding:11px 0}.foot__grid li{margin:0}.foot__legal{gap:0 18px}}
