/* Carola Herrmann — Ein Stylesheet für alle Seiten
   Design-System: Precision / Hybrid — Jost · Inter · IBM Plex Mono · Ink/Papier/Zinnober */

:root{
  --paper:#F4F1EA; --paper-2:#ECE8DF; --ink:#15161D; --ink-soft:#3C3D45;
  --muted:#6E6C68; --line:rgba(21,22,29,0.14); --line-soft:rgba(21,22,29,0.08);
  --line-d:rgba(244,241,234,0.16); --cinnabar:#DD4A30;
  --text-primary:#15161D; --text-secondary:#3C3D45; --offwhite:#ECE8DF;
  --disp:'Jost',system-ui,sans-serif; --sans:'Inter',system-ui,sans-serif;
  --mono:'IBM Plex Mono',monospace; --maxw:1180px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{overflow-x:hidden;scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
h1,h2,h3,h4{font-family:var(--disp);font-weight:500;line-height:1.08;letter-spacing:-0.01em;}
p{max-width:640px;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 2.2rem;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 2.2rem;}
.label{font-family:var(--mono);font-size:0.72rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--cinnabar);margin-bottom:1.4rem;}
.kick{font-family:var(--mono);font-size:0.72rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--cinnabar);}
.idx{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.14em;color:var(--muted);text-transform:uppercase;}
.divider{width:2.4rem;height:2px;background:var(--cinnabar);margin:2rem 0;}
.rule{width:2.4rem;height:2px;background:var(--cinnabar);}

/* NAV (dark, beide Varianten) */
.nav,.nav-wrap{position:sticky;top:0;z-index:60;background:rgba(21,22,29,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-d);}
.nav-in,.nav-inner{max-width:var(--maxw);margin:0 auto;padding:1rem 2.2rem;display:flex;align-items:center;justify-content:space-between;}
.logo,.nav-logo{font-family:var(--disp);font-size:1.1rem;font-weight:500;color:var(--paper);}
.nav-links{list-style:none;display:flex;gap:1.8rem;}
.nav-links a{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(244,241,234,0.72);transition:color .2s;}
.nav-links a:hover{color:var(--cinnabar);}
.nav-toggle{display:none;background:none;border:0;color:var(--paper);font-size:1.4rem;cursor:pointer;}
.nav-links a.nav-lang,.nav-lang{color:var(--cinnabar)!important;}

/* PAGE HERO (dunkel, reduzierte Bühne der Startseite) */
.page-hero{background:var(--ink);color:var(--paper);max-width:none;margin:0;padding:4.2rem max(2.2rem,calc((100% - var(--maxw))/2)) 3.8rem;}
.page-hero h1{color:var(--paper);font-size:clamp(2.4rem,4.2vw,3.6rem);line-height:1.04;margin-bottom:1.1rem;}
.page-hero .label{color:var(--cinnabar);}
.back-link{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--mono);font-size:0.72rem;letter-spacing:0.06em;color:rgba(244,241,234,0.55);margin-bottom:1.8rem;transition:color .2s;}
.back-link:hover{color:var(--cinnabar);}
.page-hero .divider{margin:1.6rem 0 0;}
.page-hero + .section{padding-top:4.5rem;}
.intro{font-size:1.16rem;line-height:1.7;max-width:660px;}
.page-hero .intro{color:rgba(244,241,234,0.82);}

/* SECTIONS */
.section{padding:7rem 0;}
.section h2{font-family:var(--disp);font-weight:500;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.05;margin-bottom:1.3rem;}
.section p+p{margin-top:1.2rem;}
.bg-off{background:var(--paper-2);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:start;}

/* INK BLOCK (dark card) */
.ink-block{background:var(--ink);color:var(--paper);padding:2.6rem;}
.ink-block p{color:rgba(244,241,234,0.82);max-width:none;font-size:0.95rem;}
.ink-block strong{font-family:var(--disp);color:var(--paper);font-weight:500;display:block;margin-bottom:0.8rem;font-size:1.25rem;}

/* CARDS / GRID */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem;}
.card{padding:1.9rem 0;border-top:2px solid var(--cinnabar);}
.card h4{font-family:var(--disp);font-size:1.1rem;font-weight:500;margin-bottom:0.6rem;color:var(--ink);}
.card p{font-size:0.95rem;color:var(--ink-soft);max-width:none;}

