/* KC Walther Kahl COMMUNICATIONS e.K. */
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(fonts/archivo-latin-standard-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(fonts/archivo-latin-ext-standard-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}


:root{
  --navy:#121E44;      /* Dunkelblau aus dem Logo */
  --blue:#2466BE;      /* kräftiges Blau für Links und Akzente */
  --steel:#284B78;
  --sky:#94BEF1;       /* Hellblau aus dem Logo */
  --sky-soft:#E6F0FD;
  --sky-pale:#F3F8FF;
  --page:#F7FAFE;
  --white:#fff;
  --sun:#F6A93B;       /* Abendlicht aus dem Köln-Motiv */
  --sun-soft:#FFF3DC;
  --ink:#17213F;
  --ink-soft:#4B5878;
  --rule:#D9E3F2;
  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --text:"Inter","Helvetica Neue",Arial,sans-serif;
  --pad:clamp(1.1rem,4vw,3.5rem);
  --head-h:92px;
  --r:20px;
  --shadow:0 18px 40px -24px rgba(36,74,130,.45);
  --ease:cubic-bezier(.2,.75,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 10px)}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--text);font-size:clamp(1.0625rem,1rem + .22vw,1.17rem);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,address{margin:0;padding:0}
ul,ol{list-style:none}
address{font-style:normal}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
::selection{background:var(--sky);color:var(--navy)}
[hidden]{display:none!important}
.wrap{width:100%;max-width:1320px;margin-inline:auto;padding-inline:max(var(--pad),env(safe-area-inset-left)) max(var(--pad),env(safe-area-inset-right))}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.8rem 1.2rem;z-index:200;font-weight:700}
.skip:focus{left:.5rem;top:.5rem}

/* ---------- Schrift ---------- */
.display{font-family:var(--display);font-weight:800;font-stretch:100%;line-height:1.04;letter-spacing:-.012em;color:var(--navy);overflow-wrap:break-word}
.display .ln,.display .grp{display:block}
.display.nowrap .ln{white-space:nowrap}
h1.display{font-size:clamp(1.9rem,4.5vw,3.7rem)}
h2.display{font-size:clamp(1.75rem,3.8vw,3.1rem)}
/* Rubrik-Marke wie auf einer Nachrichtenseite */
.kicker{display:inline-block;font-weight:800;font-size:clamp(.74rem,.7rem + .2vw,.84rem);letter-spacing:.09em;line-height:1.3;margin-bottom:1.1rem;padding:.45em .95em;border-radius:999px;background:var(--sky-soft);color:var(--blue)}
.tag{display:inline-flex;align-items:center;gap:.7rem;font-weight:800;font-size:.82rem;letter-spacing:.1em;color:var(--ink-soft)}
.tag::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--sun);flex:none}

