/* Preguntas y cierre: tipografía ligera, líneas suaves y azul SWAP. */
.faq.faq-clean { max-width: none; display: block; padding: 84px 5vw 90px; background: #fcfdff; }
.faq-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; align-items: start; }
.faq-heading { min-width: 0; padding-top: 16px; }
.faq-clean .eyebrow { margin: 0 0 18px; font-size: 8px; font-weight: 500; letter-spacing: .16em; color: #7590b2; }
.faq.faq-clean h2 { margin: 0; font-size: clamp(32px, 3.1vw, 42px); font-weight: 500; line-height: 1.12; letter-spacing: -.055em; color: #172d4e; }
.faq-heading > p:last-child { max-width: 280px; margin: 20px 0 0; font-size: 12px; font-weight: 400; line-height: 1.8; color: #667b95; }
.faq-list { min-width: 0; border-top: 1px solid #dfe6ef; }
.faq-clean details { padding: 0; border-bottom: 1px solid #dfe6ef; }
.faq-clean summary { min-height: 74px; padding: 23px 0; align-items: center; gap: 24px; font-size: 14px; font-weight: 500; line-height: 1.6; color: #263e60; transition: color .2s; }
.faq-clean summary::after { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid #dbe5f1; border-radius: 50%; font-size: 20px; font-weight: 400; line-height: 1; color: #427dbd; }
.faq-clean summary:hover, .faq-clean details[open] summary { color: #175ba6; }
.faq-clean summary:focus-visible { outline: 2px solid #79b7ff; outline-offset: 4px; border-radius: 4px; }
.faq-clean details[open] summary::after { border-color: #b8d2f0; background: #eef5ff; }
.faq-clean details p { margin: -4px 52px 24px 0; font-size: 12px; font-weight: 400; line-height: 1.85; color: #667b95; }
.faq-clean details[open] p { animation: faq-answer-in .24s ease-out; }
@keyframes faq-answer-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.site-footer { background: #fff; color: #203650; border-top: 1px solid #e5ebf3; padding: 40px 5vw 24px; }
.site-footer .footer-top, .site-footer .footer-bottom { max-width: 1180px; margin-left: auto; margin-right: auto; }
.site-footer .footer-top { grid-template-columns: 1fr 1.5fr auto; gap: 32px; }
.site-footer .brand { font-size: 28px; font-weight: 750; letter-spacing: -.06em; color: #172d4e; }
.site-footer .brand img { width: 22px; height: 40px; object-fit: contain; }
.site-footer .footer-top p { font-size: 11px; font-weight: 400; line-height: 1.8; color: #62738c; }
.site-footer .footer-top > a:last-child { font-size: 11px; font-weight: 400; color: #456681; }
.site-footer .footer-top > a:last-child:hover { color: #175ba6; }
.site-footer .footer-bottom { margin-top: 30px; padding-top: 18px; font-size: 9px; font-weight: 400; color: #62738c; border-color: #e5ebf3; }
@media (max-width: 1000px) {
  .faq-inner { gap: 6vw; grid-template-columns: .8fr 1.2fr; }
}
@media (max-width: 760px) {
  .faq.faq-clean { padding: 54px 28px 60px; }
  .faq-inner { grid-template-columns: 1fr; gap: 30px; }
  .faq-heading { padding-top: 0; }
  .faq-heading > p:last-child { max-width: 360px; margin-top: 16px; }
  .site-footer .footer-top { grid-template-columns: 1fr auto; gap: 22px; }
  .site-footer .footer-top p { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 540px) {
  .faq.faq-clean { padding-left: 24px; padding-right: 24px; }
  .faq.faq-clean h2 { font-size: 34px; }
  .faq-clean summary { min-height: 76px; font-size: 13px; gap: 18px; padding: 21px 0; }
  .faq-clean details p { margin-right: 0; }
  .site-footer { padding: 34px 24px 22px; }
  .site-footer .footer-top { display: grid; }
  .site-footer .footer-top p { margin: 0; }
  .site-footer .footer-bottom { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .faq-clean summary { transition: none; }
  .faq-clean details[open] p { animation: none; }
}