/* LIST ITEMS */
.exp-list,.q-list{margin-top:2.4rem;display:flex;flex-direction:column;}
.exp-item,.q-item{padding:1.4rem 0;border-top:1px solid var(--line);}
.exp-item:last-child,.q-item:last-child{border-bottom:1px solid var(--line);}
.exp-item h4{font-family:var(--disp);font-size:1.1rem;font-weight:500;margin-bottom:0.5rem;}
.exp-item p{font-size:0.95rem;color:var(--ink-soft);max-width:none;}
.q-item{font-size:0.95rem;color:var(--ink-soft);}

/* PULL QUOTE */
.pull-quote{font-family:var(--disp);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:300;line-height:1.25;letter-spacing:-0.01em;color:var(--ink);border-left:2px solid var(--cinnabar);padding-left:1.8rem;max-width:700px;margin:0 0 3rem;}

/* FORMAT ROWS */
.format-row{margin-top:2rem;display:flex;flex-direction:column;gap:1.2rem;}
.format-row p{max-width:none;}
.format-row strong{font-weight:500;color:var(--ink);}

/* CTA (dark band) */
.cta-section{background:var(--ink);color:var(--paper);padding:7rem 2.2rem;text-align:center;}
.cta-section h2{font-family:var(--disp);font-weight:500;font-size:clamp(1.9rem,3.4vw,2.8rem);margin-bottom:1rem;color:var(--paper);}
.cta-section p{color:rgba(244,241,234,0.8);max-width:480px;margin:0 auto 2.4rem;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--mono);font-size:0.72rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;padding:0.9rem 1.8rem;border:1px solid var(--line-d);color:var(--paper);cursor:pointer;transition:background .25s,color .25s,border-color .25s;}
.btn:hover{background:rgba(244,241,234,0.08);}
.btn--primary{background:var(--cinnabar);border-color:var(--cinnabar);color:#fff;}
.btn--primary:hover{background:#C23A22;border-color:#C23A22;color:#fff;}

/* FOOTER */
footer{border-top:1px solid var(--line);}
.footer-in{max-width:var(--maxw);margin:0 auto;padding:2rem 2.2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-family:var(--mono);font-size:0.72rem;letter-spacing:0.04em;color:var(--muted);}
.footer-in a{color:var(--ink-soft);}
.footer-in a:hover{color:var(--cinnabar);}
.site-footer{border-top:1px solid var(--line);margin-top:2rem;}
.site-footer .inner{max-width:var(--maxw);margin:0 auto;padding:2rem 2.2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-family:var(--mono);font-size:0.72rem;letter-spacing:0.04em;color:var(--muted);}
.site-footer a{color:var(--ink-soft);}
.site-footer a:hover{color:var(--cinnabar);}

/* ARTICLE (Insights) — ruhiges Textraster */
.article-hero{padding-top:4rem;padding-bottom:1.4rem;}
.article-hero h1{font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.12;margin-bottom:1.1rem;}
.article-hero .intro{font-size:1.1rem;}
.article-hero .divider{margin:1.4rem 0 0;}
.section.article-sec{padding-top:2.4rem;}
.article h2{font-size:clamp(1.3rem,1.7vw,1.6rem);line-height:1.25;margin-top:2.8rem;margin-bottom:0.85rem;}
.article p{font-size:1.05rem;line-height:1.75;max-width:680px;margin-bottom:1.1rem;}
.article p+p{margin-top:0;}
.article .pull-quote{font-size:clamp(1.35rem,2vw,1.7rem);margin:2.4rem 0;}

/* ===================== STARTSEITE ===================== */

/* HERO */
.hero{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.05fr 0.95fr;min-height:88vh;}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:3.4rem 3.2rem;}
.hero-name{font-family:var(--disp);font-weight:500;font-size:clamp(2.8rem,5.2vw,4.7rem);line-height:0.96;letter-spacing:-0.01em;margin-top:1.4rem;}
.hero-name b{font-weight:600;}
.hero-roles{font-family:var(--mono);font-weight:500;font-size:0.74rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(244,241,234,0.6);margin-top:1.25rem;line-height:1.7;}
.hero-line{font-family:var(--disp);font-weight:300;font-size:clamp(1.25rem,2vw,1.5rem);margin-top:1.7rem;max-width:34ch;line-height:1.35;color:var(--paper);}
.hero-proof{font-family:var(--mono);font-size:0.76rem;letter-spacing:0.08em;color:rgba(244,241,234,0.72);margin-top:1.5rem;line-height:1.9;max-width:52ch;}
.hero-photo{position:relative;overflow:hidden;background:var(--paper-2);min-height:42vh;}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:saturate(1.06) contrast(1.02);}
.hero-photo::after{content:'';position:absolute;inset:0;background:var(--cinnabar);mix-blend-mode:soft-light;opacity:0.05;}

