/* zemann.ai — Style A "Editorial Executive" (v16). Lädt nach den Seiten-Styles und überschreibt die Hülle:
   fester dunkler Header, dunkle Hero-Bühne, Rhythmus hell/dunkel, ruhigere Karten, größere Zahlen. */
:root{--gutter:40px;--wrapmax:1080px;--line:#E3E8ED;--hdr:72px;}
@media(max-width:900px){:root{--gutter:22px;}}
body{--pad:max(var(--gutter),calc(50vw - var(--wrapmax)/2 + var(--gutter)));}

html{scroll-behavior:smooth;}
body{background:#fff;}

/* ---------- Header ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:60;margin:0 !important;max-width:none !important;width:100%;padding:0 var(--pad) !important;min-height:var(--hdr);background:rgba(5,28,44,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.06);}
nav .logo .word{color:#fff;}
.navlinks{gap:30px;font-size:14.5px;}
.navlinks a{color:rgba(255,255,255,.85);}
.navlinks a:hover{color:#fff;}
.navlinks a.active{color:#fff;border-bottom-color:var(--sky);}
.navlinks a.cta{background:var(--magenta);color:#fff;border-radius:7px;padding:10px 20px;}
.navlinks a.cta:hover{background:#C4006B;}
nav .back{color:rgba(255,255,255,.75);}
nav .back:hover{color:#fff;}
.langdd summary{background:transparent;color:#fff;border-color:rgba(255,255,255,.25);}
.langdd summary:hover{border-color:rgba(255,255,255,.5);}
.langdd .chev{stroke:#fff;}
.langdd .langmenu{box-shadow:0 14px 40px rgba(5,28,44,.25);}
.nav-burger svg{stroke:#fff;}
.nav-burger svg *{stroke:#fff;}
@media (max-width:900px){
  nav{padding-top:0;padding-bottom:0;}
  .navlinks{border-top-color:rgba(255,255,255,.12);padding-bottom:18px;}
  .navlinks a{color:rgba(255,255,255,.9);}
  .navlinks a.active{color:var(--sky);}
}
body.nohero{padding-top:calc(var(--hdr) + 48px);}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--blue);color:#fff;margin:0;padding:calc(var(--hdr) + 84px) 0 84px;box-shadow:0 0 0 100vmax var(--blue);clip-path:inset(0 -100vmax);}
.hero::after{content:"";position:absolute;right:-18%;top:-40%;width:820px;height:820px;border-radius:50%;background:radial-gradient(closest-side,rgba(170,230,250,.13),transparent 70%);pointer-events:none;}
.hero > *{position:relative;z-index:1;}
.hero .eyebrow{color:var(--sky);}
.hero h1{color:#fff;font-size:60px;line-height:1.05;letter-spacing:-.015em;}
.hero h1 em{color:var(--sky);font-weight:700;}
.hero .sub{color:rgba(255,255,255,.78);font-size:18px;}
.hero .honesty{color:rgba(255,255,255,.6);}
.hero .btn-note{color:rgba(255,255,255,.6);}
.hero .btn-note b{color:#fff;}
.hero .btn{box-shadow:0 10px 30px rgba(230,0,126,.25);}
.hero .rule{width:56px;height:2px;background:var(--magenta);margin:0 0 26px;}
/* Inline-Farben im Hero (z. B. Garantie-Satz) auf dunkel umstellen */
.hero p{color:rgba(255,255,255,.75) !important;}
.hero p b,.hero b{color:#fff !important;}
.hero .eyebrow{color:var(--sky) !important;}
/* Hero mit Porträt (Startseiten) */
.hero.has-photo{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-bottom:0;}
.hero.has-photo .hero-text{padding-bottom:84px;}
.hero.has-photo h1{max-width:none;}
.hero-photo{position:relative;justify-self:end;width:100%;max-width:500px;align-self:end;}
.hero-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:6px 6px 0 0;display:block;filter:saturate(.94);}
.hero-photo::after{content:"";position:absolute;inset:0;border-radius:6px 6px 0 0;background:linear-gradient(180deg,rgba(5,28,44,0) 60%,rgba(5,28,44,.85) 100%);pointer-events:none;}
.hero-photo span{position:absolute;left:22px;bottom:20px;z-index:2;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.85);}
@media(max-width:900px){
  .hero{padding-top:calc(var(--hdr) + 48px) !important;padding-bottom:56px !important;}
  .hero.has-photo{grid-template-columns:1fr;gap:32px;padding-bottom:0 !important;}
  .hero.has-photo .hero-text{padding-bottom:0;}
  .hero-photo{max-width:380px;justify-self:start;}
  .hero h1{font-size:40px;}
}
@media(max-width:520px){.hero h1{font-size:32px !important;}.hero-photo{max-width:none;}}

/* ---------- Logo-Zeile ---------- */
.logos{display:flex;justify-content:space-between;align-items:center;gap:24px 36px;flex-wrap:wrap;padding:30px 0;border-bottom:1px solid var(--line);}
.logos .lbl{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--coolgrey);font-weight:600;}
.logos .wm{font-weight:800;font-size:18px;letter-spacing:.02em;color:#9AA7B4;}
.logos .wm.serif{font-family:'Playfair Display',serif;font-size:21px;font-weight:800;}

/* ---------- Zahlen ---------- */
.proofstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;border:none;padding:64px 0 24px;margin:0;}
.proofstrip div{font-size:13.5px;font-weight:500;color:var(--coolgrey);}
.proofstrip b{display:block;font-family:'Playfair Display',serif;font-weight:800;font-size:34px;line-height:1;color:var(--blue);margin-bottom:8px;letter-spacing:-.01em;}
@media(max-width:900px){.proofstrip{grid-template-columns:1fr 1fr;padding-top:44px;}.proofstrip b{font-size:32px;}}

