:root{
    --navy: #0f1e34;
    --navy-2: #16283f;
    --navy-soft: #22344c;
    --gold: #b5904f;
    --gold-light: #d4b57c;
    --cream: #f8f6f2;
    --paper: #ffffff;
    --text: #1e2430;
    --muted: #6b7280;
    --line: #e4e1da;
    --maxw: 1120px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    color:var(--text);
    background:var(--cream);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.serif{
    font-family:'Playfair Display', Georgia, serif;
  }
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .container{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

  /* ---------- NAV ---------- */
  header.site-nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(15,30,52,0.96);
    backdrop-filter:blur(6px);
    border-bottom:1px solid rgba(181,144,79,0.25);
  }
  .nav-inner{
    max-width:var(--maxw);margin:0 auto;padding:16px 32px;
    display:flex;align-items:center;justify-content:space-between;
  }
  .nav-name{
    color:var(--paper);font-family:'Playfair Display',serif;
    font-size:18px;font-weight:600;letter-spacing:.02em;
  }
  .nav-name span{color:var(--gold-light);}
  nav.nav-links{display:flex;gap:28px;align-items:center;}
  nav.nav-links a{
    color:#cfd6e2;text-decoration:none;font-size:14px;font-weight:500;
    letter-spacing:.02em;transition:color .2s;
  }
  nav.nav-links a:hover{color:var(--gold-light);}
  .lang-toggle{
    display:flex;border:1px solid rgba(212,181,124,.5);border-radius:20px;overflow:hidden;
  }
  .lang-toggle button{
    background:transparent;border:none;color:#cfd6e2;font-size:12px;font-weight:600;
    padding:6px 14px;cursor:pointer;letter-spacing:.05em;transition:all .2s;
  }
  .lang-toggle button.active{background:var(--gold);color:var(--navy);}
  .nav-toggle-btn{display:none;background:none;border:none;color:var(--paper);font-size:24px;cursor:pointer;}

  @media (max-width:820px){
    nav.nav-links{
      position:fixed;top:60px;left:0;right:0;background:var(--navy);
      flex-direction:column;align-items:flex-start;padding:20px 32px;gap:18px;
      transform:translateY(-150%);transition:transform .3s ease;border-bottom:1px solid rgba(181,144,79,.25);
    }
    nav.nav-links.open{transform:translateY(0);}
    .nav-toggle-btn{display:block;}
  }

  /* ---------- HERO ---------- */
  .hero{
    background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 55%, var(--navy-soft) 100%);
    color:var(--paper);
    padding:150px 0 90px;
    position:relative;
    overflow:hidden;
  }
  .hero::before{
    content:"";position:absolute;top:0;right:0;bottom:0;width:45%;
    background:
      linear-gradient(120deg, transparent 0%, transparent 48%, var(--gold) 48%, var(--gold) 49%, transparent 49%),
      linear-gradient(120deg, transparent 0%, transparent 54%, rgba(212,181,124,.4) 54%, rgba(212,181,124,.4) 55%, transparent 55%);
    opacity:.5;pointer-events:none;
  }
  .hero-inner{
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:64px;
    align-items:center;
    position:relative;
    z-index:1;
  }
  .eyebrow{
    color:var(--gold-light);text-transform:uppercase;letter-spacing:.18em;
    font-size:12px;font-weight:600;margin-bottom:18px;
  }
  .hero h1{
    font-size:clamp(34px,5vw,54px);font-weight:600;margin:0 0 14px;line-height:1.15;
  }
  .hero .role{
    font-size:clamp(17px,2vw,20px);color:var(--gold-light);font-weight:500;margin-bottom:24px;
  }
  .hero .role .line{
    display:block;
  }

  .hero .role .line + .line{
    margin-top:6px; /* Abstand zwischen Zeile 1 und 2 */
  }

  .hero p.lead{
    font-size:16.5px;color:#cfd6e2;max-width:520px;margin:0 0 32px;
  }
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:2px;
    font-size:14px;font-weight:600;letter-spacing:.03em;text-decoration:none;cursor:pointer;
    border:1px solid transparent;transition:all .2s;
  }
  .btn-gold{background:var(--gold);color:var(--navy);}
  .btn-gold:hover{background:var(--gold-light);}
  .btn-outline{border-color:rgba(255,255,255,.4);color:var(--paper);}
  .btn-outline:hover{border-color:var(--gold-light);color:var(--gold-light);}

  .hero-photo{
    position:relative;
    justify-self:end;
  }
  .hero-photo .frame{
    width:320px;
    height:400px;
    border:2px solid var(--gold);
    padding:10px;
  }
  .hero-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
  }

  /* optional: etwas kleiner auf mittleren Screens */
  @media (max-width:1100px){
    .hero-photo .frame{
      width:290px;
      height:360px;
    }
  }

  /* ---------- STATS ---------- */
  .stats{
    background:var(--paper);border-bottom:1px solid var(--line);
    margin-top:-1px;
  }
  .stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr); /* statt 5 */
    padding:38px 0;
  }
  .stat{text-align:center;border-right:1px solid var(--line);padding:0 12px;}
  .stat:last-child{border-right:none;}
  .stat .num{
    font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,34px);font-weight:700;color:var(--navy);
  }
  .stat .num span{color:var(--gold);}
  .stat .label{font-size:12.5px;color:var(--muted);margin-top:6px;letter-spacing:.02em;}
  @media (max-width:820px){
    .stats-grid{grid-template-columns:repeat(2,1fr);row-gap:24px;}
    .stat{border-right:none;border-bottom:1px solid var(--line);padding-bottom:20px;}
  }

  /* ---------- SECTION GENERIC ---------- */
  section{padding:88px 0;}
  .section-head{margin-bottom:48px;max-width:640px;}
  .section-tag{
    color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;margin-bottom:10px;
  }
  .section-head h2{font-size:clamp(26px,3.2vw,36px);margin:0 0 14px;color:var(--navy);}
  .section-head p{color:var(--muted);font-size:15.5px;margin:0;}

  .about{background:var(--paper);}
  .about-text{font-size:18px;color:#333c4d;max-width:780px;font-family:'Playfair Display',serif;font-weight:500;line-height:1.7;}
  .about-text em,
.about-text-secondary em{
  color:var(--gold);
  font-style:normal;
}
  .about-text-secondary{
    margin-top:18px;
    max-width:780px;
    font-family:'Playfair Display',serif;
    font-size:18px;
    font-weight:500;
    line-height:1.7;
    color:#333c4d;
  }
  .arc{
    margin-top:32px;
    margin-left:-26px;          /* startet weiter links */
    display:flex;
    align-items:center;
    flex-wrap:nowrap;           /* alles in einer Linie */
    white-space:nowrap;         /* kein Umbruch */
    overflow:visible;
    gap:4px;                    /* enger */
    font-size:12.8px;           /* etwas kleiner, damit alles passt */
    color:var(--muted);
  }
  .arc .arc-step{
    display:flex;
    align-items:center;
    gap:5px;
    flex:0 0 auto;
  }
  .arc .sep{
    width:12px;                 /* kürzere Trennlinie */
    height:1px;
    background:var(--line);
    margin:0 2px;
    flex:0 0 auto;
  }
  .arc .dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--gold);
    display:inline-block;
    flex:0 0 8px;
  }

  /* ---------- TIMELINE ---------- */
  .experience{background:var(--cream);}
  .timeline{
  --tl-indent: 40px;
  position: relative;
  margin-left: 8px;
  padding-left: var(--tl-indent);
  border-left: none; /* alte Linie aus */
}

