
  html { -webkit-tap-highlight-color: transparent; }
  body { font-family: 'Barlow', sans-serif; }
  h1,h2,h3,.font-display { font-family: 'Barlow Condensed', sans-serif; }

  /* Blueprint grid backdrop for dark sections */
  .blueprint {
    background-image:
      linear-gradient(rgba(245,163,0,0.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(245,163,0,0.06) 1px, transparent 1px);
    background-size: 42px 42px;
  }

  /* Dimension-line divider, like a measurement line on a technical drawing */
  .dim-line { position: relative; height: 1px; background: rgba(27,31,35,0.18); }
  .dim-line::before, .dim-line::after {
    content: ''; position: absolute; top: -5px; width: 1px; height: 11px; background: rgba(27,31,35,0.3);
  }
  .dim-line::before { left: 0; }
  .dim-line::after { right: 0; }
  .dim-line.on-dark { background: rgba(238,241,243,0.18); }
  .dim-line.on-dark::before, .dim-line.on-dark::after { background: rgba(238,241,243,0.35); }

  /* Halftone dot texture over the hero video, like an ink-print overlay */
  .halftone {
    background-image: radial-gradient(rgba(238,241,243,0.9) 1px, transparent 1.3px);
    background-size: 5px 5px;
    mix-blend-mode: overlay;
  }

  .nav-link { position: relative; }
  .nav-link::after {
    content: ''; position: absolute; left: 0; bottom: -6px; height: 2px; width: 0;
    background: #F5A300; transition: width 0.25s ease;
  }
  .nav-link:hover::after, .nav-link.active::after { width: 100%; }

  .wa-pulse { position: fixed; }
  .wa-pulse::before {
    content: ''; position: absolute; inset: 0; border-radius: 9999px;
    background: #25D366; opacity: 0.55;
    animation: waping 2.2s ease-out infinite;
  }
  @keyframes waping {
    0% { transform: scale(1); opacity: 0.5; }
    100% { transform: scale(1.9); opacity: 0; }
  }

  .map-pulse { animation: mapPing 2.4s ease-out infinite; transform-origin: center; }
  @keyframes mapPing {
    0% { transform: scale(0.6); opacity: 0.8; }
    100% { transform: scale(2.2); opacity: 0; }
  }

  .hero-enter { opacity: 0; transform: translateY(18px); animation: heroUp 0.9s cubic-bezier(.2,.8,.2,1) forwards; }
  @keyframes heroUp { to { opacity: 1; transform: translateY(0); } }

  .reveal { opacity: 0; transform: translateY(14px); transition: opacity .7s ease, transform .7s ease; }
  .reveal.is-visible { opacity: 1; transform: translateY(0); }

  ::selection { background: #F5A300; color: #14181C; }

  input:focus, textarea:focus { outline: none; }

.kinetic-hero{position:relative;isolation:isolate;min-height:100svh;background:#0c1013;color:#fff;display:flex;flex-direction:column;overflow:hidden;padding:116px max(24px,calc((100vw - 1200px)/2)) 30px}
#fabric,.fabric-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.fabric-shade{z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(12,16,19,.76),rgba(12,16,19,.12) 70%)}
.fabric-top,.fabric-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.16em;font-weight:600;color:#bbc0c4}.fabric-top>span{display:flex;align-items:center;gap:10px}.fabric-top i{width:7px;height:7px;border-radius:50%;background:#f5a300;box-shadow:0 0 18px #f5a300}.fabric-controls{display:flex;gap:8px}.fabric-controls button{background:#151a20b3;border:1px solid #ffffff30;border-radius:6px;padding:9px 12px;color:#d6dbde;font-size:11px;letter-spacing:.02em;cursor:pointer}.fabric-controls button:hover{border-color:#f5a300;color:#f5a300}
.fabric-copy{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:65px 0 72px}.fabric-eyebrow{font-size:11px;letter-spacing:.28em;color:#f5a300;font-weight:600;margin-bottom:22px}.fabric-copy h1{font-size:clamp(66px,8.8vw,142px);font-weight:700;line-height:.88;letter-spacing:-.025em;margin:0;color:#fff}.fabric-copy h1 span{color:#f5a300}.fabric-description{font-size:17px;line-height:1.7;color:#c6cbce;max-width:540px;margin:28px 0 0}.fabric-actions{display:flex;gap:12px;margin-top:30px}.fabric-actions a{display:flex;gap:30px;align-items:center;justify-content:center;padding:15px 22px;font-size:13px;font-weight:600;transition:.2s}.fabric-primary{background:#f5a300;color:#101418}.fabric-primary:hover{background:#ffc650;transform:translateY(-2px)}.fabric-secondary{background:#0c101388;border:1px solid #ffffff40;color:white}.fabric-secondary:hover{border-color:#f5a300}.fabric-bottom{border-top:1px solid #ffffff26;padding-top:22px;font-size:9px}.fabric-bottom b{color:#f5a300;margin:0 8px}.fabric-hint{color:#78848c;font-weight:400;letter-spacing:.04em}.fabric-bottom a{color:#e3e7e9}.kinetic-hero a:focus-visible,.kinetic-hero button:focus-visible{outline:2px solid #f5a300;outline-offset:5px}
@media(max-width:640px){.kinetic-hero{padding:92px 20px 24px;min-height:100svh}.fabric-top{font-size:8px;letter-spacing:.08em;gap:10px}.fabric-controls button{font-size:10px;padding:8px}.fabric-top>span{max-width:155px;gap:6px}.fabric-copy{padding:65px 0 60px}.fabric-copy h1{font-size:clamp(48px,12vw,76px)}.fabric-eyebrow{font-size:9px;letter-spacing:.16em}.fabric-description{font-size:15px;margin-top:24px}.fabric-actions{flex-direction:column;width:100%;max-width:310px;gap:10px}.fabric-hint{display:none}.fabric-bottom{font-size:8px;letter-spacing:.08em;align-items:flex-start;padding-right:38px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hero-enter,.wa-pulse:before,.map-pulse{animation:none!important}.reveal{opacity:1;transform:none;transition:none}}


.services-animated{position:relative;isolation:isolate;overflow:hidden;background-color:#101518;background-image:radial-gradient(ellipse at 20% 30%,#57401766,transparent 65%)}
#services-background{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.85}
.services-heading{display:flex;align-items:center;gap:20px;margin-bottom:10px}.services-heading p{margin:0!important}#services-motion{color:#d8dfe3;border:1px solid #ffffff35;border-radius:5px;background:#101518b3;padding:7px 10px;font-size:11px;cursor:pointer}
#servicios .service-grid{gap:22px;background:transparent;border:0;align-items:stretch}#servicios .service-card{padding:0;overflow:hidden;border:1px solid #ffffff26;border-radius:9px;background:#131a21ed;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s}#servicios .service-card:hover,#servicios .service-card:focus-within{transform:translateY(-6px);border-color:#f5a30088;box-shadow:0 16px 35px #0005}.service-photo{position:relative;overflow:hidden;aspect-ratio:16/10;background:#26313a}.service-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#101518d9)}.service-photo img{height:100%;width:100%;object-fit:cover;transition:transform .65s,filter .65s;filter:saturate(.7)}.service-card:hover img,.service-card:focus-within img{transform:scale(1.07);filter:saturate(1)}.service-photo>span{position:absolute;bottom:18px;left:24px;z-index:1;color:#ffbd3b;font-size:10px;letter-spacing:.16em;font-weight:600}.service-body{padding:26px;display:flex;flex-direction:column;flex:1}.service-body h3{font-size:27px;line-height:1.1}.service-body>p{color:#bac4cc!important}.service-body>span{color:#98a6b0!important;margin-bottom:22px}.service-quote{margin-top:auto;padding-top:17px;border-top:1px solid #ffffff26;display:flex;justify-content:space-between;color:#ffba30;font-size:13px;font-weight:600}.service-grid>div:last-child{border:1px solid #f5a30055;border-radius:9px;background:linear-gradient(140deg,#282819eb,#131a21ee);min-height:280px}.service-grid>div:last-child>p:first-child{font-size:32px}
.location-card{overflow:hidden;border-radius:10px;background:#14181c;border:1px solid #3b5166;width:100%;box-shadow:0 18px 44px #10151818}.location-card iframe{border:0;width:100%;height:380px;display:block}.location-card>div{padding:24px;color:#c9d0d6}.location-card .font-display{font-size:28px;color:white}.location-card a{display:inline-block;margin-top:14px;color:#f5a300;font-weight:600;font-size:13px}
#sectores .grid>div{transition:transform .25s,box-shadow .25s}#sectores .grid>div:hover{transform:translateY(-3px);box-shadow:0 10px 24px #14181c12}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #f5a300;outline-offset:4px}
@media(max-width:640px){.location-card iframe{height:320px}#servicios .service-grid{gap:18px}.service-photo{aspect-ratio:16/9}}
@media(prefers-reduced-motion:reduce){.service-card,.service-photo img,#sectores .grid>div{transition:none!important;transform:none!important}}

header nav{gap:clamp(12px,1.7vw,30px)!important}header .hidden.sm\:inline-flex{padding-left:12px;padding-right:12px;font-size:10px;white-space:nowrap}

/* Spinning border button (Cotiza con nosotros) */
@keyframes spin { to { transform: rotate(360deg); } }
:where(.spin-btn){display:inline-flex}
.spin-btn{position:relative;align-items:center;justify-content:center;overflow:hidden;border-radius:9999px;padding:1px;transition:transform .3s,box-shadow .3s}
.spin-btn:hover{transform:translateY(-2px);box-shadow:0 0 25px rgba(245,163,0,.25)}
.spin-btn__beam{position:absolute;inset:-100%;background:conic-gradient(from 90deg at 50% 50%,transparent 0%,transparent 75%,#F5A300 100%);animation:spin 3s linear infinite;opacity:0;transition:opacity .3s}
.spin-btn:hover .spin-btn__beam{opacity:1}
.spin-btn__static{position:absolute;inset:0;border-radius:9999px;background:#1D2329;transition:opacity .3s}
.spin-btn:hover .spin-btn__static{opacity:0}
.spin-btn__surface{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;height:100%;border-radius:9999px;padding:.7rem 1.6rem;background:linear-gradient(to bottom,#1D2329,#0a0d10);box-shadow:inset 0 1px 0 rgba(255,255,255,.15);text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:600;color:rgba(255,255,255,.65);transition:color .3s;white-space:nowrap}
.spin-btn:hover .spin-btn__surface{color:#fff}
.fabric-actions .spin-btn{padding:1px}

#services-background{opacity:.8}#servicios{background-image:radial-gradient(ellipse at 50% 50%,#29312022,#101518)}

/* Ondas más visibles, con contraste reservado para la lectura. */
#services-background{opacity:1}
#servicios{background-color:#0c1317;background-image:none}
#servicios>.max-w-7xl>.flex:first-child{position:relative;isolation:isolate}
#servicios>.max-w-7xl>.flex:first-child:before{content:'';position:absolute;inset:-24px -18px;z-index:-1;background:linear-gradient(90deg,#0c1317ee,#0c131799 65%,#0c1317bb);border-radius:24px;filter:blur(12px);pointer-events:none}
#servicios .service-card{background:#131a21f7}
#servicios .media-note{display:table;background:#0c1317e8;padding:8px 12px;border-radius:5px}

/* Botón flotante fuera del flujo: no genera espacio después del pie. */
body>.wa-pulse{position:fixed;left:auto;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));width:60px;height:60px;display:flex;align-items:center;justify-content:center;z-index:50}
body>.wa-pulse svg{display:block;flex-shrink:0}
footer .legal-footer{padding-right:76px}
@media(max-width:640px){body>.wa-pulse{right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:54px;height:54px}}
