:root{--red:#d90816;--ink:#080808;--paper:#fff;--header-height:112px;--max-width:1540px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Arial Narrow","Roboto Condensed",Impact,Arial,sans-serif;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;z-index:9999;left:1rem;top:-5rem;padding:.75rem 1rem;background:#000;color:#fff;text-decoration:none}.skip-link:focus{top:1rem}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.site-header{position:sticky;top:0;z-index:1000;min-height:var(--header-height);background:rgba(255,255,255,.98);border-bottom:4px solid #111;box-shadow:0 3px 18px rgba(0,0,0,.08)}.header-inner{width:min(100%,var(--max-width));min-height:var(--header-height);margin:0 auto;padding:7px clamp(16px,3vw,46px);display:flex;align-items:center;justify-content:space-between;gap:clamp(18px,3vw,54px)}.brand{display:block;width:clamp(220px,22vw,355px);flex:0 0 auto}.brand img{width:100%;height:92px;object-fit:contain}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(16px,1.9vw,34px);white-space:nowrap}.nav-link{position:relative;padding:14px 0 13px;text-decoration:none;color:#111;font-size:clamp(.93rem,1.05vw,1.18rem);font-weight:900;letter-spacing:-.025em;text-transform:uppercase;transform:skewX(-3deg)}.nav-link:after{content:"";position:absolute;left:50%;right:50%;bottom:5px;height:3px;background:var(--red);transition:left .2s ease,right .2s ease}.nav-link:hover:after,.nav-link:focus-visible:after,.nav-link.is-active:after{left:0;right:0}.nav-link.is-active{color:var(--red)}.menu-toggle{display:none}.hero{position:relative;width:100%;background:#10070a;overflow:hidden;border-bottom:5px solid #0a0a0a}.hero picture,.hero img{width:100%}.hero img{aspect-ratio:1672/941;object-fit:cover;object-position:center}.services-comic{position:relative;overflow:hidden;background-color:#fff;background-image:radial-gradient(circle at 12% 5%,rgba(215,8,22,.08) 0 2px,transparent 2.5px),radial-gradient(circle at 88% 95%,rgba(0,0,0,.07) 0 2px,transparent 2.5px);background-size:18px 18px,22px 22px}.comic-layout{width:100%;margin:0;display:grid;grid-template-columns:minmax(120px,1fr) minmax(560px,1120px) minmax(120px,1fr);align-items:stretch;justify-content:stretch;min-height:0}.side-art{min-width:0;min-height:100%;overflow:hidden;background-repeat:no-repeat;background-size:cover;background-position:center center;pointer-events:none;user-select:none}.side-art-left{background-image:url("../images/lateral-izquierdo.webp");background-position:right center}.side-art-right{background-image:url("../images/lateral-derecho.webp");background-position:left center}.services-board{position:relative;align-self:center;margin:clamp(20px,2vw,34px) 0;isolation:isolate;filter:drop-shadow(0 9px 10px rgba(0,0,0,.18))}.services-image{width:100%;height:auto}.service-hotspots{position:absolute;inset:0;z-index:2}.service-hotspots a{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border:2px solid transparent;outline:none;transition:background .18s ease,box-shadow .18s ease}.service-hotspots a:hover,.service-hotspots a:focus-visible{background:rgba(216,8,22,.10);box-shadow:inset 0 0 0 4px rgba(255,255,255,.9),inset 0 0 0 7px var(--red)}.contact-strip{position:relative;padding:clamp(20px,3vw,42px) clamp(14px,3vw,50px) clamp(22px,3vw,46px);background:#fff;border-top:4px solid #111}.contact-strip:before,.contact-strip:after{content:"";position:absolute;width:24%;height:90px;opacity:.14;pointer-events:none;background-image:radial-gradient(circle,#111 0 2px,transparent 2.4px);background-size:12px 12px}.contact-strip:before{left:0;top:0;mask-image:linear-gradient(90deg,#000,transparent)}.contact-strip:after{right:0;bottom:0;mask-image:linear-gradient(270deg,#000,transparent)}.contact-wrap{position:relative;width:min(100%,1500px);margin:0 auto}.contact-wrap img{width:100%;height:auto}.contact-hotspots{position:absolute;inset:0}.contact-hotspots a{position:absolute;top:22%;height:60%;border-radius:12px;outline:none}.contact-hotspots a:hover,.contact-hotspots a:focus-visible{box-shadow:inset 0 0 0 4px rgba(216,8,22,.72)}.contact-whatsapp{left:4%;width:34%}.contact-instagram{left:39%;width:32%}.contact-location{left:72%;width:24%}.site-footer{min-height:74px;padding:18px clamp(16px,4vw,58px);display:flex;align-items:center;justify-content:space-between;gap:18px;background:#090909;color:#fff;border-top:7px solid var(--red);font-family:Arial,sans-serif;font-size:.88rem}.site-footer p{margin:0}.site-footer a{color:#fff;text-decoration:none;font-weight:700}.site-footer a:hover{color:#ff3340}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:1240px){:root{--header-height:98px}.header-inner{padding-inline:18px}.brand{width:235px}.brand img{height:78px}.main-nav{gap:16px}.nav-link{font-size:.86rem}.comic-layout{grid-template-columns:minmax(96px,1fr) minmax(520px,78vw) minmax(96px,1fr)}}@media(max-width:980px){:root{--header-height:86px}.site-header{border-bottom-width:3px}.header-inner{min-height:var(--header-height);padding-block:5px}.brand{width:202px}.brand img{height:70px}.menu-toggle{display:grid;place-items:center;width:48px;height:48px;padding:11px;border:3px solid #111;background:#fff;cursor:pointer}.menu-toggle span{display:block;width:24px;height:3px;margin:2px 0;background:#111;transition:transform .2s ease,opacity .2s ease}.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)}.main-nav{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - var(--header-height));overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:10px 16px 18px;background:#fff;border-bottom:4px solid #111;box-shadow:0 10px 22px rgba(0,0,0,.16);transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.main-nav.is-open{transform:none;opacity:1;visibility:visible;pointer-events:auto}.nav-link{padding:16px 10px;border-bottom:1px solid #dedede;text-align:center;font-size:1rem}.comic-layout{grid-template-columns:10.5vw minmax(0,79vw) 10.5vw;min-height:auto}}@media(max-width:720px){.hero img{aspect-ratio:941/1672;object-fit:cover;object-position:center}.comic-layout{width:100%;grid-template-columns:clamp(34px,10.5vw,74px) minmax(0,1fr) clamp(34px,10.5vw,74px)}.side-art{background-size:cover;background-position:center center}.services-board{margin:14px 0;filter:drop-shadow(0 5px 5px rgba(0,0,0,.18))}.contact-strip{padding:13px 5px 15px;border-top-width:3px}.site-footer{flex-direction:column;text-align:center;padding-block:16px}}@media(max-width:520px){:root{--header-height:78px}.header-inner{padding-inline:10px}.brand{width:178px}.brand img{height:64px}.menu-toggle{width:44px;height:44px}.main-nav{grid-template-columns:1fr;padding:5px 12px 12px}.nav-link{padding:13px 8px}.comic-layout{grid-template-columns:34px minmax(0,1fr) 34px}.contact-wrap{overflow:hidden}.contact-wrap img{width:166%;max-width:none;transform:translateX(-20%)}.contact-hotspots{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Footer y franja de contacto responsivos */
.contact-desktop{position:relative;width:100%}
.contact-desktop>img{width:100%;height:auto}
.contact-responsive{display:none}
.site-footer{display:block;padding:0;min-height:0}
.footer-inner{width:min(100%,var(--max-width));min-height:74px;margin:0 auto;padding:16px clamp(16px,4vw,58px);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(220px,auto);align-items:center;gap:18px 30px}
.footer-copy{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:.32rem;line-height:1.45}
.footer-dot{width:10px;height:10px;flex:0 0 auto;background:var(--red);border:2px solid #fff;box-shadow:0 0 0 2px var(--red);transform:rotate(45deg);margin-right:5px}
.footer-links{display:flex;align-items:center;justify-content:center;gap:8px}
.footer-links a,.footer-credit{position:relative;display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border:2px solid transparent;text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.03em;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease}
.footer-links a:after{content:"";position:absolute;left:11px;right:11px;bottom:4px;height:2px;background:var(--red);transform:scaleX(0);transition:transform .18s ease}
.footer-links a:hover:after,.footer-links a:focus-visible:after{transform:scaleX(1)}
.footer-links a:hover,.footer-links a:focus-visible,.footer-credit:hover,.footer-credit:focus-visible{color:#fff;background:#1a1a1a;border-color:var(--red);outline:none;transform:translateY(-1px)}
.footer-credit{justify-self:end;color:#fff;text-align:center}

@media(max-width:900px){
  .contact-strip{padding:clamp(18px,3vw,30px) clamp(12px,2.5vw,24px) clamp(20px,3vw,32px)}
  .contact-desktop{display:none}
  .contact-responsive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,18px);position:relative;z-index:1}
  .contact-card{position:relative;display:grid;place-items:center;min-width:0;overflow:hidden;background:#fff;border:4px solid #0a0a0a;box-shadow:7px 7px 0 rgba(216,8,22,.95);text-decoration:none;isolation:isolate;transition:transform .18s ease,box-shadow .18s ease}
  .contact-card:before,.contact-card:after{content:"";position:absolute;z-index:-1;pointer-events:none}
  .contact-card:before{inset:0;background-image:radial-gradient(circle,#111 0 1px,transparent 1.45px);background-size:10px 10px;opacity:.055}
  .contact-card:after{right:-22px;top:-22px;width:80px;height:80px;background:var(--red);clip-path:polygon(100% 0,100% 100%,0 0);opacity:.95}
  .contact-card img{width:100%;height:clamp(120px,16vw,165px);object-fit:contain;padding:clamp(5px,1vw,10px);position:relative;z-index:1}
  .contact-card:hover,.contact-card:focus-visible{outline:none;transform:translate(-2px,-2px);box-shadow:10px 10px 0 #111}
  .footer-inner{grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding-block:18px}
  .footer-copy{grid-column:1/2}
  .footer-links{grid-column:2/3;grid-row:1/3}
  .footer-credit{grid-column:1/2;justify-self:start;padding-left:0}
}

@media(max-width:640px){
  .contact-strip{padding:15px 10px 22px}
  .contact-responsive{grid-template-columns:1fr;gap:14px;width:min(100%,520px);margin:0 auto}
  .contact-card{border-width:4px;box-shadow:6px 6px 0 rgba(216,8,22,.95)}
  .contact-card img{width:100%;height:auto;max-height:150px;object-fit:contain;padding:5px 8px}
  .footer-inner{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:20px 16px 22px;text-align:center}
  .footer-copy{justify-content:center}
  .footer-separator{display:none}
  .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,360px);margin:0 auto;gap:8px}
  .footer-links a{justify-content:center;border:2px solid #333;background:#111}
  .footer-credit{align-self:center;justify-content:center;padding:8px 12px}
}

@media(max-width:360px){
  .footer-copy{font-size:.82rem}
  .footer-links{grid-template-columns:1fr}
  .contact-card img{max-height:132px}
}
@media(max-width:520px){
  .contact-responsive .contact-card img{width:100%;max-width:100%;transform:none}
}


/* Footer móvil unificado con imagen vertical */
.contact-mobile-banner{display:none;position:relative;width:min(100%,420px);margin:0 auto;border:4px solid #0a0a0a;box-shadow:7px 7px 0 rgba(216,8,22,.95);background:#fff;overflow:hidden}
.contact-mobile-banner img{display:block;width:100%;height:auto;max-width:100%}
.contact-mobile-hotspots{position:absolute;inset:0}
.contact-mobile-hotspots a{position:absolute;left:6%;width:88%;border-radius:18px;outline:none}
.contact-mobile-hotspots a:hover,.contact-mobile-hotspots a:focus-visible{box-shadow:inset 0 0 0 4px rgba(216,8,22,.72);outline:none}
.contact-mobile-hotspots .mobile-whatsapp{top:2.8%;height:21.5%}
.contact-mobile-hotspots .mobile-instagram{top:26.5%;height:21.5%}
.contact-mobile-hotspots .mobile-location{top:50.5%;height:21.5%}

@media(max-width:640px){
  .contact-responsive{display:none}
  .contact-mobile-banner{display:block}
}

@media(max-width:360px){
  .contact-mobile-banner{box-shadow:5px 5px 0 rgba(216,8,22,.95)}
}

/* Corrección de centrado del footer móvil: neutraliza el recorte heredado de .contact-wrap img */
@media(max-width:640px){
  .contact-mobile-banner{
    width:min(calc(100% - 12px),420px);
    margin-left:auto;
    margin-right:auto;
  }
  .contact-mobile-banner img{
    width:100%;
    max-width:100%;
    height:auto;
    margin:0;
    transform:none !important;
    object-fit:contain;
    object-position:center;
  }
}
