/* Sistema visual redondeado para la experiencia pública. */
.classic .nav-cta,
.classic .primary,
.classic .secondary,
.classic .light-button,
.classic button,
.classic input,
.classic select,
.classic textarea,
.classic .mj-booking-fallback,
.classic .mj-whatsapp-hours-send { border-radius: 12px; }

.service-grid article,
.process li,
.team-support,
.social-panel,
.final-cta,
.service-page-hero aside,
.service-page-cta,
.service-value > div,
.service-faq,
.team-page-cta { border-radius: 18px; overflow: hidden; }

.contact-form-panel { border-radius: 18px; overflow: visible; }
.team-support > a,
.team-preview-action a,
.team-page-cta > a { border-radius: 12px; }
.contact-form { overflow: visible; padding-inline: 2px; }
.contact-form label > span,
.contact-privacy { padding-left: 2px; }
.contact-form input,
.contact-form textarea { border-radius: 8px 8px 0 0; }

.service-page-content > div,
.service-page-content > article { overflow: visible; padding-inline: 2px; }
.service-page-content > div > .overline,
.service-page-content > article > .overline { padding-left: 2px; }

.contact-mail,
.social-panel > a,
.faq details,
.service-faq details { border-radius: 10px; }

.service-value { padding: 0 max(40px, calc((100vw - 1240px) / 2)) 95px; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.service-value > div,
.service-faq { padding: 38px; background: #fff; border: 1px solid var(--line); }
.service-value h2 { font-family: 'DM Serif Display', Georgia, serif; font-size: 38px; line-height: 1.12; margin: 0 0 18px; }
.service-value p:not(.overline) { color: var(--muted); font-size: 14px; }
.service-faq details { padding: 17px 0; border-bottom: 1px solid var(--line); }
.service-faq details:last-child { border-bottom: 0; }
.service-faq summary { display: flex; justify-content: space-between; gap: 15px; cursor: pointer; font-weight: 700; list-style: none; }
.service-faq summary span { color: var(--gold); font-size: 20px; }
.service-faq details p { margin: 10px 0 0; }

@media (max-width: 800px) {
  .service-value { grid-template-columns: 1fr; padding: 0 22px 70px; }
  .service-value > div, .service-faq { padding: 28px 24px; }
  .service-value h2 { font-size: 32px; }
}
