/* ===== Tokens ===== */
:root{
  --bg:#121A20;
  --panel:#1A242B;
  --panel-2:#202C34;
  --line:#2E3B43;
  --copper:#D98E34;
  --copper-soft:#E9B063;
  --steel:#6C9CA0;
  --ink:#F2EEE4;
  --ink-muted:#93A3AA;
  --serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;}
img{max-width:100%;display:block;}

.wrap{
  max-width:1120px;
  margin:0 auto;
  padding:0 32px;
}

/* faint blueprint grid, used behind hero only */
.grid-tex{
  background-image:
    linear-gradient(rgba(108,156,160,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(108,156,160,0.08) 1px, transparent 1px);
  background-size:44px 44px;
}

/* ===== Nav ===== */
.nav{
  border-bottom:1px solid var(--line);
  position:sticky; top:0;
  background:rgba(18,26,32,0.92);
  backdrop-filter:blur(6px);
  z-index:50;
}
.nav .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:20px; padding-bottom:20px;
}
.nav-name{
  font-family:var(--serif);
  font-size:19px;
  letter-spacing:0.01em;
  text-decoration:none;
}
.nav-links{
  display:flex; gap:36px; list-style:none; margin:0; padding:0;
}
.nav-links a{
  text-decoration:none;
  color:var(--ink-muted);
  font-size:15px;
  padding-bottom:4px;
  border-bottom:1px solid transparent;
  transition:color .15s ease, border-color .15s ease;
}
.nav-links a:hover{ color:var(--ink); }
.nav-links a.active{
  color:var(--copper-soft);
  border-bottom-color:var(--copper);
}
.nav-toggle{display:none;}

@media (max-width:640px){
  .nav-links{ gap:22px; }
  .nav-links a{ font-size:14px; }
  .wrap{ padding:0 20px; }
}

/* ===== Hero ===== */
.hero{
  padding:88px 0 64px;
  border-bottom:1px solid var(--line);
}
.hero .wrap{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:56px;
  align-items:end;
}
.eyebrow-role{
  color:var(--steel);
  font-size:15px;
  margin:0 0 18px;
}
.hero h1{
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(40px, 6vw, 64px);
  line-height:1.05;
  margin:0 0 22px;
  letter-spacing:-0.01em;
}
.hero-lede{
  color:var(--ink-muted);
  font-size:18px;
  max-width:46ch;
  margin:0;
}
.status-panel{
  border:1px solid var(--line);
  background:var(--panel);
  padding:22px 24px;
}
.status-row{
  display:flex; justify-content:space-between; gap:16px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
  font-size:14.5px;
}
.status-row:last-child{ border-bottom:none; }
.status-row span:first-child{ color:var(--ink-muted); }
.status-row span:last-child{ text-align:right; color:var(--ink); }

@media (max-width:820px){
  .hero .wrap{ grid-template-columns:1fr; }
  .hero{ padding:56px 0 44px; }
}

/* ===== Section shell ===== */
section.block{
  padding:76px 0;
  border-bottom:1px solid var(--line);
}
.block-head{
  display:flex; justify-content:space-between; align-items:baseline; gap:24px;
  margin-bottom:44px;
  flex-wrap:wrap;
}
.block-head h2{
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(28px,3.4vw,38px);
  margin:0;
}
.block-head p{
  color:var(--ink-muted);
  max-width:38ch;
  margin:0;
  font-size:15.5px;
}

/* ===== Kernaufgaben split ===== */
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid var(--line);
}
.split-col{
  padding:36px 38px;
}
.split-col + .split-col{
  border-left:1px solid var(--line);
}
.split-col h3{
  font-family:var(--serif);
  font-size:21px;
  font-weight:600;
  margin:0 0 6px;
}
.split-tag{
  color:var(--steel);
  font-size:13.5px;
  display:block;
  margin-bottom:20px;
}
.split-col ul{
  margin:0; padding:0; list-style:none;
}
.split-col li{
  padding:12px 0;
  border-top:1px solid var(--line);
  font-size:15px;
  color:var(--ink);
  padding-left:18px;
  position:relative;
}
.split-col li:first-child{ border-top:none; padding-top:0; }
.split-col li::before{
  content:'';
  position:absolute; left:0; top:19px;
  width:6px; height:1px;
  background:var(--copper);
}

@media (max-width:760px){
  .split{ grid-template-columns:1fr; }
  .split-col + .split-col{ border-left:none; border-top:1px solid var(--line); }
}

