/* Schriften lokal, ohne Google Fonts */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/newsreader-400.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/newsreader-500.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/newsreader-600.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/newsreader-400i.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/sourcesans-400.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/sourcesans-500.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/sourcesans-600.woff2') format('woff2')}
/* Grit Franke Businesscoach: gemeinsames Stylesheet aller Seiten
   Layout: editorial, linksbündig, dunkle Bildbänder im Wechsel mit hellen Textflächen;
   Serifen-Display groß, Grotesk für Lauftext, ein Akzent (Oxblood) */
:root{
  --paper:#F4F4F1;
  --paper-2:#EAEBE6;
  --ink:#10222C;
  --ink-2:#2A3F4B;
  --muted:#5E6873;
  --line:#D3D6D0;
  --accent:#B1262C;
  --accent-hover:#8E1E23;
  --on-accent:#FFFFFF;
  /* dunkle Bänder: in beiden Themes gleich */
  --band:#10222C;
  --band-2:#16303C;
  --band-fg:#ECEBE6;
  --band-muted:#A3B8C2;
  --band-line:#27424E;
  --band-accent:#B1262C;
  /* rote Flächen (CI) */
  --red:#B1262C;
  --red-2:#8E1E23;
  --on-red:#FFF6F4;
  --on-red-muted:#F2CDCD;
  --red-line:rgba(255,255,255,.28);
  --display:"Newsreader", Georgia, "Times New Roman", serif;
  --body:"Source Sans 3", "Helvetica Neue", Arial, sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#10222C; --paper-2:#16303C; --ink:#ECEBE6; --ink-2:#D3D7D2; --muted:#A3B8C2; --line:#27424E;
    --accent:#E07F83; --accent-hover:#EBA0A3; --on-accent:#1A1114; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#10222C; --paper-2:#16303C; --ink:#ECEBE6; --ink-2:#D3D7D2; --muted:#A3B8C2; --line:#27424E;
  --accent:#E07F83; --accent-hover:#EBA0A3; --on-accent:#1A1114; color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *{transition:none!important; animation:none!important} }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--body); font-size:17px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:10; background:var(--band)}
img{max-width:100%; height:auto; display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display); font-weight:500; line-height:1.08; margin:0; text-wrap:balance; letter-spacing:-0.01em}
h1{font-size:clamp(1.75rem,3vw,2.25rem)}
h2{font-size:clamp(1.4rem,2.2vw,1.7rem); line-height:1.15}
h3{font-family:var(--body); font-size:1.15rem; font-weight:600; line-height:1.3; letter-spacing:0}
p{margin:0}
ul,ol{margin:0}
.wrap{
  max-width:1180px; margin:0 auto;
  padding-left:max(16px, env(safe-area-inset-left,0px));
  padding-right:max(16px, env(safe-area-inset-right,0px));
}
.eyebrow{font-size:.78rem; text-transform:uppercase; letter-spacing:.16em; color:var(--accent); font-weight:600}
.lead{font-size:1.15rem; line-height:1.5; color:var(--ink-2); max-width:34em}
.measure{max-width:38em}
.muted{color:var(--muted)}
.stack > * + *{margin-top:.8rem}
.quiet-link{color:var(--ink-2); text-decoration-color:var(--line); text-underline-offset:3px}
.quiet-link:hover{color:var(--accent); text-decoration-color:var(--accent)}
.more{display:inline-block; margin-top:1rem; font-weight:600; color:var(--accent); text-decoration:none; border-bottom:1px solid transparent}
.more:hover{border-bottom-color:var(--accent)}

