/* ═══════════════════════════════════════════
   AD HACKER THEME — main.css
   Variables CSS inyectadas vía Customizer en functions.php
   ═══════════════════════════════════════════ */

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box }
html { scroll-behavior:smooth }
body { background:var(--bg-base); color:var(--tx-1); font-family:'Space Grotesk',sans-serif; overflow-x:hidden; -webkit-font-smoothing:antialiased }

/* ── NAV ── */
.ah-nav {
  position:fixed; top:0; left:0; right:0; z-index:9999;
  padding:1rem 2rem;
  display:flex; justify-content:space-between; align-items:center;
  background:rgba(7,4,15,0.92); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--br);
}
.ah-logo-wrap { display:flex; align-items:center }
.ah-logo-wrap .custom-logo-link { display:flex; align-items:center }
.ah-logo-wrap .custom-logo-link img,
.ah-logo-wrap img.custom-logo { height:var(--logo-h,44px); width:auto; display:block; object-fit:contain; max-width:200px }
.ah-logo { font-family:'Montserrat',sans-serif; font-size:1.3rem; font-weight:900; letter-spacing:.12em; color:var(--tx-1); text-transform:uppercase }
.ah-logo em { font-style:normal; color:var(--rose) }
.ah-nav-cta {
  background:var(--cta); color:#fff; font-weight:700; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; text-decoration:none;
  padding:.6rem 1.4rem; border-radius:4px; transition:all .22s;
  box-shadow:0 2px 18px var(--cta-glow);
}
.ah-nav-cta:hover { background:var(--cta-h); transform:translateY(-1px) }

/* ── SECCIÓN LOGOS DE CLIENTES ── */
.ah-clients {
  background:var(--bg-section);
  border-top:1px solid var(--br); border-bottom:1px solid var(--br);
  padding:3rem 2rem;
}
.ah-clients-in { max-width:1100px; margin:0 auto; text-align:center }
.ah-clients-label {
  font-family:'IBM Plex Mono',monospace; font-size:.68rem; color:var(--tx-3);
  letter-spacing:.22em; text-transform:uppercase; margin-bottom:2rem;
  display:block;
}
/* Grid de logos — filas de 4 con separadores */
.ah-clients-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.ah-client-item {
  display:flex; align-items:center; justify-content:center;
  padding:2rem 1.5rem; position:relative;
  transition:background .25s;
}
.ah-client-item:hover { background:rgba(255,255,255,0.025) }
.ah-client-item::after {
  content:''; position:absolute; right:0; top:20%; bottom:20%;
  width:1px; background:var(--br);
}
.ah-client-item:nth-child(4n)::after { display:none }
.ah-client-item::before {
  content:''; position:absolute; bottom:0; left:10%; right:10%;
  height:1px; background:var(--br);
}
.ah-client-item:nth-last-child(-n+4)::before { display:none }
/* Logo imagen — tamaño controlado por CSS variable */
.ah-client-logo {
  max-height:var(--client-logo-h,56px); max-width:150px; width:auto; height:auto;
  object-fit:contain; display:block;
  filter:grayscale(100%) brightness(180%) contrast(.85);
  opacity:.5; transition:all .3s;
}
.ah-client-item:hover .ah-client-logo {
  filter:grayscale(0%) brightness(100%) contrast(1);
  opacity:1;
}
/* Logo texto (cuando no hay imagen) */
.ah-client-name {
  font-family:'Montserrat',sans-serif; font-weight:700;
  font-size:clamp(.8rem, 1.2vw, 1rem);
  letter-spacing:.1em; color:var(--tx-1); text-transform:uppercase;
  opacity:.35; transition:opacity .3s;
}
.ah-client-item:hover .ah-client-name { opacity:.75 }

/* ════════════════════════════════════
   HERO — texto | (foto izquierda alta + terminal derecha)
   ════════════════════════════════════ */
