/* Optimizador_web — propuesta aislada, 10 septiembre 2026. */
:root { --blue-500: #245edb; }
html { scroll-padding-top: 145px; }
.section { padding-block: clamp(52px, 6vw, 88px); }
.section-heading { margin-bottom: 32px; }
.hero-grid { padding-top: 22px; gap: 26px; }
.hero-copy h1 { font-size: clamp(2.25rem, 4.8vw, 4.3rem); }
.hero-context { margin: 18px auto 0; max-width: 760px; color: #d5e5f5; font-size: 1.05rem; }
.hero-copy .hero-actions { margin-top: 22px; justify-content: center; }
.hero-after .hero-actions { display: none; }
.hero-copy .kicker { color: #86b6ff; }
.hero-after { max-width: 1000px; margin-inline: auto; }
.hero-lead { max-width: 850px; margin-inline: auto; }
.language-btn { min-width: 44px; min-height: 44px; width: 44px; height: 44px; }
.language-switcher { gap: 3px; }
.language-btn .flag { pointer-events: none; }
.experience-section .experience-copy .experience-quote,
html[lang="de"] .experience-section .experience-copy .experience-quote { font-size: clamp(1.5rem, 2.45vw, 2.1rem); line-height: 1.35; color: #243f5d; }
.experience-copy > h2 { font-size: clamp(2rem, 3.9vw, 3.5rem); max-width: 1100px; }
.method-section .process-grid { margin: 0; padding: 0; }
.method-section .process-step { grid-template-columns: 120px minmax(0,1fr) !important; }
.process-body { padding: 24px 18px; }
.process-step h3 { font-size: 1.25rem; }
.process-image img { object-fit: contain !important; background: #dce5eb; }
.service-card { min-height: 420px; }
.service-card::after { background: linear-gradient(180deg, transparent 20%, rgba(5,16,28,.3) 40%, #05101c 100%); }
.partner-logo img { max-width: 145px; max-height: 48px; width: auto; object-fit: contain; }
.partner-card:has(img[src*="official"]) .partner-logo { background: #fff; border-radius: 6px; }
.motion-preference { display: flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 22px; color: #243f5d; cursor: pointer; }
.motion-preference input { width: 20px; height: 20px; }
.form-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.form-tools .btn-secondary { color: #0c1a2b; background: #eef5fb; border-color: #617086; }
.partner-logo:empty { display: none; }
.form-help { font-size: .95rem; color: #526278; }
.form-help a { text-decoration: underline; }
.form-status { min-height: 1.6em; color: #243f5d; }
.form-draft { width: 100%; min-height: 180px; padding: 14px; margin-top: 12px; }
.map-status { font-size: .8rem; }
.nav-links a { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 1100px) and (min-width: 901px) {
  .nav-inner { gap: 12px; }
  .nav-links { gap: 12px; }
  .brand { width: 150px; }
  .language-switcher { gap: 0; }
}
@media (max-width:900px) {
  .nav-inner { min-height: 124px; padding-bottom: 46px; }
  .language-switcher { position: absolute; top: auto; bottom: 0; left: 0; right: auto; }
  .nav-links { visibility: hidden; pointer-events: none; overflow-y: auto; justify-content: flex-start; padding-top: 155px; }
  .nav-links.open { visibility: visible; pointer-events: auto; }
  .site-header { padding-top: 136px; }
  .hero-grid { padding-top: 8px; }
  .hero-copy h1, html[lang="de"] .hero-copy h1 { font-size: clamp(2rem, 7vw, 3.4rem); }
  .hero-copy .kicker { font-size: .7rem; margin-bottom: 12px; }
  .hero-context { font-size: .95rem; margin-top: 12px; }
  .hero-copy .hero-actions { margin-top: 16px; }
  .hero-badge { padding: 9px 12px; top: 12px; left: 12px; }
  .hero-visual { aspect-ratio: 2 / 1; }
  .hero-caption { font-size: .65rem; bottom: 10px; }
  .proof-grid span { font-size: .7rem; }
  .method-section .process-step { grid-template-columns: 110px minmax(0,1fr) !important; }
  .service-card,.service-card-wide { min-height: 370px; }
  .map-status { font-size: .7rem; }
}
@media (max-width:360px) {
  .hero-copy h1, html[lang="de"] .hero-copy h1 { font-size: 2rem; }
  .hero-copy .hero-actions .btn { padding: 12px 16px; }
  .process-body { padding: 16px 12px; }
  .method-section .process-step { grid-template-columns: 85px minmax(0,1fr) !important; }
}
