/* Andinor Perforaciones - estilos del sitio */
* { box-sizing: border-box; }
body { margin: 0; }
.adn-root { font-family: 'Work Sans', 'Segoe UI', Arial, sans-serif; color: #1C2126; background: #fff; }
.adn-h { font-family: 'Baloo 2', 'Segoe UI', Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
img, video { max-width: 100%; }
/* Enlace "Saltar al contenido": invisible salvo al navegar con teclado */
.adn-skip { position:absolute; left:12px; top:-60px; z-index:100; padding:10px 16px; border-radius:8px; background:#0B6FA8; color:#fff; font:600 14px 'Work Sans', sans-serif; }
.adn-skip:focus { top:12px; }
.adn-navlink:hover { color: #0FA6DA !important; }
/* Página actual en el menú (build.ps1 agrega aria-current="page") */
.adn-navlink[aria-current="page"] { color: #0FA6DA !important; font-weight: 700 !important; }
/* Botones primarios: los estilos van inline, por eso el hover necesita !important */
a[style*="background:#0B6FA8"] { transition: background .15s ease; }
a[style*="background:#0B6FA8"]:hover { background: #085B8C !important; }
a[style*="background:#fff"][style*="border-radius:999px"]:hover { background: #E3F3FA !important; }
a[style*="border:1.5px solid #0B6FA8"]:hover { background: #0B6FA8 !important; color: #fff !important; }
a:focus-visible, label:focus-visible, button:focus-visible { outline: 2px solid #0FA6DA; outline-offset: 3px; }
.adn-card:hover { box-shadow: 0 12px 28px rgba(20,30,40,0.12); transform: translateY(-2px); }
.adn-card { transition: box-shadow .15s ease, transform .15s ease; }
.adn-toplink:hover { color: #0FA6DA; }

/* Formulario de contacto */
#adn-form input:focus, #adn-form select:focus, #adn-form textarea:focus { outline:none; border-color:#0FA6DA !important; box-shadow:0 0 0 3px rgba(15,166,218,0.18); }
#adn-form .adn-submit:hover { background:#085B8C !important; }
#adn-form .adn-submit:disabled { opacity:.6; cursor:wait; }

/* Menú hamburguesa (solo visible en pantallas angostas) */
.adn-burger { display:none; background:none; border:0; padding:8px; margin:-8px; cursor:pointer; color:#1C2126; }

/* Pure-CSS (radio-driven) carousel — used by the "Nuestros Proyectos"
   section on Nuestra historia. No JS dependency, so it works reliably
   inside a Design Canvas artboard. */
.adn-cs-radio { display:none; }
.adn-cs-slide { position:absolute; inset:0; display:none; }
#hcs1:checked ~ .adn-cs-slides .adn-cs-slide:nth-child(1),
#hcs2:checked ~ .adn-cs-slides .adn-cs-slide:nth-child(2),
#hcs3:checked ~ .adn-cs-slides .adn-cs-slide:nth-child(3),
#hcs4:checked ~ .adn-cs-slides .adn-cs-slide:nth-child(4),
#hcs5:checked ~ .adn-cs-slides .adn-cs-slide:nth-child(5),
#hcs6:checked ~ .adn-cs-slides .adn-cs-slide:nth-child(6) { display:block; }
.adn-cs-dot { display:inline-block; width:9px; height:9px; border-radius:50%; background:#C7CFD7; cursor:pointer; transition:background .15s ease; }
#hcs1:checked ~ .adn-cs-dots .adn-cs-dot:nth-child(1),
#hcs2:checked ~ .adn-cs-dots .adn-cs-dot:nth-child(2),
#hcs3:checked ~ .adn-cs-dots .adn-cs-dot:nth-child(3),
#hcs4:checked ~ .adn-cs-dots .adn-cs-dot:nth-child(4),
#hcs5:checked ~ .adn-cs-dots .adn-cs-dot:nth-child(5),
#hcs6:checked ~ .adn-cs-dots .adn-cs-dot:nth-child(6) { background:#0FA6DA; }
.adn-cs-arrow { cursor:pointer; }

/* ---------- Responsive ----------
   Los estilos del sitio son inline, así que los overrides usan !important.
   Se limpia al pasar los estilos a una hoja CSS (Etapa A). */

/* Tablet / notebook angosto: menú hamburguesa */
@media (max-width: 1080px) {
  .adn-burger { display:block; }
  .adn-nav { display:none !important; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch !important; gap:0 !important; background:#fff; border-bottom:1px solid #D8DEE3; box-shadow:0 12px 24px rgba(20,30,40,0.08); padding:8px 0; }
  .adn-nav.is-open { display:flex !important; }
  .adn-nav a { padding:13px 24px; font-size:15.5px !important; }
  .adn-header { position:relative; }
}

@media (max-width: 960px) {
  .adn-grid-4 { grid-template-columns:repeat(2,1fr) !important; }
  .adn-root [style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns:repeat(2,1fr) !important; }
  .adn-footer-grid { grid-template-columns:1fr 1fr !important; }
  .adn-footer-grid > :first-child { grid-column:1 / -1; }
  .adn-logo-fill { display:none; }
  .adn-root .adn-proposito { height:auto !important; }
  .adn-proposito-inner { flex-direction:column; align-items:flex-start !important; gap:28px; padding-top:48px !important; padding-bottom:48px !important; }
  .adn-stats { margin-left:0 !important; }
  .adn-stack { flex-direction:column; align-items:stretch !important; }
  .adn-stack > img:not(.adn-dr-img) { width:100% !important; height:340px !important; }
  .adn-dr-img { width:100% !important; max-width:420px; margin:0 auto; }
}

/* Celular */
@media (max-width: 640px) {
  .adn-root [style*="padding:0 48px"] { padding-left:20px !important; padding-right:20px !important; }
  .adn-root [style*="48px;"][style*="padding"] { padding-left:20px !important; padding-right:20px !important; }
  .adn-topbar { justify-content:center !important; gap:18px !important; font-size:11.5px !important; }
  .adn-root h1 { font-size:25px !important; }
  .adn-root h2 { font-size:22px !important; }
  .adn-hero-home { height:auto !important; min-height:520px; }
  .adn-hero-text { left:20px !important; right:20px; width:auto !important; max-width:none !important; }
  .adn-root [style*="height:340px"], .adn-root [style*="height:380px"], .adn-root [style*="height:420px"] { height:240px !important; }
  /* Propósito también mide 380px inline: debe ganarle a la regla anterior */
  .adn-root .adn-proposito { height:auto !important; }
  .adn-root .adn-cs-slides { height:260px !important; }
  .adn-video { height:auto !important; aspect-ratio:16/9; }
  .adn-grid-4, .adn-footer-grid, .adn-root [style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns:1fr !important; }
  .adn-root .adn-logos { grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
  .adn-root .adn-logos > div { min-height:96px !important; padding:16px 14px !important; }
  .adn-root .adn-logos img { max-width:100% !important; max-height:48px !important; }
  .adn-stats { grid-template-columns:1fr 1fr !important; width:100%; }
  .adn-root [style*="columns:2"] { columns:1 !important; }
  /* Columnas lado a lado (Mercados, Tecnología): en celular van apiladas a ancho completo */
  .adn-root [style*="min-width:340px"], .adn-root [style*="min-width:320px"], .adn-root [style*="min-width:300px"] { min-width:0 !important; flex-basis:100% !important; }
  .adn-root .adn-stack > img:not(.adn-dr-img) { height:280px !important; }
  .adn-root .adn-hero-img { width:100% !important; object-position:48% 42% !important; }
}