.timeline::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--line);
}

.tl-item{
  position: relative;
  padding: 0 0 46px 0;
}

.tl-item::before{
  content: "";
  position: absolute;
  top: 4px;
  left: calc(-1 * var(--tl-indent) + 1px); /* minimal nach rechts */
  transform: translateX(-50%);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--paper);
  border: 3px solid var(--gold);
}
  .tl-date{
    font-size:12.5px;color:var(--gold);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;
  }
  .tl-role{font-family:'Playfair Display',serif;font-size:21px;font-weight:600;color:var(--navy);margin:0 0 3px;}
  .tl-company{font-size:14px;color:var(--muted);margin-bottom:14px;}
  .tl-item ul{margin:0;padding-left:18px;}
  .tl-item li{margin-bottom:7px;font-size:15px;color:#3a4152;}
  .tl-note{
    margin-top:28px;padding:20px 24px;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--gold);
    font-size:14.5px;color:var(--muted);
  }
  .tl-note strong{color:var(--navy);}

  /* ---------- SKILLS ---------- */
  .skills{background:var(--paper);}
  .skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
  .skill-card{border:1px solid var(--line);padding:28px 26px;}
  .skill-card h3{font-family:'Inter';font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin:0 0 16px;font-weight:700;}
  .skill-card ul{margin:0;padding:0;list-style:none;}
  .skill-card li{
    font-size:14.5px;color:#333c4d;padding:8px 0;border-bottom:1px solid var(--line);
  }
  .skill-card li:last-child{border-bottom:none;}
  @media (max-width:820px){.skills-grid{grid-template-columns:1fr;}}

  /* ---------- EDUCATION ---------- */
  .education{background:var(--cream);}
  .edu-list{display:flex;flex-direction:column;gap:0;}
  .edu-item{
    display:grid;grid-template-columns:180px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);
  }
  .edu-item:last-child{border-bottom:none;}
  .edu-date{font-size:13px;color:var(--gold);font-weight:700;letter-spacing:.03em;}
  .edu-title{font-family:'Playfair Display',serif;font-size:18px;color:var(--navy);margin:0 0 4px;font-weight:600;}
  .edu-detail{font-size:14.5px;color:var(--muted);}
  @media (max-width:600px){.edu-item{grid-template-columns:1fr;gap:6px;}}

  /* ---------- PERSONAL ---------- */
  .personal{background:var(--navy);color:var(--paper);position:relative;overflow:hidden;}
  .personal::after{
    content:"";position:absolute;left:0;right:0;top:0;height:3px;
    background:linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 50%, var(--gold) 100%);
  }
  .personal .section-tag{color:var(--gold-light);}
  .personal .section-head h2{color:var(--paper);}
  .personal .section-head p{color:#b7c0d1;}
  .personal-grid{
  display:grid;
  grid-template-columns:1.45fr 0.85fr; /* rechte Box wieder schmaler */
  gap:40px;
  align-items:start;
}
  .p-card h3{
    font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-light);margin:0 0 16px;font-weight:700;
  }
  .p-card ul{list-style:none;margin:0;padding:0;}
  .p-card li{font-size:15px;color:#d6dce6;padding:6px 0;}
  .hobby-tags{display:flex;flex-wrap:wrap;gap:10px;}
  .hobby-tags span{
    border:1px solid rgba(212,181,124,.45);padding:7px 14px;border-radius:20px;font-size:13.5px;color:#e6e9ef;
  }
  @media (max-width:820px){.personal-grid{grid-template-columns:1fr;gap:32px;}}

  /* ---------- CONTACT / FOOTER ---------- */
  .contact{background:var(--paper);text-align:center;}
  .contact h2{font-size:clamp(26px,3.5vw,38px);color:var(--navy);margin:0 0 14px;}
  .contact p{
  color:var(--muted);
  max-width:980px;   /* statt 480px */
  margin:0 auto 32px;
}
.contact p .line{
  display:block;
  white-space:nowrap; /* jeder Satz in genau 1 Zeile */
}

/* mobil wieder flexibel umbrechen */
@media (max-width:980px){
  .contact p .line{
    white-space:normal;
  }
}
  .contact-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;}
  .contact-links a{
    display:flex;align-items:center;gap:8px;padding:13px 24px;border:1px solid var(--line);
    text-decoration:none;color:var(--navy);font-size:14px;font-weight:600;transition:all .2s;
  }
  .contact-links a:hover{border-color:var(--gold);color:var(--gold);}
  footer{
    background:var(--navy);color:#8b96a9;text-align:center;padding:26px 0;font-size:13px;
  }
  footer .gold{color:var(--gold-light);}

  ::selection{background:var(--gold);color:var(--navy);}

  /* ---------- CUSTOM ---------- */
  .experience .section-head{
    max-width: 980px;
  }
  .experience .section-head p .line{
    display:block;
    white-space:nowrap;
  }

  /* mobil wieder flexibel umbrechen */
  @media (max-width:980px){
    .experience .section-head p .line{
      white-space:normal;
    }
  }
  .pdf-download-btn{
  background:transparent;
  border:1px solid rgba(212,181,124,.5);
  color:#cfd6e2;
  font-size:12px;
  font-weight:600;
  padding:6px 14px;
  border-radius:20px;
  letter-spacing:.05em;
  cursor:pointer;
  transition:all .2s;
}
.pdf-download-btn:hover{
  border-color:var(--gold-light);
  color:var(--gold-light);
}

