/* DS 2.0 – nutzt Variablen aus style-ds.css */
/* ============================================================
   Mr.PetzAI · Executive Academy + Campus — Aufbauschicht
   Baut auf style.css auf (neues CD: Navy/Cyan/Petrol · Sora/Inter).
   Nutzt dessen :root-Variablen (--dk #082B46, --tl #087d8f, --tl2 #18b7c9).
   ============================================================ */
:root{ --amber:#087d8f; --amber-tint:#e7f7f9; --cy-tint:#e7f7f9; --navy-soft:#0b4a63; }

/* Executive accent (Sora bold, Cyan zweite Zeile – wie im Workbook) */
.ea-serif{ font-family:'Manrope',system-ui,sans-serif!important; font-weight:800; letter-spacing:-.015em; }
.ea-accent{ color:var(--tl2); font-weight:800; }
.section.cream{ background:var(--cr); }
.section.deep{ background:linear-gradient(160deg,#082B46 0%,#0b4a63 58%,#087d8f 130%); }
.section.deep h2,.section.deep h3,.section.deep h4{ color:#fff; }
.section.deep p:not(.eyebrow){ color:rgba(255,255,255,.76); }
.eyebrow.gold{ color:var(--tl2); } .eyebrow.gold::before{ background:var(--tl2); }
.lead-xl{ font-size:1.18rem; line-height:1.6; color:#2F3A45; max-width:780px; }
.center-head{ max-width:820px; margin:0 0 2.6rem; text-align:left; }
.center-head p.eyebrow{ justify-content:flex-start; }

/* ---------- Executive Hero ---------- */
.ea-hero{ position:relative; background:linear-gradient(120deg,#061F33 0%,#082B46 52%,#087d8f 125%);
  min-height:86svh; padding-top:var(--nav); display:flex; align-items:center; overflow:hidden; }
.ea-hero::after{ content:""; position:absolute; right:-10%; top:-20%; width:55%; height:140%;
  background:radial-gradient(circle at 60% 40%,rgba(24,183,201,.24),transparent 60%); }
.ea-hero .container{ position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr;
  gap:2.5rem; align-items:center; padding:4.5rem 0; }
.ea-hero .badge-row{ display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:1.4rem; }
.ea-pill{ display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .85rem; border-radius:999px;
  border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.06); color:#cfe9f1;
  font-size:.76rem; font-weight:700; letter-spacing:.02em; }
.ea-hero h1{ color:#fff; font-family:'Manrope',sans-serif; font-weight:800; font-size:3.7rem; line-height:1.08; }
.ea-hero .sub{ font-size:1.4rem; color:#fff; font-weight:650; margin:1rem 0 .4rem; }
.ea-hero .lead{ color:rgba(255,255,255,.82); font-size:1.06rem; max-width:560px; }
.ea-hero .hero-actions{ margin-top:1.8rem; }
.ea-portrait{ position:relative; }
.ea-portrait img{ width:100%; border-radius:14px; box-shadow:0 30px 70px rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.12); }
.ea-portrait .pcap{ position:absolute; left:1rem; bottom:1rem; padding:.7rem 1rem; border-radius:10px;
  background:rgba(7,26,48,.86); backdrop-filter:blur(4px); }
.ea-portrait .pcap b{ display:block; color:#fff; font-size:.98rem; }
.ea-portrait .pcap span{ color:var(--tl2); font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }

/* ---------- Learning Model ---------- */
.lm-flow{ display:grid; gap:0; max-width:760px; margin:0; }
.lm-node{ position:relative; background:#fff; border:1px solid var(--bd); border-left:5px solid var(--tl2);
  border-radius:var(--r); padding:1.15rem 1.4rem; box-shadow:0 8px 26px rgba(8,43,70,.06); }
.lm-node .n{ font-family:'Manrope',sans-serif; font-weight:800; color:var(--tl2); font-size:1.05rem; margin-right:.5rem; }
.lm-node h4{ display:inline; font-size:1.12rem; color:var(--dk); font-family:'Manrope',sans-serif; }
.lm-node p{ margin:.35rem 0 0; font-size:.92rem; }
.lm-arrow{ height:34px; display:flex; align-items:center; justify-content:center; color:var(--tl2); }
.lm-arrow svg{ width:22px; height:22px; }
.lm-node.accentlast{ border-left-color:var(--tl2); }
.lm-node.accentlast .n{ color:var(--tl2); }

/* ---------- Schools ---------- */
.schools-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }
.school-tile{ position:relative; background:#fff; border:1px solid var(--bd); border-radius:var(--r);
  padding:1.5rem 1.4rem; box-shadow:0 8px 26px rgba(8,43,70,.05); transition:.2s ease; min-height:200px;
  display:flex; flex-direction:column; }
.school-tile:hover{ transform:translateY(-4px); border-color:rgba(24,183,201,.55); box-shadow:var(--shadow); }
.school-ico{ width:48px; height:48px; border-radius:12px; background:var(--cy-tint); display:grid; place-items:center;
  margin-bottom:1rem; color:var(--tl); }
.school-ico svg{ width:26px; height:26px; }
.school-tile h3{ font-size:1.12rem; color:var(--dk); }
.school-tile p{ font-size:.9rem; margin:.4rem 0 0; }
.school-tile .status{ margin-top:auto; padding-top:1rem; }
.badge{ display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .7rem; border-radius:999px;
  font-size:.7rem; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.badge.live{ background:var(--cy-tint); color:var(--tl); }
.badge.soon{ background:var(--cy-tint); color:var(--tl); }
.badge.soon::before,.badge.live::before{ content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.school-tile.is-soon{ background:linear-gradient(180deg,#fff,#F7F9FB); }

/* ---------- Seminar cards ---------- */
.seminar-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.seminar-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--bd);
  border-radius:var(--r); overflow:hidden; box-shadow:0 8px 26px rgba(8,43,70,.06); transition:.2s ease; }
.seminar-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); border-color:rgba(24,183,201,.45); }
.seminar-top{ position:relative; aspect-ratio:16/10; background:linear-gradient(135deg,#082B46,#087d8f);
  display:flex; align-items:flex-end; padding:1rem 1.2rem; overflow:hidden; }
.seminar-top::before{ content:""; position:absolute; right:-30px; top:-30px; width:160px; height:160px;
  background:radial-gradient(circle,rgba(24,183,201,.45),transparent 70%); }
.seminar-num{ font-family:'Manrope',sans-serif; font-weight:800; color:rgba(255,255,255,.95); font-size:2.6rem; line-height:1;
  position:relative; }
.seminar-num small{ display:block; font-family:'Inter',sans-serif; font-size:.66rem; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--tl2); margin-bottom:.2rem; }
.seminar-body{ padding:1.3rem; display:flex; flex-direction:column; flex:1; }
.seminar-body h3{ font-size:1.12rem; color:var(--dk); }
.seminar-body .topic{ color:var(--tl); font-weight:800; font-size:.82rem; text-transform:uppercase;
  letter-spacing:.02em; margin:.15rem 0 .6rem; }
.seminar-body p{ font-size:.9rem; }
.seminar-body .card-link{ margin-top:auto; }

/* ---------- Learn process ---------- */
.learn-flow{ display:grid; grid-template-columns:repeat(6,1fr); gap:.7rem; }
.learn-step{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:var(--r);
  padding:1.2rem .9rem; text-align:center; position:relative; }
.learn-step .li{ width:46px; height:46px; margin:0 auto .7rem; border-radius:12px; background:rgba(24,183,201,.18);
  display:grid; place-items:center; color:var(--tl2); }
.learn-step .li svg{ width:24px; height:24px; }
.learn-step b{ display:block; color:#fff; font-size:.92rem; }
.learn-step span{ display:block; color:rgba(255,255,255,.6); font-size:.74rem; margin-top:.25rem; }
.learn-step .sn{ position:absolute; top:.5rem; right:.6rem; font-size:.7rem; font-weight:900; color:rgba(255,255,255,.32); }

/* ---------- Brochure ---------- */
.broch-box{ display:grid; grid-template-columns:300px 1fr; gap:2.4rem; align-items:center;
  background:#fff; border:1px solid var(--bd); border-radius:14px; padding:2rem; box-shadow:var(--shadow); }
.broch-box .cover{ position:relative; }
.broch-box .cover img{ width:100%; border-radius:10px; box-shadow:0 22px 50px rgba(8,43,70,.25);
  border:1px solid var(--bd); }
.broch-box .cover .tag{ position:absolute; top:-12px; left:-12px; background:var(--tl2); color:#061F33;
  font-size:.72rem; font-weight:900; padding:.35rem .75rem; border-radius:999px; box-shadow:var(--shadow); }
.broch-box p{ font-size:1rem; }
.broch-feat{ display:flex; gap:1.4rem; flex-wrap:wrap; margin:1rem 0 1.3rem; }
.broch-feat span{ font-size:.84rem; color:var(--dk); font-weight:700; display:inline-flex; gap:.4rem; align-items:center; }
.broch-feat span::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--tl2); }

/* ---------- Roadmap ---------- */
.roadmap{ display:grid; grid-template-columns:repeat(5,1fr); gap:.8rem; }
.rm-item{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:var(--r);
  padding:1.2rem 1rem; }
.rm-item .ico{ color:var(--tl2); margin-bottom:.6rem; } .rm-item .ico svg{ width:26px; height:26px; }
.rm-item b{ display:block; color:#fff; font-size:.96rem; margin-bottom:.3rem; }
.rm-item span{ color:rgba(255,255,255,.6); font-size:.78rem; }
.prep-badge{ display:inline-flex; align-items:center; gap:.45rem; padding:.4rem .85rem; border-radius:999px;
  background:rgba(24,183,201,.16); color:#18b7c9; font-size:.74rem; font-weight:850;
  border:1px solid rgba(24,183,201,.4); }
.prep-badge::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--tl2); }

/* ---------- Campus login ---------- */
.campus-wrap{ min-height:100svh; display:flex; flex-direction:column; }
.campus-hero{ position:relative; background:linear-gradient(120deg,#061F33,#082B46 55%,#087d8f 130%);
  padding-top:var(--nav); flex:1; display:flex; align-items:center; overflow:hidden; }
.campus-hero::after{ content:""; position:absolute; left:-8%; bottom:-30%; width:50%; height:130%;
  background:radial-gradient(circle,rgba(24,183,201,.18),transparent 60%); }
.campus-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 440px; gap:3rem;
  align-items:center; padding:4rem 0; }
.campus-welcome .eyebrow{ color:var(--tl2); } .campus-welcome .eyebrow::before{ background:var(--tl2); }
.campus-welcome h1{ color:#fff; font-family:'Manrope',sans-serif; font-weight:800; font-size:3rem; line-height:1.1; }
.campus-welcome p{ color:rgba(255,255,255,.82); max-width:520px; font-size:1.05rem; }
.build-note{ display:inline-flex; align-items:center; gap:.5rem; margin-top:1.4rem; padding:.6rem 1rem;
  border-radius:10px; background:rgba(24,183,201,.14); border:1px solid rgba(24,183,201,.4);
  color:#cfe9f1; font-size:.86rem; font-weight:600; }
.login-card{ background:#fff; border:1px solid var(--bd); border-radius:14px; padding:2rem;
  box-shadow:0 30px 70px rgba(0,0,0,.4); }
.login-card h2{ font-size:1.5rem; }
.login-card .sub{ font-size:.9rem; margin-bottom:1.3rem; }
.login-card .field{ margin-bottom:1rem; }
.login-row{ display:flex; justify-content:space-between; align-items:center; margin:.2rem 0 1.2rem; font-size:.84rem; }
.login-row a{ color:var(--tl); font-weight:700; }
.login-foot{ margin-top:1.2rem; padding-top:1.2rem; border-top:1px solid var(--bd); font-size:.88rem; text-align:center; }
.login-foot a{ color:var(--tl); font-weight:800; }
.role-hint{ margin-top:1rem; font-size:.78rem; color:var(--muted); text-align:center; }

/* ---------- Campus dashboard ---------- */
.dash-body{ background:var(--cr); }
.dash-shell{ display:grid; grid-template-columns:264px 1fr; min-height:calc(100svh - var(--nav)); margin-top:var(--nav); }
.dash-side{ background:var(--dk); padding:1.4rem 1rem; position:sticky; top:var(--nav); align-self:start;
  height:calc(100svh - var(--nav)); overflow:auto; }
.dash-user{ display:flex; align-items:center; gap:.7rem; padding:.6rem; margin-bottom:1rem; border-radius:10px;
  background:rgba(255,255,255,.05); }
.dash-user .ava{ width:42px; height:42px; border-radius:50%; background:var(--tl2); color:#061F33;
  display:grid; place-items:center; font-weight:900; }
.dash-user b{ color:#fff; font-size:.9rem; display:block; } .dash-user span{ color:var(--tl2); font-size:.72rem; font-weight:800; }
.dash-nav{ display:grid; gap:.15rem; }
.dash-nav a{ display:flex; align-items:center; gap:.7rem; padding:.6rem .7rem; border-radius:8px;
  color:rgba(255,255,255,.74); font-size:.88rem; font-weight:600; }
.dash-nav a svg{ width:18px; height:18px; opacity:.85; }
.dash-nav a:hover{ background:rgba(255,255,255,.07); color:#fff; }
.dash-nav a.active{ background:var(--tl); color:#fff; }
.dash-main{ padding:2rem; }
.dash-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; flex-wrap:wrap; margin-bottom:1.6rem; }
.dash-head h1{ font-size:2rem; }
.dash-head p{ margin:.3rem 0 0; }
.dash-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.1rem; }
.dash-card{ background:#fff; border:1px solid var(--bd); border-radius:var(--r); padding:1.3rem;
  box-shadow:0 8px 26px rgba(8,43,70,.05); display:flex; flex-direction:column; min-height:170px; }
.dash-card .ch{ display:flex; align-items:center; gap:.6rem; margin-bottom:.7rem; }
.dash-card .ci{ width:38px; height:38px; border-radius:10px; background:var(--cy-tint); display:grid; place-items:center; color:var(--tl); }
.dash-card .ci svg{ width:20px; height:20px; }
.dash-card h3{ font-size:1.02rem; color:var(--dk); }
.dash-card p{ font-size:.86rem; margin:0 0 .8rem; }
.dash-card .card-link{ margin-top:auto; }
.dash-card .ph{ margin-top:auto; font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--tl); }
.progress{ height:9px; border-radius:999px; background:var(--bd); overflow:hidden; margin:.3rem 0 .5rem; }
.progress i{ display:block; height:100%; background:linear-gradient(90deg,var(--tl),var(--tl2)); }
.kpi-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--bd); border:1px solid var(--bd);
  border-radius:var(--r); overflow:hidden; margin-bottom:1.6rem; }
.kpi{ background:#fff; padding:1.2rem; text-align:center; } .kpi strong{ display:block; color:var(--tl); font-size:1.9rem; line-height:1; }
.kpi span{ display:block; color:var(--muted); font-size:.76rem; font-weight:700; margin-top:.35rem; }

@media(max-width:1180px){ .ea-hero .container{ grid-template-columns:1fr; }
  .ea-portrait{ max-width:420px; } .schools-grid,.seminar-grid{ grid-template-columns:repeat(2,1fr); }
  .learn-flow{ grid-template-columns:repeat(3,1fr); } .roadmap{ grid-template-columns:repeat(3,1fr); }
  .campus-grid{ grid-template-columns:1fr; } .dash-shell{ grid-template-columns:1fr; }
  .dash-side{ position:static; height:auto; } }
@media(max-width:720px){ .ea-hero h1{ font-size:2.5rem; } .schools-grid,.seminar-grid,.broch-box,.learn-flow,.roadmap{ grid-template-columns:1fr; }
  .broch-box{ text-align:center; } .kpi-row{ grid-template-columns:repeat(2,1fr); } }
/* Linksbündigkeit der Academy-Abschnitte */
.center-head{text-align:left;margin-left:0}
.center-head p.eyebrow{justify-content:flex-start}
.center-head .section-lead{margin-left:0!important;margin-right:0}
/* Linksausrichtung: Lernweg-Schritte + Reste */
.learn-step{text-align:left}
.learn-step .li{margin:0 0 .7rem 0}
.learn-step .sn{left:auto;right:.6rem}
.lm-node h4,.school-tile h3,.seminar-body h3,.dash-card h3{text-align:left}
/* Lernmodell: 2 Spalten · einheitliche Markenfarbe · breitere Intro */
.lm-flow{grid-template-columns:1fr 1fr;gap:14px;max-width:none;margin:0}
.lm-arrow{display:none}
.lm-flow .lm-node{border-left-color:var(--tl2)}
.lm-flow .lm-node .n{color:var(--tl2)}
.lm-flow .lm-node:last-child{grid-column:1 / -1}
.center-head{max-width:1100px}
.center-head .section-lead{max-width:none}
@media(max-width:760px){.lm-flow{grid-template-columns:1fr}.lm-flow .lm-node:last-child{grid-column:auto}}
/* Lernmodell robust 2-spaltig via Flexbox */
.lm-flow{display:flex;flex-wrap:wrap;gap:14px}
.lm-flow .lm-node{flex:1 1 45%;min-width:0}
.lm-flow .lm-node:last-child{flex:1 1 100%}
@media(max-width:760px){.lm-flow .lm-node{flex:1 1 100%}}
