/* Valuor styles - Carbón + Cobre */
:root{
  --carbon:#1A1F2A; --slate:#2C3444; --copper:#B97A3D; --ink:#12161E; --line:#C9CFD9; --bg:#F4F5F7;
  --hero-min-h: 82vh;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
img,svg,video{max-width:100%;display:block}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:linear-gradient(#F4F5F7, #fff)}
.container{max-width:1120px;margin:0 auto;padding:0 16px}

/* Tipografía */
h1,h2,h3{margin:0 0 8px}
h1{color:var(--carbon);font-family:'Titillium Web',Inter,sans-serif;font-weight:700;letter-spacing:-.01em;font-size:clamp(32px,3.6vw,44px)}
h2{color:var(--carbon);font-weight:700;font-size:clamp(24px,2.4vw,32px)}
h3{color:var(--carbon);font-weight:600;font-size:18px}
p{color:var(--slate);line-height:1.55}

/* Botones */
.btn{display:inline-block;padding:12px 18px;border-radius:12px;text-decoration:none;border:1px solid transparent;font-weight:600}
.btn.primary{background:var(--copper);color:#fff}
.btn.primary:hover{filter:brightness(.95)}
.btn.outline{border-color:var(--copper);color:var(--copper)}
.btn.outline:hover{background:var(--copper);color:#fff}
.btn.full{width:100%;text-align:center}
.btn-link{color:var(--copper);font-weight:600}

/* Header */
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{display:flex;align-items:center;gap:8px;color:var(--carbon);text-decoration:none}
.brand-name{font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.brand-mark{height:36px;width:36px;border-radius:12px;display:block}
.main-nav{display:none;gap:24px}
.main-nav a{color:var(--slate);text-decoration:none}
.main-nav a:hover{color:var(--copper)}
@media(min-width:768px){.main-nav{display:flex}}

/* Layout base */
.hero{padding:72px 0}
.hero-inner{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
@media(min-width:1024px){.hero-inner{grid-template-columns:1.1fr .9fr}}
.hero-copy p{margin:12px 0 0}
.hero-cta{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.hero-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#ffffff59}
.card h3{font-size:14px;margin-bottom:6px}
.card p{font-size:14px}
.card.span{grid-column:1/-1}

/* Logos fuera del hero */
.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#8B94A3;text-align:center;font-size:12px;margin-bottom:12px}
.logos{padding:8px 0 40px}
.logo-list{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;list-style:none;margin:0;padding:0}
.logo-list li{border:1px dashed var(--line);border-radius:12px;padding:10px 14px;font-weight:600;color:var(--carbon);background:#fff}

/* Grids */
.section-head{margin-bottom:12px}
.section-head.center{text-align:center}
.grid{display:grid;gap:16px}
.grid.four{grid-template-columns:1fr}
.grid.three{grid-template-columns:1fr}
.grid.two{grid-template-columns:1fr}
@media(min-width:640px){.grid.two{grid-template-columns:1fr 1fr}}
@media(min-width:768px){.grid.four{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.grid.four{grid-template-columns:repeat(4,1fr)}}

/* Cards fuera del hero */
.feature,.step,.qa{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px}
.feature .icon{font-size:20px;line-height:1;height:36px;width:36px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.badge{display:inline-block;border:1px solid var(--copper);color:var(--copper);border-radius:8px;padding:2px 8px;font-size:12px;font-weight:600;margin-bottom: 10px;}

/* Contacto */
.contact{background:var(--bg);padding:64px 0}
.form{display:grid;grid-template-columns:1fr;gap:10px}
.form input,.form textarea{border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;color:var(--ink);background:#fff}
.form input:focus,.form textarea:focus{outline:2px solid var(--copper);outline-offset:0}
.form-note{font-size:12px;color:#8B94A3;margin:8px 0 0}
.hp{position:absolute;left:-99999px;top:auto;width:1px;height:1px;overflow:hidden}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:28px 0;background:#fff}
.footer-inner{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center}
.footer-nav{display:flex;gap:16px;flex-wrap:wrap}
.footer-nav a{color:var(--slate);text-decoration:none}
.footer-nav a:hover{color:var(--copper)}
.legal{color:var(--slate);font-size:14px}
.thanks{display:grid;min-height:100vh;place-items:center;background:#fff}
.thanks-inner{text-align:center}
.thanks-inner .btn{margin-top:12px}

/* =========================
   HERO con video (fondo b/n)
   ========================= */
.hero.hero-video{
  position:relative; min-height:var(--hero-min-h); padding:72px 0;
  color:#fff; overflow:hidden; background:var(--carbon); isolation:isolate;
}
/* Capa del video al fondo (z=0) */
.hero.hero-video .hero-media{position:absolute; inset:0; z-index:0 !important}
.hero-video-el{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.05);opacity:.9}

/* SCRIM inferior entre video y contenido (z=1) */
.hero.hero-video::after{
  content:""; position:absolute; left:0; right:0; top:20%; bottom:0;
  z-index:1; pointer-events:none;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0) 0%,
    rgba(8,10,14,.32) 25%,
    rgba(8,10,14,.58) 55%,
    rgba(8,10,14,.85) 100%
  );
}
/* Contenido encima del scrim (z=2) */
.hero.hero-video .container,
.hero.hero-video .logos,
.hero.hero-video .services,
.hero.hero-video .method{ position:relative; z-index:2 }

/* Texto blanco dentro del hero */
.hero.hero-video h1,.hero.hero-video h2,.hero.hero-video h3,.hero.hero-video p,
.hero.hero-video .section-head p,.hero.hero-video .eyebrow{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45)}

/* Chips de logos dentro del hero: glass claro */
.hero.hero-video .logo-list li{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  backdrop-filter:blur(2px) saturate(1.05);
  -webkit-backdrop-filter:blur(2px) saturate(1.05);
}

/* Cards de hero-cards (arriba): glass claro */
.hero.hero-video .hero-cards .card{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  backdrop-filter:blur(2px) saturate(1.05);
  -webkit-backdrop-filter:blur(2px) saturate(1.05);
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
.hero.hero-video .hero-cards .card h3,
.hero.hero-video .hero-cards .card p{color:#fff}

/* Cards de Servicios y Metodología: dark glass para máxima legibilidad abajo */
.hero.hero-video .services .feature,
.hero.hero-video .method .step{
  background:rgba(15,17,23,.48);
  border:1px solid rgba(255,255,255,.26);
  color:#fff;
  backdrop-filter:blur(3px) saturate(1.05);
  -webkit-backdrop-filter:blur(3px) saturate(1.05);
  box-shadow:0 6px 18px rgba(0,0,0,.22);
}
.hero.hero-video .services .feature h3,
.hero.hero-video .services .feature p,
.hero.hero-video .method .step h3,
.hero.hero-video .method .step p{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.hero.hero-video .services .feature .icon{
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
}

/* Espaciado del mega-hero */
.hero.hero-video .logos{padding:24px 0 8px}
.hero.hero-video .services{padding:24px 0}
.hero.hero-video .method{padding:24px 0 40px}

/* Header tipo glass sobre video */
.site-header{background:rgba(255,255,255,.88);backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px)}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .hero-video-el{display:none}
  .hero.hero-video{background:radial-gradient(1200px 600px at 20% 10%, #20273a, #0f1422)}
}

/* Iconografía monolínea corporativa */
.ic {
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:12px;
  background:#F4F5F7; border:1px solid #C9CFD9; margin-bottom:10px;
}
.ic svg { width:22px; height:22px; stroke:#1A1F2A; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.feature h3 { margin-top:2px; }