/* PROOF */
.proof{border-bottom:1px solid var(--line);}
.proof-in{max-width:var(--maxw);margin:0 auto;padding:1.5rem 2.2rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0.5rem 1.8rem;}
.proof .kick{margin-right:0.4rem;}
.proof-item{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.04em;color:var(--ink-soft);white-space:nowrap;}
.proof-dot{color:var(--muted);}

/* SECTION (Startseite) */
.sec{padding:7rem 0;}
.sec-head{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:2.8rem;}
.sec-head h2{font-family:var(--disp);font-weight:500;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.05;letter-spacing:-0.01em;}
.sec-head p{margin-top:1rem;color:var(--ink-soft);max-width:58ch;}

/* BANDS (dark) */
.band{background:var(--ink);color:var(--paper);padding:7rem 0;}
.band .idx{color:rgba(244,241,234,0.5);}
.band-q{font-family:var(--disp);font-weight:300;font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.2;letter-spacing:-0.01em;max-width:21ch;margin-top:1.4rem;}
.band-q .hi{color:var(--cinnabar);}
.band-sub{font-size:1rem;color:rgba(244,241,234,0.8);max-width:56ch;margin-top:0;}
.band .rule{margin:2.2rem 0;}

/* PROFIL */
.profil-grid{display:grid;grid-template-columns:0.78fr 1.22fr;gap:4.5rem;align-items:start;}
.profil-img{width:100%;height:auto;display:block;filter:saturate(1.06) contrast(1.02);}
.profil-text h2{font-family:var(--disp);font-weight:500;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.05;margin-bottom:1.5rem;}
.profil-text p{color:var(--ink-soft);max-width:56ch;margin-bottom:1.1rem;}
.profil-text p b{color:var(--ink);font-weight:500;}
.data{margin-top:3rem;border-top:1px solid var(--line);}
.data-row{display:grid;grid-template-columns:7rem 1fr;gap:1.4rem;align-items:baseline;padding:1.1rem 0;border-bottom:1px solid var(--line-soft);}
.data-num{font-family:var(--disp);font-weight:500;font-size:1.9rem;line-height:1;color:var(--ink);}
.data-num span{color:var(--cinnabar);}
.data-lab{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.07em;text-transform:uppercase;color:var(--muted);line-height:1.5;}
.ausb{margin-top:2.4rem;font-family:var(--mono);font-size:0.72rem;letter-spacing:0.04em;color:var(--muted);line-height:1.9;max-width:none;}
.mandate{margin-top:3.4rem;}
.mandate .idx{display:block;margin-bottom:1.4rem;}
.antrieb{margin-top:3.6rem;max-width:780px;}
.antrieb .kick{display:block;margin-bottom:1.2rem;}
.antrieb p{font-family:var(--disp);font-weight:300;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.5;color:var(--ink);max-width:none;}
.mandate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 2.2rem;}
.mandate-item{font-size:0.95rem;color:var(--ink);padding:0.85rem 0 0.85rem 1.1rem;border-top:1px solid var(--line-soft);position:relative;}
.mandate-item::before{content:'';position:absolute;left:0;top:1.3rem;width:5px;height:5px;background:var(--cinnabar);}

/* LEISTUNGEN (Startseite) */
.leist a{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;padding:1.7rem 0;border-top:1px solid var(--line);transition:padding-left .25s,color .2s;}
.leist a:last-of-type{border-bottom:1px solid var(--line);}
.leist a:hover{padding-left:0.7rem;color:var(--cinnabar);}
.leist .ttl{font-family:var(--disp);font-weight:500;font-size:clamp(1.3rem,2.3vw,1.85rem);letter-spacing:-0.01em;}
.leist .arrow{font-family:var(--mono);color:var(--cinnabar);}

/* KEYNOTES */
.keynotes{background:var(--paper-2);}
.kn-top{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3.4rem;}
.kn-img{width:100%;height:auto;display:block;filter:saturate(1.06) contrast(1.02);}
.kn-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;}
.kn-item{background:var(--paper);border:1px solid var(--line);padding:2rem 2rem 1.8rem;}
.kn-item h3{font-family:var(--disp);font-weight:500;font-size:1.25rem;margin-bottom:0.7rem;}
.kn-item p{font-size:0.95rem;color:var(--ink-soft);margin-bottom:1.2rem;max-width:none;}
.kn-tag{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--cinnabar);}
.kn-for{font-size:0.72rem;color:var(--muted);margin-top:0.7rem;}
.topic-tags{margin-top:2.8rem;display:flex;flex-wrap:wrap;gap:0.6rem;}
.topic-tags span{font-family:var(--mono);font-size:0.72rem;letter-spacing:0.04em;color:var(--ink-soft);border:1px solid var(--line);padding:0.45rem 0.9rem;}

