/* ============================================================
   Building Measurements Services · style.css
   Reset, base tipográfica, botones, utilidades, animaciones.
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);
  background:var(--ink);
  color:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}

h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.1}

/* eyebrow: mayúsculas finas en azul, sin guiones ni numeración */
.eyebrow{
  font-family:var(--font-body);font-weight:600;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);
}

/* rejilla tipo plano (fondo aprobado) */
.grid-bg{
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size:var(--grid-size) var(--grid-size);
}

/* botones */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-display);font-weight:600;font-size:13px;
  letter-spacing:.03em;padding:13px 24px;border:1px solid transparent;border-radius:var(--radius-sm);
  cursor:pointer;transition:.22s;white-space:nowrap;
}
.btn .ar{transition:transform .22s}
.btn:hover .ar{transform:translateX(3px)}
.btn-primary{
  background:linear-gradient(180deg,#4a86db 0%,#3E7BD1 55%,#2f6ac2 100%);
  color:#fff;border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 24px -10px rgba(0,0,0,.6), 0 3px 8px -4px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.16);
  transition:transform .18s ease, box-shadow .18s ease;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 32px -12px rgba(0,0,0,.66), 0 4px 10px -4px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.18)}
.btn-primary:active{transform:translateY(0)}
.btn-ghost{background:var(--navy);color:var(--white);border-color:var(--line);box-shadow:0 12px 24px -10px rgba(0,0,0,.6), 0 3px 8px -4px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05)}
.btn-ghost:hover{background:var(--navy-hi);border-color:var(--steel-dim);transform:translateY(-2px);box-shadow:0 18px 32px -12px rgba(0,0,0,.66), 0 4px 10px -4px rgba(0,0,0,.5)}

/* reveal on-scroll */
.reveal{opacity:0;transform:translateY(14px);transition:.6s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* ---------- Pulido: scroll suave + foco accesible ---------- */
html{scroll-behavior:smooth}
a:focus-visible, button:focus-visible, .field:focus-visible, .btn:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:var(--radius-sm);
}