/* Drucklayout für strukturierten PDF-Export */
@page{
  size: A4;
  margin: 14mm 12mm;
}

@media print{
  /* globale Druckbasis */
  html, body{
    background:#fff !important;
    color:#111 !important;
    font-size:10.5pt;
    line-height:1.35;
  }

  *{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
    box-shadow:none !important;
    text-shadow:none !important;
  }

  .container{
    max-width:none !important;
    padding:0 !important;
  }

  /* Nicht relevante UI ausblenden */
  header.site-nav,
  .nav-toggle-btn,
  .lang-toggle,
  .pdf-download-btn,
  .hero-cta{
    display:none !important;
  }

  /* Seitenstruktur */
  section{
    padding:9mm 0 !important;
  }

  .section-head{
    margin-bottom:5mm !important;
    max-width:none !important;
  }

  .section-head h2{
    font-size:19pt !important;
    margin:0 0 3mm !important;
    color:#0f1e34 !important;
  }

  .section-head p{
    font-size:10.5pt !important;
    color:#333 !important;
  }

  /* kontrollierte Umbrüche */
  h1, h2, h3{ break-after:avoid; page-break-after:avoid; }
  section, .tl-item, .skill-card, .edu-item, .p-card{
    break-inside:avoid;
    page-break-inside:avoid;
  }

  /* HERO als cleanes PDF-Intro */
  .hero{
    background:#fff !important;
    color:#111 !important;
    padding:0 0 8mm !important;
    border-bottom:1px solid #d9d9d9;
  }

  .hero::before{ display:none !important; }

  .hero-inner{
    display:grid !important;
    grid-template-columns:1.45fr .55fr !important;
    gap:8mm !important;
    align-items:start !important;
  }

  .hero-photo{
    display:block !important;
    justify-self:end !important;
    margin:0 !important;
  }

  .hero-photo .frame{
    width:36mm !important;
    height:46mm !important;
    padding:1.5mm !important;
    border:1px solid #c8a66d !important;
  }

  .hero-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
  }

  .hero h1{
    font-size:28pt !important;
    margin:0 0 3mm !important;
    color:#0f1e34 !important;
  }

  .hero .role{
    color:#7d5a24 !important;
    font-size:12.5pt !important;
    margin-bottom:4mm !important;
  }

  .hero .lead{
    color:#222 !important;
    max-width:none !important;
    margin:0 !important;
    font-size:10.8pt !important;
  }

  /* KPI kompakter */
  .stats{
    background:#fff !important;
    border-bottom:1px solid #d9d9d9 !important;
  }

  .stats-grid{
    grid-template-columns:repeat(4, 1fr) !important; /* statt 5 */
    gap:0 !important;
    padding:5mm 0 !important;
  }

  .stat{
    border-right:1px solid #e2e2e2 !important;
    padding:0 2mm !important;
  }

  .stat:last-child{ border-right:none !important; }

  .stat .num{
    font-size:16pt !important;
    line-height:1.15 !important;
  }

  .stat .label{
    font-size:8.8pt !important;
    margin-top:1.5mm !important;
    color:#555 !important;
  }

  /* Dark Section auf Print hell darstellen */
  .personal{
    background:#fff !important;
    color:#111 !important;
  }

  .personal::after{ display:none !important; }

  .personal .section-tag,
  .p-card h3{
    color:#7d5a24 !important;
  }

  .personal .section-head h2,
  .personal .section-head p,
  .p-card li{
    color:#111 !important;
  }

  .hobby-tags span{
    border:1px solid #c7c7c7 !important;
    color:#111 !important;
    background:#fff !important;
  }

  /* Grid-Anpassungen für A4 */
  .skills-grid{
    grid-template-columns:repeat(2, 1fr) !important;
    gap:4mm !important;
  }

  .personal-grid{
    grid-template-columns:1.5fr 1fr !important;
    gap:8mm !important;
  }

  /* Kontaktbereich sachlich */
  .contact{
    text-align:left !important;
    background:#fff !important;
    border-top:1px solid #d9d9d9;
  }

  .contact p{
    margin:0 0 4mm !important;
    max-width:none !important;
  }

  .contact p .line{
    white-space:normal !important; /* kein Abschneiden im PDF */
  }

  .contact-links{
    justify-content:flex-start !important;
    gap:4mm !important;
  }

  .contact-links a{
    border:1px solid #d9d9d9 !important;
    padding:2.5mm 4mm !important;
    color:#111 !important;
  }

  footer{
    background:#fff !important;
    color:#666 !important;
    border-top:1px solid #e5e5e5;
    padding:4mm 0 0 !important;
    font-size:8.8pt !important;
  }

  /* Optional: Werdegang auf neue Seite */
  #werdegang{
    break-before:page;
    page-break-before:always;
  }
}
.p-card:last-child .hobby-tags{
  max-width:300px;
}

.personal .section-head{
  max-width:980px;
}
.personal .section-head p{
  white-space:nowrap;
}
@media (max-width:980px){
  .personal .section-head p{
    white-space:normal;
  }
}

.about .section-head{
  max-width:980px;
}
.about .section-head h2{
  white-space:nowrap;
}
@media (max-width:980px){
  .about .section-head h2{
    white-space:normal;
  }
}

/* i18n multiline helper */
.i18n-lines .line{
  display:block;
}

/* Timeline-Bullets Desktop einzeilig */
.timeline .tl-item li{
  white-space:nowrap;
}
@media (max-width:1200px){
  .timeline .tl-item li{
    white-space:normal;
  }
}

/* Print ebenfalls 4 KPI */
@media print{
  .stats-grid{
    grid-template-columns:repeat(4, 1fr) !important;
  }
}

.amp-fix{
  font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight:inherit;
  font-style:normal;
  letter-spacing:0;
}