.ah-hero {
  min-height:100vh; display:flex; align-items:center;
  padding:8rem 1.5rem 4rem; position:relative; overflow:hidden;
}
.ah-hero-ambient {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 70% at 68% 50%, rgba(100,50,160,0.13) 0%, transparent 60%),
    radial-gradient(ellipse 30% 40% at 10% 80%, rgba(196,67,107,0.05) 0%, transparent 55%);
}
.ah-hero::after {
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
}
/* Grid principal: texto | bloque derecho */
.ah-hero-2col {
  display:grid;
  grid-template-columns:1fr 460px;
  gap:3rem;
  align-items:center;
  max-width:1280px; margin:0 auto; width:100%;
  position:relative; z-index:1;
}
.ah-hero-text { display:flex; flex-direction:column; justify-content:center }

/* Bloque derecho: UNA columna — foto arriba, terminal abajo */
.ah-hero-right {
  display:flex;
  flex-direction:column;
  gap:1rem;
}

/* ── FOTO arriba — ancha y con buena proporción ── */
.ah-founder-card {
  position:relative; border-radius:14px; overflow:hidden;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 20px 50px rgba(0,0,0,0.55);
  width:100%;
}
.ah-founder-img {
  width:100%; aspect-ratio:4/3; object-fit:cover;
  object-position:top center; display:block;
}
.ah-founder-placeholder {
  width:100%; aspect-ratio:4/3;
  background:var(--bg-card); border:2px dashed var(--br-h);
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:.6rem; color:var(--tx-3);
  text-align:center; padding:2rem;
  font-family:'IBM Plex Mono',monospace; font-size:.65rem;
  letter-spacing:.08em; text-transform:uppercase; line-height:1.6;
}
.ah-founder-badge {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top, rgba(7,4,15,.96) 0%, rgba(7,4,15,.5) 60%, transparent 100%);
  padding:2.5rem 1.2rem .9rem;
  display:flex; flex-direction:column; gap:.25rem;
}
.ah-founder-name {
  font-family:'Montserrat',sans-serif; font-weight:900; font-size:1rem;
  color:#fff; text-transform:uppercase; letter-spacing:.04em; line-height:1.1;
}
.ah-founder-role {
  font-family:'IBM Plex Mono',monospace; font-size:.58rem;
  color:var(--rose); letter-spacing:.1em; text-transform:uppercase;
}