/* Header: dunkel, sitzt auf dem Hero */
header.site{position:sticky; top:env(safe-area-inset-top,0px); z-index:9; background:var(--band); color:var(--band-fg); border-bottom:1px solid var(--band-line); border-top:4px solid var(--red)}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:.95rem; position:relative}
.brand{display:flex; align-items:center; text-decoration:none; line-height:1; color:var(--band-fg)}
.brand img{height:46px; width:auto; display:block}
.brand b{font-family:var(--display); font-weight:600; font-size:1.3rem; letter-spacing:.01em}
.brand span{font-size:.7rem; text-transform:uppercase; letter-spacing:.16em; color:var(--band-muted); margin-top:.25rem}
@media (max-width: 520px){ .brand img{height:38px} }
nav.main{display:flex; align-items:center; gap:1.5rem}
nav.main a{text-decoration:none; font-size:.95rem; color:var(--band-muted)}
nav.main a:hover{color:var(--band-fg)}
nav.main a[aria-current="page"]{color:var(--band-fg); border-bottom:2px solid var(--red); padding-bottom:.15rem}
.btn{display:inline-block; text-decoration:none; font-weight:600; font-size:.95rem; padding:.75rem 1.2rem; border:1px solid var(--accent); border-radius:2px; transition:background .15s, color .15s, border-color .15s; line-height:1.3}
.btn.primary{background:var(--accent); color:var(--on-accent)}
.btn.primary:hover{background:var(--accent-hover); border-color:var(--accent-hover)}
.btn.ghost{color:var(--accent); background:transparent}
.btn.ghost:hover{background:var(--paper-2)}
nav.main .btn.primary{background:var(--red); border-color:var(--red); color:#FFFFFF}
nav.main .btn.primary:hover{background:var(--red-2); border-color:var(--red-2)}
nav.main a.btn[aria-current="page"]{padding-bottom:.75rem}
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{outline:2px solid var(--accent); outline-offset:3px}
.menu-btn{display:none; background:none; border:1px solid var(--band-line); color:var(--band-fg); padding:.5rem .7rem; border-radius:2px; font:inherit; font-size:.9rem}
@media (max-width: 900px){
  nav.main{display:none; position:absolute; left:0; right:0; top:100%; background:var(--band); border-bottom:1px solid var(--band-line); flex-direction:column; align-items:flex-start; padding:1rem max(16px, env(safe-area-inset-left,0px)) 1.2rem; gap:1rem}
  nav.main.open{display:flex}
  .menu-btn{display:inline-block}
}

/* Dunkle Bänder */
.dark{background:var(--band); color:var(--band-fg)}
.dark .eyebrow{color:var(--band-muted)}
.dark .lead, .dark p{color:var(--band-fg)}
.dark .muted{color:var(--band-muted)}
.dark .btn.ghost{color:var(--band-fg); border-color:var(--band-muted)}
.dark .btn.ghost:hover{background:var(--band-2)}
.dark .btn.primary{background:var(--red); border-color:var(--red); color:#FFFFFF}
.dark .btn.primary:hover{background:var(--red-2); border-color:var(--red-2)}

/* Hero: geteilt, Text links auf dunklem Grund, Foto rechts */
.hero{background:var(--band); color:var(--band-fg); padding-block:0}
.hero-grid{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); min-height:min(64vh, 600px)}
.hero-text{display:flex; align-items:center; padding:3.5rem 3rem 3.2rem max(16px, env(safe-area-inset-left,0px), calc((100vw - 1180px)/2 + 16px))}
.hero-text .inner{max-width:38rem}
.hero .eyebrow{margin-bottom:1rem}
.hero h1{margin-bottom:1.1rem; font-weight:400}
.hero .lead{max-width:30em}
.hero .actions{display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem}
.hero-img{position:relative; min-height:100%}
.hero-img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top}
@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr; min-height:0}
  .hero-text{padding:2.2rem max(16px, env(safe-area-inset-right,0px)) 2rem max(16px, env(safe-area-inset-left,0px))}
  .hero-img{min-height:0; order:-1}
  .hero-img img{position:static; aspect-ratio:1/1; height:auto}
}
@media (max-width: 520px){
  body{font-size:16px}
  h1{font-size:1.375rem; line-height:1.2}
  h2{font-size:1.25rem}
  .quote-band blockquote{font-size:1.2rem; line-height:1.3}
  .lead{font-size:1.06rem}
  .hero h1{margin-bottom:1rem}
  .hero-img img{aspect-ratio:4/3; object-fit:cover; object-position:center 20%}
}

