/* ===== TEMPRA — Tratamiento térmico =====
   Migración desde Landingi · sitio estático
   Paleta del original:
   --dark #003244 (petróleo)  --red #DD0B30  --cyan #0186AC  --light #80C3D6
   Tipografía: Open Sans */

:root{
  --dark:#003244;
  --dark-2:#00222e;
  --red:#DD0B30;
  --red-dark:#b50a27;
  --cyan:#0186AC;
  --cyan-light:#80C3D6;
  --ink:#15242a;
  --muted:#5b6a70;
  --paper:#ffffff;
  --paper-2:#f3f7f8;
  --line:#dde6e8;
  --maxw:1180px;
  --radius:12px;
  --shadow:0 14px 40px rgba(0,50,68,.13);
  --font:"Open Sans",system-ui,-apple-system,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-family:var(--font);font-weight:700;font-size:.98rem;padding:14px 28px;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:.2s ease;text-align:center;}
.btn-primary{background:var(--red);color:#fff;}
.btn-primary:hover{background:var(--red-dark);transform:translateY(-2px);}
.btn-block{width:100%;}
.btn-wsp{background:#25D366;color:#fff;margin-top:8px;}
.btn-wsp:hover{background:#1da851;transform:translateY(-2px);}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(0,34,46,.97);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.08);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px;}
.brand{display:flex;align-items:center;}
.brand img{height:42px;width:auto;}
.nav{display:flex;align-items:center;gap:30px;}
.nav a{font-weight:600;font-size:.96rem;color:#dce8ea;transition:color .2s;}
.nav a:hover{color:var(--cyan-light);}
.nav .nav-cta{background:var(--red);color:#fff;padding:9px 20px;border-radius:8px;}
.nav .nav-cta:hover{background:var(--red-dark);color:#fff;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.nav-toggle span{width:26px;height:2px;background:#fff;display:block;transition:.3s;}

/* ---------- Hero (video de fondo) ---------- */
.hero{position:relative;overflow:hidden;color:#fff;padding:120px 0;min-height:78vh;display:flex;align-items:center;background:#001a24;}
.hero-video{position:absolute;inset:0;z-index:0;overflow:hidden;background:#001a24 url("assets/personahorno.png") center/cover no-repeat;}
.hero-video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);border:0;pointer-events:none;}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(0,20,28,.85) 0%,rgba(0,34,46,.6) 55%,rgba(0,34,46,.35) 100%);}
.hero-inner{position:relative;z-index:2;max-width:860px;}
.hero-title{font-family:var(--font);font-weight:800;font-size:clamp(2.2rem,5.4vw,3.8rem);line-height:1.06;margin:0 0 22px;}
.hero-title span{color:var(--cyan-light);}
.hero-sub{font-size:1.25rem;color:rgba(255,255,255,.86);margin:0 0 32px;max-width:640px;}

/* ---------- Section headers ---------- */
.eyebrow{font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.8rem;color:var(--red);margin:0 0 12px;}
.eyebrow.light{color:var(--cyan-light);}
.section-title{font-family:var(--font);font-weight:800;font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.12;margin:0 0 24px;color:var(--dark);}
.section-title.light{color:#fff;}
.section-title span{color:var(--red);}
.section-title.light span{color:var(--cyan-light);}
.section-lead{font-size:1.1rem;color:var(--muted);margin:0 0 44px;max-width:680px;}

/* ---------- Nosotros ---------- */
.about{padding:96px 0;background:var(--paper);}
.about-text{max-width:820px;}
.about-text p{font-size:1.08rem;color:var(--ink);margin:0 0 16px;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;}
.stat{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;border-top:4px solid var(--red);}
.stat-num{font-family:var(--font);font-weight:800;font-size:2.2rem;color:var(--dark);line-height:1;}
.stat p{margin:10px 0 0;color:var(--muted);font-size:.96rem;}

/* ---------- Servicios ---------- */
.services{padding:96px 0;background:var(--dark);}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.service{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:30px 26px;transition:.25s;}
.service:hover{background:rgba(1,134,172,.16);border-color:var(--cyan);transform:translateY(-4px);}
.service h3{font-family:var(--font);font-weight:700;font-size:1.25rem;color:#fff;margin:0 0 10px;}
.service h3::before{content:"";display:block;width:36px;height:3px;background:var(--red);margin-bottom:14px;border-radius:2px;}
.service p{color:rgba(255,255,255,.78);margin:0;font-size:.98rem;}

/* ---------- T-CORE ---------- */
.tcore{padding:96px 0;background:var(--paper-2);}
.tcore-inner{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.tcore-list{list-style:none;padding:0;margin:24px 0 0;}
.tcore-list li{position:relative;padding-left:30px;margin-bottom:16px;color:var(--ink);}
.tcore-list li::before{content:"";position:absolute;left:0;top:9px;width:14px;height:14px;background:var(--cyan);border-radius:3px;transform:rotate(45deg);}
.tcore-media{display:flex;justify-content:center;align-items:center;padding-left:6%;}
.tcore-badge img{
  width:min(220px,60%);height:auto;
  filter:drop-shadow(0 14px 26px rgba(221,11,48,.22));
  animation:tcoreFloat 6s ease-in-out infinite, tcoreGlow 3.6s ease-in-out infinite;
  will-change:transform,filter;
}
@keyframes tcoreFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes tcoreGlow{
  0%,100%{filter:drop-shadow(0 14px 26px rgba(221,11,48,.22))}
  50%{filter:drop-shadow(0 20px 42px rgba(221,11,48,.5))}
}
@media (prefers-reduced-motion:reduce){.tcore-badge img{animation:none;}}

/* ---------- Showcase planta (banda full-width) ---------- */
.showcase{padding:0;background:var(--dark);}
.showcase img{width:100%;max-height:540px;object-fit:cover;display:block;}

/* ---------- Pilares ---------- */
.pillars{padding:96px 0;background:var(--paper);}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.pillar{padding:30px 26px;border-radius:var(--radius);background:var(--paper-2);border:1px solid var(--line);transition:.25s;}
.pillar:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--cyan-light);}
.pillar h3{font-family:var(--font);font-weight:700;font-size:1.2rem;color:var(--dark);margin:0 0 10px;}
.pillar h3::before{content:"";display:block;width:36px;height:3px;background:var(--cyan);margin-bottom:14px;border-radius:2px;}
.pillar p{color:var(--muted);margin:0;font-size:.97rem;}

/* ---------- Capacidad ---------- */
.capacity{padding:96px 0;background:var(--paper-2);}
.capacity-inner{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.capacity-text p{font-size:1.06rem;color:var(--ink);margin:0 0 14px;}
.check-list{list-style:none;padding:0;margin:18px 0 0;}
.check-list li{position:relative;padding-left:30px;margin-bottom:12px;color:var(--ink);}
.check-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--red);font-weight:800;}
.capacity-media img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);object-fit:cover;}

/* ---------- Industrias ---------- */
.industries{padding:96px 0;background:var(--dark);}
.industries-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.industry{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:34px 30px;border-left:4px solid var(--red);}
.industry h3{font-family:var(--font);font-weight:700;font-size:1.3rem;color:#fff;margin:0 0 12px;}
.industry p{color:rgba(255,255,255,.8);margin:0;}

/* ---------- FAQ ---------- */
.faq{padding:96px 0;background:var(--paper);}
.faq-list{max-width:860px;}
.faq details{border:1px solid var(--line);border-radius:10px;margin-bottom:12px;background:var(--paper-2);overflow:hidden;}
.faq summary{cursor:pointer;list-style:none;padding:20px 24px;font-weight:700;color:var(--dark);font-size:1.05rem;position:relative;padding-right:50px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:700;color:var(--red);transition:transform .2s;}
.faq details[open] summary::after{content:"−";}
.faq details p{margin:0;padding:0 24px 22px;color:var(--muted);}

/* ---------- Confianza ---------- */
.trust{padding:96px 0;background:var(--dark-2);color:#fff;}
.cert-link{margin:0 0 48px;}
.cert-link a{color:var(--cyan-light);font-weight:700;border-bottom:2px solid var(--cyan);padding-bottom:2px;}
.cert-link a:hover{color:#fff;}
.clients{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.client-group{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);padding:24px 26px;}
.client-group h3{font-family:var(--font);font-weight:700;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-light);margin:0 0 12px;}
.client-group p{color:rgba(255,255,255,.74);margin:0;font-size:.92rem;line-height:1.8;}

/* ---------- Contacto ---------- */
.contact{padding:96px 0;background:var(--paper-2);}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start;}
.contact-title{font-family:var(--font);font-weight:800;font-size:clamp(1.9rem,3.8vw,2.8rem);line-height:1.06;margin:0 0 28px;color:var(--dark);}
.contact-title span{color:var(--red);}
.contact-block{margin-bottom:20px;}
.contact-block p{margin:0;color:var(--ink);font-size:1.05rem;}
.contact-form-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow);}
.lead-form{display:flex;flex-direction:column;gap:14px;}
.lead-form input,.lead-form textarea{font-family:var(--font);font-size:1rem;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);transition:border-color .2s;width:100%;resize:vertical;}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--cyan);}
.form-msg{margin:4px 0 0;font-size:.95rem;font-weight:700;text-align:center;}
.form-msg.ok{color:var(--cyan);}
.form-msg.err{color:var(--red);}