/* ---------- Kopfzeile ---------- */
.head{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--rule);transition:box-shadow .3s}
.head::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:linear-gradient(90deg,var(--sky),var(--blue) 55%,var(--sun))}
.head.scrolled{box-shadow:0 14px 30px -20px rgba(36,74,130,.5)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:var(--head-h);transition:height .35s var(--ease)}
.logo{display:block;flex:none;line-height:0}
.head .logo img{height:calc(var(--head-h) - 24px);width:auto;transition:height .35s var(--ease)}
.nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.6rem);flex:1;justify-content:flex-end}
.nav ul{display:flex;gap:clamp(.1rem,.6vw,.5rem)}
.nav ul a{display:block;padding:.6rem .95rem;border-radius:999px;font-weight:700;font-size:.84rem;letter-spacing:.05em;text-decoration:none;color:var(--navy);white-space:nowrap;transition:background .2s,color .2s}
.nav ul a:hover{background:var(--sky-soft)}
.nav ul a.on{background:var(--navy);color:#fff}
.langs{display:flex;gap:.55rem;align-items:center}
.langs a{display:block;padding:4px;border-radius:8px;border:2px solid transparent;line-height:0;transition:border-color .2s,transform .2s}
.langs a:hover{transform:translateY(-1px);border-color:var(--sky)}
.langs a[aria-current]{border-color:var(--blue)}
.langs svg{width:30px;height:20px;display:block;border-radius:3px;box-shadow:0 0 0 1px rgba(18,30,68,.18)}
.burger{display:none;flex:none;width:52px;height:52px;margin-right:-8px;border:0;background:var(--sky-soft);color:var(--navy);cursor:pointer;border-radius:14px}
.burger span{display:block;width:24px;height:3px;margin:5px auto;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.menu-open .burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media (min-width:1021px){.head.scrolled{--head-h:72px}}
@media (max-width:1020px){
  :root{--head-h:76px}
  .burger{display:block}
  .nav{position:fixed;inset:calc(var(--head-h) + 4px) 0 0 0;z-index:99;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;background:#fff;padding:1rem max(var(--pad),env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(var(--pad),env(safe-area-inset-left));overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .35s var(--ease),visibility 0s .35s}
  .menu-open .nav{visibility:visible;opacity:1;transform:none;transition:opacity .3s,transform .35s var(--ease)}
  .nav ul{flex-direction:column;gap:.5rem}
  .nav ul a{font-family:var(--display);font-weight:800;font-size:clamp(1.3rem,6vw,1.8rem);letter-spacing:0;padding:.95rem 1.2rem;border-radius:16px;background:var(--sky-pale);white-space:normal}
  .langs{margin-top:1.6rem;gap:1rem}
  .langs svg{width:48px;height:32px}
}
@media (max-width:420px){:root{--head-h:68px}}

/* ---------- Startbild: Aufmacher ---------- */
.hero{position:relative;background:linear-gradient(180deg,var(--sky-soft) 0%,var(--page) 100%);overflow:hidden}
.hero-lines{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(circle at 8% 18%,rgba(148,190,241,.55) 0 130px,transparent 131px),
  radial-gradient(circle at 96% 88%,rgba(246,169,59,.28) 0 180px,transparent 181px),
  radial-gradient(circle at 60% -10%,rgba(255,255,255,.9) 0 260px,transparent 261px)}
.hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1.8rem,4.5vw,4.5rem);align-items:center;padding-block:clamp(2.2rem,5vw,4.5rem) clamp(2.8rem,6vw,5.5rem)}
.hero-pic{order:-1;position:relative;width:100%;max-width:640px;justify-self:start}
.hero-pic::before{content:"";position:absolute;right:-14px;bottom:-14px;width:46%;height:46%;border-radius:var(--r);background:var(--sun);opacity:.9}
.hero-pic::after{content:"";position:absolute;left:-12px;top:-12px;width:30%;height:30%;border-radius:var(--r);background:var(--sky)}
.pic-frame{position:relative;z-index:1;overflow:hidden;aspect-ratio:716/605;border-radius:var(--r);background:var(--sky-soft);box-shadow:var(--shadow)}
.pic-frame img{width:100%;height:100%;object-fit:cover}
.hero h1 .b{color:var(--blue)}
.hero-copy{margin-top:clamp(1.1rem,2vw,1.7rem);display:grid;gap:.9rem;color:var(--ink);max-width:40rem}
.hero-copy p:first-child{font-size:1.06em;font-weight:500}
.btn{display:inline-flex;align-items:center;gap:.8rem;margin-top:clamp(1.4rem,2.4vw,2rem);padding:.95rem 1.7rem;min-height:56px;border:0;background:var(--navy);color:#fff;font-weight:800;font-size:.92rem;letter-spacing:.07em;text-decoration:none;border-radius:999px;cursor:pointer;box-shadow:0 14px 26px -16px rgba(18,30,68,.8);transition:transform .3s var(--ease),background .2s,box-shadow .3s}
.btn:hover{transform:translateY(-3px);background:var(--blue);box-shadow:0 18px 30px -14px rgba(36,102,190,.75)}
.btn svg{flex:none;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateY(3px)}
.btn:disabled{opacity:.6;cursor:progress;transform:none}
@media (max-width:900px){
  .hero-in{grid-template-columns:minmax(0,1fr)}
  .hero-pic{justify-self:center;max-width:560px;width:calc(100% - 20px)}
}
@media (prefers-reduced-motion:no-preference){
  .js .hero .pic-frame{animation:pop .9s var(--ease) both}
  .js .hero-pic::before{animation:slide-a .9s var(--ease) .25s both}
  .js .hero-pic::after{animation:slide-b .9s var(--ease) .35s both}
  .js .hero-text > *{animation:rise .8s var(--ease) both}
  .js .hero-text > :nth-child(2){animation-delay:.1s}
  .js .hero-text > :nth-child(3){animation-delay:.22s}
  .js .hero-text > :nth-child(4){animation-delay:.32s}
}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes slide-a{from{opacity:0;transform:translate(-20px,-20px)}to{opacity:.9;transform:none}}
@keyframes slide-b{from{opacity:0;transform:translate(20px,20px)}to{opacity:1;transform:none}}

/* ---------- Bereiche ---------- */
.sec{padding-block:clamp(3.2rem,7.5vw,6.5rem)}
.light,.dark,.night{background:transparent;color:var(--ink)}
.split-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(1.2rem,4vw,4rem);align-items:end;margin-bottom:clamp(2rem,4.5vw,3.5rem)}
.split-head .intro{font-size:clamp(1.08rem,1rem + .4vw,1.28rem);line-height:1.5;color:var(--ink-soft);max-width:32rem;padding:.2rem 0 .3rem 1.2rem;border-left:4px solid var(--sky)}
@media (max-width:860px){.split-head{grid-template-columns:minmax(0,1fr);align-items:start}}

/* ---------- Agentur: wie ein Artikel ---------- */
.agentur-in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(1.8rem,5vw,5rem);align-items:start;background:#fff;border-radius:calc(var(--r) + 6px);padding:clamp(1.4rem,4.5vw,4rem);box-shadow:var(--shadow);max-width:calc(1320px - 2*var(--pad))}
.agentur .wrap.agentur-in{width:calc(100% - 2*var(--pad));padding-inline:clamp(1.4rem,4.5vw,4rem)}
.sticky{position:sticky;top:calc(var(--head-h) + 2rem)}
.agentur h2{margin-bottom:1.3rem}
.prose{display:grid;gap:1.3rem}
.prose p{max-width:44rem}
.prose p:first-child{font-size:clamp(1.12rem,1.05rem + .4vw,1.3rem);line-height:1.55;font-weight:500;color:var(--navy)}
.prose .statement{position:relative;margin-top:.8rem;padding:clamp(1.4rem,3.5vw,2.4rem) clamp(1.4rem,3.5vw,2.4rem) clamp(1.4rem,3.5vw,2.4rem) clamp(3.6rem,7vw,5.4rem);background:var(--sky-soft);border-radius:var(--r);font-family:var(--display);font-weight:700;font-size:clamp(1.2rem,1rem + 1.1vw,1.75rem);line-height:1.28;color:var(--navy);max-width:none}
.prose .statement::before{content:"\201E";position:absolute;left:clamp(.9rem,2vw,1.5rem);top:-.18em;font-size:4.2em;line-height:1;color:var(--blue);font-weight:800}
@media (max-width:900px){.agentur-in{grid-template-columns:minmax(0,1fr)}.sticky{position:static}}

/* ---------- Kompetenzen: vier Rubriken ---------- */
.komp{background:#fff;border-block:1px solid var(--rule)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.9rem,1.6vw,1.4rem)}
.field{position:relative;background:var(--sky-pale);border-radius:var(--r);padding:clamp(1.3rem,2.6vw,2.4rem);display:grid;gap:.9rem;align-content:start;border-top:6px solid var(--sky);transition:transform .35s var(--ease),box-shadow .35s,background .3s}
.field:nth-child(4n+2){border-top-color:var(--sun)}
.field:nth-child(4n+3){border-top-color:var(--blue)}
.field:nth-child(4n+4){border-top-color:var(--navy)}
.field:hover{transform:translateY(-6px);background:#fff;box-shadow:var(--shadow)}
.num{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--display);font-weight:800;font-size:1.05rem}
.field h3{font-family:var(--display);font-weight:800;font-size:clamp(1.08rem,.95rem + .7vw,1.5rem);line-height:1.15;color:var(--navy);overflow-wrap:break-word}
.field p{font-size:clamp(.98rem,.95rem + .15vw,1.05rem);line-height:1.6;color:var(--ink)}
@media (max-width:640px){.fields{grid-template-columns:minmax(0,1fr)}}

/* ---------- Referenzen ---------- */
.block{margin-top:clamp(1.2rem,2.5vw,2rem);background:#fff;border-radius:calc(var(--r) + 4px);padding:clamp(1.3rem,3.5vw,2.8rem);box-shadow:var(--shadow)}
.block-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2em .5em;font-family:var(--display);font-weight:800;font-size:clamp(1.15rem,1rem + .9vw,1.7rem);line-height:1.12;color:var(--navy);margin-bottom:clamp(1.1rem,2.4vw,1.8rem);padding-left:.9rem;border-left:6px solid var(--blue);overflow-wrap:break-word}
.block-title small{font-family:var(--text);font-weight:600;font-size:.6em;color:var(--ink-soft);white-space:nowrap}
.wall{display:flex;flex-wrap:wrap;gap:.6rem}
.wall li{font-family:var(--display);font-weight:800;font-size:clamp(1rem,.85rem + .9vw,1.55rem);line-height:1}
.wall span{display:block;padding:.6em 1em;border-radius:999px;color:var(--navy);background:linear-gradient(var(--sky),var(--sky)) no-repeat 0 0/0% 100%,var(--sky-pale);border:2px solid var(--sky-soft);transition:background-size .55s var(--ease),border-color .3s,transform .3s var(--ease)}
.wall li.on span,.wall span:hover{background-size:100% 100%,auto;border-color:var(--sky);transform:translateY(-2px)}
.tv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.9rem,1.8vw,1.4rem)}
.show{background:var(--sky-pale);border-radius:var(--r);padding:clamp(1.2rem,2.2vw,1.8rem);display:grid;gap:.8rem;align-content:start;border-left:6px solid var(--sun);transition:transform .35s var(--ease),background .3s,box-shadow .35s}
.show:hover{transform:translateY(-5px);background:#fff;box-shadow:var(--shadow)}
.show h4{font-family:var(--display);font-weight:800;font-size:clamp(1.05rem,.98rem + .4vw,1.25rem);line-height:1.18;color:var(--navy);overflow-wrap:break-word}
.show p{font-size:clamp(.98rem,.95rem + .15vw,1.05rem);line-height:1.6}
@media (max-width:1000px){.tv{grid-template-columns:minmax(0,1fr)}}
/* Film, Kino und Musicals: wie ein Programmteil */
.strip{position:relative}
.films{columns:2;column-gap:clamp(1.2rem,3vw,2.5rem)}
.film{break-inside:avoid;padding:.8rem 1rem;border-radius:12px;margin-bottom:.35rem;transition:background .2s}
.film:nth-child(odd){background:var(--sky-pale)}
.film:hover{background:var(--sky-soft)}
.film dt{font-family:var(--display);font-weight:800;font-size:clamp(1.02rem,.97rem + .3vw,1.18rem);line-height:1.22;color:var(--navy);overflow-wrap:break-word}
.film dd{margin-top:.15rem;color:var(--blue);font-weight:500;font-size:clamp(.95rem,.92rem + .12vw,1.02rem);line-height:1.45}
.films-more{margin-top:1rem;display:inline-block;padding:.5em 1.1em;border-radius:999px;background:var(--sun-soft);font-weight:800;color:var(--navy)}
@media (max-width:820px){.films{columns:1}}
.inst{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.2rem,3.5vw,3rem);align-items:start}
.inst-list li{display:flex;gap:.8rem;align-items:baseline;padding:.9rem 0;border-bottom:1px solid var(--rule);font-family:var(--display);font-weight:800;font-size:clamp(1.05rem,.98rem + .5vw,1.35rem);line-height:1.2;color:var(--navy);overflow-wrap:break-word}
.inst-list li::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--sky);transform:translateY(-.1em)}
.inst-list li:first-child{padding-top:0}
.special{background:var(--sun-soft);border-radius:var(--r);padding:clamp(1.3rem,3vw,2.2rem);display:grid;gap:.7rem;border-left:6px solid var(--sun)}
.special h4{font-family:var(--display);font-weight:800;font-size:clamp(1.25rem,1rem + 1.1vw,1.8rem);line-height:1.1;color:var(--navy);overflow-wrap:break-word;hyphens:auto}
.special .special-sub{font-weight:700;color:var(--blue)}
@media (max-width:860px){.inst{grid-template-columns:minmax(0,1fr)}}