/* ── TERMINAL abajo — ancho completo, info horizontal ── */
.ah-hero-term { width:100% }
.ah-terminal {
  background:#060312; border:1px solid rgba(180,100,255,0.15);
  border-radius:10px; overflow:hidden;
}
.ah-t-bar {
  background:#0e0a1e; padding:.5rem .9rem;
  display:flex; align-items:center; gap:.4rem;
}
.ah-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0 }
.ah-d1{background:#ff5f57}.ah-d2{background:#ffbd2e}.ah-d3{background:#28c840}
.ah-t-label { font-family:'IBM Plex Mono',monospace; font-size:.62rem; color:var(--tx-3); margin-left:.4rem }

.ah-t-body {
  padding:.8rem 1rem;
  font-family:'IBM Plex Mono',monospace; font-size:.7rem; line-height:1.75;
}

/* 3 columnas iguales dentro del terminal — toda la info visible */
.ah-t-grid-3 {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:.2rem 1rem;
  margin-bottom:.5rem;
}
.ah-t-cell { display:flex; flex-direction:column; gap:.1rem }
.ah-t-cell-title {
  font-size:.58rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; margin-bottom:.25rem;
  opacity:.75;
}
.ah-t-row { display:flex; gap:.3rem; align-items:baseline }
.ah-t-divider { height:1px; background:rgba(255,255,255,0.05); margin:.4rem 0 }
.ah-t-foot { margin-top:.3rem }

/* Resultado — 3 métricas en fila horizontal */
.ah-t-result {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:.3rem .5rem;
  background:rgba(169,109,224,0.08);
  border:1px solid rgba(169,109,224,0.14);
  border-radius:6px; padding:.55rem .75rem;
}
.ah-t-res-row { display:flex; flex-direction:column; gap:.12rem }
.ah-t-rl { font-size:.55rem; color:var(--tx-3); letter-spacing:.07em; text-transform:uppercase }
.ah-t-rv { font-size:.8rem; font-weight:700; color:#a96de0 }

.tc-pur  { color:#a96de0; flex-shrink:0 }
.tc-warn { color:#d4835a; flex-shrink:0 }
.tc-dim  { color:var(--tx-3) }
.tc-w    { color:var(--tx-1) }
.ah-cursor {
  display:inline-block; width:6px; height:11px; background:#a96de0;
  opacity:.8; animation:ah-blink 1.1s step-end infinite; vertical-align:middle;
}
@keyframes ah-blink { 0%,100%{opacity:.8} 50%{opacity:0} }

/* ── EYEBROW / H1 / DESC / BOTONES ── */
.ah-eyebrow {
  font-family:'IBM Plex Mono',monospace; font-size:.7rem; color:var(--tx-3);
  letter-spacing:.26em; text-transform:uppercase; margin-bottom:1.2rem;
  display:flex; align-items:center; gap:.8rem;
}
.ah-eyebrow::before { content:''; width:24px; height:1px; background:var(--rose); opacity:.7 }
.ah-h1 {
  font-family:'Montserrat',sans-serif;
  font-size:clamp(2.6rem,5vw,5rem); line-height:.95; font-weight:900;
  letter-spacing:-.01em; margin-bottom:1.4rem; text-transform:uppercase;
}
.ah-h1 .accent { background:var(--cta); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; display:block }
.ah-h1 .ghost { -webkit-text-stroke:2px rgba(255,255,255,0.45); color:transparent; display:block; letter-spacing:.02em }
.ah-hero-desc { font-size:.98rem; color:var(--tx-2); line-height:1.75; max-width:460px; margin-bottom:2rem }
.ah-btns { display:flex; gap:.9rem; flex-wrap:wrap }
.btn-cta {
  background:var(--cta); color:#fff; font-weight:700; font-size:.82rem;
  letter-spacing:.1em; text-transform:uppercase; text-decoration:none;
  padding:.85rem 2rem; border-radius:4px; border:none; cursor:pointer;
  transition:all .22s; box-shadow:0 3px 22px var(--cta-glow);
  display:inline-flex; align-items:center; gap:.5rem;
}
.btn-cta:hover { background:var(--cta-h); transform:translateY(-2px); box-shadow:0 6px 32px var(--cta-glow) }
.btn-ghost {
  background:transparent; color:var(--tx-1); font-weight:500; font-size:.82rem;
  letter-spacing:.1em; text-transform:uppercase; text-decoration:none;
  padding:.85rem 2rem; border-radius:4px; border:1px solid var(--br-h); transition:all .22s;
}
.btn-ghost:hover { background:rgba(255,255,255,0.04) }

/* ── STATS ── */
.ah-stats { background:var(--bg-section); border-top:1px solid var(--br); border-bottom:1px solid var(--br); padding:2.5rem 2rem }
.ah-stats-in { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr) }
.ah-stat { text-align:center; padding:1.4rem 1rem; position:relative }
.ah-stat:not(:last-child)::after { content:''; position:absolute; right:0; top:30%; bottom:30%; width:1px; background:var(--br-h) }
.ah-stat-n { font-family:'Montserrat',sans-serif; font-size:2.8rem; font-weight:900; color:var(--tx-1); letter-spacing:-.02em; line-height:1; display:block }
.ah-stat-l { font-size:.76rem; color:var(--tx-3); letter-spacing:.12em; text-transform:uppercase; margin-top:.4rem }

/* ── SECCIONES ── */
.ah-sec { padding:5.5rem 2rem }
.ah-sec-alt { background:var(--bg-section); padding:5.5rem 2rem }
.ah-sec-in { max-width:1200px; margin:0 auto }
.ah-stag { font-family:'IBM Plex Mono',monospace; font-size:.68rem; color:var(--tx-3); letter-spacing:.28em; text-transform:uppercase; margin-bottom:1rem; display:block }
.ah-h2 { font-family:'Montserrat',sans-serif; font-size:clamp(2rem,4vw,3.2rem); font-weight:900; line-height:1.05; letter-spacing:-.01em; margin-bottom:1.4rem; color:var(--tx-1); text-transform:uppercase }
.ah-lead { font-size:1rem; color:var(--tx-2); line-height:1.75; max-width:560px }

/* ── PROBLEMA ── */
.ah-pg { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:3rem }
.ah-pc { background:var(--bg-card); border:1px solid var(--br); border-radius:10px; padding:2rem; position:relative; overflow:hidden; transition:border-color .3s,background .3s }
.ah-pc::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--rose); opacity:.5 }
.ah-pc:hover { border-color:var(--br-h); background:var(--bg-card-h) }
.ah-pc-ico { font-size:1.8rem; margin-bottom:1rem; display:block }
.ah-pc h3 { font-size:1.05rem; font-weight:600; margin-bottom:.6rem; color:var(--tx-1) }
.ah-pc p { font-size:.88rem; color:var(--tx-2); line-height:1.65 }

/* ── SOLUCIÓN ── */
.ah-sol-g { display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; align-items:start; margin-top:3rem }
.ah-sol-list { display:flex; flex-direction:column; gap:1.6rem }
.ah-sol-it { display:flex; gap:1.1rem; align-items:flex-start }
.ah-sol-n { font-family:'IBM Plex Mono',monospace; font-size:.68rem; font-weight:700; color:var(--tx-3); min-width:2.5rem; padding-top:.15rem }
.ah-sol-it h4 { font-size:.98rem; font-weight:600; margin-bottom:.3rem; color:var(--tx-1) }
.ah-sol-it p { font-size:.88rem; color:var(--tx-2); line-height:1.65 }
.ah-flow { display:flex; flex-direction:column; gap:.8rem }
.ah-flow-row { background:var(--bg-card); border:1px solid var(--br); border-radius:8px; padding:1.1rem 1.4rem; display:flex; justify-content:space-between; align-items:center; transition:border-color .25s }
.ah-flow-row:hover { border-color:var(--br-h) }
.ah-flow-row:last-child { border-color:rgba(196,67,107,0.2); background:var(--rose-soft) }
.ah-flow-row span { font-size:.88rem; color:var(--tx-1) }
.ah-badge { font-family:'IBM Plex Mono',monospace; font-size:.65rem; color:var(--tx-3); background:rgba(255,255,255,0.04); border:1px solid var(--br-h); padding:.25rem .75rem; border-radius:3px; letter-spacing:.08em }
.ah-badge-rose { color:var(--rose); background:var(--rose-soft); border-color:rgba(196,67,107,0.22) }
.ah-flow-div { text-align:center; color:var(--tx-3); font-size:1rem }

/* ── SERVICIOS ── */
.ah-srv-g { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:3rem }
.ah-srv { background:var(--bg-card); border:1px solid var(--br); border-radius:10px; padding:1.8rem; transition:all .3s }
.ah-srv:hover { border-color:var(--br-h); background:var(--bg-card-h); transform:translateY(-3px) }
.ah-srv-ico { font-size:2rem; margin-bottom:1.1rem; display:block }
.ah-srv h3 { font-size:1rem; font-weight:600; margin-bottom:.7rem; color:var(--tx-1) }
.ah-srv p { font-size:.86rem; color:var(--tx-2); line-height:1.65; margin-bottom:1.1rem }
.ah-tags { display:flex; flex-wrap:wrap; gap:.45rem }
.ah-tg { font-family:'IBM Plex Mono',monospace; font-size:.62rem; color:var(--tx-3); background:rgba(255,255,255,0.03); border:1px solid var(--br); padding:.22rem .65rem; border-radius:3px; letter-spacing:.07em }

/* ── PROCESO ── */
.ah-proc-in { max-width:860px; margin:0 auto; text-align:center }
.ah-steps { display:flex; margin-top:3rem; position:relative }
.ah-step { flex:1; padding:0 .8rem; position:relative }
.ah-step:not(:last-child)::after { content:''; position:absolute; top:22px; left:calc(50% + 28px); right:calc(-50% + 28px); height:1px; background:linear-gradient(90deg,var(--br-h) 0%,transparent 100%) }
.ah-step-n { width:44px; height:44px; border-radius:50%; background:var(--bg-card); border:1px solid var(--br-h); color:var(--tx-2); font-family:'IBM Plex Mono',monospace; font-size:.8rem; font-weight:700; display:flex; align-items:center; justify-content:center; margin:0 auto 1.2rem }
.ah-step h4 { font-size:.92rem; font-weight:600; margin-bottom:.45rem; color:var(--tx-1) }
.ah-step p { font-size:.8rem; color:var(--tx-2); line-height:1.65 }

/* ── TESTIMONIOS ── */
.ah-testi-g { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:3rem }
.ah-tc { background:var(--bg-card); border:1px solid var(--br); border-radius:10px; padding:1.8rem; display:flex; flex-direction:column }
.ah-stars { color:var(--rose); font-size:.85rem; letter-spacing:.12em; margin-bottom:1rem }
.ah-tc blockquote { font-size:.9rem; color:var(--tx-1); line-height:1.72; font-style:italic; opacity:.85; flex:1; margin-bottom:1.4rem }
.ah-tc-foot { display:flex; align-items:center; gap:.9rem }
.ah-av { width:36px; height:36px; border-radius:50%; background:var(--bg-card-h); border:1px solid var(--br-h); color:var(--tx-2); font-weight:700; font-size:.78rem; display:flex; align-items:center; justify-content:center; flex-shrink:0 }
.ah-au-n { font-size:.86rem; font-weight:600; color:var(--tx-1) }
.ah-au-b { font-size:.76rem; color:var(--tx-3) }

/* ── LOGOS ── */
.ah-logos { background:var(--bg-section); border-top:1px solid var(--br); border-bottom:1px solid var(--br); padding:2.4rem 2rem }
.ah-logos-in { max-width:1000px; margin:0 auto; text-align:center }
.ah-logos-label { font-family:'IBM Plex Mono',monospace; font-size:.68rem; color:var(--tx-3); letter-spacing:.22em; text-transform:uppercase; margin-bottom:1.8rem; display:block }
.ah-logo-row { display:flex; justify-content:center; gap:2.8rem; flex-wrap:wrap; align-items:center }
.ah-logo-it { font-family:'Montserrat',sans-serif; font-size:1rem; font-weight:700; letter-spacing:.1em; color:var(--tx-1); opacity:.28; text-transform:uppercase }

/* ── SECCIÓN CTA/FORM ── */
.ah-cta-s { padding:6rem 2rem; background:var(--bg-base); position:relative; overflow:hidden }
.ah-cta-s::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 55% 65% at 50% 100%, rgba(217,24,95,0.07) 0%, transparent 65%) }
.ah-cta-in { max-width:920px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; align-items:start; position:relative }
.ah-cta-l p { font-size:.95rem; color:var(--tx-2); line-height:1.75; margin-bottom:1.8rem }
.ah-guar { display:flex; gap:.8rem; align-items:flex-start; background:var(--rose-soft); border:1px solid rgba(196,67,107,0.18); border-radius:8px; padding:1.1rem 1.3rem }
.ah-guar-i { font-size:1.2rem; flex-shrink:0; opacity:.8 }
.ah-guar p { font-size:.84rem; color:var(--tx-1); line-height:1.55 }
.ah-guar strong { color:var(--tx-1) }