/* MEDIEN */
.medien-grid{display:grid;grid-template-columns:0.7fr 1.3fr;gap:4rem;}
.medien-contact strong{font-family:var(--disp);font-size:1.25rem;font-weight:500;display:block;margin-bottom:1rem;}
.medien-contact a{color:var(--ink);border-bottom:1px solid var(--cinnabar);}
.medien-bio p{color:var(--ink-soft);margin-bottom:1.1rem;max-width:62ch;}
.medien-bio a{color:var(--ink);border-bottom:1px solid var(--cinnabar);}

/* KONTAKT (dark) */
.kontakt{background:var(--ink);color:var(--paper);padding:7rem 0;text-align:center;}
.kontakt .kick{display:block;margin-bottom:1.2rem;}
.kontakt h2{font-family:var(--disp);font-weight:500;font-size:clamp(2rem,4vw,3.2rem);color:var(--paper);}
.kontakt>.wrap>p{color:rgba(244,241,234,0.8);max-width:50ch;margin:1.3rem auto 2.4rem;}
.kontakt-form{max-width:540px;margin:0 auto 2rem;text-align:left;display:grid;gap:0.9rem;}
.kontakt-form input,.kontakt-form select,.kontakt-form textarea{width:100%;font-family:var(--sans);font-size:0.95rem;font-weight:300;padding:0.85rem 1rem;color:var(--paper);background:rgba(244,241,234,0.06);border:1px solid var(--line-d);}
.kontakt-form input::placeholder,.kontakt-form textarea::placeholder{color:rgba(244,241,234,0.55);}
.kontakt-form input:focus,.kontakt-form select:focus,.kontakt-form textarea:focus{outline:none;border-color:var(--cinnabar);}
.kontakt-form select option{color:#15161D;}
.kontakt-form textarea{min-height:120px;resize:vertical;}
.kontakt-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* MODAL */
.modal{display:none;position:fixed;inset:0;z-index:200;background:rgba(21,22,29,0.6);padding:2rem;overflow-y:auto;}
.modal.open{display:flex;align-items:flex-start;justify-content:center;}
.modal-box{background:var(--paper);max-width:640px;width:100%;margin:5vh auto;padding:3rem;position:relative;}
.modal-box h2{font-family:var(--disp);font-weight:500;font-size:1.6rem;margin-bottom:1.5rem;}
.modal-box p{font-size:0.95rem;color:var(--ink-soft);margin-bottom:1.1rem;}
.modal-box a{color:var(--ink);border-bottom:1px solid var(--cinnabar);}
.modal-close{position:absolute;top:1.4rem;right:1.6rem;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--muted);line-height:1;}

/* FADE */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease;}
.fade-in.visible{opacity:1;transform:none;}

/* RESPONSIVE */
@media(max-width:900px){
  .nav-toggle{display:block;}
  .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--ink);border-bottom:1px solid var(--line-d);display:none;padding:0.5rem 0;}
  .nav-links.open{display:flex;}
  .nav-links li{padding:0 2.2rem;}
  .nav-links a{display:block;padding:0.9rem 0;}
  .page-hero{padding:3.6rem 1.5rem 3rem;}
  .section{padding:4.5rem 0;}
  .two-col{grid-template-columns:1fr;gap:3rem;}
  .grid-3{grid-template-columns:1fr;}
  .cta-section{padding:5rem 1.5rem;}
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-photo{height:56vh;order:-1;}
  .hero-left{padding:2.6rem 1.6rem 3rem;}
  .profil-grid{grid-template-columns:1fr;gap:2.6rem;}
  .mandate-grid{grid-template-columns:1fr 1fr;}
  .kn-top{grid-template-columns:1fr;gap:2rem;}
  .kn-list{grid-template-columns:1fr;}
  .medien-grid{grid-template-columns:1fr;gap:2.4rem;}
  .leist a{grid-template-columns:1fr auto;}
}
@media(max-width:600px){
  .container{padding:0 1.5rem;}
  .wrap,.nav-in,.proof-in,.footer-in{padding-left:1.5rem;padding-right:1.5rem;}
  .sec,.band,.kontakt{padding:4.5rem 0;}
  .mandate-grid{grid-template-columns:1fr;}
  .modal-box{padding:2rem 1.5rem;}
  .page-hero{padding-left:1.5rem;padding-right:1.5rem;}
  .ink-block{padding:2rem 1.6rem;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition:none!important;animation:none!important;}
  .fade-in{opacity:1;transform:none;}
}
