/* Han-ei — estilos diferidos (below-the-fold y secciones secundarias) */
.btn-primary:hover{background:#1d4ed8;box-shadow:0 8px 25px rgba(37,99,235,.45);transform:translateY(-1px)}
.btn-ghost:hover{border-color:#2563eb;color:#2563eb;background:white;transform:translateY(-1px)}
.btn-white{display:inline-flex;align-items:center;gap:.5rem;background:white;color:#1e293b;font-weight:700;padding:.875rem 1.75rem;border-radius:.875rem;transition:all .2s ease;box-shadow:0 4px 14px rgba(0,0,0,.12);min-height:44px}
.btn-white:hover{box-shadow:0 8px 25px rgba(0,0,0,.18);transform:translateY(-1px)}
.card-light{background:white;border-radius:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,.05),0 20px 50px -20px rgba(148,163,184,.4);transition:all .3s ease}
.card-light:hover{box-shadow:0 10px 30px rgba(37,99,235,.1),0 30px 60px -20px rgba(37,99,235,.08);transform:translateY(-3px)}
.service-card{background:white;border-radius:2rem;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06),0 20px 50px -20px rgba(148,163,184,.35);transition:all .3s ease}
.service-card:hover{box-shadow:0 20px 50px rgba(37,99,235,.12);transform:translateY(-4px)}
.nav-link{position:relative;color:#475569;font-size:.875rem;font-weight:500;transition:color .2s}
.nav-link:hover,.nav-link.active{color:#0f172a}
.nav-link::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:#2563eb;border-radius:1px;transition:width .25s ease}
.nav-link:hover::after,.nav-link.active::after{width:100%}
.field{width:100%;background:white;border:1.5px solid #e2e8f0;border-radius:.75rem;color:#1e293b;padding:.875rem 1rem;font-size:.9375rem;font-family:inherit;transition:all .2s ease}
.field:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}
.field::placeholder{color:#94a3b8}
.photo-rnd{border-radius:1.5rem;overflow:hidden}
.photo-rnd-xl{border-radius:2rem;overflow:hidden}
.shadow-photo{box-shadow:0 25px 60px -15px rgba(100,116,139,.4)}
.shadow-photo-blue{box-shadow:0 20px 50px -15px rgba(37,99,235,.25)}
.bg-soft{background:#f8fafc}
.bg-navy{background:#0f172a}
img{image-rendering:-webkit-optimize-contrast;-ms-interpolation-mode:bicubic}
.svc-img-wrap{height:220px;overflow:hidden;flex-shrink:0;border-bottom:1px solid #f1f5f9}
.svc-img-wrap img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.photo-rnd,.photo-rnd-xl{border:1px solid rgba(241,245,249,.9)}
.mauricio-photo{aspect-ratio:3/4;overflow:hidden;max-width:100%;width:100%}
.mauricio-photo img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center top}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-scroll{animation:ticker 32s linear infinite}
.ticker-scroll:hover{animation-play-state:paused}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.fade-up{opacity:0;will-change:opacity,transform;animation:fadeUp .38s cubic-bezier(.22,1,.36,1) both}
.fade-up.done{will-change:auto}
.delay-1{animation-delay:.1s}
.delay-2{animation-delay:.2s}
.delay-3{animation-delay:.3s}
.delay-4{animation-delay:.4s}
.delay-5{animation-delay:.5s}
.faq2-item{border-bottom:1.5px solid #f1f5f9;transition:border-color .2s ease}
.faq2-item:last-child{border-bottom:none}
.faq2-item.faq2-open{border-color:#bfdbfe}
.faq2-btn{display:flex;align-items:center;gap:1rem;width:100%;padding:1.375rem 0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;-webkit-tap-highlight-color:transparent}
.faq2-btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:.5rem}
.faq2-num{font-size:.6875rem;font-weight:700;color:#94a3b8;letter-spacing:.12em;width:1.75rem;flex-shrink:0;transition:color .2s ease;padding-top:.1em}
.faq2-item.faq2-open .faq2-num{color:#2563eb}
.faq2-q{flex:1;font-size:1rem;font-weight:600;color:#1e293b;line-height:1.45}
.faq2-chevron{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;transition:background .25s ease,transform .35s cubic-bezier(.4,0,.2,1)}
.faq2-chevron svg{width:.875rem;height:.875rem;color:#64748b;transition:color .25s ease}
.faq2-item.faq2-open .faq2-chevron{background:#eff6ff;transform:rotate(180deg)}
.faq2-item.faq2-open .faq2-chevron svg{color:#2563eb}
.faq2-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.4,0,.2,1)}
.faq2-item.faq2-open .faq2-panel{grid-template-rows:1fr}
.faq2-body{overflow:hidden;min-height:0;padding-bottom:1.375rem;padding-left:calc(1.75rem + 1rem);color:#64748b;font-size:.9375rem;line-height:1.75}
.faq2-body strong{color:#334155;font-weight:600}
@media(max-width:640px){.faq2-q{font-size:.9375rem}.faq2-body{padding-left:0;font-size:.875rem}.faq2-num{display:none}}
.pain-red{background:#fff1f2;border:1.5px solid #fecdd3;border-radius:1.25rem;padding:2rem;text-align:center}
.pain-neutral{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:1.25rem;padding:2rem;text-align:center}
@media(max-width:1023px){section:not(#hero){padding-top:2rem!important;padding-bottom:2rem!important}}
@media(max-width:767px){
  section:not(#hero){padding-top:1.5rem!important;padding-bottom:1.5rem!important;overflow-x:hidden!important}
  .max-w-7xl.mx-auto:not(.page-container),.max-w-4xl.mx-auto,.max-w-3xl.mx-auto{padding-left:1rem!important;padding-right:1rem!important}
  img:not(.logo-han):not(.svc-img-wrap img){max-width:100%;height:auto}
  .svc-img-wrap{height:150px}
  .svc-img-wrap img{height:100%!important;max-width:none!important}
  .mauricio-photo img{height:100%!important;max-width:100%!important;width:100%}
  body{overflow-wrap:break-word;word-break:break-word}
  h1 br,section h2 br{display:none}
  section h2{font-size:1.5rem!important;line-height:1.25!important}
  .mb-6{margin-bottom:.75rem!important}
  .mb-8{margin-bottom:.875rem!important}
  .mb-10,.mb-12,.mb-14,.mb-16{margin-bottom:1rem!important}
  .mt-8,.mt-10,.mt-12,.mt-14{margin-top:.75rem!important}
  .gap-5,.gap-6{gap:.75rem!important}
  .gap-12,.gap-16,.gap-20{gap:.875rem!important}
  .mobile-nav-panel{padding:.5rem 1rem 1rem!important}
  .mobile-nav-panel>a,.mobile-nav-panel .btn-primary{min-height:48px;display:flex!important;align-items:center}
  .card-light.p-5,.card-light.p-7{padding:1rem!important}
  .sec-head{margin-bottom:1rem!important}
  .sec-head .text-4xl,.sec-head .text-5xl{font-size:1.5rem!important;line-height:1.25!important}
  .sec-head p.text-lg,.sec-head .mt-5{font-size:.875rem!important;margin-top:.375rem!important}
  .pain-red,.pain-neutral{padding:1rem!important}
  .pain-grid .text-5xl{font-size:2rem!important}
  .pain-grid .mb-4{margin-bottom:.5rem!important}
  .ticker-band{padding-top:.75rem!important;padding-bottom:.75rem!important;min-height:52px}
  .service-card .p-7{padding:1rem!important}
  .svc-grid>.service-card{width:82vw}
  .method-grid>.step-item{padding:1rem!important;width:78vw}
  .bigfour-photo{padding-bottom:2.5rem!important;margin-top:.5rem!important}
  .bigfour-photo .absolute{display:none!important}
  .fact24-inner{padding:1.125rem!important}
  .fact24-header{flex-direction:column!important;align-items:flex-start!important;gap:.625rem!important;margin-bottom:1rem!important;padding-bottom:.75rem!important}
  #cap-abiertos{display:none}
  #cap-inhouse{display:block}
  .cap-tabs button{min-height:44px;flex:1;font-size:.75rem;font-weight:600;padding:.5rem .625rem;border-radius:.75rem;border:1.5px solid #e2e8f0;background:#fff;color:#64748b;transition:all .2s}
  .cap-tabs button.cap-tab-active{background:#4f46e5;color:#fff;border-color:#4f46e5}
  .cap-pilares{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.625rem!important;padding-bottom:.5rem}
  .cap-pilares::-webkit-scrollbar{display:none}
  .cap-pilares>div{scroll-snap-align:start;flex-shrink:0;width:72vw;min-width:0}
  .industries-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.75rem!important;padding-bottom:1rem}
  .industries-grid::-webkit-scrollbar{display:none}
  .industries-grid>.card-light{scroll-snap-align:start;width:78vw;flex-shrink:0;min-height:0!important}
  .guia-card{padding:1.25rem!important;border-radius:1.25rem!important}
  .guia-card .lg\:flex{gap:1rem!important}
  .navy-cta{padding-top:2rem!important;padding-bottom:2rem!important}
  .navy-cta h2{font-size:1.5rem!important;margin-bottom:.875rem!important}
  .navy-cta p.text-lg{font-size:.875rem!important;margin-bottom:1rem!important}
  .faq2-btn{padding:1rem 0;min-height:48px}
  .faq2-body{padding-bottom:1rem}
}
.svc-grid,.method-grid{position:relative}
@media(max-width:767px){
  .svc-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:1.5rem;gap:1rem!important}
  .svc-grid::-webkit-scrollbar{display:none}
  .svc-grid>.service-card{scroll-snap-align:start;width:83vw;flex-shrink:0;min-width:0}
  .svc-grid>.service-card:last-child{margin-right:1.25rem}
}
@media(max-width:1023px){
  .method-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:1.5rem;gap:1rem!important;align-items:stretch}
  .method-grid::-webkit-scrollbar{display:none}
  .method-grid>.step-item{scroll-snap-align:start;width:74vw;flex-shrink:0;min-width:0;flex-direction:column!important;background:white;border-radius:1.25rem;padding:1.5rem;border:1px solid #f1f5f9;box-shadow:0 2px 12px rgba(0,0,0,.06)}
  .method-grid>.step-item:last-child{margin-right:1.25rem}
  .method-grid>.step-item>div.lg\:mt-6{margin-top:.75rem}
}
@media(max-width:767px){
  .swipe-hint{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:#94a3b8;margin-top:.75rem;letter-spacing:.04em}
  .swipe-hint svg{width:.875rem;height:.875rem}
}
@media(min-width:768px){
  .swipe-hint{display:none}
  #cap-abiertos,#cap-inhouse{display:block!important}
}
@media(max-width:639px){.pain-red,.pain-neutral{padding:1.25rem}}
