@charset "UTF-8";
/* ==========================================================================
   MARTIN SATTELBERGER — Fliesen, Platten & Mosaik, Neubeuern
   Farbwelt aus den eigenen Arbeiten: Onyx-Stein (tiefes Petrolgrau) + warmer Ton
   auf hellem Grund. Bewusst hell und ruhig gehalten.
   ========================================================================== */
:root{
  /* Stein / Onyx — Primaerfarbe */
  --blue-900:#12262C;
  --blue-800:#1A343C;
  --blue-700:#24454E;
  --blue-600:#315A66;
  --blue-300:#8AA7AF;
  --blue-100:#E1EAEC;
  --blue-050:#F1F6F7;

  /* Ton / Clay — Akzentfarbe */
  --orange:#B2582F;
  --orange-700:#8C4321;
  --orange-100:#F8EBE3;

  --ink:#101A1E;
  --ink-2:#2C3B41;
  --body:#55666D;
  --line:#DEE5E7;
  --line-2:#EDF1F2;
  --white:#FFFFFF;
  --alt:#F5F8F8;

  --display:"Plus Jakarta Sans","Segoe UI",sans-serif;
  --sans:"Inter","Segoe UI",sans-serif;

  --shadow-s:0 1px 2px rgba(16,26,30,.05), 0 4px 14px rgba(16,26,30,.05);
  --shadow-m:0 2px 6px rgba(16,26,30,.06), 0 18px 44px rgba(16,26,30,.09);
  --shadow-l:0 4px 12px rgba(18,38,44,.09), 0 30px 70px rgba(18,38,44,.15);

  --r:14px;
  --nav-h:76px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 14px)}
body{
  font-family:var(--sans);color:var(--body);background:var(--white);
  line-height:1.72;font-size:16.5px;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--orange);color:#fff}

/* ---------- Typo-Bausteine ---------- */
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);line-height:1.1;letter-spacing:-.022em;font-weight:800}
h2{font-size:clamp(1.85rem,4.1vw,3.05rem)}
h3{font-size:clamp(1.15rem,2vw,1.4rem);font-weight:700;letter-spacing:-.015em;line-height:1.3}
p{text-wrap:pretty}
strong{color:var(--ink-2);font-weight:600}

.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2.6rem)}
section{position:relative}
.sec{padding:clamp(3.8rem,8vw,7rem) 0}
.sec--alt{background:var(--alt);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}

/* Kachel-Motiv aus dem Logo: gedrehtes Quadrat */
.tile{
  display:inline-block;width:9px;height:9px;flex:none;
  background:var(--orange);transform:rotate(45deg);border-radius:1px;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:.7rem;
  font-family:var(--display);font-weight:700;font-size:.7rem;
  letter-spacing:.19em;text-transform:uppercase;color:var(--blue-700);
  margin-bottom:1.05rem;
}
.sec-head{max-width:60ch;margin-bottom:clamp(2.2rem,4.5vw,3.4rem)}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head.center .eyebrow{justify-content:center}
.sec-head p{margin-top:1.1rem;font-size:1.055rem;max-width:56ch}
.sec-head.center p{margin-left:auto;margin-right:auto}
.hl{color:var(--blue-700)}
.hl-o{color:var(--orange)}