/* ---------- MedienMonitor ---------- */
.mm{background:linear-gradient(180deg,var(--sky-soft),#DCEBFD);border-block:1px solid var(--rule);overflow:hidden}
.mm-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-areas:"cover text" "cover offer";gap:clamp(1.4rem,3.5vw,3rem) clamp(2rem,5vw,5rem);align-items:start}
.mm-text{grid-area:text}
.mm-stage{grid-area:cover;position:sticky;top:calc(var(--head-h) + 2rem);perspective:1400px;display:grid;place-items:center;padding:clamp(.4rem,1.5vw,1.2rem)}
.offer{grid-area:offer}
.mm h2{margin-bottom:1.2rem}
.mm h2 .b{color:var(--blue)}
.mm-text p{max-width:40rem;font-size:clamp(1.06rem,1rem + .3vw,1.2rem)}
.mm-text p + p{margin-top:1rem}
.cover{width:min(100%,420px);transform:rotate(-2.5deg);transform-style:preserve-3d;transition:transform .35s ease-out;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 30px 60px -28px rgba(18,30,68,.6),0 0 0 1px rgba(18,30,68,.08)}
.cover img{width:100%}
.offer{background:#fff;border-radius:calc(var(--r) + 4px);padding:clamp(1.3rem,3.2vw,2.4rem);box-shadow:var(--shadow);border-top:6px solid var(--sun)}
.offer-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem 1rem;margin-bottom:.7rem}
.offer h3{font-family:var(--display);font-weight:800;font-size:clamp(1.3rem,1rem + 1.1vw,1.85rem);line-height:1.12;color:var(--navy)}
.price{padding:.5em 1.1em;border-radius:999px;background:var(--sun);color:var(--navy);font-weight:800;font-size:1rem;white-space:nowrap}
.offer-text{color:var(--ink-soft);margin-bottom:1.3rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.f{display:grid;gap:.35rem}
.f.wide{grid-column:1/-1}
.f label{font-weight:700;font-size:.98rem;color:var(--navy)}
.f input,.f textarea{width:100%;min-height:54px;padding:.75rem 1rem;border:2px solid var(--rule);border-radius:14px;background:var(--sky-pale);font-size:1.05rem;line-height:1.4;transition:border-color .2s,background .2s,box-shadow .2s}
.f textarea{resize:vertical;min-height:120px}
.f input:hover,.f textarea:hover{border-color:var(--sky)}
.f input:focus,.f textarea:focus{outline:0;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(36,102,190,.18)}
.f input.invalid{border-color:#C0392B;background:#FFF5F4}
.order-note{margin-top:1rem;font-size:.92rem;color:var(--ink-soft)}
.order-note a{color:var(--blue);font-weight:600}
.order .btn{margin-top:1.1rem}
.order-msg{margin-top:1rem;padding:1rem 1.2rem;border-radius:14px;font-weight:700}
.order-msg.ok{background:#E5F6EC;color:#14653A;border:2px solid #A9DDBF}
.order-msg.bad{background:#FDECEA;color:#A5281F;border:2px solid #F3B7B1}
@media (max-width:900px){
  .mm-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"text" "cover" "offer"}
  .mm-stage{position:static}
  .cover{width:min(74%,340px)}
}
@media (max-width:560px){.order-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Kontakt ---------- */
.kontakt h2{margin-bottom:clamp(1.8rem,4vw,3rem)}
.kontakt h2 .ln:nth-child(even){color:var(--blue)}
.kontakt-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:stretch}
.kontakt-card{display:flex;flex-direction:column;gap:1.1rem;background:#fff;border-radius:calc(var(--r) + 4px);padding:clamp(1.3rem,3vw,2.4rem);box-shadow:var(--shadow)}
.kontakt address{display:grid;gap:.4rem;font-size:clamp(1.08rem,1rem + .3vw,1.22rem);line-height:1.45}
.kontakt address strong{font-family:var(--display);font-weight:800;font-size:clamp(1.25rem,1rem + 1vw,1.7rem);line-height:1.12;color:var(--navy)}
.reach{display:flex;align-items:center;gap:.9rem;min-height:62px;padding:.9rem 1.1rem;border-radius:16px;background:var(--sky-pale);border:2px solid var(--sky-soft);text-decoration:none;font-family:var(--display);font-weight:800;font-size:clamp(1.08rem,1rem + .7vw,1.45rem);line-height:1.15;color:var(--navy);overflow-wrap:anywhere;transition:background .25s,border-color .25s,transform .3s var(--ease)}
.reach svg{flex:none;color:var(--blue)}
.reach:hover{background:var(--sky-soft);border-color:var(--sky);transform:translateX(4px)}
.map-box{position:relative;min-height:clamp(320px,44vw,480px);border-radius:calc(var(--r) + 4px);overflow:hidden;background:var(--sky-soft);box-shadow:var(--shadow)}
#map{position:absolute;inset:0;z-index:0;font-family:var(--text)}
.kc-pin{width:26px;height:26px;border-radius:50% 50% 50% 0;background:var(--blue);border:3px solid #fff;transform:rotate(-45deg);box-shadow:0 4px 10px rgba(0,0,0,.35)}
.leaflet-container a{color:var(--blue)}
.leaflet-bar a{width:40px!important;height:40px!important;line-height:40px!important;font-size:22px!important}
@media (max-width:900px){.kontakt-in{grid-template-columns:minmax(0,1fr)}}

/* ---------- Fußzeile ---------- */
.foot{background:#fff;border-top:4px solid var(--sky);padding-block:clamp(1.6rem,3.5vw,2.6rem) calc(clamp(1.6rem,3.5vw,2.6rem) + env(safe-area-inset-bottom))}
.foot-in{display:flex;align-items:center;gap:clamp(1rem,3vw,2.2rem);flex-wrap:wrap}
.foot .logo img{height:60px;width:auto}
.foot-id{display:grid;gap:.1rem;margin-right:auto}
.foot-id strong{font-weight:800;color:var(--navy)}
.foot-id span{color:var(--ink-soft)}
.foot-nav{display:flex;flex-wrap:wrap;gap:.3rem .5rem}
.foot-nav a{display:inline-block;padding:.6rem 1rem;border-radius:999px;font-weight:700;text-decoration:none;color:var(--navy);transition:background .2s}
.foot-nav a:hover{background:var(--sky-soft)}

/* ---------- Impressum und Datenschutz ---------- */
.legal{min-height:60vh}
.legal-in{max-width:calc(860px + 2*var(--pad))}
.legal h1.display{font-size:clamp(2rem,5vw,3.4rem);margin-bottom:.7rem}
.legal-sub{font-size:clamp(1.08rem,1rem + .45vw,1.3rem);color:var(--ink-soft);margin-bottom:2rem}
.legal-address{background:#fff;border-radius:var(--r);border-left:6px solid var(--blue);padding:clamp(1.2rem,3vw,2rem);line-height:1.75;margin-bottom:2rem;box-shadow:var(--shadow);overflow-wrap:anywhere}
.legal h2{font-family:var(--display);font-weight:800;font-size:clamp(1.2rem,1rem + .8vw,1.55rem);line-height:1.15;color:var(--navy);margin:2.2rem 0 .7rem}
.legal p{max-width:46rem}
.legal-closing{font-weight:600}

/* ---------- Einblenden beim Scrollen ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s var(--ease)}
  .js .rv.in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{.head{position:static}.burger,.langs,.btn,.map-box,.offer{display:none}}

/* ---------- Design-Umschalter (nur solange die Auswahl offen ist) ---------- */
.design-switch{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;gap:.25rem;padding:.3rem;border-radius:999px;background:#fff;color:#121E44;font:700 .88rem/1 "Inter",Arial,sans-serif;box-shadow:0 10px 30px -8px rgba(10,20,50,.55),0 0 0 1px rgba(18,30,68,.12)}
.design-switch span{padding:0 .5rem 0 .8rem}
.design-switch a{display:block;padding:.7rem 1rem;border-radius:999px;text-decoration:none;color:#121E44;min-height:40px}
.design-switch a:hover{background:#E6F0FD}
.design-switch a[aria-current]{background:#121E44;color:#fff}
@media (max-width:560px){.design-switch span{display:none}.design-switch a{padding:.7rem .7rem;font-size:.82rem}}
@media print{.design-switch{display:none}}

.stepper{display:none}
