/* Evolutio Website - Stylesheet (Design v2: dunkel-dominant, Gold-Akzent)
   Farben: konsolidierte Marken-Palette, Stand 2026-08-30.
   Marke: Navy #2C3E50, Creme #F8F8E0.
   Navy-Flaechen: #233140 Seitengrund, #1B2634 Fusszeile, #37495C Karten.
   Helle Flaechen: #FAF9EE, Kante #E5E0CC, Weiss.
   Gold in drei Stufen mit fester Rolle: #C9A461 fuer Linien, Icons und
   dekorative Grosselemente auf Navy; #D4B478 fuer goldenen Kleintext auf Navy
   und auf Karten; #856A1E fuer alles Goldene auf hellen Flaechen.
   Verbindliche Quelle samt Kontrastmatrix und Einsatzregeln:
   02_Evolutio/00_Intern/Vorlagen/Marke/FARBEN.md
   Montserrat wird lokal ausgeliefert (DSGVO: keine Verbindung zu Google-Servern).
   Quelle: Google Fonts, Montserrat v31, Subset latin, SIL Open Font License 1.1.
   Die vier Gewichte teilen sich eine Variable-Font-Datei (identisch zur Auslieferung
   durch Google Fonts); der Browser stellt die Strichstaerke ueber die wght-Achse ein. */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/montserrat-latin.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/montserrat-latin.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/montserrat-latin.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('assets/fonts/montserrat-latin.woff2') format('woff2');}
:root{
  --navy:#2C3E50; --navy-deep:#233140; --navy-footer:#1B2634; --navy-card:#37495C;
  --creme:#F8F8E0; --light:#FAF9EE; --weiss:#FFFFFF; --kante:#E5E0CC;
  --gold:#C9A461; --gold-hell:#D4B478; --gold-dark:#856A1E;
  --text-dark:#2C3E50; --text-mut:#44525f;
  --dark-mut:#C6D0DA; --dark-mut2:#B9C2CB;
  /* RGB-Tripel derselben Farben, fuer Flaechen und Linien mit Transparenz */
  --rgb-navy:44,62,80; --rgb-navy-deep:35,49,64; --rgb-creme:248,248,224; --rgb-gold:201,164,97;
}
*{margin:0;padding:0;box-sizing:border-box;}
.nobr{white-space:nowrap;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;color:var(--text-dark);line-height:1.7;background:var(--navy-deep);}
h1,h2,h3,h4,.logo,.linie,.btn{font-family:'Montserrat','Segoe UI',Arial,sans-serif;}
img{max-width:100%;display:block;}
h1,h2,h3,.sub,.title{text-wrap:balance;}

.skip{position:absolute;left:-9999px;top:0;background:var(--creme);color:var(--navy);padding:12px 20px;z-index:100;font-weight:600;}
.skip:focus{left:0;}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* Navigation */
nav{position:sticky;top:0;background:rgba(var(--rgb-navy-deep),.97);border-bottom:1px solid rgba(var(--rgb-gold),.25);z-index:10;}
.nav-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;flex-wrap:wrap;gap:10px;}
.logo{display:block;}
.logo img{height:42px;width:auto;}
.nav-links{display:flex;gap:26px;flex-wrap:wrap;}
.nav-links a{color:var(--creme);text-decoration:none;font-size:16px;padding-bottom:3px;border-bottom:2px solid transparent;opacity:.92;}
.nav-links a.active{border-bottom:2px solid var(--gold);opacity:1;font-weight:600;}
.nav-links a:hover{border-bottom:2px solid var(--gold);opacity:1;}

/* Sektionen */
.sec{padding:88px 24px;}
.sec-inner{max-width:1120px;margin:0 auto;}
.dark{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);color:var(--creme);}
.dark-flat{background:var(--navy-deep);color:var(--creme);}
.light{background:var(--light);}
.creme-bg{background:var(--creme);}

/* Kicker + Titel */
.kicker{font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;margin-bottom:14px;}
.dark .kicker,.dark-flat .kicker{color:var(--gold-hell);}
.light .kicker,.creme-bg .kicker{color:var(--gold-dark);}
h1.title,h2.title{font-size:30px;font-weight:700;margin-bottom:18px;line-height:1.3;}
.center{text-align:center;}
.rule{width:52px;height:2px;background:var(--gold);border:none;margin:0 0 42px;}
.center>.rule,.rule.mid{margin:0 auto 42px;}

/* Hero / Seitenkopf */
.hero{text-align:center;padding:92px 24px 56px;}
.hero h1{font-size:clamp(32px,9vw,54px);letter-spacing:.5px;margin-bottom:16px;font-weight:800;color:var(--creme);}
.hero .hrule{width:64px;height:2px;background:var(--gold);border:none;margin:0 auto 20px;}
.hero .sub{font-size:22px;font-weight:600;margin-bottom:20px;color:var(--creme);font-family:'Montserrat',sans-serif;}
.hero p.lead{max-width:730px;margin:0 auto 38px;font-size:17px;color:var(--dark-mut);}
.subhero{text-align:center;padding:96px 24px 52px;}
.subhero h1{font-size:clamp(21px,6.5vw,40px);margin-bottom:18px;font-weight:800;color:var(--creme);}
.subhero .sub{font-size:19px;font-weight:500;max-width:800px;margin:0 auto 30px;color:var(--dark-mut);font-family:'Montserrat',sans-serif;}

