/* Nintai Dojo — estilos globales */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;background:#FFFFFF;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:#2522A8}
a:hover{color:#0C088C}
:focus-visible{outline:3px solid #2A27B5;outline-offset:3px;border-radius:6px}
input,textarea,button{font:inherit}
input:focus,textarea:focus{outline:none;border-color:#2A27B5 !important;box-shadow:0 0 0 3px rgba(42,39,181,.18)}

/* Saltar al contenido */
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:999px;background:#0C088C;color:#FFFFFF;font-family:'Manrope',system-ui,sans-serif;font-weight:700;text-decoration:none}
.skip:focus{top:12px;color:#FFFFFF}

/* Menú */
.nav a{color:#12123A;text-decoration:none;font-weight:600}
.nav a:hover{color:#2A27B5}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid #E3E5EC;border-radius:12px;background:#FFFFFF;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.menu-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:#12123A;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Pie y tarjetas */
.foot a{color:#12123A;text-decoration:none}
.foot a:hover{color:#2A27B5}
.post{color:#12123A;text-decoration:none;transition:transform .2s,box-shadow .2s}
.post:hover{color:#12123A;transform:translateY(-3px);box-shadow:0 2px 4px rgba(14,16,48,.05),0 18px 40px rgba(14,16,48,.12) !important}
summary{cursor:pointer}
summary::-webkit-details-marker{display:none}
details[open] summary span[aria-hidden="true"]:last-child{transform:rotate(45deg)}
summary span[aria-hidden="true"]:last-child{transition:transform .2s}

/* Video de YouTube liviano */
.yt-lite{cursor:pointer;overflow:hidden}
.yt-lite iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;border:0;background:#FFFFFF;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s}
.yt-lite:hover .yt-play{transform:translate(-50%,-50%) scale(1.06)}

/* WhatsApp flotante */
.wa-float{transition:transform .2s}
.wa-float:hover{transform:translateY(-2px);color:#0E1030}

/* Tablet y celular */
@media (max-width: 900px){
  .menu-toggle{display:flex}
  header > div{flex-wrap:wrap !important}
  .nav{display:none !important;width:100%;flex-direction:column;align-items:stretch !important;gap:0 !important;padding:8px 0 4px}
  .nav.abierto{display:flex !important}
  .nav a{padding:14px 4px !important;border-bottom:1px solid #EEF0F4 !important;font-size:17px}
  .nav a[href^="https://wa.me"]{margin-top:12px;text-align:center;border-bottom:0 !important;padding:14px 20px !important}
}
@media (max-width: 640px){
  body [style*="padding: 18px 32px"]{padding:12px 20px !important}
  body [style*="padding: 120px 32px"],body [style*="padding: 112px 32px"],body [style*="padding: 104px 32px"]{padding-top:72px !important;padding-bottom:72px !important}
  body [style*="padding: 64px 56px"]{padding:40px 24px !important}
  body [style*="padding: 48px;"]{padding:28px !important}
  body [style*="padding: 40px;"]{padding:26px !important}
  details{padding:16px 18px !important}
  details summary{gap:12px !important}
  details summary > span{min-width:0}
  details summary > span:nth-child(3){display:none !important}
  details summary > span:nth-child(2) > span:first-child{font-size:18px !important}
  details > div{padding-left:0 !important}
  .wa-float{padding:6px !important;right:16px !important;bottom:16px !important}
  .wa-float > span:first-child{display:none}
  [style*="font-size: 520px"],[style*="font-size: 320px"],[style*="font-size: 300px"]{font-size:180px !important;opacity:.7}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition:none !important}
}
