/* ============================================================
   HAKIN9 — diseno tecnico / bento
   Misma dinamica de color que Judah Strength (negro / amarillo / blanco).
   Estructura distinta: barra mono superior, hero con rejilla de indicadores,
   servicios en bento de 6 columnas, proceso como linea de tiempo y
   panel de log monoespaciado.
   ============================================================ */
:root{
  --bg:#000000; --bg-2:rgba(255,255,255,.04); --bg-3:rgba(255,255,255,.07);
  --fg:#ffffff; --fg-dim:rgba(255,255,255,.74); --fg-mute:rgba(255,255,255,.52);
  --line:rgba(255,255,255,.14); --line-2:rgba(255,255,255,.26);
  --accent:#ffe200; --accent-2:#d9c000; --accent-fg:#000000;
  --radius:16px; --radius-sm:10px; --radius-pill:999px;
  --maxw:1140px; --gap:clamp(1rem,2.4vw,1.6rem);
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.12;margin:0 0 .5em;font-weight:800;letter-spacing:-.025em}
h1{font-size:clamp(2rem,5.4vw,3.6rem)}
h2{font-size:clamp(1.5rem,3.4vw,2.35rem)}
h3{font-size:clamp(1.05rem,1.9vw,1.25rem)}
p{margin:0 0 1rem;color:var(--fg-dim)}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.mono{font-family:var(--mono)}
.muted{color:var(--fg-mute);font-size:.92rem}
section{padding:clamp(3.2rem,7vw,6rem) 0;border-top:1px solid var(--line)}
.eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:.9rem}
.lead{font-size:clamp(1.02rem,1.9vw,1.18rem);color:var(--fg-dim);max-width:60ch}
.sec-head{max-width:66ch;margin-bottom:2.4rem}

/* ---------- Barra superior mono ---------- */
.topbar{border-bottom:1px solid var(--line);background:#000}
.topbar-inner{display:flex;justify-content:space-between;gap:1rem;padding-block:.5rem;
  font-size:.74rem;color:var(--fg-mute);letter-spacing:.04em}
.topbar .mono{color:var(--fg-mute)}

/* ---------- Header ---------- */
header.site{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.86);
  backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:1rem;min-height:66px}
.brand{display:flex;align-items:center;gap:.65rem;font-weight:800;color:var(--fg);font-size:1.08rem;letter-spacing:-.01em}
.brand:hover{text-decoration:none}
.brand-mark{height:34px;width:auto;max-width:72px;object-fit:contain;flex:0 0 auto}
.brand .dot{width:10px;height:10px;border-radius:2px;background:var(--accent)}
.nav nav{margin-left:auto;display:flex;gap:1.5rem;align-items:center}
.nav nav a{font-family:var(--mono);color:var(--fg-dim);font-size:.82rem;letter-spacing:.02em;
  border-bottom:2px solid transparent;padding-bottom:2px}
.nav nav a:hover{color:var(--accent);border-bottom-color:var(--accent);text-decoration:none}
.nav nav a.btn{font-family:var(--font);font-size:.9rem;padding:.6rem 1.2rem;border-bottom:0}
.nav nav a.btn:hover{border-bottom:0}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line-2);color:var(--fg);
  border-radius:var(--radius-sm);padding:.45rem .6rem;font-size:1.1rem;line-height:1;cursor:pointer}
@media(max-width:880px){
  .nav nav{display:none;position:absolute;left:0;right:0;top:66px;flex-direction:column;gap:0;
    align-items:stretch;background:#000;border-bottom:1px solid var(--line);padding:.5rem 0}
  .nav nav.open{display:flex}
  .nav nav a{padding:.9rem clamp(1rem,4vw,2rem);width:100%;border-bottom:0}
  .burger{display:block}
  .topbar-inner{justify-content:center}
  .topbar-right{display:none}
}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.82rem 1.35rem;border-radius:var(--radius-pill);
  font-weight:700;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:.18s transform,.18s background}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--accent);color:var(--accent-fg)}
.btn-primary:hover{background:var(--accent-2)}
.btn-ghost{background:transparent;color:var(--fg);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}

/* ---------- Hero con rejilla de indicadores ---------- */
.hero{padding:clamp(3rem,7vw,5.5rem) 0;border-top:0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.hero h1{max-width:18ch}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.tile{background:#000;padding:1.15rem 1.2rem}
.tile b{display:block;font-family:var(--mono);font-size:clamp(1.4rem,3vw,1.9rem);color:var(--accent);letter-spacing:-.02em}
.tile span{font-size:.82rem;color:var(--fg-mute);line-height:1.45;display:block;margin-top:.2rem}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr}}

/* ---------- Servicios: bento ---------- */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap)}
.tile-card{grid-column:span 3;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--radius);padding:1.4rem;transition:.2s border-color,.2s transform}
.tile-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-3px)}
.tile-card h3{margin-bottom:.45rem}
.tile-card p{margin:0;font-size:.94rem}
.tile-card .ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;margin-bottom:.9rem;
  background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:1.15rem;font-weight:800}
.lead-tile{grid-column:span 3;grid-row:span 2;display:flex;flex-direction:column;justify-content:center}
.lead-tile p{font-size:1rem}
@media(max-width:880px){
  .bento{grid-template-columns:1fr}
  .tile-card,.lead-tile{grid-column:span 1;grid-row:auto}
}

/* ---------- Proceso: linea de tiempo ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.steps li{position:relative;border-top:2px solid var(--accent);padding-top:2.6rem}
.steps .node{position:absolute;top:-19px;left:0;width:36px;height:36px;border-radius:50%;
  background:var(--accent);color:#000;display:grid;place-items:center;
  font-family:var(--mono);font-weight:800;font-size:1rem}
.steps h3{margin-bottom:.3rem}
.steps p{margin:0;font-size:.92rem}
@media(max-width:880px){.steps{grid-template-columns:1fr;gap:2.2rem}}

/* ---------- Por que: dos columnas + log ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
ul.checks{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.55rem}
ul.checks li{position:relative;padding-left:1.7rem;color:var(--fg-dim);font-size:.96rem}
ul.checks li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
.log{border:1px solid var(--line-2);border-radius:var(--radius);background:#000;padding:1.3rem 1.4rem}
.log-line{margin:0;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.83rem;color:var(--fg-dim)}
.log-line:last-child{border-bottom:0}
.log .ok{color:var(--accent)}
.log .warn{color:var(--accent)}
@media(max-width:880px){.two-col{grid-template-columns:1fr}}

/* ---------- Contacto: panel con filo amarillo ---------- */
.panel{border:1px solid var(--line-2);border-left:5px solid var(--accent);border-radius:var(--radius);
  padding:clamp(1.6rem,4vw,2.6rem);background:var(--bg-2)}

/* ---------- Footer ---------- */
footer.site{border-top:1px solid var(--line);padding:2.6rem 0 2rem;font-size:.9rem}
.foot-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
.foot-cols strong{color:var(--fg);display:block;margin-bottom:.5rem;font-size:.86rem;
  letter-spacing:.08em;text-transform:uppercase}
footer.site a{color:var(--fg-dim)}
footer.site .foot-desc{margin-top:.7rem;max-width:34ch}
footer.site .foot-links{margin:0;line-height:1.9}
footer.site .legal{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--fg-mute)}
@media(max-width:880px){.foot-cols{grid-template-columns:1fr 1fr}}

/* ---------- Accesibilidad ---------- */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto}}
