/* PPTWORX – gemeinsames Stylesheet (Startseite + Folgeseiten)
   Farben aus theme-custom.css: Orange #f9ad32, Grau #434343/#4f4f4f, Nachtblau #262833 */

@font-face{font-family:Raleway;font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/raleway-v28-latin-300.woff2") format("woff2")}
@font-face{font-family:Raleway;font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/raleway-v28-latin-500.woff2") format("woff2")}
@font-face{font-family:Raleway;font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/raleway-v28-latin-600.woff2") format("woff2")}
@font-face{font-family:Raleway;font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/raleway-v28-latin-700.woff2") format("woff2")}

:root{
  --orange:#f9ad32;
  --orange-dark:#b36f00;       /* Orange als Text auf Weiß (Kontrast ≥ 4,5:1) */
  --ink:#434343;
  --text:#5f5f5f;
  --night:#1d1d1d;
  --night-text:#e6e6ea;
  --paper:#fff;
  --mist:#f4f5f7;
  --line:rgba(67,67,67,.16);
  --nav-h:84px;
  --font:Raleway,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --wrap:1160px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:1.0625rem;line-height:1.7;color:var(--text);background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:var(--orange-dark);text-underline-offset:.2em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}

h1,h2,h3,h4{font-weight:300;font-style:italic;color:var(--ink);line-height:1.15;margin:0 0 .6em}
h1{font-size:clamp(1.9rem,4.2vw,3.2rem);text-transform:uppercase}
h2{font-size:clamp(1.6rem,3.2vw,2.5rem);text-transform:uppercase}
h3{font-size:clamp(1.25rem,2vw,1.6rem)}
h4{font-size:1.15rem;font-weight:500}
p{margin:0 0 1.1em;max-width:68ch}
ul{margin:0 0 1.2em;padding-left:1.15em}
li{margin-bottom:.3em}

/* Buttons */
.btn{display:inline-block;padding:.8rem 1.4rem;background:var(--orange);color:#2b2b2b;font-weight:600;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid var(--orange);transition:background .2s,color .2s}
.btn:hover{background:#2b2b2b;border-color:#2b2b2b;color:#fff}
.btn--dark{background:var(--ink);border-color:var(--ink);color:#fff}
.btn--dark:hover{background:var(--orange);border-color:var(--orange);color:#2b2b2b}
.btn-row{display:flex;flex-wrap:wrap;gap:.7rem}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:#2e2e2e;height:var(--nav-h)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:100%}
.brand img{width:auto;height:60px;display:block}
.nav{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.nav li{margin:0}
.nav a{color:#fff;text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.4rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--orange);color:var(--orange)}
.nav-toggle{display:none;background:none;border:0;padding:.6rem;cursor:pointer}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:26px;height:2px;background:#fff;content:"";position:relative}
.nav-toggle span::before{top:-8px;position:absolute}
.nav-toggle span::after{top:8px;position:absolute}

/* Hero: horizontale Zweiteilung */
.hero{position:relative;min-height:750px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;padding-top:var(--nav-h);isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;background:#fff}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:bgfade 14s infinite}
.hero-bg img:nth-child(1){animation-delay:-1s}
.hero-bg img:nth-child(2){animation-delay:6s}
@keyframes bgfade{0%{opacity:0}7%,50%{opacity:1}57%,100%{opacity:0}}
.hero-left{background:rgba(255,255,255,.86);display:flex;align-items:flex-start;justify-content:flex-end;padding:3.5rem clamp(1.25rem,4vw,4rem) 2.25rem 2.5rem;text-align:right}
.hero-left>div{max-width:38rem}
.hero{--h1:clamp(1.5rem,2.5vw,2.2rem)}
.hero-left h1{font-size:var(--h1);margin-bottom:.7em}
.h1-soft{color:#8c8c8c}
.hero-left p{font-size:1rem;line-height:1.6;margin-bottom:.8em}
.hero-left p{margin-left:auto}
.hero-left .lead{color:var(--orange-dark);font-weight:500}
/* "Alles außer gewöhnlich" sitzt auf Höhe der ersten orangen Textzeile links (3 H1-Zeilen + Abstand) */
.hero-right{background:rgba(255,255,255,.45);display:flex;flex-direction:column;justify-content:flex-start;gap:1rem;padding:calc(3.5rem + var(--h1)*4.15 - .2rem) clamp(1.25rem,4vw,4rem) 2.25rem clamp(1.25rem,4vw,3.5rem)}
.claims{display:grid;font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.3;font-weight:300;font-style:italic;color:var(--ink);min-height:2.6em;align-content:start}
.claims p{grid-area:1/1;margin:0;max-width:32ch;opacity:0;animation:claim 12s infinite}
.claims p:nth-child(2){animation-delay:6s}
@keyframes claim{0%{opacity:0;transform:translateY(.4em)}6%,44%{opacity:1;transform:none}50%,100%{opacity:0}}
.hero-right ul{list-style:none;padding:0;margin:0;color:var(--ink);font-weight:500;font-size:.95rem;line-height:1.45}
.hero-right li{padding:.35rem 0 .35rem .9rem;border-left:3px solid var(--orange);margin:0 0 .4rem}


/* Vertrauenszeile im Hero (Logos) + Fakten-Band */
.hero-trust{grid-column:1/-1;background:rgba(255,255,255,.92);padding:1.3rem 1.25rem 1.4rem;text-align:center}
.trust-title{margin:0 auto .9rem;max-width:none;font-size:.8rem;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:#757575}
.logos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem 2.2rem}
.logos li{margin:0;width:130px;height:40px;display:flex;align-items:center;justify-content:center;border:2px dashed #c9c9c9;border-radius:4px;color:#8a8a8a;font-size:.85rem}
.logos img{max-height:40px;width:auto;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.logos li:hover img{filter:none;opacity:1}
.facts{background:#fff;border-bottom:1px solid var(--line);padding:1.8rem 0 1.7rem}
.facts-list{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 1rem;text-align:center}
.facts-list li{margin:0}
.facts-list li::before{content:"";display:block;width:40px;height:3px;background:var(--orange);margin:0 auto .9rem}
.facts-list strong{display:block;font-size:clamp(1.6rem,2.6vw,2rem);font-weight:700;font-style:italic;color:var(--orange-dark);line-height:1}
.facts-list span{display:block;margin-top:.4em;color:var(--text)}

/* Sektionen */
.section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.section--night{background:var(--night);color:var(--night-text)}
.section--night h2,.section--night h3{color:#fff}
.section--night a{color:var(--orange)}
.section--mist{background:var(--mist)}
.section-head{margin-bottom:2.5rem}
.sub{font-size:1.2rem;color:var(--orange-dark);font-weight:500;font-style:italic}
.section--night .sub{color:var(--orange)}

/* Leistungen */
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem}
.ico{width:44px;height:44px;margin-bottom:.8rem;fill:none;stroke:var(--orange);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service{border-top:3px solid var(--orange);padding-top:1.2rem;display:flex;flex-direction:column;font-size:.97rem;line-height:1.65}
.service h4{font-size:1.1rem}
.service .more{margin-top:auto;padding-top:.5rem}
.service ul{padding-left:1.1em}
.more{font-weight:600;text-decoration:none;white-space:nowrap}
.more:hover{text-decoration:underline}

/* Ablauf: echte Reihenfolge, daher nummeriert */
.steps{list-style:none;counter-reset:s;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:0}
.steps li{counter-increment:s;border-top:1px solid rgba(255,255,255,.25);padding-top:1rem;margin:0}
.steps li::before{content:counter(s);display:block;font-size:2.6rem;font-weight:300;font-style:italic;color:var(--orange);line-height:1;margin-bottom:.6rem}
.steps h3{font-size:1.2rem}

/* Arbeiten */
.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.work-grid figure{margin:0}
.work-grid .shot{position:relative;display:block;aspect-ratio:16/9;background:var(--mist);border:1px solid var(--line);overflow:hidden}
.work-grid .shot img{width:100%;height:100%;object-fit:cover}
.work-grid h3{margin-bottom:.3em;font-size:1.05rem;line-height:1.25}
.work-grid .tag{position:absolute;left:0;right:0;bottom:0;padding:1.1rem 1.2rem;background:rgba(46,46,46,.78);color:#fff;font-weight:700;font-size:1.15rem;line-height:1.2;transition:background .2s,color .2s}
.work-grid .shot:hover .tag,.work-grid .shot:focus-visible .tag{background:rgba(249,173,50,.95);color:#2b2b2b}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.work-grid p{margin:0}

/* Bildbänder mit Textfläche (wie in der alten Seite: Foto, darüber Farbfläche) */
.band{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(360px,46vw,520px);padding:clamp(2.5rem,6vw,4rem) 0;background:var(--night)}
.band-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.panel{max-width:640px;padding:clamp(1.5rem,4vw,3rem);background:rgba(29,29,29,.88);color:var(--night-text)}
.panel h2,.panel h3{color:#fff}
.panel a{color:var(--orange)}
.panel a.btn{color:#2b2b2b}
.panel a.btn:hover{color:#fff}
.panel .sub{color:var(--orange);margin:0}
.panel--light{background:rgba(255,255,255,.9);color:var(--text)}
.panel--light h2,.panel--light h3{color:var(--ink)}
.panel--light a{color:var(--orange-dark)}
.panel--light a.btn{color:#2b2b2b}
.panel--wide{max-width:none}
.band--veil::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.68);z-index:-1}
#about.band--veil::after{background:rgba(255,255,255,.62)}
.panel h2 a{text-decoration:none}
.veil-text{max-width:42rem}
.veil-text h3{font-size:clamp(1.5rem,3vw,2.3rem)}
.veil-text a:not(.btn){color:var(--orange-dark);font-weight:600}
.section--photo{position:relative;isolation:isolate;background:#fff}
.section--photo::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.84);z-index:-1}

/* Seminare */
.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin:2.5rem 0}
.topics>div{border-left:3px solid var(--orange);padding-left:1.2rem}

/* Zusagen */
.promises{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:3rem}
.promises>div{border-top:3px solid var(--orange);padding-top:1.2rem}

/* Kontakt */
.contact-box{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:start}
.contact-data{font-style:normal;font-size:1.15rem;line-height:1.8}
.contact-data a{font-weight:600}

/* Footer */
.site-footer{background:var(--night);color:#b9bac4;font-size:.95rem;padding:3rem 0 2rem}
.site-footer a{color:#e6e6ea}
.site-footer a:hover{color:var(--orange)}
.site-footer h2{font-size:1rem;font-style:normal;font-weight:700;letter-spacing:.08em;color:#fff;margin-bottom:.8rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.site-footer ul{list-style:none;padding:0}
.site-footer address{font-style:normal}
.foot-logo img{height:64px;width:auto;margin-bottom:1rem}
.legal{border-top:1px solid rgba(255,255,255,.15);margin-top:2rem;padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between}


/* Unterseiten: Kopfbereich, Inhalt + Seitenleiste, Angebotsstreifen */
.page-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(340px,34vw,440px);padding:calc(var(--nav-h) + 2.5rem) 0 2.5rem;background:#fff}
.page-hero::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.8);z-index:-1}
.page-hero h1{font-size:clamp(1.7rem,3.6vw,2.8rem);margin-bottom:.5em}
.hl{color:var(--orange-dark)}
.page-sub{font-size:clamp(1.15rem,2vw,1.6rem);margin:0 0 .3em;text-transform:none}
.page-sub2{font-size:clamp(1rem,1.6vw,1.3rem);margin:0;text-transform:uppercase;letter-spacing:.04em}
.content-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.article h2{font-size:clamp(1.3rem,2.4vw,1.8rem);text-transform:none}
.article h2.h2-gap{margin-top:2.5rem}
.article h4{margin-top:1.4rem}
.sidebar{border-left:3px solid var(--orange);padding-left:1.4rem;font-size:.97rem;line-height:1.6}
.sidebar .review-link{color:var(--ink);text-decoration:none}
.sidebar .review-link:hover{color:var(--orange-dark)}
.side-map{display:block;margin:0 0 1.2rem}
.side-map img{width:100%;height:auto;border:1px solid var(--line);border-radius:4px}
@media (max-width:900px){.side-map{max-width:420px}}
.side-contact{margin:1rem 0 1.8rem}
.side-title{font-size:1rem;font-style:normal;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.7rem}
.sidebar ul{list-style:none;padding:0}
.sidebar li{margin-bottom:.5rem}
.cta-strip{background:var(--orange);color:#2b2b2b;padding:2.2rem 0;text-align:center}
.cta-strip h2{color:#2b2b2b;font-size:clamp(1.3rem,2.4vw,1.8rem);text-transform:none}
.cta-strip p{margin:0 auto 1.2rem}
.cta-strip .btn{white-space:normal}
@media (max-width:900px){.content-grid{grid-template-columns:1fr}.sidebar{padding-left:1rem}}

/* Mobil */
@media (max-width:1100px){
  .services,.work-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .services,.work-grid{grid-template-columns:1fr}
}
@media (max-width:900px){
  :root{--nav-h:64px}
  .brand img{height:46px}
  .nav-toggle{display:block;margin-left:auto}
  .nav{display:none;position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;background:#2e2e2e;padding:.5rem 1.25rem 1rem}
  .nav.open{display:flex}
  .nav a{display:block;padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.15)}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-left{justify-content:flex-start;text-align:left;padding:2.5rem 1.25rem .75rem}
  .hero-left p{margin-left:0}
  .hero-right{background:rgba(255,255,255,.78);padding:.9rem 1.25rem 2rem;gap:.8rem}
  .claims{min-height:0;font-size:1.4rem}
  .topics,.promises,.contact-box{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .facts-list{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .logos{gap:.75rem}
  .logos li{width:96px;height:36px;font-size:.78rem}
  .trust-title{letter-spacing:.1em}
  .steps,.foot-grid{grid-template-columns:1fr}
  .btn{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-bg img{animation:none}
  .hero-bg img:nth-child(1){opacity:1}
  .claims p{animation:none}
  .claims p:nth-child(2){display:none}
  .claims p:first-child{opacity:1}
}

/* Sanftes Einblenden beim Scrollen (Klasse .reveal setzt nur das JS, nur ohne "Bewegung reduzieren") */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Lightbox für die Arbeitsbeispiele */
.lightbox{border:0;padding:0;background:transparent;width:100vw;height:100vh;max-width:none;max-height:none;overflow:hidden}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox::backdrop{background:rgba(29,29,29,.9)}
.lightbox figure{margin:0;text-align:center;color:#fff}
.lightbox img{display:block;width:auto;height:auto;max-width:min(92vw,1600px);max-height:78vh;background:#fff;margin:0 auto}
.lightbox figcaption{margin-top:1rem;max-width:min(92vw,900px);margin-inline:auto}
.lightbox figcaption h3{color:#fff;font-size:1.2rem;margin:0 0 .25em}
.lightbox figcaption p{margin:0 auto;font-size:1rem;color:#e6e6ea}
.lb-btn{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:3rem;height:3rem;font-size:2rem;line-height:1;cursor:pointer}
.lb-btn:hover{background:var(--orange);color:#2b2b2b}
.lb-close{top:1rem;right:1rem}
.lb-prev{left:1rem;top:50%;transform:translateY(-50%)}
.lb-next{right:1rem;top:50%;transform:translateY(-50%)}
@media (max-width:700px){.lb-prev,.lb-next{top:auto;bottom:1rem;transform:none}.lb-prev{left:calc(50% - 3.5rem)}.lb-next{right:calc(50% - 3.5rem)}.lightbox img{max-height:70vh}}

/* Vorher/Nachher-Regler */
.ba{position:relative;width:min(92vw,695px);aspect-ratio:695/396;margin:0 auto;background:#fff;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y;--p:50%}
.ba[hidden]{display:none}
.lightbox .ba-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;margin:0}
.lightbox .ba-before{clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba-label{position:absolute;bottom:.6rem;padding:.25rem .7rem;background:rgba(46,46,46,.82);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}
.ba-label--l{left:.6rem}
.ba-label--r{right:.6rem}
.ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.ba input::-webkit-slider-thumb{-webkit-appearance:none;width:1px;height:100%}
.ba input::-moz-range-thumb{width:1px;height:100%;border:0}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:var(--orange);pointer-events:none}
.ba-handle::after{content:"\2194";position:absolute;top:50%;left:50%;width:2.6rem;height:2.6rem;margin:-1.3rem 0 0 -1.3rem;border-radius:50%;background:var(--orange);color:#2b2b2b;font-size:1.4rem;line-height:2.6rem;text-align:center;box-shadow:0 0 0 3px #fff}
.ba input:focus-visible~.ba-handle::after{outline:3px solid #fff;outline-offset:3px}

/* P SUBHEADING */
.hero-subheading { font-size: 22px; 
                   line-height: 1.3;
}



/* ===== Leistungsseiten (nur Ergänzungen, nichts Bestehendes geändert) ===== */

/* Abschlussblock "Unser Ziel und Anspruch" */
.goal{max-width:46rem;margin-inline:auto;text-align:center}
.goal h2{font-size:clamp(1.3rem,2.4vw,1.8rem);text-transform:none}
.goal p{margin-inline:auto}

/* Drei Karten (Weitere Leistungen) und gemeinsame Zentrierung der Zusatzzeile */
.services--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1100px){.services--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.services--3{grid-template-columns:1fr}}
.services-line{text-align:center;margin:2.5rem auto 1.2rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;font-size:.9rem;color:var(--ink);max-width:none}
.btn-row--center{justify-content:center}

/* Prozess-Karten im Bildband */
.band .panel .services{margin-top:2rem}
.band .panel .section-head{margin-bottom:0}

/* Häufige Fragen (aufklappbar, ohne JavaScript) */
.faq{max-width:52rem}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;position:relative;padding:1.05rem 2.4rem 1.05rem 0;font-weight:600;color:var(--ink);line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.25rem;top:50%;transform:translateY(-50%);font-size:1.7rem;font-weight:300;color:var(--orange-dark);line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq summary:hover{color:var(--orange-dark)}
.faq details p{margin:0 0 1.2rem}

/* Download-Kasten */
.download{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;margin:2.5rem 0 0;padding:1.6rem 1.8rem;background:var(--mist);border-left:3px solid var(--orange)}
.download .ico{width:48px;height:48px;margin:0}
.download h3{margin:0 0 .3em;font-size:1.25rem}
.download p{margin:0;font-size:.97rem}
@media (max-width:700px){.download{grid-template-columns:1fr;gap:1rem}}

/* Seitenleiste: aktuelle Seite hervorheben */
.sidebar a[aria-current="page"]{color:var(--ink);font-weight:600;text-decoration:none}

/* Kopfbereich mit Bildwand (Skizze, Folien, Vorher/Nachher) */
.page-hero--visual{min-height:0;padding:calc(var(--nav-h) + 2.5rem) 0 3rem;background:linear-gradient(180deg,#f7f8fa,#fff)}
.page-hero--visual::after{display:none}
.page-hero--visual .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.page-hero--visual h1{font-size:clamp(1.55rem,2.7vw,2.3rem)}
.wall{position:relative;margin:0}
.wall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}
.wall .k{position:relative;display:block;aspect-ratio:16/9;background:#fff;border:1px solid #c7cbd0;box-shadow:0 2px 6px rgba(0,0,0,.14);overflow:hidden;transform:rotate(var(--r,0deg))}
.wall .k img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wall .k--paper{background:#fbf7ec;border-color:#d9d2bd}
.wall .k--paper svg{position:absolute;inset:0;width:100%;height:100%}
.wall .k--split img:first-child{clip-path:inset(0 50% 0 0)}
.wall .k--split img:nth-child(2){clip-path:inset(0 0 0 50%)}
.wall .k--split::before{content:"";position:absolute;z-index:2;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:var(--orange)}
.wall .k--split::after{content:"\2194";position:absolute;z-index:3;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--orange);color:#2b2b2b;font-size:.8rem;line-height:22px;text-align:center}
.wall .k-lbl{position:absolute;z-index:3;bottom:3px;padding:2px 5px;background:rgba(46,46,46,.85);color:#fff;font-size:.55rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.3}
.wall .k-lbl--l{left:3px}
.wall .k-lbl--r{right:3px;background:var(--orange-dark)}
.wall-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.wall-line path{fill:none;stroke:var(--orange);stroke-width:3.5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.wall-line .line-m{display:none}
.wall .dot{position:absolute;width:12px;height:12px;margin:-6px;border-radius:50%;background:var(--orange);left:var(--x);top:var(--y);pointer-events:none}
.wall .dot--a{--x:16%;--y:25%}
.wall .dot--b{--x:83%;--y:75%}
@media (max-width:900px){
  .page-hero--visual .wrap{grid-template-columns:1fr}
  .wall-grid{grid-template-columns:repeat(2,1fr);gap:1rem .9rem}
  .wall .k--opt{display:none}
  .wall-line .line-d{display:none}
  .wall-line .line-m{display:block}
  .wall .dot--a{--x:25%;--y:25%}
  .wall .dot--b{--x:75%;--y:75%}
}

/* Kopfbereich mit Foto hinter der Bildwand */
.page-hero--photo{background:#fff}
.page-hero--photo .photo-bg{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.page-hero--photo .photo-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.page-hero--photo::after{display:block;background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.9) 36%,rgba(255,255,255,.62) 62%,rgba(255,255,255,.38) 100%)}
.page-hero--photo .wall .k{box-shadow:0 10px 22px rgba(20,30,50,.28),0 2px 5px rgba(20,30,50,.18)}
@media (max-width:900px){
  .page-hero--photo::after{background:rgba(255,255,255,.85)}
}

/* Kopfbereich Master-Vorlagen: Designsystem + Bibliothek */
.page-hero--master::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.92) 36%,rgba(255,255,255,.76) 62%,rgba(255,255,255,.6) 100%)}
.sys{display:grid;grid-template-rows:1fr 1fr;gap:.9rem}
.sys-top{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.sys-card{position:relative;background:#fff;border:1px solid #c7cbd0;box-shadow:0 10px 22px rgba(20,30,50,.22),0 2px 5px rgba(20,30,50,.14);padding:.6rem;min-height:7.2rem;overflow:hidden}
.sys-card b{display:block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.sys .sw{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.6rem}
.sys .sw i{width:1.45rem;height:1.45rem;border-radius:50%}
.sys .aa{font-size:2.4rem;font-weight:300;font-style:italic;line-height:1;margin:.5rem 0 .4rem;color:var(--ink)}
.sys-card u{display:block;height:.3rem;background:#c9ccd1;margin-top:.3rem;text-decoration:none}
.sys-card u+u{width:60%}
.sys .rs{position:absolute;left:.6rem;right:.6rem;top:1.9rem;bottom:.6rem;background:repeating-linear-gradient(90deg,#fbe3b9 0 18%,transparent 18% 20%)}
.sys .lay{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.5rem}
.ms{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#fff;border:1px solid #d3d6db}
.sys-lib{position:relative;padding-top:1.15rem}
.sys-tab{position:absolute;top:0;left:0;background:#2e2e2e;color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .8rem}
.sys-box{height:100%;border:1.5px solid #2e2e2e;background:rgba(238,240,243,.96);padding:.55rem;border-radius:0 5px 5px 5px;box-shadow:0 10px 22px rgba(20,30,50,.22);display:grid;grid-template-columns:repeat(6,1fr);gap:.45rem;align-content:center}
@media (max-width:900px){
  .page-hero--master::after{background:rgba(255,255,255,.88)}
  .sys{gap:.8rem;margin-top:1.2rem}
  .sys-top{grid-template-columns:1fr 1fr}
  .sys-box{grid-template-columns:repeat(4,1fr)}
  .th--opt{display:none}
}

/* Kopfbereich: Headline in Versalien, Unterzeilen in normaler Schreibweise */
.page-hero--visual .page-sub2{text-transform:none;letter-spacing:0}

/* Seite Präsentationsservices: Kopfgrafik Inhalte -> Struktur -> Wirkung */
.flow{display:flex;align-items:center;gap:.6rem;margin:0}
.flow-step{flex:1 1 0;min-width:0;text-align:center}
.flow-card{background:#fff;border:1px solid #c7cbd0;box-shadow:0 10px 22px rgba(20,30,50,.22),0 2px 5px rgba(20,30,50,.14);aspect-ratio:16/10;overflow:hidden}
.flow-card--sketch{background:#fbf7ec;border-color:#d9d2bd}
.flow-card svg{display:block;width:100%;height:100%}
.flow-step span{display:block;margin-top:.6rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.flow-arrow{flex:0 0 1.6rem;height:1.6rem;margin-bottom:1.4rem;background:var(--orange);clip-path:polygon(0 25%,55% 25%,55% 0,100% 50%,55% 100%,55% 75%,0 75%)}
/* Seite Training: Treppe */
.stairs{margin:0;position:relative}
.stairs ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;align-items:end;height:15rem}
.stairs li{height:var(--h);background:#fff;border:1px solid #c7cbd0;border-top:5px solid var(--orange);box-shadow:0 10px 22px rgba(20,30,50,.22);display:flex;align-items:flex-end;padding:.5rem}
.stairs li{min-width:0;overflow:hidden}
.stairs li span{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.stairs-line{position:absolute;inset:0 0 2rem 0;width:100%;height:calc(100% - 2rem);pointer-events:none;overflow:visible}
.stairs-line path{fill:none;stroke:var(--orange);stroke-width:3.5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.stairs figcaption{margin-top:.8rem;text-align:right;font-style:italic;color:var(--text)}
@media (max-width:900px){
  .page-hero--visual .wrap{grid-template-columns:minmax(0,1fr)}
  .flow{margin-top:1rem}
  .flow-arrow{flex-basis:1rem;height:1rem;margin-bottom:1.2rem}
  .flow-step span{font-size:.6rem;letter-spacing:.05em}
  .stairs{margin-top:1rem}
  .stairs ol{height:11rem;gap:.5rem}
  .stairs li span{font-size:.58rem;letter-spacing:.04em}
}

/* Blog-Übersicht */
.page-hero--blog .photo-bg img{object-position:70% 55%}
.page-hero--blog .wrap{max-width:var(--maxw,1160px)}
.page-hero--blog h1,.page-hero--blog .page-sub{max-width:34rem}
.blog-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 2rem}
.blog-chip{font:inherit;font-size:.85rem;font-weight:600;letter-spacing:.04em;padding:.5rem 1.1rem;background:#fff;color:var(--ink);border:1px solid #c7cbd0;cursor:pointer}
.blog-chip:hover{border-color:var(--orange)}
.blog-chip[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#2b2b2b}
.blog-chip:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.blog-item[hidden]{display:none}
.blog-feature{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid #e1e4e8;background:#fff;box-shadow:0 8px 20px rgba(20,30,50,.08);margin-bottom:3rem}
.blog-img{display:block;background:var(--mist);min-height:260px;overflow:hidden}
.blog-img img{display:block;width:100%;height:100%;object-fit:cover}
.blog-txt{padding:2rem;display:flex;flex-direction:column;justify-content:center;gap:.7rem}
.blog-txt h2{font-size:clamp(1.3rem,2.2vw,1.7rem);text-transform:none;margin:0}
.blog-txt p{margin:0}
.blog-feature h2 a,.blog-row h3 a{text-decoration:none;color:inherit}
.blog-feature h2 a:hover,.blog-row h3 a:hover{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:3px}
.blog-meta{display:flex;gap:1rem;font-size:.82rem;color:var(--text)}
.blog-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.blog-tags li{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .6rem;background:var(--mist);color:var(--ink)}
.blog-sec{font-size:clamp(1.3rem,2.4vw,1.8rem);margin:0 0 1.4rem}
.blog-row{display:grid;grid-template-columns:300px 1fr;gap:1.6rem;align-items:center;padding:1.2rem 0;border-top:1px solid #e1e4e8;margin-bottom:2.5rem}
.blog-row .blog-img{min-height:0;aspect-ratio:848/433}
.blog-row h3{font-size:1.2rem;margin:.3rem 0 .5rem;text-transform:none}
.blog-row p{margin:0 0 .6rem}
#empty{margin:0 0 2rem;font-style:italic}
@media (max-width:900px){
  .blog-feature{grid-template-columns:1fr}
  .blog-img{min-height:0;aspect-ratio:16/9}
  .blog-txt{padding:1.4rem}
}
@media (max-width:700px){
  .blog-row{grid-template-columns:1fr;gap:1rem}
}
.page-hero--blog::after{background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.86) 38%,rgba(255,255,255,.4) 68%,rgba(255,255,255,.1) 100%)}
@media (max-width:900px){.page-hero--blog::after{background:rgba(255,255,255,.82)}}

/* Blog im Seitenlayout (Hero mit Bild rechts, Artikel + Seitenleiste) */
.blog-fig{margin:0;transform:rotate(-1.2deg)}
.blog-fig img{width:100%;height:auto;border:1px solid #c7cbd0;box-shadow:0 10px 22px rgba(20,30,50,.22),0 2px 5px rgba(20,30,50,.14)}
.article .blog-feature{grid-template-columns:1fr;margin-bottom:2.5rem}
.article .blog-feature .blog-img{min-height:0;aspect-ratio:16/9}
.article .blog-row{grid-template-columns:220px 1fr}
@media (max-width:700px){.article .blog-row{grid-template-columns:1fr}}

/* Blog-Kopf: Foto über die ganze Breite, heller Schleier (ruhig) */
.page-hero--blog::after{background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.88) 45%,rgba(255,255,255,.55) 100%)}
.page-hero--blog .hero-text{max-width:40rem}
@media (max-width:900px){.page-hero--blog::after{background:rgba(255,255,255,.85)}}

/* Training-Hub: Foto Seminarraum hinter Treppe */
.page-hero--training .photo-bg img{object-position:50% 45%}
.page-hero--training::after{background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.9) 38%,rgba(255,255,255,.6) 68%,rgba(255,255,255,.4) 100%)}
@media (max-width:900px){.page-hero--training::after{background:rgba(255,255,255,.86)}}

/* Service-Seite: Foto (Zettel auf dem Tisch) hinter der Kopfgrafik */
.page-hero--service .photo-bg img{object-position:50% 50%}
.page-hero--service::after{background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.9) 38%,rgba(255,255,255,.66) 68%,rgba(255,255,255,.5) 100%)}
@media (max-width:900px){.page-hero--service::after{background:rgba(255,255,255,.86)}}

/* v21 – Zwischenüberschrift h3 statt h4 (Hierarchie) */
.article h3.h-sub{font-size:1.15rem;font-weight:500;margin:1.4rem 0 .6em}

/* v22 – Lightbox: ausgeblendetes Einzelbild bleibt aus (Vorher/Nachher-Regler) */
.lightbox img[hidden]{display:none}
/* v22 – Kopfbereich: Eckdaten-Karten rechts (Agentur, KI-Seminar) */
.hero-facts{list-style:none;margin:0;padding:0;display:grid;gap:.9rem;align-content:center}
.hero-facts li{background:#fff;border-left:4px solid var(--orange);box-shadow:0 10px 22px rgba(20,30,50,.18),0 2px 5px rgba(20,30,50,.12);padding:.9rem 1.2rem;margin:0}
.hero-facts strong{display:block;font-size:1.25rem;font-weight:600;color:var(--ink);line-height:1.25}
.hero-facts span{display:block;font-size:.95rem;color:var(--text);margin-top:.15rem}
.hero-cta{margin:1.2rem 0 0}
.page-hero--agentur .photo-bg img{object-position:50% 50%}
.page-hero--agentur::after{background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.9) 38%,rgba(255,255,255,.66) 68%,rgba(255,255,255,.5) 100%)}
@media (max-width:900px){.page-hero--agentur::after{background:rgba(255,255,255,.86)}}
/* v22 – Rechtstexte (Impressum/Datenschutz) und schlichter Kopf */
.page-hero--plain{min-height:0;background:var(--mist)}
.page-hero--plain::after{display:none}
.doc{max-width:56rem}
.doc h2{font-size:clamp(1.4rem,2.6vw,2rem);margin:0 0 .8em}
.doc h2+*{margin-top:0}
.doc h2[id]{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
.doc h3{font-size:1.2rem;margin:1.8rem 0 .5em}
.doc h4{font-size:1rem;font-weight:600;margin:1.3rem 0 .4em;color:var(--ink)}
.doc p,.doc li{overflow-wrap:anywhere;hyphens:auto}
.doc ul{margin:0 0 1em}
.article--wide{max-width:56rem;margin-bottom:2rem}

/* v23 – Logo-Leiste: halbtransparent, Logos in hellem Silber (6 Stück; mobil 3 x 2) */
.hero-trust{background:rgba(255,255,255,.58);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.trust-title{color:#6b7078}
.logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.4rem;max-width:34rem;margin:0 auto;justify-items:center}
.logos li{width:100%;max-width:150px;height:44px;border:1px dashed rgba(140,147,156,.55);border-radius:4px;color:#8c939c;background:rgba(255,255,255,.35)}
.logos li img{display:block;width:auto;height:auto;max-width:100%;max-height:32px;filter:brightness(0) invert(.72);opacity:.9;transition:filter .25s,opacity .25s}
.logos li:hover img,.logos li:focus-within img{filter:none;opacity:1}
@media (min-width:900px){.logos{grid-template-columns:repeat(6,minmax(0,1fr));max-width:62rem;gap:1rem 2.4rem}.logos li{height:48px}.logos li img{max-height:36px}}
@media (hover:none){.logos li:hover img{filter:brightness(0) invert(.72);opacity:.9}}
/* v24 – Sobald ein echtes Logo im Feld steht: kein Platzhalter-Rahmen */
.logos li:has(img){border:0;background:none}
