:root { --teal:#155e5a; --teal-dark:#0e4340; --copper:#a86b3c; --ink:#33302a; --grey:#6b675e; --ivory:#faf6ee; --cream:#f3ede0; }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: Georgia, 'Times New Roman', serif; color:var(--ink); background:var(--ivory); line-height:1.7; }
.wrap { max-width:900px; margin:0 auto; padding:0 24px; }
nav { background:var(--teal); color:#fff; padding:16px 0; font-family: Arial, sans-serif; }
nav .wrap { display:flex; flex-wrap:wrap; gap:24px; align-items:center; }
nav .brand { font-weight:bold; letter-spacing:1px; }
nav .brand span { color:var(--copper); }
nav a { color:#d8e6e3; text-decoration:none; font-size:14px; }
nav a:hover { color:#fff; }
nav a.active { color:#fff; font-weight:bold; }
header { background:var(--cream); border-bottom:1px solid #e2d9c6; padding:72px 0 60px; }
header .grid { display:flex; gap:48px; align-items:center; flex-wrap:wrap; }
header .txt { flex:1 1 480px; }
header h1 { font-size:38px; line-height:1.2; margin-bottom:20px; color:var(--teal-dark); }
header .intro { font-size:19px; color:var(--grey); max-width:600px; }
header .intro em { font-style:italic; }
.byline { margin-top:28px; padding-top:20px; border-top:1px solid #e2d9c6; color:var(--teal-dark); }
.byline span { color:var(--grey); font-size:15px; }
.photo-slot { flex:0 0 240px; width:240px; height:300px; background:#fff; border:2px dashed var(--copper); border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--copper); font-family:Arial, sans-serif; font-size:13px; text-align:center; }
section { padding:56px 0; }
section.alt { background:#fdfbf6; border-top:1px solid #eee6d6; border-bottom:1px solid #eee6d6; }
h2 { font-size:28px; margin-bottom:24px; color:var(--teal-dark); }
h2 .accent { color:var(--copper); }
.lead { font-size:18px; color:var(--grey); margin-bottom:32px; }
.mirror { border-left:4px solid var(--copper); padding:8px 0 8px 24px; font-size:19px; font-style:italic; color:var(--ink); margin-bottom:32px; }
.mirror .alt-voice { display:block; margin-top:14px; color:var(--grey); }
.card { background:#fff; border:1px solid #e8e0cf; border-radius:8px; padding:28px; margin-bottom:24px; box-shadow:0 1px 3px rgba(51,48,42,.06); }
.card h3 { font-size:19px; margin-bottom:12px; color:var(--teal); font-family:Arial, sans-serif; }
.bridge { background:var(--teal); color:#fff; border-color:transparent; }
.bridge h3 { color:#fff; }
.bridge p { color:#e0edea; }
.facts { display:flex; gap:40px; flex-wrap:wrap; margin:24px 0; font-family:Arial, sans-serif; }
.fact { text-align:center; }
.fact .num { font-size:32px; font-weight:bold; color:var(--copper); display:block; }
.fact .lbl { font-size:12px; color:var(--grey); text-transform:uppercase; letter-spacing:1px; }
.img-placeholder { background:var(--cream); border:2px dashed var(--copper); border-radius:8px; min-height:220px; display:flex; align-items:center; justify-content:center; color:var(--copper); font-family:Arial, sans-serif; font-size:14px; margin:24px 0; }
.flagship, .proof, .standards { background:var(--teal-dark); color:#fff; }
.flagship h2, .proof h2, .standards h2 { color:#fff; }
.flagship .lead, .proof .lead, .standards .lead { color:#bfd6d2; }
.flagship .card, .proof .card { border-color:transparent; }
.flagship .card h3, .proof .card h3, .standards .card h3 { color:var(--teal); }
.flagship-card { background:var(--teal-dark); color:#fff; border-color:transparent; grid-column:1 / -1; }
.flagship-card h3 { color:#fff; }
.flagship-card p { color:#c3d9d5; }
.flagship-card a { color:#e8c89a; }
.built { background:var(--teal); color:#fff; }
.built h2 { color:#fff; }
.built .lead { color:#dcecea; }
.built-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:28px; margin-top:32px; }
.built h3 { color:#fff; font-size:17px; margin-bottom:8px; font-family:Arial, sans-serif; }
.built p { color:#dcecea; font-size:15px; }
.gateways { display:grid; grid-template-columns:repeat(auto-fit,minmax(380px,1fr)); gap:24px; }
.gate { background:#fff; border:1px solid #e8e0cf; border-radius:8px; padding:28px; box-shadow:0 1px 3px rgba(51,48,42,.06); }
.gate h3 { font-size:18px; margin-bottom:10px; color:var(--teal); font-family:Arial, sans-serif; font-style:italic; }
.gate p { font-size:15px; color:var(--grey); margin-bottom:14px; }
.gate a { color:var(--teal); font-family:Arial, sans-serif; font-weight:bold; font-size:14px; text-decoration:none; }
.gate a:hover { color:var(--copper); }
.fmt-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; font-family:Arial, sans-serif; }
.fmt { border:1px solid #3d605c; border-radius:8px; padding:20px; }
.fmt h3 { color:#e8c89a; font-size:16px; margin-bottom:8px; }
.fmt p { color:#dcecea; font-size:14px; }
.std-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px 40px; font-family:Arial, sans-serif; font-size:15px; }
.std-grid div { padding:6px 0; border-bottom:1px solid #26514e; color:#dcecea; }
.strip { text-align:center; }
.strip .industries { color:var(--grey); font-size:15px; margin-top:20px; }
.certs { font-family:Arial, sans-serif; font-size:13px; color:var(--teal); margin-top:12px; letter-spacing:1px; }
.dag-note { border-left:4px solid var(--copper); padding:16px 24px; background:#fff; border-radius:0 8px 8px 0; margin-top:8px; }
.dag-note a { color:var(--teal); }
ul.plain { list-style:none; }
ul.plain li { padding:6px 0 6px 28px; position:relative; }
ul.plain li::before { content:"—"; position:absolute; left:0; color:var(--copper); }
.cta { text-align:center; padding:64px 0; }
.btn { display:inline-block; background:var(--teal); color:#fff; padding:14px 36px; border:none; border-radius:6px; text-decoration:none; font-family:Arial, sans-serif; font-weight:bold; font-size:15px; cursor:pointer; margin-top:16px; }
.btn:hover { background:var(--teal-dark); }
footer { background:var(--cream); border-top:1px solid #e2d9c6; color:var(--grey); padding:32px 0; font-size:13px; font-family:Arial, sans-serif; }
footer a { color:var(--teal); }
@media (max-width:720px){ header h1{font-size:30px;} header .intro{font-size:17px;} h1{font-size:30px;} .facts{gap:24px;} }
/* --- About & Contact additions --- */
.portrait { flex:0 0 220px; width:220px; height:280px; background:#fff; border:1px solid #e2d9c6; border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--copper); font-family:Arial, sans-serif; font-size:13px; text-align:center; box-shadow:0 2px 6px rgba(51,48,42,.08); }
.portrait-2 { margin:32px auto; max-width:420px; width:100%; }
.portrait-2 figcaption { font-size:13px; color:var(--grey); font-style:italic; margin-top:10px; text-align:center; font-family:Arial, sans-serif; }
.quote { background:var(--teal-dark); color:#fff; padding:48px 0; }
.quote blockquote { font-size:24px; font-style:italic; line-height:1.5; max-width:640px; margin:0 auto; }
.quote cite { display:block; margin-top:16px; font-size:15px; font-style:normal; color:#bfd6d2; }
.formats { background:var(--teal-dark); color:#fff; }
.img-caption { font-size:13px; color:var(--grey); font-family:Arial, sans-serif; text-align:center; margin-top:-16px; margin-bottom:24px; font-style:italic; }
.direct a { color:var(--teal); text-decoration:none; font-weight:bold; }
.direct a:hover { color:var(--copper); }
.privacy-note { font-size:13px; color:var(--grey); font-family:Arial, sans-serif; margin-top:14px; }
.impressum { background:#fdfbf6; border-top:1px solid #eee6d6; border-bottom:1px solid #eee6d6; }
.impressum .card { font-size:14px; }
.impressum address { font-style:normal; color:var(--grey); line-height:1.9; font-family:Arial, sans-serif; }
.impressum address a { color:var(--teal); }
/* --- Photo integration --- */
.hero-photo { flex:0 0 240px; width:240px; height:300px; object-fit:cover; border-radius:8px; border:1px solid #e2d9c6; box-shadow:0 2px 6px rgba(51,48,42,.08); }
.portrait-2 { margin:32px auto; max-width:520px; width:100%; }
.portrait-2 figcaption { font-size:13px; color:var(--grey); font-style:italic; margin-top:10px; text-align:center; font-family:Arial, sans-serif; }
.seminar-photo { width:100%; height:auto; border-radius:8px; border:1px solid #e8e0cf; box-shadow:0 1px 3px rgba(51,48,42,.06); }
@media (max-width:720px){ .hero-photo { width:100%; flex:none; height:320px; } }
/* --- Flagship/proof card readability fix --- */
.flagship .card p, .proof .card p { color:var(--ink); }
/* --- Scroll reveal (guarded: only active when JS runs) --- */
.js .reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.js .reveal.visible { opacity:1; transform:none; }
.js .reveal:nth-child(2) { transition-delay:.1s; }
.js .reveal:nth-child(3) { transition-delay:.2s; }
.js .reveal:nth-child(4) { transition-delay:.3s; }
.js .reveal:nth-child(5) { transition-delay:.4s; }
.js .reveal:nth-child(6) { transition-delay:.5s; }
@media (prefers-reduced-motion: reduce) {
  .js .reveal { transition:none; opacity:1; transform:none; }
}
/* --- IT Transformation banner strip --- */
/* --- Banner strip --- */
.banner-strip { width:100%; overflow:hidden; }
.banner-image { width:100%; height:auto; display:block; }
/* --- Section figure (mid-page image) --- */
.section-figure img { width:100%; height:auto; display:block; border-radius:8px; border:1px solid #26514e; }
/* --- Flagship figure --- */
.flagship-figure { margin:0 auto 32px; max-width:850px; }
.flagship-figure img { width:100%; height:auto; display:block; border-radius:8px; border:1px solid #26514e; }
/* --- Section figure (mid-page image) --- */
.section-figure { margin:40px auto; max-width:850px; }