/* Buttons */
.btn{display:inline-block;background:var(--creme);color:var(--navy);padding:16px 36px;border-radius:3px;font-weight:700;text-decoration:none;font-size:15px;letter-spacing:.3px;border:none;transition:all .18s;}
.btn:hover{background:var(--gold);color:var(--navy);transform:translateY(-1px);}

/* Karten (dunkel) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:left;}
.card{background:var(--navy-card);border:1px solid rgba(var(--rgb-creme),.14);border-radius:12px;padding:36px 30px;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(0,0,0,.28);}
.card .qmark{font-family:Georgia,serif;font-size:56px;line-height:.6;color:var(--gold);margin-bottom:18px;}
.card .zitat{font-family:Georgia,serif;font-style:italic;font-size:16.5px;margin-bottom:20px;color:var(--creme);line-height:1.6;}
.card .linie{font-weight:700;font-size:13.5px;letter-spacing:.06em;margin-bottom:10px;color:var(--gold-hell);text-transform:uppercase;}
.card p{font-size:14.5px;color:var(--dark-mut);flex-grow:1;}
.card p.hell{color:var(--creme);font-size:15.5px;flex-grow:0;}
.card a.mehr{margin-top:20px;color:var(--creme);font-weight:600;text-decoration:none;font-size:14.5px;border-bottom:1px solid var(--gold);align-self:flex-start;padding-bottom:2px;}
.card a.mehr:hover{color:var(--gold-hell);}
.card p strong{color:var(--creme);}
.card .cicon{width:36px;height:36px;stroke:var(--gold);fill:none;stroke-width:1.5;margin-bottom:16px;}

.light .card{background:var(--weiss);border:1px solid var(--kante);box-shadow:0 8px 22px rgba(var(--rgb-navy),.08);}
.light .card .linie{color:var(--gold-dark);}
.light .card p{color:var(--text-mut);}
.light .card p.hell{color:var(--navy);}
.light .card p strong{color:var(--navy);}
.light .card .cicon{stroke:var(--gold-dark);}

/* Drei Spalten mit Icons */
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:center;}
.col .icon{width:46px;height:46px;margin:0 auto 18px;fill:none;stroke-width:1.5;}
.dark .col .icon,.dark-flat .col .icon{stroke:var(--gold);}
.light .col .icon,.creme-bg .col .icon{stroke:var(--gold-dark);}
.col h3{font-size:16.5px;margin-bottom:9px;font-weight:700;}
.dark .col h3,.dark-flat .col h3{color:var(--creme);}
.col p{font-size:14.5px;}
.dark .col p,.dark-flat .col p{color:var(--dark-mut);}
.light .col p,.creme-bg .col p{color:var(--text-mut);}

/* Leistungs-/Phasenblöcke */
.lblock{background:var(--navy-card);border:1px solid rgba(var(--rgb-creme),.14);border-left:3px solid var(--gold);border-radius:0 12px 12px 0;padding:28px 32px;margin:0 auto 20px;max-width:920px;box-shadow:0 14px 34px rgba(0,0,0,.24);}
.lblock h3{font-size:16.5px;margin-bottom:8px;color:var(--creme);font-weight:700;}
.lblock .meta{font-weight:400;color:var(--dark-mut2);font-size:14px;display:block;margin-top:3px;}
.lblock p{font-size:15px;color:var(--dark-mut);}
.lblock .nr{display:inline-block;color:var(--gold-hell);font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;margin-right:10px;}
.lblock ul{list-style:none;margin-top:10px;}
.lblock li{position:relative;padding-left:26px;font-size:15px;color:var(--dark-mut);margin-bottom:7px;}
.lblock li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--gold);font-weight:700;}
.light .lblock{background:var(--weiss);border-color:var(--kante);border-left-color:var(--gold-dark);box-shadow:0 8px 22px rgba(var(--rgb-navy),.08);}
.light .lblock h3{color:var(--navy);}
.light .lblock .nr{color:var(--gold-dark);}
.light .lblock p{color:var(--text-mut);}
.light .lblock li{color:var(--text-mut);}
.light .lblock li::before{color:var(--gold-dark);}

.weiche .card .linie{min-height:44px;display:flex;align-items:flex-end;}

/* Referenz-Streifen */
.referenz{text-align:center;padding:48px 24px 84px;background:var(--creme);}
.referenz .qmark{font-family:Georgia,serif;font-size:74px;line-height:.5;color:var(--gold-dark);display:block;margin-bottom:22px;}
.referenz .label{font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:20px;}
.referenz p{font-family:Georgia,serif;font-size:24px;max-width:820px;margin:0 auto;color:var(--navy);line-height:1.55;}