/* Zahlenband */
.numbers{background:var(--red); color:var(--on-red)}
.numbers .wrap{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.2rem 2rem; padding-block:1.6rem}
.numbers .n{font-family:var(--display); font-size:clamp(1.5rem,2.6vw,2rem); line-height:1; font-variant-numeric:tabular-nums; color:var(--on-red)}
.numbers .n small{font-size:.45em; color:var(--on-red-muted); margin-left:.15em; letter-spacing:.02em}
.numbers .l{color:var(--on-red-muted); font-size:.95rem; margin-top:.45rem; max-width:16em}
.numbers .note{grid-column:1/-1; color:var(--on-red-muted); font-size:.95rem; border-top:1px solid var(--red-line); padding-top:.9rem; margin-top:.1rem}
@media (max-width: 900px){ .numbers .wrap{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* Seitenköpfe mit Bild */
.page-head{border-bottom:1px solid var(--line)}
.page-head .wrap{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:3rem; align-items:center; padding-block:2.6rem 2.4rem}
.page-head .eyebrow{margin-bottom:.8rem}
.page-head h1{margin-bottom:.9rem}
.page-head figure{margin:0}
.page-head figure img{width:100%; aspect-ratio:3/2; object-fit:cover}
.page-head figure.portrait-fig img{aspect-ratio:4/5; max-width:380px; margin-left:auto}
.page-head.solo .wrap{grid-template-columns:1fr}
.page-head.solo .lead{max-width:none}
@media (max-width: 900px){ .page-head .wrap{grid-template-columns:1fr; padding-block:2rem 1.8rem} .page-head figure.portrait-fig img{margin-left:0; max-width:320px} }

/* Abschnitte */
section{padding-block:2.3rem}
section + section:not(.dark):not(.band){border-top:1px solid var(--line)}
.band{background:var(--paper-2)}
.sec-head{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:1rem 3rem; margin-bottom:1.6rem}
.sec-head h2{grid-column:2}
.sec-head .eyebrow{grid-column:1; padding-top:.5rem}
.sub{font-family:var(--body); font-size:.78rem; text-transform:uppercase; letter-spacing:.16em; font-weight:600; color:var(--muted); margin:2.6rem 0 1.1rem}
@media (max-width: 900px){ .sec-head{grid-template-columns:1fr} .sec-head h2{grid-column:1} .sec-head .eyebrow{padding-top:0} .sec-head{gap:.6rem; margin-bottom:1.2rem} section{padding-block:1.8rem} }

/* Drei Situationen */
.stations{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.8rem; position:relative}
.stations::before{content:""; position:absolute; left:0; right:0; top:.55rem; height:1px; background:var(--line)}
.station{position:relative; padding-top:1.7rem; min-width:0}
.station::before{content:""; position:absolute; left:0; top:0; width:12px; height:12px; border-radius:50%; background:var(--paper); border:1.5px solid var(--ink-2)}
.station.top::before{background:var(--accent); border-color:var(--accent)}
.band .station::before{background:var(--paper-2)}
.band .station.top::before{background:var(--accent)}
.station .q{font-size:1.15rem; line-height:1.4; color:var(--ink); margin-bottom:1rem; font-weight:600}
.station h3{font-size:.8rem; text-transform:uppercase; letter-spacing:.16em; color:var(--accent); font-family:var(--body); font-weight:600; margin-bottom:.9rem}
.station p{color:var(--ink-2)}
@media (max-width: 900px){ .stations{grid-template-columns:1fr; gap:1.4rem} .stations::before{display:none} }

/* Zitatband mit Bild */
.quote-band{background:var(--band); color:var(--band-fg)}
.quote-band .wrap{display:grid; grid-template-columns:minmax(0,6fr) minmax(0,6fr); gap:3rem; align-items:center; padding-block:3rem}
.quote-band blockquote{margin:0; font-family:var(--display); font-size:clamp(1.35rem,2.3vw,1.8rem); line-height:1.25; font-weight:400; text-wrap:balance}
.quote-band blockquote em{font-style:normal; color:var(--band-fg)}
.quote-band figcaption{margin-top:1rem; color:var(--band-muted); font-size:.95rem}
.quote-band figure{margin:0}
.quote-band .pic img{width:100%; aspect-ratio:3/2; object-fit:cover}
@media (max-width: 900px){ .quote-band .wrap{grid-template-columns:1fr; gap:1.4rem; padding-block:2.2rem} }

/* Gründe: Definitionsliste */
.reasons{margin:0; display:grid}
.reasons > div{display:grid; grid-template-columns:minmax(0,3fr) minmax(0,9fr); gap:.4rem 3rem; border-top:1px solid var(--line); padding-block:1rem}
.reasons > div:last-child{border-bottom:1px solid var(--line)}
.reasons dt{font-size:1.15rem; font-weight:600; color:var(--ink); line-height:1.3}
.reasons dd{margin:0; color:var(--ink-2); max-width:38em}
@media (max-width: 900px){ .reasons > div{grid-template-columns:1fr} }

/* Ergebnisliste */
.outcomes{list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 3rem}
.outcomes li{border-left:2px solid var(--accent); padding-left:1.1rem; color:var(--ink-2)}
@media (max-width: 900px){ .outcomes{grid-template-columns:1fr} }

/* Selbstcheck */
.check{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:3rem; align-items:start}
.check .pic img{width:100%; aspect-ratio:3/2; object-fit:cover}
.check ol:not(.fragen){list-style:none; padding:0; margin:0; display:grid}
.check ol:not(.fragen) li{border-top:1px solid var(--line); padding-block:.8rem; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.8rem 1.5rem; align-items:center}
.check ol:not(.fragen) li:last-of-type{border-bottom:1px solid var(--line)}
.check .qtext{color:var(--ink); font-size:1.05rem}
.check .opts{display:flex; gap:.5rem}
.check .opts label{display:inline-flex; align-items:center; gap:.4rem; border:1px solid var(--line); padding:.45rem .8rem; border-radius:2px; cursor:pointer; font-weight:600; font-size:.9rem; color:var(--ink-2); background:var(--paper)}
.check .opts input{margin:0; accent-color:var(--accent)}
.check .opts label:has(input:checked){border-color:var(--accent); color:var(--accent)}
.check .actions{margin-top:1.4rem; display:flex; flex-wrap:wrap; gap:.8rem; align-items:center}
.check .hint{color:var(--muted); font-size:.92rem}
.result{margin-top:1.4rem; padding:1.4rem 1.6rem; border-left:3px solid var(--accent); background:var(--paper)}
.result h3{margin-bottom:.5rem}
.result p{color:var(--ink-2)}
@media (max-width: 900px){ .check{grid-template-columns:1fr} .check ol:not(.fragen) li{grid-template-columns:1fr} }
@media (max-width: 520px){ .check .opts label{padding:.4rem .7rem} }

/* Angebote: Übersicht */
.offers{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem}
.offer{min-width:0; background:var(--paper); border:1px solid var(--line); padding:1.4rem 1.5rem 1.3rem; position:relative; transition:border-color .15s}
.offer::before{content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--line); transition:background .15s}
.offer:hover{border-color:var(--accent)}
.offer:hover::before{background:var(--accent)}
.offer .num{font-size:.78rem; letter-spacing:.16em; font-weight:600; color:var(--accent); margin-bottom:.8rem; font-variant-numeric:tabular-nums}
.offer .for{font-size:.78rem; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); font-weight:600; margin-bottom:.5rem}
.offer h3{margin-bottom:.6rem; font-size:1.2rem}
.offer p{color:var(--ink-2)}
@media (max-width: 900px){ .offers{grid-template-columns:1fr} }

