*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#081d37;color:#f5faff;font-family:Arial,Helvetica,sans-serif}button,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #42e3e0;outline-offset:3px}.art{position:relative;width:100%;max-width:1920px;margin:0 auto;line-height:0}.art img{display:block;width:100%;height:auto}.hotspot{position:absolute;display:block;background:transparent;border:0;padding:0;border-radius:5px;line-height:normal;text-decoration:none;color:transparent;font-size:0}.hotspot:focus-visible{outline:3px solid #39e7e6;outline-offset:-2px;background:#20d5d320}.mobile-actions{display:none}.overlay[hidden],.popover[hidden]{display:none!important}.overlay{position:fixed;inset:0;z-index:100;background:#06182ddc;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.dialog{position:relative;width:min(100%,540px);padding:32px;border:1px solid #5480a4;border-radius:20px;background:#0b2c50;box-shadow:0 26px 90px #0006;line-height:1.5}.dialog h2{font-size:27px;line-height:1.15;margin:0 40px 12px 0}.dialog p{color:#c6d9e9;font-size:14px;margin:0 0 22px}.close{position:absolute;right:18px;top:16px;border:1px solid #607e9a;background:#123a61;color:white;border-radius:50%;width:36px;height:36px;font-size:23px}.choice{width:100%;padding:18px;text-align:left;border:1px solid #456c90;background:#10395f;color:#fff;border-radius:12px;margin:0 0 12px;display:block;text-decoration:none}.choice strong{display:block;font-size:17px;margin-bottom:4px}.choice span{display:block;color:#c4d9e9;font-size:13px}.choice.primary{border-color:#1fd0cf;background:#0b5969}.choice.primary strong{color:#5af0e8}.small-link{border:0;background:none;color:#75dfea;text-decoration:underline;padding:10px 0}.popover{position:absolute;z-index:30;top:10%;right:23%;width:250px;max-width:90vw;padding:10px;background:#0c3158;border:1px solid #5381a6;border-radius:12px;box-shadow:0 12px 35px #00172f77;line-height:1.4}.popover a,.popover button{display:block;width:100%;text-align:left;border:0;background:none;color:#e8f4ff;text-decoration:none;padding:12px;border-radius:7px;font-size:14px}.popover a:hover,.popover button:hover{background:#19517a}.popover small{display:block;color:#a4bed1;padding:9px 12px;font-size:12px}.resources{width:min(100%,660px)}.resources h2{margin-bottom:16px}.resource-row{border:1px solid #40698c;border-radius:10px;padding:14px;margin:10px 0}.resource-row strong{display:block}.resource-row p{margin:5px 0 10px}.resource-row a{color:#70e4e7;text-decoration:underline;font-size:14px}.mobile-menu{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:720px){.art{max-width:100%;overflow:hidden}.mobile-actions{display:flex;flex-direction:column;gap:10px;padding:16px;background:#081d37}.mobile-actions button{min-height:48px;border-radius:11px;border:1px solid #39c9d0;background:#0c4164;color:#fff;font-weight:700}.mobile-actions .primary{background:#12bdb9;color:#073247}.mobile-menu{display:flex;justify-content:space-between;gap:10px}.mobile-menu button{flex:1;background:transparent;font-size:13px}.popover{position:fixed;top:auto;bottom:15px;left:15px;right:15px;width:auto}.dialog{padding:25px 20px}.dialog h2{font-size:23px}.hotspot{display:none}.art img{width:100%;height:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V413: only the approved map nodes receive a soft light pulse. */
.map-lights{position:absolute;inset:0;pointer-events:none;z-index:1}
.map-light{position:absolute;left:var(--x);top:var(--y);width:3.2%;aspect-ratio:1;
 transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
 background:radial-gradient(circle,#fff8d0 0%,#ffe19b 9%,#ffbf5c 18%,rgba(255,183,75,.52) 30%,rgba(31,190,255,.22) 48%,transparent 72%);
 mix-blend-mode:screen;animation:ml-node-pulse 4.6s ease-in-out infinite;
 animation-delay:var(--delay);opacity:.1}
@keyframes ml-node-pulse{
 0%,100%{opacity:.08;scale:.85}
 35%{opacity:.85;scale:1}
 60%{opacity:1;scale:1.12}
 83%{opacity:.18;scale:.92}
}
@media(prefers-reduced-motion:reduce){
 .map-light{animation:none;opacity:.18;scale:1}
}


/* V415: the complete original logo is part of the background artwork. */
.brand-hotspot{z-index:3}
@media(max-width:720px){.hotspot.brand-hotspot{display:block}}

/* V417 — only the three approved navigation tabs. */
.art{container-type:inline-size}
.ml417-nav{position:absolute;left:32%;top:3.65%;width:35.5%;height:5.5%;z-index:3;
 display:flex;align-items:center;justify-content:center;gap:2.15cqw;line-height:1.25}
.ml417-nav button{appearance:none;border:0;background:none;color:#eaf3fb;
 padding:.4em 0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(10px,.96cqw,16px);
 font-weight:500;white-space:nowrap;cursor:pointer}
.ml417-nav button:hover{color:#4fe0e0}
.ml417-nav button:focus-visible{outline:2px solid #42e3e0;outline-offset:5px;border-radius:2px}
@media(max-width:720px){
 .ml417-nav{display:none}
 .mobile-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .mobile-menu button{min-width:0;white-space:normal;line-height:1.3;padding:10px 7px}
}

/* V97 — CTAs integradas en la portada aprobada. El borde rojo forma parte del arte; los hotspots son invisibles y solo aportan interacción. */
.cta-hotspot{z-index:4;display:block;background:transparent;border:0;box-shadow:none;color:transparent;padding:0;border-radius:14px;line-height:normal;font-size:0;}
.cta-hotspot span{display:none;}
.cta-hotspot:hover,.cta-hotspot:active{background:transparent;border:0;box-shadow:none;transform:none;}
@media(max-width:720px){.cta-hotspot{display:none;}.mobile-actions button{font-size:14px;}}

/* V113: hotspots sobre portada aprobada */
.social-hotspot{line-height:normal}

.seo-resource-links{line-height:1.8}.seo-resource-links a{font-weight:700}

/* Autoría de marca */
.autor-mi-licitador{
  margin: 18px auto;
  max-width: 980px;
  padding: 0 20px;
  font-size: .9rem;
  line-height: 1.5;
  opacity: .78;
}
