/* ==========================================================================
   Informatika CRW – gemeinsames Stylesheet (Startseite + Impressum)
   ========================================================================== */

/* Fonts (lokal eingebunden, kein externer Aufruf) */
@font-face{
  font-family:'Lato';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/lato-latin-400-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Lato';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/lato-latin-700-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Lato';
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:url('../fonts/lato-latin-900-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Source Sans 3';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/source-sans-3-latin-400-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Source Sans 3';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fonts/source-sans-3-latin-500-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Source Sans 3';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fonts/source-sans-3-latin-600-normal.woff2') format('woff2');
}

/* Farbtokens (aus der PowerPoint-Vorlage übernommen) */
:root{
  --red:#E31B23;
  --ink:#111827;
  --muted:#6B7280;
  --muted-2:#9CA3AF;
  --line:#E5E7EB;
  --bg-soft:#F9FAFB;
  --white:#FFFFFF;
}
body.page-home{ --maxw:1120px; }
body.page-impressum{ --maxw:900px; }

/* Reset / Basis (gemeinsam) */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;}
img{max-width:100%; display:block;}
.topbar{height:6px; background:var(--red); width:100%;}
ul.plain{margin:0; padding-left:1.2rem;}

/* ==========================================================================
   Startseite (index.html)
   ========================================================================== */

body.page-home{ line-height:1.55; }

body.page-home .eyebrow{
  color:var(--red); font-weight:900; text-transform:uppercase;
  letter-spacing:.02em; font-size:clamp(1.35rem,2.6vw,1.75rem); margin-bottom:.3rem; display:block;
  line-height:1.2;
}
body.page-home h1,
body.page-home h3{
  font-family:'Lato','Source Sans 3',sans-serif;
  font-weight:900;
  color:var(--ink);
  margin:0 0 .5em 0;
  line-height:1.15;
}
body.page-home h2{
  font-family:'Source Sans 3',sans-serif;
  font-weight:400;
  color:var(--ink);
  margin:0 0 .7em 0;
  line-height:1.3;
}
body.page-home h1{font-size:clamp(1.9rem,4vw,2.7rem);}
body.page-home h2{font-size:1.15rem;}
body.page-home h3{font-size:1.05rem; font-weight:700; color:var(--red); text-transform:uppercase; letter-spacing:.04em; margin-bottom:.6em;}
body.page-home p{margin:0 0 1em 0;}
body.page-home .wrap{max-width:var(--maxw); margin:0 auto; padding:0 1.5rem;}
body.page-home ul.plain li{margin-bottom:.5rem;}

/* Header / Nav */
body.page-home header.site{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line); backdrop-filter:blur(6px);
}
body.page-home .nav-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:.85rem 1.5rem; max-width:var(--maxw); margin:0 auto; gap:1rem;
}
body.page-home .brand img{height:48px; width:auto;}
body.page-home nav.links{display:flex; gap:1.6rem; align-items:center;}
body.page-home nav.links a{
  font-size:.92rem; font-weight:600; color:var(--ink); text-decoration:none;
  padding:.3rem 0; margin-left:1.6rem; border-bottom:2px solid transparent; transition:border-color .15s, color .15s;
  white-space:nowrap;
}
body.page-home nav.links a:first-child{margin-left:0;}
body.page-home nav.links a:hover{ color:var(--red); border-color:var(--red); }
body.page-home .nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:.4rem;}
body.page-home .nav-toggle span{display:block; width:24px; height:2px; background:var(--ink); margin:5px 0;}

/* Hero */
body.page-home .hero{padding:4.5rem 0 4rem;}
body.page-home .hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:center;}
body.page-home .hero-single{max-width:62ch;}
body.page-home .hero p.lead{font-size:1.15rem; color:var(--muted); max-width:58ch;}
body.page-home .hero-photo img{border-radius:12px; width:100%; height:auto;}

body.page-home section{padding:3.6rem 0; border-top:1px solid var(--line);}
body.page-home section:first-of-type{border-top:none;}
body.page-home section.tinted{background:var(--bg-soft);}

body.page-home .two-col{display:grid; grid-template-columns:1fr 1fr; gap:2.5rem;}
body.page-home .card{
  border:1px solid var(--line); border-radius:10px; padding:1.8rem 2rem; background:var(--white);
}
body.page-home .card + .card{margin-top:1.2rem;}
body.page-home .card h4{margin:0 0 .5rem 0; font-size:1.05rem; font-weight:700;}
body.page-home .card .price{color:var(--red); font-weight:700;}
body.page-home .bmd-logo-row{display:flex; align-items:center; gap:1rem; margin-bottom:1rem;}
body.page-home .bmd-logo-row img{height:70px; width:auto;}

/* Über uns */
body.page-home .ueberuns-block + .ueberuns-block{margin-top:2.2rem;}
body.page-home .ueberuns-block h4{color:var(--red); font-weight:700; font-size:1.15rem; margin-bottom:.6rem;}

/* Zur Person */
body.page-home .person-grid{display:grid; grid-template-columns:.9fr 1.6fr; gap:2.6rem; align-items:start;}
body.page-home .person-grid img{border-radius:10px; width:100%; height:auto;}
body.page-home .quote{
  font-size:1.15rem; font-style:italic; color:var(--ink); border-left:3px solid var(--red);
  padding-left:1.2rem; margin:1.2rem 0;
}
body.page-home details.cv{border-top:1px solid var(--line); padding:1rem 0;}
body.page-home details.cv summary{cursor:pointer; font-weight:700; font-size:1rem; list-style:none; display:flex; align-items:center; justify-content:space-between;}
body.page-home details.cv summary::-webkit-details-marker{display:none;}
body.page-home details.cv summary::after{content:"+"; color:var(--red); font-size:1.3rem; font-weight:400;}
body.page-home details.cv[open] summary::after{content:"–";}
body.page-home details.cv .cv-body{margin-top:.8rem; color:var(--muted); font-size:.95rem;}
body.page-home details.cv .cv-body p{margin-bottom:.7rem;}