/* Angebote: Detail */
.angebot{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:1.5rem 3rem}
.angebot .head h2{margin-bottom:.8rem}
.angebot .head .for{color:var(--muted)}
.angebot .head .num{font-size:.78rem; letter-spacing:.16em; font-weight:600; color:var(--accent); margin-bottom:.8rem}
.facts-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem 2rem; margin-top:1.3rem}
.facts-grid > div{border-top:1px solid var(--line); padding-top:.8rem; min-width:0}
.facts-grid .eyebrow{display:block; margin-bottom:.4rem}
.facts-grid ul{padding-left:1.1rem; color:var(--ink-2)}
.facts-grid li + li{margin-top:.25rem}
.facts-grid p{color:var(--ink-2)}
@media (max-width: 900px){ .angebot{grid-template-columns:1fr} .facts-grid{grid-template-columns:1fr} }

/* Inhalte und Etappen */
.inhalte{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 3rem}
.inhalt{min-width:0; border-top:1px solid var(--line); padding-top:1rem}
.inhalt h3{margin-bottom:.5rem}
.inhalt p{color:var(--ink-2)}
.steps{counter-reset:step; list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.4rem}
.steps.six{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps li{counter-increment:step; min-width:0}
.steps li::before{content:counter(step, decimal-leading-zero); display:block; font-size:.78rem; letter-spacing:.16em; font-weight:600; color:var(--accent); margin-bottom:.6rem; font-variant-numeric:tabular-nums}
.steps h3{margin-bottom:.4rem}
.steps p{color:var(--ink-2); font-size:.98rem}
@media (max-width: 900px){ .inhalte{grid-template-columns:1fr} .steps, .steps.six{grid-template-columns:1fr 1fr} }
@media (max-width: 520px){ .steps, .steps.six{grid-template-columns:1fr} }
.format{margin-top:1.6rem; padding:1.2rem 1.4rem; border:1px solid var(--line); display:grid; grid-template-columns:minmax(0,3fr) minmax(0,9fr); gap:1rem 2rem}
.format .eyebrow{padding-top:.25rem}
.format p{color:var(--ink-2)}
@media (max-width: 900px){ .format{grid-template-columns:1fr} }

/* Kennzahl am Rand */
.two{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:2.2rem}
.two .side{border-left:2px solid var(--accent); padding-left:1.4rem; align-self:start}
.two .side p{margin-bottom:.6rem; color:var(--ink-2)}
.two .side .num{font-family:var(--display); font-size:clamp(1.5rem,2.6vw,2rem); line-height:1; color:var(--ink); font-variant-numeric:tabular-nums}
.two .side small{display:block; font-size:.85rem; color:var(--muted)}
.two .side small a{color:var(--muted)}
@media (max-width: 900px){ .two{grid-template-columns:1fr} }

/* Grundsätze */
.principles{list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 3rem}
.principles li{border-left:2px solid var(--line); padding-left:1.1rem; color:var(--ink-2)}
@media (max-width: 900px){ .principles{grid-template-columns:1fr} }

/* Abgrenzung */
.compare{margin:0; display:grid}
.compare > div{display:grid; grid-template-columns:minmax(0,3fr) minmax(0,9fr); gap:.3rem 3rem; border-top:1px solid var(--line); padding-block:.8rem}
.compare > div:last-child{border-bottom:1px solid var(--line)}
.compare dt{font-weight:600; color:var(--ink)}
.compare dd{margin:0; color:var(--ink-2); max-width:40em}
@media (max-width: 900px){ .compare > div{grid-template-columns:1fr} }

/* Über mich */
.about{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:3rem; align-items:start}
.about figure{margin:0}
.about figure img{width:100%; max-width:440px; aspect-ratio:4/5; object-fit:cover}
.about figcaption{margin-top:.8rem; font-size:.9rem; color:var(--muted)}
.stationen{list-style:none; padding:0; display:grid; gap:.45rem; font-size:.95rem; color:var(--ink-2)}
.stationen li{padding-left:1.1rem; position:relative}
.stationen li::before{content:""; position:absolute; left:0; top:.65em; width:6px; height:1.5px; background:var(--accent)}
.quals{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem 3rem}
.quals > div{border-top:1px solid var(--line); padding-top:1rem; min-width:0}
.quals h3{margin-bottom:.6rem}
@media (max-width: 900px){ .about{grid-template-columns:1fr} .about figure img{max-width:360px} .quals{grid-template-columns:1fr} }

/* Kontakt */
.contact{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:3rem}
.contact .details{display:grid; gap:1.2rem; align-content:start}
.contact .details div{border-top:1px solid var(--line); padding-top:.8rem}
.contact .details .eyebrow{display:block; margin-bottom:.3rem}
.contact .details .val{font-size:1.1rem; user-select:all}
form{display:grid; gap:1.1rem}
label{display:grid; gap:.4rem; font-size:.9rem; font-weight:600; color:var(--ink-2)}
input,textarea{font:inherit; font-size:1rem; padding:.75rem .9rem; border:1px solid var(--line); border-radius:2px; background:var(--paper); color:var(--ink); width:100%}
textarea{min-height:140px; resize:vertical}
button.btn{font:inherit; cursor:pointer}
.prepared{margin-top:1rem; padding:1.2rem 1.4rem; border:1px solid var(--line); background:var(--paper-2)}
.prepared pre{white-space:pre-wrap; font:inherit; margin:0 0 1rem; color:var(--ink-2)}
.prepared .row{display:flex; flex-wrap:wrap; gap:.8rem; align-items:center}
.prepared .note{font-size:.9rem; color:var(--muted)}
.ablauf-kurz{list-style:none; padding:0; display:grid; gap:.8rem; color:var(--ink-2)}
.ablauf-kurz li{padding-left:1.1rem; position:relative}
.ablauf-kurz li::before{content:""; position:absolute; left:0; top:.7em; width:6px; height:1.5px; background:var(--accent)}
@media (max-width: 900px){ .contact{grid-template-columns:1fr} }

/* Abschluss-Aufruf, dunkel */
.cta{background:var(--red); color:var(--on-red)}
.cta .wrap{display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:1.6rem; align-items:center; padding-block:2.6rem}
.cta h2{margin-bottom:.7rem}
.cta p{color:var(--on-red-muted); max-width:36em}
.cta .actions{display:flex; justify-content:flex-end; gap:.8rem; flex-wrap:wrap}
.cta .btn.ghost{color:var(--on-red); border-color:var(--red-line)}
.cta .btn.ghost:hover{background:var(--red-2)}
.cta .btn.primary{background:var(--on-red); border-color:var(--on-red); color:var(--red)}
.cta .btn.primary:hover{background:#fff; border-color:#fff}
@media (max-width: 900px){ .cta .wrap{grid-template-columns:1fr; gap:1.2rem; padding-block:2.2rem} .cta .actions{justify-content:flex-start} }

/* Footer, Rechtliches */
footer{background:var(--band); color:var(--band-muted); border-top:1px solid var(--band-line); padding-block:1.3rem 1.8rem; font-size:.9rem}
footer .wrap{display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem}
footer nav{display:flex; gap:1.4rem}
footer a{color:var(--band-muted); text-decoration:none}
footer a:hover{color:var(--band-fg)}
.legal{padding-block:2.2rem; font-size:.95rem; color:var(--ink-2)}
.legal .cols{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem 3rem}
.legal h2{font-size:1.5rem; margin-bottom:.8rem}
.legal p + p{margin-top:.6rem}
@media (max-width: 900px){ .legal .cols{grid-template-columns:1fr} }

/* Spannungsfelder */
.tensions{list-style:none; padding:0; margin:0; display:grid}
.tensions li{display:grid; grid-template-columns:minmax(0,1fr) 3rem minmax(0,1fr); align-items:center; gap:1rem; border-top:1px solid var(--line); padding-block:.8rem}
.tensions li:last-child{border-bottom:1px solid var(--line)}
.tensions .a{font-size:1.05rem; line-height:1.4; color:var(--ink); font-weight:600; text-align:right}
.tensions .b{font-size:1.05rem; line-height:1.4; color:var(--ink-2)}
.tensions .mid{position:relative; height:1.5px; background:var(--accent)}
.tensions .mid::before,.tensions .mid::after{content:""; position:absolute; top:50%; width:7px; height:7px; border-radius:50%; background:var(--accent); transform:translateY(-50%)}
.tensions .mid::before{left:-3px}
.tensions .mid::after{right:-3px}
@media (max-width: 900px){
  .tensions li{grid-template-columns:1fr; gap:.35rem}
  .tensions .a{text-align:left}
  .tensions .mid{width:2.2rem; height:1.5px}
}

/* Muster unter Druck, Führungsverständnis */
.patterns{counter-reset:pat; list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem 3rem}
.patterns li{counter-increment:pat; min-width:0; border-top:1px solid var(--line); padding-top:1rem}
.patterns li::before{content:counter(pat, decimal-leading-zero); display:block; font-size:.78rem; letter-spacing:.16em; font-weight:600; color:var(--accent); margin-bottom:.7rem; font-variant-numeric:tabular-nums}
.patterns h3{margin-bottom:.5rem}
.patterns p{color:var(--ink-2)}
@media (max-width: 900px){ .patterns{grid-template-columns:1fr} }
.creed{margin-top:3rem; display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:1rem 3rem; border-left:3px solid var(--accent); padding:1.6rem 1.8rem; background:var(--paper)}
.creed .eyebrow{padding-top:.5rem}
.creed h3{font-size:1.2rem; margin-bottom:.6rem}
.creed p{color:var(--ink-2); max-width:40em}
.creed p + p{margin-top:.7rem}
@media (max-width: 900px){ .creed{grid-template-columns:1fr} .creed .eyebrow{padding-top:0} }

/* Konzept auf einen Blick */
.konzept{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem}
.konzept a{display:block; text-decoration:none; border:1px solid var(--line); background:var(--paper); padding:1.2rem 1.3rem; min-width:0; transition:border-color .15s}
.konzept a:hover{border-color:var(--accent)}
.konzept .k{font-size:.78rem; text-transform:uppercase; letter-spacing:.14em; color:var(--accent); font-weight:600; margin-bottom:.4rem}
.konzept p{color:var(--ink-2); font-size:.98rem}
@media (max-width: 900px){ .konzept{grid-template-columns:1fr} }

/* Räume */
.gallery{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.6rem 1.5rem}
.gallery figure{margin:0; min-width:0}
.gallery img{width:100%; aspect-ratio:3/2; object-fit:cover}
.gallery figcaption{margin-top:.6rem; font-size:.95rem; color:var(--ink-2)}
.gallery figcaption b{display:block; color:var(--ink); font-weight:600; margin-bottom:.15rem}
@media (max-width: 900px){ .gallery{grid-template-columns:1fr 1fr} }
@media (max-width: 560px){ .gallery{grid-template-columns:1fr} }
.quote-band.solo .wrap{grid-template-columns:1fr}
.quote-band.solo blockquote{max-width:26em}

/* Selbsttest Führung unter Druck */
.visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.st .page-head .actions{display:flex; flex-wrap:wrap; gap:.8rem}
.st-fragen{display:grid; gap:1.4rem}
.st-frage{border:1px solid var(--line); background:var(--paper); padding:1.4rem 1.6rem 1.5rem; margin:0; min-width:0}
.st-frage legend{float:left; width:100%; padding:0; margin:0 0 1rem; font-weight:600; color:var(--ink); font-size:1.05rem; line-height:1.35}
.st-frage legend + *{clear:both}
.st-optionen{display:flex; flex-wrap:wrap; gap:.6rem}
.st-o{display:inline-flex; align-items:center; gap:.5rem; border:1px solid var(--line); padding:.5rem .9rem; border-radius:2px; cursor:pointer; font-weight:500; font-size:.95rem; color:var(--ink-2); background:var(--paper)}
.st-o:has(input:checked){border-color:var(--accent); color:var(--ink); background:var(--paper-2)}
.st-o input{accent-color:var(--accent); margin:0; width:auto}
.st-skala{display:flex; gap:.4rem; flex:none}
.st-p{position:relative; display:block}
.st-p input{position:absolute; inset:0; width:100%; height:100%; opacity:0; margin:0; cursor:pointer; padding:0}
.st-p span{display:grid; place-items:center; width:2.4rem; height:2.4rem; border:1px solid var(--line); border-radius:2px; font-weight:600; color:var(--ink-2); background:var(--paper); font-variant-numeric:tabular-nums}
.st-p:hover span{border-color:var(--muted)}
.st-p:has(input:checked) span{background:var(--accent); color:var(--on-accent); border-color:var(--accent)}
.st-p:has(input:focus-visible) span{outline:2px solid var(--accent); outline-offset:2px}
.st-skala-zeile{display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:1rem; align-items:center}
.st-pol{color:var(--muted); font-size:.95rem}
.st-skala-zeile .st-pol:last-child{text-align:right}
.st-anteil{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:center; padding:.7rem 0; border-top:1px solid var(--line)}
.st-anteil label{display:block; font-weight:400; color:var(--ink-2); font-size:1rem}
.st-anteil label strong{color:var(--ink); font-weight:600}
.st-zahl{display:inline-flex; align-items:center; gap:.4rem; color:var(--muted)}
.st-zahl input{width:5.5rem; text-align:right; padding:.5rem .7rem}
.st-summe{margin-top:.9rem; color:var(--muted); font-size:.95rem}
.st-summe.ok{color:var(--ink)} .st-summe.falsch{color:var(--accent); font-weight:600}
.st-hinweis{color:var(--muted); font-size:.92rem; margin-top:.9rem; clear:both}
.st-block{border-top:1px solid var(--line); padding-top:1.6rem}
.st-block-t{display:flex; align-items:baseline; gap:.8rem; margin-bottom:.3rem}
.st-buch{font-family:var(--body); font-size:.78rem; letter-spacing:.16em; font-weight:600; color:var(--accent)}
.st-kopfzeile{display:flex; justify-content:space-between; color:var(--muted); font-size:.85rem; margin-bottom:1rem}
.st-item{border:1px solid var(--line); background:var(--paper); padding:1rem 1.2rem; margin:0 0 .7rem; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:.8rem 1.4rem; align-items:center}
.st-item .st-l,.st-item .st-r{color:var(--ink); font-size:1rem; line-height:1.4; margin:0}
.st-item .st-r{text-align:right}
.st-fehlt{border-color:var(--accent); box-shadow:inset 3px 0 0 var(--accent)}
.st-abschluss{margin-top:1.4rem; display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap}
.st-fehler{color:var(--accent); font-weight:600}
.st-ergebnis{display:grid; gap:2.6rem}
.st-profil{display:grid; gap:.7rem}
.st-zeile{display:grid; grid-template-columns:minmax(0,18rem) minmax(0,1fr) 3rem; gap:1rem; align-items:center}
.st-zeile-n{display:flex; gap:.7rem; align-items:baseline; color:var(--ink-2); min-width:0}
.st-max .st-zeile-n{color:var(--ink); font-weight:600}
.st-spur{position:relative; height:.7rem; background:var(--paper-2); border:1px solid var(--line); display:block}
.st-mitte{position:absolute; left:50%; top:-5px; bottom:-5px; border-left:1px dashed var(--muted)}
.st-fuell{position:absolute; left:0; top:0; bottom:0; background:var(--muted)}
.st-max .st-fuell{background:var(--accent)}
.st-wert{font-variant-numeric:tabular-nums; text-align:right; font-weight:600; color:var(--ink)}
.st-skalen-hinweis{color:var(--muted); font-size:.9rem; margin-top:.4rem}
.st-befunde{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem}
.st-befund{border:1px solid var(--line); background:var(--paper); padding:1.6rem 1.8rem; min-width:0}
.st-befund .eyebrow{margin-bottom:.7rem}
.st-befund h3{margin-bottom:.6rem}
.st-befund p{color:var(--ink-2)}
.st-hinweise p{margin-top:.9rem; padding-top:.9rem; border-top:1px solid var(--line); font-size:.95rem}
.st-system .eyebrow{margin-bottom:.7rem}
.st-system h3{margin-bottom:1.4rem}
.st-wirkung{grid-template-columns:repeat(4,minmax(0,1fr))}
.st-wirkung h4{font-family:var(--body); font-size:1.05rem; font-weight:600; margin:0 0 .4rem; color:var(--ink)}
.st-actions{display:flex; gap:.8rem; flex-wrap:wrap}
@media (max-width: 900px){
  .st-skala-zeile{grid-template-columns:1fr; gap:.6rem}
  .st-skala-zeile .st-pol:last-child{text-align:left}
  .st-item{grid-template-columns:1fr}
  .st-item .st-r{text-align:left}
  .st-befunde,.st-wirkung{grid-template-columns:1fr}
  .st-zeile{grid-template-columns:minmax(0,1fr) 3rem}
  .st-zeile .st-spur{grid-column:1/-1}
  .st-anteil{grid-template-columns:1fr}
}

.check-teaser{margin-top:1.5rem; display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:1.5rem 3rem; align-items:center; background:var(--red); color:var(--on-red); padding:1.8rem 2rem}
.check-teaser .eyebrow{color:var(--on-red-muted); margin-bottom:.6rem}
.check-teaser h3{color:var(--on-red); font-size:1.2rem; margin-bottom:.5rem}
.check-teaser p{color:var(--on-red-muted); max-width:44em}
.check-teaser .actions{display:flex; justify-content:flex-end}
.check-teaser .btn.primary{background:var(--on-red); border-color:var(--on-red); color:var(--red)}
.check-teaser .btn.primary:hover{background:#fff; border-color:#fff}
@media (max-width: 900px){ .check-teaser{grid-template-columns:1fr} .check-teaser .actions{justify-content:flex-start} }
.st-kz-schmal{display:none}
@media (max-width: 900px){ .st-kz-breit{display:none} .st-kz-schmal{display:inline} }

/* CI Rot: Linien */
.sec-head h2{position:relative}
.quote-band blockquote::before{content:""; display:block; width:3rem; height:3px; background:var(--red); margin-bottom:1.4rem}
.page-head .inner .eyebrow::before,.sec-head .eyebrow::before{content:""; display:inline-block; width:1.6rem; height:2px; background:var(--accent); vertical-align:middle; margin-right:.6rem; position:relative; top:-1px}

/* Zeichen */
.zeichen{display:flex; align-items:center; gap:2.5rem; max-width:52em}
.zeichen img{width:160px; height:160px; flex:none}
.zeichen h2{margin-top:.3rem}
@media (max-width: 640px){ .zeichen{flex-direction:column; align-items:flex-start; gap:1.2rem} .zeichen img{width:120px; height:120px} }

/* Fünf Fragen ohne Auswertung */
.fragen{margin:0; padding-left:1.4rem; display:flex; flex-direction:column; gap:1rem; font-size:1.12rem; line-height:1.45; max-width:34em}
.fragen li{padding-left:.4rem}
.fragen li::marker{color:var(--red); font-weight:600}

/* Hinweis auf impulse neben dem Logo */
.brand-impulse{margin-right:auto; margin-left:.4rem; padding-left:1rem; border-left:1px solid var(--band-line); font-size:.78rem; line-height:1.35; letter-spacing:.02em; color:var(--band-muted); text-decoration:none}
.brand-impulse:hover{color:var(--band-fg)}
@media (max-width: 1100px){ .brand-impulse{display:none} }
footer span a{text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--band-line)}

/* Verweis auf impulse: drei Karten nebeneinander */
.offers.drei{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width: 900px){ .offers.drei{grid-template-columns:1fr} }