/* ---------- Footer ---------- */
.site-footer{background:var(--dark-2);color:#fff;padding:36px 0;border-top:4px solid var(--red);}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.footer-logo{height:34px;width:auto;}
.footer-copy{margin:0;color:rgba(255,255,255,.6);font-size:.88rem;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .nav{position:fixed;inset:72px 0 auto 0;flex-direction:column;background:var(--dark-2);gap:0;transform:translateY(-130%);transition:transform .3s;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1);}
  .nav.open{transform:translateY(0);}
  .nav a{padding:14px 24px;width:100%;}
  .nav .nav-cta{margin:8px 24px;text-align:center;}
  .nav-toggle{display:flex;}
  .services-grid,.pillars-grid{grid-template-columns:repeat(2,1fr);}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .tcore-inner,.capacity-inner,.contact-inner,.industries-grid,.clients{grid-template-columns:1fr;gap:30px;}
  .capacity-media{order:-1;}
  .tcore-media{padding-left:0;}
  .showcase img{max-height:300px;}
}
@media (max-width:560px){
  .hero{padding:88px 0;}
  .about,.services,.tcore,.pillars,.capacity,.industries,.faq,.trust,.contact{padding:60px 0;}
  .services-grid,.pillars-grid,.stats-grid{grid-template-columns:1fr;}
  .contact-form-wrap{padding:24px;}
}
