/* Schuldnerberatung Schwaben — neues, ruhiges Editorial-Design */
:root {
    --primary-color: #132a43 !important;
    --primary-deep: #091a2d !important;
    --secondary-color: #246b73 !important;
    --accent-color: #e2a45b !important;
    --accent-deep: #bd7137 !important;
    --accent-light: #f7dfbf !important;
    --paper: #f3f6f5 !important;
    --light-bg: #f3f6f5 !important;
    --surface: #ffffff !important;
    --text-dark: #172331 !important;
    --text-medium: #536273 !important;
    --text-light: #738294 !important;
    --border-soft: rgba(19, 42, 67, .14) !important;
    --border-softer: rgba(19, 42, 67, .08) !important;
    --gradient-primary: linear-gradient(135deg, #132a43, #246b73) !important;
    --gradient-deep: linear-gradient(135deg, #091a2d 0%, #163b54 100%) !important;
    --gradient-accent: linear-gradient(135deg, #e2a45b, #f7c98e) !important;
    --radius-sm: 10px !important;
    --radius-md: 18px !important;
    --radius-lg: 28px !important;
    --container-w: 1240px !important;
}

body { background: #f3f6f5 !important; color: #172331 !important; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-sans) !important; font-weight: 700 !important; letter-spacing: -.045em !important; }
p { line-height: 1.75; }

.site-nav { padding: 1rem 0 !important; background: rgba(255,255,255,.88) !important; border-bottom: 1px solid rgba(19,42,67,.1) !important; box-shadow: 0 4px 20px rgba(19,42,67,.04) !important; }
.site-nav.is-scrolled { padding: .65rem 0 !important; background: rgba(255,255,255,.97) !important; }
.nav-container { max-width: 1240px !important; }
.nav-logo-img { height: 42px !important; }
.nav-links { gap: 1.8rem !important; }
.nav-links a { color: #536273 !important; font-size: .88rem !important; font-weight: 600 !important; }
.nav-links a.active, .nav-links a:hover { color: #132a43 !important; }
.nav-cta { background: #e2a45b !important; color: #132a43 !important; border-radius: 12px !important; padding: .78rem 1.25rem !important; box-shadow: none !important; }
.nav-cta:hover { background: #f0bb79 !important; transform: translateY(-2px); }

.btn { border-radius: 12px !important; padding: 1rem 1.45rem !important; }
.btn-gold { background: #e2a45b !important; color: #132a43 !important; box-shadow: 0 12px 28px rgba(226,164,91,.28) !important; }
.btn-primary { background: #132a43 !important; box-shadow: 0 10px 24px rgba(19,42,67,.16) !important; }
.btn-outline { border-color: rgba(19,42,67,.18) !important; background: #fff !important; }

.hero { min-height: 760px !important; padding: 9rem 2rem 7rem !important; background: var(--gradient-deep) !important; }
.hero::before { background: radial-gradient(circle at 80% 20%, rgba(226,164,91,.18), transparent 32%), radial-gradient(circle at 15% 80%, rgba(36,107,115,.3), transparent 35%) !important; }
.hero-content { max-width: 1240px !important; gap: 6rem !important; }
.hero h1 { font-size: clamp(2.8rem, 5vw, 5.1rem) !important; line-height: 1.02 !important; letter-spacing: -.065em !important; }
.hero h1 .highlight { color: #f2bd78 !important; }
.hero-subtitle { color: rgba(255,255,255,.76) !important; font-size: 1.08rem !important; max-width: 580px !important; }
.hero-eyebrow span { color: #f2bd78 !important; }
.hero-checklist { border-color: rgba(255,255,255,.18) !important; }
.hero-visual { padding: 2.3rem !important; border: 1px solid rgba(255,255,255,.16); border-radius: 24px; background: rgba(255,255,255,.075); backdrop-filter: blur(12px); box-shadow: 0 24px 60px rgba(0,0,0,.18); }
.hero-chart-value { color: #f2bd78 !important; font-family: var(--font-sans) !important; font-weight: 800 !important; letter-spacing: -.05em; }

.stats-section { background: #fff !important; padding: 2rem !important; border-bottom: 1px solid var(--border-softer); }
.stats-grid { max-width: 1100px !important; }
.stat-item-large { color: #132a43 !important; border-color: var(--border-soft) !important; }
.stat-number-large { color: #246b73 !important; font-family: var(--font-sans) !important; font-weight: 800 !important; }
.stat-label-large { color: #738294 !important; }

section { padding: clamp(4.5rem, 8vw, 8rem) 0 !important; }
.section-eyebrow span { color: #bd7137 !important; }
.section-title { font-size: clamp(2.15rem, 4vw, 3.45rem) !important; }
.section-subtitle { color: #536273 !important; }
.about-section, .contact-section { background: #fff !important; }
.info-cards { gap: 1rem !important; border: 0 !important; }
.info-card { padding: 2rem !important; border: 1px solid var(--border-soft) !important; border-radius: 18px !important; background: #f8faf9 !important; }
.info-card:hover { background: #fff !important; transform: translateY(-5px); box-shadow: 0 18px 35px rgba(19,42,67,.08); }
.info-card .info-card-num { color: #bd7137 !important; font-weight: 800; }
.trust-badges { gap: .75rem !important; }
.trust-badge { background: #eef5f3 !important; border-radius: 999px !important; padding: .7rem 1rem !important; }
.target-groups { background: #f3f6f5 !important; }
.target-grid { gap: 1rem !important; }
.target-card { background: #fff !important; border: 1px solid var(--border-softer) !important; border-radius: 18px !important; box-shadow: none !important; transition: transform .25s, box-shadow .25s !important; }
.target-card:hover { transform: translateY(-5px); box-shadow: 0 18px 35px rgba(19,42,67,.09) !important; }
.regional-section { background: #e7f0ee !important; }
.regional-inner { display: grid; grid-template-columns: .9fr 1.1fr; gap: 5rem; align-items: center; }
.regional-copy { max-width: 620px; color: #536273; }
.regional-copy p { margin-bottom: 1rem; }
.regional-copy .btn { margin-top: 1rem; }
.timeline-section { background: #132a43 !important; color: #fff !important; }
.timeline-section .section-title { color: #fff !important; }
.timeline-section .section-subtitle { color: rgba(255,255,255,.68) !important; }
.toggle-button { border-color: rgba(255,255,255,.25) !important; }
.toggle-button.active { background: #e2a45b !important; color: #132a43 !important; }
.timeline-content { background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.13) !important; border-radius: 16px !important; }
.timeline-number { background: #e2a45b !important; color: #132a43 !important; }
.contact-section { background: #f3f6f5 !important; }
.contact-cta { background: var(--gradient-deep) !important; border-radius: 22px !important; box-shadow: 0 22px 50px rgba(19,42,67,.18) !important; }

.page-hero, .legal-header { background: var(--gradient-deep) !important; padding: 8rem 2rem 5rem !important; }
.page-hero h1, .legal-header h1 { color: #fff !important; font-size: clamp(2.5rem, 5vw, 4rem) !important; }
.page-hero-text .subtitle, .page-hero p { color: rgba(255,255,255,.75) !important; }
.legal-content { background: #f3f6f5 !important; }
.content-card, .contact-info-card, .contact-form-card { background: #fff !important; border: 1px solid var(--border-softer) !important; border-radius: 22px !important; box-shadow: 0 12px 35px rgba(19,42,67,.06) !important; }
.contact-info-card::before, .contact-form-card::before { background: #e2a45b !important; }
.form-group input, .form-group textarea, .form-group select { border: 1px solid #d6dee3 !important; border-radius: 10px !important; background: #fbfcfc !important; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: #246b73 !important; box-shadow: 0 0 0 4px rgba(36,107,115,.1) !important; }

.faq-search-box, .faq-item { border-radius: 16px !important; border-color: var(--border-soft) !important; box-shadow: 0 8px 24px rgba(19,42,67,.05) !important; }
.faq-item { background: #fff !important; }
.faq-question:hover { background: #f6f9f8 !important; }
.faq-category-btn.active { background: #132a43 !important; color: #fff !important; }
.cta-section { background: var(--gradient-deep) !important; }

footer { background: #091a2d !important; border-top: 4px solid #e2a45b !important; }
footer a:hover { color: #f2bd78 !important; }
.gcal-floating-btn { width: 52px !important; height: 52px !important; border-radius: 14px !important; }

/* Scroll reveal: dezente Bewegung, die Orientierung gibt */
.reveal { opacity: 1; transform: none; }
.reveal-ready .reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.22,1,.36,1); }
.reveal-ready .reveal.reveal-left { transform: translateX(-34px); }
.reveal-ready .reveal.reveal-right { transform: translateX(34px); }
.reveal-ready .reveal.is-visible { opacity: 1; transform: translate(0, 0); }
.reveal-delay-1 { transition-delay: .08s !important; }
.reveal-delay-2 { transition-delay: .16s !important; }
.reveal-delay-3 { transition-delay: .24s !important; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    .reveal-ready .reveal, .reveal-ready .reveal.is-visible { opacity: 1; transform: none; transition: none !important; }
}

@media (max-width: 860px) {
    .hero { min-height: auto !important; padding: 7rem 1.25rem 4rem !important; }
    .hero-content { gap: 3rem !important; }
    .hero-visual { padding: 1.5rem !important; }
    .stats-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 1.25rem 0; }
    .stat-item-large:nth-child(3) { border-left: 0; }
    .nav-links { background: #f3f6f5 !important; }
    .page-hero, .legal-header { padding: 7rem 1.25rem 4rem !important; }
}
@media (max-width: 600px) {
    .regional-inner { grid-template-columns: 1fr !important; gap: 1rem; }
    .info-cards { grid-template-columns: 1fr !important; }
    .stats-section { padding: 1.5rem 1rem !important; }
    .stat-item-large { padding: .5rem .8rem !important; }
    .stat-number-large { font-size: 2.15rem !important; }
}
