/* RheinPrep light visual system — shared across public pages */
:root {
  --ink: #10213a;
  --muted: #5f6f84;
  --paper: #f4f7fb;
  --panel: #ffffff;
  --line: rgba(16, 33, 58, .12);
}

html { color-scheme: light; overflow-x: clip; }

body {
  overflow-x: clip;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 3%, rgba(7, 95, 216, .08), transparent 26%),
    radial-gradient(circle at 92% 12%, rgba(255, 159, 0, .08), transparent 24%),
    var(--paper);
}

.topbar {
  background: rgba(255, 255, 255, .94);
  border-bottom-color: rgba(16, 33, 58, .1);
  box-shadow: 0 8px 28px rgba(16, 33, 58, .07);
}

.navlinks { color: #41536b; }
.navlinks a { color: #41536b; opacity: 1; }
.navlinks a:hover, .navlinks a.active { color: #075fd8; }
.mobile-menu summary { color: #10213a; }
.mobile-panel {
  background: rgba(255, 255, 255, .98);
  border-color: rgba(16, 33, 58, .12);
  box-shadow: 0 20px 50px rgba(16, 33, 58, .18);
}
.mobile-panel a { color: #263b58; }
.mobile-panel a:hover { color: #075fd8; background: #eef5ff; }

.hero {
  color: #10213a;
  background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 42%, rgba(255,255,255,.54) 72%, rgba(255,255,255,.26) 100%),
    url("https://images.pexels.com/photos/4483862/pexels-photo-4483862.jpeg?auto=compress&cs=tinysrgb&w=1800") center/cover;
}
.hero::after { background: linear-gradient(180deg, rgba(244,247,251,0), var(--paper)); }
.hero .lead { color: #425571; }
.hero .hero-note { color: #203a60; }
.hero .eyebrow { color: #9a5d00; background: rgba(255,159,0,.13); }
.hero .domain { color: #263b58; border-color: rgba(16,33,58,.14); background: rgba(255,255,255,.74); }
.hero .stat { background: rgba(255,255,255,.82); box-shadow: 0 10px 28px rgba(16,33,58,.08); }
.hero .stat span { color: #64758a; }
.hero-card {
  color: #10213a;
  background: rgba(255,255,255,.92);
  border-color: rgba(16,33,58,.12);
  box-shadow: 0 25px 70px rgba(16,33,58,.16);
}
.hero-card .scan-row { color: #10213a; background: #fff; border-color: rgba(16,33,58,.1); }
.hero-card .scan-row span { color: #64758a; }
.hero-card .checklist li { color: #334965; }

section:not(.hero):not(.band) { background: transparent; }
.section-head p, .card p, .card li, .feature-row span, .check-card ul, .quote p, .price-row span { color: var(--muted); }

.card, .feature-row, .check-card, details:not(.lang-switch):not(.mobile-menu), .quote, .price-row, .info-box, .panel {
  color: #10213a;
  background: #fff;
  border-color: rgba(16,33,58,.11);
  box-shadow: 0 14px 40px rgba(16,33,58,.08);
}
.card:hover, .feature-row:hover, .quote:hover { border-color: rgba(7,95,216,.26); }
.card-note { color: #31445e; background: #fff8e8; }
.step-image, .section-image { border-color: rgba(16,33,58,.1); }
summary { color: #172b47; }
details p { color: var(--muted); }
.amount { color: #075fd8; }
.field { color: #233a58; background: #f7f9fc; border-color: rgba(16,33,58,.14); }

.band {
  color: #10213a;
  background:
    radial-gradient(circle at 80% 10%, rgba(7,95,216,.12), transparent 30%),
    linear-gradient(135deg, #eaf2ff, #f8fbff 56%, #fff8e9);
  border-top: 1px solid rgba(7,95,216,.09);
  border-bottom: 1px solid rgba(7,95,216,.09);
}
.band .section-head p, .band .card p, .band .card li { color: #5d6f86; }
.step, .trust-item {
  color: #10213a;
  background: rgba(255,255,255,.86);
  border-color: rgba(16,33,58,.11);
  box-shadow: 0 12px 32px rgba(16,33,58,.07);
}
.step p, .trust-item span { color: #607188; }
.trust-item b { color: #172b47; }

.btn.alt {
  color: #17304f;
  background: #fff;
  border-color: rgba(16,33,58,.15);
  box-shadow: 0 8px 22px rgba(16,33,58,.08);
}
.btn.alt:hover { color: #075fd8; border-color: rgba(7,95,216,.3); background: #f5f9ff; }

footer {
  color: #607188;
  background: #fff;
  border-top-color: rgba(16,33,58,.1);
}

/* Contact page */
.contact-hero .eyebrow { color: #9a5d00; }
.contact-hero .lead { color: #52647b; }
.contact-layout .panel { background: #fff; }
.contact-layout .info-item { color: #10213a; background: #f7f9fc; border-color: rgba(16,33,58,.1); }
.contact-layout .info-item b { color: #10213a; }
.contact-layout label { color: #263b58; }
.contact-layout input, .contact-layout textarea {
  color: #10213a;
  background: #fff;
  border-color: rgba(16,33,58,.16);
}
.contact-layout .success-message { color: #245333; background: #edf9f0; }

/* Dedicated quote page */
.quote-hero {
  color: #10213a;
  background:
    radial-gradient(circle at 82% 15%, rgba(7,95,216,.14), transparent 28%),
    linear-gradient(135deg, #edf5ff, #fff 55%, #fff6e5);
  border-bottom: 1px solid rgba(16,33,58,.1);
}
.quote-hero p { color: #52647b; }
.quote-hero .trust-row { color: #334b69; }
.quote-hero .process-card { color: #10213a; background: rgba(255,255,255,.82); border-color: rgba(16,33,58,.11); box-shadow: 0 18px 50px rgba(16,33,58,.1); }
.quote-hero .process-card li { border-top-color: rgba(16,33,58,.1); }
.form-card { box-shadow: 0 18px 50px rgba(16,33,58,.09); }

@media (max-width: 640px) {
  .topbar { background: rgba(255,255,255,.97); }
  .hero {
    background:
      linear-gradient(180deg, rgba(255,255,255,.91), rgba(255,255,255,.82)),
      url("https://images.pexels.com/photos/4483862/pexels-photo-4483862.jpeg?auto=compress&cs=tinysrgb&w=1000") center/cover;
  }
}