.entity,.answer{border-radius:14px;line-height:1.7;}
.answer{margin-top:56px;}
.entity{margin-top:28px;}

/* ---------- Typografie & Abstände ---------- */
section{padding:0 0 96px;}
h2{font-size:38px;line-height:1.14;letter-spacing:-.01em;}
.kicker{margin-bottom:14px;}
.lead{font-size:17px;}
.btn{border-radius:8px;transition:background .15s ease,transform .15s ease;}
.btn:hover{background:#C4006B;transform:translateY(-1px);}

/* ---------- Karten ---------- */
.mini,.yt,.qw,.wk,.svc,.card,.box,.step,.ch,.witem,.g,.d{border-radius:14px;border-color:var(--line);transition:transform .2s ease,box-shadow .2s ease;}
.mini:hover,.qw:hover,.wk:hover,.svc:hover,.card:hover,.box:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(5,28,44,.10);}
.case{border-radius:16px;box-shadow:0 20px 50px rgba(5,28,44,.08);}
.stack,.ef,.band,.deliver{border-radius:16px;}
.ef.notyou{background:var(--lightgrey);}
.ef.notyou li::before{color:var(--coolgrey);}
.ef.notyou li{text-decoration-color:#C9D1D9;color:var(--coolgrey);}

/* ---------- Garantie mit Foto (Startseiten) ---------- */
.guarantee.has-photo{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;border-radius:0;margin:0;padding:96px 0;box-shadow:0 0 0 100vmax var(--blue);clip-path:inset(0 -100vmax);}
.guarantee.has-photo .guarantee-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px;display:block;}
.guarantee.has-photo h2{max-width:none;}
.guarantee .big{font-style:normal;font-size:30px;line-height:1.3;}
.guarantee .big i{font-style:italic;}
@media(max-width:900px){.guarantee.has-photo{grid-template-columns:1fr;gap:32px;padding:56px 0 !important;}.guarantee.has-photo .guarantee-photo{max-width:420px;}.guarantee .big{font-size:22px;}}

/* ---------- Über-mich-Teaser ---------- */
.about-teaser{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.about-teaser img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px;display:block;}
.about-teaser .morelink{display:inline-block;margin-top:8px;font-weight:600;color:var(--magenta);text-decoration:none;}
@media(max-width:900px){.about-teaser{grid-template-columns:1fr;gap:28px;}.about-teaser img{max-width:420px;}}