/* ── FORMULARIO ── */
.ah-form-card { background:var(--bg-card); border:1px solid var(--br-h); border-radius:12px; padding:2.3rem; position:relative; overflow:hidden }
.ah-form-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--cta) }
.ah-form-card h3 { font-size:1.15rem; font-weight:700; margin-bottom:.35rem; color:var(--tx-1) }
.ah-form-sub { font-size:.8rem; color:var(--tx-3); margin-bottom:1.8rem; display:block }
.ah-fg { margin-bottom:1.1rem }
.ah-fg label { display:block; font-size:.73rem; font-weight:600; color:var(--tx-3); letter-spacing:.1em; text-transform:uppercase; margin-bottom:.45rem }
.ah-fg input, .ah-fg select, .ah-fg textarea {
  width:100%; background:rgba(255,255,255,0.035); border:1px solid var(--br-h);
  border-radius:6px; padding:.78rem 1rem; color:var(--tx-1);
  font-family:'Space Grotesk',sans-serif; font-size:.9rem;
  transition:border-color .2s; appearance:none;
}
.ah-fg input:focus, .ah-fg select:focus, .ah-fg textarea:focus { outline:none; border-color:rgba(196,67,107,0.4); box-shadow:0 0 0 3px rgba(196,67,107,0.08) }
.ah-fg input::placeholder, .ah-fg textarea::placeholder { color:var(--tx-3) }
.ah-fg select option { background:var(--bg-section) }
.ah-fg textarea { resize:none; min-height:78px }
.ah-sub-btn { width:100%; background:var(--cta); color:#fff; border:none; border-radius:4px; padding:.95rem 1rem; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:.9rem; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:all .22s; margin-top:.4rem; box-shadow:0 3px 22px var(--cta-glow) }
.ah-sub-btn:hover { background:var(--cta-h); transform:translateY(-2px) }
.ah-sub-btn:disabled { opacity:.7; cursor:not-allowed; transform:none }
.ah-form-note { font-size:.74rem; color:var(--tx-3); text-align:center; margin-top:.8rem; line-height:1.55 }
.ah-form-note strong { color:var(--tx-1) }
.ah-form-err { display:none; background:rgba(220,38,38,0.12); border:1px solid rgba(220,38,38,0.3); border-radius:6px; padding:.75rem 1rem; font-size:.85rem; color:#fca5a5; margin-bottom:1rem }

/* ── FOOTER ── */
.ah-footer { background:var(--bg-section); border-top:1px solid var(--br); padding:3.5rem 2rem 2rem }
.ah-ft-in { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:3.5rem; margin-bottom:2.5rem }
.ah-ft-logo { font-family:'Montserrat',sans-serif; font-size:1.3rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.8rem; color:var(--tx-1) }
.ah-ft-logo em { font-style:normal; color:var(--rose) }
.ah-ft-desc { font-size:.84rem; color:var(--tx-3); line-height:1.7; max-width:270px }
.ah-footer h4 { font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--tx-3); margin-bottom:1.1rem }
.ah-footer ul { list-style:none }
.ah-footer ul li { margin-bottom:.55rem }
.ah-footer ul li a { font-size:.86rem; color:var(--tx-2); text-decoration:none; opacity:.6; transition:opacity .2s }
.ah-footer ul li a:hover { opacity:1; color:var(--tx-1) }
.ah-ft-bot { border-top:1px solid var(--br); padding-top:1.4rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem }
.ah-ft-bot p { font-size:.76rem; color:var(--tx-3) }
.ah-soc { display:flex; gap:.8rem }
.ah-soc a { font-family:'IBM Plex Mono',monospace; font-size:.68rem; color:var(--tx-3); text-decoration:none; letter-spacing:.1em; padding:.38rem .8rem; border:1px solid var(--br-h); border-radius:3px; transition:all .22s }
.ah-soc a:hover { color:var(--tx-1); border-color:var(--br-h) }

/* ── ANIMACIONES ── */
@keyframes ah-fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
.ah-fu  { animation:ah-fadeUp .7s ease both }
.ah-fu2 { animation:ah-fadeUp .7s ease both; animation-delay:.15s }
.ah-fu3 { animation:ah-fadeUp .7s ease both; animation-delay:.28s }

/* ── LOGOS CON IMAGEN ── */
.ah-logo-img-wrap { display:flex; align-items:center; justify-content:center }
.ah-logo-img { max-height:40px; max-width:120px; width:auto; opacity:.35; filter:grayscale(100%) brightness(200%); transition:opacity .3s }
.ah-logo-img:hover { opacity:.65 }

/* ── SECCIÓN QUIÉN SOY ── */
section.ah-about { background:var(--bg-base) !important; padding:5.5rem 2rem !important; display:block !important }
.ah-about-in {
  max-width:1100px !important; margin:0 auto !important;
  display:grid !important;
  grid-template-columns:380px 1fr !important;
  gap:5rem !important; align-items:center !important;
}
.ah-about-photo-wrap { position:relative !important; display:block !important }
.ah-about-img {
  width:100% !important; aspect-ratio:3/4 !important; object-fit:cover !important;
  object-position:top center !important;
  border-radius:18px !important;
  display:block !important;
  border:1px solid rgba(255,255,255,0.07) !important;
  box-shadow:0 24px 60px rgba(0,0,0,0.5) !important;
}
.ah-about-placeholder {
  width:100% !important; aspect-ratio:3/4 !important; border-radius:18px !important;
  background:var(--bg-card) !important; border:2px dashed var(--br-h) !important;
  display:flex !important; flex-direction:column !important;
  align-items:center !important; justify-content:center !important;
  gap:1rem !important; color:var(--tx-3) !important; text-align:center !important;
  padding:2rem !important;
}
.ah-about-placeholder span { font-size:4rem !important; opacity:.3 !important; display:block !important }
.ah-about-placeholder p { font-family:'IBM Plex Mono',monospace !important; font-size:.72rem !important; letter-spacing:.1em !important; text-transform:uppercase !important; line-height:1.7 !important }
/* Sin borde decorativo desplazado — queda más limpio como en la captura */
.ah-about-photo-wrap::before { display:none !important }
.ah-about-photo-wrap > * { position:relative !important; z-index:1 !important }
.ah-about-badges {
  display:grid !important; grid-template-columns:1fr 1fr !important;
  gap:.5rem !important; margin-top:1rem !important;
}
.ah-about-badge {
  background:rgba(255,255,255,0.03) !important; border:1px solid var(--br) !important;
  border-radius:6px !important; padding:.55rem .8rem !important;
  font-family:'IBM Plex Mono',monospace !important; font-size:.62rem !important;
  color:var(--tx-3) !important; letter-spacing:.06em !important;
  text-align:center !important; text-transform:uppercase !important;
}
.ah-about-content { display:flex !important; flex-direction:column !important }
.ah-about-name {
  font-family:'Montserrat',sans-serif !important; font-size:2.6rem !important;
  font-weight:900 !important; color:var(--tx-1) !important;
  text-transform:uppercase !important; letter-spacing:-.02em !important;
  margin-bottom:.4rem !important; line-height:1 !important;
}
.ah-about-role {
  font-family:'IBM Plex Mono',monospace !important; font-size:.68rem !important;
  color:var(--rose) !important; letter-spacing:.2em !important;
  text-transform:uppercase !important; margin-bottom:2rem !important;
  display:block !important;
}
.ah-about-bio { display:flex !important; flex-direction:column !important; gap:1.1rem !important; margin-bottom:2.5rem !important }
.ah-about-bio p { font-size:1rem !important; color:var(--tx-2) !important; line-height:1.8 !important }
.ah-about-bio p strong { color:var(--tx-1) !important; font-weight:600 !important }
.ah-trust { display:flex !important; flex-direction:column !important; gap:1rem !important }
.ah-trust-item { display:flex !important; align-items:flex-start !important; gap:.9rem !important }
.ah-trust-icon {
  width:38px !important; height:38px !important; border-radius:6px !important;
  flex-shrink:0 !important; background:var(--rose-soft) !important;
  border:1px solid rgba(196,67,107,0.2) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  font-size:1.1rem !important;
}
.ah-trust-item span { font-size:.9rem !important; color:var(--tx-2) !important; line-height:1.6 !important; padding-top:.1rem !important }
.ah-trust-item strong { color:var(--tx-1) !important }

/* ════════════════════════════════════
   RESPONSIVE — Mobile First UX
   ════════════════════════════════════ */

@media(max-width:1024px){
  .ah-hero-2col { grid-template-columns:1fr 340px; gap:2rem }
  .ah-h1 { font-size:clamp(2.4rem,5vw,4rem) }
}

@media(max-width:768px){
  /* Hero: texto arriba, foto+terminal abajo — todo visible */
  .ah-hero { padding:6rem 1.2rem 3rem; min-height:auto; align-items:flex-start }
  .ah-hero-2col { grid-template-columns:1fr; gap:1.8rem }
  .ah-hero-text { order:1 }
  .ah-hero-right { order:2; display:flex; flex-direction:column; gap:.8rem }

  /* Foto horizontal en móvil */
  .ah-founder-img { aspect-ratio:16/7; object-position:top center }
  .ah-founder-placeholder { aspect-ratio:16/7 }
  .ah-founder-name { font-size:.9rem }
  .ah-founder-role { font-size:.54rem }

  /* Terminal visible y compacto en móvil */
  .ah-hero-term { display:block }
  .ah-t-cols { grid-template-columns:1fr 1fr; gap:0 .5rem }
  .ah-t-body { font-size:.64rem; padding:.6rem .7rem }
  .ah-t-rv { font-size:.66rem }
  .ah-t-rl { font-size:.52rem }
  .ah-t-result { padding:.45rem .7rem }

  /* Tipografía hero */
  .ah-h1 { font-size:clamp(2.2rem,8.5vw,3rem); margin-bottom:.9rem }
  .ah-hero-desc { font-size:.9rem; margin-bottom:1.5rem }
  .ah-btns { gap:.7rem; flex-wrap:wrap }
  .btn-cta,.btn-ghost { font-size:.78rem; padding:.8rem 1.4rem }

  /* Nav */
  .ah-nav { padding:.8rem 1.2rem }
  .ah-logo-wrap .custom-logo,.ah-logo-wrap img { height:34px }
  .ah-nav-cta { font-size:.68rem; padding:.5rem .9rem }

  /* Stats 2x2 */
  .ah-stats-in { grid-template-columns:repeat(2,1fr) }
  .ah-stat-n { font-size:2rem }
  .ah-stat-l { font-size:.68rem }

  /* H2 */
  .ah-h2 { font-size:clamp(1.8rem,6.5vw,2.4rem) !important; margin-bottom:1rem !important }

  /* Secciones */
  .ah-sec,.ah-sec-alt { padding:3.2rem 1.2rem }
  .ah-cta-s { padding:3.2rem 1.2rem }

  /* Grids → 1 columna */
  .ah-sol-g,.ah-cta-in,.ah-ft-in { grid-template-columns:1fr }
  .ah-srv-g,.ah-testi-g,.ah-pg { grid-template-columns:1fr }

  /* Proceso */
  .ah-steps { flex-direction:column; gap:1.5rem }
  .ah-step:not(:last-child)::after { display:none }
  .ah-step { padding:0 }

  /* About */
  .ah-about-in { grid-template-columns:1fr !important; gap:1.8rem !important }
  .ah-about-photo-wrap::before { display:none !important }
  .ah-about-img { aspect-ratio:4/3 !important }
  .ah-about-name { font-size:1.8rem !important }
  .ah-about-badges { grid-template-columns:repeat(2,1fr) !important; gap:.4rem !important }
  .ah-about-badge { font-size:.58rem !important; padding:.45rem .5rem !important }
  .ah-about-role { margin-bottom:1.2rem !important }

  /* Logos */
  .ah-clients-grid { grid-template-columns:repeat(2,1fr) }
  .ah-client-item:nth-child(2n)::after { display:none }
  .ah-client-item:nth-last-child(-n+2)::before { display:none }

  /* Formulario */
  .ah-form-card { padding:1.4rem }
  .ah-sub-btn { font-size:.82rem }

  /* Footer */
  .ah-ft-bot { flex-direction:column; gap:.5rem; text-align:center }
}

/* Extra pequeño — 380px */
@media(max-width:380px){
  .ah-h1 { font-size:1.95rem }
  .ah-btns { flex-direction:column }
  .btn-cta,.btn-ghost { width:100%; justify-content:center; text-align:center }
  .ah-t-cols { grid-template-columns:1fr }
  .ah-t-col:last-child { display:none }
}
