/* Diseño de inicio de CNUS, con medios alojados en la biblioteca de Unolet Sites. */
.cnus-site:has(.cnus-home-root) .cnus-main{max-width:none;width:100%;padding:0;margin:0;min-height:0}
.cnus-home-root{--cnus-home-ink:#25234c;--cnus-home-purple:#2c206f;--cnus-home-accent:#2f206f;--cnus-home-max:1280px;color:var(--cnus-home-ink)}
.cnus-home-root h1,.cnus-home-root h2,.cnus-home-root h3{font-family:"Arial Narrow","Roboto Condensed",Arial,sans-serif;font-stretch:condensed;font-weight:700;letter-spacing:-.025em;color:var(--cnus-home-ink)}
.cnus-home-root p{line-height:1.65}
.cnus-home-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:center;gap:42px;padding:75px max(28px,calc((100vw - 1240px)/2));min-height:440px;margin:0;color:#fff;background-color:#30218b;background-image:linear-gradient(90deg,rgba(31,13,113,.78),rgba(40,24,132,.52) 55%,rgba(45,19,135,.34)),url("/_media/ea842a29-42b8-4a96-abe2-0022782b504e.webp");background-position:center center;background-size:cover;background-repeat:no-repeat}
.cnus-home-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,11,70,.31),transparent 70%);pointer-events:none}
.cnus-home-hero-copy{min-width:0}
.cnus-home-hero h1{color:#fff;font-size:clamp(38px,4.4vw,66px);line-height:1.1;margin:0 0 26px;letter-spacing:-.024em;text-shadow:0 2px 12px rgb(20 10 65/.16)}
.cnus-home-hero-mark{display:flex;justify-content:center;align-items:center}
.cnus-home-hero-mark img{display:block;width:min(100%,350px);height:auto;object-fit:contain;filter:drop-shadow(0 8px 12px rgb(0 0 0/.12))}
.cnus-home-root .cnus-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 26px;background:var(--cnus-home-accent);border:1px solid var(--cnus-home-accent);border-radius:2px;color:#fff;text-align:center;font-weight:600;font-size:14px;line-height:1.4;text-decoration:none}
.cnus-home-root .cnus-action:hover,.cnus-home-root .cnus-action:focus-visible{background:#201752;border-color:#201752;color:#fff;text-decoration:none}
.cnus-home-hero .cnus-action{background:#009b38;border-color:#009b38}
.cnus-home-hero .cnus-action:hover,.cnus-home-hero .cnus-action:focus-visible{background:#007c31;border-color:#007c31}
.cnus-home-intro{max-width:var(--cnus-home-max);margin:auto;padding:92px 28px 96px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,5vw,90px);align-items:center}
.cnus-home-gallery{position:relative;width:100%;max-width:550px;aspect-ratio:1.26;min-height:0;margin:0}
.cnus-home-gallery img{position:absolute;display:block;object-fit:cover;height:auto;max-width:none;margin:0}
.cnus-home-gallery img:nth-child(1){width:26%;height:39%;left:17.5%;top:2%}
.cnus-home-gallery img:nth-child(2){width:49%;height:60%;left:47%;top:0}
.cnus-home-gallery img:nth-child(3){width:43%;height:52%;left:0;bottom:0}
.cnus-home-gallery img:nth-child(4){width:30%;height:34%;left:47%;bottom:0}
.cnus-home-about{margin:0}
.cnus-home-about .cnus-home-copy{max-width:470px;margin:0}
.cnus-home-about h2{font-size:clamp(34px,3vw,47px);line-height:1.15;margin:0 0 16px}
.cnus-home-about p{font-size:16px;margin:0 0 17px;color:#454966}
.cnus-home-about .cnus-action{margin-top:15px}
.cnus-home-section{margin:0}
.cnus-home-services{max-width:1360px;margin:auto;padding:55px 28px 65px;text-align:center}
.cnus-home-services h2{font-size:clamp(36px,3.2vw,48px);line-height:1.16;margin:0 0 14px}
.cnus-home-services>p:first-of-type{max-width:1090px;margin:0 auto 55px;font-size:16px;color:#50567b}
.cnus-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0 auto 24px;text-align:left}
.cnus-service{min-width:0}
.cnus-service img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;margin:0 0 18px;max-width:100%;}
.cnus-service h3{font-family:inherit;font-weight:700;letter-spacing:-.01em;font-size:17px;line-height:1.35;margin:0 0 14px;text-decoration:underline;text-underline-offset:2px;color:var(--cnus-home-ink)}
.cnus-service p{font-size:15px;line-height:1.6;margin:0;color:#545879}
.cnus-home-services>p:last-child{color:#646477;font-size:14px;margin:38px auto 0;max-width:1000px}
.cnus-home-approach{max-width:990px;text-align:center;margin:auto;padding:55px 28px 80px}
.cnus-home-approach h2{font-size:clamp(36px,3.2vw,48px);line-height:1.15;margin:0 0 24px}
.cnus-home-approach p{font-size:16px;line-height:1.65;color:#525878;margin:0 auto 22px;max-width:880px}
.cnus-home-approach .cnus-action{margin-top:20px;background:#477df5;border-color:#477df5;border-radius:25px;padding-left:36px;padding-right:36px}
.cnus-home-approach .cnus-action:hover{background:#265ce0;border-color:#265ce0}
.cnus-home-location{margin:0;background:#e5e5e5}
.cnus-home-location iframe{display:block;border:0;width:100%;height:340px;min-height:0}
.cnus-home-contact{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(340px,1.1fr);gap:clamp(35px,7vw,100px);padding:65px max(28px,calc((100vw - 1200px)/2));align-items:center;background:#30206f;color:#fff}
.cnus-contact-image{display:flex;justify-content:center;align-items:end}
.cnus-contact-image img{display:block;max-width:100%;max-height:490px;width:auto;height:auto;object-fit:contain;object-position:bottom}
.cnus-home-contact h2{color:#fff;font-size:clamp(30px,2.7vw,42px);margin:0 0 22px;line-height:1.12}
.cnus-contact-kicker{font-size:18px;margin:0 0 6px!important;color:#fff}
.cnus-contact-fields{display:grid;gap:14px}
.cnus-contact-fields label{display:grid;gap:6px;font-size:14px;color:#fff}
.cnus-contact-fields input,.cnus-contact-fields textarea{width:100%;max-width:100%;display:block;padding:10px 12px;background:#fff;color:#202020;border:1px solid #e8e8e8;border-radius:0;font:inherit;min-height:41px}
.cnus-contact-fields textarea{resize:vertical;min-height:140px}
.cnus-contact-fields button{justify-self:start;padding:10px 24px;background:#ddd;border:1px solid #ddd;color:#555;border-radius:0;font:inherit;cursor:not-allowed}
.cnus-contact-note{font-size:13px;color:#eee;margin:16px 0 0!important}
.cnus-contact-note a{color:#fff!important;text-decoration:underline}
@media(max-width:1000px){.cnus-home-hero{gap:20px;min-height:365px;padding:62px 30px}.cnus-home-intro{padding:75px 28px;gap:32px}.cnus-home-gallery{max-width:440px}.cnus-services-grid{gap:22px}.cnus-service h3{font-size:16px}.cnus-home-contact{padding:60px 30px}}
@media(max-width:800px){.cnus-home-hero{grid-template-columns:minmax(0,1fr) minmax(180px,.6fr)}.cnus-home-hero h1{font-size:clamp(36px,6vw,54px)}.cnus-home-intro{grid-template-columns:1fr 1fr;gap:24px}.cnus-home-about h2{font-size:35px}.cnus-home-about p{font-size:14px}.cnus-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.cnus-home-contact{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cnus-home-hero{grid-template-columns:1fr;padding:50px 22px 42px;min-height:0;gap:18px;text-align:left}.cnus-home-hero h1{font-size:clamp(35px,9vw,45px);margin-bottom:22px}.cnus-home-hero-mark img{max-width:210px}.cnus-home-intro{grid-template-columns:1fr;padding:54px 22px 65px;gap:36px}.cnus-home-gallery{width:100%;max-width:445px;margin:auto}.cnus-home-about .cnus-home-copy{max-width:100%}.cnus-home-about h2{font-size:35px}.cnus-home-services{padding:30px 22px 50px}.cnus-home-services h2,.cnus-home-approach h2{font-size:36px}.cnus-home-services>p:first-of-type{margin-bottom:30px}.cnus-services-grid{grid-template-columns:1fr;gap:26px}.cnus-home-services>p:last-child{margin-top:34px}.cnus-home-approach{padding:36px 22px 60px}.cnus-home-location iframe{height:290px}.cnus-home-contact{grid-template-columns:1fr;padding:45px 22px 50px;gap:20px}.cnus-contact-image img{max-height:260px}.cnus-home-contact h2{font-size:30px}}

/* Ronda 15: integración del formulario nativo de Unolet, conservando el diseño CNUS. */
.cnus-contact-fields .unolet-form{min-width:0;width:100%;color:#fff}
.cnus-contact-fields .unolet-form>h2{margin:0 0 22px;color:#fff}
.cnus-contact-fields .unolet-form form,
.cnus-contact-fields .unolet-form>div[aria-label]{display:grid;gap:14px}
.cnus-contact-fields .unolet-form-field{display:grid;gap:6px;min-width:0}
.cnus-contact-fields .unolet-form-field label{display:block;font-size:14px;color:#fff;font-weight:500}
.cnus-contact-fields .unolet-form-field input,
.cnus-contact-fields .unolet-form-field textarea{box-sizing:border-box;width:100%;margin:0;border:1px solid #d8d8e1;border-radius:0;padding:11px 12px;background:#fff;color:#252334;font:inherit}
.cnus-contact-fields .unolet-form-field textarea{resize:vertical;min-height:140px}
.cnus-contact-fields .unolet-form-field input:focus-visible,
.cnus-contact-fields .unolet-form-field textarea:focus-visible{outline:3px solid #92c2ff;outline-offset:2px}
.cnus-contact-fields .unolet-form-field input:disabled,
.cnus-contact-fields .unolet-form-field textarea:disabled{opacity:.85;cursor:not-allowed}
.cnus-contact-fields .unolet-form button[type="submit"]{justify-self:start;padding:11px 27px;background:#fff;border:1px solid #fff;color:#2d206f;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.cnus-contact-fields .unolet-form button[type="submit"]:hover,
.cnus-contact-fields .unolet-form button[type="submit"]:focus-visible{background:#e1dafa;border-color:#e1dafa;color:#241957}
.cnus-contact-fields .unolet-form [role="alert"]{padding:12px 14px;border-left:4px solid #ffd166;background:rgb(255 255 255 / .12);margin-bottom:16px}
.cnus-contact-fields .unolet-form [role="status"]{padding:12px 14px;border-left:4px solid #90e0ac;background:rgb(255 255 255 / .12);margin-bottom:16px}
.cnus-contact-fields .unolet-form small{color:#e9e6f3}

/* Ronda 16B: imagen de Contacto apoyada en el borde inferior del bloque morado.
   La compensación corresponde al padding inferior del bloque en cada breakpoint. */
#cnus-contacto{align-items:stretch}
#cnus-contacto .cnus-contact-image{
  align-self:stretch;
  align-items:flex-end;
  justify-content:center;
  margin-bottom:-65px;
}
#cnus-contacto .cnus-contact-image img{
  display:block;
  margin:0;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:490px;
  object-fit:contain;
  object-position:center bottom;
  vertical-align:bottom;
}
@media(max-width:1000px){
  #cnus-contacto .cnus-contact-image{margin-bottom:-60px}
}
@media(max-width:620px){
  /* En pantallas pequeñas, la imagen conserva su fila sin superponerse al formulario. */
  #cnus-contacto{align-items:center}
  #cnus-contacto .cnus-contact-image{align-self:center;margin-bottom:0}
  #cnus-contacto .cnus-contact-image img{max-height:260px}
}

/* Mapa estático accesible de CNUS con teselas OSM: sin iframe, compatible con CSP. */
.cnus-home-location{margin:0;background:#e8ebef}
.cnus-map-surface{position:relative;isolation:isolate;overflow:hidden;height:340px;background:#e8ebef}
.cnus-map-tiles{
  display:grid;grid-template-columns:repeat(8,256px);grid-auto-rows:256px;
  position:absolute;left:calc(50% - 999px);top:calc(50% - 433px);
  width:2048px;height:768px;max-width:none;pointer-events:none;
}
.cnus-map-tiles img{display:block;width:256px;height:256px;min-width:256px;max-width:none;object-fit:fill;border:0;margin:0;padding:0}
.cnus-map-marker{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-100%);display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.28))}
.cnus-map-marker svg{display:block;width:44px;height:58px}
.cnus-map-label{position:absolute;left:50%;top:calc(50% - 90px);z-index:2;transform:translateX(-50%);background:#fff;color:#30216f;border-radius:3px;padding:7px 13px;font-size:14px;font-weight:700;line-height:1.4;white-space:nowrap;box-shadow:0 2px 10px rgb(0 0 0 / .16)}
.cnus-map-link{position:absolute;left:20px;bottom:20px;z-index:3;display:inline-flex;align-items:center;min-height:42px;padding:9px 16px;background:#30216f;color:#fff!important;border-radius:3px;text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 2px 10px rgb(0 0 0 / .2)}
.cnus-map-link:hover,.cnus-map-link:focus-visible{background:#211752;color:#fff!important;text-decoration:none}
.cnus-map-link:focus-visible{outline:3px solid #fff;outline-offset:2px}
.cnus-map-attribution{position:absolute;right:8px;bottom:8px;z-index:3;background:rgba(255,255,255,.94);padding:3px 6px;border-radius:2px;color:#30323a;font-size:11px;line-height:1.4}
.cnus-map-attribution a{color:#2452a5;text-decoration:underline}
@media(max-width:620px){
  .cnus-map-surface{height:290px}
  .cnus-map-label{font-size:13px;top:calc(50% - 82px)}
  .cnus-map-marker svg{width:38px;height:50px}
  .cnus-map-link{left:12px;bottom:25px;min-height:40px;padding:8px 11px;font-size:12px}
  .cnus-map-attribution{right:6px;bottom:5px;font-size:10px}
}