/* ---------- Schluss-CTA ---------- */
.final{background:var(--blue);color:#fff;border-radius:0;margin:0;padding:96px 0 !important;text-align:center;box-shadow:0 0 0 100vmax var(--blue);clip-path:inset(0 -100vmax);}
.final h2{color:#fff;font-size:44px;}
.final p{color:rgba(255,255,255,.75);}
.final .caplabel{color:rgba(255,255,255,.65);max-width:640px;margin-left:auto;margin-right:auto;}
.final .cap{color:var(--magenta);font-size:64px;}
.final .cap .capof{color:rgba(255,255,255,.5);}
.final .btn{box-shadow:0 10px 30px rgba(230,0,126,.25);}
@media(max-width:900px){.final h2{font-size:30px;}.final{padding:64px 0 !important;}}

/* ---------- Footer ---------- */
footer{border-top:none;padding:30px 0 48px;}

/* Über-mich-Seite: Portrait */
.profile .photo img,.photo img{border-radius:6px;}

/* Cookie-Banner & Quick-Contact bleiben; nur Radius angleichen */
.ccb{border-radius:14px;}

/* Porträt auf Über-mich-Seiten: aus dem Kreis wird ein ruhiges Hochformat */
img[src$="viktor-zemann.jpg"]{border-radius:6px !important;max-width:420px !important;aspect-ratio:4/5;object-fit:cover;object-position:top;box-shadow:0 20px 50px rgba(5,28,44,.14) !important;}

/* Zahlenreihen (Über, Anfrage) als Raster statt Umbruch */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px;}
@media(max-width:600px){.logos{justify-content:flex-start;gap:12px 22px;}.logos .wm{font-size:15px;}.logos .wm.serif{font-size:17px;}}
/* Hero-Glow oberhalb nicht in den Header laufen lassen */
.hero::after{top:-20%;}
@media (max-width:900px){nav{background:var(--blue);backdrop-filter:none;-webkit-backdrop-filter:none;}.navlinks{gap:4px;}}
.navlinks .langmenu a{color:var(--slate);}
.navlinks .langmenu a:hover{color:var(--blue);}
.navlinks .langmenu a.cur{color:var(--magenta);}

/* Kundenstimmen (Startseiten DE/EN) */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px;}
.quote{margin:0;padding:30px 30px 26px;border-radius:14px;background:var(--lightgrey);display:flex;flex-direction:column;gap:18px;}
.quote blockquote{margin:0;font-family:'Playfair Display',serif;font-weight:700;font-size:17px;line-height:1.5;color:var(--blue);}
.quote figcaption{font-size:13.5px;color:var(--coolgrey);margin-top:auto;}
.quotes-note{font-size:12.5px;color:var(--coolgrey);margin-top:14px;}
@media(max-width:900px){.quotes{grid-template-columns:1fr;}}
/* FAQ-Sprungmarken im dunklen Hero */
.hero .toc a{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.3);}
.hero .toc a:hover{color:#fff;border-color:var(--sky);}
img[src$="viktor-studio.webp"]{border-radius:6px !important;max-width:420px !important;aspect-ratio:4/5;object-fit:cover;object-position:top;box-shadow:0 20px 50px rgba(5,28,44,.14) !important;}

/* Referenz-Logos: einheitlich grau, Farbe beim Hover */
.logos{gap:22px 40px;}
.logos .lg{display:block;width:auto;filter:grayscale(1);opacity:.55;transition:filter .2s ease,opacity .2s ease;}
.logos .lg:hover{filter:none;opacity:1;}
.logos .lg-cadense{height:18px;}
.logos .lg-db{height:22px;}
.logos .lg-oew{height:40px;}
.logos .lg-stihl{height:30px;}
.logos .lg-mb{height:28px;}
@media(max-width:600px){.logos .lg-cadense{height:14px;}.logos .lg-db{height:18px;}.logos .lg-oew{height:32px;}.logos .lg-stihl{height:24px;}.logos .lg-mb{height:22px;}}

/* Eigenes Logo im dunklen Header: Kreise weiß, Linse magenta */
nav .logo svg circle[fill="#051C2C"]{fill:#fff;}
nav .logo svg circle[stroke="#051C2C"]{stroke:#fff;}
