/* Johanne Heck-Parsch – Make Teams Move · gemeinsame Styles */

/* Schriften lokal (keine Verbindung zu Google) – SIL Open Font License */
@font-face { font-family:'Poppins'; font-style:normal; font-weight:400; font-display:swap; src:url(/assets/fonts/poppins-latin-400-normal.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:500; font-display:swap; src:url(/assets/fonts/poppins-latin-500-normal.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:600; font-display:swap; src:url(/assets/fonts/poppins-latin-600-normal.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:700; font-display:swap; src:url(/assets/fonts/poppins-latin-700-normal.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:400; font-display:swap; src:url(/assets/fonts/poppins-latin-ext-400-normal.woff2) format('woff2'); unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:500; font-display:swap; src:url(/assets/fonts/poppins-latin-ext-500-normal.woff2) format('woff2'); unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:600; font-display:swap; src:url(/assets/fonts/poppins-latin-ext-600-normal.woff2) format('woff2'); unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Poppins'; font-style:normal; font-weight:700; font-display:swap; src:url(/assets/fonts/poppins-latin-ext-700-normal.woff2) format('woff2'); unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'DM Serif Display'; font-style:normal; font-weight:400; font-display:swap; src:url(/assets/fonts/dm-serif-display-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family:'DM Serif Display'; font-style:italic; font-weight:400; font-display:swap; src:url(/assets/fonts/dm-serif-display-latin-400-italic.woff2) format('woff2'); }

html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
#angebote, #newsletter, #kontakt, #kontakt-hr, #kontakt-bl, #kontakt-ff, #kontakt-about, [id^="angebot-"] { scroll-margin-top:90px; }
input, textarea, button { font-family:'Poppins', sans-serif; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline:2px solid #1524C6; outline-offset:3px; }

/* Farben & Schriften */
:root {
  --blue:#1524C6; --blue-dark:#0D1899; --navy:#0D1A54; --coral:#E57373; --lavender:#D0D5FD; --sky:#ACD7EC; --sand:#F6F0EB;
  --text:#2A2A32; --muted:#5A5F75;
  --brand-gradient:linear-gradient(90deg, #252AC0 0%, #874F98 50%, #E47373 100%);
  --font-sans:Poppins, sans-serif; --font-serif:"DM Serif Display", serif;
}

body { margin:0; background:#fff; font-family:var(--font-sans); }
/* :where() hält die Spezifität bei 0 – Klassen bestimmen die Linkfarbe, auch beim Hover */
:where(a) { color:var(--blue); text-decoration:none; }
:where(a:hover) { color:var(--blue-dark); }
html, body { overflow-x:hidden; }
img { max-width:100%; }

/* Desktop-Dropdown „Angebote“ */
.mtm-dd { position:relative; }
.mtm-dd-menu { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); background:#fff; border-radius:24px; box-shadow:0 20px 50px rgba(21,36,198,0.22); padding:8px; min-width:250px; z-index:60; }
.mtm-dd:hover .mtm-dd-menu, .mtm-dd:focus-within .mtm-dd-menu { display:block; }
.mtm-dd-link { display:block; padding:11px 15px; border-radius:999px; font-size:13px; font-weight:500; color:#1524C6; }
.mtm-dd-link:hover, .mtm-dd-link.is-current { background:rgba(21,36,198,0.06); }
.mtm-dd-link:hover { color:var(--blue-dark); }

/* Burger-Menü (Handy/Tablet) */
.mtm-burger { margin-left:auto; width:44px; height:44px; border:none; background:transparent; color:#1524C6; align-items:center; justify-content:center; cursor:pointer; padding:0; }
.mtm-burger .ic-close { display:none; }
.mtm-burger[aria-expanded="true"] .ic-open { display:none; }
.mtm-burger[aria-expanded="true"] .ic-close { display:block; }
.mtm-mobilemenu { position:absolute; top:100%; left:0; right:0; background:#fff; box-shadow:0 18px 40px rgba(21,36,198,0.14); padding:8px 20px 24px; flex-direction:column; }
.mtm-mobilemenu[hidden] { display:none !important; }
.mtm-mobilemenu .mm-l { display:block; padding:14px 4px; font-size:16px; font-weight:500; color:#1524C6; border-bottom:1px solid rgba(21,36,198,0.08); }
.mtm-mobilemenu .mm-k { padding:14px 4px 4px; font-size:13px; font-weight:600; letter-spacing:2px; color:#E57373; text-transform:uppercase; }
.mtm-mobilemenu .mm-s { display:block; padding:12px 4px 12px 18px; font-size:15px; font-weight:500; color:#1524C6; }
.mtm-mobilemenu .mm-last { border-bottom:1px solid rgba(21,36,198,0.08); }
.mtm-mobilemenu .mm-cta { display:block; margin-top:18px; text-align:center; font-size:15px; font-weight:600; color:#fff; background:#1524C6; padding:16px 24px; border-radius:999px; }
@media (min-width: 961px) { .mtm-mobilemenu { display:none !important; } }

/* Formulare */
.mtm-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.mtm-form-error { margin:0; font-size:13px; line-height:1.5; color:#b3261e; background:rgba(179,38,30,0.07); border-radius:12px; padding:10px 12px; }
.mtm-form-error--light { color:#fff; background:rgba(13,26,84,0.28); max-width:440px; margin-top:14px; }
.mtm-submit { opacity:0.55; }
.mtm-submit.is-ready { opacity:1; }
.mtm-submit[disabled] { cursor:wait; }
@media (max-width: 768px) { input, textarea { font-size:16px !important; } }

/* Kundenstimmen-Slider */
.mtm-slider .t-sizer { visibility:hidden; }
.mtm-slider .t-text { transition:opacity .25s ease; }
.mtm-slider .t-text.is-fading { opacity:0; }
.mtm-slider .t-mark { color:#1524C6; font-weight:600; }

/* Hilfsklassen */
.u-block { display:block; }
.u-inline-block { display:inline-block; }
.u-italic { font-style:italic; }
.u-center { text-align:center; }
.u-relative { position:relative; }
.u-border-box { box-sizing:border-box; }
.u-m0 { margin:0; }
.u-mt24 { margin-top:24px; }
.u-mt48 { margin-top:48px; }
.u-blue { color:var(--blue); }
.u-coral { color:var(--coral); }
.u-serif { font-family:var(--font-serif); letter-spacing:0; }
.mark { color:var(--blue); font-weight:600; }
.bg-sand { background:var(--sand); }

/* Seitenrahmen & Navigation */
.page { width:100%; background:#fff; font-family:var(--font-sans); color:var(--text); overflow:hidden; }
.nav-bar { position:sticky; top:0; z-index:50; display:flex; align-items:center; padding:22px 64px; background:rgba(255, 255, 255, 0.92); backdrop-filter:blur(8px); box-shadow:rgba(21, 36, 198, 0.08) 0 1px 0; }
.nav-bar--wrap { flex-wrap:wrap; gap:16px; }
.nav-logo { height:26px; width:auto; display:block; }
.nav-right { display:flex; align-items:center; gap:48px; margin-left:auto; }
.nav-links { display:flex; gap:34px; font-size:15px; font-weight:500; color:var(--blue); }
.nav-links-simple { display:flex; flex-wrap:wrap; align-items:center; gap:34px; margin-left:auto; font-size:15px; font-weight:500; }
.nav-dd { position:relative; padding-bottom:18px; margin-bottom:-18px; }
.nav-current { color:var(--blue); border-bottom:2px solid var(--blue); padding-bottom:4px; }
.nav-cta { font-size:15px; font-weight:600; color:#fff; background:var(--blue); padding:12px 26px; border-radius:999px; white-space:nowrap; }
.nav-cta:hover { background:var(--blue-dark) !important; }

/* Typografie */
.eyebrow { font-size:13px; font-weight:600; letter-spacing:2.5px; color:var(--coral); text-transform:uppercase; }
.eyebrow--blue { color:var(--blue); }
.eyebrow--tight { letter-spacing:2px; }
.h1-serif { font-weight:400; font-family:var(--font-serif); font-size:60px; line-height:1.1; color:var(--blue); }
.h2 { margin:0; font-family:var(--font-sans); font-weight:600; letter-spacing:-0.8px; font-size:34px; color:var(--blue); }
.h2--center { margin:0 auto; line-height:1.25; max-width:820px; }
.text-body { font-size:17px; color:var(--muted); line-height:1.7; }
.text-sm { font-size:15px; color:var(--muted); line-height:1.7; }
.text-dark { font-size:17px; color:var(--text); line-height:1.6; }
.text-xs { font-size:13px; color:var(--text); line-height:1.6; }
.text-strong { font-size:17px; font-weight:600; color:var(--blue); line-height:1.7; }
.text-blue { font-size:17px; color:var(--blue); line-height:1.55; }
.link-underline { color:var(--blue); text-decoration:underline; }
.link-strong { font-weight:600; color:var(--blue); text-decoration:underline; }
.quote-serif { font-family:var(--font-serif); font-style:italic; font-size:44px; line-height:1.4; color:var(--blue); max-width:880px; margin:0 auto; }

/* Buttons & Pills */
.btn { font-size:15px; font-weight:600; padding:18px 36px; border-radius:999px; }
.btn--blue { color:#fff; background:var(--blue); }
.btn--coral { color:#fff; background:var(--coral); }
.btn--outline { color:var(--blue); border:1.5px solid rgba(21, 36, 198, 0.4); }
.pill { font-size:15px; font-weight:600; border-radius:999px; padding:10px 20px; }
.pill--sky { color:var(--blue); background:var(--sky); }
.pill--lavender { color:var(--blue); background:var(--lavender); }
.pill--coral { color:#fff; background:var(--coral); }
.pill--blue { font-weight:700; color:#fff; background:var(--blue); }
.pill-note { font-weight:400; font-size:12px; opacity:0.85; }
.hover-lift:hover { transform:translateY(-2px) !important; box-shadow:rgba(21, 36, 198, 0.18) 0 10px 26px !important; }
.hover-lift-coral:hover { transform:translateY(-2px) !important; box-shadow:rgba(229, 115, 115, 0.32) 0 10px 26px !important; }
.hover-lift-pill:hover { transform:translateY(-2px) !important; box-shadow:rgba(21, 36, 198, 0.15) 0 8px 20px !important; }
.hover-raise:hover { transform:translateY(-6px) !important; box-shadow:rgba(21, 36, 198, 0.16) 0 20px 44px !important; }
.hover-raise-tile:hover { transform:translateY(-6px) !important; box-shadow:rgba(21, 36, 198, 0.16) 0 18px 40px !important; }
.hover-raise-soft:hover { transform:translateY(-6px) !important; box-shadow:rgba(21, 36, 198, 0.14) 0 18px 40px !important; }
.hover-raise-post:hover { transform:translateY(-5px) !important; box-shadow:rgba(21, 36, 198, 0.15) 0 18px 38px !important; }

/* Abschnitte */
.section { padding:96px 72px; }
.section--white { background:#fff; }
.section--quote { background:linear-gradient(120deg, var(--lavender) 0%, #fff 85%); text-align:center; }
.section-intro { padding:96px 72px 84px; text-align:center; }
.narrow { max-width:820px; margin:0 auto; }
.stack-20 { display:flex; flex-direction:column; gap:20px; }
.btn-row-center { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.list-row { display:flex; gap:14px; align-items:flex-start; }
.arrow-deco { width:90px; margin-bottom:34px; }

/* Startseite */
.audience-card { flex:1 1 0%; min-width:280px; background:#fff; border-radius:24px; overflow:hidden; box-shadow:rgba(21, 36, 198, 0.1) 0 12px 34px; display:flex; flex-direction:column; transition:transform 0.35s, box-shadow 0.35s; }
.audience-card-body { padding:28px 28px 34px; flex:1 1 0%; display:flex; flex-direction:column; }
.audience-card-title { margin:0 0 16px; font-family:var(--font-sans); font-weight:600; letter-spacing:-0.4px; font-size:24px; color:var(--blue); line-height:1.25; }
.card-more { font-size:13px; font-weight:600; color:var(--blue); margin-top:auto; }
.offer { max-width:1100px; margin:0 auto 56px; padding:0 72px; }
.offer-media { border-radius:24px; overflow:hidden; height:280px; margin-bottom:-56px; position:relative; }
.offer-shade { position:absolute; inset:0; background:linear-gradient(rgba(13, 26, 84, 0) 40%, rgba(13, 26, 84, 0.45) 100%); }
.offer-card { position:relative; background:#fff; border-radius:24px; padding:56px 60px; text-align:center; box-shadow:rgba(21, 36, 198, 0.1) 0 20px 50px; }
.offer-badge { display:inline-block; font-size:13px; font-weight:600; letter-spacing:1.5px; color:var(--blue); text-transform:uppercase; background:rgba(21, 36, 198, 0.08); border-radius:999px; padding:8px 16px; margin-bottom:22px; }
.offer-title { margin:0 auto; font-family:var(--font-sans); font-weight:600; letter-spacing:-0.7px; font-size:34px; color:var(--blue); line-height:1.25; max-width:700px; }
.offer-text { font-size:17px; color:var(--muted); margin:20px auto 32px; max-width:560px; line-height:1.6; }
.stat-label { font-size:13px; color:var(--muted); margin-top:8px; }
.nl-check { display:flex; align-items:center; gap:10px; font-size:13px; color:#fff; }
.nl-input { flex:1 1 0%; min-width:140px; border:none; border-radius:12px; padding:16px 18px; font-size:15px; font-family:var(--font-sans); }

/* Angebotsseiten */
.ohero { position:relative; display:flex; align-items:stretch; height:720px; }
.ohero-body { flex:1 1 0%; display:flex; flex-direction:column; justify-content:center; padding:70px 64px 70px 72px; }
.ohero-kicker { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.ohero-icon { width:60px; }
.ohero-lead { font-size:17px; line-height:1.6; color:var(--muted); max-width:480px; margin-bottom:28px; }
.ohero-pills { display:grid; gap:14px; width:fit-content; max-width:100%; }
.ohero-media { flex:1 1 0%; position:relative; overflow:hidden; }
.offer-head { scroll-margin-top:110px; display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.offer-intro { display:flex; flex-direction:column; gap:18px; max-width:640px; margin:22px auto 36px; text-align:center; }
.step-dot { flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:var(--sky); color:var(--blue); font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; margin-top:3px; }
.step-dot--blue { background:var(--blue); color:#fff; }
.step-dot--coral { background:var(--coral); color:#fff; }
.step-num { font-family:var(--font-serif); font-size:34px; color:var(--coral); line-height:1; }
.step-title { margin:12px 0 10px; font-size:24px; font-weight:600; color:var(--blue); }
.step-title--light { color:#fff; }
.card-h3 { margin:0 0 14px; font-family:var(--font-sans); font-weight:600; font-size:24px; color:var(--blue); line-height:1.3; }

/* Kundenstimmen */
.quote-box { max-width:1120px; margin:0 auto; display:flex; flex-wrap:wrap; gap:40px 64px; align-items:flex-start; background:var(--lavender); border-radius:24px; padding:56px 64px; }
.quote-meta { flex:0 1 260px; min-width:220px; }
.quote-name { font-size:17px; font-weight:600; color:var(--blue); line-height:1.4; }
.quote-role { font-size:15px; color:var(--text); line-height:1.5; margin-top:4px; }
.quote-text { flex:1 1 480px; margin:0; font-family:var(--font-sans); font-size:20px; line-height:1.7; color:var(--text); }
.slider-btn { width:48px; height:48px; border-radius:50%; border:1.5px solid rgba(21, 36, 198, 0.35); background:#fff; color:var(--blue); display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; }

/* Über Johanne */
.post-card { display:block; border-radius:24px; overflow:hidden; background:#fff; box-shadow:rgba(21, 36, 198, 0.09) 0 8px 26px; transition:transform 0.3s, box-shadow 0.3s; }
.post-img { width:100%; aspect-ratio:760 / 976; object-fit:cover; object-position:center top; display:block; }

/* Rechtstexte */
.legal-card { background:#fff; border-radius:24px; padding:32px 36px; }
.legal-h2 { margin:0 0 12px; font-family:var(--font-sans); font-weight:600; font-size:24px; color:var(--blue); }
.legal-h3 { margin:24px 0 8px; font-family:var(--font-sans); font-weight:600; font-size:17px; color:var(--blue); }
.legal-list { margin:8px 0 0; padding-left:22px; }

/* Kontakt */
.contact-row { display:flex; gap:72px; align-items:center; flex-wrap:wrap; max-width:1120px; margin:0 auto; }
.contact-intro { flex:1 1 0%; min-width:260px; }
.contact-person { display:flex; align-items:center; gap:22px; margin-bottom:32px; }
.contact-photo { width:176px; height:176px; border-radius:50%; object-fit:cover; display:block; flex-shrink:0; border:3px solid #fff; box-shadow:rgba(21, 36, 198, 0.14) 0 8px 22px; }
.contact-name { font-size:20px; font-weight:600; color:var(--blue); }
.contact-role { font-size:15px; color:var(--muted); margin-top:4px; line-height:1.5; }
.contact-kicker { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.contact-text { font-size:15px; color:var(--muted); line-height:1.6; max-width:440px; }
.contact-card { flex:1 1 0%; min-width:300px; background:#fff; border-radius:24px; overflow:hidden; box-shadow:rgba(21, 36, 198, 0.1) 0 12px 34px; }
.brand-stripe { height:6px; background:var(--brand-gradient); }
.contact-form { padding:36px 38px 38px; display:flex; flex-direction:column; gap:18px; }
.form-label { display:block; font-size:13px; font-weight:600; color:var(--blue); margin-bottom:8px; }
.field-line { width:100%; border:none; border-bottom:1px solid rgba(21,36,198,0.18); padding:8px 0; font-size:15px; font-family:var(--font-sans); background:transparent; }
.field-area { width:100%; height:52px; border-radius:12px; background:rgba(21, 36, 198, 0.05); border:1px solid rgba(21, 36, 198, 0.12); font-family:var(--font-sans); font-size:15px; padding:10px 12px; resize:vertical; box-sizing:border-box; }
.consent { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--muted); line-height:1.5; cursor:pointer; }
.consent-box { width:18px; height:18px; margin:1px 0 0; flex-shrink:0; accent-color:var(--blue); cursor:pointer; }
.contact-submit { font-size:15px; font-weight:600; color:#fff; background:var(--blue); padding:15px 0; border-radius:999px; border:none; cursor:pointer; margin-top:6px; font-family:var(--font-sans); }
.contact-alt { text-align:center; font-size:13px; color:var(--muted); line-height:1.5; }
.form-thanks { padding:60px 42px; text-align:center; }
.form-thanks-title { font-family:var(--font-sans); font-weight:600; font-size:24px; color:var(--blue); margin-bottom:10px; }
.form-thanks-text { font-size:13px; color:var(--muted); }

/* Footer */
.site-footer { background:var(--navy); color:#fff; }
.brand-stripe--thin { height:4px; }
.footer-inner { padding:36px 72px 22px; }
.footer-row { display:flex; flex-wrap:wrap; gap:20px 48px; align-items:center; justify-content:space-between; }
.footer-brand { font-family:var(--font-serif); font-size:20px; color:#fff; }
.footer-tagline { font-size:13px; color:var(--sky); margin-top:4px; }
.footer-nav { display:flex; flex-wrap:wrap; gap:8px 28px; }
.footer-link { font-size:15px; color:#fff; }
.footer-link:hover { color:var(--sky) !important; }
.footer-bottom { margin-top:26px; padding-top:16px; border-top:1px solid rgba(255, 255, 255, 0.14); display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:space-between; font-size:13px; color:var(--sky); }
.footer-legal { display:flex; gap:24px; }
.footer-legal-link { color:var(--sky); }
.footer-legal-link:hover { color:#fff !important; }

/* Responsive (Breakpoints 1180 / 960 / 768 px) */
.mtm-burger, .mtm-mobilemenu { display: none; }
@media (max-width: 1180px) {
  .r-px { padding-left: 40px !important; padding-right: 40px !important; }
  .mtm-nav { padding-left: 32px !important; padding-right: 32px !important; }
  .mtm-navlinks { gap: 24px !important; }
  .r-fs78 { font-size: 64px !important; }
  .mtm-arch { margin-right: 40px !important; }
  .mtm-ohero-text { padding: 56px 40px !important; }
}
@media (max-width: 960px) {
  .mtm-navlinks, .mtm-navcta { display: none !important; }
  .mtm-burger { display: flex !important; }
  .mtm-mobilemenu { display: flex !important; }
  .mtm-nav { padding: 12px 20px !important; flex-wrap: nowrap !important; }
  .mtm-ohero { flex-direction: column !important; height: auto !important; }
  .mtm-ohero-text { padding: 48px 40px 40px !important; }
  .mtm-ohero-img { flex: 0 0 auto !important; height: 420px !important; }
  .mtm-hero { flex-direction: column !important; min-height: 0px !important; }
  .mtm-hero-text { padding: 56px 40px 40px !important; }
  .mtm-hero-img { flex: 0 0 auto !important; height: 520px !important; }
  .mtm-hero-img img { top: 0px !important; height: 100% !important; object-position: 50% 12% !important; }
}
@media (max-width: 768px) {
  .r-px { padding-left: 20px !important; padding-right: 20px !important; }
  .r-pt { padding-top: 56px !important; }
  .r-pb { padding-bottom: 56px !important; }
  .r-fs78 { font-size: 38px !important; }
  .r-fs60 { font-size: 32px !important; }
  .r-fs44 { font-size: 23px !important; }
  .r-fs34 { font-size: 23px !important; }
  .r-fs24 { font-size: 18px !important; }
  div.r-fs24 { font-size: 17px !important; }
  .r-fs17 { font-size: 16px !important; }
  .mtm-quote, .mtm-quote * { font-size: 14px !important; line-height: 1.65 !important; }
  .r-mw { min-width: 100% !important; box-sizing: border-box !important; }
  .r-g1 { grid-template-columns: minmax(0px, 1fr) !important; }
  .r-h560 { height: 440px !important; }
  .r-gap { gap: 32px !important; }
  .r-wrap { white-space: normal !important; }
  a, p { overflow-wrap: anywhere; }
  .mtm-hero-text { padding: 44px 20px 32px !important; }
  .mtm-hero-img { height: 420px !important; }
  .mtm-ohero-text { padding: 40px 20px 32px !important; }
  .mtm-ohero-img { height: 300px !important; }
  .mtm-arch { margin: 0px 20px 40px !important; max-width: none !important; min-width: 0px !important; flex: 0 0 calc(100% - 40px) !important; }
  .mtm-stats { gap: 28px 16px !important; display: grid !important; grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .mtm-nl-img { height: 260px; flex: 1 1 100% !important; }
}

/* Scroll-Animationen (nur mit JS, nur wenn Bewegung erwünscht) */
@keyframes mtmHeroIn { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes mtmArrowTravel { 0%, 100% { transform:translateX(0); opacity:0.85; } 50% { transform:translateX(10px); opacity:1; } }
@keyframes mtmRise { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes mtmPop { 0% { opacity:0; transform:scale(0.6) translateY(16px); } 100% { opacity:1; transform:scale(1) translateY(0); } }
@keyframes mtmLine { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes mtmIconPop { 0% { opacity:0; transform:scale(0.4) rotate(-12deg); } 70% { opacity:1; transform:scale(1.12) rotate(4deg); } 100% { opacity:1; transform:scale(1) rotate(0); } }
@media (prefers-reduced-motion: no-preference) {
  html.js [data-reveal="rise"]:not(.is-in), html.js [data-reveal="pop"]:not(.is-in), html.js [data-reveal="icon"]:not(.is-in) { opacity:0; }
  html.js [data-reveal="line"]:not(.is-in) { transform:scaleX(0); }
  [data-reveal="rise"].is-in { animation:mtmRise .8s cubic-bezier(.16,.8,.3,1) var(--d, 0s) backwards; }
  [data-reveal="pop"].is-in { animation:mtmPop .7s cubic-bezier(.2,1.5,.4,1) var(--d, 0s) backwards; }
  [data-reveal="line"].is-in { animation:mtmLine .9s cubic-bezier(.16,.8,.3,1) var(--d, 0s) backwards; }
  [data-reveal="icon"].is-in { animation:mtmIconPop .7s cubic-bezier(.2,1.2,.4,1) var(--d, 0s) backwards; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
}
