:root { --navy:#0b2239; --navy-deep:#071a2e; --navy-soft:#173b59; --blue:#2277ba; --green:#78c98d; --gold:#c9a227; --gold-light:#e6c557; --purple:#8d5ac0; --ink:#15293d; --mid:#51677c; --paper:#f4f7f8; --line:#dce4e9; --white:#fff; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.7; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; letter-spacing:-.025em; line-height:1.08; }

.site-header { height:92px; padding:0 clamp(22px,5vw,72px); display:flex; align-items:center; gap:40px; background:rgba(7,26,46,.97); color:white; position:sticky; top:0; z-index:50; border-bottom:1px solid rgba(230,197,87,.34); backdrop-filter:blur(16px); }
.brand { width:220px; background:white; padding:7px 12px; border-radius:5px; }
.brand img { width:100%; }
nav { display:flex; gap:34px; margin-left:auto; font-size:.92rem; color:#cedae5; }
nav a:hover { color:var(--gold-light); }
.header-cta { background:var(--gold); color:var(--navy-deep); padding:11px 20px; border-radius:5px; font-weight:750; font-size:.9rem; }

.hero { min-height:790px; padding:90px clamp(26px,8vw,130px) 80px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(330px,.78fr); gap:clamp(50px,8vw,130px); align-items:center; color:white; background:radial-gradient(circle at 72% 27%,#244b6c 0,var(--navy) 37%,var(--navy-deep) 78%); overflow:hidden; position:relative; }
.hero-glow { width:430px; height:430px; position:absolute; right:10%; top:22%; border:1px solid rgba(120,201,141,.25); border-radius:50%; box-shadow:0 0 0 80px rgba(34,119,186,.05),0 0 0 160px rgba(34,119,186,.035); }
.hero-copy,.cover-stage { position:relative; z-index:2; }
.eyebrow { color:#2778b6; text-transform:uppercase; letter-spacing:.23em; font-size:.71rem; font-weight:800; margin-bottom:18px; }
.eyebrow.light { color:var(--gold-light); }
.hero h1 { font-size:clamp(3.3rem,6.4vw,6.6rem); margin-bottom:28px; }
.hero h1 em { font-weight:400; color:var(--green); }
.hero-lead { max-width:680px; color:#c8d7e4; font-size:clamp(1.06rem,1.5vw,1.28rem); }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin:34px 0; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:20px; min-height:52px; padding:13px 24px; border:1px solid transparent; border-radius:5px; font-weight:750; transition:.2s ease; }
.button:hover { transform:translateY(-2px); }
.button.gold { color:var(--navy-deep); background:var(--gold); }
.button.gold:hover { background:var(--gold-light); }
.button.ghost { color:white; border-color:rgba(255,255,255,.35); }
.button.ghost:hover { border-color:var(--gold-light); color:var(--gold-light); }
.book-facts { margin-top:62px; padding-top:30px; border-top:1px solid rgba(255,255,255,.14); display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.book-facts strong { display:block; color:var(--gold-light); font-family:Georgia,serif; font-size:2rem; line-height:1; }
.book-facts span { display:block; color:#91a8bc; text-transform:uppercase; letter-spacing:.12em; font-size:.65rem; margin-top:8px; }
.cover-stage { justify-self:center; width:min(440px,100%); perspective:1200px; }
.book-cover { width:100%; border-radius:2px 7px 7px 2px; transform:rotateY(-7deg) rotateZ(1deg); box-shadow:28px 35px 70px rgba(0,0,0,.42),-8px 0 0 #dce2e5; position:relative; z-index:2; }
.cover-note { position:absolute; right:-40px; bottom:28px; z-index:3; background:var(--green); color:var(--navy-deep); padding:9px 14px; font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.cover-shadow { position:absolute; z-index:1; left:12%; right:-8%; bottom:-35px; height:60px; border-radius:50%; background:rgba(0,0,0,.43); filter:blur(25px); }

.section { padding:110px clamp(26px,8vw,130px); }
.section-intro { max-width:1180px; }
.section-intro.compact { max-width:760px; }
.section-intro h2,.masterclass-heading h2 { font-size:clamp(2.35rem,4.4vw,4.25rem); color:var(--navy); }
.section-intro>p:last-child,.masterclass-heading>p:last-child { color:var(--mid); font-size:1.08rem; max-width:680px; }

.promise { background:white; }
.promise-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(50px,8vw,120px); margin-top:66px; align-items:center; }
blockquote { margin:0; padding:12px 0 12px 35px; border-left:5px solid var(--green); color:var(--navy); font-family:Georgia,serif; font-size:clamp(1.55rem,2.5vw,2.45rem); line-height:1.38; }
blockquote cite { display:block; margin-top:22px; color:var(--mid); font-family:Inter,sans-serif; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-style:normal; }
.promise-points { display:grid; gap:20px; }
.promise-points p { display:flex; gap:16px; margin:0; color:var(--mid); }
.promise-points strong { color:var(--navy); }
.check { flex:0 0 auto; display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#dff3e3; color:#18733b; font-size:.82rem; font-weight:900; }

.contents { background:#edf2f5; }
.module-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:64px; }
.module-card { min-height:360px; display:flex; flex-direction:column; background:white; padding:34px; border:1px solid var(--line); border-top:6px solid var(--blue); box-shadow:0 18px 50px rgba(11,34,57,.06); }
.module-card.module-two { border-top-color:var(--purple); }
.module-card.module-three { border-top-color:var(--gold); }
.module-top { display:flex; justify-content:space-between; align-items:flex-start; }
.module-top span { font-family:Georgia,serif; font-size:3rem; color:var(--blue); line-height:1; }
.module-two .module-top span { color:var(--purple); }
.module-three .module-top span { color:#a8841e; }
.module-top small { text-transform:uppercase; font-weight:850; letter-spacing:.13em; font-size:.66rem; color:var(--mid); }
.module-card h3 { margin:34px 0 16px; color:var(--navy); font-size:1.45rem; line-height:1.27; }
.module-card p { color:var(--mid); font-size:.95rem; }
.module-card footer { margin-top:auto; padding-top:22px; border-top:1px solid var(--line); color:var(--navy); font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.legal-band { margin-top:22px; background:var(--navy); color:white; padding:24px 30px; display:flex; gap:24px; align-items:center; }
.legal-band>span { color:var(--gold-light); font:400 3.2rem/1 Georgia,serif; }
.legal-band strong { font-family:Georgia,serif; font-size:1.25rem; }
.legal-band p { margin:4px 0 0; color:#c8d7e4; font-size:.9rem; }

.excerpts { background:white; }
.excerpt-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:65px; }
.excerpt>a { display:block; background:#e9eef1; padding:18px 18px 0; margin-bottom:28px; box-shadow:0 18px 42px rgba(11,34,57,.1); transition:.25s ease; }
.excerpt>a:hover { transform:translateY(-5px); box-shadow:0 25px 58px rgba(11,34,57,.16); }
.excerpt>a span { display:block; color:var(--navy); padding:11px 0; text-align:right; font-size:.72rem; font-weight:750; }
.excerpt h3 { color:var(--navy); font:700 1.3rem/1.3 Georgia,serif; }
.excerpt>p:last-child { color:var(--mid); font-size:.92rem; }

.author { background:linear-gradient(100deg,var(--navy-deep),var(--navy-soft)); color:white; display:grid; grid-template-columns:150px 1fr .72fr; gap:48px; align-items:center; }
.author-mark { width:135px; height:135px; border:1px solid rgba(230,197,87,.55); display:grid; place-items:center; font:400 3rem Georgia,serif; color:var(--gold-light); transform:rotate(-4deg); }
.author h2 { font-size:3rem; margin-bottom:16px; }
.author p { color:#c8d7e4; margin-bottom:0; }
.author-quote { color:var(--gold-light); font:italic 1.4rem/1.5 Georgia,serif; border-left:1px solid rgba(230,197,87,.4); padding-left:35px; }

.masterclass { background:var(--paper); }
.masterclass-heading { max-width:820px; }
.offers { margin-top:62px; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
.offers article { background:white; padding:34px; border:1px solid var(--line); min-height:300px; display:flex; flex-direction:column; }
.offers article.featured { color:white; background:var(--navy); border-color:var(--navy); transform:translateY(-12px); box-shadow:0 25px 60px rgba(7,26,46,.2); }
.offer-tag { color:#a8841e; text-transform:uppercase; letter-spacing:.14em; font-size:.67rem; font-weight:850; }
.featured .offer-tag { color:var(--gold-light); }
.offers h3 { font:700 1.5rem/1.25 Georgia,serif; color:var(--navy); margin:24px 0 14px; }
.featured h3 { color:white; }
.offers p { color:var(--mid); }
.featured p { color:#c8d7e4; }
.offers a { margin-top:auto; color:var(--blue); font-weight:800; }
.featured a { color:var(--gold-light); }

.order { color:white; background:var(--navy-deep); display:grid; grid-template-columns:minmax(220px,330px) minmax(0,680px); gap:clamp(45px,8vw,110px); justify-content:center; align-items:center; }
.order-cover img { box-shadow:18px 25px 55px rgba(0,0,0,.4); }
.order h2 { font-size:clamp(2.4rem,4vw,4rem); margin-bottom:10px; }
.order-sub { color:var(--green); font-family:Georgia,serif; font-size:1.28rem; }
.order ul { padding:0; margin:28px 0; list-style:none; display:grid; gap:11px; color:#d3dfe8; }
.order li { display:flex; align-items:center; gap:12px; }
.pending-data { max-width:480px; display:grid; grid-template-columns:95px 1fr; border-top:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17); padding:16px 0; color:#a9bac8; }
.pending-data strong { color:white; }
.order small { color:#849aaa; }

.footer { background:#041321; color:#8ea3b5; padding:46px clamp(26px,8vw,130px); display:grid; grid-template-columns:1fr auto; gap:25px 40px; align-items:center; font-size:.82rem; }
.footer-brand { display:flex; flex-direction:column; }
.footer-brand strong { color:white; font:700 1.35rem Georgia,serif; }
.footer-links { display:flex; gap:24px; }
.footer-links a:hover { color:var(--gold-light); }
.footer>p { grid-column:1/-1; margin:0; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); }

@media (max-width:960px) { nav{display:none}.header-cta{margin-left:auto}.hero{grid-template-columns:1fr}.hero-copy{max-width:760px}.cover-stage{width:min(390px,85%)}.promise-grid,.author{grid-template-columns:1fr}.module-grid,.excerpt-grid,.offers{grid-template-columns:1fr}.module-card{min-height:auto}.offers article.featured{transform:none}.author-mark{width:100px;height:100px}.author-quote{border-left:0;border-top:1px solid rgba(230,197,87,.4);padding:28px 0 0} }
@media (max-width:660px) { .site-header{height:72px;padding:0 18px}.brand{width:175px}.header-cta{padding:9px 12px;font-size:.76rem}.hero,.section{padding-left:22px;padding-right:22px}.hero{padding-top:62px}.hero h1{font-size:3.2rem}.book-facts{grid-template-columns:repeat(2,1fr)}.cover-note{right:-14px}.section{padding-top:78px;padding-bottom:78px}.order{grid-template-columns:1fr}.order-cover{width:200px;margin:0 auto}.footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap;gap:12px 20px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*::before,*::after{transition:none!important} }

/* Ergänzungen für die persönlichen Ansprechpartner-Seiten – baut auf dem Lehrbuch-Stylesheet auf. */

.hero.person { min-height:720px; }
.hero h1.person-name { font-size:clamp(3rem,5.6vw,5.6rem); margin-bottom:18px; }
.person-roles { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; padding:0; list-style:none; }
.person-roles li { border:1px solid rgba(120,201,141,.45); color:var(--green); padding:5px 13px; border-radius:30px; font-size:.82rem; font-weight:650; letter-spacing:.02em; }

.portrait-stage { position:relative; z-index:2; justify-self:center; width:min(430px,100%); }
.portrait-frame { position:relative; aspect-ratio:4/5; border-radius:6px; overflow:hidden; box-shadow:28px 35px 70px rgba(0,0,0,.42); background:var(--navy-soft); }
.portrait-frame img { width:100%; height:100%; object-fit:cover; }
.portrait-stage::before { content:""; position:absolute; inset:22px -22px -22px 22px; border:1px solid rgba(230,197,87,.55); border-radius:6px; z-index:-1; }
.portrait-monogram { width:100%; height:100%; display:grid; place-items:center; background:radial-gradient(circle at 30% 25%,#2a587e,var(--navy-deep)); color:var(--gold-light); font:400 7rem/1 Georgia,serif; letter-spacing:.04em; }
.portrait-note { position:absolute; right:-30px; bottom:34px; z-index:3; background:var(--green); color:var(--navy-deep); padding:9px 14px; font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }

.focus-list { display:grid; gap:20px; }
.focus-list p { display:flex; gap:16px; margin:0; color:var(--mid); }
.focus-list strong { color:var(--navy); }
.about-text p { color:var(--mid); font-size:1.08rem; }
.about-text p:first-child { color:var(--navy); font-family:Georgia,serif; font-size:clamp(1.35rem,2vw,1.75rem); line-height:1.45; }

.timeline { list-style:none; margin:64px 0 0; padding:0; max-width:900px; border-left:2px solid var(--line); }
.timeline li { position:relative; padding:0 0 38px 38px; }
.timeline li::before { content:""; position:absolute; left:-8px; top:8px; width:14px; height:14px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 5px #edf2f5; }
.timeline li:nth-child(3n+2)::before { background:var(--purple); }
.timeline li:nth-child(3n)::before { background:var(--green); }
.timeline .when { text-transform:uppercase; letter-spacing:.14em; font-size:.7rem; font-weight:850; color:var(--mid); }
.timeline h3 { margin:6px 0 6px; color:var(--navy); font:700 1.3rem/1.3 Georgia,serif; }
.timeline p { margin:0; color:var(--mid); }
.timeline li.placeholder { opacity:.8; }
.timeline li.placeholder h3, .timeline li.placeholder p { border:1px dashed #b7c4ce; padding:10px 14px; background:white; border-radius:4px; }

.formats { background:white; }
.module-card .icon { font-size:2rem; line-height:1; }

.expansion { color:white; background:radial-gradient(circle at 20% 80%,#173b59 0,var(--navy) 45%,var(--navy-deep) 90%); display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.85fr); gap:clamp(40px,7vw,100px); align-items:center; }
.expansion h2 { color:white; font-size:clamp(2.35rem,4.4vw,4.25rem); }
.expansion .lead { color:#c8d7e4; font-size:1.08rem; max-width:620px; }
.stations { list-style:none; padding:0; margin:40px 0 0; display:grid; gap:16px; }
.stations li { display:grid; grid-template-columns:120px 1fr; gap:20px; padding:18px 0; border-top:1px solid rgba(255,255,255,.14); }
.stations .phase { color:var(--gold-light); text-transform:uppercase; letter-spacing:.14em; font-size:.68rem; font-weight:850; padding-top:5px; }
.stations strong { display:block; font:700 1.3rem/1.3 Georgia,serif; }
.stations span.desc { color:#a9bac8; font-size:.95rem; }
.map { width:100%; max-width:460px; justify-self:center; }
.map .route { stroke:rgba(230,197,87,.7); stroke-width:1.6; stroke-dasharray:5 6; fill:none; }
.map .city { fill:var(--white); }
.map .city.now { fill:var(--green); }
.map .pulse { fill:none; stroke:var(--green); stroke-width:1.5; opacity:.55; }
.map text { fill:#dbe6ef; font:600 15px Inter,sans-serif; }
.map text.small { fill:#91a8bc; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }

.publisher { color:white; background:var(--navy-deep); display:grid; grid-template-columns:minmax(220px,330px) minmax(0,700px); gap:clamp(45px,8vw,110px); justify-content:center; align-items:center; }
.publisher h2 { font-size:clamp(2.3rem,4vw,3.8rem); margin-bottom:10px; }
.publisher .sub { color:var(--green); font-family:Georgia,serif; font-size:1.28rem; }
.publisher p { color:#c8d7e4; }
.publisher-cover { width:100%; perspective:1200px; }
.publisher-cover img { transform:rotateY(-7deg) rotateZ(1deg); box-shadow:18px 25px 55px rgba(0,0,0,.4); border-radius:2px 7px 7px 2px; }

.contact { background:white; }
.contact-card { margin-top:56px; display:grid; grid-template-columns:170px 1fr; gap:40px; align-items:center; max-width:980px; padding:38px; border:1px solid var(--line); border-top:6px solid var(--gold); box-shadow:0 18px 50px rgba(11,34,57,.07); }
.contact-photo { width:170px; height:170px; border-radius:50%; overflow:hidden; background:var(--navy); }
.contact-photo img { width:100%; height:100%; object-fit:cover; }
.contact-photo .portrait-monogram { font-size:3.4rem; }
.contact-card h3 { margin:0 0 4px; color:var(--navy); font:700 1.8rem/1.2 Georgia,serif; }
.contact-card .roles { color:var(--mid); margin-bottom:16px; }
.contact-lines { display:grid; gap:4px; margin-bottom:24px; color:var(--ink); }
.contact-lines a { color:var(--blue); font-weight:650; }
.contact-lines .missing { color:#a8841e; font-style:italic; }
.contact-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button.navy { background:var(--navy); color:white; }
.button.line { border-color:var(--line); color:var(--navy); }
.button.line:hover { border-color:var(--blue); color:var(--blue); }

.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:60px; }
.team-card { background:white; border:1px solid var(--line); display:flex; flex-direction:column; transition:.25s ease; }
.team-card:hover { transform:translateY(-5px); box-shadow:0 25px 58px rgba(11,34,57,.14); }
.team-card .portrait-frame { border-radius:0; box-shadow:none; }
.team-card .body { padding:26px; }
.team-card h3 { margin:0 0 6px; color:var(--navy); font:700 1.4rem/1.25 Georgia,serif; }
.team-card p { color:var(--mid); margin:0 0 14px; font-size:.92rem; }
.team-card span { color:var(--blue); font-weight:800; }

@media (max-width:960px) { .expansion,.publisher{grid-template-columns:1fr}.publisher-cover{width:min(260px,70%);margin:0 auto}.team-grid{grid-template-columns:1fr} .portrait-stage{width:min(360px,85%)} }
@media (max-width:660px) { .hero h1.person-name{font-size:2.9rem}.contact-card{grid-template-columns:1fr;padding:26px}.contact-photo{width:120px;height:120px}.stations li{grid-template-columns:1fr;gap:4px}.portrait-note{right:-10px}.portrait-stage::before{inset:14px -12px -14px 12px} }