/* Unterstrichener Akzent hinter einem Wort */
.mark{position:relative;display:inline-block;z-index:0}
.mark::after{
  content:"";position:absolute;left:-.06em;right:-.06em;bottom:.06em;height:.34em;
  background:var(--orange-100);z-index:-1;border-radius:2px;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--display);font-weight:700;font-size:.9rem;letter-spacing:.005em;
  padding:.95rem 1.7rem;border-radius:10px;border:1.5px solid transparent;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:transform .22s cubic-bezier(.2,.9,.3,1), box-shadow .22s, background .22s, color .22s, border-color .22s;
}
.btn svg{width:17px;height:17px;flex:none}
.btn--primary{background:var(--blue-700);color:#fff;box-shadow:0 6px 18px rgba(36,69,78,.28)}
.btn--primary:hover{background:var(--blue-900);transform:translateY(-2px);box-shadow:0 10px 26px rgba(36,69,78,.34)}
.btn--accent{background:var(--orange);color:#fff;box-shadow:0 6px 18px rgba(178,88,47,.30)}
.btn--accent:hover{background:var(--orange-700);transform:translateY(-2px);box-shadow:0 10px 26px rgba(178,88,47,.36)}
.btn--ghost{background:#fff;color:var(--blue-700);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--blue-700);transform:translateY(-2px);box-shadow:var(--shadow-s)}
.btn--light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35)}
.btn--light:hover{background:#fff;color:var(--blue-900);transform:translateY(-2px)}

/* ---------- Top-Leiste ---------- */
.topbar{
  background:var(--blue-900);color:#BDD0D3;
  font-size:.79rem;letter-spacing:.01em;
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:42px}
.topbar a{color:#fff;text-decoration:none;font-weight:500}
.topbar a:hover{color:var(--orange)}
.topbar__l,.topbar__r{display:flex;align-items:center;gap:1.35rem;min-width:0}
.topbar svg{width:15px;height:15px;flex:none}
.tb__mark{display:block;width:17px;height:17px;flex:none}
.tb__mark svg{width:17px;height:17px}
.tb__claim{font-family:var(--display);font-weight:700;color:#fff;white-space:nowrap}
.tb__adr,.tb__hours{display:none;align-items:center;gap:.55rem;white-space:nowrap}
.tb__tel{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--display);font-weight:700;white-space:nowrap}
.tb__soc{display:none;align-items:center;gap:1rem;padding-left:1.25rem;border-left:1px solid rgba(255,255,255,.22)}
.tb__soc a{display:grid;place-items:center;color:#fff}
.tb__soc svg{width:17px;height:17px}
@media(min-width:600px){.tb__soc{display:flex}}
@media(min-width:880px){.tb__hours{display:inline-flex}}
@media(min-width:1150px){.tb__adr{display:inline-flex}}

/* ---------- Navigation ---------- */
.nav{
  position:sticky;top:0;z-index:90;background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line-2);
  transition:box-shadow .3s, border-color .3s;
}
.nav.stuck{box-shadow:0 6px 26px rgba(16,26,30,.09);border-color:transparent}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--nav-h)}
.brand{display:flex;align-items:center;gap:.85rem;text-decoration:none;flex:none}
.brand img{height:46px;width:auto}
@media(max-width:420px){.brand img{height:38px}}
.nav__links{display:none;align-items:center;gap:1.9rem;list-style:none}
@media(min-width:1080px){.nav__links{display:flex}}
.nav__links a{
  text-decoration:none;font-family:var(--display);font-weight:600;font-size:.875rem;
  color:var(--ink-2);position:relative;padding:.4rem 0;transition:color .25s;
}
.nav__links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--orange);transition:right .3s cubic-bezier(.2,.9,.3,1);
}
.nav__links a:hover,.nav__links a.active{color:var(--blue-700)}
.nav__links a:hover::after,.nav__links a.active::after{right:0}
.nav__act{display:flex;align-items:center;gap:.7rem}
.nav__tel{
  display:none;align-items:center;gap:.6rem;text-decoration:none;
  font-family:var(--display);font-weight:700;color:var(--ink);font-size:.86rem;
  border:1.6px solid var(--orange);border-radius:10px;padding:.72rem 1.2rem;background:#fff;
  transition:background .25s,color .25s;
}
@media(min-width:900px){.nav__tel{display:inline-flex}}
.nav__tel:hover{background:var(--orange);color:#fff}
.nav__tel:hover svg{color:#fff !important}
.nav__cta{display:none;padding:.78rem 1.35rem;font-size:.84rem}
@media(min-width:640px){.nav__cta{display:inline-flex}}
.burger{
  display:grid;place-content:center;gap:5px;width:44px;height:44px;flex:none;
  background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer;
}
@media(min-width:1080px){.burger{display:none}}
.burger span{display:block;width:19px;height:2px;background:var(--ink);border-radius:2px;transition:.3s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.drawer{
  /* unter der Navigation (z-index 90), damit der Burger klickbar bleibt */
  position:fixed;inset:0;z-index:85;background:#fff;
  padding:calc(var(--nav-h) + 2.4rem) clamp(1.4rem,6vw,3rem) 2rem;
  display:flex;flex-direction:column;gap:.2rem;
  transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;
  overflow-y:auto;
}
.drawer.open{opacity:1;transform:none;pointer-events:auto}
.drawer a.dl{
  font-family:var(--display);font-weight:700;font-size:1.35rem;color:var(--ink);
  text-decoration:none;padding:.75rem 0;border-bottom:1px solid var(--line-2);
  display:flex;align-items:center;justify-content:space-between;
}
.drawer a.dl::after{content:"→";color:var(--blue-300);font-weight:500}
.drawer .btn{margin-top:1.6rem}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;isolation:isolate;min-height:var(--heroh, calc(100svh - 114px));overflow:hidden;background:var(--blue-900);color:#fff}
.hero__image,.hero__image img{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero__image{z-index:-3}
.hero__image img{object-fit:cover;object-position:center}
.hero__shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(9,18,18,.91) 0%,rgba(11,21,20,.84) 27%,rgba(12,22,20,.35) 48%,rgba(11,20,19,.04) 72%)}
.hero__wrap{min-height:var(--heroh, calc(100svh - 114px));display:flex;align-items:center;padding-top:clamp(2.5rem,7vh,5.8rem);padding-bottom:clamp(4rem,9vh,7rem)}
.hero__content{width:min(100%,640px)}
.hero__kicker{display:block;font-family:var(--display);font-size:clamp(.66rem,1vw,.8rem);font-weight:700;letter-spacing:.38em;text-transform:uppercase;color:#eac7b4;margin-bottom:1.1rem}
.hero h1{color:#fff;font-size:clamp(2.55rem,5.25vw,5rem);letter-spacing:-.045em;line-height:1.01}
.hero h1 span{color:#c66c40}
.hero__lead{max-width:52ch;margin-top:1.35rem;font-size:clamp(1rem,1.45vw,1.19rem);line-height:1.55;color:rgba(255,255,255,.91)}
.hero__values{display:flex;gap:clamp(1.1rem,3vw,2.8rem);list-style:none;margin-top:2.1rem;color:#fff}
.hero__values li{min-width:4.5rem;font-size:clamp(.72rem,1vw,.89rem);line-height:1.3;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.hero__values span{display:block;margin-bottom:.6rem;color:#C97845;line-height:0}
.hero__values span svg{width:clamp(26px,2.4vw,34px);height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.55))}
.hero__values li.is-light span{color:rgba(255,255,255,.92)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}
.hero .btn{padding:1rem 1.7rem}.hero .btn--light{border-color:rgba(255,255,255,.75);background:rgba(0,0,0,.1)}
.hero__trust{display:flex;gap:clamp(1.7rem,4vw,3.8rem);align-items:center;margin-top:2.45rem}
.trustitem{display:flex;align-items:center;gap:.8rem}.google-g{font-family:Arial,sans-serif;font-weight:800;font-size:2.75rem;line-height:1;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 43%,#fbbc05 0 67%,#ea4335 0 83%,#4285f4 0);background-clip:text;-webkit-background-clip:text;color:transparent}
.stars{color:#ffb23f;letter-spacing:.1em;font-size:1rem;line-height:1}.trustitem b{font-family:var(--display);font-size:.91rem;color:#fff;line-height:1.2;display:block;margin-top:.25rem}.trustitem span{display:block;font-size:.7rem;line-height:1.35;color:rgba(255,255,255,.82);margin-top:.12rem}
.hero__claim{border-left:1px solid rgba(255,255,255,.55);padding-left:1.8rem;font-family:var(--display);font-size:1rem;line-height:1.25;color:#fff}.hero__claim em{font-family:cursive;font-size:1.35rem;font-weight:500}
.hero__scroll{
  position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:3;
  width:42px;height:42px;display:grid;place-items:center;color:#fff;text-decoration:none;
  animation:hero-bob 1.8s ease-in-out infinite;
}
.hero__scroll svg{width:30px;height:30px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}
@keyframes hero-bob{50%{transform:translate(-50%,6px)}}

/* Qualitätssiegel rechts unten im Hero */
.hero__seal{
  position:absolute;z-index:2;pointer-events:none;
  right:clamp(1.4rem,4vw,4.2rem);bottom:clamp(3.2rem,8vh,6.2rem);
  width:clamp(104px,10.5vw,158px);
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.34));
}
.hero__seal svg{width:100%;height:auto;display:block}
@media(max-width:1000px){.hero__seal{width:100px;right:1rem;bottom:1rem;opacity:.94}}
@media(max-width:780px){.hero__seal{display:none}}
@media(max-width:700px){
  .hero{min-height:var(--heroh, 650px)}.hero__image img{object-position:center}.hero__shade{background:linear-gradient(90deg,rgba(9,18,18,.86),rgba(9,18,18,.57) 66%,rgba(9,18,18,.2))}
  .hero__wrap{min-height:var(--heroh, 650px);align-items:flex-start;padding-top:3rem}.hero__content{max-width:510px}.hero__kicker{letter-spacing:.24em}.hero h1{font-size:clamp(2.45rem,11.5vw,4.3rem)}.hero__lead{font-size:.98rem;max-width:37ch}
  .hero__values{gap:1rem;margin-top:1.7rem}.hero__values li{min-width:0;font-size:.67rem}.hero__values span{font-size:1.9rem;height:1.8rem}.hero__trust{margin-top:1.7rem}.hero__claim{display:none}.hero__scroll{display:none}
}
@media(max-width:390px){.hero__values{gap:.65rem}.hero .btn{padding:.9rem 1.1rem;font-size:.79rem}}
@media (prefers-reduced-motion:reduce){.hero__scroll{animation:none}}

/* Leistungsband */
.band{background:var(--blue-900);color:#CFE0E3;overflow:hidden;position:relative}
.band__track{display:flex;width:max-content;animation:bandslide 42s linear infinite}
.band__set{display:flex;align-items:center;gap:2.4rem;padding:.95rem 1.2rem;white-space:nowrap}
.band__set span{
  font-family:var(--display);font-weight:600;font-size:.82rem;letter-spacing:.09em;
  text-transform:uppercase;display:flex;align-items:center;gap:2.4rem;
}
.band__set span::after{content:"";width:7px;height:7px;background:var(--orange);transform:rotate(45deg);flex:none}
@keyframes bandslide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.band__track{animation:none}}

/* ==========================================================================
   KENNZAHLEN
   ========================================================================== */
.figures{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
}
.figure{background:#fff;padding:clamp(1.6rem,3vw,2.3rem) 1.1rem;text-align:center}
.figure b{
  display:block;font-family:var(--display);font-weight:800;color:var(--blue-700);
  font-size:clamp(2.9rem,6.2vw,4.2rem);line-height:1;letter-spacing:-.04em;
  white-space:nowrap;
}
.figure b .count{
  display:inline;font:inherit;color:inherit;letter-spacing:inherit;
  text-transform:none;margin:0;
}
.figure b i{font-style:normal;color:var(--orange);font-size:.46em;vertical-align:.42em;letter-spacing:0}
.figure b i.full{font-size:.78em;vertical-align:0}
.figure>span{display:block;margin-top:.6rem;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;font-weight:500}
@media(min-width:880px){
  .figures{grid-template-columns:repeat(4,1fr)}
  .figure b{font-size:clamp(3.5rem,4.8vw,5rem)}
}

/* Vertrauens-Kennzahlen auf Bildfläche */
.credibility{position:relative;isolation:isolate;overflow:hidden;background:#f6f4ef;min-height:680px}.credibility__image,.credibility__image img{position:absolute;inset:0;width:100%;height:100%;display:block}.credibility__image{z-index:-2}.credibility__image img{object-fit:cover;object-position:center}.credibility__shade{position:absolute;z-index:-1;inset:0;background:rgba(251,250,247,.82)}
.credibility__wrap{padding-top:clamp(4.5rem,7.5vw,6.9rem);padding-bottom:clamp(4.5rem,7.5vw,6.9rem)}.credibility__head{text-align:center;max-width:900px;margin:0 auto}.credibility__head>span{display:block;font-family:var(--display);font-size:.76rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--orange);margin-bottom:.8rem}.credibility__head h2{font-size:clamp(2.35rem,4.2vw,4.3rem);letter-spacing:-.045em}.credibility__head h2 em{font-style:normal;color:var(--orange)}.credibility__head p{font-size:clamp(.96rem,1.35vw,1.16rem);margin-top:.8rem}.credibility__head::after{content:"";display:block;width:72px;height:2px;background:var(--orange);margin:2.15rem auto 2.35rem}
.credibility__cards{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.94);border:1px solid rgba(36,69,78,.12);border-radius:16px;box-shadow:var(--shadow-l);overflow:hidden}.cred{padding:1.9rem 1.25rem 1.8rem;text-align:center;min-width:0}.cred+.cred{border-left:1px solid var(--line)}.cred>i{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;margin:0 auto 1rem;background:radial-gradient(circle at 35% 28%,#fff,#ebe7df);font-family:Georgia,serif;font-size:3rem;font-style:normal;line-height:1;color:var(--orange)}.cred b{display:block;font-family:var(--display);font-size:clamp(2.6rem,4.2vw,4.35rem);color:var(--blue-700);letter-spacing:-.06em;line-height:.93;white-space:nowrap}.cred b .count{display:inline;font:inherit;letter-spacing:inherit;color:inherit}.cred b em{color:var(--orange);font-style:normal;font-size:.47em;letter-spacing:0;vertical-align:.3em}.cred div>span{display:block;font-family:var(--display);font-size:.69rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--body);margin-top:.85rem}.cred div>span::after{content:"";display:block;width:28px;height:2px;background:var(--orange);margin:1rem auto}.cred p{font-size:.85rem;line-height:1.45;max-width:18ch;margin:0 auto}.credibility__claim{display:none}
@media(max-width:800px){.credibility{min-height:0}.credibility__image img{object-position:center}.credibility__shade{background:linear-gradient(90deg,rgba(251,250,247,.9),rgba(251,250,247,.72))}.credibility__wrap{padding-top:4.4rem;padding-bottom:3.4rem}.credibility__head{text-align:left}.credibility__head h2{font-size:clamp(2.45rem,11.6vw,4rem)}.credibility__head::after{margin:1.65rem 0 2.4rem}.credibility__cards{grid-template-columns:1fr;gap:1.05rem;border:none;background:none;box-shadow:none;overflow:visible}.cred{display:grid;grid-template-columns:164px 1fr;gap:1.1rem;align-items:center;text-align:left;padding:1.35rem 1.1rem;background:rgba(255,255,255,.93);border:1px solid rgba(36,69,78,.12);border-radius:16px;box-shadow:var(--shadow-s)}.cred+.cred{border-left:1px solid rgba(36,69,78,.12)}.cred>i{margin:0;justify-self:center;width:118px;height:118px;font-size:4rem}.cred b{font-size:clamp(3rem,13vw,4.4rem)}.cred div>span{font-size:.65rem;margin-top:.55rem}.cred div>span::after{display:none}.cred p{max-width:none;margin-top:.6rem;font-size:.92rem}.credibility__claim{display:block;margin:2.2rem 1rem 0 auto;width:max-content;font-family:cursive;font-size:2rem;line-height:1;color:var(--orange);text-align:center;transform:rotate(-5deg)}}
@media(max-width:430px){.credibility__head>span{font-size:.64rem;letter-spacing:.24em}.cred{grid-template-columns:96px 1fr;padding:1rem .8rem;gap:.75rem}.cred>i{width:82px;height:82px;font-size:3rem}.cred p{font-size:.82rem}.credibility__claim{font-size:1.75rem}}

/* ==========================================================================
   LEISTUNGEN
   ========================================================================== */
.cards{display:grid;gap:1.2rem}
@media(min-width:680px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(1.5rem,2.6vw,2rem);position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.9,.3,1), box-shadow .3s, border-color .3s;
}
.card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--orange);
  transform:scaleY(0);transform-origin:top;transition:transform .35s cubic-bezier(.2,.9,.3,1);
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-m);border-color:transparent}
.card:hover::before{transform:scaleY(1)}
.card__ic{
  width:50px;height:50px;border-radius:12px;background:var(--blue-050);
  display:grid;place-items:center;color:var(--blue-700);margin-bottom:1.15rem;
  transition:background .3s,color .3s;
}
.card__ic svg{width:25px;height:25px}
.card:hover .card__ic{background:var(--blue-700);color:#fff}
.card h3{margin-bottom:.55rem}
.card p{font-size:.96rem}
.card__no{
  position:absolute;right:1.1rem;top:.9rem;font-family:var(--display);font-weight:800;
  font-size:2.4rem;color:var(--blue-050);letter-spacing:-.05em;line-height:1;
}

/* Breiter Leistungsbereich auf der Startseite */
.services{background:#fff;overflow:hidden}.services__hero{min-height:398px;position:relative;isolation:isolate;display:flex;align-items:center}.services__heroimg,.services__heroimg img{position:absolute;inset:0;width:100%;height:100%;display:block}.services__heroimg{z-index:-2}.services__heroimg img{object-fit:cover;object-position:center}.services__shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(253,252,249,.99) 0%,rgba(253,252,249,.94) 34%,rgba(253,252,249,.48) 53%,rgba(253,252,249,.03) 75%)}
.services__intro{padding-top:3.2rem;padding-bottom:3.2rem;max-width:1240px;width:100%}.services__intro>span,.services__promise>span{display:block;font-family:var(--display);font-size:.72rem;font-weight:700;letter-spacing:.29em;text-transform:uppercase;color:var(--orange);margin-bottom:.75rem}.services__intro h2{font-size:clamp(2.5rem,4.2vw,4.15rem);letter-spacing:-.045em;line-height:1.02}.services__intro h2 em{font-style:normal;color:var(--orange)}.services__intro p{max-width:48ch;margin-top:1.3rem;font-size:1rem;line-height:1.5}.services__intro>div{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.25rem}.services__intro .btn{padding:.85rem 1.45rem}.services__intro .btn--ghost{background:rgba(255,255,255,.55);border-color:var(--blue-700)}
.services__cards{display:grid;gap:1rem;padding-top:1.6rem;padding-bottom:1.4rem}.service-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:6px;overflow:hidden;background:linear-gradient(140deg,#fff,#f8f7f4);padding:0 1.1rem 1rem}.service-card img{width:calc(100% + 2.2rem);height:192px;object-fit:cover;margin:0 -1.1rem .95rem}.service-card>span{position:absolute;top:154px;left:1rem;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--blue-900);border:1px solid #fff;color:#fff;font-family:Georgia,serif;font-size:2rem;line-height:1;box-shadow:var(--shadow-s)}.service-card h3{font-size:1rem;margin-top:.55rem}.service-card p{font-size:.84rem;line-height:1.47;margin-top:.38rem}.service-card a{display:block;margin-top:auto;padding-top:1rem;color:var(--orange-700);font-family:var(--display);font-size:.8rem;font-weight:700;text-decoration:none}.service-card a:hover{color:var(--orange)}
.services__band{background:linear-gradient(112deg,#10262c 0%,#173b43 50%,#0d2228 100%);color:#fff;padding:2.3rem 0;position:relative;overflow:hidden}.services__band::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 45% 170% at 0% 100%,rgba(70,137,147,.2),transparent 68%),radial-gradient(ellipse 36% 130% at 100% 0%,rgba(255,255,255,.07),transparent 72%)}.services__band .wrap{position:relative;display:grid;align-items:center;gap:1.8rem}.services__promise b{display:block;font-family:var(--display);font-size:clamp(1.55rem,2.5vw,2.25rem);line-height:1.08}.services__facts{display:flex;gap:1.5rem}.services__facts>div{display:flex;gap:.65rem;align-items:flex-start;font-size:1.6rem;color:#fff}.services__facts p{font-size:.74rem;line-height:1.4;color:#bfd0d2}.services__facts b{display:block;font-family:var(--display);font-size:.82rem;color:#fff}.services__band .btn{justify-self:start;white-space:nowrap;padding:.9rem 1.2rem;font-size:.8rem}
@media(min-width:680px){.services__cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.services__band .wrap{grid-template-columns:1.1fr 1.85fr auto}.services__cards{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1280px){.services__cards{grid-template-columns:repeat(6,1fr);max-width:1500px}.service-card{min-height:403px}.service-card img{height:192px}.services__band .wrap{max-width:1500px}}
@media(max-width:700px){.services__hero{min-height:560px;align-items:flex-start}.services__heroimg img{object-position:center}.services__shade{background:linear-gradient(90deg,rgba(253,252,249,.94),rgba(253,252,249,.71))}.services__intro{padding-top:4rem}.services__intro h2{font-size:clamp(2.4rem,12vw,3.4rem)}.services__intro p{font-size:.94rem;max-width:39ch}.services__intro .btn{font-size:.78rem;padding:.8rem 1rem}.services__cards{grid-template-columns:1fr;padding-top:1rem}.service-card{min-height:0}.service-card img{height:215px}.service-card>span{top:177px}.services__facts{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.services__facts>div:last-child{grid-column:span 2}.services__band .btn{width:100%;justify-content:center}.services__promise b{font-size:1.65rem}}

/* ==========================================================================
   ÜBER UNS
   ========================================================================== */
.about{display:grid;gap:clamp(2rem,4.5vw,3.6rem);align-items:center}
@media(min-width:940px){.about{grid-template-columns:.92fr 1.08fr}}
.about__media{position:relative}
.about__media img{border-radius:16px;box-shadow:var(--shadow-m);width:100%;object-fit:cover;aspect-ratio:4/5}
.about__stamp{
  position:absolute;right:-.7rem;bottom:-.9rem;background:var(--blue-700);color:#fff;
  border-radius:14px;padding:1.05rem 1.3rem;box-shadow:var(--shadow-m);text-align:center;
}
.about__stamp b{display:block;font-family:var(--display);font-size:1.5rem;line-height:1}
.about__stamp span{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;margin-top:.3rem;color:#A9C4C9}
.about p+p{margin-top:1.05rem}
.about__sign{
  margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
}
.about__sign .who b{display:block;font-family:var(--display);font-size:1.08rem;color:var(--ink);line-height:1.2}
.about__sign .who span{display:block;font-size:.85rem}
.pill{
  display:inline-flex;align-items:center;gap:.5rem;background:var(--orange-100);color:var(--orange-700);
  font-family:var(--display);font-weight:700;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;
  padding:.5rem .9rem;border-radius:99px;
}

/* ==========================================================================
   GUTE GRÜNDE — Bildfläche mit heller Leseseite
   ========================================================================== */
.reasons{position:relative;isolation:isolate;overflow:hidden;min-height:810px;background:#f7f6f3}
.reasons__image,.reasons__image img{position:absolute;inset:0;width:100%;height:100%;display:block}
.reasons__image{z-index:-2}.reasons__image img{object-fit:cover;object-position:center}
.reasons::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(250,249,246,.99) 0%,rgba(250,249,246,.96) 38%,rgba(250,249,246,.62) 55%,rgba(250,249,246,.06) 76%)}
.reasons__wrap{padding-top:clamp(4.5rem,8vw,7.5rem);padding-bottom:clamp(4rem,7vw,6.7rem)}
.reasons__content{max-width:710px;color:var(--ink-2)}
.reasons__kicker{display:block;font-family:var(--display);font-size:.78rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--orange);margin-bottom:1rem}
.reasons h2{font-size:clamp(2.45rem,4.35vw,4.5rem);letter-spacing:-.045em;line-height:1.04}.reasons h2 span{color:var(--orange)}
.reasons__intro{max-width:62ch;margin-top:1.35rem;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.52}
.reasons__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem 2.4rem;margin-top:2.05rem}
.reason{text-align:center}.reason__icon{width:72px;height:72px;margin:0 auto .75rem;border-radius:50%;background:rgba(36,69,78,.08);display:grid;place-items:center;font-family:Georgia,serif;font-size:2.55rem;line-height:1;color:var(--blue-700)}
.reason:nth-child(2n) .reason__icon{color:var(--orange)}
.reason h3{font-size:1rem;line-height:1.25}.reason p{font-size:.86rem;line-height:1.52;margin-top:.42rem}
.reasons__foot{display:flex;align-items:center;gap:2.7rem;margin-top:2.6rem}.reasons__foot .btn{padding:1rem 1.5rem}.reasons__foot>span{border-left:1px solid rgba(36,69,78,.25);padding-left:2.3rem;font-family:cursive;font-size:1.65rem;color:var(--ink-2);white-space:nowrap}
@media(max-width:900px){.reasons{min-height:0}.reasons::after{background:linear-gradient(90deg,rgba(250,249,246,.98),rgba(250,249,246,.82) 72%,rgba(250,249,246,.45))}.reasons__content{max-width:650px}.reasons__grid{gap:1.6rem}.reasons__foot>span{font-size:1.35rem;padding-left:1.5rem}}
@media(max-width:700px){.reasons::after{background:linear-gradient(90deg,rgba(250,249,246,.95),rgba(250,249,246,.8) 100%)}.reasons__wrap{padding-top:4rem;padding-bottom:4rem}.reasons h2{font-size:clamp(2.25rem,11vw,3.5rem)}.reasons__intro{font-size:.98rem}.reasons__grid{grid-template-columns:repeat(2,1fr);gap:1.65rem .9rem;margin-top:1.8rem}.reason__icon{width:60px;height:60px;font-size:2.15rem;margin-bottom:.6rem}.reason h3{font-size:.88rem}.reason p{font-size:.77rem}.reasons__foot{margin-top:2.2rem;display:block}.reasons__foot .btn{width:100%;font-size:.82rem}.reasons__foot>span{display:block;border-left:none;padding:1rem 0 0;text-align:center;font-size:1.35rem;white-space:normal}}
.checks{list-style:none;margin-top:1.6rem;display:grid;gap:.7rem}
@media(min-width:620px){.checks{grid-template-columns:repeat(2,1fr)}}
.checks li{display:flex;align-items:flex-start;gap:.7rem;font-size:.96rem}
.checks li svg{width:19px;height:19px;flex:none;color:var(--orange);margin-top:.28rem}

/* ==========================================================================
   3D-RAUMANSICHT
   ========================================================================== */
.viewer3d{
  position:relative;border-radius:18px;overflow:hidden;background:#14262B;
  aspect-ratio:16/10;box-shadow:var(--shadow-l);touch-action:pan-y;
}
@media(min-width:900px){.viewer3d{aspect-ratio:2/1;max-height:560px}}
@media(max-width:560px){.viewer3d{aspect-ratio:4/3}}
.viewer3d canvas,.viewer3d .fallback{width:100%;height:100%;display:block}
.viewer3d canvas{cursor:grab}
.viewer3d.is-drag canvas{cursor:grabbing}
.viewer3d .fallback{object-fit:cover}
.viewer3d:focus{outline:none}
.viewer3d:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.v3d__tag{
  position:absolute;left:16px;top:16px;z-index:3;
  background:rgba(18,38,44,.92);color:#fff;backdrop-filter:blur(6px);
  font-family:var(--display);font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  padding:.55rem .95rem;border-radius:8px;display:flex;align-items:center;gap:.55rem;
}
.v3d__tag i{width:7px;height:7px;background:var(--orange);transform:rotate(45deg);display:block}
.v3d__hint{
  position:absolute;left:16px;bottom:16px;z-index:3;
  background:rgba(255,255,255,.94);color:var(--ink);border-radius:8px;
  padding:.6rem 1rem;font-size:.8rem;font-weight:500;box-shadow:var(--shadow-s);
  display:flex;align-items:center;gap:.5rem;transition:opacity .5s;
}
.viewer3d.is-touched .v3d__hint{opacity:0}
.v3d__zoom{position:absolute;right:16px;bottom:16px;z-index:3;display:flex;flex-direction:column;gap:7px}
.v3d__zoom button{
  width:40px;height:40px;border-radius:9px;border:none;cursor:pointer;
  background:rgba(255,255,255,.94);color:var(--blue-900);
  font-size:1.25rem;font-weight:700;line-height:1;display:grid;place-items:center;
  box-shadow:var(--shadow-s);transition:background .25s,color .25s;
}
.v3d__zoom button:hover{background:var(--orange);color:#fff}
.v3d-note{margin-top:1.1rem;font-size:.88rem;text-align:center}

/* Planer */
.planner{
  margin-top:clamp(1.8rem,3.5vw,2.6rem);background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow-s);
}
.planner h3{margin-bottom:.4rem}
.planner>p{font-size:.94rem;margin-bottom:1.4rem}
.planner__row{display:grid;gap:.9rem;align-items:end}
@media(min-width:820px){.planner__row{grid-template-columns:1fr 1fr 1fr auto}}
.field label{
  display:block;font-family:var(--display);font-weight:700;font-size:.74rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.45rem;
}
.field select,.field input,.field textarea{
  width:100%;font-family:var(--sans);font-size:.97rem;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:.85rem 1rem;transition:border-color .25s, box-shadow .25s;
}
.field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2354636F' stroke-width='2.2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right .85rem center;background-size:17px;padding-right:2.6rem;cursor:pointer}
.field textarea{min-height:130px;resize:vertical;line-height:1.65}
.field select:focus,.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(36,69,78,.16)}
.planner__out{
  margin-top:1.2rem;font-size:.92rem;background:var(--blue-050);border-radius:10px;
  padding:.85rem 1.1rem;display:none;
}
.planner__out.show{display:block}
.planner__out b{color:var(--blue-700)}

/* ==========================================================================
   ABLAUF
   ========================================================================== */
.steps{display:grid;gap:1.2rem;counter-reset:st}
@media(min-width:700px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1060px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(1.4rem,2.4vw,1.9rem);counter-increment:st;position:relative;
}
.step__n{
  width:44px;height:44px;border-radius:12px;background:var(--blue-700);color:#fff;
  display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.05rem;
  margin-bottom:1.1rem;
}
.step:nth-child(2) .step__n{background:var(--blue-600)}
.step:nth-child(3) .step__n{background:var(--orange)}
.step:nth-child(4) .step__n{background:var(--blue-900)}
.step time{
  display:inline-block;font-family:var(--display);font-weight:700;font-size:.7rem;
  letter-spacing:.13em;text-transform:uppercase;color:var(--orange-700);
  background:var(--orange-100);padding:.28rem .6rem;border-radius:6px;margin-bottom:.7rem;
}
.step h3{margin-bottom:.45rem}
.step p{font-size:.94rem}

/* Ablaufseite: Prozessübersicht */
.process{position:relative;isolation:isolate;overflow:hidden;background:#f7f5f0}.process__image,.process__image img{position:absolute;inset:0;width:100%;height:100%;display:block}.process__image{z-index:-2}.process__image img{object-fit:cover;object-position:center}.process__shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(252,251,248,.96),rgba(252,251,248,.9) 63%,rgba(252,251,248,.36))}.process__wrap{padding-top:clamp(4rem,7vw,6.6rem);padding-bottom:3.2rem}.process__head{max-width:820px}.process__head>span,.process__cta span{display:block;font-family:var(--display);font-size:.74rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--orange);margin-bottom:.8rem}.process__head h1{font-size:clamp(2.45rem,4.9vw,4.7rem);letter-spacing:-.045em;line-height:1.05}.process__head h1 em{font-style:normal;color:var(--orange)}.process__head p{font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.5;margin-top:1.15rem;max-width:62ch}.process__steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:4.4rem}.process-card{position:relative;background:rgba(255,255,255,.92);border:1px solid rgba(36,69,78,.08);border-radius:8px;overflow:visible;padding:0 1.1rem 1.3rem;min-width:0}.process-card>b{position:absolute;z-index:2;top:-60px;left:18px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-family:var(--display);font-size:1.25rem}.process-card>b::after{content:"";position:absolute;left:60px;top:29px;width:calc(20vw - 56px);height:1px;background:var(--orange)}.process-card:last-child>b::after{display:none}.process-card img{width:calc(100% + 2.2rem);height:195px;object-fit:cover;margin:0 -1.1rem .9rem;border-radius:8px 8px 0 0}.process-card>i{display:grid;place-items:center;width:62px;height:62px;margin-top:-42px;margin-bottom:.65rem;border-radius:50%;position:relative;background:#f7f4ee;border:1px solid #fff;box-shadow:var(--shadow-s);font-family:Georgia,serif;font-size:2rem;font-style:normal;color:var(--blue-700)}.process-card h2{font-size:1.1rem}.process-card p{font-size:.88rem;line-height:1.48;margin-top:.45rem}.process__cta{margin-top:3.2rem;padding:2rem 2.4rem;border-radius:16px;background:linear-gradient(110deg,var(--blue-900),#174149);color:#fff;display:grid;grid-template-columns:1.2fr auto 1fr;align-items:center;gap:2.2rem}.process__cta h2{color:#fff;font-size:clamp(1.65rem,2.5vw,2.35rem)}.process__cta .btn{white-space:nowrap}.process__cta p{display:flex;gap:1.8rem;border-left:1px solid rgba(255,255,255,.45);padding-left:2rem;font-size:.8rem;line-height:1.45}.process__cta a{color:#fff;text-decoration:none}.process__cta p b{font-weight:500}
@media(max-width:1000px){.process__steps{grid-template-columns:repeat(3,1fr)}.process-card>b::after{display:none}.process__cta{grid-template-columns:1fr auto}.process__cta p{grid-column:span 2;border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.3);padding-top:1rem}}
@media(max-width:700px){.process__shade{background:linear-gradient(90deg,rgba(252,251,248,.94),rgba(252,251,248,.72))}.process__wrap{padding-top:3.8rem}.process__head h1{font-size:clamp(2.45rem,11vw,4rem)}.process__steps{grid-template-columns:1fr;gap:1.1rem;margin-top:3.8rem;padding-left:1rem}.process-card{display:grid;grid-template-columns:38% 1fr;column-gap:1rem;padding:0 1rem 1rem}.process-card>b{left:-1rem;top:-.75rem;width:50px;height:50px;font-size:1.05rem}.process-card img{grid-row:span 3;width:100%;height:100%;min-height:190px;margin:0;align-self:stretch;border-radius:8px}.process-card>i{width:52px;height:52px;font-size:1.6rem;margin:-22px 0 .15rem}.process-card h2{font-size:1.2rem}.process-card p{font-size:.88rem;margin-top:-.1rem}.process__cta{grid-template-columns:1fr;padding:1.6rem;margin-top:2.2rem;gap:1.4rem}.process__cta .btn{width:100%;justify-content:center}.process__cta p{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;gap:1rem;font-size:.75rem}.process__cta h2{font-size:1.7rem}}

/* ==========================================================================
   GALERIE
   ========================================================================== */
.gal{display:grid;gap:1rem}
@media(min-width:640px){.gal{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.gal{grid-template-columns:repeat(4,1fr)}}
.shot{
  position:relative;margin:0;border-radius:14px;overflow:hidden;cursor:zoom-in;
  background:var(--blue-100);box-shadow:var(--shadow-s);
}
.shot img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4;transition:transform .6s cubic-bezier(.2,.9,.3,1)}
.shot:hover img{transform:scale(1.05)}
.shot figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:1.5rem 1.1rem .95rem;
  background:linear-gradient(to top,rgba(10,22,32,.86),rgba(10,22,32,0));
  color:#fff;
}
.shot figcaption b{display:block;font-family:var(--display);font-size:1rem;line-height:1.25}
.shot figcaption span{display:block;font-size:.76rem;color:#C3D2D5;margin-top:.15rem}

/* Materialien */
.mats{display:grid;gap:1.1rem}
@media(min-width:640px){.mats{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.mats{grid-template-columns:repeat(4,1fr)}}
.mat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}
.mat b{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-size:1.04rem;color:var(--ink);margin-bottom:.5rem}
.mat p{font-size:.93rem}

/* ==========================================================================
   PREISE
   ========================================================================== */
.prices{display:grid;gap:1.3rem;align-items:start}
@media(min-width:820px){.prices{grid-template-columns:repeat(3,1fr)}}
.price{
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:clamp(1.6rem,2.8vw,2.1rem);position:relative;display:flex;flex-direction:column;
  transition:transform .3s,box-shadow .3s;
}
.price:hover{transform:translateY(-4px);box-shadow:var(--shadow-m)}
.price--hot{border-color:var(--blue-700);box-shadow:var(--shadow-m)}
@media(min-width:820px){.price--hot{transform:translateY(-10px)}.price--hot:hover{transform:translateY(-14px)}}
.price__flag{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--orange);color:#fff;font-family:var(--display);font-weight:700;
  font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;padding:.4rem .95rem;border-radius:99px;
  box-shadow:0 4px 12px rgba(178,88,47,.36);white-space:nowrap;
}
.price h3{font-size:1.22rem}
.price__sub{font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:var(--blue-600);font-weight:600;margin-top:.3rem}
.price__val{
  margin:1.3rem 0;padding-bottom:1.3rem;border-bottom:1px solid var(--line-2);
  display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;
}
.price__val em{font-style:normal;font-size:.83rem;text-transform:uppercase;letter-spacing:.1em;color:var(--body)}
.price__val b{font-family:var(--display);font-weight:800;font-size:clamp(1.9rem,3.6vw,2.5rem);color:var(--ink);letter-spacing:-.03em;line-height:1}
.price__val i{font-style:normal;font-size:.92rem;color:var(--body)}
.price ul{list-style:none;display:grid;gap:.72rem;margin-bottom:1.7rem;flex:1}
.price ul li{display:flex;align-items:flex-start;gap:.65rem;font-size:.95rem}
.price ul li svg{width:18px;height:18px;flex:none;color:var(--orange);margin-top:.3rem}
.price .btn{width:100%}
.price-note{margin-top:1.6rem;font-size:.86rem;text-align:center;max-width:74ch;margin-left:auto;margin-right:auto}

/* ==========================================================================
   VERGLEICH
   ========================================================================== */
.compare{display:grid;gap:1.3rem}
@media(min-width:820px){.compare{grid-template-columns:repeat(2,1fr)}}
.col{border-radius:16px;padding:clamp(1.6rem,2.8vw,2.2rem)}
.col--we{background:var(--blue-900);color:#C6D8DC}
.col--we h3{color:#fff}
.col--other{background:#fff;border:1px solid var(--line)}
.col h3{display:flex;align-items:center;gap:.6rem;margin-bottom:1.3rem;font-size:1.15rem}
.col ul{list-style:none;display:grid;gap:.85rem}
.col li{display:flex;align-items:flex-start;gap:.75rem;font-size:.97rem}
.col li svg{width:19px;height:19px;flex:none;margin-top:.25rem}
.col--we li svg{color:var(--orange)}
.col--other li{color:var(--body)}
.col--other li svg{color:#B8C4D0}

/* ==========================================================================
   BEWERTUNGEN
   ========================================================================== */
.rating{
  display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2rem;justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:1.4rem 1.8rem;margin-bottom:1.6rem;box-shadow:var(--shadow-s);
}
.rating__score{display:flex;align-items:center;gap:.9rem}
.rating__score b{font-family:var(--display);font-weight:800;font-size:2.4rem;color:var(--ink);line-height:1}
.rating__score .stars{font-size:1.15rem}
.rating__score span{display:block;font-size:.8rem;margin-top:.2rem}
.reviews{display:grid;gap:1.2rem}
@media(min-width:820px){.reviews{grid-template-columns:repeat(2,1fr)}}
.review{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.5rem,2.6vw,2rem);position:relative}
.review__q{font-size:3.4rem;font-family:var(--display);color:var(--blue-100);line-height:.6;height:1.2rem}
.review p{font-size:.99rem;margin:.9rem 0 1.4rem;color:var(--ink-2)}
.review__who{display:flex;align-items:center;gap:.85rem;padding-top:1.2rem;border-top:1px solid var(--line-2)}
.avatar{
  width:44px;height:44px;flex:none;border-radius:50%;background:var(--blue-700);color:#fff;
  display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:.95rem;
}
.review__who b{display:block;font-family:var(--display);color:var(--ink);font-size:.98rem;line-height:1.2}
.review__who span{display:block;font-size:.79rem}

/* Einsatzgebiet */
.area{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin-top:.4rem}
.area span{
  background:#fff;border:1px solid var(--line);border-radius:99px;padding:.6rem 1.2rem;
  font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--ink-2);
  display:inline-flex;align-items:center;gap:.55rem;
}
.area span::before{content:"";width:7px;height:7px;background:var(--orange);transform:rotate(45deg);flex:none}
.area span.more{background:var(--blue-700);color:#fff;border-color:var(--blue-700)}
.area span.more::before{background:#fff}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq{max-width:900px;margin:0 auto;display:grid;gap:.8rem}
.qa{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .25s,box-shadow .25s}
.qa[open]{border-color:var(--blue-300);box-shadow:var(--shadow-s)}
.qa summary{
  list-style:none;cursor:pointer;padding:1.15rem 1.4rem;
  font-family:var(--display);font-weight:700;color:var(--ink);font-size:1.02rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{
  content:"";width:11px;height:11px;flex:none;border-right:2.4px solid var(--blue-600);
  border-bottom:2.4px solid var(--blue-600);transform:rotate(45deg) translateY(-3px);transition:transform .3s;
}
.qa[open] summary::after{transform:rotate(225deg) translateY(-3px)}
.qa .qa__body{padding:0 1.4rem 1.35rem;font-size:.97rem}

/* ==========================================================================
   CTA-BAND
   ========================================================================== */
.cta{
  background:linear-gradient(135deg,var(--blue-900) 0%, var(--blue-700) 100%);
  color:#fff;position:relative;overflow:hidden;
}
.cta::after{
  content:"";position:absolute;right:-10%;top:-40%;width:60%;height:180%;pointer-events:none;opacity:.14;
  background-image:linear-gradient(135deg,#fff 25%,transparent 25%,transparent 50%,#fff 50%,#fff 75%,transparent 75%);
  background-size:44px 44px;transform:rotate(8deg);
}
.cta .wrap{position:relative;z-index:1;text-align:center}
.cta h2{color:#fff}
.cta p{color:#C2D6DA;margin:1.1rem auto 0;max-width:56ch;font-size:1.05rem}
.cta__btns{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:2rem}

/* ==========================================================================
   KONTAKT
   ========================================================================== */
.contact{display:grid;gap:clamp(2rem,4vw,3rem)}
@media(min-width:980px){.contact{grid-template-columns:1.05fr .95fr}}
.form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(1.5rem,3vw,2.3rem);box-shadow:var(--shadow-s)}
.form__row{display:grid;gap:1rem}
@media(min-width:600px){.form__row{grid-template-columns:1fr 1fr}}
.form .field{margin-bottom:1rem}
.form .btn{width:100%;margin-top:.4rem}
.form__hint{font-size:.82rem;margin-top:.9rem;text-align:center}
.form__ok{
  display:none;margin-top:1rem;background:var(--orange-100);color:var(--orange-700);
  border-radius:10px;padding:.9rem 1.1rem;font-size:.92rem;font-weight:500;
}
.form__ok.show{display:block}

.infocard{background:var(--blue-900);color:#C6D8DC;border-radius:16px;padding:clamp(1.6rem,3vw,2.3rem)}
.infocard h3{color:#fff;margin-bottom:1.4rem}
.infolist{list-style:none;display:grid;gap:1.15rem}
.infolist li{display:flex;gap:1rem;align-items:flex-start}
.infolist .ic{
  width:42px;height:42px;flex:none;border-radius:11px;background:rgba(255,255,255,.09);
  display:grid;place-items:center;color:var(--orange);
}
.infolist .ic svg{width:20px;height:20px}
.infolist dt{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#93B2B8;margin-bottom:.15rem}
.infolist dd{font-family:var(--display);font-weight:600;color:#fff;font-size:1.02rem;line-height:1.45}
.infolist dd a{text-decoration:none}
.infolist dd a:hover{color:var(--orange)}
.infocard .note{
  margin-top:1.8rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);
  font-size:.9rem;color:#A3BCC1;
}
.wa-inline{
  display:inline-flex;align-items:center;gap:.6rem;margin-top:1.1rem;
  background:#25D366;color:#08331A;text-decoration:none;font-family:var(--display);font-weight:700;
  font-size:.87rem;padding:.75rem 1.2rem;border-radius:10px;transition:transform .2s,filter .2s;
}
.wa-inline:hover{transform:translateY(-2px);filter:brightness(1.06)}
.wa-inline svg{width:19px;height:19px}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.foot{background:#0C1D21;color:#95ABAF;padding-top:clamp(3rem,6vw,4.5rem)}
.foot__top{display:grid;gap:2.4rem;padding-bottom:2.6rem}
@media(min-width:820px){.foot__top{grid-template-columns:1.5fr 1fr 1fr}}
.foot__logo{background:#fff;border-radius:12px;padding:.7rem 1rem;display:inline-block}
.foot__logo img{height:58px;width:auto}
.foot__top p{font-size:.92rem;margin-top:1.2rem;max-width:38ch}
.foot h4{color:#fff;font-size:.78rem;letter-spacing:.17em;text-transform:uppercase;margin-bottom:1.1rem}
.foot__col a,.foot__col p{display:block;text-decoration:none;font-size:.93rem;padding:.28rem 0;transition:color .25s}
.foot__col a:hover{color:var(--orange)}
.foot__bot{
  border-top:1px solid rgba(255,255,255,.1);padding:1.4rem 0;
  display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;justify-content:space-between;align-items:center;
  font-size:.85rem;
}
.foot__bot a{text-decoration:none;margin-right:1.3rem}
.foot__bot a:hover{color:var(--orange)}

/* ==========================================================================
   WHATSAPP-POPUP
   ========================================================================== */
/* pointer-events:none, sonst blockiert der unsichtbare Container die Ecke der Seite */
.wa{
  position:fixed;right:18px;bottom:18px;z-index:80;pointer-events:none;
  display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;
}
.wa__panel{
  width:min(88vw,300px);background:#fff;border-radius:16px;box-shadow:var(--shadow-l);
  overflow:hidden;transform:translateY(12px) scale(.96);opacity:0;pointer-events:none;
  transform-origin:bottom right;transition:opacity .28s, transform .28s cubic-bezier(.2,.9,.3,1);
}
.wa.open .wa__panel{opacity:1;transform:none;pointer-events:auto}
.wa__head{background:#128C7E;color:#fff;padding:.95rem 1.15rem;display:flex;align-items:center;gap:.7rem}
.wa__head b{font-family:var(--display);font-size:.95rem;display:block;line-height:1.2}
.wa__head span{font-size:.75rem;color:#CFEFE7}
.wa__head button{margin-left:auto;background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;line-height:1;opacity:.85}
.wa__head button:hover{opacity:1}
.wa__body{padding:1.1rem;background:#ECE5DD}
.wa__msg{background:#fff;border-radius:0 10px 10px 10px;padding:.85rem 1rem;font-size:.9rem;color:var(--ink-2);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.wa__body a{
  display:flex;align-items:center;justify-content:center;gap:.55rem;margin-top:.9rem;
  background:#25D366;color:#08331A;text-decoration:none;border-radius:10px;padding:.8rem;
  font-family:var(--display);font-weight:700;font-size:.9rem;
}
.wa__btn{
  width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:#25D366;
  display:grid;place-items:center;box-shadow:0 8px 24px rgba(37,211,102,.42);
  transition:transform .25s;position:relative;pointer-events:auto;
}
.wa__btn:hover{transform:scale(1.06)}
.wa__btn svg{width:30px;height:30px;color:#fff}
.wa__dot{
  position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;
  background:var(--orange);border:2.5px solid #fff;
}
.wa.open .wa__dot{display:none}

/* ==========================================================================
   LIGHTBOX
   ========================================================================== */
.lb{
  position:fixed;inset:0;z-index:130;background:rgba(8,18,28,.94);
  display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.lb.open{opacity:1;pointer-events:auto}
.lb img{max-width:100%;max-height:78vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb figcaption{color:#D7E3E5;text-align:center;margin-top:1rem;font-size:.92rem}
.lb__x{
  position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:12px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;
  font-size:1.4rem;cursor:pointer;line-height:1;
}
.lb__x:hover{background:var(--orange);border-color:var(--orange)}

/* ---------- Scroll-Reveal ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.9,.3,1),transform .8s cubic-bezier(.2,.9,.3,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ==========================================================================
   SEITENKOPF DER UNTERSEITEN
   ========================================================================== */
.phero{
  background:var(--blue-900);color:#C6D8DC;position:relative;overflow:hidden;
  padding:clamp(2.6rem,6vw,4.6rem) 0 clamp(2.6rem,6vw,4.4rem);
}
.phero::after{
  content:"";position:absolute;right:-8%;top:-50%;width:55%;height:200%;pointer-events:none;opacity:.12;
  background-image:linear-gradient(135deg,#fff 25%,transparent 25%,transparent 50%,#fff 50%,#fff 75%,transparent 75%);
  background-size:44px 44px;transform:rotate(8deg);
}
.phero .wrap{position:relative;z-index:1}
.phero h1{color:#fff;font-size:clamp(2.05rem,4.6vw,3.35rem);letter-spacing:-.03em}
.phero p{margin-top:1.1rem;max-width:58ch;font-size:1.05rem;color:#C2D6DA}
.phero .eyebrow{color:#93B2B8}
.crumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
  font-size:.82rem;color:#93B2B8;margin-bottom:1.4rem;
}
.crumb a{text-decoration:none;color:#C6D8DC}
.crumb a:hover{color:var(--orange)}
.crumb i{font-style:normal;opacity:.55}

/* ---------- Weiterführende Verweise ---------- */
.morelink{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:1.1rem;
  font-family:var(--display);font-weight:700;font-size:.88rem;color:var(--blue-700);
  text-decoration:none;
}
.morelink::after{content:"→";transition:transform .25s}
.morelink:hover::after{transform:translateX(4px)}
.card .morelink{margin-top:.9rem}
.sec-foot{margin-top:clamp(2rem,4vw,3rem);text-align:center}

/* ---------- Leistung im Detail (Bild + Text im Wechsel) ---------- */
.duo{display:grid;gap:clamp(1.8rem,4vw,3.2rem);align-items:center}
@media(min-width:940px){
  .duo{grid-template-columns:1fr 1fr}
  .duo--flip .duo__media{order:2}
}
.duo+.duo{margin-top:clamp(3rem,6vw,5rem);padding-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--line)}
.duo__media img{border-radius:16px;box-shadow:var(--shadow-m);width:100%;object-fit:cover;aspect-ratio:4/3}
.duo h3{font-size:clamp(1.35rem,2.6vw,1.75rem);margin-bottom:.9rem}
.duo p+p{margin-top:.9rem}

/* ---------- Kacheln für Navigation am Seitenende ---------- */
.nextgrid{display:grid;gap:1.1rem;margin-top:clamp(2.4rem,5vw,3.6rem)}
@media(min-width:700px){.nextgrid{grid-template-columns:repeat(3,1fr)}}
.nextcard{
  display:block;text-decoration:none;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:1.4rem 1.5rem;transition:transform .3s,box-shadow .3s,border-color .3s;
}
.nextcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-m);border-color:transparent}
.nextcard b{display:block;font-family:var(--display);font-size:1.05rem;color:var(--ink);margin-bottom:.3rem}
.nextcard span{display:block;font-size:.9rem}
.nextcard::after{content:"→";display:inline-block;margin-top:.7rem;color:var(--blue-700);font-weight:700}

/* ---------- Rechtstexte ---------- */
.legal{max-width:76ch}
.legal h3{margin:2.2rem 0 .7rem}
.legal h3:first-child{margin-top:0}
.legal p+p{margin-top:.8rem}
.legal ul{margin:.8rem 0 0 1.2rem;display:grid;gap:.45rem}
.legal a{color:var(--blue-700)}

/* ---------- Aktive Seite in Menü und Fußzeile ---------- */
.drawer a.dl.active{color:var(--blue-700)}
.drawer a.dl.active::after{color:var(--orange)}
.foot__col a.active{color:#fff}

/* ==========================================================================
   WORTMARKE (statt Bilddatei — nutzt die Webfonts der Seite)
   ========================================================================== */
.brand__mark{
  width:44px;height:44px;flex:none;border-radius:11px;background:var(--blue-700);
  display:grid;place-items:center;box-shadow:0 4px 12px rgba(18,38,44,.2);
}
.brand__mark svg{width:26px;height:26px}
.brand__txt b{
  display:block;font-family:var(--display);font-weight:800;font-size:1.08rem;
  color:var(--ink);letter-spacing:-.022em;line-height:1.05;
}
.brand__txt i{
  display:block;font-style:normal;font-size:.615rem;letter-spacing:.185em;
  text-transform:uppercase;color:var(--blue-600);font-weight:600;margin-top:.24rem;
}
@media(max-width:430px){
  .brand__txt i{display:none}
  .brand__txt b{font-size:.98rem}
  .brand__mark{width:38px;height:38px;border-radius:10px}
  .brand__mark svg{width:22px;height:22px}
}
.foot__brand{display:flex;align-items:center;gap:.85rem}
.foot__brand .brand__mark{background:rgba(255,255,255,.1);box-shadow:none}
.foot__brand .brand__txt b{color:#fff;font-size:1.14rem}
.foot__brand .brand__txt i{color:#8FA9AE}

/* ==========================================================================
   BAUSTELLEN-VIDEO (Hochformat, wie vom Handy aufgenommen)
   ========================================================================== */
.reel{display:grid;gap:clamp(2rem,4.5vw,3.4rem);align-items:center}
@media(min-width:940px){.reel{grid-template-columns:.8fr 1.2fr}}
.reel__frame{
  position:relative;width:100%;max-width:360px;margin:0 auto;
  border-radius:20px;overflow:hidden;background:var(--blue-900);
  box-shadow:var(--shadow-l);aspect-ratio:774/1320;
}
.reel__frame video{width:100%;height:100%;object-fit:cover;display:block;background:var(--blue-900)}
.reel__play{
  position:absolute;inset:0;z-index:2;border:none;cursor:pointer;
  display:grid;place-items:center;
  background:linear-gradient(to top,rgba(18,38,44,.55),rgba(18,38,44,.08) 55%);
  transition:opacity .35s;
}
.reel.is-playing .reel__play{opacity:0;pointer-events:none}
.reel__play i{
  width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.95);
  display:grid;place-items:center;box-shadow:0 12px 32px rgba(0,0,0,.34);transition:transform .25s;
}
.reel__play:hover i{transform:scale(1.07)}
.reel__play svg{width:25px;height:25px;color:var(--blue-900);margin-left:4px}
.reel__tag{
  position:absolute;left:14px;top:14px;z-index:3;
  background:rgba(18,38,44,.9);color:#fff;backdrop-filter:blur(6px);
  font-family:var(--display);font-weight:700;font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;padding:.5rem .85rem;border-radius:8px;
  display:flex;align-items:center;gap:.5rem;
}
.reel__tag i{width:6px;height:6px;background:var(--orange);transform:rotate(45deg);display:block;flex:none}
.reel__note{margin-top:1rem;font-size:.85rem;text-align:center;max-width:360px;margin-left:auto;margin-right:auto}
.reel__facts{list-style:none;display:grid;gap:.95rem;margin-top:1.7rem}
@media(min-width:640px){.reel__facts{grid-template-columns:repeat(2,1fr)}}
.reel__facts li{display:flex;gap:.85rem;align-items:flex-start}
.reel__facts .ic{
  width:38px;height:38px;flex:none;border-radius:10px;background:var(--blue-050);
  color:var(--blue-700);display:grid;place-items:center;
}
.reel__facts .ic svg{width:19px;height:19px}
.reel__facts b{display:block;font-family:var(--display);font-size:.97rem;color:var(--ink);line-height:1.3}
.reel__facts span{display:block;font-size:.88rem;margin-top:.1rem}

/* Video-Einblick auf der Startseite */
.reel-section{position:relative;overflow:hidden;background:linear-gradient(90deg,#f8f7f4,#eee9e1);padding:clamp(4rem,7vw,6.5rem) 0}.reel-section::after{content:"";position:absolute;inset:0 0 0 64%;background:linear-gradient(120deg,rgba(178,88,47,.1),transparent);pointer-events:none}.reel-section .wrap{position:relative;z-index:1}.reel-section .reel{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(2rem,4.5vw,4rem);align-items:center}.reel__copy>span{display:block;font-family:var(--display);font-size:.75rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--orange);margin-bottom:.9rem}.reel__copy h2{font-size:clamp(2.55rem,4.6vw,4.5rem);letter-spacing:-.045em;line-height:1.04}.reel__copy h2 em{font-style:normal;color:var(--orange)}.reel__copy p{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.55;margin-top:1.15rem;max-width:48ch}.reel-section .reel__frame{max-width:none;width:100%;margin:0;aspect-ratio:16/10;border:4px solid rgba(255,255,255,.92);border-radius:18px;box-shadow:var(--shadow-l);background:var(--blue-900)}.reel-section .reel__frame video{object-fit:cover}.reel-section .reel__play{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;background:linear-gradient(to top,rgba(8,18,19,.61),rgba(8,18,19,.1) 65%);color:#fff}.reel-section .reel__play i{width:86px;height:86px}.reel-section .reel__play svg{width:29px;height:29px}.reel-section .reel__play b{font-family:var(--display);font-size:.76rem;letter-spacing:.23em;text-transform:uppercase}.reel-section .reel__play small{font-size:.9rem}.reel-section .reel__benefits{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.reel__benefits article{position:relative;padding-left:4.5rem;min-height:58px}.reel__benefits article+article{border-left:1px solid var(--line);padding-left:5.5rem}.reel__benefits i{position:absolute;left:0;top:0;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#f1eee8;color:var(--orange);font-family:Georgia,serif;font-size:1.8rem;font-style:normal}.reel__benefits h3{font-size:1rem}.reel__benefits p{font-size:.84rem;margin-top:.2rem;line-height:1.4}.reel-section .reel__cta{grid-column:1/3;justify-self:start;margin-top:-.7rem}
@media(max-width:700px){.reel-section{padding:4rem 0;background:linear-gradient(90deg,#f8f7f4,#f2eee6)}.reel-section::after{left:78%;background:rgba(178,88,47,.08)}.reel-section .reel{display:flex;flex-direction:column;gap:1.8rem;align-items:stretch}.reel__copy h2{font-size:clamp(2.5rem,11vw,3.8rem)}.reel-section .reel__frame{aspect-ratio:4/3}.reel-section .reel__play i{width:76px;height:76px}.reel-section .reel__benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;width:100%}.reel__benefits article,.reel__benefits article+article{padding:0;border-left:0}.reel__benefits i{position:static;width:58px;height:58px;margin-bottom:.7rem}.reel__benefits h3{font-size:.94rem}.reel__benefits p{font-size:.8rem}.reel-section .reel__cta{align-self:flex-start;margin-top:0}}

/* ==========================================================================
   DETAILS / QUALITAETSMERKMALE
   ========================================================================== */
.dets{display:grid;gap:1.1rem}
@media(min-width:760px){.dets{grid-template-columns:repeat(2,1fr)}}
.det{
  display:flex;gap:1.15rem;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:clamp(1.3rem,2.4vw,1.85rem);
  transition:border-color .3s,box-shadow .3s;
}
.det:hover{border-color:transparent;box-shadow:var(--shadow-m)}
.det__n{
  font-family:var(--display);font-weight:800;font-size:1.55rem;color:var(--blue-100);
  line-height:1;flex:none;letter-spacing:-.04em;
}
.det b{display:block;font-family:var(--display);font-size:1.06rem;color:var(--ink);margin-bottom:.4rem;line-height:1.3}
.det p{font-size:.95rem}

/* Breite Kachel in der Galerie (Querformat-Aufnahmen) */
@media(min-width:640px){
  .shot--wide{grid-column:span 2}
  .shot--wide img{aspect-ratio:16/10}
}
@media(min-width:980px){.reviews--3{grid-template-columns:repeat(3,1fr)}}

/* Hinweiszeile fuer noch offene Angaben */
.todo{
  display:block;margin-top:1.4rem;background:var(--orange-100);color:var(--orange-700);
  border-left:3px solid var(--orange);border-radius:0 10px 10px 0;
  padding:.8rem 1.1rem;font-size:.86rem;
}

/* ==========================================================================
   SCHNELLKONTAKT-BUTTON (Festnetz — daher kein WhatsApp)
   ========================================================================== */
.wa__head{background:var(--blue-800)}
.wa__head span{color:#A9C4C9}
.wa__body{background:var(--blue-050)}
.wa__msg{border-radius:10px}
.wa__body a{background:var(--orange);color:#fff}
.wa__body a+a{margin-top:.55rem;background:#fff;color:var(--blue-700);border:1px solid var(--line)}
.wa__btn{background:var(--blue-700);box-shadow:0 8px 24px rgba(36,69,78,.42)}
.wa__btn svg{width:27px;height:27px}
.wa-inline{background:var(--orange);color:#fff}
/* Preiskarten zeigen Text statt Betrag */
.price__val b{font-size:clamp(1.45rem,2.6vw,1.8rem)}

/* ==========================================================================
   KOPFZEILE — Feinschliff
   Vorher brachen Menüpunkte und Telefonnummer bei mittleren Laptop-Breiten
   auf zwei Zeilen um. Deshalb: nichts umbrechen lassen, Abstände in Stufen,
   Vollmenü erst ab 1120 px, Telefonnummer im Menü erst ab 1340 px (sie steht
   ohnehin dauerhaft in der Topleiste).
   ========================================================================== */
.nav .wrap{gap:.9rem}
.brand{min-width:0}
.brand__txt{min-width:0}
.brand__txt b,.brand__txt i{white-space:nowrap}
.brand__txt i{font-size:.585rem;letter-spacing:.15em}

.nav__links{gap:1.15rem}
.nav__links a{white-space:nowrap;font-size:.845rem}
@media(min-width:1240px){.nav__links{gap:1.5rem}.nav__links a{font-size:.87rem}}
@media(min-width:1400px){.nav__links{gap:1.85rem}}

/* Vollmenü/Burger sauber umschalten */
@media(max-width:1119px){.nav__links{display:none}.burger{display:grid}}
@media(min-width:1120px){.nav__links{display:flex}.burger{display:none}}

.nav__tel{display:none;white-space:nowrap}
@media(min-width:1340px){.nav__tel{display:inline-flex}}

.nav__cta{display:none;white-space:nowrap;padding:.74rem 1.15rem;font-size:.815rem}
@media(min-width:700px){.nav__cta{display:inline-flex}}
@media(min-width:1240px){.nav__cta{padding:.78rem 1.35rem;font-size:.84rem}}

/* Topleiste: Adresse erst zeigen, wenn wirklich Platz ist */
@media(max-width:900px){.topbar__l span:nth-child(2){display:none}}
/* Sehr schmale Handys: Wortmarke und Topleiste eine Spur kleiner,
   sonst schiebt sich die Zeile bei 320 px auseinander. */
@media(max-width:400px){
  .brand{gap:.6rem}
  .brand__mark{width:34px;height:34px;border-radius:9px}
  .brand__mark svg{width:20px;height:20px}
  .brand__txt b{font-size:.92rem}
}
@media(max-width:420px){
  .topbar{font-size:.73rem}
  .topbar .wrap{gap:.6rem}
}

/* ==========================================================================
   ECHTES LOGO (Rundmarke) — Kopfzeile, Fußzeile
   ========================================================================== */
.brand__logo{
  width:auto;height:52px;flex:none;display:block;
}
.foot__brand .brand__logo{height:62px}
@media(max-width:1119px){.brand__logo{height:48px}}
@media(max-width:560px){.brand__logo{height:42px}}
@media(max-width:380px){.brand__logo{height:38px}}

/* ==========================================================================
   INSTAGRAM-BEITRÄGE
   ========================================================================== */
.insta__head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:1.4rem;flex-wrap:wrap;
  margin-bottom:clamp(1.6rem,3vw,2.4rem);
}
.insta__head .sec-head{margin-bottom:0}
.insta__acc{
  display:inline-flex;align-items:center;gap:.85rem;text-decoration:none;
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:.75rem 1.1rem;
  box-shadow:var(--shadow-s);transition:transform .25s,box-shadow .25s;
}
.insta__acc:hover{transform:translateY(-2px);box-shadow:var(--shadow-m)}
.insta__acc img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--blue-900)}
.insta__acc b{display:block;font-family:var(--display);font-size:.95rem;color:var(--ink);line-height:1.2}
.insta__acc span{display:block;font-size:.8rem;color:var(--body);margin-top:.1rem}
.insta__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
@media(min-width:900px){.insta__grid{grid-template-columns:repeat(4,1fr);gap:1rem}}
.insta__item{
  position:relative;display:block;border-radius:14px;overflow:hidden;
  background:var(--blue-100);box-shadow:var(--shadow-s);text-decoration:none;
}
.insta__item img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;transition:transform .6s cubic-bezier(.2,.9,.3,1)}
.insta__item:hover img{transform:scale(1.05)}
.insta__item figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:1.7rem .85rem .75rem;
  background:linear-gradient(to top,rgba(10,22,28,.84),rgba(10,22,28,0));color:#fff;
  font-family:var(--display);font-weight:600;font-size:.82rem;line-height:1.25;
}
.insta__item .insta__mark{
  position:absolute;right:.6rem;top:.6rem;width:26px;height:26px;color:#fff;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));
}
.insta__foot{margin-top:clamp(1.4rem,3vw,2rem);text-align:center}
.insta__foot .btn svg{width:18px;height:18px}

/* ==========================================================================
   ÜBER UNS — Porträt, Geschichte, zweites Bild
   ========================================================================== */
.story{display:grid;gap:clamp(2rem,4.5vw,3.4rem);align-items:center}
@media(min-width:960px){.story{grid-template-columns:.95fr 1.05fr}}
.story__media{display:grid;grid-template-columns:1.25fr .75fr;gap:.9rem;align-items:start}
.story__media img{width:100%;border-radius:16px;object-fit:cover;box-shadow:var(--shadow-m);display:block}
.story__media img:first-child{aspect-ratio:4/5}
.story__media img:last-child{aspect-ratio:3/4;margin-top:2.4rem}
.story__badge{
  display:inline-flex;align-items:baseline;gap:.55rem;margin-bottom:1.1rem;
  background:var(--orange-100);color:var(--orange-700);border-radius:99px;padding:.45rem 1rem;
  font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;
}
.story p+p{margin-top:1rem}
.story__facts{
  list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
  margin-top:1.8rem;padding-top:1.6rem;border-top:1px solid var(--line);
}
.story__facts b{
  display:block;font-family:var(--display);font-weight:800;font-size:clamp(1.5rem,3vw,2.05rem);
  color:var(--blue-700);letter-spacing:-.03em;line-height:1;
}
.story__facts span{display:block;font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;margin-top:.45rem;line-height:1.35}

/* ==========================================================================
   MOBIL-FEINSCHLIFF — alles unter 760 px
   Ziel: kurze Wege, große Tippflächen, keine überlangen Zahlen und Kacheln.
   ========================================================================== */
@media(max-width:760px){
  :root{--nav-h:66px}
  body{font-size:16px}
  .wrap{padding-left:1.15rem;padding-right:1.15rem}
  .sec{padding:clamp(3rem,7vw,4.4rem) 0}
  h2{font-size:clamp(1.72rem,7.2vw,2.3rem)}
  .sec-head{margin-bottom:1.7rem}
  .sec-head p{font-size:.97rem;margin-top:.85rem}
  .eyebrow{font-size:.66rem;margin-bottom:.8rem}

  /* Knöpfe: volle Breite, damit der Daumen sicher trifft */
  .sec-foot .btn,.cta__btns .btn,.form .btn,.planner .btn{width:100%;justify-content:center}
  .cta__btns{display:grid;gap:.7rem}
  .btn{padding:.95rem 1.3rem;font-size:.86rem}

  /* --- Hero --- */
  .hero__kicker{font-size:.62rem;letter-spacing:.2em;margin-bottom:.8rem}
  .hero h1{font-size:clamp(2.3rem,10.4vw,3.6rem)}
  .hero__lead{font-size:.95rem;margin-top:1.05rem;max-width:34ch}
  .hero__values{
    display:grid;grid-template-columns:1fr 1fr;gap:1rem .8rem;margin-top:1.5rem;
    max-width:330px;
  }
  .hero__values li{min-width:0;font-size:.76rem}
  .hero__values span{margin-bottom:.4rem}
  .hero__values span svg{width:25px}
  .hero__cta{display:grid;gap:.6rem;margin-top:1.5rem;max-width:330px}
  .hero__cta .btn{width:100%;justify-content:center;padding:.95rem 1rem;font-size:.85rem}
  .hero__trust{margin-top:1.5rem}
  .google-g{font-size:2.2rem}
  .trustitem b{font-size:.86rem}
  .trustitem span{font-size:.68rem}

  /* --- Kennzahlen --- */
  .credibility__wrap{padding-top:3.2rem;padding-bottom:3rem}
  .credibility__head>span{font-size:.62rem;letter-spacing:.2em;margin-bottom:.6rem}
  .credibility__head h2{font-size:clamp(1.95rem,8.4vw,2.9rem)}
  .credibility__head p{font-size:.95rem}
  .credibility__head::after{margin:1.2rem 0 1.7rem}
  .credibility__cards{grid-template-columns:1fr 1fr;gap:.7rem}
  .cred{display:block;text-align:center;padding:1.15rem .7rem 1.2rem}
  .cred+.cred{border-left:1px solid rgba(36,69,78,.12)}
  .cred>i{width:46px;height:46px;font-size:1.7rem;margin:0 auto .6rem}
  .cred b{font-size:1.95rem;letter-spacing:-.04em}
  .cred b em{font-size:.5em}
  .cred div>span{font-size:.58rem;letter-spacing:.13em;margin-top:.45rem}
  .cred p{font-size:.78rem;line-height:1.4;margin-top:.4rem;max-width:none}
  .credibility__claim{font-size:1.55rem;margin-top:1.6rem}

  /* --- Leistungen --- */
  .services__hero{min-height:440px}
  .services__intro{padding-top:3rem;padding-bottom:2.6rem}
  .services__intro>span{font-size:.62rem;letter-spacing:.2em}
  .services__intro h2{font-size:clamp(2rem,9vw,3rem)}
  .services__intro p{font-size:.93rem;max-width:32ch;margin-top:1rem}
  .services__intro>div{display:grid;gap:.6rem;max-width:330px;margin-top:1.2rem}
  .services__intro .btn{width:100%;justify-content:center}
  .services__cards{gap:.9rem;padding-top:1.4rem;padding-bottom:1.6rem}
  .service-card{padding:0 1rem 1.1rem}
  .service-card img{height:168px;width:calc(100% + 2rem);margin:0 -1rem .9rem}
  .service-card>span{top:126px;left:.9rem;width:52px;height:52px;font-size:1.7rem}
  .service-card h3{font-size:1.05rem}
  .service-card p{font-size:.88rem}
  .services__band{padding:2rem 0}
  .services__promise b{font-size:1.5rem}
  .services__facts{grid-template-columns:1fr;gap:.85rem}
  .services__facts>div:last-child{grid-column:auto}
  .services__facts>div{font-size:1.35rem}
  .services__facts p{font-size:.78rem}

  /* --- Ablauf --- */
  .process__wrap{padding-top:3rem;padding-bottom:2.6rem}
  .process__head>span{font-size:.62rem;letter-spacing:.2em}
  .process__head h1,.process__head h2{font-size:clamp(2rem,8.8vw,3rem)}
  .process__head p{font-size:.95rem;margin-top:.9rem}
  .process__steps{margin-top:3rem;gap:1rem}
  .process-card{grid-template-columns:40% 1fr}
  .process-card img{min-height:150px}
  .process-card>i{width:44px;height:44px;font-size:1.35rem;margin:-18px 0 .1rem}
  .process-card h2{font-size:1.08rem}
  .process-card p{font-size:.83rem}
  .process__cta h2{font-size:1.45rem}
  .process__cta p{font-size:.72rem}

  /* --- Video --- */
  .reel-section{padding:3.2rem 0}
  .reel__copy h2{font-size:clamp(2rem,9vw,3rem)}
  .reel__copy p{font-size:.95rem}
  .reel-section .reel__benefits{grid-template-columns:1fr;gap:.9rem}
  .reel__benefits article{display:grid;grid-template-columns:48px 1fr;gap:.85rem;align-items:center}
  .reel__benefits i{width:48px;height:48px;font-size:1.5rem;margin:0}
  .reel__benefits h3{font-size:.95rem}
  .reel__benefits p{font-size:.82rem}
  .reel-section .reel__cta{width:100%;justify-content:center}

  /* --- Über uns --- */
  .story__media{grid-template-columns:1.2fr .8fr;gap:.7rem}
  .story__media img:last-child{margin-top:1.6rem}
  .story__facts{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1.4rem;padding-top:1.3rem}
  .story__facts b{font-size:1.45rem}
  .story__facts span{font-size:.62rem;letter-spacing:.08em;margin-top:.3rem}
  .about__stamp{right:.4rem;bottom:-.6rem;padding:.85rem 1rem}
  .about__stamp b{font-size:1.3rem}
  .checks li{font-size:.92rem}

  /* --- Gute Gründe --- */
  .reasons__kicker{font-size:.62rem;letter-spacing:.2em}
  .reasons h2{font-size:clamp(1.95rem,8.6vw,2.9rem)}
  .reasons__intro{font-size:.95rem;margin-top:1rem}

  /* --- Instagram --- */
  .insta__head{display:block}
  .insta__acc{margin-top:1.2rem;width:100%}
  .insta__grid{gap:.6rem}
  .insta__item figcaption{font-size:.72rem;padding:1.3rem .6rem .55rem}
  .insta__item .insta__mark{width:22px;height:22px}
  .insta__foot .btn{width:100%;justify-content:center}

  /* --- Materialien --- */
  .mats{gap:.75rem}
  .mat{padding:1.15rem 1.1rem;border-radius:12px}
  .mat b{font-size:.98rem;margin-bottom:.35rem}
  .mat p{font-size:.86rem;line-height:1.5}

  /* --- 360° --- */
  .v3d__tag{font-size:.6rem;padding:.45rem .7rem;left:10px;top:10px}
  .v3d__hint{font-size:.72rem;padding:.5rem .75rem;left:10px;bottom:10px}
  .v3d__zoom{right:10px;bottom:10px}
  .v3d__zoom button{width:38px;height:38px}
  .v3d-note{font-size:.8rem}

  /* --- Referenzen --- */
  .gal{grid-template-columns:1fr 1fr;gap:.6rem}
  .shot{border-radius:12px}
  .shot img{aspect-ratio:3/4}
  .shot figcaption{padding:1.4rem .7rem .65rem}
  .shot figcaption b{font-size:.8rem;line-height:1.2}
  .shot figcaption span{font-size:.66rem;margin-top:.1rem}

  /* --- Bewertungen --- */
  .rating{padding:1.1rem 1.2rem;gap:.9rem;text-align:center;justify-content:center}
  .rating .btn{width:100%;justify-content:center}
  .rating__score b{font-size:2rem}
  .review{padding:1.3rem 1.2rem}
  .review p{font-size:.94rem;margin:.7rem 0 1.1rem}

  /* --- FAQ --- */
  .qa summary{padding:1rem 1.1rem;font-size:.95rem}
  .qa .qa__body{padding:0 1.1rem 1.1rem;font-size:.92rem}

  /* --- Einsatzgebiet --- */
  .area{gap:.45rem}
  .area span{padding:.5rem .85rem;font-size:.81rem}

  /* --- Kontakt/Formular --- */
  .form{padding:1.25rem 1.1rem;border-radius:14px}
  .infocard{padding:1.4rem 1.2rem}
  .field input,.field select,.field textarea{font-size:16px;padding:.8rem .9rem}

  /* --- Seitenkopf der Unterseiten --- */
  .phero{padding:2.2rem 0 2.4rem}
  .phero h1{font-size:clamp(1.85rem,8vw,2.6rem)}
  .phero p{font-size:.97rem}
  .crumb{font-size:.76rem;margin-bottom:1rem}

  /* --- Fußzeile --- */
  .foot__top{gap:1.8rem;padding-bottom:2rem}
  .foot__top p{font-size:.88rem}
  .foot__col a,.foot__col p{font-size:.9rem;padding:.34rem 0}
  .foot__bot{font-size:.8rem;gap:.6rem}
  .foot__bot a{margin-right:1rem}

  /* --- Schnellkontakt --- */
  .wa{right:14px;bottom:14px}
  .wa__btn{width:54px;height:54px}
}

/* Sehr schmale Geräte */
@media(max-width:400px){
  .hero h1{font-size:2.15rem}
  .hero__values{gap:.85rem .6rem;max-width:300px}
  .hero__values li{font-size:.72rem}
  .cred b{font-size:1.7rem}
  .cred p{font-size:.74rem}
  .story__facts b{font-size:1.25rem}
  .story__facts span{font-size:.58rem}
  .services__facts>div{font-size:1.2rem}
}

/* Kopfzeile: die Wortmarke darf auf dem Handy nicht mit dem Burger kollidieren */
@media(max-width:560px){
  .brand{gap:.65rem}
  .brand__txt b{font-size:.95rem}
  .brand__txt i{font-size:.52rem;letter-spacing:.13em}
}
@media(max-width:400px){
  .brand__txt i{display:none}
  .brand__txt b{font-size:.9rem}
}

/* ==========================================================================
   NACHBESSERUNGEN
   ========================================================================== */

/* 1) CTA-Band und Seitenkopf: das Streifenmuster wirkte billig.
      Stattdessen ein ruhiger Lichtverlauf und eine feine Kante. */
.cta::after,.phero::after{
  content:"";position:absolute;inset:0;right:0;top:0;width:100%;height:100%;
  transform:none;opacity:1;background-image:none;background-size:auto;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 120% at 88% 0%,rgba(255,255,255,.10),transparent 62%),
    radial-gradient(ellipse 55% 130% at 4% 100%,rgba(138,167,175,.16),transparent 66%);
}
.cta{border-top:1px solid rgba(255,255,255,.08)}
.cta h2{font-size:clamp(1.85rem,4vw,3rem)}
.cta p{font-size:1rem}
.cta__btns{justify-content:center}

/* 2) Video-Vorteile: die drei Punkte brauchen eine feste Aufteilung,
      sonst rutscht der Text unter das Symbol und bricht Wort für Wort um. */
.reel__benefits article{min-width:0}
.reel__benefits h3,.reel__benefits p{min-width:0;overflow-wrap:break-word}

@media(max-width:760px){
  .reel-section .reel__benefits{grid-template-columns:1fr;gap:1rem}
  .reel__benefits article{
    display:grid;grid-template-columns:46px minmax(0,1fr);
    grid-template-areas:"ic titel" "ic text";
    column-gap:.9rem;row-gap:.15rem;align-items:center;
    padding:0;border-left:0;min-height:0;
  }
  .reel__benefits article+article{padding:0;border-left:0}
  .reel__benefits i{grid-area:ic;position:static;width:46px;height:46px;font-size:1.45rem;margin:0}
  .reel__benefits h3{grid-area:titel;font-size:.95rem;line-height:1.25}
  .reel__benefits p{grid-area:text;font-size:.83rem;line-height:1.4;margin:0}

  /* Knöpfe im CTA-Band über die volle Breite */
  .cta__btns{display:grid;grid-template-columns:1fr;gap:.65rem;justify-content:stretch}
  .cta__btns .btn{width:100%;justify-content:center}
  .cta p{font-size:.95rem;margin-top:.9rem}
}

/* ==========================================================================
   INSTAGRAM-BAND — dunkler Block zwischen den hellen Abschnitten
   ========================================================================== */
.insta{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(112deg,#10262C 0%,#173B43 52%,#0D2228 100%);
  padding:clamp(3.4rem,7vw,6rem) 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.insta::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 45% 150% at 2% 100%,rgba(70,137,147,.22),transparent 66%),
    radial-gradient(ellipse 40% 130% at 100% 0%,rgba(178,88,47,.20),transparent 70%);
}
.insta .wrap{position:relative;z-index:1}

.insta__kopf{display:grid;gap:1.8rem;align-items:end;margin-bottom:clamp(1.8rem,3.5vw,2.6rem)}
@media(min-width:960px){.insta__kopf{grid-template-columns:1.35fr auto}}
.insta__eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;color:var(--orange);
  font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;margin-bottom:.85rem;
}
.insta__eyebrow svg{width:17px;height:17px}
.insta h2{color:#fff;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.04em;line-height:1.04}
.insta h2 em{font-style:normal;color:var(--orange)}
.insta__kopf p{color:#BCD0D3;margin-top:1rem;font-size:clamp(.96rem,1.3vw,1.1rem);line-height:1.55;max-width:52ch}

/* Profilkarte */
.insta__karte{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;
  text-decoration:none;color:#fff;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:.95rem 1.1rem;
  transition:background .25s,border-color .25s,transform .25s;min-width:min(100%,340px);
}
.insta__karte:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);transform:translateY(-2px)}
.insta__avatar{
  width:52px;height:52px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:#F2EFE9;padding:4px;
}
.insta__avatar img{width:100%;height:100%;object-fit:contain}
.insta__ident{display:block;min-width:0}
.insta__ident b{display:block;font-family:var(--display);font-size:.98rem;line-height:1.2}
.insta__ident em{display:block;font-style:normal;font-size:.78rem;color:#A9C4C9;margin-top:.1rem}
.insta__zahlen{display:block;font-size:.76rem;color:#A9C4C9;margin-top:.35rem}
.insta__zahlen i{font-style:normal;font-family:var(--display);font-weight:700;color:#fff}
.insta__zahlen s{display:inline-block;width:4px;height:4px;background:var(--orange);transform:rotate(45deg);margin:0 .45rem .12rem;text-decoration:none}
.insta__folgen{
  flex:none;font-family:var(--display);font-weight:700;font-size:.8rem;
  border:1.5px solid var(--orange);color:#fff;border-radius:9px;padding:.55rem .95rem;
  transition:background .25s;
}
.insta__karte:hover .insta__folgen{background:var(--orange)}

/* Kacheln */
.insta__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
@media(min-width:900px){.insta__grid{grid-template-columns:repeat(4,1fr);gap:1.1rem}}
.insta__item{
  position:relative;display:block;border-radius:16px;overflow:hidden;text-decoration:none;
  background:#0C1D21;border:1px solid rgba(255,255,255,.1);
  box-shadow:0 18px 40px rgba(6,16,19,.4);
  transition:transform .35s cubic-bezier(.2,.9,.3,1),border-color .35s;
}
.insta__item:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.3)}
.insta__item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.9,.3,1)}
.insta__item:hover img{transform:scale(1.07)}
.insta__mark{
  position:absolute;right:.65rem;top:.65rem;z-index:2;width:34px;height:34px;
  display:grid;place-items:center;border-radius:10px;color:#fff;
  background:rgba(12,29,33,.62);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.22);
}
.insta__mark svg{width:18px;height:18px}
.insta__cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:2.2rem .9rem .85rem;
  background:linear-gradient(to top,rgba(8,20,24,.92),rgba(8,20,24,.15) 72%,transparent);
}
.insta__cap b{display:block;font-family:var(--display);font-size:.92rem;color:#fff;line-height:1.25}
.insta__cap em{
  display:block;font-style:normal;font-size:.72rem;color:var(--orange);margin-top:.2rem;
  opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s;
}
.insta__item:hover .insta__cap em{opacity:1;transform:none}

.insta__foot{
  display:flex;align-items:center;justify-content:center;gap:1.4rem;flex-wrap:wrap;
  margin-top:clamp(1.6rem,3vw,2.4rem);
}
.insta__foot .btn svg{width:18px;height:18px}
.insta__foot>span{font-family:var(--display);font-weight:600;font-size:.88rem;color:#A9C4C9}

@media(max-width:760px){
  .insta{padding:3.2rem 0}
  .insta h2{font-size:clamp(1.9rem,8.4vw,2.6rem)}
  .insta__kopf{gap:1.3rem;margin-bottom:1.5rem}
  .insta__kopf p{font-size:.94rem;margin-top:.85rem}
  .insta__eyebrow{font-size:.63rem;letter-spacing:.2em}
  .insta__karte{min-width:0;gap:.75rem;padding:.8rem .85rem;border-radius:14px}
  .insta__avatar{width:44px;height:44px}
  .insta__ident b{font-size:.9rem}
  .insta__ident em{font-size:.72rem}
  .insta__zahlen{font-size:.71rem}
  .insta__folgen{font-size:.74rem;padding:.48rem .8rem}
  .insta__grid{gap:.6rem}
  .insta__item{border-radius:13px}
  .insta__mark{width:28px;height:28px;right:.45rem;top:.45rem;border-radius:9px}
  .insta__mark svg{width:15px;height:15px}
  .insta__cap{padding:1.7rem .6rem .6rem}
  .insta__cap b{font-size:.78rem;line-height:1.2}
  .insta__cap em{display:none}
  .insta__foot{display:grid;gap:.8rem;justify-items:center}
  .insta__foot .btn{width:100%;justify-content:center}
}

/* ==========================================================================
   SEITENKOPF DER UNTERSEITEN — hell, im Stil der Startseite
   ========================================================================== */
.phead{
  position:relative;isolation:isolate;overflow:hidden;background:#F7F5F0;
  display:flex;align-items:center;min-height:340px;
}
.phead__img,.phead__img img{position:absolute;inset:0;width:100%;height:100%;display:block}
.phead__img{z-index:-2}
.phead__img img{object-fit:cover;object-position:center}
.phead__shade{
  position:absolute;z-index:-1;inset:0;
  background:linear-gradient(90deg,rgba(253,252,249,.985) 0%,rgba(253,252,249,.93) 36%,rgba(253,252,249,.5) 56%,rgba(253,252,249,.06) 78%);
}
.phead__wrap{padding-top:clamp(2.6rem,5.5vw,4.4rem);padding-bottom:clamp(2.6rem,5.5vw,4.4rem);width:100%}
.phead--schlank{min-height:0;background:linear-gradient(180deg,#F7F5F0,#FBFAF7);border-bottom:1px solid var(--line-2)}
.phead .crumb{color:var(--body);margin-bottom:1.1rem}
.phead .crumb a{color:var(--blue-700)}
.phead .crumb a:hover{color:var(--orange)}
.phead .crumb i{opacity:.45}
.phead__kicker{
  display:block;font-family:var(--display);font-size:.72rem;font-weight:700;
  letter-spacing:.29em;text-transform:uppercase;color:var(--orange);margin-bottom:.75rem;
}
.phead h1{
  color:var(--ink);font-size:clamp(2.1rem,4.4vw,3.8rem);
  letter-spacing:-.04em;line-height:1.04;max-width:20ch;
}
.phead h1 em,.phead h1 span{font-style:normal;color:var(--orange)}
.phead p{margin-top:1.1rem;max-width:56ch;font-size:clamp(.97rem,1.3vw,1.13rem);line-height:1.55;color:var(--body)}

@media(max-width:760px){
  .phead{min-height:0}
  .phead__shade{background:linear-gradient(90deg,rgba(253,252,249,.96),rgba(253,252,249,.8) 72%,rgba(253,252,249,.5))}
  .phead__wrap{padding-top:2.2rem;padding-bottom:2.4rem}
  .phead h1{font-size:clamp(1.85rem,8.2vw,2.7rem);max-width:none}
  .phead p{font-size:.96rem;margin-top:.9rem}
  .phead__kicker{font-size:.63rem;letter-spacing:.2em}
  .phead .crumb{font-size:.76rem;margin-bottom:.85rem}
}

/* Brotkrumen auf hellen Seitenköpfen (Leistungen) */
.services__intro .crumb{color:var(--body);margin-bottom:1.1rem}
.services__intro .crumb a{color:var(--blue-700)}
.services__intro .crumb a:hover{color:var(--orange)}
.services__intro .crumb i{opacity:.45}
@media(max-width:760px){.services__intro .crumb{font-size:.76rem;margin-bottom:.8rem}}
