/**
 * ge-special.css - consolidated special pages layer
 * Generated on 2026-04-25 for the optimized theme copy.
 * Source order: ge-front-page -> ge-kontakt -> ge-karriere -> ge-kurzzeitvermietung
 */


/* ===== BEGIN ge-front-page.css ===== */

/**
 * ge-front-page.css — Startseite CSS
 * Gallium Estate Child Theme v82
 * KONTRAST-FIXES CF01–CF13 April 2026
 */

:root{--gold-glow:rgba(201,168,106,.35);--navy-mid:var(--navy-m);--navy-deep:var(--navy-d);--font-brand:'Cormorant Garamond',Georgia,serif;--font-h:'Outfit',sans-serif;}
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:92px 0 96px}
.hero__bg{position:absolute;inset:0;background:radial-gradient(ellipse 82% 72% at 55% 42%,rgba(201,168,106,.05) 0%,transparent 64%),radial-gradient(ellipse 54% 92% at 10% 82%,rgba(11,95,255,.035) 0%,transparent 58%),linear-gradient(160deg,#04080f 0%,#080f1d 42%,#0a1728 100%);}
.hero__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(92deg,rgba(4,8,15,.8) 0%,rgba(4,8,15,.72) 34%,rgba(4,8,15,.52) 58%,rgba(4,8,15,.34) 100%),linear-gradient(180deg,rgba(4,8,15,.18),rgba(4,8,15,.28));pointer-events:none}
.hero__grain{position:absolute;inset:0;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px;animation:grain 3s steps(10) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,-3%)}40%{transform:translate(3%,-1%)}60%{transform:translate(-1%,3%)}80%{transform:translate(2%,2%)}100%{transform:translate(0,0)}}
.hero__content{position:relative;z-index:2;max-width:720px;padding:74px 0}
.hero__badge{display:inline-flex;align-items:center;gap:8px;background:var(--ui-soft-bg);border:1px solid var(--ui-soft-border);border-radius:var(--pill-radius);padding:6px 18px;margin-bottom:32px;font-size:var(--label-size-sm);font-weight:700;letter-spacing:var(--eyebrow-spacing);text-transform:uppercase;color:var(--gold-l)}
.hero__dot{width:5px;height:5px;border-radius:50%;background:var(--gold);animation:bdot 2.5s ease infinite;display:inline-block}
@keyframes bdot{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}
.hero__h1{font-family:var(--font-brand);font-size:clamp(48px,5.5vw,78px);font-weight:300;line-height:1.08;color:#fff;margin-bottom:20px;letter-spacing:0;max-width:10.8ch;text-shadow:0 8px 34px rgba(0,0,0,.42)}
.hero__h1 em{font-style:italic;color:var(--gold-l)}
.hero__sub{font-size:clamp(16px,1.1vw,18px);color:rgba(255,255,255,.88);max-width:560px;line-height:1.88;margin-bottom:46px;text-shadow:0 3px 20px rgba(0,0,0,.36)}/* CF01: .58→.82 */
.hero__btns{display:flex;gap:14px;flex-wrap:wrap}
.ge-hbtn{gap:8px;font-size:14px;font-weight:700;letter-spacing:var(--label-spacing);text-transform:uppercase}
.ge-hbtn--gold{color:var(--navy-d)}.ge-hbtn--gold:hover{color:var(--navy-d)}
.ge-hbtn--ghost{color:#fff}.ge-hbtn--ghost:hover{color:#fff}
.hero__microproof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:660px;margin-top:34px}
.hero__microproof-item{padding:18px 18px;border:1px solid rgba(201,168,106,.16);background:rgba(255,255,255,.04);backdrop-filter:blur(12px);border-radius:16px}
.hero__microproof-item strong{display:block;font-family:var(--font-brand);font-size:28px;font-weight:300;line-height:1;color:#fff}
.hero__microproof-item span{display:block;margin-top:8px;font-size:12px;font-weight:700;letter-spacing:var(--label-spacing);text-transform:uppercase;color:rgba(255,255,255,.8)}
.ge-section--hero-follow{padding-top:0}
.ge-entry{position:relative;margin-top:-56px;z-index:3;padding:0 0 14px}
.ge-entry__shell{background:var(--surface-card);border:1px solid rgba(10,26,47,.08);border-radius:24px;box-shadow:var(--shadow-float);padding:36px}
.ge-entry__intro{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.ge-entry__intro h2{margin:0;font-family:var(--font-brand);font-size:clamp(30px,3.2vw,42px);font-weight:300;line-height:1.12;color:var(--navy)}
.ge-entry__intro p{max-width:520px;margin:0;color:#4b5563;line-height:1.75}
.ge-entry__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ge-entry-card{position:relative;display:flex;flex-direction:column;min-height:100%;padding:28px 26px;border:1px solid rgba(10,26,47,.08);border-radius:18px;background:var(--surface-card-soft);box-shadow:var(--shadow-soft);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.ge-entry-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:rgba(201,168,106,.28)}
.ge-entry-card--highlight{background:linear-gradient(135deg,rgba(201,168,106,.12),rgba(255,255,255,1) 58%)}
.ge-entry-card__icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:18px;border-radius:12px;background:rgba(201,168,106,.12);color:var(--gold-d)}
.ge-entry-card__kicker{font-size:11px;font-weight:800;letter-spacing:var(--eyebrow-spacing);text-transform:uppercase;color:var(--gold-d);margin-bottom:12px}
.ge-entry-card h3{margin:0 0 12px;font-family:var(--font-brand);font-size:28px;font-weight:300;line-height:1.1;color:var(--navy)}
.ge-entry-card p{margin:0 0 22px;font-size:14px;line-height:1.8;color:#4b5563}
.ge-entry-card__link{margin-top:auto}
.ge-fit{padding-top:36px}
.ge-fit__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;align-items:start}
.ge-fit__intro h2{font-family:var(--font-brand);font-size:clamp(32px,3.4vw,48px);font-weight:300;line-height:1.14;color:var(--navy);margin:0 0 16px}
.ge-fit__intro p{max-width:620px;font-size:15px;line-height:1.85;color:#4b5563;margin:0}
.ge-fit__cards{display:grid;gap:18px}
.ge-fit-card{background:var(--surface-card-soft);border:1px solid rgba(10,26,47,.08);border-radius:20px;padding:30px 28px;box-shadow:var(--shadow-soft)}
.ge-fit-card--accent{background:linear-gradient(160deg,#0b1626,#10203a);border-color:rgba(201,168,106,.18);box-shadow:0 22px 50px rgba(4,8,15,.18)}
.ge-fit-card__label{display:inline-block;font-size:11px;font-weight:800;letter-spacing:var(--eyebrow-spacing);text-transform:uppercase;color:var(--gold-d);margin-bottom:16px}
.ge-fit-card--accent .ge-fit-card__label{color:var(--gold-l)}
.ge-fit-card__list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ge-fit-card__list li{position:relative;padding-left:28px;font-size:14px;line-height:1.8;color:#334155}
.ge-fit-card__list li::before{content:'';position:absolute;top:10px;left:0;width:12px;height:12px;border-radius:50%;border:1px solid rgba(201,168,106,.45);background:radial-gradient(circle,rgba(201,168,106,.95) 0 35%,transparent 40%)}
.ge-fit-card__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ge-fit-card__facts div{padding:18px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.ge-fit-card__facts strong{display:block;font-family:var(--font-brand);font-size:30px;font-weight:300;line-height:1;color:#fff}
.ge-fit-card__facts span{display:block;margin-top:8px;font-size:11px;font-weight:700;letter-spacing:var(--label-spacing);text-transform:uppercase;line-height:1.5;color:rgba(255,255,255,.82)}
.ge-fit-card__link{margin-top:22px}
.trust-strip{background:var(--navy-mid);border-top:1px solid rgba(201,168,106,.1);border-bottom:1px solid rgba(201,168,106,.1)}
.trust-strip__inner{display:flex;align-items:stretch;flex-wrap:wrap;max-width:1180px;margin:0 auto;padding:0 24px}
.trust-item{flex:1;min-width:130px;padding:22px 32px;text-align:center;border-right:1px solid rgba(201,168,106,.08)}
.trust-item:last-child{border-right:none}
.trust-item strong{font-family:var(--font-brand);font-size:34px;font-weight:300;color:var(--gold-l);display:block;line-height:1.1}
.trust-item span{font-size:11px;color:rgba(255,255,255,.76);letter-spacing:var(--label-spacing);text-transform:uppercase;margin-top:5px;display:block}/* CF02: .35→.72, war 2.5:1 FAIL */
.ge-section{padding: 76px 0}.ge-section--white{background:#ffffff}.ge-section--light{background:#f7f9fc}.ge-section--navy{background:var(--navy)}.ge-section--deep{background:var(--navy-deep)}
.ge-section__header{text-align:center;max-width:640px;margin:0 auto 72px}
.ge-section__header h2{font-family:var(--font-brand);font-size:clamp(34px,3.5vw,52px);font-weight:300;color:#fff;margin-bottom:12px;line-height:1.2}
.ge-section--light .ge-section__header h2{color:var(--navy)}
.ge-section__header p{font-size:15px;color:rgba(255,255,255,.78);line-height:1.75}/* CF03: .45→.78 — Bug aus Screenshot 1 */
.ge-section--light .ge-section__header p{color:#6b7280}
.ge-eyebrow{font-size:var(--eyebrow-size);font-weight:700;letter-spacing:var(--eyebrow-spacing);text-transform:uppercase;color:var(--gold);display:block;margin-bottom:10px}
.map-wrapper{position:relative;width:100%;max-width:860px;margin:0 auto;aspect-ratio:16/10;background:linear-gradient(160deg,#050d19,#0a1520,#08111b);border-radius:20px;border:1px solid rgba(201,168,106,.2);box-shadow:0 32px 80px rgba(0,0,0,.6);overflow:visible}
.map-title{position:absolute;top:24px;left:50%;transform:translateX(-50%);font-family:var(--font-brand);font-size:14px;font-weight:300;color:rgba(201,168,106,.88);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}/* CF04: .55→.88 */
.map-stand{position:absolute;bottom:12px;right:16px;font-size:11px;color:rgba(201,168,106,.72);font-family:var(--font-brand);letter-spacing:.08em}/* CF05: .4→.72 */
.map-radius{position:absolute;left:48%;top:52%;width:58%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1.5px dashed rgba(201,168,106,.34);background:radial-gradient(circle,rgba(201,168,106,.05) 0%,transparent 70%);pointer-events:none}
.pin{position:absolute;left:var(--pin-left);top:var(--pin-top);transform:translate(-50%,-50%);cursor:pointer;z-index:10}
/* FIX SEO #20: Positionierung via CSS Custom Properties statt inline style="left/top" */
.map-card__val--trend{color:#4ade80}
.map-legend-dot--main{background:var(--gold-l);box-shadow:0 0 6px var(--gold)}
.map-legend-dot--secondary{background:var(--gold);opacity:.7}
.pin__dot{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold-glow);position:relative;z-index:2;transition:transform .2s}
.pin__ring{position:absolute;top:50%;left:50%;width:22px;height:22px;transform:translate(-50%,-50%);border-radius:50%;border:1.5px solid rgba(201,168,106,.55);animation:pr 2.5s ease infinite;pointer-events:none}
@keyframes pr{0%{transform:translate(-50%,-50%) scale(1);opacity:.6}100%{transform:translate(-50%,-50%) scale(2.4);opacity:0}}
.pin--main .pin__dot{width:14px;height:14px;background:var(--gold-l);box-shadow:0 0 14px var(--gold-glow)}
.pin:hover .pin__dot{transform:scale(1.4)}
.pin__lbl{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:5px;font-size:10px;font-weight:600;color:rgba(255,255,255,.82);white-space:nowrap;letter-spacing:.06em;pointer-events:none}/* CF13: .6→.82 */
.pin.active .pin__lbl{color:var(--gold-l)}
.map-card{position:absolute;background:rgba(8,15,28,.97);border:1px solid rgba(201,168,106,.36);border-radius:12px;padding:16px 20px;min-width:200px;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s;backdrop-filter:blur(12px);box-shadow:0 16px 36px rgba(0,0,0,.35)}
.map-card.visible{opacity:1}
.map-card__city{font-family:var(--font-brand);font-size:18px;font-weight:300;color:var(--gold-l);margin-bottom:10px}
.map-card__row{display:flex;justify-content:space-between;gap:16px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.map-card__row:last-child{border-bottom:none}
.map-card__lbl{font-size:11px;color:rgba(255,255,255,.72)}/* CF06: .35→.72, war 2.5:1 FAIL */.map-card__val{font-size:12px;font-weight:600;color:#fff}.map-card__val--gold{color:var(--gold-l)}
.map-legend{position:absolute;bottom:16px;left:16px;background:rgba(4,8,15,.7);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}
.map-legend-item{display:flex;align-items:center;gap:8px;font-size:11px;color:rgba(255,255,255,.75)}/* CF07: .4→.75, war 2.7:1 FAIL */
.map-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.markt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.markt-card{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.03));border:1px solid rgba(201,168,106,.16);border-radius:16px;padding:32px;transition:border-color .2s,transform .2s,box-shadow .2s}
.markt-card:hover{border-color:rgba(201,168,106,.34);transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.22)}
.markt-card__icon{width:40px;height:40px;border-radius:10px;background:rgba(201,168,106,.08);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--gold)}
.markt-card h4{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.78);margin-bottom:12px}/* CF08: .45→.78, war 3.0:1 FAIL */
.markt-card__val{font-family:var(--font-brand);font-size:44px;font-weight:300;line-height:1;margin-bottom:8px}
.markt-card__val span{font-size:18px;margin-left:4px;opacity:.7}
.markt-card__trend{font-size:12px;color:rgba(255,255,255,.72);margin-bottom:16px}/* CF09: .35→.72, war 2.5:1 FAIL */
.trend--up{color:#4ade80!important}
.markt-bar{height:3px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden}
.markt-bar__fill{height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold-l));border-radius:2px;transition:width 1s ease}
.leistungen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,255,255,.04);border-radius:16px;overflow:hidden}
.leist-card{background:linear-gradient(180deg,#0a1a2f,#0c1d35);padding:40px 36px;transition:background .2s,border-color .2s,transform .2s;position:relative;overflow:hidden;border:1px solid rgba(201,168,106,.08)}
.leist-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(201,168,106,.62),transparent);transform:scaleX(0);transition:transform .3s}
.leist-card:hover{background:#10233f;border-color:rgba(201,168,106,.18);transform:translateY(-2px)}.leist-card:hover::before{transform:scaleX(1)}
.leist-card__num{font-family:var(--font-brand);font-size:52px;font-weight:300;color:rgba(201,168,106,.18);line-height:1;margin-bottom:16px}
.leist-card h3{font-family:var(--font-brand);font-size:22px;font-weight:300;color:#fff;margin-bottom:12px}
.leist-card p{font-size:14px;color:rgba(255,255,255,.78);line-height:1.75;margin-bottom:24px}/* CF10: .4→.78, war 2.8:1 FAIL */
.leist-card__link{font-size:12px;font-weight:600;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.ueber-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:72px;align-items:center}

/* ── DUO-PORTRAIT (Portrait-Fix + Maßnahme #21) ── */
.ueber__portraits{position:relative;width:320px;height:440px}
.ueber__portrait-frame{border-radius:16px;overflow:hidden;border:1px solid rgba(201,168,106,.34);position:absolute;background:linear-gradient(160deg,#0a1728,#060e1e);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.ueber__portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.ueber__portrait-frame--main{width:260px;height:340px;top:0;left:0;z-index:2}
.ueber__portrait-frame--alt{width:180px;height:240px;bottom:0;right:0;z-index:3;border:2px solid rgba(201,168,106,.58);box-shadow:0 12px 40px rgba(0,0,0,.45)}
/* Alt-Portrait: dekorativer Gold-Stempel */
.ueber__portrait-frame--alt::before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:16px;background:linear-gradient(135deg,rgba(201,168,106,.25),transparent 60%);pointer-events:none;z-index:1}
/* Placeholder wenn kein Bild */
.ueber__portrait-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.ueber__portrait-placeholder span{font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(201,168,106,.45)}
/* Dekorative Linie zwischen den Portraits */
.ueber__portraits::before{content:'';position:absolute;top:50%;left:50%;width:1px;height:80px;background:linear-gradient(to bottom,transparent,rgba(201,168,106,.46),transparent);transform:translate(-50%,-50%);z-index:1;pointer-events:none}

/* ── TRUST-BADGES VISUELL (#21) ── */
.ueber__certs{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.ueber__cert{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;color:var(--navy);background:#fff;border:1px solid rgba(10,26,47,.14);border-radius:8px;padding:8px 14px;box-shadow:0 2px 8px rgba(10,26,47,.06);transition:box-shadow .2s,border-color .2s;letter-spacing:.01em}
.ueber__cert:hover{box-shadow:0 4px 16px rgba(10,26,47,.12);border-color:rgba(201,168,106,.5)}
.ueber__cert svg{flex-shrink:0}
/* Badge-Farben nach Typ */
.ueber__cert--law{border-left:3px solid #1d4ed8}
.ueber__cert--ihk{border-left:3px solid #C9A86A}
.ueber__cert--val{border-left:3px solid #16a34a}
.ueber__cert--ins{border-left:3px solid #7c3aed}
.ueber__cert--year{border-left:3px solid rgba(10,26,47,.35)}
/* v119: Glassmorphism overlay — Item 28 */
.ueber__portrait-tag{
  position:absolute;bottom:0;left:0;right:0;
  padding:16px 18px;
  background:rgba(6,14,30,.62);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid rgba(201,168,106,.2);
  display:flex;align-items:center;justify-content:space-between;gap:8px;
}
.ueber__portrait-tag strong{font-family:var(--font-brand);font-size:30px;font-weight:300;color:var(--gold-l);line-height:1;display:block}
.ueber__portrait-tag span{font-size:10.5px;color:rgba(255,255,255,.8);letter-spacing:.07em;display:block;margin-top:2px}
.ueber__portrait-tag__cert{font-size:10.5px;color:rgba(201,168,106,.75);display:flex;align-items:center;gap:5px;white-space:nowrap}
.ueber__text h2{font-family:var(--font-brand);font-size:clamp(34px,3.5vw,52px);font-weight:300;color:var(--navy);margin-bottom:16px;line-height:1.2}
.ueber__text h2 em{font-style:italic;color:var(--gold-d)}
.ueber__text p{font-size:15px;color:#374151;line-height:1.8;margin-bottom:16px}/* CF14: #6b7280→#374151 lesbar auf weißem BG */
.ueber__eyebrow{color:var(--gold-d)}
.ueber__versprechen{margin:24px 0;display:flex;flex-direction:column;gap:12px}
.ueber__versprechen-item{display:flex;align-items:flex-start;gap:10px}
.ueber__versprechen-icon{flex-shrink:0;margin-top:3px}
.ueber__versprechen-text{font-size:.9375rem;color:var(--text);line-height:1.6}
.ueber__cta{margin-top:24px}
.ueber__quote{font-family:var(--font-brand,'Cormorant Garamond',Georgia,serif);font-size:clamp(1.15rem,2vw,1.45rem);font-style:italic;font-weight:300;color:var(--navy,#0A1A2F);border-left:3px solid var(--gold,#C9A86A);padding:16px 22px;margin:28px 0;line-height:1.65;background:linear-gradient(to right,rgba(201,168,106,.07),transparent);border-radius:0 6px 6px 0;position:relative}
.ueber__quote::before{content:'\201C';position:absolute;top:-8px;left:14px;font-size:3.8rem;color:var(--gold,#C9A86A);opacity:.16;font-family:Georgia,serif;line-height:1;pointer-events:none}
.cta-band{background:linear-gradient(135deg,#091524,#112642);border-top:1px solid rgba(201,168,106,.2);border-bottom:1px solid rgba(201,168,106,.16);padding:84px 0;position:relative}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(201,168,106,.08),transparent 42%);pointer-events:none}
.cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;max-width:1180px;margin:0 auto;padding:0 24px}
.cta-band__content{max-width:680px}
.cta-band h2{font-family:var(--font-brand);font-size:clamp(28px,3vw,44px);font-weight:300;color:#fff;line-height:1.08;max-width:10.5ch}
.cta-band h2 em{font-style:italic;color:var(--gold-l)}
.cta-band p{font-size:15px;color:rgba(255,255,255,.78);margin-top:10px;line-height:1.82;max-width:54ch}/* CF12: .45→.78, war 3.3:1 FAIL */
.cta-band__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.cta-band__list span{display:flex;align-items:flex-start;gap:10px;padding:15px 16px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(201,168,106,.18);font-size:12.5px;font-weight:600;line-height:1.55;color:rgba(255,255,255,.86)}
.cta-band__list span::before{content:'';width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0;background:var(--gold-l);box-shadow:0 0 0 4px rgba(201,168,106,.12)}
.cta-band__actions{display:flex;gap:14px;flex-shrink:0;flex-wrap:wrap}
.ge-sticky{position:fixed;right:24px;bottom:90px;z-index:300;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--navy-d);padding:12px 22px;border-radius:var(--pill-radius);font-size:14px;font-weight:700;letter-spacing:var(--label-spacing);text-transform:uppercase;display:flex;align-items:center;gap:8px;opacity:0;pointer-events:none;transition:all .3s;text-decoration:none;box-shadow:var(--action-shadow-gold)}
.ge-sticky.show{opacity:1;pointer-events:auto}.ge-sticky:hover{color:var(--navy-d);box-shadow:0 10px 28px rgba(154,112,48,.3);transform:translateY(-2px)}
.ge-wa{position:fixed;right:24px;bottom:28px;z-index:300;background:#25d366;color:#fff;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(37,211,102,.4);transition:transform .2s;text-decoration:none}
.ge-wa:hover{transform:scale(1.1)}

.ge-proof{padding-top:40px}
.ge-proof__header h2{color:var(--navy)}
.ge-proof__header p{color:#4b5563}
.ge-proof__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ge-proof-card{background:var(--surface-card-soft);border:1px solid rgba(10,26,47,.1);border-radius:18px;padding:30px 28px 28px;box-shadow:var(--shadow-soft);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.ge-proof-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:rgba(201,168,106,.26)}
.ge-proof-card__kicker{font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#8b682d;margin-bottom:16px}
.ge-proof-card h3{font-family:var(--font-brand);font-size:28px;font-weight:300;line-height:1.1;color:var(--navy);margin:0 0 14px}
.ge-proof-card p{font-size:14px;line-height:1.8;color:#3f4a5a;margin:0}
.ge-process__header h2{color:var(--navy)}
.ge-process__header p{color:#4b5563}
.ge-process__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ge-process-step{position:relative;background:var(--surface-card-soft);border:1px solid rgba(10,26,47,.1);border-radius:18px;padding:30px 28px 28px;box-shadow:var(--shadow-soft)}
.ge-process-step__num{font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#8b682d;margin-bottom:16px}
.ge-process-step h3{font-family:var(--font-brand);font-size:30px;font-weight:300;color:var(--navy);margin:0 0 12px}
.ge-process-step p{font-size:14px;line-height:1.8;color:#3f4a5a;margin:0}
.ge-process__summary{max-width:840px;margin:28px auto 0;padding:26px 30px;border:1px solid rgba(10,26,47,.1);border-radius:18px;background:var(--surface-card);box-shadow:var(--shadow-soft);text-align:center}
.ge-process__summary-label{display:inline-block;margin-bottom:10px;font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d)}
.ge-process__summary p{margin:0;font-size:14px;line-height:1.8;color:#4b5563}

.idw-section{position:relative;overflow:hidden;padding:100px 0 110px;background:linear-gradient(180deg,#07111e,#0b1727)}
.idw-section__bg{position:absolute;inset:0;background:radial-gradient(ellipse 100% 70% at 50% -10%,rgba(201,168,106,.07) 0%,transparent 65%),linear-gradient(180deg,transparent,rgba(255,255,255,.015));pointer-events:none}
.idw-section__line{position:absolute;left:0;right:0;height:1px}
.idw-section__line--top{top:0;background:linear-gradient(90deg,transparent 5%,rgba(201,168,106,.42) 50%,transparent 95%)}
.idw-section__line--bottom{bottom:0;background:linear-gradient(90deg,transparent 5%,rgba(201,168,106,.2) 50%,transparent 95%)}
.idw-section__container{position:relative}
.idw-section__header{text-align:center;margin-bottom:72px}
.idw-section__eyebrow-wrap{display:inline-flex;align-items:center;gap:14px;margin-bottom:20px}
.idw-section__eyebrow-line{display:block;width:48px;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,106,.6))}
.idw-section__eyebrow-wrap .idw-section__eyebrow-line:last-child{background:linear-gradient(90deg,rgba(201,168,106,.6),transparent)}
.idw-section__eyebrow{font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:rgba(201,168,106,.7)}
.idw-section__title{font-family:var(--font-brand);font-size:clamp(36px,4.5vw,56px);font-weight:300;color:#fff;line-height:1.1;margin:0 0 16px;letter-spacing:0}
.idw-section__title em{font-style:italic;color:var(--gold)}
.idw-section__sub{font-size:14.5px;color:rgba(255,255,255,.76);margin:0 auto;letter-spacing:.02em;max-width:660px;line-height:1.8}
.idw-card-wrap{max-width:1020px;margin:0 auto;position:relative}
.idw-card-wrap__glow{position:absolute;inset:-1px;border-radius:25px;background:linear-gradient(135deg,rgba(201,168,106,.26),rgba(201,168,106,.06) 50%,rgba(201,168,106,.16));pointer-events:none;z-index:0}
.idw-card{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 1fr;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#0c1a2b,#102137);box-shadow:0 26px 64px rgba(0,0,0,.24)}
.idw-card__media{position:relative;min-height:460px}
.idw-card__media-link{display:block;position:absolute;inset:0;overflow:hidden}
.idw-thumb{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}
.idw-card:hover .idw-thumb{transform:scale(1.035)}
.idw-card__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(160deg,#0e2040,#04080f)}
.idw-card__placeholder span{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(201,168,106,.3)}
.idw-card__overlay{position:absolute;inset:0;pointer-events:none}
.idw-card__overlay--right{background:linear-gradient(to right,transparent 55%,#0c1a2b 100%)}
.idw-card__overlay--bottom{background:linear-gradient(to top,rgba(7,17,30,.7) 0%,transparent 45%)}
.idw-card__badges{position:absolute;top:22px;left:22px;z-index:2;display:flex;flex-direction:column;gap:8px}
.idw-card__recommendation{position:absolute;top:22px;right:22px;z-index:2}
.idw-chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--label-size-sm);font-weight:700;letter-spacing:var(--label-spacing);text-transform:uppercase;padding:6px 14px;border-radius:var(--pill-radius);backdrop-filter:blur(12px)}
.idw-chip--type{color:var(--gold-l);background:rgba(7,17,30,.82);border:1px solid rgba(201,168,106,.42)}
.idw-chip--energy{color:#fff;background:rgba(22,163,74,.7);border:1px solid rgba(22,163,74,.4)}
.idw-chip--premium{color:#0A1A2F;background:linear-gradient(135deg,#C9A86A,#E8D090);box-shadow:0 2px 12px rgba(201,168,106,.35)}
.idw-card__price{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:32px 28px 26px;background:linear-gradient(to top,rgba(7,17,30,.9),transparent)}
.idw-card__price-value{font-family:var(--font-brand);font-size:34px;font-weight:400;color:#E8D090;line-height:1;text-shadow:0 2px 16px rgba(0,0,0,.5)}
.idw-card__price-meta{font-size:12px;color:rgba(232,208,144,.78);margin-top:4px}
.idw-card__content{padding:52px 46px;display:flex;flex-direction:column;border-left:1px solid rgba(201,168,106,.07)}
.idw-card__location{display:flex;align-items:center;gap:5px;font-size:var(--label-size-sm);font-weight:700;letter-spacing:var(--label-spacing);text-transform:uppercase;color:rgba(232,208,144,.82);margin-bottom:12px}
.idw-card__title{font-family:var(--font-brand);font-size:clamp(24px,2.4vw,30px);font-weight:300;color:#fff;line-height:1.2;margin:0 0 20px;letter-spacing:0}
.idw-card__title-link{color:inherit;text-decoration:none}
.idw-card__divider{height:1px;background:linear-gradient(90deg,rgba(201,168,106,.42),transparent);margin-bottom:20px}
.idw-card__excerpt{font-size:13.5px;color:rgba(255,255,255,.76);line-height:1.85;margin:0 0 24px;flex:1}
.idw-card__facts{display:grid;gap:1px;background:rgba(201,168,106,.08);border-radius:10px;overflow:hidden;margin-bottom:32px}
.idw-card__fact{padding:14px 10px;text-align:center;background:#0c1a2b}
.idw-card__fact-value{font-size:18px;font-weight:700;color:#fff;line-height:1.1}
.idw-card__fact-label{font-size:11px;color:rgba(255,255,255,.68);margin-top:3px;text-transform:uppercase;letter-spacing:var(--label-spacing)}
.idw-card__details{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.idw-card__detail-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:rgba(255,255,255,.76);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:4px 10px;border-radius:6px}
.idw-card__spacer{flex:1}
.idw-card__actions{display:flex;gap:10px;flex-wrap:wrap}
.idw-card__cta{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border-radius:var(--chip-radius);font-weight:600;font-size:13px;letter-spacing:var(--label-spacing);text-transform:uppercase;text-decoration:none;transition:transform .2s ease,border-color .2s ease,opacity .2s ease,box-shadow .2s ease}
.idw-card__cta:hover{transform:translateY(-2px)}
.idw-card__cta--primary{flex:1;gap:8px;padding:14px 20px;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--navy-d);font-weight:700;font-size:13.5px;box-shadow:var(--action-shadow-gold);min-width:130px}
.idw-card__cta--ghost{border:1px solid rgba(201,168,106,.28);background:var(--ui-soft-bg);color:rgba(232,208,144,.86);white-space:nowrap}

.ge-review-stage{padding:80px 0}
.ge-review-stage__header{text-align:center;margin-bottom:52px}
.ge-review-stage__title{margin-bottom:10px}
.ge-review-stage__lead{max-width:700px;margin:0 auto 0;color:#4b5563}
.ge-review-stage__rating{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid #E9E4DB;border-radius:100px;padding:8px 20px;margin-top:18px}
.ge-review-stage__rating-score{font-size:13px;font-weight:700;color:#09192C}
.ge-review-stage__rating-stars{color:#FBBC05;letter-spacing:1px;font-size:14px}
.ge-review-stage__rating-label{font-size:12px;color:#4B5563}
.ge-review-stage__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:1000px;margin:0 auto}
.ge-review-card{background:linear-gradient(180deg,#fff,#fcfcfd);border:1px solid #e4dfd5;border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:14px;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.ge-review-card:hover{box-shadow:0 14px 42px rgba(0,0,0,.08);transform:translateY(-3px);border-color:#d6c29a}
.ge-review-card__top{display:flex;align-items:center;gap:12px}
.ge-review-card__avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;flex-shrink:0}
.ge-review-card__name{font-size:14px;font-weight:700;color:#09192C;letter-spacing:.01em}
.ge-review-card__meta{font-size:11px;color:#6B7280}
.ge-review-card__brand{margin-left:auto;opacity:.7}
.ge-review-card__stars{color:#FBBC05;font-size:13px;letter-spacing:2px}
.ge-review-card__text{font-size:13.5px;color:#3f4a5a;line-height:1.78;margin:0;font-style:italic}
.ge-review-stage__cta{text-align:center;margin-top:36px}
.ge-review-stage__cta-link{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:1.5px solid #E9E4DB;border-radius:100px;font-size:13px;font-weight:600;color:#09192C;text-decoration:none;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.ge-review-stage__cta-link:hover{border-color:#B8933A;box-shadow:0 4px 20px rgba(184,147,58,.12);transform:translateY(-2px)}
.ge-trust-bar{background:linear-gradient(180deg,#08111d,#0d1828);border-top:1px solid rgba(201,168,106,.18);border-bottom:1px solid rgba(201,168,106,.14)}
.ge-trust-bar__inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;max-width:1180px;margin:0 auto;background:rgba(201,168,106,.12)}
.ge-trust-bar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 20px;background:linear-gradient(180deg,#09121f,#0c1624);text-align:center;min-height:116px}
.ge-trust-bar__icon{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:999px;background:rgba(201,168,106,.12);border:1px solid rgba(201,168,106,.3);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l)}
.ge-trust-bar__meta{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.74)}
.ge-trust-bar__item strong{font-family:var(--font-brand);font-size:26px;font-weight:300;line-height:1.2;color:#fff}
.markt-card__val--accent{color:var(--gold-l)}

@media(max-width:900px){.markt-grid,.leistungen-grid,.ueber-grid,.ge-process__grid,.ge-entry__grid,.hero__microproof,.ge-fit__grid,.cta-band__list{grid-template-columns:1fr;gap:32px}.ueber__portraits{width:280px;height:380px;margin:0 auto}.trust-strip__inner{justify-content:center}.trust-item{min-width:45%}.ge-trust-bar__inner{grid-template-columns:repeat(2,minmax(0,1fr))}.ge-entry{margin-top:-28px}.ge-entry__shell{padding:28px}.ge-fit-card__facts{grid-template-columns:1fr}.ge-trust-bar__item{min-height:104px;padding:20px 16px}.ge-trust-bar__item strong{font-size:22px}.ge-trust-bar__meta{font-size:9px;letter-spacing:.14em}.ge-trust-bar__icon{min-width:34px;height:34px;padding:0 10px;font-size:10px}}
@media(max-width:1100px){.ge-proof__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.idw-card{grid-template-columns:1fr}.idw-card__content{border-left:none;border-top:1px solid rgba(201,168,106,.07)}.idw-card__media{min-height:340px}}
@media(max-width:700px){.ueber__portrait-frame--main{width:220px;height:290px}.ueber__portrait-frame--alt{width:145px;height:190px}.idw-section{padding:80px 0}.idw-card__media{min-height:260px}.idw-card__content{padding:34px 24px}.idw-card__facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ge-entry__intro{margin-bottom:18px}}
@media(max-width:600px){.hero__h1{font-size:38px}.trust-item{min-width:100%;border-right:none;border-bottom:1px solid rgba(201,168,106,.08)}.cta-band__inner{flex-direction:column;text-align:center}.ueber__portraits{width:100%;height:320px}.ge-proof__grid,.ge-process__grid{grid-template-columns:1fr}.ge-trust-bar__inner{grid-template-columns:repeat(2,minmax(0,1fr))}.idw-card__actions{flex-direction:column}.idw-card__cta--ghost,.idw-card__cta--primary{width:100%}.idw-card__facts{grid-template-columns:1fr 1fr!important}.ge-review-stage__rating{flex-wrap:wrap;justify-content:center}.hero__microproof{gap:12px}.hero__microproof-item{padding:14px 16px}.ge-entry__shell,.ge-fit-card,.ge-process__summary{padding:22px}.cta-band__list span{justify-content:center;text-align:left}.ge-trust-bar__item{min-height:96px;padding:16px 12px}.ge-trust-bar__item strong{font-size:19px;line-height:1.1}.ge-trust-bar__meta{font-size:8.5px;letter-spacing:.12em}}

@media (max-width: 900px) {
  .hero,
  .hero__content,
  .ge-entry,
  .ge-entry__shell,
  .ge-section__header,
  .cta-band__inner,
  .idw-card,
  .idw-card__content {
    min-width: 0;
    max-width: 100%;
  }

  .hero__content {
    width: 100%;
    padding: 56px 0 40px;
  }

  .hero__microproof,
  .cta-band__actions,
  .idw-card__actions {
    width: 100%;
  }

  .idw-card {
    grid-template-columns: 1fr;
  }

  .idw-card__media {
    min-height: 320px;
  }

  .idw-card__content {
    padding: 30px 22px;
    border-left: none;
    border-top: 1px solid rgba(201,168,106,.08);
  }
}

@media (max-width: 600px) {
  .hero {
    min-height: auto;
    padding: 84px 0 54px;
  }

  .hero__content {
    padding: 40px 0 24px;
  }

  .hero__h1 {
    font-size: clamp(34px, 10vw, 42px);
    max-width: 9ch;
    margin-bottom: 16px;
  }

  .hero__sub {
    max-width: 100%;
    font-size: 15px;
    line-height: 1.72;
    margin-bottom: 28px;
  }

  .hero__btns,
  .cta-band__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__btns > *,
  .cta-band__actions > * {
    width: 100%;
  }

  .hero__microproof {
    grid-template-columns: 1fr;
    max-width: 100%;
    margin-top: 24px;
  }

  .hero__microproof-item {
    padding: 12px 14px;
  }

  .hero__microproof-item strong {
    font-size: 22px;
  }

  .hero__microproof-item span {
    font-size: 10.5px;
    line-height: 1.45;
  }

  .ge-entry {
    margin-top: -28px;
  }

  .ge-entry__shell {
    padding: 20px;
    border-radius: 18px;
  }

  .ge-entry__intro {
    gap: 14px;
    margin-bottom: 18px;
  }

  .ge-fit-card {
    padding: 18px;
  }

  .ge-fit-card__facts {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .ge-fit-card__facts div {
    padding: 14px 10px;
  }

  .ge-fit-card__facts strong {
    font-size: 22px;
  }

  .ge-fit-card__facts span {
    font-size: 10px;
  }

  .ge-section {
    padding: 58px 0;
  }

  .ge-section__header {
    margin-bottom: 42px;
  }

  .idw-card__facts {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 430px) {
  .hero__h1 {
    font-size: 34px;
    max-width: 8.5ch;
  }

  .hero__sub {
    font-size: 14px;
    line-height: 1.68;
  }

  .hero__btns {
    gap: 10px;
  }

  .ge-entry__shell {
    padding: 16px;
    border-radius: 16px;
  }

  .ge-trust-bar__inner {
    grid-template-columns: 1fr;
  }

  .ge-trust-bar__item {
    min-height: 84px;
    padding: 14px 12px;
  }

  .ge-fit-card__facts {
    grid-template-columns: 1fr;
  }
}

/* ===== END ge-front-page.css ===== */


/* ===== BEGIN ge-kontakt.css ===== */

/**
 * ge-kontakt.css â€” Gallium Estate Kontaktseite v7.0 PREMIUM
 * Hero komplett neu â€” cinematic, asymmetrisch, Top-1%-QualitÃ¤t
 */

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HERO â€” Premium Redesign v7
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kk-hero {
  position: relative;
  min-height: clamp(580px, 72vh, 820px);
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: clamp(80px, 14vw, 140px) 0 clamp(60px, 8vw, 100px);
  background: #04080F;
}

/* Hintergrundbild */
.kk-hero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  z-index: 0;
  display: block;
  transform: scale(1.04); /* leicht gezoomt fÃ¼r Depth */
  filter: brightness(0.75) saturate(0.85);
  transition: transform 8s ease-out;
}
.kk-hero:hover .kk-hero__bg-img {
  transform: scale(1.0); /* Ken-Burns-Effekt auf Hover */
}

/* Overlay â€” cinematisch, asymmetrisch von links dunkel */
.kk-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(105deg,
      rgba(2,5,14,.95) 0%,
      rgba(4,9,22,.86) 30%,
      rgba(6,12,28,.62) 55%,
      rgba(4,8,18,.36) 75%,
      rgba(2,5,12,.24) 100%
    ),
    linear-gradient(to bottom,
      rgba(2,5,14,.48) 0%,
      transparent 18%,
      transparent 72%,
      rgba(2,5,14,.68) 100%
    );
  pointer-events: none;
}

/* Goldener Akzentschimmer oben-links */
.kk-hero__overlay::before {
  content: '';
  position: absolute;
  top: -120px;
  left: -80px;
  width: 560px;
  height: 560px;
  background: radial-gradient(circle, rgba(201,168,106,.10) 0%, transparent 65%);
  pointer-events: none;
}

.kk-hero__inner {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 960px) {
  .kk-hero__inner { grid-template-columns: 1fr; gap: 48px; }
  .kk-hero__person { order: -1; }
}

.kk-hero__bg { display: none; }

/* Badge */
.kk-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px 6px 10px;
  border: 1px solid rgba(201,168,106,.4);
  border-radius: 100px;
  background: rgba(7, 16, 32, .92);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.95);
  margin-bottom: 28px;
}
.kk-hero__badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4ADE80;
  box-shadow: 0 0 8px rgba(74,222,128,.6);
  animation: kk-pulse 2.5s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes kk-pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50% { opacity: .6; transform: scale(.75); }
}

/* H1 */
.kk-hero__h1 {
  font-family: var(--serif);
  font-size: clamp(34px, 4.8vw, 58px);
  font-weight: 300;
  color: #fff;
  line-height: 1.12;
  letter-spacing:0;
  margin: 0 0 24px;
  text-shadow: 0 2px 40px rgba(0,0,0,.4);
}
.kk-hero__h1 em {
  font-style: italic;
  color: var(--gold-l, #d4af72);
  display: block;
}

/* Goldene Akzentlinie unter H1 */
.kk-hero__content::before {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold, #C9A86A), transparent);
  margin-bottom: 32px;
  opacity: .7;
}

/* Subtext */
.kk-hero__sub {
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.72;
  color: rgba(255,255,255,.70);
  max-width: 500px;
  margin: 0 0 36px;
  font-weight: 300;
}

/* Pillars */
.kk-hero__pillars {
  list-style: none;
  margin: 0 0 44px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.kk-hero__pillars li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 400;
  color: rgba(255,255,255,.92);
  padding: 10px 16px;
  border-radius: 8px;
  background: rgba(7, 16, 32, .92);
  border: 1px solid rgba(201,168,106,.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: background .2s, border-color .2s;
}
.kk-hero__pillars li:hover {
  background: rgba(7, 16, 32, .98);
  border-color: rgba(201,168,106,.55);
}
.kk-hero__pillars li svg {
  color: var(--gold, #C9A86A);
  flex-shrink: 0;
  opacity: .9;
}

/* CTAs */
.kk-hero__ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* Person-Card â€” Glasmorphismus Premium */
.kk-person-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: 18px;
  background: rgba(7, 16, 32, .88);
  border: 1px solid rgba(201,168,106,.45);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  overflow: hidden;
  box-shadow:
    0 32px 64px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.10);
}
.kk-person-card__header {
  padding: 28px 28px 20px;
  display: flex;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid rgba(201,168,106,.10);
}
.kk-person-card__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(201,168,106,.35), rgba(201,168,106,.10));
  border: 1.5px solid rgba(201,168,106,.40);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 600;
  color: var(--gold-l, #d4af72);
  flex-shrink: 0;
}
.kk-person-card__body {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.kk-person-card__name {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 500;
  color: #fff;
}
.kk-person-card__role {
  font-family: var(--sans);
  font-size: 11px;
  color: rgba(255,255,255,.68);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.kk-person-card__footer {
  padding: 20px 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.kk-person-card__tel {
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 500;
  color: var(--gold-l, #d4af72);
  text-decoration: none;
  letter-spacing: .02em;
  transition: color .2s;
}
.kk-person-card__tel:hover { color: #fff; }
.kk-person-card__hint {
  font-family: var(--sans);
  font-size: 11px;
  color: rgba(255,255,255,.58);
  letter-spacing: .04em;
}

/* Vertrauens-Badges auf der Card */
.kk-person-card__trust {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.kk-person-card__trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 100px;
  background: rgba(201,168,106,.08);
  border: 1px solid rgba(201,168,106,.20);
  font-family: var(--sans);
  font-size: 10.5px;
  font-weight: 500;
  color: rgba(255,255,255,.7);
  letter-spacing: .04em;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   ABLAUF
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kk-ablauf__hd { text-align: center; max-width: 580px; margin: 0 auto 56px; }
.kk-ablauf__intro { font-family: var(--sans); font-size: 16px; color: rgba(10,22,47,.55); margin: 12px 0 0; }

.kk-steps {
  list-style: none; margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 32px;
  counter-reset: kk-step;
}
.kk-step {
  display: flex; flex-direction: column; gap: 14px;
  padding: 28px;
  background: #fff;
  border: 1px solid rgba(201,168,106,.15);
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(10,22,47,.06);
}
.kk-step__num {
  font-family: var(--serif); font-size: 32px; font-weight: 300;
  color: var(--gold-l, #d4af72); line-height: 1;
}
.kk-step__title { font-family: var(--sans); font-size: 16px; font-weight: 600; color: var(--navy); display: block; margin-bottom: 6px; }
.kk-step__text { font-family: var(--sans); font-size: 14px; line-height: 1.65; color: rgba(10,22,47,.55); margin: 0; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HAUPTBEREICH: 2-SPALTEN
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kk-main {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 64px;
  align-items: start;
}
@media (max-width: 900px) {
  .kk-main { grid-template-columns: 1fr; gap: 48px; }
}

/* â”€â”€ Sidebar â”€â”€ */
.kk-sidebar {
  display: flex; flex-direction: column; gap: 32px;
  position: sticky; top: 100px;
}
.kk-sidebar__person {
  display: flex; flex-direction: column; gap: 12px;
}
.kk-sidebar-avatar {
  width: 72px; height: 72px; border-radius: 50%;
  background: linear-gradient(135deg, rgba(201,168,106,.25), rgba(201,168,106,.08));
  border: 1px solid rgba(201,168,106,.3);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 22px; font-weight: 600;
  color: var(--gold); flex-shrink: 0;
}
.kk-sidebar__name { font-family: var(--serif); font-size: 22px; font-weight: 600; color: #fff; display: block; }
.kk-sidebar__role { font-family: var(--sans); font-size: 12px; color: rgba(255,255,255,.65); text-transform: uppercase; letter-spacing: var(--label-spacing); display: block; margin: 2px 0 8px; }
.kk-sidebar__bio { font-family: var(--sans); font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.65); margin: 0; }

.kk-sidebar-section-label {
  font-family: var(--sans); font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: var(--label-spacing);
  color: rgba(255,255,255,.8); margin-bottom: 12px;
}
.kk-sidebar__channels { display: flex; flex-direction: column; gap: 8px; }

/* Channel-Links */
.kk-channel {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px; border-radius: 10px;
  background: rgba(7, 16, 32, .85);
  border: 1px solid rgba(201,168,106,.30);
  text-decoration: none;
  transition: background .2s, border-color .2s;
}
.kk-channel:hover { background: rgba(7, 16, 32, .95); border-color: rgba(201,168,106,.55); }
.kk-channel--primary { border-color: rgba(201,168,106,.55); background: rgba(201,168,106,.32); }
.kk-channel--primary:hover { background: rgba(201,168,106,.42); }
.kk-channel--wa { border-color: rgba(37,211,102,.55); background: rgba(37,211,102,.28); }
.kk-channel--wa:hover { background: rgba(37,211,102,.40); }
.kk-channel--info { cursor: default; }
.kk-channel--info:hover { background: rgba(7, 16, 32, .85); border-color: rgba(201,168,106,.30); }
.kk-channel__icon {
  width: 38px; height: 38px; border-radius: 8px;
  background: rgba(255,255,255,.06);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.6); flex-shrink: 0;
}
.kk-channel--primary .kk-channel__icon { color: var(--gold); }
.kk-channel__icon--wa { color: #25d366 !important; }
.kk-channel__label { font-family: var(--sans); font-size: 12px; color: rgba(255,255,255,.74); text-transform: uppercase; letter-spacing: var(--label-spacing); display: block; }
.kk-channel__value { font-family: var(--sans); font-size: 14px; color: rgba(255,255,255,.84); display: block; margin-top: 2px; }
.kk-channel--primary .kk-channel__value { color: var(--gold-l); }

/* Trust */
.kk-trust-block { padding: 20px; border-radius: 10px; background: rgba(7, 16, 32, .85); border: 1px solid rgba(201,168,106,.45); }
.kk-trust-list { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.kk-trust-item { display: flex; align-items: flex-start; gap: 10px; font-family: var(--sans); font-size: 13px; color: rgba(255,255,255,.75); line-height: 1.4; }
.kk-trust-item svg { flex-shrink: 0; margin-top: 1px; color: var(--gold); opacity: 1; }

/* Adresse */
.kk-sidebar__address {}
.kk-address { font-family: var(--sans); font-size: 14px; color: rgba(255,255,255,.72); line-height: 1.7; font-style: normal; }
.kk-address strong { color: rgba(255,255,255,.65); }

/* â”€â”€ Formular-Bereich â”€â”€ */
.kk-form-wrap { display: flex; flex-direction: column; gap: 32px; }
.kk-form-h2 { font-family: var(--serif); font-size: clamp(26px,3vw,36px); font-weight: 300; color: #fff; line-height: 1.2; margin: 0; }
.kk-form-h2 em { font-style: italic; color: var(--gold-l); }
.kk-form-sub { font-family: var(--sans); font-size: 15px; color: rgba(255,255,255,.78); margin: 0; }

/* Anliegen-Buttons */
.kk-anliegen {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (max-width: 600px) { .kk-anliegen { grid-template-columns: 1fr; } }

.kk-anliegen-btn {
  display: flex; flex-direction: column; gap: 4px;
  padding: 16px 18px; border-radius: 10px;
  background: rgba(7, 16, 32, .85);
  border: 1px solid rgba(201,168,106,.30);
  text-align: left; cursor: pointer;
  transition: background .2s, border-color .2s, transform .15s;
}
.kk-anliegen-btn:hover {
  background: rgba(7, 16, 32, .95);
  border-color: rgba(201,168,106,.50);
}
.kk-anliegen-btn.is-active {
  background: rgba(201,168,106,.22);
  border-color: rgba(201,168,106,.60);
  border-top-color: rgba(201,168,106,.85);
  border-top-width: 2px;
  box-shadow: 0 4px 20px rgba(201,168,106,.15);
}
.kk-anliegen-btn__label {
  font-family: var(--sans); font-size: 15px; font-weight: 700;
  color: rgba(255,255,255,.9); display: block;
}
.kk-anliegen-btn.is-active .kk-anliegen-btn__label { color: var(--gold-l); }
.kk-anliegen-btn__desc {
  font-family: var(--sans); font-size: 13px; line-height: 1.55;
  color: rgba(255,255,255,.74); display: block;
}
.kk-anliegen-btn.is-active .kk-anliegen-btn__desc { color: rgba(255,255,255,.84); }
.kk-anliegen-btn:hover .kk-anliegen-btn__label { color: rgba(255,255,255,.95); }
.kk-anliegen-btn:hover .kk-anliegen-btn__desc { color: rgba(255,255,255,.8); }
.kk-anliegen-btn.is-active .kk-anliegen-btn__label::after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 8px;
  border-radius: 50%;
  vertical-align: middle;
  background: var(--gold);
  opacity: .85;
}

/* Kontext-Felder */
.kk-ctx-wrap { display: flex; flex-direction: column; }
.kk-ctx { display: none; flex-direction: column; gap: 16px; animation: kk-fadein .25s ease; }
.kk-ctx.is-active { display: flex; }
@keyframes kk-fadein { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.kk-ctx__label {
  font-family: var(--sans); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--gold); padding: 10px 0 0;
}
.kk-ctx__hint {
  font-family: var(--sans); font-size: 14px; line-height: 1.65;
  color: rgba(255,255,255,.7);
  padding: 14px 18px; border-radius: 8px;
  background: rgba(255,255,255,.04);
  border-left: 2px solid rgba(201,168,106,.3);
  margin: 0;
}

/* Formular */
.kk-form { display: flex; flex-direction: column; gap: 16px; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   NOCH UNSICHER?
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kk-unsicher__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
}
@media (max-width: 768px) {
  .kk-unsicher__inner { grid-template-columns: 1fr; gap: 32px; }
}
.kk-unsicher__text .ge-sec-h2 { margin-bottom: 16px; }
.kk-unsicher__text p { font-family: var(--sans); font-size: 16px; line-height: 1.75; color: rgba(10,22,47,.6); margin: 0 0 12px; max-width: 580px; }
.kk-unsicher__cta { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.kk-unsicher__note { font-family: var(--sans); font-size: 12px; color: rgba(10,22,47,.4); text-align: center; }

/* â”€â”€ Pflichtfeld opt â”€â”€ */
.ge-field__opt { font-weight: 400; color: rgba(255,255,255,.58); font-size: 11px; }

/* â”€â”€ Responsive â”€â”€ */
@media (max-width: 768px) {
  .kk-hero { min-height: auto; padding: 100px 0 60px; }
  .kk-steps { grid-template-columns: 1fr; }
  .kk-sidebar { position: static; }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   GE-KONTAKT v112 â€” FARBKORREKTUREN
   Kontext: ge-sec--deep (navy-dunkel) fÃ¼r kk-main + Hero
   Alle navy/muted Farben auf hell umgestellt
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ Hero: Hintergrundbild â”€â”€ */
.kk-hero {
  position: relative;
  min-height: 88vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 120px 0 80px;
  background: #060f1e;
}
.kk-hero__bg-img {
  position: absolute;
  inset: 0; width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 35%;
  z-index: 0;
  display: block;
  pointer-events: none;
  filter: brightness(0.72) saturate(0.85);
  opacity: 0.88;
}
.kk-hero__overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(115deg, rgba(3,7,18,.86) 0%, rgba(5,12,26,.68) 45%, rgba(7,16,32,.42) 70%, rgba(4,10,20,.26) 100%),
    linear-gradient(to bottom, rgba(3,7,18,.40) 0%, transparent 20%, transparent 78%, rgba(3,7,18,.60) 100%);
  pointer-events: none;
}
.kk-hero__inner { position: relative; z-index: 2; }
.kk-hero__bg { display: none; } /* altes Pseudo-BG deaktiviert */

/* Hero Text â€” alles weiÃŸ/hell */
.kk-hero__badge {
  color: rgba(255,255,255,.80);
}
.kk-hero__h1 { color: #fff; }
.kk-hero__h1 em { color: var(--gold-l, #d4af72); }
.kk-hero__sub { color: rgba(255,255,255,.80); text-shadow: 0 1px 12px rgba(0,0,0,.5); }
.kk-hero__pillars li { color: rgba(255,255,255,.80); }

/* â”€â”€ Ablauf-Sektion (ge-sec--light = crÃ¨me) â”€â”€ */
.kk-ablauf__hd .ge-eyebrow { /* gold, korrekt */ }
.kk-ablauf__intro { color: rgba(10,22,47,.60); } /* dunkel auf hell âœ“ */
.kk-step { background: #fff; }
.kk-step__num { color: var(--gold-l, #d4af72); }
.kk-step__title { color: var(--navy, #0a1628); }
.kk-step__text { color: rgba(10,22,47,.58); }

/* â”€â”€ Haupt-Sektion: ge-sec--deep (dunkel) â”€â”€ */
/* Formular-Ãœberschrift */
.kk-form-h2 { color: #fff; }
.kk-form-h2 em { color: var(--gold-l, #d4af72); }

/* Kontext-Felder */
.kk-ctx__label { color: var(--gold); }
.kk-ctx__hint  { color: rgba(255,255,255,.58); border-left-color: rgba(201,168,106,.35); }

/* Formular-Labels â†’ auf dunklem Hintergrund hell */
.kk-form .ge-field__label,
.kk-form-wrap .ge-field__label {
  color: rgba(255,255,255,.75) !important;
}
.kk-form .ge-field__label span[aria-label="Pflichtfeld"],
.kk-form-wrap .ge-field__label span[aria-label="Pflichtfeld"] {
  color: var(--gold, #C9A86A) !important;
}
.kk-form .ge-field__opt,
.kk-form-wrap .ge-field__opt {
  color: rgba(255,255,255,.80) !important;
}

/* Inputs: leicht transparent auf dunkel */
.kk-form .ge-input,
.kk-form .ge-select,
.kk-form .ge-textarea,
.kk-form-wrap .ge-input,
.kk-form-wrap .ge-select,
.kk-form-wrap .ge-textarea {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.88) !important;
}
.kk-form .ge-input::placeholder,
.kk-form .ge-textarea::placeholder,
.kk-form-wrap .ge-input::placeholder,
.kk-form-wrap .ge-textarea::placeholder {
  color: rgba(255,255,255,.38) !important;
  font-style: italic;
}
.kk-form .ge-input:focus,
.kk-form .ge-select:focus,
.kk-form .ge-textarea:focus,
.kk-form-wrap .ge-input:focus,
.kk-form-wrap .ge-select:focus,
.kk-form-wrap .ge-textarea:focus {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(201,168,106,.55) !important;
  outline: none;
}
/* Select-Pfeil fÃ¼r dunklen Hintergrund */
.kk-form .ge-select,
.kk-form-wrap .ge-select {
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A86A' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 36px !important;
}

/* Checkboxen */
.kk-form .ge-form-checkbox__text,
.kk-form-wrap .ge-form-checkbox__text {
  color: rgba(255,255,255,.60) !important;
  font-size: 13px;
}
.kk-form .ge-form-checkbox__text a,
.kk-form-wrap .ge-form-checkbox__text a {
  color: var(--gold-l, #d4af72) !important;
}

/* DSGVO-Checkbox */
.kk-form .ge-form-checkbox--ds .ge-form-checkbox__text {
  color: rgba(255,255,255,.76) !important;
}

/* ge-form__hint unter Submit */
.kk-form .ge-form__hint,
.kk-form-wrap .ge-form__hint {
  color: rgba(255,255,255,.52) !important;
  font-size: 12px !important;
  text-align: center;
  margin-top: 4px;
}

/* Submit-Button */
.kk-form .ge-btn--submit-full,
.kk-form-wrap .ge-btn--submit-full {
  width: 100%;
  padding: 17px 32px;
  font-size: 13px;
  letter-spacing: .12em;
  margin-top: 8px;
  box-shadow: 0 4px 24px rgba(201,168,106,.22);
}
.kk-form .ge-btn--submit-full:hover,
.kk-form-wrap .ge-btn--submit-full:hover {
  box-shadow: 0 8px 40px rgba(201,168,106,.4);
  transform: translateY(-1px);
}

/* Adresse */
.kk-address { color: rgba(255,255,255,.72); }
.kk-address strong { color: rgba(255,255,255,.68); }

/* Person-Card im Hero */
.kk-person-card__role  { color: rgba(255,255,255,.68); }

/* â”€â”€ "Noch unsicher?" (ge-sec--light = crÃ¨me) â”€â”€ */
.kk-unsicher__text .ge-sec-h2 { color: var(--navy, #0a1628); }
.kk-unsicher__text .ge-sec-h2 em { color: var(--gold-d, #9a7030); }
.kk-unsicher__text p { color: rgba(10,22,47,.62); }
.kk-unsicher__note { color: rgba(10,22,47,.40); }

/* â”€â”€ Kontext-Felder fieldset/legend auf dunkel â”€â”€ */
.kk-ctx .ge-checkbox-grid .ge-form-checkbox__text {
  color: rgba(255,255,255,.65) !important;
}

/* Kontakt-Finetuning */
.kk-form .ge-select option,
.kk-form-wrap .ge-select option,
.kk-form .ge-select optgroup,
.kk-form-wrap .ge-select optgroup {
  background-color: #0e1c30 !important;
  color: rgba(255, 255, 255, .92) !important;
}
/* AusgewÃ¤hlte Option deutlich hervorheben */
.kk-form .ge-select option:checked,
.kk-form-wrap .ge-select option:checked,
.kk-form .ge-select option:focus,
.kk-form-wrap .ge-select option:focus {
  background-color: #1a3558 !important;
  color: #d4af72 !important;
}
/* Hovern (nur Chromium) */
.kk-form .ge-select option:hover,
.kk-form-wrap .ge-select option:hover {
  background-color: #1d3d68 !important;
  color: rgba(255, 255, 255, .96) !important;
}
.kk-form input::placeholder,
.kk-form-wrap input::placeholder {
  color: rgba(255, 255, 255, .38) !important;
  font-style: italic;
}

/* ===== END ge-kontakt.css ===== */


/* ===== BEGIN ge-karriere.css ===== */

/**
 * ge-karriere.css â€” Gallium Estate v84
 * VollstÃ¤ndiger Rebuild: neue Klassen kar-*, Premium-Hover-Effekte Ã¼berall
 */

/* â•â• TOKENS â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kar-sec, .kar-hero, .kar-cta {
  --gold-glow: rgba(201,168,106,.22);
  --ease-out:  cubic-bezier(.22,.68,0,1.2);
  --ease-soft: cubic-bezier(.4,0,.2,1);
}

/* â•â• LAYOUT â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kar-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
  width: 100%;
}
.kar-wrap--sm { max-width: 820px; }
.kar-sec {
  padding: 100px 0;
  position: relative;
}
.kar-sec--dark {
  background: linear-gradient(160deg, #030810 0%, #0A1A2F 55%, #06101e 100%);
}
.kar-sec--light {
  background: #FAF8F4;
}
.kar-sec--warm {
  background: #F2EDE4;
}

/* â•â• EYEBROW / HEADINGS â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kar-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: var(--eyebrow-spacing);
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.kar-eyebrow--dark { color: var(--gold-d); }
.kar-hd {
  text-align: center;
  margin-bottom: 72px;
}
.kar-h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(36px, 4.5vw, 58px);
  font-weight: 300;
  line-height: 1.1;
  color: var(--navy);
  margin: 0 0 20px;
}
.kar-h2--lt { color: #fff; }
.kar-h2 em  { font-style: italic; color: var(--gold-d); }
.kar-h2--lt em { color: var(--gold); }
.kar-sub {
  font-size: clamp(15px,1.5vw,17px);
  color: rgba(10,26,47,.58);
  line-height: 1.7;
  max-width: 520px;
  margin: 0 auto;
}
.kar-sub--lt { color: rgba(255,255,255,.72); }

/* â•â• HERO â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kar-hero {
  min-height: clamp(580px, 72vh, 820px);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: clamp(80px, 14vw, 140px) 0 clamp(60px, 8vw, 100px);
}
.kar-hero__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, rgba(3,8,16,0.72) 0%, rgba(7,21,40,0.65) 55%, rgba(5,13,28,0.72) 100%);
  z-index: 1;
}
.kar-hero__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
  z-index: 2;
}
.kar-hero__glow--1 {
  width: 600px; height: 500px;
  right: -100px; top: 10%;
  background: radial-gradient(ellipse, rgba(201,168,106,.08) 0%, transparent 70%);
  animation: kar-pulse 6s ease-in-out infinite;
}
.kar-hero__glow--2 {
  width: 400px; height: 400px;
  left: -80px; bottom: 15%;
  background: radial-gradient(ellipse, rgba(14,32,64,.6) 0%, transparent 70%);
  animation: kar-pulse 8s ease-in-out infinite reverse;
}
@keyframes kar-pulse {
  0%,100% { opacity: .8; transform: scale(1); }
  50%      { opacity: 1;  transform: scale(1.08); }
}
.kar-hero__inner {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr 260px;
  align-items: end;
  gap: 80px;
}
.kar-hero__h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(52px, 7vw, 96px);
  font-weight: 300;
  line-height: 1.02;
  color: #fff;
  letter-spacing:0;
  margin: 16px 0 28px;
}
.kar-hero__h1 em { color: var(--gold); font-style: italic; }
.kar-hero__lead {
  font-size: clamp(14px,1.4vw,17px);
  color: rgba(255,255,255,.74);
  line-height: 1.72;
  max-width: 560px;
  margin-bottom: 40px;
}
.kar-hero__btns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
/* KPI Sidebar */
.kar-hero__kpis {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-left: 1px solid rgba(201,168,106,.2);
  padding-left: 40px;
  align-self: center;
}
.kar-kpi {
  padding: 22px 0;
  border-bottom: 1px solid rgba(255,255,255,.05);
  transition: transform .3s var(--ease-out);
  cursor: default;
}
.kar-kpi:last-child { border-bottom: none; }
.kar-kpi:hover { transform: translateX(6px); }
.kar-kpi__val {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(32px, 3.5vw, 46px);
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 5px;
  transition: color .3s;
}
.kar-kpi:hover .kar-kpi__val { color: var(--gold-l); }
.kar-kpi__lbl {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: var(--label-spacing);
  text-transform: uppercase;
  color: rgba(255,255,255,.52);
  transition: color .3s;
}
.kar-kpi:hover .kar-kpi__lbl { color: rgba(255,255,255,.72); }

/* Scroll-Indicator */
.kar-hero__scroll {
  position: absolute;
  bottom: 36px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.kar-hero__scroll-line {
  display: block;
  width: 1px;
  height: 48px;
  background: linear-gradient(to bottom, rgba(201,168,106,.6), transparent);
  margin: 0 auto;
  animation: kar-scroll 2s ease-in-out infinite;
}
@keyframes kar-scroll {
  0%   { transform: scaleY(0); transform-origin: top; opacity: 0; }
  30%  { opacity: 1; }
  100% { transform: scaleY(1); transform-origin: top; opacity: 0; }
}

/* â•â• BENEFITS â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kar-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.kar-benefit {
  background: #fff;
  border: 1px solid rgba(10,26,47,.08);
  border-radius: 16px;
  padding: 36px 30px 32px;
  position: relative;
  overflow: hidden;
  cursor: default;
  transition:
    transform   .35s var(--ease-out),
    box-shadow  .35s var(--ease-soft),
    border-color .3s;
}
/* Top-Linie Hover */
.kar-benefit::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--gold-d), var(--gold), var(--gold-d));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s var(--ease-soft);
}
.kar-benefit:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 56px rgba(10,26,47,.1), 0 4px 16px rgba(201,168,106,.07);
  border-color: rgba(201,168,106,.2);
}
.kar-benefit:hover::before { transform: scaleX(1); }
/* Nummer */
.kar-benefit__num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  color: rgba(201,168,106,.5);
  margin-bottom: 20px;
  transition: color .3s;
}
.kar-benefit:hover .kar-benefit__num { color: var(--gold-d); }
/* Icon */
.kar-benefit__icon {
  width: 52px; height: 52px;
  border-radius: 13px;
  background: rgba(201,168,106,.1);
  border: 1px solid rgba(201,168,106,.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold-d);
  margin-bottom: 22px;
  transition: background .3s, color .3s, transform .4s var(--ease-out);
}
.kar-benefit:hover .kar-benefit__icon {
  background: var(--gold);
  color: #fff;
  border-color: var(--gold);
  transform: rotate(-6deg) scale(1.1);
}
.kar-benefit__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 21px;
  font-weight: 600;
  color: var(--navy);
  margin-bottom: 10px;
  transition: color .3s;
}
.kar-benefit:hover .kar-benefit__title { color: var(--gold-d); }
.kar-benefit__text {
  font-size: 13.5px;
  color: rgba(10,26,47,.54);
  line-height: 1.7;
}

/* â•â• JOB CARDS â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kar-jobs {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.kar-job {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(201,168,106,.14);
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  transition:
    background   .3s,
    border-color .3s,
    transform    .35s var(--ease-out),
    box-shadow   .3s;
}
/* Linker Gold-Balken */
.kar-job__stripe {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--gold);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .4s var(--ease-soft);
}
.kar-job:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(201,168,106,.3);
  transform: translateX(6px);
  box-shadow: -6px 0 24px rgba(201,168,106,.06), 0 8px 32px rgba(0,0,0,.2);
}
.kar-job:hover .kar-job__stripe { transform: scaleY(1); }
.kar-job__top {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 28px 32px;
}
.kar-job__icon {
  width: 46px; height: 46px;
  border-radius: 11px;
  background: rgba(201,168,106,.1);
  border: 1px solid rgba(201,168,106,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  flex-shrink: 0;
  transition: background .3s, transform .4s var(--ease-out);
}
.kar-job:hover .kar-job__icon {
  background: rgba(201,168,106,.18);
  transform: rotate(8deg) scale(1.08);
}
.kar-job__info { flex: 1; }
.kar-job__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 500;
  color: #fff;
  margin-bottom: 10px;
  transition: color .3s;
}
.kar-job:hover .kar-job__title { color: var(--gold-l); }
.kar-job__tags { display: flex; gap: 7px; flex-wrap: wrap; }
.kar-tag {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 100px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.52);
  transition: background .3s, color .3s;
}
.kar-job:hover .kar-tag {
  background: rgba(255,255,255,.11);
  color: rgba(255,255,255,.7);
}
.kar-tag--gold {
  background: rgba(201,168,106,.1);
  border-color: rgba(201,168,106,.25);
  color: var(--gold-l);
}
/* CTA Button rechts */
.kar-job__apply {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid rgba(201,168,106,.3);
  border-radius: 100px;
  padding: 10px 20px;
  white-space: nowrap;
  text-decoration: none;
  transition: background .25s, border-color .25s, color .25s, transform .3s var(--ease-out);
  flex-shrink: 0;
}
.kar-job__apply:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--navy-d);
  transform: scale(1.04);
}
/* Toggle */
.kar-job__toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .05em;
  color: rgba(255,255,255,.38);
  cursor: pointer;
  list-style: none;
  padding: 0 32px 20px;
  margin-top: -8px;
  transition: color .2s;
  user-select: none;
}
.kar-job__toggle::-webkit-details-marker { display: none; }
.kar-job__toggle:hover { color: var(--gold); }
.kar-job__toggle svg {
  transition: transform .3s var(--ease-soft);
  color: var(--gold);
}
details[open] .kar-job__toggle svg { transform: rotate(180deg); }
/* Body */
.kar-job__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 0 32px 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.06);
  animation: kar-unfold .3s var(--ease-soft) both;
}
@keyframes kar-unfold {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.kar-job__col-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
}
.kar-job__col ul { list-style: none; padding: 0; margin: 0; }
.kar-job__col ul li {
  font-size: 13px;
  color: rgba(255,255,255,.65);
  line-height: 1.65;
  padding: 5px 0 5px 18px;
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,.04);
  transition: color .2s, padding-left .25s;
}
.kar-job__col ul li:hover { color: rgba(255,255,255,.88); padding-left: 22px; }
.kar-job__col ul li::before {
  content: 'âœ“';
  position: absolute;
  left: 0;
  top: 7px;
  font-size: 9px;
  color: var(--gold);
}

/* â•â• VALUES â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kar-values {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.kar-value {
  background: #fff;
  border: 1px solid rgba(10,26,47,.08);
  border-radius: 16px;
  padding: 36px 28px 32px;
  position: relative;
  overflow: hidden;
  cursor: default;
  transition:
    transform   .35s var(--ease-out),
    box-shadow  .35s var(--ease-soft),
    border-color .3s;
}
/* GroÃŸe Hintergrundnummer */
.kar-value::after {
  content: attr(data-nr);
  position: absolute;
  right: -6px; bottom: -20px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 100px;
  font-weight: 300;
  color: rgba(201,168,106,.07);
  line-height: 1;
  pointer-events: none;
  transition: color .35s, transform .4s var(--ease-soft);
}
.kar-value:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(10,26,47,.1), 0 4px 14px rgba(201,168,106,.06);
  border-color: rgba(201,168,106,.22);
}
.kar-value:hover::after {
  color: rgba(201,168,106,.14);
  transform: scale(1.05) translate(-5px, -5px);
}
.kar-value__nr {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 50px;
  font-weight: 300;
  color: rgba(201,168,106,.2);
  line-height: 1;
  margin-bottom: 14px;
  transition: color .35s;
}
.kar-value:hover .kar-value__nr { color: rgba(201,168,106,.38); }
.kar-value__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 22px;
  color: var(--navy);
  font-weight: 600;
  margin-bottom: 10px;
  transition: color .3s;
}
.kar-value:hover .kar-value__title { color: var(--gold-d); }
.kar-value__text {
  font-size: 13.5px;
  color: rgba(10,26,47,.54);
  line-height: 1.65;
}

/* â•â• FORMULAR â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kar-form-wrap {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(201,168,106,.15);
  border-radius: 20px;
  padding: 52px 52px;
  margin-top: 60px;
  transition: border-color .3s, box-shadow .4s;
}
.kar-form-wrap:focus-within {
  border-color: rgba(201,168,106,.3);
  box-shadow: 0 0 0 1px rgba(201,168,106,.08), 0 28px 64px rgba(0,0,0,.25);
}
.kar-form { display: flex; flex-direction: column; gap: 22px; }
.kar-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.kar-form__field { display: flex; flex-direction: column; gap: 8px; }
.kar-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
}
.kar-hint {
  font-weight: 400;
  font-size: 10px;
  color: rgba(255,255,255,.52);
  letter-spacing: .04em;
  margin-left: 8px;
}
.kar-input {
  width: 100%;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(201,168,106,.18);
  border-radius: 9px;
  padding: 13px 16px;
  font-size: 14px;
  color: #fff;
  font-family: inherit;
  transition: border-color .25s, background .25s, box-shadow .25s;
  box-sizing: border-box;
  -webkit-appearance: none;
}
.kar-input::placeholder { color: rgba(255,255,255,.46); }
.kar-input:hover {
  border-color: rgba(201,168,106,.38);
  background: rgba(255,255,255,.075);
}
.kar-input:focus {
  outline: none;
  border-color: var(--gold);
  background: rgba(255,255,255,.08);
  box-shadow: 0 0 0 3px rgba(201,168,106,.12);
}
.kar-select {
  cursor: pointer;
  background-color: #0e1e33;
  color: #fff;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23C9A86A' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
}
.kar-select option {
  background-color: #0e1e33;
  color: #fff;
}
/* Firefox: option:disabled hat kein inherit */
.kar-select option[value=""] {
  color: rgba(255,255,255,.58);
}
/* Fix: Hover-Border im Fokus erhalten */
.kar-select:focus {
  outline: none;
  border-color: #C9A86A;
  box-shadow: 0 0 0 3px rgba(201,168,106,.12);
}
.kar-textarea { resize: vertical; min-height: 130px; }

/* Upload */
.kar-upload {
  position: relative;
  border: 1.5px dashed rgba(201,168,106,.28);
  border-radius: 10px;
  background: rgba(201,168,106,.04);
  cursor: pointer;
  transition: border-color .3s, background .3s, box-shadow .3s;
}
.kar-upload:hover, .kar-upload:focus-within {
  border-color: var(--gold);
  background: rgba(201,168,106,.08);
  box-shadow: 0 0 0 4px rgba(201,168,106,.07);
}
.kar-upload__input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
.kar-upload__face {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 22px;
  color: rgba(255,255,255,.68);
  font-size: 13.5px;
  pointer-events: none;
  transition: color .3s;
}
.kar-upload:hover .kar-upload__face { color: rgba(255,255,255,.75); }
.kar-upload__face svg { color: var(--gold); flex-shrink: 0; }
.kar-upload__name {
  padding: 12px 22px;
  font-size: 12.5px;
  color: var(--gold-l);
  font-weight: 600;
}

/* DSGVO */
.kar-dsgvo {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  cursor: pointer;
  padding: 18px 22px;
  border-radius: 10px;
  border: 1px solid rgba(201,168,106,.12);
  background: rgba(201,168,106,.04);
  transition: background .25s, border-color .25s;
}
.kar-dsgvo:hover {
  background: rgba(201,168,106,.09);
  border-color: rgba(201,168,106,.24);
}
.kar-dsgvo__cb {
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: var(--gold);
  width: 15px; height: 15px;
}
.kar-dsgvo__text { font-size: 12px; color: rgba(255,255,255,.68); line-height: 1.65; }
.kar-link { color: var(--gold); text-decoration: none; }
.kar-link:hover { text-decoration: underline; }

/* Error */
.kar-error {
  background: rgba(220,38,38,.09);
  border: 1px solid rgba(220,38,38,.28);
  border-radius: 9px;
  padding: 14px 18px;
  font-size: 13.5px;
  color: #fca5a5;
}

/* Submit */
.kar-submit {
  width: 100%;
  padding: 17px 28px;
  background: var(--gold);
  color: var(--navy-d);
  border: none;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  overflow: hidden;
  transition: background .25s, transform .3s var(--ease-out), box-shadow .3s;
}
.kar-submit::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
  transform: translateX(-100%);
  transition: transform .7s var(--ease-soft);
}
.kar-submit:hover {
  background: var(--gold-l);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(201,168,106,.3);
}
.kar-submit:hover::after { transform: translateX(100%); }
.kar-submit:active { transform: translateY(0); }
.kar-submit__spin svg { animation: kar-spin .8s linear infinite; }
@keyframes kar-spin { to { transform: rotate(360deg); } }

.kar-note {
  text-align: center;
  font-size: 11px;
  color: rgba(255,255,255,.28);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 4px 0 0;
}

/* Success */
.kar-kar-success {
  text-align: center;
  padding: 80px 40px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(201,168,106,.2);
  border-radius: 20px;
  margin-top: 60px;
}
.kar-success__check {
  width: 72px; height: 72px;
  border-radius: 50%;
  background: rgba(201,168,106,.12);
  border: 2px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: var(--gold);
  margin: 0 auto 24px;
  animation: kar-pop .5s var(--ease-out) both;
}
@keyframes kar-pop {
  from { transform: scale(.5); opacity: 0; }
  to   { transform: scale(1);  opacity: 1; }
}
.kar-success__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 36px;
  color: #fff;
  margin-bottom: 14px;
}
.kar-success__text {
  font-size: 16px;
  color: rgba(255,255,255,.6);
  max-width: 420px;
  margin: 0 auto;
  line-height: 1.7;
}

/* â•â• CTA â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.kar-cta {
  background: linear-gradient(135deg, #030810, #06101e);
  border-top: 1px solid rgba(201,168,106,.1);
  padding: 90px 0;
}
.kar-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.kar-cta__h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 300;
  color: #fff;
  margin-bottom: 14px;
  line-height: 1.2;
}
.kar-cta__h2 em { font-style: italic; color: var(--gold); }
.kar-cta__sub { font-size: 16px; color: rgba(255,255,255,.55); }
.kar-cta__btns { display: flex; gap: 14px; flex-wrap: wrap; flex-shrink: 0; }

/* â•â• RESPONSIVE â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
@media (max-width: 1000px) {
  .kar-hero__inner  { grid-template-columns: 1fr; gap: 60px; }
  .kar-hero__kpis   { flex-direction: row; border-left: none; border-top: 1px solid rgba(201,168,106,.2); padding: 32px 0 0; }
  .kar-kpi          { padding: 0 32px 0 0; border-bottom: none; border-right: 1px solid rgba(255,255,255,.07); }
  .kar-kpi:last-child { border-right: none; }
  .kar-benefits     { grid-template-columns: repeat(2,1fr); }
  .kar-values       { grid-template-columns: repeat(2,1fr); }
  .kar-job__body    { grid-template-columns: 1fr; }
  .kar-cta__inner   { flex-direction: column; text-align: center; }
  .kar-cta__btns    { justify-content: center; }
}
@media (max-width: 680px) {
  .kar-wrap         { padding: 0 24px; }
  .kar-hero         { min-height: auto; padding: 110px 0 60px; }
  .kar-hero__btns   { flex-direction: column; }
  .kar-hero__kpis   { flex-wrap: wrap; gap: 8px; }
  .kar-kpi          { min-width: 40%; padding: 12px 0; border-right: none; }
  .kar-kpi:hover    { transform: none; }
  .kar-benefits     { grid-template-columns: 1fr; }
  .kar-values       { grid-template-columns: 1fr; }
  .kar-form-wrap    { padding: 28px 22px; }
  .kar-form__row    { grid-template-columns: 1fr; }
  .kar-job__top     { flex-wrap: wrap; padding: 22px 20px 16px; }
  .kar-job__apply   { width: 100%; justify-content: center; }
  .kar-job:hover    { transform: translateX(3px); }
  .kar-job__toggle  { padding: 0 20px 16px; }
  .kar-job__body    { margin: 0 20px 22px; }
}

/* Kontakt/Karriere Mobile Polish */
@media (max-width: 768px) {
  .kk-hero {
    padding: 96px 0 52px;
    min-height: auto;
  }

  .kk-hero__inner {
    gap: 28px;
  }

  .kk-hero__person {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
    order: initial;
  }

  .kk-hero__content {
    text-align: left;
  }

  .kk-hero__badge {
    margin-bottom: 20px;
    padding: 7px 12px;
    font-size: 10px;
    letter-spacing: .1em;
  }

  .kk-hero__h1 {
    font-size: clamp(30px, 10vw, 42px);
    line-height: 1.08;
  }

  .kk-hero__sub {
    font-size: 14px;
    line-height: 1.72;
  }

  .kk-hero__pillars {
    gap: 10px;
  }

  .kk-hero__pillars li {
    font-size: 13px;
    line-height: 1.55;
  }

  .kk-hero__ctas {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .kk-person-card {
    padding: 26px 18px 20px !important;
  }

  .kk-person-card__header {
    gap: 12px;
  }

  .kk-person-card__trust {
    justify-content: center;
    gap: 8px;
  }

  .kk-main {
    gap: 34px !important;
  }

  .kk-sidebar,
  .kk-form-wrap {
    gap: 24px;
  }

  .kk-sidebar__person {
    gap: 10px;
  }

  .kk-channel {
    padding: 13px 14px;
    gap: 12px;
  }

  .kk-channel__icon {
    width: 34px;
    height: 34px;
  }

  .kk-channel__value {
    font-size: 13px;
  }

  .kk-anliegen {
    gap: 8px;
  }

  .kk-anliegen-btn {
    padding: 14px 14px;
  }

  .kk-anliegen-btn__label {
    font-size: 14px;
  }

  .kk-anliegen-btn__desc {
    font-size: 12.5px;
    line-height: 1.5;
  }

  .kk-step {
    padding: 18px 16px;
  }

  .kk-step__title {
    font-size: 16px;
  }

  .kk-step__text,
  .kk-unsicher__text p {
    font-size: 14px;
    line-height: 1.68;
  }

  .kar-hero {
    padding: 98px 0 56px;
  }

  .kar-hero__inner {
    gap: 34px;
  }

  .kar-hero__h1 {
    font-size: clamp(34px, 11vw, 48px);
    line-height: 1.02;
  }

  .kar-hero__lead {
    font-size: 14px;
    line-height: 1.72;
  }

  .kar-hero__kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding-top: 24px;
  }

  .kar-kpi {
    min-width: 0;
    padding: 14px 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    background: rgba(255,255,255,.03);
  }

  .kar-kpi__val {
    font-size: clamp(26px, 9vw, 34px);
  }

  .kar-kpi__lbl {
    font-size: 10px;
    letter-spacing: .1em;
    color: rgba(255,255,255,.66);
  }

  .kar-benefit,
  .kar-value {
    padding: 26px 20px 22px;
  }

  .kar-job__top {
    gap: 14px;
    padding: 22px 18px 16px;
  }

  .kar-job__title {
    font-size: 21px;
    line-height: 1.15;
  }

  .kar-job__tags {
    gap: 6px;
  }

  .kar-tag {
    font-size: 10.5px;
  }

  .kar-job__body {
    margin: 0 18px 20px;
  }

  .kar-values {
    gap: 16px;
  }

  .kar-form-wrap {
    padding: 24px 18px;
    border-radius: 16px;
  }

  .kar-form__row {
    gap: 14px;
  }
}

/* ===== END ge-karriere.css ===== */


/* ===== BEGIN ge-kurzzeitvermietung.css ===== */

/**
 * ge-kurzzeitvermietung.css — Gallium Estate Child Theme
 * Kurzzeitvermietung — Vollständige Seite inkl. Buchungssystem & Reviews
 * v1.0 — Weltklasse Niveau
 */

/* ══════════════════════════════════════════════════════════
   CSS-SCOPING — alle Stile unter #ge-kvz
══════════════════════════════════════════════════════════ */
#ge-kvz {
  --gold:      #C9A86A;
  --gold-l:    #E8D090;
  --gold-d:    #9A7030;
  --navy:      #0A1A2F;
  --navy-mid:  #0E2040;
  --navy-deep: #04080f;
  --teal:      #0D8A7A;
  --teal-l:    #15B89E;
  --teal-d:    #076258;
  --green:     #16a34a;
  --amber:     #d97706;
  --red:       #dc2626;
  --serif:     'Cormorant Garamond', Georgia, serif;
  --sans:      'Outfit', system-ui, sans-serif;
  --ease:      cubic-bezier(.16,1,.3,1);
  --border:    #E2DDD4;
  --shadow-sm: 0 2px 12px rgba(10,26,47,.07);
  --shadow-md: 0 8px 32px rgba(10,26,47,.1);
  --shadow-lg: 0 24px 72px rgba(10,26,47,.14);
}
#ge-kvz *, #ge-kvz *::before, #ge-kvz *::after { box-sizing: border-box; }
#ge-kvz { font-family: var(--sans); -webkit-font-smoothing: antialiased; }
#ge-kvz a { text-decoration: none; color: inherit; }
#ge-kvz h1, #ge-kvz h2, #ge-kvz h3, #ge-kvz h4 { margin: 0; }
#ge-kvz p  { margin: 0; }
#ge-kvz ul { list-style: none; padding: 0; margin: 0; }
#ge-kvz button { font-family: var(--sans); cursor: pointer; }
#ge-kvz img { display: block; max-width: 100%; }

/* ── LAYOUT ── */
.kvz-wrap     { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.kvz-wrap--sm { max-width: 860px;  margin: 0 auto; padding: 0 40px; }
.kvz-sec      { padding: 72px 0; }

/* ── REVEAL ── */
[kvz-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.kvz-visible  { opacity: 1 !important; transform: none !important; }

/* ══════════════════════════════════════════════════════════
   TYPOGRAFIE
══════════════════════════════════════════════════════════ */
.kvz-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: var(--eyebrow-size); font-weight: 700; letter-spacing: var(--eyebrow-spacing); text-transform: uppercase;
  color: var(--teal); margin-bottom: 18px;
}
.kvz-eyebrow::before, .kvz-eyebrow::after {
  content: ''; width: 24px; height: 1px; background: currentColor; opacity: .4;
}
.kvz-eyebrow--lt { color: var(--teal-l); }
.kvz-eyebrow--gold { color: var(--gold-l); }
.kvz-sec-hd {
  text-align: center; max-width: 620px; margin: 0 auto 60px;
}
.kvz-sec-hd h2 {
  font-family: var(--serif); font-size: clamp(30px,3.5vw,54px); font-weight: 300;
  color: var(--navy); line-height: 1.1; margin-bottom: 14px; letter-spacing:0;
}
.kvz-sec-hd h2 em { font-style: italic; color: var(--teal); }
.kvz-sec-hd h2--lt { color: #fff; }
.kvz-sec-hd h2--lt em { color: var(--gold-l); }
.kvz-sec-hd p { font-size: 15px; color: #6b7280; line-height: 1.82; }

/* ══════════════════════════════════════════════════════════
   BUTTONS
══════════════════════════════════════════════════════════ */
.kvz-btn {
  display: inline-flex; align-items: center; gap: 9px; padding: 10px 20px;
  border-radius: var(--chip-radius); font-size: var(--label-size-sm); font-weight: 700; letter-spacing: var(--label-spacing);
  text-transform: uppercase; border: none;
  transition: transform .3s var(--ease), box-shadow .3s; cursor: pointer;
}
.kvz-btn--lg  { padding: 11px 22px; font-size: 12.5px; border-radius: 9px; }
.kvz-btn--teal {
  background: linear-gradient(135deg, var(--teal), var(--teal-d));
  color: #fff; box-shadow: 0 4px 24px rgba(13,138,122,.3);
}
.kvz-btn--teal:hover { transform: translateY(-3px); box-shadow: 0 14px 40px rgba(13,138,122,.45); }
.kvz-btn--gold {
  background: linear-gradient(135deg, var(--gold), var(--gold-d));
  color: var(--navy-d); box-shadow: var(--action-shadow-gold);
}
.kvz-btn--gold:hover { transform: translateY(-3px); box-shadow: 0 14px 40px rgba(154,112,48,.42); color: var(--navy-d); }
.kvz-btn--ghost {
  background: transparent; border: 1.5px solid rgba(255,255,255,.28); color: rgba(255,255,255,.85);
}
.kvz-btn--ghost:hover { border-color: rgba(255,255,255,.7); color: #fff; }
.kvz-btn--ghost-dk {
  background: rgba(10,26,47,.08); border: 2px solid rgba(10,26,47,.60); color: #09192C;
  font-weight: 700; letter-spacing: .02em;
}
.kvz-btn--ghost-dk:hover { background: #09192C; color: #fff; border-color: #09192C; }
.kvz-btn--navy {
  background: linear-gradient(135deg, var(--navy), var(--navy-mid));
  color: #fff; box-shadow: 0 4px 20px rgba(10,26,47,.25);
}
.kvz-btn--navy:hover { transform: translateY(-3px); box-shadow: 0 14px 40px rgba(10,26,47,.4); }

/* ══════════════════════════════════════════════════════════
   ★ 1. HERO
══════════════════════════════════════════════════════════ */
.kvz-hero {
  background: linear-gradient(155deg, #030a14 0%, #060f1e 50%, #0a1824 100%);
  padding: clamp(60px, 10vw, 100px) 0 clamp(48px, 6vw, 80px); min-height: clamp(440px, 58vh, 640px); position: relative; overflow: hidden; display: flex; align-items: center;
}
.kvz-hero::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 90% 60% at 50% -5%, rgba(13,138,122,.1), transparent 65%);
  pointer-events: none;
}
.kvz-hero__grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(201,168,106,.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,106,.015) 1px, transparent 1px);
  background-size: 64px 64px; pointer-events: none;
}
.kvz-hero__inner {
  display: grid; grid-template-columns: 1fr 440px;
  gap: 60px; align-items: center; position: relative; z-index: 2;
}
/* Superhost Badge */
.kvz-superhost {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--ui-soft-bg); border: 1px solid var(--ui-soft-border);
  border-radius: var(--pill-radius); padding: 6px 16px; font-size: var(--label-size-sm); font-weight: 700;
  letter-spacing: var(--label-spacing); text-transform: uppercase;
  color: var(--gold-l); margin-bottom: 20px;
}
.kvz-hero h1 {
  font-family: var(--serif); font-size: clamp(26px, 3.6vw, 50px);
  font-weight: 300; line-height: 1.07; color: #fff; margin: 0 0 20px;
  letter-spacing:0;
}
.kvz-hero h1 em { font-style: italic; color: var(--gold-l); }
.kvz-hero__sub {
  font-size: 16px; color: rgba(255,255,255,.88); line-height: 1.8;
  max-width: 500px; margin-bottom: 28px;
}
/* USP-Liste */
.kvz-usps { display: flex; flex-direction: column; gap: 8px; margin-bottom: 28px; }
.kvz-usp {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px; color: rgba(255,255,255,.7); line-height: 1.5;
}
.kvz-usp-icon {
  width: 24px; height: 24px; border-radius: 6px;
  background: rgba(13,138,122,.15); border: 1px solid rgba(13,138,122,.3);
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; flex-shrink: 0;
}
.kvz-hero__btns { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 20px; margin-bottom: 32px; }
/* Trust Pills */
.kvz-trust { display: flex; gap: 10px; flex-wrap: wrap; }
.kvz-pill {
  display: inline-flex; align-items: center; gap: 5px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--pill-radius); padding: 6px 14px; font-size: 12px; color: rgba(255,255,255,.62);
}
.kvz-pill strong { color: rgba(255,255,255,.85); font-weight: 600; }

/* ── BUCHUNGSBOX (rechts im Hero) — v2 Upgrade ── */
.kvz-book-box {
  background: rgba(4,12,24,0.82);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(201,168,106,.22);
  box-shadow: 0 32px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.kvz-book-box__head {
  background: linear-gradient(135deg, rgba(13,138,122,.25), rgba(7,98,88,.2));
  border-bottom: 1px solid rgba(201,168,106,.18);
  padding: 20px 22px 16px;
}
.kvz-book-box__head h3 {
  font-family: var(--serif); font-size: 20px; font-weight: 300;
  color: #fff; margin-bottom: 3px; letter-spacing: .01em;
}
.kvz-book-box__head p { font-size: 12px; color: rgba(255,255,255,.45); }
.kvz-book-box__rating {
  display: flex; align-items: center; gap: 8px; margin-top: 10px;
}
.kvz-book-box__stars-ico { color: #FBBC04; font-size: 13px; }
.kvz-book-box__rating-txt { font-size: 12px; color: rgba(255,255,255,.62); }

.kvz-book-box__body { padding: 18px 20px; }
.kvz-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.kvz-field { display: flex; flex-direction: column; gap: 4px; }
.kvz-field label {
  font-size: 11px; font-weight: 700; letter-spacing: var(--label-spacing); text-transform: uppercase;
  color: rgba(201,168,106,.8);
}
.kvz-field input, .kvz-field select {
  padding: 10px 12px;
  border: 1.5px solid rgba(255,255,255,.12);
  border-radius: 9px;
  font-family: var(--sans); font-size: 13.5px;
  color: #fff;
  background: rgba(255,255,255,.07);
  outline: none;
  transition: border-color .2s, background .2s;
  width: 100%;
}
.kvz-field input::placeholder, .kvz-field select option { color: rgba(255,255,255,.4); }
.kvz-field select option { background: #0E2040; color: #fff; }
.kvz-field input:focus, .kvz-field select:focus {
  border-color: rgba(13,138,122,.7);
  background: rgba(255,255,255,.11);
}
/* Preis-Vorschau */
.kvz-price-prev {
  display: flex; justify-content: space-between; align-items: flex-end;
  background: rgba(13,138,122,.12);
  border: 1px solid rgba(13,138,122,.28); border-radius: 10px;
  padding: 12px 14px; margin: 10px 0 12px;
}
.kvz-price-prev__label { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--teal-l); margin-bottom: 4px; }
.kvz-price-prev__label { font-size: 11px; letter-spacing: var(--label-spacing); }
.kvz-price-prev__val { font-family: var(--serif); font-size: 28px; font-weight: 300; color: #fff; line-height: 1; }
.kvz-price-prev__night { font-size: 11.5px; color: rgba(255,255,255,.64); text-align: right; line-height: 1.4; }
.kvz-book-btn {
  width: 100%; padding: 14px; border-radius: var(--chip-radius); border: none;
  background: linear-gradient(135deg, var(--teal), var(--teal-d));
  color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .05em;
  cursor: pointer;
  box-shadow: 0 4px 24px rgba(13,138,122,.45), 0 0 0 1px rgba(13,138,122,.2);
  transition: transform .3s var(--ease), box-shadow .3s;
  text-transform: uppercase;
  display: flex; align-items: center; justify-content: center; gap: 8px;
}
.kvz-book-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(13,138,122,.6); }
.kvz-book-box__foot {
  padding: 10px 20px; border-top: 1px solid rgba(255,255,255,.07);
  display: flex; gap: 14px; justify-content: center; flex-wrap: wrap;
  font-size: 10.5px; color: rgba(255,255,255,.52);
  background: rgba(0,0,0,.15);
}

/* ══════════════════════════════════════════════════════════
   ★ 2. FEATURE STRIP
══════════════════════════════════════════════════════════ */
.kvz-strip {
  background: #fff; border-top: 1px solid rgba(10,26,47,.06);
  border-bottom: 1px solid rgba(10,26,47,.06); padding: 28px 0;
}
.kvz-strip-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
}
.kvz-strip-feat {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 16px 20px; border-right: 1px solid rgba(10,26,47,.07);
  gap: 6px; transition: background .25s;
}
.kvz-strip-feat:last-child { border-right: none; }
.kvz-strip-feat:hover { background: rgba(13,138,122,.03); }
.kvz-strip-feat__icon { font-size: 26px; }
.kvz-strip-feat strong { font-size: 14px; font-weight: 700; color: var(--navy); }
.kvz-strip-feat span   { font-size: 12.5px; color: #6b7280; line-height: 1.5; }

/* ══════════════════════════════════════════════════════════
   ★ 3. OBJEKTE / CARDS
══════════════════════════════════════════════════════════ */
.kvz-sec--objects { background: #f8f7f4; padding: 60px 0; }
/* Filter-Tabs */
.kvz-obj-filter {
  display: flex; gap: 8px; margin-bottom: 32px; flex-wrap: wrap; align-items: center;
}
.kvz-obj-tab {
  padding: 8px 18px; border-radius: 8px; font-size: 12.5px; font-weight: 600;
  border: 1.5px solid transparent; cursor: pointer; background: none;
  font-family: var(--sans); color: #6b7280; transition: all .22s;
}
.kvz-obj-tab:hover, .kvz-obj-tab.active {
  background: rgba(13,138,122,.08); border-color: rgba(13,138,122,.25); color: var(--teal);
}
.kvz-obj-count-txt {
  margin-left: auto; font-size: 12.5px; color: #9ca3af;
}
.kvz-obj-count-txt strong { color: var(--teal-d); }

.kvz-obj-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 24px;
}
/* Karte */
.kvz-obj-card {
  background: #fff; border-radius: 22px; overflow: hidden;
  border: 1px solid rgba(13,138,122,.12); border-left: 3px solid rgba(13,138,122,.4);
  display: flex; flex-direction: column; text-decoration: none; color: inherit;
  transition: transform .35s var(--ease), box-shadow .35s, border-color .3s;
}
.kvz-obj-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 28px 70px rgba(13,138,122,.13);
  border-color: rgba(13,138,122,.4);
}
.kvz-obj-card__img {
  height: 220px; position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.kvz-obj-card__img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s var(--ease);
}
.kvz-obj-card:hover .kvz-obj-card__img img { transform: scale(1.06); }
.kvz-obj-card__badges {
  position: absolute; top: 14px; left: 14px; display: flex; gap: 6px; flex-wrap: wrap; z-index: 2;
}
.kvz-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 11px; border-radius: var(--pill-radius); font-size: 11px; font-weight: 700;
  letter-spacing: var(--label-spacing); text-transform: uppercase; backdrop-filter: blur(12px);
}
.kvz-badge--verf { background: linear-gradient(135deg,#16a34a,#15803d); color:#fff; box-shadow:0 2px 10px rgba(22,163,74,.3); }
.kvz-badge--res  { background: linear-gradient(135deg,#d97706,#b45309); color:#fff; box-shadow:0 2px 10px rgba(217,119,6,.3); }
.kvz-badge--new  { background: linear-gradient(135deg,var(--gold),var(--gold-d)); color:var(--navy-d); box-shadow:var(--action-shadow-gold); }
.kvz-badge--biz  { background: linear-gradient(135deg,#1e3a5f,#0E2040); color:#C9A86A; border: 1px solid rgba(201,168,106,.3); }

/* Preis-Tag oben rechts */
.kvz-obj-card__nacht {
  position: absolute; bottom: 12px; right: 12px; z-index: 2;
  background: rgba(4,8,15,.88); border-radius: 10px; padding: 6px 12px;
  backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: baseline; gap: 3px;
}
.kvz-obj-card__nacht strong { font-family: var(--serif); font-size: 20px; font-weight: 300; color: var(--teal-l); }
.kvz-obj-card__nacht span   { font-size: 11px; color: rgba(255,255,255,.4); }

/* Verfügbarkeitsstreifen */
.kvz-avail-strip {
  display: flex; align-items: center; gap: 7px; padding: 8px 16px;
  background: rgba(22,163,74,.05); border-top: 1px solid rgba(22,163,74,.15);
  font-size: 12px; color: #4b7c5a;
}
.kvz-avail-dot {
  width: 7px; height: 7px; border-radius: 50%; background: #16a34a;
  box-shadow: 0 0 6px rgba(22,163,74,.6); flex-shrink: 0;
  animation: kvz-pulse 2s ease-in-out infinite;
}
@keyframes kvz-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .6; transform: scale(1.3); }
}

.kvz-obj-card__body { padding: 20px 22px 22px; flex: 1; display: flex; flex-direction: column; }
.kvz-obj-card__typ  {
  font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--teal-d); margin-bottom: 6px;
}
.kvz-obj-card__title {
  font-family: var(--serif); font-size: 21px; font-weight: 300;
  color: var(--navy); line-height: 1.25; margin-bottom: 6px;
}
.kvz-obj-card__loc {
  font-size: 13px; color: #6b7280; display: flex; align-items: center; gap: 5px; margin-bottom: 14px;
}
.kvz-obj-card__facts {
  display: flex; gap: 10px; font-size: 12.5px; color: #6b7280;
  padding-top: 12px; border-top: 1px solid var(--border); flex-wrap: wrap; margin-top: auto;
}
.kvz-obj-card__fact { display: flex; align-items: center; gap: 4px; }
.kvz-obj-card__cta {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border);
}
.kvz-obj-card__link {
  font-size: 13px; font-weight: 700; color: var(--teal);
  display: inline-flex; align-items: center; gap: 5px; transition: gap .2s;
}
.kvz-obj-card:hover .kvz-obj-card__link { gap: 10px; }
.kvz-obj-card__rating { display: flex; align-items: center; gap: 4px; font-size: 12px; color: #6b7280; }
.kvz-obj-card__stars-ico { color: #FBBC04; font-size: 12px; }

/* Mehr-Objekte Button */
.kvz-more-center { text-align: center; margin-top: 44px; }

/* ══════════════════════════════════════════════════════════
   ★ 4. PROZESS-SCHRITTE
══════════════════════════════════════════════════════════ */
.kvz-sec--prozess {
  background: linear-gradient(165deg, #030a14, #070f1e 50%, #0a1824);
  padding: 60px 0; position: relative; overflow: hidden;
}
.kvz-sec--prozess::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 50% at 50% -10%, rgba(13,138,122,.08), transparent);
  pointer-events: none;
}
/* Überschriften auf dunklem Hintergrund */
.kvz-sec--prozess .kvz-sec-hd h2 { color: #fff; }
.kvz-sec--prozess .kvz-sec-hd h2 em { color: var(--gold-l); }
.kvz-sec--prozess .kvz-sec-hd p { color: rgba(255,255,255,.38); }

.kvz-steps {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; position: relative; z-index: 1;
}
.kvz-steps::before {
  content: ''; position: absolute;
  top: 32px; left: 10%; right: 10%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(13,138,122,.3) 20%, rgba(13,138,122,.3) 80%, transparent);
  pointer-events: none; z-index: 0;
}
.kvz-step {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px; padding: 32px 24px; text-align: center;
  transition: background .3s, border-color .3s, transform .4s var(--ease);
  position: relative; z-index: 1;
}
.kvz-step:hover {
  background: rgba(13,138,122,.06); border-color: rgba(13,138,122,.25);
  transform: translateY(-6px);
}
.kvz-step__num {
  font-family: var(--serif); font-size: 48px; font-weight: 300;
  color: var(--teal-l); opacity: .35; line-height: 1; margin-bottom: 14px;
  transition: opacity .3s;
}
.kvz-step:hover .kvz-step__num { opacity: .65; }
.kvz-step h3 {
  font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 8px;
}
.kvz-step p { font-size: 13.5px; color: rgba(255,255,255,.38); line-height: 1.7; }

/* ══════════════════════════════════════════════════════════
   ★ 5. BUCHUNGSFORMULAR
══════════════════════════════════════════════════════════ */
.kvz-sec--booking { background: #f8f7f4; padding: 72px 0; }
.kvz-booking-layout {
  display: grid; grid-template-columns: 1fr 380px; gap: 40px; align-items: start;
}
/* Formular-Karte */
.kvz-form-card {
  background: #fff; border-radius: 24px;
  box-shadow: var(--shadow-sm); overflow: hidden;
}
.kvz-form-card__head {
  background: linear-gradient(135deg, var(--navy), var(--navy-mid)); padding: 28px 32px;
}
.kvz-form-card__head h3 {
  font-family: var(--serif); font-size: 24px; font-weight: 300; color: #fff; margin-bottom: 5px;
}
.kvz-form-card__head p { font-size: 13px; color: rgba(255,255,255,.4); }
.kvz-form-card__body { padding: 28px 32px; }

.kvz-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.kvz-form-row--1 { grid-template-columns: 1fr; }
.kvz-form-field { display: flex; flex-direction: column; gap: 5px; }
.kvz-form-field label {
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9ca3af;
}
.kvz-form-field input,
.kvz-form-field select,
.kvz-form-field textarea {
  padding: 11px 14px; border: 1.5px solid var(--border); border-radius: 10px;
  font-family: var(--sans); font-size: 14px; color: var(--navy); background: #fff;
  outline: none; transition: border-color .2s, box-shadow .2s; width: 100%;
}
.kvz-form-field textarea { min-height: 100px; resize: vertical; line-height: 1.6; }
.kvz-form-field input:focus,
.kvz-form-field select:focus,
.kvz-form-field textarea:focus {
  border-color: var(--teal); box-shadow: 0 0 0 3px rgba(13,138,122,.1);
}
.kvz-field--error { border-color: var(--red) !important; box-shadow: 0 0 0 3px rgba(220,38,38,.1) !important; }

.kvz-form-dsgvo {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 13px; color: #6b7280; line-height: 1.65; margin-bottom: 20px;
  padding: 14px 0; border-top: 1px solid var(--border);
}
.kvz-form-dsgvo input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; accent-color: var(--teal); }
.kvz-form-dsgvo a { color: var(--teal); text-decoration: underline; }
.kvz-form-submit {
  width: 100%; padding: 15px; border-radius: 12px; border: none;
  background: linear-gradient(135deg, var(--teal), var(--teal-d));
  color: #fff; font-size: 15px; font-weight: 700; letter-spacing: .04em;
  cursor: pointer; box-shadow: 0 4px 24px rgba(13,138,122,.35);
  transition: transform .3s var(--ease), box-shadow .3s;
}
.kvz-form-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 36px rgba(13,138,122,.5); }
.kvz-form-submit:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.kvz-form-note { font-size: 12px; color: #9ca3af; text-align: center; margin-top: 12px; }
.kvz-form-error {
  background: rgba(220,38,38,.05); border: 1px solid rgba(220,38,38,.25); border-radius: 10px;
  padding: 12px 16px; font-size: 13.5px; color: var(--red); margin-bottom: 16px; line-height: 1.6;
}

/* Erfolgs-Box */
#kvz-booking-success {
  display: none; background: #fff; border-radius: 24px; padding: 48px 40px;
  text-align: center; box-shadow: var(--shadow-md); border: 1px solid rgba(22,163,74,.2);
}
.kvz-success-icon { font-size: 52px; margin-bottom: 16px; }
.kvz-success-title {
  font-family: var(--serif); font-size: 32px; font-weight: 300;
  color: var(--navy); margin-bottom: 10px;
}
.kvz-success-msg { font-size: 15px; color: #6b7280; line-height: 1.75; margin-bottom: 20px; }
.kvz-success-preis {
  font-family: var(--serif); font-size: 40px; font-weight: 300;
  color: var(--teal); display: block; margin-bottom: 6px;
}
.kvz-success-note { font-size: 12px; color: #9ca3af; }

/* ── PREIS-KALKULATOR (Sidebar) ── */
.kvz-calc {
  background: linear-gradient(165deg, #0A1A2F, #0E2040);
  border-radius: 24px; overflow: hidden; position: sticky; top: 80px;
  border: 1px solid rgba(201,168,106,.15);
}
.kvz-calc__head { padding: 24px 26px 18px; border-bottom: 1px solid rgba(255,255,255,.07); }
.kvz-calc__head h4 {
  font-family: var(--serif); font-size: 17px; font-weight: 300; color: #fff; margin-bottom: 4px;
}
.kvz-calc__head p { font-size: 13px; color: rgba(255,255,255,.35); }
.kvz-calc__body { padding: 20px 26px; }
.kvz-calc-sel {
  width: 100%; padding: 10px 14px; border-radius: 8px;
  background: rgba(255,255,255,.14); border: 1.5px solid rgba(255,255,255,.28);
  color: #fff; font-family: var(--sans); font-size: 13px; margin-bottom: 18px;
  outline: none; cursor: pointer;
}
.kvz-calc-sel option {
  background: #0A1A2F; color: #fff;
}
.kvz-price-rows { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.kvz-price-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13.5px;
}
.kvz-price-row__label { color: rgba(255,255,255,.4); }
.kvz-price-row__val { font-weight: 600; color: rgba(255,255,255,.75); }
.kvz-price-total {
  border-top: 1px solid rgba(255,255,255,.1); padding-top: 14px; text-align: center;
}
.kvz-price-total__label {
  font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: rgba(255,255,255,.25); display: block; margin-bottom: 6px;
}
.kvz-price-total__amount {
  font-family: var(--serif); font-size: 44px; font-weight: 300; color: var(--teal-l);
  line-height: 1; letter-spacing:0;
}
.kvz-price-total__note { font-size: 11.5px; color: rgba(255,255,255,.25); margin-top: 6px; display: block; }
.kvz-calc__cta { padding: 16px 26px; border-top: 1px solid rgba(255,255,255,.07); text-align: center; }
.kvz-calc__cta a {
  font-size: 14px; font-weight: 600; color: var(--gold-l); display: flex;
  align-items: center; justify-content: center; gap: 8px;
  transition: color .2s;
}
.kvz-calc__cta a:hover { color: var(--gold); }

/* ══════════════════════════════════════════════════════════
   ★ 6. VORTEILE (dunkel)
══════════════════════════════════════════════════════════ */
.kvz-sec--vorteile {
  background: linear-gradient(155deg, #040c18, #060f1e 50%, #0b1828);
  padding: 88px 0;
}
.kvz-vorteile-grid {
  display: grid; grid-template-columns: 1fr 400px; gap: 80px; align-items: center;
}
.kvz-vorteile__text .kvz-sec-hd { text-align: left; margin-left: 0; margin-bottom: 28px; }
.kvz-vorteile__text .kvz-sec-hd h2 { color: #fff; }
.kvz-vorteile__text .kvz-sec-hd p  { color: rgba(255,255,255,.68); }
.kvz-vl-list { display: flex; flex-direction: column; }
.kvz-vl-item {
  display: flex; align-items: flex-start; gap: 14px; padding: 13px 0;
  border-bottom: 1px solid rgba(255,255,255,.05);
  font-size: 14px; color: rgba(255,255,255,.6); line-height: 1.65;
  transition: padding-left .2s, color .2s;
}
.kvz-vl-item:last-child { border-bottom: none; }
.kvz-vl-item:hover { padding-left: 4px; color: rgba(255,255,255,.85); }
.kvz-vl-icon {
  width: 34px; height: 34px; border-radius: 10px;
  background: rgba(13,138,122,.1); border: 1px solid rgba(13,138,122,.25);
  display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0;
}
/* Metriken 2×2 */
.kvz-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.kvz-metric {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07);
  border-radius: 22px; padding: 30px 22px; text-align: center;
  transition: transform .4s var(--ease), border-color .3s, background .3s;
}
.kvz-metric:hover {
  transform: translateY(-8px); border-color: rgba(13,138,122,.3);
  background: rgba(13,138,122,.06);
}
.kvz-metric__icon { font-size: 28px; margin-bottom: 12px; display: block; }
.kvz-metric__val {
  font-family: var(--serif); font-size: 34px; font-weight: 300;
  color: var(--teal-l); line-height: 1; margin-bottom: 8px; letter-spacing:0;
}
.kvz-metric__label {
  font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.58); line-height: 1.4;
}

/* ══════════════════════════════════════════════════════════
   ★ 7. GOOGLE BEWERTUNGEN
══════════════════════════════════════════════════════════ */
.kvz-google-sec {
  background: linear-gradient(135deg, #f8f9fa, #fff);
  padding: 80px 0; border-top: 1px solid rgba(10,26,47,.06);
}
.kvz-google-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 48px; flex-wrap: wrap; gap: 24px;
}
.kvz-google-rating-big { display: flex; align-items: center; gap: 28px; }
.kvz-google-logo-lockup { display: flex; align-items: center; gap: 12px; }
.kvz-google-logo-lockup svg { width: 28px; height: 28px; }
.kvz-google-logo-lockup span { font-size: 18px; font-weight: 700; color: #202124; }
.kvz-google-score-block { text-align: center; }
.kvz-google-score-big { font-size: 56px; font-weight: 700; color: #202124; line-height: 1; }
.kvz-google-stars-row { display: flex; gap: 3px; justify-content: center; margin: 6px 0; }
.kvz-google-star { width: 20px; height: 20px; }
.kvz-google-count-txt { font-size: 13px; color: #5f6368; }
.kvz-google-cta { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.kvz-google-btn-review {
  display: inline-flex; align-items: center; gap: 10px;
  background: linear-gradient(135deg, #4285F4, #1a73e8);
  color: #fff; border: none; border-radius: 12px; padding: 11px 20px;
  font-size: 13px; font-weight: 700; letter-spacing: .04em; cursor: pointer;
  box-shadow: 0 6px 28px rgba(66,133,244,.35); transition: transform .3s, box-shadow .3s;
  text-decoration: none;
}
.kvz-google-btn-review:hover { transform: translateY(-3px); box-shadow: 0 14px 44px rgba(66,133,244,.5); }
.kvz-google-btn-review__icon {
  width: 22px; height: 22px; background: #fff; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.kvz-google-note { font-size: 11.5px; color: #9ca3af; }
.kvz-google-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.kvz-review-card {
  background: #fff; border: 1px solid rgba(10,26,47,.07); border-radius: 18px;
  padding: 18px 20px; transition: transform .3s, box-shadow .3s, border-color .3s;
}
.kvz-review-card:hover {
  transform: translateY(-4px); box-shadow: var(--shadow-md);
  border-color: rgba(66,133,244,.2);
}
.kvz-review-card__head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.kvz-avatar {
  width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 18px; font-weight: 300; color: #fff;
}
.kvz-review-card__meta { flex: 1; }
.kvz-review-card__name { font-size: 14px; font-weight: 600; color: #202124; margin-bottom: 2px; }
.kvz-review-card__date { font-size: 11.5px; color: #5f6368; }
.kvz-review-card__stars { display: flex; gap: 2px; margin-bottom: 10px; }
.kvz-review-card__star  { color: #FBBC04; font-size: 14px; }
.kvz-review-card__text  { font-size: 14px; color: #374151; line-height: 1.72; }
.kvz-review-card__badge { display: inline-flex; align-items: center; gap: 5px; margin-top: 12px; font-size: 11px; color: #5f6368; }
.kvz-verified { color: #4285F4; font-size: 12px; }
.kvz-google-more {
  display: flex; align-items: center; justify-content: center; margin-top: 36px;
}
.kvz-google-more-link {
  display: inline-flex; align-items: center; gap: 8px; font-size: 14px;
  font-weight: 600; color: #1a56c4; border: 1.5px solid rgba(66,133,244,.25);
  border-radius: 10px; padding: 12px 24px; transition: background .2s, border-color .2s;
  text-decoration: none;
background: #f0f4ff; border-color: rgba(66,133,244,.4); }
.kvz-google-more-link:hover { background: rgba(66,133,244,.06); border-color: rgba(66,133,244,.5); }

/* ══════════════════════════════════════════════════════════
   ★ 8. FAQ
══════════════════════════════════════════════════════════ */
.kvz-sec--faq { background: #fff; padding: 80px 0; border-top: 1px solid rgba(10,26,47,.06); }
.kvz-faq-list { max-width: 780px; margin: 0 auto; }
.kvz-faq-item { border-bottom: 1px solid rgba(10,26,47,.08); }
.kvz-faq-item:first-child { border-top: 1px solid rgba(10,26,47,.08); }
.kvz-faq-q {
  width: 100%; background: none; border: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  padding: 17px 0; font-size: 14.5px; font-weight: 600; color: var(--navy);
  text-align: left; gap: 20px; transition: color .2s; font-family: var(--sans);
}
.kvz-faq-q:hover { color: var(--teal); }
.kvz-faq-icon {
  flex-shrink: 0; color: var(--teal); font-size: 24px; font-weight: 300;
  line-height: 1; transition: transform .3s var(--ease);
}
.kvz-faq-item.is-open .kvz-faq-icon { transform: rotate(45deg); }
.kvz-faq-a {
  max-height: 0; overflow: hidden; opacity: 0;
  transition: max-height .45s var(--ease), opacity .35s;
}
.kvz-faq-a p {
  font-size: 14px; color: #6b7280; line-height: 1.85; padding-bottom: 20px;
}

/* ══════════════════════════════════════════════════════════
   ★ 9. CTA BAND
══════════════════════════════════════════════════════════ */
.kvz-cta-band {
  background: linear-gradient(135deg, var(--navy), var(--navy-mid));
  padding: 88px 0; text-align: center; position: relative; overflow: hidden;
  border-top: 1px solid rgba(201,168,106,.12);
}
.kvz-cta-band::before {
  content: ''; position: absolute;
  top: -60%; left: 50%; transform: translateX(-50%);
  width: 60%; height: 220%;
  background: radial-gradient(ellipse, rgba(13,138,122,.07), transparent 60%);
  pointer-events: none;
}
.kvz-cta-band__inner { position: relative; z-index: 1; max-width: 680px; margin: 0 auto; }
.kvz-cta-band h2 {
  font-family: var(--serif); font-size: clamp(28px, 3.5vw, 52px); font-weight: 300;
  color: #fff; line-height: 1.13; margin-bottom: 14px; letter-spacing:0;
}
.kvz-cta-band h2 em { font-style: italic; color: var(--gold-l); }
.kvz-cta-band p {
  font-size: 16px; color: rgba(255,255,255,.38); line-height: 1.75; margin-bottom: 36px;
}
.kvz-cta-band__btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ══════════════════════════════════════════════════════════
   ★ CORPORATE / MONTEUR BEREICH
══════════════════════════════════════════════════════════ */
.kvz-sec--corporate { background: #f4f0e8; padding: 80px 0; }
.kvz-corporate-grid {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px;
}
.kvz-corp-card {
  background: #fff; border-radius: 20px; padding: 30px 26px;
  border: 1px solid rgba(10,26,47,.07); text-align: center;
  transition: transform .35s var(--ease), box-shadow .3s;
}
.kvz-corp-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.kvz-corp-card__icon { font-size: 36px; margin-bottom: 14px; }
.kvz-corp-card h3 {
  font-family: var(--serif); font-size: 20px; font-weight: 300; color: var(--navy);
  margin-bottom: 8px;
}
.kvz-corp-card p { font-size: 13.5px; color: #6b7280; line-height: 1.7; margin-bottom: 16px; }
.kvz-corp-tag {
  display: inline-flex; padding: 4px 12px; border-radius: 40px; font-size: 11px;
  font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  background: rgba(13,138,122,.1); color: var(--teal-d);
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE — Tablet & Mobile
══════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .kvz-hero__inner { grid-template-columns: 1fr; gap: 48px; }
  .kvz-book-box { max-width: 540px; margin: 0 auto; }
  .kvz-booking-layout { grid-template-columns: 1fr; }
  .kvz-calc { position: static; }
  .kvz-vorteile-grid { grid-template-columns: 1fr; gap: 48px; }
  .kvz-corporate-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
  .kvz-wrap, .kvz-wrap--sm { padding: 0 24px; }
  .kvz-steps { grid-template-columns: 1fr 1fr; gap: 16px; }
  .kvz-steps::before { display: none; }
  .kvz-google-reviews-grid { grid-template-columns: 1fr 1fr; }
  .kvz-strip-grid { grid-template-columns: 1fr 1fr; }
  .kvz-strip-feat { border-right: none; border-bottom: 1px solid rgba(10,26,47,.07); }
  .kvz-strip-feat:nth-child(2) { border-bottom: none; }
}

@media (max-width: 640px) {
  .kvz-hero { padding: 80px 0 60px; }
  .kvz-hero h1 { font-size: clamp(30px, 10vw, 48px); }
  .kvz-wrap, .kvz-wrap--sm { padding: 0 16px; }
  .kvz-sec { padding: 64px 0; }
  .kvz-steps { grid-template-columns: 1fr; }
  .kvz-google-reviews-grid { grid-template-columns: 1fr; }
  .kvz-metrics { grid-template-columns: 1fr 1fr; }
  .kvz-form-row { grid-template-columns: 1fr; }
  .kvz-field-row { grid-template-columns: 1fr; }
  .kvz-hero__btns { flex-direction: column; }
  .kvz-obj-grid { grid-template-columns: 1fr; }
  .kvz-corporate-grid { grid-template-columns: 1fr; }
  .kvz-strip-grid { grid-template-columns: 1fr; }
  .kvz-cta-band__btns { flex-direction: column; align-items: center; }
  .kvz-book-box__body { padding: 16px; }
  .kvz-form-card__body { padding: 20px; }
  .kvz-google-header { flex-direction: column; align-items: flex-start; }
  .kvz-google-cta { align-items: flex-start; }
}

/* ══════════════════════════════════════════════════════════
   GOOGLE BEWERTUNGS-FAB (global, fixed)
   Erscheint auf der KVZ-Seite (und allen anderen wenn gewünscht)
══════════════════════════════════════════════════════════ */
.ge-google-fab {
  position: fixed; right: 24px; bottom: 28px; z-index: 8888;
  display: flex; flex-direction: column; align-items: flex-end; gap: 10px;
}
.ge-google-fab__tooltip {
  background: rgba(10,26,47,.92); color: #fff; border-radius: 10px;
  padding: 8px 14px; font-size: 12px; font-weight: 500;
  box-shadow: var(--shadow-md); opacity: 0; transform: translateX(8px);
  transition: opacity .25s, transform .25s; pointer-events: none; white-space: nowrap;
  font-family: var(--sans);
}
.ge-google-fab:hover .ge-google-fab__tooltip { opacity: 1; transform: translateX(0); }
.ge-google-fab__card {
  background: #fff; border-radius: 20px;
  box-shadow: 0 8px 40px rgba(0,0,0,.18), 0 0 0 1px rgba(0,0,0,.06);
  padding: 14px 18px; display: flex; align-items: center; gap: 14px;
  min-width: 240px; cursor: pointer; text-decoration: none;
  transition: transform .3s var(--ease), box-shadow .3s;
}
.ge-google-fab__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(0,0,0,.22), 0 0 0 1px rgba(0,0,0,.08);
}
.ge-google-fab__info { flex: 1; min-width: 0; }
.ge-google-fab__label {
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: #5f6368; margin-bottom: 2px; font-family: var(--sans);
}
.ge-google-fab__stars { display: flex; align-items: center; gap: 5px; }
.ge-google-fab__stars-ico { color: #FBBC04; font-size: 13px; letter-spacing: 1px; }
.ge-google-fab__score { font-size: 16px; font-weight: 700; color: #202124; }
.ge-google-fab__count { font-size: 11px; color: #5f6368; }
.ge-google-fab__cta {
  background: linear-gradient(135deg, #4285F4, #1a73e8); color: #fff;
  border: none; border-radius: 10px; padding: 9px 16px;
  font-size: 12px; font-weight: 700; letter-spacing: .04em; cursor: pointer;
  box-shadow: 0 4px 16px rgba(66,133,244,.35);
  transition: box-shadow .2s, transform .2s; font-family: var(--sans);
}
.ge-google-fab__cta:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(66,133,244,.5); }

@media (max-width: 640px) {
  .ge-google-fab { right: 12px; bottom: 16px; }
  .ge-google-fab__card { min-width: 200px; }
  .ge-google-fab__tooltip { display: none; }
}

/* ── v2-Verbesserungen ────────────────────────── */

/* Buchungsbox im Hero: kompaktere Größe */
.kvz-book-box__head { padding: 18px 22px 14px; }
.kvz-book-box__head h3 { font-size: 19px; }
.kvz-book-box__body { padding: 18px 20px; }

/* Section-Überschriften etwas kleiner */
.kvz-sec-hd h2 { font-size: clamp(26px, 3vw, 46px); }
.kvz-sec-hd { margin: 0 auto 44px; }

/* Strip-Icons kompakter */
.kvz-strip-feat__icon { font-size: 22px; }
.kvz-strip-feat strong { font-size: 13px; }
.kvz-strip-feat span { font-size: 12px; }

/* Hero USP kompakter */
.kvz-usp { font-size: 13.5px; }

/* Preiskalkulator: Gesamtbetrag */
.kvz-price-total__amount { font-size: 38px; }

/* FAQ-Liste max-width */
.kvz-faq-list { max-width: 720px; }

/* Objekte-Karte Titel kleiner */
.kvz-obj-card__title { font-size: 18px; }

/* Google Reviews Sternzahl kleiner */
.kvz-google-score-big { font-size: 40px; }
/* ══════════════════════════════════════════════
   FLATPICKR — KVZ Custom Calendar Theme
   Überschreibt flatpickr-Defaults mit GE-Farben
══════════════════════════════════════════════ */
.flatpickr-calendar {
  background: #0E2040;
  border: 1px solid rgba(201,168,106,.25);
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0,0,0,.55);
  font-family: var(--sans);
  font-size: 13px;
  padding: 10px;
  width: 290px !important;
}
.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after { border-bottom-color: #0E2040; }
.flatpickr-months { padding: 0 0 8px; }
.flatpickr-month { background: transparent; color: #fff; fill: #fff; }
.flatpickr-current-month { font-size: 14px; font-weight: 600; color: #fff; padding: 0; }
.flatpickr-current-month select.cur-month {
  color: #fff; background: transparent; font-weight: 700;
}
.numInputWrapper span.arrowUp,
.numInputWrapper span.arrowDown { border-color: rgba(255,255,255,.2); }
.flatpickr-prev-month, .flatpickr-next-month {
  color: rgba(201,168,106,.7) !important; fill: rgba(201,168,106,.7) !important;
}
.flatpickr-prev-month:hover, .flatpickr-next-month:hover {
  color: var(--gold) !important; fill: var(--gold) !important;
}
.flatpickr-weekday {
  color: rgba(255,255,255,.35) !important;
  font-size: 10.5px; font-weight: 700; letter-spacing: .06em;
}
.flatpickr-day {
  color: rgba(255,255,255,.75);
  border-radius: 8px;
  font-size: 12.5px;
  transition: background .15s, color .15s;
}
.flatpickr-day:hover {
  background: rgba(13,138,122,.18);
  border-color: rgba(13,138,122,.35);
  color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: linear-gradient(135deg, #0D8A7A, #076258) !important;
  border-color: #0D8A7A !important;
  color: #fff !important;
  font-weight: 700;
}
.flatpickr-day.inRange {
  background: rgba(13,138,122,.15) !important;
  border-color: rgba(13,138,122,.1) !important;
  color: rgba(255,255,255,.9) !important;
  box-shadow: -5px 0 0 rgba(13,138,122,.15), 5px 0 0 rgba(13,138,122,.15);
}
.flatpickr-day.today {
  border-color: rgba(201,168,106,.45) !important;
  color: var(--gold-l) !important;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: rgba(255,255,255,.15) !important;
  cursor: not-allowed;
}
.flatpickr-day.flatpickr-disabled:hover {
  background: none !important;
  border-color: transparent !important;
}
/* Input-Felder mit Kalender-Icon anzeigen */
#hero-von, #hero-bis, #calc-von, #calc-bis,
#form-checkin, #form-checkout {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%230D8A7A' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 34px !important;
}

/* ── v3 Finale Verbesserungen ─────────────────────── */

/* Hero-Grid: etwas weniger überwältigend */
.kvz-hero__inner { gap: 40px; }

/* Buchungsbox im Hero: Maximale Breite begrenzen */
@media (min-width: 1100px) {
  .kvz-book-box { max-width: 380px; }
}

/* Preisvorschau: Schrift kleiner */
.kvz-price-prev__val { font-size: 26px; }

/* Hero Sub Text: kompakter */
.kvz-hero__sub { font-size: 14.5px; color: rgba(255,255,255,.88); margin-bottom: 22px; }

/* Superhost Badge kleiner */
.kvz-superhost { font-size: 11px; padding: 5px 13px; margin-bottom: 14px; }

/* Trust Pills kompakter */
.kvz-pill { font-size: 11.5px; padding: 4px 12px; }
.kvz-trust { gap: 8px; margin-top: 20px; }

/* Corporate Karten: h3 kleiner */
.kvz-corp-card h3 { font-size: 17px; }
.kvz-corp-card p { font-size: 13px; }

/* CTA Band: H2 kleiner */
.kvz-cta-band h2 { font-size: clamp(22px, 3vw, 40px); }
.kvz-cta-band p { font-size: 14.5px; }

/* Prozess-Schritte: kleiner */
.kvz-step h3 { font-size: 14px; }
.kvz-step p { font-size: 13px; }
.kvz-step__num { font-size: 38px; }

/* Google Fab kleiner */
.ge-google-fab__card { min-width: 210px; padding: 12px 15px; }
.ge-google-fab__score { font-size: 14px; }

/* Verfügbarkeits-Strip im Objekt-Karte kleiner */
.kvz-avail-strip { font-size: 11.5px; padding: 6px 14px; }

/* FAQ-Bereich: Fragen kompakter */
.kvz-sec--faq { padding: 60px 0; }


/* ══════════════════════════════════════════════════════════
   v-FIXES: Hintergrundbild + Hero-Overlay + Buchungsbalken
══════════════════════════════════════════════════════════ */

/* Hero: halb-transparenter Overlay damit Hintergrundbild sichtbar */
.kvz-hero::before {
  z-index: 1;
  background:
    linear-gradient(155deg, rgba(3,10,20,0.78) 0%, rgba(6,15,30,0.70) 50%, rgba(10,24,36,0.62) 100%),
    radial-gradient(ellipse 90% 60% at 50% -5%, rgba(13,138,122,.08), transparent 65%);
}
/* Hintergrundbild hinter Overlay */
.kvz-hero .ge-img-cover { z-index: 0; }
/* Hero-Grid und Inner-Content über Overlay */
.kvz-hero__grid { z-index: 0; }
.kvz-hero__inner { z-index: 2; position: relative; }

/* Hero single-column wenn Buchungsbox entfernt */
.kvz-hero__inner--no-book {
  grid-template-columns: 1fr;
  max-width: 760px;
}

/* ── SCHNELLBUCHUNGS-BALKEN ────────────────────────────── */
.kvz-booking-bar {
  background: linear-gradient(135deg, #0a1624 0%, #0e2040 100%);
  border-top: 1px solid rgba(201,168,106,.18);
  border-bottom: 1px solid rgba(13,138,122,.2);
  padding: 0;
  position: relative;
  z-index: 10;
  box-shadow: 0 8px 40px rgba(0,0,0,.35);
}
.kvz-booking-bar__wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}
.kvz-booking-bar__inner {
  display: grid;
  grid-template-columns: auto 1fr 1fr 1fr 1fr auto auto auto;
  gap: 0;
  align-items: stretch;
  min-height: 92px;
}
/* Header-Block links */
.kvz-bb-head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 24px 20px 0;
  border-right: 1px solid rgba(255,255,255,.08);
  min-width: 170px;
}
.kvz-bb-head__title {
  font-family: var(--serif);
  font-size: 15px;
  font-weight: 300;
  color: #fff;
  margin-bottom: 2px;
}
.kvz-bb-head__sub {
  font-size: 11px;
  color: rgba(255,255,255,.62);
}
.kvz-bb-head__rating {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 4px;
  font-size: 11px;
  color: rgba(255,255,255,.64);
}
.kvz-bb-head__stars { color: #FBBC04; font-size: 10px; }

/* Eingabefelder */
.kvz-bb-field {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 20px;
  border-right: 1px solid rgba(255,255,255,.07);
  cursor: pointer;
  transition: background .2s;
}
.kvz-bb-field:hover { background: rgba(255,255,255,.04); }
.kvz-bb-field label {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(201,168,106,.7);
  margin-bottom: 4px;
  pointer-events: none;
}
.kvz-bb-field input,
.kvz-bb-field select {
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  font-family: var(--sans);
  font-size: 13.5px;
  font-weight: 500;
  width: 100%;
  padding: 0;
  cursor: pointer;
}
.kvz-bb-field input::placeholder { color: rgba(255,255,255,.35); }
.kvz-bb-field select option { background: #0E2040; color: #fff; }

/* Preisvorschau */
.kvz-bb-price {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 20px;
  border-right: 1px solid rgba(255,255,255,.07);
  min-width: 130px;
}
.kvz-bb-price__label {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(13,138,122,.8);
  margin-bottom: 3px;
}
.kvz-bb-price__val {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 300;
  color: var(--teal-l);
  line-height: 1;
}
.kvz-bb-price__note {
  font-size: 10px;
  color: rgba(255,255,255,.28);
  margin-top: 2px;
}

/* Buchungs-Button */
.kvz-bb-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  background: linear-gradient(135deg, var(--teal), var(--teal-d));
  color: #fff;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  gap: 8px;
  cursor: pointer;
  transition: background .25s, box-shadow .25s;
  border: none;
  font-family: var(--sans);
}
.kvz-bb-btn:hover {
  background: linear-gradient(135deg, var(--teal-l), var(--teal));
  box-shadow: inset 0 0 20px rgba(255,255,255,.07);
}

/* Foot-Items im Balken */
.kvz-bb-foot {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 18px 20px;
  border-left: 1px solid rgba(255,255,255,.07);
  gap: 6px 14px;
  min-width: 160px;
}
.kvz-bb-foot span {
  font-size: 10px;
  color: rgba(255,255,255,.32);
  white-space: nowrap;
}

/* Responsive: Buchungsbalken */
@media (max-width: 1100px) {
  .kvz-booking-bar__inner {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    min-height: auto;
  }
  .kvz-bb-head { grid-column: 1 / -1; border-right: none; border-bottom: 1px solid rgba(255,255,255,.07); flex-direction: row; align-items: center; gap: 16px; padding: 14px 0; }
  .kvz-bb-btn { grid-column: 1 / -1; padding: 14px; border-radius: 0; justify-content: center; }
  .kvz-bb-foot { display: none; }
}
@media (max-width: 640px) {
  .kvz-booking-bar__wrap { padding: 0 16px; }
  .kvz-booking-bar__inner { grid-template-columns: 1fr 1fr; }
}

/* ===== END ge-kurzzeitvermietung.css ===== */

/* ===== FINAL MOBILE POLISH: KONTAKT / KARRIERE ===== */
@media (max-width: 768px) {
  .kk-hero {
    padding: 92px 0 42px !important;
    overflow: hidden;
  }

  .kk-hero__inner {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    align-items: start !important;
  }

  .kk-hero__person {
    order: 2 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .kk-hero__content {
    order: 1 !important;
    min-width: 0;
  }

  .kk-hero__content::before {
    margin-bottom: 20px !important;
  }

  .kk-hero__badge {
    max-width: 100%;
    white-space: normal;
    line-height: 1.5;
  }

  .kk-hero__h1 {
    font-size: clamp(28px, 8.6vw, 38px) !important;
    line-height: 1.1 !important;
    margin-bottom: 16px !important;
  }

  .kk-hero__h1 em {
    display: inline !important;
  }

  .kk-hero__sub {
    font-size: 15px !important;
    line-height: 1.68 !important;
    color: rgba(255,255,255,.88) !important;
    max-width: none !important;
    margin-bottom: 22px !important;
  }

  .kk-hero__pillars {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px !important;
    margin-bottom: 22px !important;
  }

  .kk-hero__pillars li {
    min-width: 0;
    align-items: flex-start !important;
    padding: 12px 12px !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  .kk-hero__ctas {
    grid-template-columns: 1fr 1fr !important;
  }

  .kk-hero__ctas > * {
    min-width: 0;
  }

  .kk-person-card {
    width: 100% !important;
  }

  .kk-person-card__header,
  .kk-person-card__footer {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .kk-person-card__tel {
    font-size: 16px !important;
    word-break: break-word;
  }

  .kk-steps {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  .kk-step {
    min-width: 0;
  }

  .kk-main {
    gap: 28px !important;
  }

  .kk-sidebar {
    position: static !important;
    gap: 22px !important;
  }

  .kk-sidebar__channels {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px !important;
  }

  .kk-channel {
    min-width: 0;
    padding: 12px 12px !important;
    align-items: flex-start !important;
  }

  .kk-channel__value {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    word-break: break-word;
  }

  .kk-anliegen {
    grid-template-columns: 1fr 1fr !important;
  }

  .kar-hero {
    min-height: auto !important;
    padding: 94px 0 44px !important;
    overflow: hidden;
  }

  .kar-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(3,8,16,.22) 0%, rgba(3,8,16,.76) 36%, rgba(3,8,16,.9) 100%);
  }

  .kar-hero__inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    align-items: start !important;
  }

  .kar-hero__text {
    min-width: 0;
  }

  .kar-hero__h1 {
    font-size: clamp(31px, 9vw, 42px) !important;
    line-height: 1.05 !important;
    margin: 10px 0 16px !important;
    max-width: 9.5ch;
  }

  .kar-hero__lead {
    font-size: 15px !important;
    line-height: 1.66 !important;
    color: rgba(255,255,255,.88) !important;
    max-width: none !important;
    margin-bottom: 22px !important;
  }

  .kar-hero__btns {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px !important;
  }

  .kar-hero__btns > * {
    min-width: 0;
    width: 100%;
  }

  .kar-hero__kpis {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding-top: 0 !important;
    border: 0 !important;
  }

  .kar-kpi {
    padding: 14px 12px !important;
  }

  .kar-benefits {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  .kar-benefit {
    padding: 22px 16px 18px !important;
  }

  .kar-benefit__title {
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  .kar-benefit__text {
    font-size: 12.5px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 480px) {
  .kk-hero__pillars,
  .kk-steps,
  .kk-sidebar__channels,
  .kk-anliegen,
  .kar-hero__btns,
  .kar-benefits {
    grid-template-columns: 1fr 1fr !important;
  }

  .kk-hero__pillars li,
  .kar-benefit,
  .kk-step,
  .kk-channel,
  .kk-anliegen-btn {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* ===== FINAL MOBILE END-PASS: HERO ORDER / COMPACT GRIDS ===== */
@media (max-width: 768px) {
  .kk-hero {
    min-height: auto !important;
    padding: 84px 0 36px !important;
  }

  .kk-hero__bg-img {
    object-position: center 22% !important;
    transform: none !important;
    filter: brightness(.40) saturate(.82) !important;
    opacity: 0.88 !important;
  }

  .kk-hero__overlay {
    background:
      linear-gradient(180deg, rgba(2,5,14,.985) 0%, rgba(3,8,18,.99) 44%, rgba(4,8,15,1) 100%) !important,
      linear-gradient(110deg, rgba(2,5,14,1) 0%, rgba(4,8,15,.98) 48%, rgba(4,8,15,.96) 100%) !important;
  }

  .kk-hero__content,
  .kk-hero__person {
    max-width: 100% !important;
  }

  .kk-hero__person {
    order: -1 !important;
    width: min(100%, 320px) !important;
    margin: 0 auto 4px !important;
  }

  .kk-hero__content {
    order: 2 !important;
  }

  .kk-hero__badge {
    margin-bottom: 16px !important;
    font-size: 10px !important;
    letter-spacing: .14em !important;
  }

  .kk-person-card {
    border-radius: 22px !important;
  }

  .kk-person-card__header {
    gap: 12px !important;
  }

  .kk-person-card__body {
    min-width: 0 !important;
  }

  .kk-person-card__name {
    font-size: 24px !important;
  }

  .kk-person-card__role,
  .kk-person-card__hint {
    font-size: 11px !important;
  }

  .kk-steps {
    grid-template-columns: 1fr 1fr !important;
  }

  .kk-step {
    padding: 18px 14px !important;
    border-radius: 18px !important;
  }

  .kk-step__text {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .kk-sidebar__channels,
  .kk-anliegen {
    grid-template-columns: 1fr 1fr !important;
  }

  .kk-channel,
  .kk-anliegen-btn {
    min-height: 100% !important;
  }

  .kar-hero {
    min-height: auto !important;
    padding: 82px 0 34px !important;
  }

  .kar-hero > img {
    object-position: center 18% !important;
    opacity: .36 !important;
  }

  .kar-hero__bg,
  .kar-hero__glow,
  .kar-hero__scroll {
    display: none !important;
  }

  .kar-hero__inner {
    position: relative !important;
    z-index: 2 !important;
  }

  .kar-hero__text {
    max-width: min(100%, 320px) !important;
  }

  .kar-hero__h1 {
    max-width: 7.4ch !important;
    font-size: clamp(28px, 8.6vw, 38px) !important;
  }

  .kar-hero__h1 em {
    display: inline !important;
  }

  .kar-hero__lead {
    max-width: 19.5rem !important;
  }

  .kar-hero__btns,
  .kar-hero__kpis,
  .kar-benefits {
    grid-template-columns: 1fr 1fr !important;
  }

  .kar-kpi,
  .kar-benefit {
    min-width: 0 !important;
  }

  .kar-kpi__val {
    font-size: 24px !important;
  }

  .kar-kpi__lbl {
    font-size: 10px !important;
    line-height: 1.35 !important;
  }
}

@media (min-width: 381px) and (max-width: 768px) {
  .ge-sit-grid,
  .ge-wm-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  .ge-sit-card,
  .ge-wm-card {
    padding: 22px 18px !important;
    border-radius: 18px !important;
  }

  .ge-sit-card__title,
  .ge-wm-card__title {
    font-size: 17px !important;
    line-height: 1.18 !important;
  }

  .ge-sit-card__text,
  .ge-wm-card__text {
    font-size: 12.5px !important;
    line-height: 1.62 !important;
  }
}

@media (max-width: 600px) {
  .kk-hero {
    padding: 76px 0 30px !important;
  }

  .kk-hero__inner,
  .kar-hero__inner {
    gap: 20px !important;
  }

  .kk-hero__person {
    width: min(100%, 280px) !important;
    margin-bottom: 0 !important;
  }

  .kk-person-card {
    padding: 56px 16px 16px !important;
  }

  .kk-person-card__name {
    font-size: 20px !important;
  }

  .kk-hero__pillars,
  .kk-steps,
  .kk-sidebar__channels,
  .kk-anliegen,
  .kar-benefits,
  .kar-hero__kpis {
    gap: 12px !important;
  }

  .kk-hero__pillars li,
  .kk-step,
  .kk-channel,
  .kk-anliegen-btn,
  .kar-benefit,
  .kar-kpi {
    border-radius: 16px !important;
    padding: 16px 14px !important;
  }

  .kk-ablauf {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .kk-ablauf__hd,
  .kar-hd {
    margin-bottom: 18px !important;
  }

  .kar-hero {
    padding: 74px 0 28px !important;
  }

  .kar-hero__text {
    max-width: 100% !important;
  }

  .kar-hero__h1 {
    max-width: 8.5ch !important;
    font-size: clamp(30px, 10vw, 40px) !important;
    line-height: .96 !important;
  }

  .kar-hero__lead {
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
}

/* ===== FINAL MOBILE QA: KONTAKT / KARRIERE ===== */
@media (max-width: 768px) {
  .kar-job__body {
    border-top: 0 !important;
    padding-top: 6px !important;
    margin-top: 0 !important;
  }

  .kar-job__col ul li {
    border-bottom: 0 !important;
  }

  .kk-hero__inner {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 24px !important;
  }

  .kk-hero__content,
  .kk-hero__person {
    width: min(100%, 340px) !important;
    margin-inline: auto !important;
  }

  .kk-hero__person {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .kk-hero__badge,
  .kk-hero__sub {
    margin-inline: auto !important;
  }

  .kk-hero__ctas {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .kk-hero__ctas .ge-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 14px 16px !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
    justify-content: center !important;
  }

  .kk-person-card {
    width: min(100%, 320px) !important;
    margin-inline: auto !important;
  }

  .kk-person-card__header {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: 10px !important;
    padding: 24px 18px 18px !important;
  }

  .kk-person-card__body,
  .kk-person-card__footer {
    align-items: center !important;
    text-align: center !important;
  }

  .kk-person-card__trust {
    justify-content: center !important;
  }

  .kar-hero {
    position: relative !important;
    padding: 58px 0 30px !important;
    overflow: hidden !important;
  }

  .kar-hero::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background:
      linear-gradient(180deg, rgba(8,12,23,.48) 0%, rgba(8,12,23,.68) 28%, rgba(8,12,23,.84) 100%) !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  .kar-hero > img {
    opacity: .26 !important;
    object-position: center 22% !important;
    filter: saturate(.9) contrast(.96) !important;
  }

  .kar-hero__bg,
  .kar-hero__scroll {
    display: none !important;
  }

  .kar-hero__inner {
    position: relative !important;
    z-index: 1 !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    align-items: start !important;
  }

  .kar-hero__text {
    width: min(100%, 320px) !important;
    max-width: min(100%, 320px) !important;
    margin-inline: auto !important;
  }

  .kar-hero__h1 {
    max-width: 10ch !important;
    font-size: clamp(30px, 8.8vw, 40px) !important;
    line-height: 1.02 !important;
    margin-bottom: 12px !important;
    text-wrap: balance !important;
    text-shadow: 0 8px 24px rgba(0,0,0,.34) !important;
  }

  .kar-hero__lead {
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: rgba(255,255,255,.92) !important;
    text-shadow: 0 4px 14px rgba(0,0,0,.28) !important;
  }

  .kar-hero__btns {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .kar-hero__btns .ge-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .kar-hero__kpis {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: min(100%, 320px) !important;
    margin-inline: auto !important;
  }

  .kar-kpi {
    min-height: 0 !important;
    padding: 14px 12px !important;
    background: rgba(14,20,34,.74) !important;
    border-color: rgba(201,168,106,.16) !important;
    backdrop-filter: blur(10px) !important;
  }
}


/* === Final Mobile Polish 2026-05-04: Kontakt + Karriere === */
@media (max-width: 560px) {
  .page-template-page-kontakt-php .kk-hero {
    padding: 92px 0 44px !important;
  }

  .page-template-page-kontakt-php .kk-hero__inner,
  .page-template-page-karriere-php .kar-hero__inner {
    gap: 24px !important;
  }

  .page-template-page-kontakt-php .kk-hero__person {
    margin-inline: auto !important;
    max-width: 340px !important;
  }

  .page-template-page-kontakt-php .kk-hero__card,
  .page-template-page-kontakt-php .kk-hero__content {
    margin-inline: auto !important;
    max-width: 100% !important;
  }

  .page-template-page-kontakt-php .kk-hero__content {
    text-align: left !important;
  }

  .page-template-page-kontakt-php .kk-hero__pillars {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .page-template-page-kontakt-php .kk-hero__pillars li {
    min-width: 0 !important;
    padding: 14px 12px !important;
  }

  .page-template-page-kontakt-php .kk-hero__ctas {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .page-template-page-kontakt-php .kk-hero__ctas .ge-btn,
  .page-template-page-kontakt-php .kk-hero__ctas .ge-btn--ghost,
  .page-template-page-kontakt-php .kk-hero__ctas .ge-btn--primary {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    white-space: normal !important;
  }

  .page-template-page-karriere-php .kar-hero {
    min-height: auto !important;
    padding: 96px 0 48px !important;
    overflow: hidden !important;
  }

  .page-template-page-karriere-php .kar-hero::before {
    background: linear-gradient(180deg, rgba(6,10,18,.2), rgba(6,10,18,.52)) !important;
  }

  .page-template-page-karriere-php .kar-hero__copy,
  .page-template-page-karriere-php .kar-hero__media {
    min-width: 0 !important;
  }

  .page-template-page-karriere-php .kar-hero__title,
  .page-template-page-karriere-php .kar-hero__h1,
  .page-template-page-karriere-php .kar-hero h1 {
    max-width: 8.5ch !important;
    font-size: clamp(30px, 10vw, 42px) !important;
    line-height: 1.04 !important;
  }

  .page-template-page-karriere-php .kar-hero__sub,
  .page-template-page-karriere-php .kar-hero p {
    max-width: 34ch !important;
  }

  .page-template-page-karriere-php .kar-hero__btns,
  .page-template-page-karriere-php .kar-cta__btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .page-template-page-karriere-php .kar-hero__btns .ge-btn,
  .page-template-page-karriere-php .kar-cta__btns .ge-btn {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
  }

  .page-template-page-karriere-php .kar-benefits,
  .page-template-page-karriere-php .kar-values {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  .page-template-page-karriere-php .kar-job__col ul {
    margin-bottom: 0 !important;
  }

  .page-template-page-karriere-php .kar-job__col ul + div,
  .page-template-page-karriere-php .kar-job__col ul + p,
  .page-template-page-karriere-php .kar-job__col .divider,
  .page-template-page-karriere-php .kar-job__divider,
  .page-template-page-karriere-php .kar-job hr {
    display: none !important;
  }
}

@media (max-width: 420px) {
  .page-template-page-kontakt-php .kk-hero__pillars,
  .page-template-page-karriere-php .kar-benefits,
  .page-template-page-karriere-php .kar-values {
    grid-template-columns: 1fr !important;
  }
}

/* === Mobile Compact Pass (2026-05-06) === */
@media (max-width: 768px) {
  .ge-section,
  .ge-sec {
    padding-top: clamp(34px, 7vw, 54px) !important;
    padding-bottom: clamp(34px, 7vw, 54px) !important;
  }

  .ge-section-hd,
  .ge-sec-hd {
    margin-bottom: 18px !important;
  }

  .ge-section-subtitle,
  .ge-sec-sub {
    line-height: 1.58 !important;
  }

  .ge-related-grid,
  .ge-sit-grid,
  .ge-wm-grid {
    gap: 10px !important;
    align-items: start !important;
  }

  .ge-related-card,
  .ge-sit-card,
  .ge-wm-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 16px 14px !important;
  }

  .ge-related-card__title,
  .ge-sit-card__title,
  .ge-wm-card__title {
    margin-bottom: 8px !important;
    line-height: 1.2 !important;
  }

  .ge-related-card__text,
  .ge-sit-card__text,
  .ge-wm-card__text {
    margin-bottom: 10px !important;
    line-height: 1.48 !important;
  }

  .ge-related-card__link,
  .ge-sit-card__link,
  .ge-wm-card__link {
    margin-top: 0 !important;
  }

  .re-next-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .re-next-rail {
    padding: 16px !important;
    border-radius: 14px !important;
  }
}

@media (max-width: 560px) {
  .ge-btn,
  .kvz-btn,
  .kvz-bb-btn {
    min-height: 46px !important;
  }

  .kvz-trust {
    gap: 7px !important;
  }

  .kvz-pill {
    padding: 6px 10px !important;
    font-size: 11px !important;
  }
}

/* === Kontakt Mobile Redesign (2026-05-06) === */
@media (max-width: 768px) {
  .page-template-page-kontakt-php .kk-hero {
    padding: 84px 0 28px !important;
    min-height: auto !important;
  }

  .page-template-page-kontakt-php .kk-hero__h1 {
    font-size: clamp(32px, 9.2vw, 44px) !important;
    line-height: 1.02 !important;
    margin-bottom: 10px !important;
  }

  .page-template-page-kontakt-php .kk-hero__sub {
    font-size: 15px !important;
    line-height: 1.56 !important;
    margin-bottom: 12px !important;
    color: rgba(255,255,255,.9) !important;
  }

  .page-template-page-kontakt-php .kk-hero__pillars {
    gap: 8px !important;
  }

  .page-template-page-kontakt-php .kk-hero__pillars li {
    padding: 10px 10px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    border-radius: 12px !important;
  }

  .page-template-page-kontakt-php .kk-hero__ctas .ge-btn {
    min-height: 46px !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
    border-radius: 12px !important;
  }

  .page-template-page-kontakt-php .kk-person-card {
    padding: 54px 14px 14px !important;
    border-radius: 16px !important;
  }

  .page-template-page-kontakt-php .kk-person-card__name {
    font-size: 30px !important;
  }

  .page-template-page-kontakt-php .kk-person-card__role,
  .page-template-page-kontakt-php .kk-person-card__hint {
    font-size: 11.5px !important;
  }

  .page-template-page-kontakt-php .kk-main {
    gap: 14px !important;
  }

  .page-template-page-kontakt-php .kk-sidebar,
  .page-template-page-kontakt-php .kk-form-wrap {
    border-radius: 16px !important;
    padding: 16px 14px !important;
  }

  .page-template-page-kontakt-php .kk-channel,
  .page-template-page-kontakt-php .kk-anliegen-btn {
    padding: 12px 10px !important;
    border-radius: 12px !important;
  }

  .page-template-page-kontakt-php .kk-channel__value,
  .page-template-page-kontakt-php .kk-anliegen-btn__desc {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .page-template-page-kontakt-php .ge-form__row {
    gap: 10px !important;
  }

  .page-template-page-kontakt-php .ge-input,
  .page-template-page-kontakt-php .ge-select,
  .page-template-page-kontakt-php .ge-textarea {
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
  }

  /* Kontakt mobil: visuelle Ruhe im großen Anliegen-Block */
  .page-template-page-kontakt-php .kk-anliegen {
    gap: 8px !important;
  }

  .page-template-page-kontakt-php .kk-anliegen-btn__label {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }

  .page-template-page-kontakt-php .kk-anliegen-btn__desc {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    opacity: .88 !important;
  }

  .page-template-page-kontakt-php .kk-sidebar-section-label {
    margin-bottom: 8px !important;
  }

  .page-template-page-kontakt-php .kk-trust-list {
    gap: 8px !important;
  }

  .page-template-page-kontakt-php .kk-trust-item {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
}

/* === HARD RESET: Kontakt mobil nicht mehr verschoben (2026-05-06) === */
@media (max-width: 768px) {
  .kk-hero {
    padding: 76px 0 18px !important;
    min-height: auto !important;
  }

  .kk-hero__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: start !important;
  }

  /* Große Personenkarte aus dem Hero-Fluss nehmen, damit Layout nicht "kippt" */
  .kk-hero__person {
    order: 2 !important;
    max-width: 300px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .kk-hero__person > div[style*="margin-bottom:-42px"] {
    margin-bottom: -10px !important;
  }

  .kk-hero__person > div[style*="width:182px;height:182px"] {
    width: 132px !important;
    height: 132px !important;
  }

  .kk-person-card {
    max-width: 300px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 28px 10px 10px !important;
    border-radius: 12px !important;
  }

  .kk-person-card__avatar {
    width: 44px !important;
    height: 44px !important;
    font-size: 18px !important;
  }

  .kk-person-card__name {
    font-size: 20px !important;
    line-height: 1.06 !important;
  }

  .kk-person-card__role,
  .kk-person-card__hint {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .kk-person-card__tel {
    font-size: 14px !important;
    line-height: 1.15 !important;
  }

  .kk-person-card__trust {
    gap: 5px !important;
  }

  .kk-person-card__trust-badge {
    font-size: 10px !important;
    padding: 3px 7px !important;
    border-radius: 999px !important;
  }

  .kk-hero__content {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .kk-hero__h1 {
    font-size: clamp(30px, 8.8vw, 40px) !important;
    line-height: 1.02 !important;
    margin-bottom: 8px !important;
  }

  .kk-hero__sub {
    font-size: 14px !important;
    line-height: 1.48 !important;
    margin-bottom: 10px !important;
  }

  .kk-hero__pillars {
    gap: 7px !important;
  }

  .kk-hero__pillars li {
    padding: 9px 9px !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
    border-radius: 10px !important;
  }

  .kk-hero__ctas .ge-btn {
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 11.5px !important;
    border-radius: 10px !important;
  }
}
