/* Tesis Co. — base y comportamiento. El diseño vive en los estilos
   en línea que produjo el canvas; aquí solo va lo compartido. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#0B1733;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img{max-width:100%}
a{color:#B93315;text-decoration:none}
a:hover{color:#FF5A3C}
::selection{background:#FF5A3C;color:#0B1733}
:focus-visible{outline:2.5px solid #FF5A3C;outline-offset:3px;border-radius:4px}

@keyframes tco-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes tco-pulse{0%,100%{opacity:.9;transform:scale(1)}50%{opacity:.35;transform:scale(.82)}}
@keyframes tco-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(-2deg)}}

/* Entradas al hacer scroll */
@media (prefers-reduced-motion:no-preference){
  [data-rev]{opacity:0;transform:translateY(18px);transition:opacity .42s ease,transform .42s cubic-bezier(.2,.7,.2,1)}
  [data-rev].rev-on{opacity:1;transform:none}
}

/* Menú de celular */
#nav-burger{display:none;flex:none;width:44px;height:44px;margin-left:auto;padding:11px;
  background:transparent;border:1.5px solid rgba(255,255,255,.28);border-radius:12px;cursor:pointer}
#nav-burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
#nav-burger span+span{margin-top:5px}
#nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
#nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:900px){
  #nav-burger{display:block}
  #nav-enlaces{display:none!important;width:100%;flex-direction:column;align-items:flex-start!important;
    gap:2px!important;padding:10px 0 4px;border-top:1px solid rgba(255,255,255,.12);margin-top:10px}
  #nav-enlaces.abierto{display:flex!important}
  #nav-enlaces>a{width:100%;padding:12px 2px!important;font-size:16px!important}
}

/* Botón flotante: se retira cuando ya hay otro CTA de WhatsApp en pantalla */
.wafab-oculto{opacity:0!important;transform:translateY(12px) scale(.94)!important;pointer-events:none!important}

/* — Correcciones de contraste sobre los estilos en línea del diseño — */

/* El enlace activo del menú venía en naranja señal sobre la barra tinta
   translúcida: 4,14:1. Pasa a blanco con marca naranja debajo. */
#nav-enlaces a[style*="rgb(255, 90, 60)"]{
  color:#fff!important;border-bottom:2px solid #FF5A3C;padding-bottom:2px
}

/* Sobre el naranja señal el texto va en tinta plena, como manda el kit.
   Con opacidad se quedaba entre 3,9 y 4,4:1. */
[style*="background: rgb(255, 90, 60)"] p,
[style*="background: rgb(255, 90, 60)"] li,
[style*="background: rgb(255, 90, 60)"] span,
[style*="background: rgb(255, 90, 60)"] h2,
[style*="background: rgb(255, 90, 60)"] h3{color:#0B1733!important}

/* En celular el botón del menú se iba a una segunda fila. Se compacta el
   CTA de la barra para que logo + botón + menú quepan en una sola línea. */
@media (max-width:900px){
  nav a[style*="background: rgb(255, 90, 60)"]{
    font-size:13.5px!important;padding:10px 14px!important;white-space:nowrap
  }
  #nav-burger{margin-left:0;width:42px;height:42px;padding:10px}
}
@media (max-width:420px){
  nav a[style*="background: rgb(255, 90, 60)"]{font-size:13px!important;padding:9px 12px!important}
}
@media (max-width:400px){
  nav > div{gap:8px!important;padding-left:14px!important;padding-right:14px!important}
  nav a[style*="background: rgb(255, 90, 60)"]{font-size:12.5px!important;padding:9px 11px!important}
  nav img{height:28px!important}
  nav a > span[style*="font-size: 21px"]{font-size:18px!important}
  #nav-burger{width:38px;height:38px;padding:9px}
}

/* — Campos del formulario de contacto —
   El diseño los dejó con el estilo por defecto del navegador. */
[data-campo]{
  width:100%;min-width:0;font-family:Figtree,system-ui,sans-serif;font-size:15px;
  color:#0B1733;background:#F7F5F0;
  border:1.5px solid rgba(11,23,51,.16);border-radius:12px;padding:11px 13px;
  appearance:none;transition:border-color .18s ease,background .18s ease}
select[data-campo]{
  background-image:linear-gradient(45deg,transparent 50%,rgba(11,23,51,.55) 50%),
                   linear-gradient(135deg,rgba(11,23,51,.55) 50%,transparent 50%);
  background-position:calc(100% - 17px) calc(50% + 1px),calc(100% - 12px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px;
  text-overflow:ellipsis;cursor:pointer}
[data-campo]::placeholder{color:rgba(11,23,51,.5)}
[data-campo]:hover{border-color:rgba(11,23,51,.3)}
[data-campo]:focus{outline:none;border-color:#FF5A3C;background:#fff}
[data-campo]:focus-visible{outline:none}