/* Preise */
body.page-home table.pricing{width:100%; border-collapse:collapse; border:1px solid var(--line); border-radius:10px; overflow:hidden;}
body.page-home table.pricing th{
  background:var(--red); color:#fff; text-align:left; padding:.9rem 1.2rem; font-size:.95rem;
}
body.page-home table.pricing td{padding:.9rem 1.2rem; border-top:1px solid var(--line); font-size:.95rem;}
body.page-home table.pricing tr:nth-child(even) td{background:var(--bg-soft);}
body.page-home .pricing-note{color:var(--muted); font-size:.88rem; margin-top:1.2rem;}
body.page-home .pricing-source{color:var(--muted-2); font-size:.82rem; margin-top:.5rem;}

/* Kontakt */
body.page-home .kontakt-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;}
body.page-home .kontakt-grid h4{color:var(--red); font-weight:700; margin-bottom:.6rem;}
body.page-home .kontakt-grid p{color:var(--muted); font-size:.95rem; margin-bottom:.3rem;}
body.page-home .kontakt-grid a{color:var(--ink); text-decoration:none; font-weight:600;}
body.page-home .kontakt-grid a:hover{color:var(--red);}

/* Footer */
body.page-home footer{background:var(--ink); color:#D1D5DB; padding:2.6rem 0 1.6rem;}
body.page-home .footer-logo{height:32px; width:auto; background:var(--white); padding:.4rem .7rem; border-radius:6px;}
body.page-home .footer-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;}
body.page-home .footer-links{display:flex; gap:1.6rem; flex-wrap:wrap;}
body.page-home footer a{color:#D1D5DB; text-decoration:none; font-size:.9rem;}
body.page-home footer a:hover{color:#fff;}
body.page-home .footer-bottom{
  margin-top:1.6rem; padding-top:1.2rem; border-top:1px solid #374151;
  font-size:.82rem; color:#9CA3AF; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem;
}

@media (max-width:880px){
  body.page-home .nav-row{flex-wrap:wrap;}
  body.page-home nav.links{
    position:fixed; top:64px; left:0; right:0; background:#fff; border-bottom:1px solid var(--line);
    flex-direction:column; align-items:flex-start; padding:1rem 1.5rem; gap:0;
    transform:translateY(-150%); transition:transform .2s ease; box-shadow:0 8px 16px rgba(0,0,0,.06);
  }
  body.page-home nav.links.open{transform:translateY(0);}
  body.page-home nav.links a{padding:.7rem 0; width:100%; border-bottom:1px solid var(--line);}
  body.page-home .nav-toggle{display:block;}
  body.page-home .hero-grid, body.page-home .two-col, body.page-home .person-grid, body.page-home .kontakt-grid{grid-template-columns:1fr;}
  body.page-home .kontakt-grid{gap:1.6rem;}
}

/* ==========================================================================
   Impressum (impressum.html)
   ========================================================================== */

body.page-impressum{ line-height:1.6; }

body.page-impressum .eyebrow{
  color:var(--red); font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; font-size:.8rem; margin-bottom:.6rem; display:block;
}

body.page-impressum h1,
body.page-impressum h2{
  font-family:'Lato','Source Sans 3',sans-serif;
  font-weight:900;
  margin:0 0 .5em 0;
  line-height:1.15;
}
body.page-impressum h1{font-size:clamp(1.7rem,4vw,2.3rem);}
body.page-impressum h2{font-size:1.2rem; color:var(--red); text-transform:uppercase; letter-spacing:.03em; margin-top:2.2rem;}
body.page-impressum p{margin:0 0 .9em 0;}
body.page-impressum a{color:var(--ink);}
body.page-impressum a:hover{color:var(--red);}

body.page-impressum header.site{border-bottom:1px solid var(--line); padding:1rem 0;}
body.page-impressum .nav-row{max-width:var(--maxw); margin:0 auto; padding:0 1.5rem; display:flex; align-items:center; justify-content:space-between;}
body.page-impressum .brand img{height:44px; width:auto;}
body.page-impressum .back-link{font-size:.9rem; font-weight:600; text-decoration:none; color:var(--muted);}
body.page-impressum .back-link:hover{color:var(--red);}
body.page-impressum main{max-width:var(--maxw); margin:0 auto; padding:3rem 1.5rem 4rem;}

body.page-impressum .card{border:1px solid var(--line); border-radius:10px; padding:1.8rem 2rem; background:var(--bg-soft); margin-top:1rem;}
body.page-impressum ul.plain li{margin-bottom:.4rem;}
body.page-impressum .agb-links{display:flex; gap:1rem; flex-wrap:wrap; margin-top:.6rem;}
body.page-impressum .agb-links a{
  display:inline-block; border:1px solid var(--line); border-radius:8px; padding:.6rem 1.1rem;
  font-size:.9rem; font-weight:600; text-decoration:none; color:var(--ink); background:var(--white);
}
body.page-impressum .agb-links a:hover{border-color:var(--red); color:var(--red);}

body.page-impressum footer{background:var(--ink); color:#D1D5DB; padding:2rem 0; margin-top:2rem;}
body.page-impressum footer .wrap{max-width:var(--maxw); margin:0 auto; padding:0 1.5rem; font-size:.85rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem;}
body.page-impressum footer a{color:#D1D5DB;}
body.page-impressum footer a:hover{color:#fff;}
