/* Schriften lokal eingebettet: keine Verbindung zu Google (DSGVO) */
@font-face{ font-family:'Montserrat'; font-style:normal; font-weight:600 700; font-display:swap; src:url(../fonts/mont.woff2) format('woff2'); }
@font-face{ font-family:'Source Sans 3'; font-style:normal; font-weight:400 700; font-display:swap; src:url(../fonts/ss3.woff2) format('woff2'); }


/* =====================================================================
   FARBEN UND SCHRIFTEN
   Markenfarben aus dem Logo der DG AirCapital GmbH:
   Blau #0771B8, Grün #3BAA36, Grau #616160
   ===================================================================== */
:root{
  --white:#FFFFFF; --bg:#EFF3F6; --tint:#DCEBF7; --ink:#1D2A33; --ink-soft:#55626B; --line:#B9C7D1;
  --blue:#0771B8; --blue-ink:#055A93; --blue-tint:#DCEBF7;
  --green:#3BAA36; --green-ink:#2A7D26; --green-tint:#DDF0DB;
  --grey:#616160;
  --action:#0771B8; --action-hover:#055A93; --on-action:#FFFFFF;
  --error:#B42318; --error-tint:#FDECEA; --ph-line:#8A9DAA; --ph-bg:#EEF3F6; --mark:#FFF1BF; --shadow:16,42,62;
  --f-display:"Montserrat","Segoe UI",Arial,sans-serif;
  --f-body:"Source Sans 3","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --r:14px; --ease:cubic-bezier(.2,.7,.2,1);
  --head-h:136px;
  --slash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 12'%3E%3Cpath d='M5 0h3.4L3.4 12H0zM12.5 0h3.4l-5 12H7.5zM20 0h3.4l-5 12H15zM27.6 0H31l-5 12h-3.4z'/%3E%3C/svg%3E");
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
html{ scroll-padding-top:calc(env(safe-area-inset-top,0px) + 96px); scroll-behavior:smooth; overflow-anchor:none; }
html.lock{ overflow:hidden; }
*,*::before,*::after{ box-sizing:border-box; }
body{ margin:0; background:var(--white); color:var(--ink); font-family:var(--f-body); font-size:18px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
body::before{ content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:40; background:var(--white); }
a{ color:var(--blue); }
h1,h2,h3{ margin:0; font-family:var(--f-display); line-height:1.15; font-weight:700; text-wrap:balance; letter-spacing:-.01em; color:var(--ink); }
h1{ font-size:clamp(2.1rem,4.4vw,3.3rem); font-weight:700; letter-spacing:-.02em; }
h2{ font-size:clamp(1.65rem,3vw,2.35rem); }
h3{ font-size:1.18rem; font-weight:700; }
p{ margin:0; }
img{ max-width:100%; display:block; }
main{ overflow-x:clip; }
.chip-norm, .mega-head small, .acc-b small, .other small{ white-space:nowrap; }
:focus-visible{ outline:3px solid var(--blue); outline-offset:3px; border-radius:6px; }
.sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip{ position:absolute; left:12px; top:-60px; z-index:60; background:var(--ink); color:#fff; padding:10px 14px; border-radius:8px; text-decoration:none; font-weight:600; }
.skip:focus{ top:calc(env(safe-area-inset-top,0px) + 10px); }

.wrap{ width:100%; max-width:1200px; margin:0 auto; padding-left:max(20px,env(safe-area-inset-left,0px)); padding-right:max(20px,env(safe-area-inset-right,0px)); }
.lead{ font-size:1.12rem; color:var(--ink-soft); max-width:58ch; }
.muted{ color:var(--ink-soft); }
.hl-b{ color:var(--blue); } .hl-g{ color:var(--green-ink); }
section.block{ padding-block:88px; }
.sec-head{ display:grid; gap:12px; margin-bottom:40px; max-width:720px; }
.phl{ border-radius:3px; }
.entwurf .phl{ background:var(--mark); padding:0 4px; }
@media (max-width:620px){ section.block{ padding-block:60px; } body{ font-size:17px; } .sec-head{ margin-bottom:26px; } }

/* Markenmotive: Schrägstriche und Doppellinie aus dem Logo */
.kicker{ display:inline-flex; align-items:center; gap:10px; font-family:var(--f-display); font-weight:700; font-size:.8rem; line-height:1; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); }
.kicker::before{ content:""; flex:none; width:26px; height:10px; background:currentColor; -webkit-mask:var(--slash) no-repeat center/contain; mask:var(--slash) no-repeat center/contain; }
.kicker.g{ color:var(--green-ink); }
.dline{ display:block; height:7px; width:72px; border-radius:4px; background:linear-gradient(var(--green) 0 3px,transparent 3px 4px,var(--blue) 4px 7px); }

/* Bewegung */
@keyframes rise{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
@keyframes fadein{ from{ opacity:0; } to{ opacity:1; } }
@keyframes settle{ from{ transform:scale(1.1); } to{ transform:none; } }
@keyframes wipe{ from{ clip-path:inset(0 0 100% 0 round var(--r)); } to{ clip-path:inset(0 0 0 0 round var(--r)); } }
@keyframes sealIn{ 0%{ opacity:0; transform:translateY(-18px) scale(.7); } 70%{ opacity:1; transform:translateY(2px) scale(1.03); } 100%{ opacity:1; transform:none; } }
@keyframes slideFwd{ from{ opacity:0; transform:translateX(28px); } to{ opacity:1; transform:none; } }
@keyframes slideBack{ from{ opacity:0; transform:translateX(-28px); } to{ opacity:1; transform:none; } }
@keyframes spin{ to{ transform:rotate(360deg); } }
@keyframes pop{ from{ transform:scale(.6); opacity:0; } to{ transform:none; opacity:1; } }
@keyframes draw{ to{ stroke-dashoffset:0; } }
@keyframes bump{ 40%{ transform:scale(1.3); } }
@keyframes pulseRing{ from{ box-shadow:0 0 0 0 rgba(59,170,54,.45); } to{ box-shadow:0 0 0 14px rgba(59,170,54,0); } }
@keyframes flash{ 0%,100%{ background:var(--white); } 25%{ background:var(--green-tint); } }

.js .rv{ opacity:0; transform:translateY(18px); transition:opacity .45s var(--ease), transform .45s var(--ease); transition-delay:calc(var(--i,0) * 50ms); }
.js .rv-l{ transform:translateX(-32px); }
.js .rv-r{ transform:translateX(32px); }
.js .rv-s{ transform:scale(.92); }
.js .rv.in{ opacity:1; transform:none; }
.js .rv-wipe > img{ clip-path:inset(0 100% 0 0); transform:scale(1.08); transition:clip-path 1.1s cubic-bezier(.65,0,.35,1), transform 1.6s var(--ease); }
.js .rv-wipe.in > img{ clip-path:inset(0 0 0 0); transform:none; }

::view-transition-old(root){ animation:.2s ease both vtOut; }
::view-transition-new(root){ animation:.38s var(--ease) both vtIn; }
@keyframes vtOut{ to{ opacity:0; transform:translateY(-6px); } }
@keyframes vtIn{ from{ opacity:0; transform:translateY(14px); } }
.view.enter{ animation:vtIn .4s var(--ease) both; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ transition:none !important; animation:none !important; }
  .js .rv{ opacity:1 !important; transform:none !important; }
  .js .rv-wipe > img{ clip-path:none !important; transform:none !important; }
  ::view-transition-old(root), ::view-transition-new(root){ animation:none !important; }
}

/* Hinweisleiste */
.proto{ display:none; background:#FFF8E1; color:#5A4500; font-size:.88rem; border-bottom:1px solid #F0E2B0; }
.entwurf .proto{ display:block; }
.proto .wrap{ padding-block:7px; }

/* =====================================================================
   KOPFZEILE mit großem Logo, Hover-Menüs und Menü-Button
   ===================================================================== */
.head{ position:fixed; left:0; right:0; top:env(safe-area-inset-top,0px); z-index:30; background:#fff; border-bottom:1px solid var(--line); transition:box-shadow .25s; view-transition-name:head; animation:fadein .5s both; }
.head::before{ content:""; display:block; height:7px; background:linear-gradient(var(--green) 0 3px,var(--white) 3px 4px,var(--blue) 4px 7px); }
.head.scrolled{ box-shadow:0 10px 28px -16px rgba(var(--shadow),.35); }
.head > .wrap{ display:flex; align-items:stretch; gap:18px; min-height:var(--head-h); transition:min-height .3s var(--ease); }
.head.scrolled{ --head-h:74px; }
.brand{ display:flex; align-items:center; text-decoration:none; flex:none; padding-block:8px; }
.brand img{ height:calc(var(--head-h) - 20px); width:auto; transition:height .3s var(--ease); }
.nav{ display:flex; align-items:stretch; gap:2px; margin-left:auto; }
.nav-item{ display:flex; align-items:center; }
.nav-item.small{ position:relative; }
.nav-t{ position:relative; display:flex; align-items:center; gap:7px; height:44px; padding:0 14px; border:0; border-radius:8px; background:none; color:var(--ink); font-family:var(--f-display); font-weight:600; font-size:.98rem; cursor:pointer; text-decoration:none; white-space:nowrap; }
.nav-t .chev-s{ width:14px; height:14px; transition:transform .25s var(--ease); color:var(--blue); }
.nav-t::after{ content:""; position:absolute; left:14px; right:14px; bottom:3px; height:5px; border-radius:3px; background:linear-gradient(var(--green) 0 2px,transparent 2px 3px,var(--blue) 3px 5px); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease); }
.nav-item:hover .nav-t::after, .nav-item.open .nav-t::after, .nav-t.on::after{ transform:scaleX(1); }
.nav-item.open .chev-s{ transform:rotate(180deg); }
.head-actions{ display:flex; align-items:center; gap:12px; margin-left:8px; }
.tel{ color:var(--ink); text-decoration:none; font-weight:700; white-space:nowrap; display:flex; align-items:center; gap:8px; font-family:var(--f-display); font-size:.95rem; }
.tel svg{ width:21px; height:21px; color:var(--green-ink); }
.tel-m{ display:none; width:44px; height:44px; border-radius:10px; border:1.5px solid var(--line); background:var(--white); color:var(--green-ink); place-items:center; }
.tel-m svg{ width:24px; height:24px; }
.burger{ display:inline-flex; align-items:center; gap:10px; height:44px; padding:0 14px 0 12px; border-radius:10px; border:1.5px solid var(--line); background:var(--white); color:var(--ink); font-family:var(--f-display); font-weight:700; font-size:.92rem; cursor:pointer; transition:border-color .15s, background .15s; }
.burger:hover{ border-color:var(--blue); }
.burger .bars{ position:relative; width:20px; height:14px; }
.burger .bars i{ position:absolute; left:0; right:0; height:2.5px; border-radius:2px; background:var(--ink); transition:transform .25s var(--ease), opacity .2s, top .25s var(--ease); }
.burger .bars i:nth-child(1){ top:0; background:var(--green); } .burger .bars i:nth-child(2){ top:5.75px; } .burger .bars i:nth-child(3){ top:11.5px; background:var(--blue); }
@media (max-width:1160px){ .tel{ display:none; } .tel-m{ display:grid; } }
@media (max-width:980px){ .nav{ display:none; } .head-actions{ margin-left:auto; gap:8px; } :root{ --head-h:100px; } .head.scrolled{ --head-h:64px; } }
@media (max-width:520px){ :root{ --head-h:88px; } .burger .lbl{ display:none; } .burger{ padding:0 11px; } .head-actions .btn-small{ padding:0 12px; } }
@media (max-width:360px){ .tel-m{ display:none; } }

/* Dropdowns */
.drop{ position:absolute; top:100%; z-index:2; opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .18s, transform .2s var(--ease), visibility 0s .2s; }
.nav-item.open > .drop{ opacity:1; visibility:visible; transform:none; transition:opacity .18s, transform .25s var(--ease), visibility 0s; }
.mega{ left:0; right:0; background:var(--white); border-top:1px solid var(--line); box-shadow:0 36px 60px -34px rgba(var(--shadow),.45); }
.mega-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; padding-block:22px 20px !important; }
.mega-col{ display:flex; flex-direction:column; gap:8px; padding:14px; border-radius:14px; transition:background .2s; }
.mega-col:hover{ background:var(--bg); }
.mega-head{ display:grid; grid-template-columns:46px 1fr; gap:10px; align-items:center; text-decoration:none; color:var(--ink); }
.mi{ width:46px; height:46px; border-radius:10px; background:var(--blue-tint); color:var(--blue); display:grid; place-items:center; transition:background .2s, color .2s; }
.mi svg{ width:26px; height:26px; }
.mega-col:hover .mi{ background:var(--blue); color:#fff; }
.mega-head strong{ display:block; font-family:var(--f-display); font-size:.95rem; line-height:1.25; }
.mega-head small{ display:block; font-size:.78rem; font-weight:700; color:var(--blue); letter-spacing:.02em; }
.mega-col ul{ list-style:none; margin:4px 0 0; padding:0; display:grid; gap:2px; }
.mega-col li a{ display:flex; gap:8px; align-items:baseline; padding:5px 6px; border-radius:6px; color:var(--ink-soft); text-decoration:none; font-size:.94rem; line-height:1.3; }
.mega-col li a::before{ content:""; flex:none; width:7px; height:7px; border-radius:2px; background:var(--green); transform:translateY(-1px) rotate(45deg) scale(.7); transition:transform .2s; }
.mega-col li a:hover{ color:var(--blue); background:var(--white); }
.mega-col li a:hover::before{ transform:translateY(-1px) rotate(45deg) scale(1); }
.mega-more{ margin-top:auto; padding:6px 6px 0; display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:.92rem; color:var(--blue); text-decoration:none; }
.mega-more svg{ width:15px; height:15px; transition:transform .2s var(--ease); }
.mega-more:hover svg{ transform:translateX(4px); }
.mega-foot{ background:var(--bg); border-top:1px solid var(--line); }
.mega-foot .wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:56px; font-size:.95rem; }
.mega-foot a{ font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
.mega-foot svg{ width:16px; height:16px; }
.small-drop{ left:50%; min-width:270px; margin-left:-135px; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:0 24px 44px -20px rgba(var(--shadow),.35); padding:8px; }
.small-drop::before{ content:""; position:absolute; left:50%; top:-7px; width:12px; height:12px; margin-left:-6px; background:var(--white); border-left:1px solid var(--line); border-top:1px solid var(--line); transform:rotate(45deg); }
.small-drop a.row{ display:grid; grid-template-columns:40px 1fr; gap:12px; align-items:center; padding:10px; border-radius:10px; text-decoration:none; color:var(--ink); line-height:1.3; }
.small-drop a.row:hover{ background:var(--bg); }
.small-drop .ri{ width:40px; height:40px; border-radius:9px; background:var(--blue-tint); color:var(--blue); display:grid; place-items:center; }
.small-drop .ri svg{ width:23px; height:23px; }
.small-drop strong{ display:block; font-family:var(--f-display); font-size:.92rem; }
.small-drop small{ display:block; color:var(--ink-soft); font-size:.85rem; }
.small-drop .btn{ width:100%; margin-top:6px; }

/* Ausklappmenü (Menü-Button) */
.menu{ position:fixed; inset:0; z-index:50; visibility:hidden; overflow:hidden; transition:visibility 0s .4s; }
.menu.open{ visibility:visible; transition:visibility 0s; }
.menu-bg{ position:absolute; inset:0; background:rgba(16,32,44,.42); opacity:0; transition:opacity .3s; backdrop-filter:blur(2px); }
.menu.open .menu-bg{ opacity:1; }
.menu-panel{ position:absolute; top:0; right:0; bottom:0; width:min(480px,100%); background:var(--white); display:flex; flex-direction:column; transform:translateX(102%); transition:transform .38s var(--ease); box-shadow:-30px 0 60px -30px rgba(var(--shadow),.45); padding-top:env(safe-area-inset-top,0px); }
.menu.open .menu-panel{ transform:none; }
.menu-panel::before{ content:""; display:block; height:7px; flex:none; background:linear-gradient(var(--green) 0 3px,var(--white) 3px 4px,var(--blue) 4px 7px); }
.menu-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px; border-bottom:1px solid var(--line); }
.menu-top img{ height:60px; width:auto; }
.x{ width:44px; height:44px; border-radius:22px; border:1.5px solid var(--line); background:var(--white); color:var(--ink); cursor:pointer; display:grid; place-items:center; flex:none; }
.x:hover{ border-color:var(--blue); }
.x svg{ width:21px; height:21px; }
.menu-body{ flex:1; overflow-y:auto; padding:18px 20px 28px; display:grid; gap:24px; align-content:start; overscroll-behavior:contain; }
.menu-sec h2{ font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:8px; }
.acc{ border:1px solid var(--line); border-radius:12px; margin-bottom:8px; overflow:hidden; transition:border-color .2s; }
.acc.open{ border-color:var(--blue); }
.acc-b{ width:100%; display:grid; grid-template-columns:46px 1fr 24px; gap:12px; align-items:center; padding:10px 12px; border:0; background:var(--white); color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.acc-b strong{ display:block; font-family:var(--f-display); font-size:.98rem; line-height:1.25; }
.acc-b small{ display:block; font-size:.8rem; font-weight:700; color:var(--blue); }
.acc-b .pm{ width:24px; height:24px; border-radius:50%; background:var(--blue-tint); position:relative; transition:transform .3s var(--ease), background .2s; }
.acc-b .pm::before, .acc-b .pm::after{ content:""; position:absolute; left:50%; top:50%; width:10px; height:2px; margin:-1px 0 0 -5px; background:var(--blue); border-radius:2px; transition:transform .3s var(--ease); }
.acc-b .pm::after{ transform:rotate(90deg); }
.acc.open .pm{ background:var(--blue); transform:rotate(180deg); }
.acc.open .pm::before, .acc.open .pm::after{ background:#fff; }
.acc.open .pm::after{ transform:rotate(0); }
.acc-p{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s var(--ease); }
.acc.open .acc-p{ grid-template-rows:1fr; }
.acc-p > div{ overflow:hidden; }
.acc-p ul{ list-style:none; margin:0; padding:0 12px 6px 64px; display:grid; gap:0; }
.acc-p li a{ display:block; padding:7px 0; color:var(--ink-soft); text-decoration:none; border-bottom:1px solid var(--line); font-size:.98rem; }
.acc-p li:last-child a{ border-bottom:0; }
.acc-p li a:hover{ color:var(--blue); }
.acc-p .mega-more{ padding:4px 12px 14px 64px; }
.menu-links{ list-style:none; margin:0; padding:0; display:grid; }
.menu-links a{ display:flex; justify-content:space-between; align-items:center; padding:13px 2px; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; font-family:var(--f-display); font-weight:600; }
.menu-links a svg{ width:16px; height:16px; color:var(--blue); }
.menu-links a:hover{ color:var(--blue); }
.menu-contact{ background:var(--bg); border-radius:14px; padding:16px; display:grid; gap:10px; }
.menu-contact a{ display:flex; gap:10px; align-items:center; color:var(--ink); text-decoration:none; font-weight:600; }
.menu-contact svg{ width:21px; height:21px; color:var(--green-ink); flex:none; }
.menu-contact .btn{ justify-content:center; color:#fff; }

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 24px; border-radius:10px; border:1.5px solid transparent; font-family:var(--f-display); font-size:.98rem; font-weight:700; text-decoration:none; cursor:pointer; transition:background .15s, border-color .15s, transform .15s, box-shadow .15s; }
.btn svg{ width:21px; height:21px; transition:transform .2s var(--ease); }
.btn:hover svg.arr{ transform:translateX(3px); }
.btn-action{ background:var(--action); color:var(--on-action); box-shadow:0 8px 18px -6px rgba(7,113,184,.45); }
.btn-action:hover{ background:var(--action-hover); transform:translateY(-1px); box-shadow:0 12px 24px -8px rgba(7,113,184,.5); }
.btn-action:active{ transform:none; }
.btn-ghost{ background:var(--white); color:var(--ink); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--blue); color:var(--blue); }
.btn-ghost svg{ color:var(--green-ink); }
.btn-small{ min-height:44px; padding:0 16px; font-size:.9rem; box-shadow:none; }
.btn[disabled]{ opacity:.75; cursor:progress; transform:none; }
.btn .spin{ width:21px; height:21px; border-radius:50%; border:2.5px solid rgba(255,255,255,.4); border-top-color:#fff; animation:spin .8s linear infinite; }
.count{ display:inline-grid; place-items:center; min-width:26px; height:26px; padding:0 6px; border-radius:11px; background:var(--green); color:#fff; font-size:.78rem; font-weight:700; }
.count[hidden]{ display:none; }
.count.bump{ animation:bump .35s ease; }
.link-more{ display:inline-flex; align-items:center; gap:6px; font-family:var(--f-display); font-weight:700; font-size:.95rem; color:var(--blue); text-decoration:none; }
.link-more svg{ width:16px; height:16px; transition:transform .2s var(--ease); }
.link-more:hover svg{ transform:translateX(4px); }
.link-more:hover span{ text-decoration:underline; text-underline-offset:3px; }

/* Fotos */
.photo{ position:relative; overflow:hidden; border-radius:var(--r); background:var(--ph-bg); }
.photo img{ width:100%; height:100%; object-fit:cover; }
.tag-demo{ display:none; position:absolute; right:10px; bottom:10px; background:rgba(16,32,44,.72); color:#fff; font-size:.72rem; font-weight:600; padding:3px 8px; border-radius:20px; letter-spacing:.02em; z-index:2; }
.entwurf .tag-demo{ display:block; }
.chip-norm{ display:inline-block; font-family:var(--f-display); font-weight:700; font-size:.74rem; letter-spacing:.03em; background:rgba(255,255,255,.95); color:var(--blue); padding:4px 10px; border-radius:20px; border:1px solid #8DB8DA; }

/* =====================================================================
   STARTSEITE
   ===================================================================== */
.hero{ position:relative; background:linear-gradient(180deg,var(--white) 0%,var(--white) 60%,var(--tint) 100%); padding-block:56px 72px; overflow:hidden; }
.hero-arc{ position:absolute; right:-8%; top:-28%; width:min(780px,70vw); height:auto; color:var(--blue-tint); pointer-events:none; }
.hero > .wrap{ position:relative; display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; }
.hero-copy{ display:grid; gap:20px; min-width:0; justify-items:start; }
.hero-copy > *{ animation:rise .7s var(--ease) both; }
.hero-copy > *:nth-child(2){ animation-delay:.08s; } .hero-copy > *:nth-child(3){ animation-delay:.16s; } .hero-copy > *:nth-child(4){ animation-delay:.24s; } .hero-copy > *:nth-child(5){ animation-delay:.32s; }
.norms{ display:flex; flex-wrap:wrap; gap:8px; }
.cta{ display:flex; gap:12px; flex-wrap:wrap; }
.hero-visual{ position:relative; }
.hero-visual .photo{ aspect-ratio:5/4; box-shadow:0 30px 60px -22px rgba(var(--shadow),.4); animation:wipe 1.1s .1s cubic-bezier(.65,0,.35,1) both; }
.hero-visual .photo img{ animation:settle 1.8s .1s var(--ease) both; }
.float{ position:absolute; background:var(--white); border-radius:12px; box-shadow:0 14px 34px rgba(var(--shadow),.18); padding:14px 16px; display:flex; gap:12px; align-items:center; font-size:.95rem; line-height:1.3; }
.float strong{ display:block; font-family:var(--f-display); font-size:1rem; }
.float .ico{ width:46px; height:46px; border-radius:10px; background:var(--green-tint); color:var(--green-ink); display:grid; place-items:center; flex:none; }
.float .ico svg{ width:26px; height:26px; }
.float-a{ left:-28px; bottom:34px; animation:rise .7s .7s both var(--ease); }
.float-b{ position:absolute; right:-14px; top:-30px; width:104px; filter:drop-shadow(0 14px 22px rgba(140,100,20,.35)); animation:sealIn .9s .55s both cubic-bezier(.3,1.2,.5,1); }
.float-b img{ width:100%; height:auto; }
@media (max-width:880px){
  .hero > .wrap{ grid-template-columns:1fr; gap:40px; }
  .hero{ padding-block:36px 52px; }
  .float-a{ left:12px; bottom:12px; }
  .float-b{ right:8px; top:-22px; width:80px; }
}

/* Kennzahlen */
.stats{ background:var(--tint); padding-block:0 44px; border-bottom:3px solid var(--blue); }
#leistungen{ padding-top:56px; }
#leistungen .sec-head{ max-width:none; }
#leistungen .lead{ max-width:none; }
@media (min-width:900px){ #leistungen .lead{ white-space:nowrap; } }
.stats dl{ margin:0; display:grid; grid-template-columns:repeat(4,1fr); background:var(--white); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 20px 40px -30px rgba(var(--shadow),.35); }
.stats .s{ padding:26px 26px; display:grid; gap:6px; border-left:1px solid var(--line); }
.stats .s:first-child{ border-left:0; }
.stats dt{ order:2; color:var(--ink-soft); font-size:.98rem; line-height:1.35; }
.stats dd{ order:1; margin:0; font-family:var(--f-display); font-weight:700; font-size:clamp(2rem,3.4vw,2.7rem); line-height:1; color:var(--blue); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.stats dd .u{ color:var(--green); }
.entwurf .stats .phn{ background:var(--mark); border-radius:4px; padding:0 4px; }
.stats .note{ display:none; margin-top:10px; font-size:.85rem; color:var(--ink-soft); }
.entwurf .stats .note{ display:block; }
@media (max-width:860px){ .stats dl{ grid-template-columns:1fr 1fr; } .stats .s:nth-child(3){ border-left:0; } .stats .s:nth-child(n+3){ border-top:1px solid var(--line); } }
@media (max-width:420px){ .stats .s{ padding:20px 16px; } }

/* Leistungen */
.cards{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.cards > .rv{ display:flex; min-width:0; }
.card{ position:relative; flex:1; min-width:0; background:var(--white); border:1px solid var(--line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .2s; }
.card:hover{ transform:translateY(-5px); box-shadow:0 26px 46px -22px rgba(var(--shadow),.35); }
.card.has-sel{ border-color:var(--green); box-shadow:0 0 0 2px var(--green) inset, 0 18px 36px -20px rgba(42,125,38,.35); }
.card .photo{ border-radius:0; aspect-ratio:4/3; }
.card .photo img{ transition:transform .6s var(--ease); }
.card:hover .photo img{ transform:scale(1.05); }
.card .chip-norm{ position:absolute; left:12px; top:12px; z-index:2; }
.sel-badge{ position:absolute; right:12px; top:12px; z-index:2; display:flex; align-items:center; gap:6px; background:var(--green-ink); color:#fff; font-size:.8rem; font-weight:700; padding:4px 10px 4px 6px; border-radius:20px; transform:scale(.6); opacity:0; transition:transform .25s cubic-bezier(.3,1.5,.5,1), opacity .2s; }
.sel-badge svg{ width:16px; height:16px; }
.card.has-sel .sel-badge{ transform:none; opacity:1; }
.card-body{ padding:18px 20px 20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.card-body h3 a{ color:inherit; text-decoration:none; }
.card-body h3 a:hover{ color:var(--blue); }
.card p.short{ color:var(--ink-soft); font-size:.98rem; line-height:1.45; }
.opts{ display:grid; gap:8px; margin-top:auto; padding-top:10px; }
.opt{ display:flex; align-items:center; gap:10px; min-height:46px; padding:0 14px; border:1.5px solid var(--line); border-radius:10px; background:var(--white); color:var(--ink); font:inherit; font-weight:600; font-size:1rem; cursor:pointer; text-align:left; transition:border-color .15s, background .15s, transform .12s; }
.opt:hover{ border-color:var(--green); }
.opt:active{ transform:scale(.98); }
.opt .box{ width:26px; height:26px; border:2px solid var(--ph-line); border-radius:6px; display:grid; place-items:center; flex:none; transition:background .15s, border-color .15s; }
.opt .box svg{ width:14px; height:14px; color:#fff; opacity:0; transform:scale(.4); transition:opacity .15s, transform .25s cubic-bezier(.3,1.6,.5,1); }
.opt[aria-pressed="true"]{ border-color:var(--green); background:var(--green-tint); }
.opt[aria-pressed="true"] .box{ background:var(--green-ink); border-color:var(--green-ink); animation:pulseRing .5s ease-out; }
.opt[aria-pressed="true"] .box svg{ opacity:1; transform:none; }
.card .link-more{ margin-top:2px; }
.extra{ margin-top:20px; display:grid; grid-template-columns:56px 1fr auto; gap:18px; align-items:center; padding:20px 22px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(90deg,var(--blue-tint),var(--white) 70%); text-decoration:none; color:var(--ink); transition:border-color .2s, box-shadow .25s; }
.extra:hover{ border-color:var(--blue); box-shadow:0 20px 40px -26px rgba(var(--shadow),.4); }
.extra .mi{ width:56px; height:56px; border-radius:14px; background:var(--blue); color:#fff; }
.extra .mi svg{ width:32px; height:32px; }
.extra h3{ margin-bottom:2px; }
.extra p{ color:var(--ink-soft); font-size:.98rem; }
.cards-note{ margin-top:18px; color:var(--ink-soft); font-size:.96rem; display:flex; gap:10px; align-items:center; }
.cards-note svg{ width:21px; height:21px; color:var(--green-ink); flex:none; }
@media (max-width:1060px){ .cards{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px){
  .cards{ grid-template-columns:1fr; gap:16px; }
  .card .photo{ aspect-ratio:16/8; }
  .card-body{ padding:16px; gap:6px; }
  .opts{ grid-template-columns:repeat(3,1fr); gap:6px; }
  .opt{ justify-content:center; padding:0 6px; font-size:.92rem; gap:6px; }
  .opt .box{ width:21px; height:21px; }
  .extra{ grid-template-columns:48px 1fr; padding:16px; }
  .extra .mi{ width:48px; height:48px; }
  .extra .link-more{ grid-column:2; }
}

/* Vorteile */
.benefits{ position:relative; overflow:hidden; padding-block:64px; background:linear-gradient(135deg,#E3F3E1 0%,#CFEBCB 55%,#B9E1B4 100%); border-top:3px solid var(--green); }
.benefits::after{ content:""; position:absolute; right:-120px; top:-160px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 70%); pointer-events:none; }
.benefits .wrap{ position:relative; z-index:1; }
.benefits .ben li{ border-color:#9CCB96; }
.benefits .ben .bi{ background:#D3EDCF; }
.ben{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.ben li{ background:var(--white); border:1px solid var(--line); border-radius:14px; padding:20px 18px; display:grid; gap:10px; align-content:start; transition:transform .25s var(--ease), border-color .2s; }
.ben li:hover{ transform:translateY(-4px); border-color:var(--green); }
.ben .bi{ width:52px; height:52px; border-radius:50%; background:var(--green-tint); color:var(--green-ink); display:grid; place-items:center; }
.ben .bi svg{ width:26px; height:26px; }
.ben strong{ font-family:var(--f-display); font-weight:700; font-size:.86rem; letter-spacing:.06em; text-transform:uppercase; line-height:1.3; color:var(--ink); }
.ben span{ color:var(--ink-soft); font-size:.96rem; line-height:1.4; }
@media (max-width:1060px){ .ben{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:620px){ .ben{ grid-template-columns:1fr 1fr; gap:10px; } .ben li{ padding:16px 14px; } .ben li:last-child{ grid-column:span 2; } }

/* Vorher-nachher */
.compare-grid{ display:grid; grid-template-columns:1.15fr 1fr; gap:56px; align-items:center; }
.compare{ position:relative; aspect-ratio:4/3; border-radius:18px; overflow:hidden; box-shadow:0 30px 60px -24px rgba(var(--shadow),.38); user-select:none; touch-action:pan-y; }
.compare img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.compare .after{ clip-path:inset(0 0 0 var(--pos,50%)); }
.compare .handle{ position:absolute; top:0; bottom:0; left:var(--pos,50%); width:3px; margin-left:-1.5px; background:#fff; pointer-events:none; }
.compare .knob{ position:absolute; top:50%; left:50%; width:48px; height:48px; margin:-24px 0 0 -24px; border-radius:50%; background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.25); display:grid; place-items:center; color:var(--blue); }
.compare .knob svg{ width:24px; height:24px; }
.compare .lbl{ position:absolute; top:14px; font-family:var(--f-display); font-size:.74rem; font-weight:700; letter-spacing:.1em; background:rgba(16,32,44,.78); color:#fff; padding:6px 11px; border-radius:20px; pointer-events:none; z-index:2; }
.compare .lbl-l{ left:14px; } .compare .lbl-r{ right:14px; background:var(--green-ink); }
.compare input{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; margin:0; z-index:3; }
.compare input:focus-visible ~ .handle .knob{ outline:3px solid var(--blue); outline-offset:3px; }
.proof{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:14px; }
.proof li{ display:grid; grid-template-columns:50px 1fr; gap:14px; align-items:start; }
.proof .ico{ width:50px; height:50px; border-radius:12px; background:var(--blue-tint); color:var(--blue); display:grid; place-items:center; }
.proof .ico svg{ width:26px; height:26px; }
.proof strong{ display:block; font-family:var(--f-display); font-size:1.02rem; font-weight:700; }
.proof span{ color:var(--ink-soft); font-size:.98rem; }
@media (max-width:880px){ .compare-grid{ grid-template-columns:1fr; gap:32px; } }

/* Ablauf */
#ablauf{ background:linear-gradient(180deg,#DCEBF7 0%,#CFE3F3 100%); border-top:3px solid var(--blue); }
#ablauf .steps li::before{ box-shadow:0 0 0 6px #D6E8F6; }
.steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:28px; counter-reset:s; position:relative; }
.steps::before{ content:""; position:absolute; left:0; right:0; top:27px; height:2px; background:repeating-linear-gradient(90deg,var(--blue) 0 8px,transparent 8px 14px); opacity:.6; transform-origin:left; }
.js .steps::before{ transform:scaleX(0); transition:transform 1.4s .2s cubic-bezier(.65,0,.35,1); }
.js .steps.in::before{ transform:none; }
.steps li{ counter-increment:s; display:grid; gap:8px; position:relative; align-content:start; }
.steps li::before{ content:counter(s); width:56px; height:56px; border-radius:50%; background:var(--white); border:2px solid var(--blue); color:var(--blue); display:grid; place-items:center; font-family:var(--f-display); font-weight:700; font-size:1.3rem; position:relative; }
.steps li:last-child::before{ background:var(--green-ink); border-color:var(--green-ink); color:#fff; }
.steps p{ color:var(--ink-soft); font-size:1rem; }
@media (max-width:900px){ .steps{ grid-template-columns:1fr 1fr; } .steps::before{ display:none; } }
@media (max-width:540px){ .steps{ grid-template-columns:1fr; gap:18px; } .steps li{ grid-template-columns:56px 1fr; column-gap:16px; } .steps li::before{ grid-row:span 2; } }

/* Über uns (Startseite) */
.about-grid{ display:grid; grid-template-columns:260px 1fr; gap:64px; align-items:center; }
.seal-wrap{ display:grid; justify-items:center; gap:12px; }
.seal-big{ width:100%; max-width:230px; height:auto; filter:drop-shadow(0 22px 32px rgba(140,100,20,.3)); transition:transform .4s var(--ease); }
.seal-big:hover{ transform:scale(1.03); }
.seal-cap{ font-size:.88rem; color:var(--ink-soft); text-align:center; max-width:26ch; line-height:1.4; }
.facts{ list-style:none; margin:22px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.facts li{ display:flex; gap:12px; align-items:center; background:var(--bg); border-radius:12px; padding:12px 14px; font-weight:600; font-size:.98rem; line-height:1.3; }
.facts svg{ flex:none; width:26px; height:26px; color:var(--green-ink); }
.sectors{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.sector{ display:inline-flex; align-items:center; gap:8px; background:var(--white); border:1px solid var(--line); border-radius:30px; padding:7px 14px 7px 10px; font-weight:600; font-size:.94rem; transition:border-color .2s; }
.sector:hover{ border-color:var(--blue); }
.sector svg{ width:24px; height:24px; color:var(--blue); }
.about-more{ margin-top:22px; }
@media (max-width:900px){ .about-grid{ grid-template-columns:1fr; gap:28px; } .seal-wrap{ justify-items:start; grid-template-columns:120px 1fr; align-items:center; } .seal-big{ max-width:120px; } .seal-cap{ text-align:left; } }
@media (max-width:560px){ .facts{ grid-template-columns:1fr; } }

/* Häufige Fragen */
.faq{ position:relative; overflow:hidden; background:linear-gradient(180deg,#E4EDF4 0%,#D3E1EC 100%); border-top:3px solid var(--blue); }
.faq::before{ content:"?"; position:absolute; left:4%; top:50%; transform:translateY(-42%); font-family:var(--f-display); font-weight:700; font-size:clamp(300px,34vw,520px); line-height:1; color:#0771B8; opacity:.07; pointer-events:none; user-select:none; }
.faq > .wrap{ position:relative; z-index:1; }
.faq-grid{ display:grid; grid-template-columns:1fr 1.5fr; gap:56px; align-items:start; }
.faq-list{ display:grid; gap:10px; }
.faq-i{ background:var(--white); border:1px solid var(--line); border-radius:12px; transition:border-color .2s, box-shadow .2s; }
.faq-i[open]{ border-color:var(--blue); box-shadow:0 14px 30px -22px rgba(var(--shadow),.4); }
.faq-i summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; font-family:var(--f-display); font-weight:600; font-size:1.02rem; line-height:1.35; border-radius:12px; }
.faq-i summary::-webkit-details-marker{ display:none; }
.faq-i summary:hover{ color:var(--blue); }
.chev{ flex:none; width:32px; height:32px; border-radius:50%; background:var(--blue-tint); position:relative; transition:transform .3s var(--ease), background .2s; }
.chev::before, .chev::after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:2px; margin:-1px 0 0 -6px; background:var(--blue); border-radius:2px; transition:transform .3s var(--ease); }
.chev::after{ transform:rotate(90deg); }
.faq-i[open] .chev{ transform:rotate(180deg); background:var(--blue); }
.faq-i[open] .chev::before, .faq-i[open] .chev::after{ background:#fff; }
.faq-i[open] .chev::after{ transform:rotate(0deg); }
.faq-a{ padding:0 20px 18px; color:var(--ink-soft); }
.faq-i[open] .faq-a{ animation:rise .35s var(--ease) both; }
@media (max-width:880px){ .faq-grid{ grid-template-columns:1fr; gap:28px; } }

/* Kontakt */
.contact{ background:linear-gradient(135deg,var(--tint) 0%,#EAF6EC 100%); }
.contact .wrap{ display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:start; }
.contact .cl{ margin:0; display:grid; gap:18px; background:var(--white); border-radius:16px; padding:28px; box-shadow:0 20px 40px -24px rgba(var(--shadow),.3); }
.contact .cl > div{ display:grid; grid-template-columns:46px 1fr; gap:2px 14px; align-items:center; }
.contact .ci{ grid-row:span 2; width:46px; height:46px; border-radius:10px; background:var(--blue-tint); color:var(--blue); display:grid; place-items:center; }
.contact .ci svg{ width:24px; height:24px; }
.contact .dt{ font-size:.88rem; color:var(--ink-soft); }
.contact .dd{ margin:0; font-size:1.1rem; font-weight:600; overflow-wrap:anywhere; }
.contact .dd a{ color:var(--ink); }
@media (max-width:820px){ .contact .wrap{ grid-template-columns:1fr; } }

/* Fuß */
.foot{ background:var(--white); color:var(--ink-soft); padding-block:0 120px; font-size:.98rem; border-top:1px solid var(--line); }
.foot::before{ content:""; display:block; height:7px; background:linear-gradient(var(--green) 0 3px,var(--white) 3px 4px,var(--blue) 4px 7px); }
.foot-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1.1fr; gap:40px; padding-top:52px; }
.foot h2{ font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); margin-bottom:14px; }
.foot ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.foot a{ color:var(--ink); text-decoration:none; }
.foot a:hover{ color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.foot .brand-f img{ width:190px; height:auto; }
.foot-bottom{ margin-top:40px; padding-top:20px; border-top:1px solid var(--line); display:flex; gap:16px; flex-wrap:wrap; justify-content:space-between; font-size:.9rem; }
.foot-bottom nav{ display:flex; gap:20px; }
@media (max-width:960px){ .foot-grid{ grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:560px){ .foot-grid{ grid-template-columns:1fr; gap:28px; } }

/* Auswahlleiste */
.selbar{ position:fixed; left:0; right:0; bottom:0; z-index:30; background:var(--blue); color:#fff; border-top:4px solid var(--green); box-shadow:0 -14px 34px rgba(var(--shadow),.35); padding-bottom:env(safe-area-inset-bottom,0px); transform:translateY(110%); visibility:hidden; transition:transform .35s var(--ease), visibility 0s .35s; view-transition-name:selbar; }
.selbar.show{ transform:none; visibility:visible; transition:transform .35s var(--ease); }
.selbar .wrap{ display:flex; align-items:center; gap:14px; min-height:72px; padding-block:10px; }
.selbar .dot{ width:40px; height:40px; border-radius:50%; background:#fff; color:var(--green-ink); display:grid; place-items:center; flex:none; }
.selbar .dot svg{ width:21px; height:21px; }
.selbar p{ font-weight:700; font-size:1.08rem; line-height:1.25; min-width:0; color:#fff; }
.selbar p small{ display:block; font-weight:400; color:#D5E8F6; font-size:.9rem; }
.selbar .btn{ margin-left:auto; flex:none; min-height:54px; background:#fff; color:var(--blue); box-shadow:0 8px 20px -6px rgba(0,0,0,.35); animation:pulseW 2.2s ease-out 1s infinite; }
.selbar .btn:hover{ background:var(--green-tint); color:var(--blue-ink); }
@keyframes pulseW{ 0%{ box-shadow:0 0 0 0 rgba(255,255,255,.6); } 70%,100%{ box-shadow:0 0 0 14px rgba(255,255,255,0); } }
.opts.n1{ grid-template-columns:1fr !important; }
@media (max-width:460px){ .selbar .dot, .selbar p small{ display:none; } .selbar .btn{ padding:0 16px; } }

/* =====================================================================
   UNTERSEITEN
   ===================================================================== */
.view[hidden]{ display:none; }
.page{ padding-block:32px 96px; background:var(--white); min-height:70vh; }
.page .wrap{ max-width:1080px; }
.legal-wrap{ max-width:820px !important; }
.back{ margin-bottom:24px; }
.page h1{ font-size:clamp(1.9rem,4vw,2.6rem); }
.crumbs{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:.9rem; color:var(--ink-soft); margin-bottom:22px; }
.crumbs a{ color:var(--ink-soft); text-decoration:none; }
.crumbs a:hover{ color:var(--blue); text-decoration:underline; }
.crumbs svg{ width:12px; height:12px; }

/* Leistungsseite */
.svc-hero{ background:linear-gradient(180deg,var(--white) 0%,var(--tint) 100%); padding-block:28px 56px; }
.svc-hero-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; }
.svc-hero-copy{ display:grid; gap:16px; justify-items:start; }
.svc-hero .photo{ aspect-ratio:4/3; box-shadow:0 30px 60px -24px rgba(var(--shadow),.38); }
.svc-pick{ width:100%; display:grid; gap:10px; background:var(--white); border:1px solid var(--line); border-radius:14px; padding:16px; }
.svc-pick > strong{ font-family:var(--f-display); font-size:.92rem; }
.svc-pick .opts{ grid-template-columns:repeat(3,1fr); padding-top:0; margin-top:0; }
.svc-pick .opts.many{ grid-template-columns:1fr 1fr; }
.svc-pick .opt{ justify-content:center; }
.svc-pick .opts.many .opt{ justify-content:flex-start; }
.svc-pick .row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:space-between; }
.svc-pick .row small{ color:var(--ink-soft); font-size:.9rem; }
.svc-sec{ padding-block:56px 0; }
.subs{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:14px; }
.sub{ border:1px solid var(--line); border-radius:14px; padding:18px; display:grid; gap:6px; align-content:start; background:var(--white); scroll-margin-top:120px; }
.sub.hl{ border-color:var(--green); animation:flash 1.6s ease .2s; }
.sub h3{ font-size:1.02rem; display:flex; gap:10px; align-items:flex-start; }
.sub h3::before{ content:""; flex:none; width:9px; height:9px; margin-top:6px; border-radius:2px; background:var(--green); transform:rotate(45deg); }
.sub p{ color:var(--ink-soft); font-size:.98rem; line-height:1.45; padding-left:19px; }
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chips span{ background:var(--bg); border:1px solid var(--line); border-radius:30px; padding:6px 14px; font-weight:600; font-size:.94rem; }
.svc-two{ display:grid; grid-template-columns:1.3fr 1fr; gap:20px; }
.ibox{ border-radius:16px; padding:24px; display:grid; gap:10px; align-content:start; }
.ibox.b1{ background:var(--bg); }
.ibox.b2{ background:var(--blue-tint); }
.ibox h2{ font-size:1.2rem; }
.ibox p{ color:var(--ink-soft); }
.ibox.b2 p{ color:var(--ink); }
.due{ list-style:none; margin:2px 0 0; padding:0; display:grid; gap:8px; }
.due li{ display:flex; gap:10px; align-items:flex-start; color:var(--ink); line-height:1.4; }
.due svg{ flex:none; width:24px; height:24px; padding:3px; margin-top:1px; border-radius:50%; background:var(--blue); color:#fff; }
.ibox.b2 p.due-note{ color:var(--ink-soft); font-size:.95rem; margin-top:4px; }
.gets{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.gets li{ display:flex; gap:12px; align-items:center; border:1px solid var(--line); border-radius:14px; padding:16px; font-weight:600; line-height:1.3; }
.gets svg{ flex:none; width:26px; height:26px; padding:4px; border-radius:50%; background:var(--green-ink); color:#fff; }
.others{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.other{ display:grid; grid-template-columns:46px 1fr; gap:12px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:14px; text-decoration:none; color:var(--ink); transition:border-color .2s, transform .2s var(--ease); }
.other:hover{ border-color:var(--blue); transform:translateY(-3px); }
.other strong{ display:block; font-family:var(--f-display); font-size:.92rem; line-height:1.25; }
.other small{ display:block; color:var(--blue); font-weight:700; font-size:.78rem; }
.cta-band{ margin-top:56px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding:26px 28px; border-radius:18px; background:linear-gradient(120deg,var(--blue) 0%,#0A86D6 100%); color:#fff; }
.cta-band h2{ color:#fff; font-size:1.4rem; }
.cta-band p{ color:#DCEBF7; }
.cta-band .btn-ghost{ border-color:transparent; }
.cta-band .row{ display:flex; gap:10px; flex-wrap:wrap; }
@media (max-width:900px){ .svc-hero-grid{ grid-template-columns:1fr; gap:28px; } .svc-hero .photo{ aspect-ratio:16/9; order:-1; } .svc-two{ grid-template-columns:1fr; } .gets{ grid-template-columns:1fr; } .others{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .svc-pick .opts{ grid-template-columns:repeat(3,1fr); gap:6px; } .svc-pick .opts.many{ grid-template-columns:1fr; } .svc-pick .opt{ padding:0 6px; font-size:.92rem; gap:6px; } .others{ grid-template-columns:1fr; } }

/* Unternehmen */
.team-photo{ aspect-ratio:16/6; margin:8px 0 40px; }
.co-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.co-card{ border:1px solid var(--line); border-radius:16px; padding:22px; display:grid; gap:12px; align-content:start; }
.co-card h2{ font-size:1.1rem; }
.co-card ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.co-card li{ display:flex; gap:10px; align-items:flex-start; color:var(--ink-soft); line-height:1.4; }
.co-card li svg{ flex:none; width:21px; height:21px; margin-top:3px; color:var(--green-ink); }
.co-seal{ margin-top:16px; display:grid; grid-template-columns:200px 1fr; gap:40px; align-items:center; background:var(--bg); border-radius:18px; padding:32px; }
.co-seal img{ width:100%; height:auto; filter:drop-shadow(0 18px 26px rgba(140,100,20,.28)); }
.quote{ margin-top:18px; border-left:4px solid var(--green); padding-left:16px; color:var(--ink); font-size:1.08rem; }
.quote cite{ display:block; font-style:normal; color:var(--ink-soft); font-size:.92rem; margin-top:6px; }
@media (max-width:900px){ .co-grid{ grid-template-columns:1fr; } .co-seal{ grid-template-columns:120px 1fr; gap:20px; padding:20px; } .team-photo{ aspect-ratio:4/3; } }
@media (max-width:480px){ .co-seal{ grid-template-columns:1fr; } .co-seal img{ max-width:140px; } }

/* Anfrage */
.stepper{ list-style:none; margin:28px 0 32px; padding:0; display:grid; grid-template-columns:repeat(3,1fr); }
.stepper li{ position:relative; display:grid; justify-items:center; gap:8px; text-align:center; font-weight:600; color:var(--ink-soft); font-size:.95rem; }
.stepper li::after{ content:""; position:absolute; top:19px; left:calc(50% + 26px); right:calc(-50% + 26px); height:2px; background:var(--line); background-image:linear-gradient(var(--green-ink),var(--green-ink)); background-size:0% 100%; background-repeat:no-repeat; transition:background-size .5s var(--ease); }
.stepper li:last-child::after{ display:none; }
.stepper .n{ width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:var(--white); border:2px solid var(--line); font-family:var(--f-display); font-weight:700; color:var(--ink-soft); transition:all .3s var(--ease); }
.stepper .n svg{ width:21px; height:21px; }
.stepper li.on{ color:var(--ink); }
.stepper li.on .n{ border-color:var(--blue); color:var(--blue); box-shadow:0 0 0 5px rgba(7,113,184,.14); }
.stepper li.done .n{ background:var(--green-ink); border-color:var(--green-ink); color:#fff; }
.stepper li.done::after{ background-size:100% 100%; }

.req-grid{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:32px; align-items:start; }
.req-grid.single{ grid-template-columns:minmax(0,1fr); max-width:820px; }
@media (max-width:900px){ .req-grid{ grid-template-columns:minmax(0,1fr); } }
.panel{ display:grid; gap:18px; background:var(--white); border:1px solid var(--line); border-radius:16px; padding:28px; }
.panel.fwd{ animation:slideFwd .42s var(--ease) both; }
.panel.back{ animation:slideBack .42s var(--ease) both; }
@media (max-width:520px){ .panel{ padding:20px; } }
.summary{ position:sticky; top:104px; background:var(--white); border:1px solid var(--line); border-radius:16px; overflow:hidden; animation:rise .5s .15s var(--ease) both; }
@media (max-width:900px){ .summary{ position:static; } }
.summary-h{ background:var(--blue); color:#fff; padding:16px 20px; font-family:var(--f-display); font-weight:700; font-size:1.02rem; display:flex; justify-content:space-between; gap:8px; }
.summary-h span{ color:#D5E8F6; font-family:var(--f-body); font-weight:600; font-size:.95rem; }
.summary-b{ padding:18px 20px; display:grid; gap:14px; }
.summary-b .grp{ display:grid; gap:4px; }
.summary-b .grp strong{ font-family:var(--f-display); font-weight:700; font-size:.98rem; }
.summary-b .grp span{ color:var(--ink-soft); font-size:.98rem; }
.summary-f{ border-top:1px solid var(--line); padding:16px 20px; display:grid; gap:10px; font-size:.95rem; color:var(--ink-soft); }
.summary-f div{ display:flex; gap:10px; align-items:flex-start; }
.summary-f svg{ width:21px; height:21px; color:var(--green-ink); flex:none; margin-top:3px; }

.svc{ display:grid; grid-template-columns:96px 1fr; gap:16px; align-items:start; border:1px solid var(--line); border-radius:12px; padding:12px; animation:rise .45s var(--ease) both; animation-delay:calc(var(--i,0) * 70ms + .1s); }
.svc .photo{ aspect-ratio:1; border-radius:8px; }
.svc .norm{ font-family:var(--f-display); font-weight:700; font-size:.76rem; color:var(--blue); }
.svc-items{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.pill{ display:inline-flex; align-items:center; gap:4px; background:var(--green-tint); color:var(--green-ink); border-radius:20px; padding:2px 4px 2px 12px; font-weight:600; font-size:.92rem; }
.pill button{ width:32px; height:32px; border-radius:50%; border:0; background:none; color:var(--green-ink); cursor:pointer; display:grid; place-items:center; }
.pill button:hover{ background:rgba(42,125,38,.12); }
.pill button svg{ width:14px; height:14px; }
@media (max-width:460px){ .svc{ grid-template-columns:64px 1fr; } }
.empty{ display:grid; gap:16px; justify-items:start; }
.empty .row{ display:flex; gap:12px; flex-wrap:wrap; }

.field{ display:grid; gap:6px; }
.field label{ font-weight:600; }
.field label .opt-l{ font-weight:400; color:var(--ink-soft); }
.field input, .field textarea{ font:inherit; color:var(--ink); background:var(--bg); border:1.5px solid var(--line); border-radius:10px; padding:12px 14px; min-height:52px; width:100%; transition:border-color .15s, background .15s, box-shadow .15s; }
.field input:hover, .field textarea:hover{ border-color:var(--ph-line); }
.field input:focus, .field textarea:focus{ outline:none; background:var(--white); border-color:var(--blue); box-shadow:0 0 0 4px rgba(7,113,184,.16); }
.field input[aria-invalid="true"]{ border-color:var(--error); background:var(--error-tint); }
.field textarea{ min-height:110px; resize:vertical; }
.hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.two{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:620px){ .two{ grid-template-columns:1fr; } }
.check{ display:flex; gap:12px; align-items:flex-start; }
.check input{ width:26px; height:26px; margin-top:3px; accent-color:var(--green-ink); flex:none; }
.err{ color:var(--error); font-weight:600; background:var(--error-tint); border-radius:10px; padding:12px 14px; }
.err:empty{ display:none; }
.nav-row{ display:flex; gap:12px; justify-content:space-between; flex-wrap:wrap; }
.demo{ justify-self:start; background:none; border:1.5px dashed var(--ph-line); border-radius:10px; padding:0 14px; min-height:44px; font:inherit; color:var(--ink-soft); cursor:pointer; }
.safe{ display:flex; gap:10px; align-items:center; font-size:.92rem; color:var(--ink-soft); }
.safe svg{ width:21px; height:21px; color:var(--green-ink); flex:none; }

.success{ display:grid; gap:16px; justify-items:start; }
.ok{ width:76px; height:76px; border-radius:50%; background:var(--green-tint); color:var(--green-ink); display:grid; place-items:center; animation:pop .5s cubic-bezier(.3,1.5,.5,1) both, pulseRing 1s .5s ease-out; }
.ok svg{ width:38px; height:38px; }
.ok path{ stroke-dasharray:24; stroke-dashoffset:24; animation:draw .45s .35s ease forwards; }
.success h2, .success > p{ animation:rise .5s .25s var(--ease) both; }
.next{ list-style:none; margin:8px 0 0; padding:0; display:grid; gap:12px; width:100%; }
.next li{ display:grid; grid-template-columns:36px 1fr; gap:12px; align-items:start; background:var(--bg); border-radius:12px; padding:14px; animation:rise .5s var(--ease) both; animation-delay:calc(var(--i,0) * 130ms + .45s); }
.next .n{ width:40px; height:40px; border-radius:50%; background:var(--white); border:2px solid var(--blue); color:var(--blue); display:grid; place-items:center; font-family:var(--f-display); font-weight:700; }
.next .n svg{ width:16px; height:16px; }
.next li.done .n{ background:var(--green-ink); border-color:var(--green-ink); color:#fff; }
.next strong{ display:block; }
.next span{ color:var(--ink-soft); font-size:.98rem; }

.behind{ margin-top:40px; display:grid; gap:18px; }
.behind-h{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.behind-h .tagp{ font-size:.8rem; font-weight:700; background:var(--mark); color:#5A4500; padding:3px 10px; border-radius:20px; }
.behind-note{ background:var(--tint); border:1px solid #8DB8DA; border-radius:12px; padding:14px 16px; font-size:.95rem; }
.behind-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:760px){ .behind-grid{ grid-template-columns:1fr; } }
.win{ background:var(--white); border:1px solid var(--line); border-radius:12px; overflow:hidden; font-size:.95rem; box-shadow:0 18px 36px -24px rgba(var(--shadow),.35); animation:rise .55s var(--ease) both; animation-delay:calc(var(--i,0) * 220ms + .8s); }
.win-bar{ display:flex; align-items:center; gap:7px; background:#EDF1F4; border-bottom:1px solid var(--line); padding:10px 14px; }
.win-bar i{ width:11px; height:11px; border-radius:50%; background:#D3DBE1; }
.win-bar b{ margin-left:8px; font-weight:600; font-size:.88rem; color:var(--ink-soft); }
.win-bar em{ margin-left:auto; font-style:normal; font-size:.78rem; font-weight:700; color:#8A5A00; background:#FFF4D6; padding:2px 8px; border-radius:20px; white-space:nowrap; transition:background .3s, color .3s; }
.win-bar em.ok2{ color:var(--green-ink); background:var(--green-tint); }
.win-b{ padding:16px; display:grid; gap:10px; }
.win dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:6px 14px; }
.win dt{ color:var(--ink-soft); }
.win dd{ margin:0; font-weight:600; overflow-wrap:anywhere; }
.win ul{ margin:0; padding-left:1.2em; }
.win .mailtext{ color:var(--ink); white-space:pre-line; }
.win .info{ border-top:1px dashed var(--line); padding-top:10px; display:grid; gap:8px; }
.win .info p{ font-size:.92rem; color:var(--ink-soft); }
.win .info strong{ color:var(--ink); }
.call{ display:grid; grid-template-columns:50px 1fr; gap:14px; align-items:center; }
.call .ico{ width:50px; height:50px; border-radius:12px; background:var(--blue-tint); color:var(--blue); display:grid; place-items:center; }
.call .ico svg{ width:26px; height:26px; }
.attach{ display:inline-flex; gap:8px; align-items:center; border:1px solid var(--line); border-radius:8px; padding:6px 10px; font-weight:600; justify-self:start; }
.attach svg{ width:21px; height:21px; color:var(--error); }

/* Rechtliches */
.legal{ display:grid; gap:24px; }
.legal .back{ justify-self:start; margin-bottom:0; }
.legal section{ display:grid; gap:6px; }
.legal h2{ font-size:1.2rem; }
.legal ul{ margin:0; padding-left:1.2em; }
/* Gleiche Höhen: Überschriften und Unterzeilen nebeneinanderliegender Kacheln fluchten */
@media (min-width:621px){
  .card-body h3{ min-height:calc(2 * 1.15em); }
  .card p.short{ min-height:calc(2 * 1.45em); }
  .ben strong{ min-height:calc(2 * 1.3em); }
  .sub h3{ min-height:calc(2 * 1.15em); }
  .mega-head strong{ min-height:calc(2 * 1.25em); display:flex; align-items:center; }
  .co-card h2, .ibox h2{ min-height:1.2em; }
}
.mega-head{ align-items:start; }
.mega-col ul{ margin-top:6px; }
.card .opts{ margin-top:0; }
/* Seitenwechsel weich überblenden (mehrseitige Website, moderne Browser) */
@view-transition{ navigation:auto; }
/* Kennzahl mit langer Einheit */
.hero > .wrap{ grid-template-columns:1.15fr 1fr; }
.hero .cta .btn{ padding:0 20px; }
@media (max-width:880px){ .hero > .wrap{ grid-template-columns:1fr; } }
.stats dd .u.sm{ font-size:.5em; letter-spacing:0; margin-left:.15em; }
/* Kommt Ihnen das bekannt vor? */
.pains{ padding-block:56px 0; }
.pains .sec-head{ margin-bottom:22px; }
.pain-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.pain-grid > .pain{ display:flex; flex-direction:column; gap:6px; padding:18px; border:1px solid var(--line); border-left:4px solid var(--blue); border-radius:14px; background:var(--white); color:var(--ink); text-decoration:none; transition:border-color .2s, transform .2s var(--ease), box-shadow .25s; }
.pain:hover{ border-color:var(--blue); transform:translateY(-3px); box-shadow:0 18px 34px -24px rgba(var(--shadow),.45); }
.pain .pi{ width:40px; height:40px; border-radius:10px; background:var(--blue-tint); color:var(--blue); display:grid; place-items:center; margin-bottom:4px; }
.pain .pi svg{ width:24px; height:24px; }
.pain strong{ font-family:var(--f-display); font-size:1rem; line-height:1.3; }
.pain > span:not(.pi):not(.go){ color:var(--ink-soft); font-size:.96rem; line-height:1.4; }
.pain .go{ display:inline-flex; align-items:center; gap:6px; margin-top:auto; padding-top:6px; font-family:var(--f-display); font-weight:700; font-size:.9rem; color:var(--blue); }
.pain .go::after{ content:"→"; transition:transform .2s var(--ease); }
.pain:hover .go::after{ transform:translateX(4px); }
@media (min-width:621px){ .pain strong{ min-height:calc(2 * 1.3em); } }
@media (max-width:1060px){ .pain-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .pain-grid{ grid-template-columns:1fr; } .pains{ padding-block:44px 0; } }
/* Vorher-nachher: Umschalter und Hinweis */
.cmp-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.cmp-tabs[hidden]{ display:none; }
.cmp-tab{ min-height:40px; padding:0 14px; border-radius:20px; border:1.5px solid var(--line); background:var(--white); color:var(--ink); font-family:var(--f-display); font-weight:700; font-size:.88rem; cursor:pointer; }
.cmp-tab:hover{ border-color:var(--blue); }
.cmp-tab[aria-pressed="true"]{ background:var(--blue); border-color:var(--blue); color:#fff; }
.proof-note{ margin-top:16px; color:var(--ink-soft); font-size:.95rem; }
/* Ablauf mit fünf Schritten */
.steps.steps5{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
@media (max-width:1060px){ .steps.steps5{ grid-template-columns:1fr 1fr 1fr; } .steps.steps5::before{ display:none; } }
@media (max-width:700px){ .steps.steps5{ grid-template-columns:1fr; } .steps.steps5 li{ grid-template-columns:56px 1fr; column-gap:16px; } .steps.steps5 li::before{ grid-row:span 2; } }
/* Einsatzgebiet */
.area{ background:linear-gradient(180deg,#E4EDF4 0%,#D3E1EC 100%); border-top:3px solid var(--blue); }
.area-grid{ display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:center; }
.states{ list-style:none; margin:24px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.states li{ background:var(--white); border:1px solid var(--line); border-left:4px solid var(--green); border-radius:10px; padding:8px 14px; font-family:var(--f-display); font-weight:700; font-size:.92rem; }
.states li.more{ border-left-color:var(--blue); color:var(--ink-soft); font-weight:600; }
.area-note{ margin:16px 0 20px; color:var(--ink-soft); }
.map-wrap{ position:relative; }
.map{ width:100%; height:auto; display:block; border-radius:18px; box-shadow:0 30px 60px -30px rgba(var(--shadow),.45); }
.map .m-sea{ fill:#EEF4F8; }
.map .m-c{ fill:#FFFFFF; stroke:#B9C7D1; stroke-width:.8; }
.map .m-de{ fill:#FFFFFF; stroke:#8A9DAA; stroke-width:1.4; }
.map .m-circle{ fill:url(#mrad); stroke:#0771B8; stroke-width:2.2; stroke-dasharray:7 5; }
.map .m-dot{ fill:#1D2A33; } .map .m-dot.out{ fill:#8A9DAA; }
.map .m-lbl{ font-family:var(--f-body); font-size:13px; font-weight:600; fill:#1D2A33; paint-order:stroke; stroke:#fff; stroke-width:3px; }
.map .m-lbl.out{ fill:#6B7A85; font-weight:400; }
.map .m-ka{ fill:#3BAA36; stroke:#fff; stroke-width:2.5; }
.map .m-ka-ring{ fill:none; stroke:#3BAA36; stroke-width:2; opacity:.5; }
.map .m-ka-lbl{ font-family:var(--f-display); font-size:16px; font-weight:700; fill:#2A7D26; paint-order:stroke; stroke:#fff; stroke-width:4px; }
.map-cap{ margin-top:8px; font-size:.85rem; color:var(--ink); text-align:left; }
@media (max-width:880px){ .area-grid{ grid-template-columns:1fr; gap:28px; } }
/* Leistungsseite: Anfrage-Knöpfe statt Ankreuzfeldern */
.svc-cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:4px; }
/* Graue Unterzeilen: am Desktop immer einzeilig; lange Fließtexte dunkel */
.sec-head .lead, .hero .lead, .svc-hero .lead{ max-width:none; }
@media (min-width:1000px){
  .lead, .card p.short, .pain > span:not(.pi):not(.go), .ben span, .steps p, .stats dt, .proof span, .proof-note, .seal-cap, .sub p, .co-card li, .states li, .area-note, .sec-head .muted{ white-space:nowrap; }
}
.seal-cap{ max-width:none; }
.ibox.b1 p, .co-seal .muted{ color:var(--ink); }
.subs{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:700px){ .subs{ grid-template-columns:1fr; } }
.card p.short{ min-height:0 !important; }
.sub h3{ min-height:0 !important; }
/* Kopf fest oben: Verkleinern verschiebt den Inhalt nicht mehr (kein Ruckeln) */
body{ padding-top:calc(var(--head-h) + 8px); }

.photo img, .compare img{ backface-visibility:hidden; }
/* Startbild-Hinweis */
.hero-note{ display:flex; align-items:center; gap:8px; color:var(--ink-soft); font-size:.95rem; margin-top:-6px; }
.hero-note svg{ width:18px; height:18px; color:var(--green-ink); flex:none; }
.hero .cta .btn-ghost svg{ width:18px; height:18px; }
.cmp-fig{ margin:0; }
.cmp-fig .map-cap{ margin-top:10px; }
/* Anruf-Knopf am Handy */
.fab{ display:none; }
@media (max-width:760px){
  .fab{ position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); z-index:31; width:58px; height:58px; border-radius:50%; background:var(--green-ink); color:#fff; display:grid; place-items:center; box-shadow:0 12px 26px -8px rgba(0,0,0,.45); transition:bottom .3s var(--ease); }
  .fab svg{ width:26px; height:26px; }
  .fab.up{ bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
}
.stats dl{ contain:layout paint; }
.compare .after{ will-change:clip-path; }
.steps::before{ will-change:transform; }
@media (min-width:1100px){ .hero > .wrap{ grid-template-columns:1.25fr 1fr; } .hero .cta{ flex-wrap:nowrap; } .hero .cta .btn{ padding:0 18px; font-size:.94rem; white-space:nowrap; } }
/* V5.2 */
.hero{ border-bottom:3px solid var(--blue); }
.float-b{ right:16px; top:16px; width:72px; }
@media (max-width:880px){ .float-b{ right:12px; top:12px; width:60px; } }
@media (min-width:900px){ .facts{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:1199px){ .ben{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:620px){ .ben{ grid-template-columns:1fr 1fr; } }
@media (min-width:1061px){ .ben li{ padding:20px 12px; } .ben span{ font-size:.86rem; letter-spacing:-.01em; } }
.ibox.b1 p + p{ margin-top:8px; }
/* Einsatzgebiet V5.5 */
.area-text{ margin-top:16px; color:var(--ink); font-size:1.05rem; }
.area-cards{ list-style:none; margin:20px 0 0; padding:0; display:grid; gap:10px; }
.area-cards li{ display:flex; gap:14px; align-items:center; background:var(--white); border:1px solid var(--line); border-radius:12px; padding:12px 16px; }
.area-cards strong{ display:block; font-family:var(--f-display); font-size:.95rem; }
.area-cards span:not(.ac-dot){ color:var(--ink-soft); font-size:.95rem; }
.ac-dot{ flex:none; width:22px; height:22px; border-radius:50%; }
.ac-dot.core{ background:rgba(7,113,184,.28); border:2px dashed var(--blue); }
.ac-dot.wide{ background:#E6EFF6; border:1px solid #9DB9D0; }
.map .m-de-all{ fill:#E6EFF6; stroke:none; }
.map .m-de-line{ fill:none; stroke:#8A9DAA; stroke-width:1.3; }
.map .m-core{ fill:url(#mrad); clip-path:url(#mde); }
.map .m-circle{ fill:none; }
.area-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.area-note, .area-text{ white-space:normal !important; }
.foot{ background:#fff; }
.map-wrap{ max-width:520px; justify-self:end; width:100%; }
@media (max-width:880px){ .area-grid{ grid-template-columns:1fr; } .map-wrap{ justify-self:stretch; max-width:none; } }
/* Absicherung: einzeilige Texte, die nicht passen, dürfen umbrechen (setzt das Skript) */
.fit-wrap{ white-space:normal !important; }
/* Druckansicht */
@media print{
  .head, .menu, .selbar, .fab, .proto, .float-b, .skip, .drop, .cta, .cta-band, .svc-cta, .hero-arc, .compare input, .compare .handle{ display:none !important; }
  body{ padding-top:0 !important; background:#fff !important; font-size:11pt; }
  .js .rv, .js .rv-wipe > img{ opacity:1 !important; transform:none !important; clip-path:none !important; }
  section.block, .svc-sec{ padding-block:14pt !important; }
  .hero, .benefits, #ablauf, .area, .contact, .svc-hero{ background:#fff !important; }
  .card, .pain, .ben li, .sub, .ibox, .co-card{ break-inside:avoid; box-shadow:none !important; }
  .photo, .compare, .map{ box-shadow:none !important; }
  a{ color:inherit; text-decoration:none; }
  .white-space-fix, .lead, .sec-head .muted{ white-space:normal !important; }
}