/* Fließtext hell */
.prose{max-width:820px;}
.prose p{font-size:16px;color:var(--text-mut);margin-bottom:16px;}
.prose p strong{color:var(--navy);}

/* Schnell-Check-Box */
.checkbox-wrap{max-width:860px;margin:0 auto;text-align:center;background:var(--navy-card);border:1px solid var(--gold);border-radius:14px;padding:52px 46px;box-shadow:0 20px 50px rgba(0,0,0,.3);}
.checkbox-wrap h2{font-size:24px;color:var(--creme);margin-bottom:16px;}
.checkbox-wrap p{color:var(--dark-mut);font-size:15.5px;max-width:660px;margin:0 auto 26px;}

/* FAQ */
details{background:var(--weiss);border:1px solid var(--kante);border-radius:10px;margin-bottom:12px;padding:0 22px;}
details summary{cursor:pointer;font-weight:600;font-size:15.5px;padding:18px 0;list-style-position:inside;color:var(--navy);}
details p{padding:0 0 18px;font-size:15px;color:var(--text-mut);max-width:840px;}

/* CTA */
.cta{text-align:center;}
.cta h2{font-size:30px;margin-bottom:12px;color:var(--creme);font-weight:700;}
.cta p{margin:0 auto 30px;color:var(--dark-mut);max-width:620px;}

.cta p.einschaetzung{max-width:600px;margin:48px auto 0;font-size:14.5px;color:var(--dark-mut);}
.einschaetzung a{color:var(--creme);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:1px;}
.einschaetzung a:hover{color:var(--gold-hell);}

/* Über mich */
.uebermich{display:grid;grid-template-columns:320px 1fr;gap:52px;align-items:stretch;}
.uebermich img{border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.12);width:100%;height:100%;object-fit:cover;object-position:top;}
.uebermich p{margin-bottom:15px;font-size:15.5px;color:var(--text-mut);}
.uebermich p strong{color:var(--navy);}
.linien-liste{margin:0 0 16px 4px;list-style:none;}
.linien-liste li{padding-left:22px;position:relative;margin-bottom:8px;font-size:15.5px;}
.linien-liste li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:2px;background:var(--gold-dark);}
.linien-liste a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold-dark);padding-bottom:1px;}
.linien-liste a:hover{color:var(--gold-dark);}

/* Kontakt */
.kontaktzeile{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:34px;font-size:15px;}
.kontaktzeile a{color:var(--creme);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;display:inline-flex;align-items:center;gap:9px;}
.kontaktzeile svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.6;flex-shrink:0;}
.kontaktzeile a:hover{color:var(--gold-hell);}

.textlink{color:var(--gold-dark);text-decoration:none;border-bottom:1px solid var(--gold-dark);padding-bottom:1px;}
.textlink:hover{color:var(--navy);border-bottom-color:var(--navy);}

/* Rechtstexte */
.legal{max-width:820px;}
.legal h1{font-size:32px;margin-bottom:26px;color:var(--navy);}
.legal h2{font-size:18px;margin:28px 0 10px;color:var(--navy);}
.legal p{font-size:15px;color:var(--text-mut);margin-bottom:12px;}
.legal a{color:var(--gold-dark);}

footer{background:var(--navy-footer);color:var(--dark-mut);padding:48px 24px;font-size:14px;}
.footer-inner{max-width:1120px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;}
footer strong{color:var(--creme);}
footer a{color:var(--dark-mut);}
footer a:hover{color:var(--gold-hell);}
footer .li-icon{width:20px;height:20px;fill:currentColor;stroke:none;display:inline-block;vertical-align:-4px;}
.kontaktzeile .li-icon{fill:var(--gold);stroke:none;}

/* Dezente Einblendung beim Scrollen (respektiert Reduced-Motion) */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease;}
  .reveal.da{opacity:1;transform:none;}
}

.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.burger span{display:block;width:26px;height:2px;background:var(--creme);margin:6px 0;transition:all .2s;}
@media(max-width:840px){
  .burger{display:block;}
  .nav-links{display:none;width:100%;flex-direction:column;gap:0;padding:8px 0 4px;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:12px 4px;border-bottom:1px solid rgba(var(--rgb-creme),.08);font-size:16px;}
  .kontaktzeile a,.linien-liste a{padding-top:8px;padding-bottom:8px;}
  footer a{display:inline-block;padding:10px 0;}
  .card a.mehr{padding:14px 0 10px;}
  .nav-links a.active,.nav-links a:hover{border-bottom:1px solid var(--gold);}
  .cards,.cols{grid-template-columns:1fr;}
  .uebermich{grid-template-columns:1fr;max-width:480px;margin:0 auto;}
  .uebermich img{max-width:240px;margin:0 auto;height:auto;}
  .legal h1{font-size:26px;}
  .legal h1{overflow-wrap:break-word;hyphens:auto;}
  .sec{padding:64px 20px;}
}