/* ===== Zusatzaufgaben rows ===== */
.intro-line{
  color:var(--ink-muted);
  font-size:16.5px;
  max-width:62ch;
  margin:-16px 0 44px;
}
.project{
  display:grid;
  grid-template-columns:42% 1fr;
  gap:48px;
  align-items:center;
  padding:40px 0;
  border-top:1px solid var(--line);
}
.project:first-of-type{ border-top:none; }
.project.reverse .project-media{ order:2; }
.project.reverse .project-text{ order:1; }
.project-media img{
  width:100%; height:280px; object-fit:cover;
  filter:grayscale(0.15) saturate(1.02);
}
.project-media.video-link{ position:relative; cursor:pointer; }
.project-media.video-link .play{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
}
.project-media.video-link .play span{
  width:60px; height:60px;
  border-radius:50%;
  background:rgba(18,26,32,0.72);
  border:1px solid rgba(242,238,228,0.5);
  display:flex; align-items:center; justify-content:center;
}
.project-media.video-link .play svg{ margin-left:3px; }
.project-media.noimg{
  height:280px;
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  background:var(--panel);
}
.project-index{
  color:var(--steel);
  font-size:13.5px;
  display:block;
  margin-bottom:10px;
}
.project-text h3{
  font-family:var(--serif);
  font-size:24px;
  font-weight:600;
  margin:0 0 12px;
}
.project-text p{
  color:var(--ink-muted);
  font-size:15.5px;
  margin:0;
  max-width:46ch;
}
.project-text .video-note{
  display:inline-block;
  margin-top:14px;
  font-size:13.5px;
  color:var(--copper-soft);
}

@media (max-width:760px){
  .project, .project.reverse{ grid-template-columns:1fr; }
  .project.reverse .project-media{ order:1; }
  .project.reverse .project-text{ order:2; }
  .project-media img, .project-media.noimg{ height:220px; }
}

/* ===== Link cards to subpages ===== */
.linkgrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.linkcard{
  background:var(--bg);
  padding:38px 40px;
  text-decoration:none;
  display:block;
  transition:background .15s ease;
}
.linkcard:hover{ background:var(--panel); }
.linkcard .lc-label{
  color:var(--steel);
  font-size:13.5px;
  display:block;
  margin-bottom:14px;
}
.linkcard h3{
  font-family:var(--serif);
  font-size:24px;
  margin:0 0 10px;
  color:var(--ink);
}
.linkcard p{
  color:var(--ink-muted);
  font-size:15px;
  margin:0 0 18px;
}
.linkcard .go{
  color:var(--copper-soft);
  font-size:14px;
}

@media (max-width:640px){
  .linkgrid{ grid-template-columns:1fr; }
}

/* ===== Herausforderungen-Liste ===== */
.chal-list{
  border:1px solid var(--line);
}
.chal-item{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:32px;
  padding:30px 34px;
  border-top:1px solid var(--line);
}
.chal-item:first-child{ border-top:none; }
.chal-item h3{
  font-family:var(--serif);
  font-size:20px;
  font-weight:600;
  margin:0;
  color:var(--ink);
}
.chal-item h3 span{
  display:block;
  color:var(--steel);
  font-family:var(--sans);
  font-size:13px;
  font-weight:500;
  margin-top:6px;
}
.chal-item p{
  margin:0;
  color:var(--ink-muted);
  font-size:15.5px;
  max-width:60ch;
}
@media (max-width:700px){
  .chal-item{ grid-template-columns:1fr; gap:8px; }
}

.group-label{
  font-family:var(--serif);
  font-size:17px;
  font-weight:600;
  color:var(--copper-soft);
  margin:44px 0 14px;
}
.group-label:first-of-type{ margin-top:0; }

/* ===== Placeholder page (Erfolge / Herausforderungen) ===== */
.placeholder{
  border:1px dashed var(--line);
  padding:48px 40px;
  color:var(--ink-muted);
  font-size:15.5px;
}
.placeholder strong{ color:var(--ink); }
.outline-list{
  margin:22px 0 0;
  padding:0 0 0 20px;
}
.outline-list li{ margin-bottom:8px; }

/* ===== Footer ===== */
footer{
  padding:40px 0;
}
footer .wrap{
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:12px;
}
.footer-name{
  font-family:var(--serif);
  font-size:16px;
}
.footer-meta{
  color:var(--ink-muted);
  font-size:13.5px;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; }
}
