/*
Theme Name: Henez Corporativo
Theme URI: https://henez.co/
Author: Henez S.A.S.
Description: Tema corporativo multipágina para maquinaria, perforación horizontal, redes y obras civiles.
Version: 1.2.0
Text Domain: henez
*/

:root {
  --hz-ink: #07141b;
  --hz-ink-2: #0e2631;
  --hz-blue: #063d63;
  --hz-blue-2: #0b6b9a;
  --hz-sky: #dceff7;
  --hz-safety: #f5b400;
  --hz-paper: #f5f7f6;
  --hz-white: #fff;
  --hz-muted: #5a6970;
  --hz-line: #d8e0e3;
  --hz-radius: 18px;
  --hz-shadow: 0 18px 55px rgba(7, 20, 27, .12);
  --hz-container: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--hz-ink); background: var(--hz-white); font: 16px/1.65 Inter, system-ui, -apple-system, Segoe UI, sans-serif; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
.hz-container { width: var(--hz-container); margin-inline: auto; }
.hz-section { padding: clamp(70px, 9vw, 120px) 0; }
.hz-section--soft { background: var(--hz-paper); }
.hz-section--dark { color: var(--hz-white); background: var(--hz-ink); }
.hz-eyebrow { margin: 0 0 14px; color: var(--hz-blue-2); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hz-section--dark .hz-eyebrow { color: var(--hz-safety); }
h1,h2,h3,h4 { margin: 0 0 .55em; line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(2.8rem, 7vw, 6.5rem); }
h2 { font-size: clamp(2.1rem, 4.5vw, 4rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.7rem); }
p { margin: 0 0 1.15em; }
.hz-lead { max-width: 760px; color: var(--hz-muted); font-size: clamp(1.08rem, 2vw, 1.35rem); }
.hz-section--dark .hz-lead { color: #bfd0d7; }
.hz-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hz-btn { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 9px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; background: var(--hz-safety); color: var(--hz-ink); font-weight: 800; transition: .2s ease; cursor: pointer; }
.hz-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(245,180,0,.25); }
.hz-btn--ghost { border-color: rgba(255,255,255,.45); background: transparent; color: var(--hz-white); }
.hz-btn--dark { background: var(--hz-ink); color: var(--hz-white); }
.hz-link { color: var(--hz-blue); font-weight: 800; }
.hz-link:hover { color: var(--hz-blue-2); }

.hz-header { position: relative; z-index: 50; border-bottom: 1px solid rgba(7,20,27,.08); background: #fff; }
.hz-header__row { min-height: 78px; display: flex; align-items: center; gap: 28px; }
.hz-logo img { width: 150px; height: 62px; object-fit: contain; }
.hz-nav { display: flex; align-items: center; gap: 23px; margin-left: auto; font-size: .92rem; font-weight: 750; }
.hz-nav > a, .hz-drop > button { padding: 28px 0; border: 0; background: transparent; color: var(--hz-ink); cursor: pointer; }
.hz-drop { position: relative; }
.hz-drop__menu { position: absolute; top: calc(100% - 8px); left: -18px; width: 260px; padding: 12px; border: 1px solid var(--hz-line); border-radius: 14px; background: #fff; box-shadow: var(--hz-shadow); opacity: 0; pointer-events: none; transform: translateY(8px); transition: .2s ease; }
.hz-drop:hover .hz-drop__menu, .hz-drop:focus-within .hz-drop__menu { opacity: 1; pointer-events: auto; transform: none; }
.hz-drop__menu a { display: block; padding: 10px 12px; border-radius: 9px; }
.hz-drop__menu a:hover { background: var(--hz-paper); color: var(--hz-blue); }
.hz-menu-toggle { display: none; margin-left: auto; width: 46px; height: 46px; border: 1px solid var(--hz-line); border-radius: 50%; background: #fff; }
.hz-mobile { display: none; }

.hz-hero { position: relative; min-height: 610px; display: grid; align-items: end; overflow: hidden; color: #fff; background: linear-gradient(90deg,rgba(4,15,22,.96),rgba(4,15,22,.72) 48%,rgba(4,15,22,.18)), url('https://henez.co/wp-content/uploads/2026/08/henez-industrial-hero.png') center/cover; }
.hz-hero:after { content:""; position:absolute; inset:auto 0 0; height:8px; background:linear-gradient(90deg,var(--hz-safety) 0 34%,transparent 34%); }
.hz-hero__content { position: relative; z-index: 1; max-width: 790px; margin-left: clamp(120px, 18vw, 340px); padding: 82px 0 68px; }
.hz-hero h1 { max-width: 790px; font-size: clamp(2.8rem, 5.2vw, 5rem); }
.hz-hero p { max-width: 690px; color: #d9e4e8; font-size: clamp(1.1rem,2vw,1.35rem); }
.hz-mini-proof { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--hz-line); }
.hz-mini-proof div { padding:26px; border-right:1px solid var(--hz-line); }
.hz-mini-proof strong { display:block; color:var(--hz-blue); font-size:1.05rem; }
.hz-mini-proof span { color:var(--hz-muted); font-size:.88rem; }

.hz-grid { display:grid; gap:24px; }
.hz-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hz-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hz-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.hz-card { overflow:hidden; border:1px solid var(--hz-line); border-radius:var(--hz-radius); background:#fff; box-shadow:0 10px 35px rgba(7,20,27,.06); }
.hz-card__body { padding:26px; }
.hz-card__media { position:relative; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(135deg,var(--hz-ink-2),var(--hz-blue)); }
.hz-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.hz-card:hover .hz-card__media img { transform:scale(1.035); }
.hz-card__number { position:absolute; top:14px; left:14px; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--hz-safety); font-weight:900; }
.hz-card__tag { color:var(--hz-blue-2); font-size:.76rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.hz-card--service { padding:32px; background:var(--hz-paper); box-shadow:none; }
.hz-card--service .hz-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:45px; border-radius:12px; background:var(--hz-safety); font-size:1.3rem; }
.hz-equipment-placeholder { height:100%; display:grid; place-items:center; padding:32px; color:#d5e1e5; text-align:center; background:linear-gradient(135deg,var(--hz-ink),var(--hz-blue)); }
.hz-equipment-placeholder strong { display:block; color:#fff; font-size:1.45rem; }
.hz-equipment-placeholder small { display:block; margin-top:6px; }
.hz-split { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:clamp(48px,7vw,100px); }
.hz-split > * { min-width:0; }
.hz-photo { position:relative; width:100%; min-width:0; min-height:500px; overflow:hidden; border-radius:var(--hz-radius); box-shadow:var(--hz-shadow); isolation:isolate; }
.hz-photo img { position:absolute; inset:0; width:100%; max-width:100%; height:100%; min-height:0; object-fit:cover; }
.hz-checks { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:28px 0; padding:0; list-style:none; }
.hz-checks li { padding:15px 17px; border-left:4px solid var(--hz-safety); background:var(--hz-paper); font-weight:750; }

.hz-page-hero { padding:100px 0 72px; color:#fff; background:linear-gradient(120deg,var(--hz-ink),var(--hz-blue)); }
.hz-page-hero h1 { max-width:950px; font-size:clamp(2.8rem,6vw,5.5rem); }
.hz-page-hero p { max-width:760px; color:#c7d7de; font-size:1.2rem; }
.hz-breadcrumb { margin-bottom:28px; color:#a9c0ca; font-size:.88rem; }
.hz-breadcrumb a { color:#fff; }
.hz-filterbar { display:flex; flex-wrap:wrap; gap:9px; margin:32px 0 40px; }
.hz-filter { padding:10px 16px; border:1px solid var(--hz-line); border-radius:999px; background:#fff; font-weight:750; cursor:pointer; }
.hz-filter.is-active { border-color:var(--hz-ink); background:var(--hz-ink); color:#fff; }
.hz-equipment-grid .is-hidden { display:none; }
.hz-tags { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.hz-tag { padding:7px 12px; border-radius:999px; background:var(--hz-sky); color:var(--hz-blue); font-size:.84rem; font-weight:800; }
.hz-spec-panel { padding:34px; border-radius:var(--hz-radius); background:var(--hz-paper); }
.hz-related { margin-top:55px; }

.hz-diagram { padding:0; overflow:hidden; border:1px solid var(--hz-line); border-radius:24px; background:#fff; box-shadow:var(--hz-shadow); }
.hz-diagram__art { display:block; width:100%; height:auto; }
.hz-diagram svg { display:none; }
.hz-process { counter-reset:step; }
.hz-process article { position:relative; padding:30px 25px 30px 70px; border-top:1px solid rgba(255,255,255,.18); }
.hz-process article:before { counter-increment:step; content:"0" counter(step); position:absolute; left:0; top:28px; color:var(--hz-safety); font-weight:900; }
.hz-flow { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:28px; }
.hz-flow span { padding:13px 16px; border-radius:10px; background:var(--hz-paper); font-weight:800; }
.hz-flow b { color:var(--hz-safety); font-size:1.4rem; }

.hz-project { position:relative; min-height:420px; overflow:hidden; border-radius:var(--hz-radius); color:#fff; }
.hz-project img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hz-project:after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 30%,rgba(4,15,22,.92)); }
.hz-project__body { position:absolute; z-index:2; right:0; bottom:0; left:0; padding:28px; }
.hz-cta { padding:clamp(38px,7vw,72px); border-radius:28px; color:#fff; background:linear-gradient(110deg,var(--hz-blue),var(--hz-ink)); }
.hz-cta h2 { max-width:800px; }

.hz-form { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.hz-field { display:grid; gap:7px; }
.hz-field--full { grid-column:1/-1; }
.hz-field label { font-size:.88rem; font-weight:800; }
.hz-field input,.hz-field select,.hz-field textarea { width:100%; padding:14px 16px; border:1px solid var(--hz-line); border-radius:11px; background:#fff; color:var(--hz-ink); }
.hz-field textarea { min-height:150px; resize:vertical; }
.hz-notice { margin-bottom:24px; padding:14px 18px; border-radius:10px; background:#e7f6ed; color:#145d32; }

.hz-footer { padding:65px 0 25px; color:#c8d7dd; background:var(--hz-ink); }
.hz-footer__grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:45px; }
.hz-footer h4 { color:#fff; font-size:1rem; }
.hz-footer a { display:block; margin:7px 0; }
.hz-footer a:hover { color:var(--hz-safety); }
.hz-footer__brand img { width:160px; margin-bottom:20px; filter:brightness(0) invert(1); }
.hz-footer__bottom { display:flex; justify-content:space-between; gap:20px; margin-top:50px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); font-size:.85rem; }
.hz-whatsapp { position:fixed; z-index:45; right:20px; bottom:20px; display:flex; align-items:center; gap:9px; padding:13px 17px; border-radius:999px; background:#25d366; color:#062d18; font-weight:900; box-shadow:0 12px 30px rgba(0,0,0,.2); }

@media (max-width: 980px) {
  .hz-nav,.hz-header .hz-btn { display:none; }
  .hz-menu-toggle { display:block; }
  .hz-mobile { position:fixed; z-index:60; inset:0; display:block; padding:22px; background:var(--hz-ink); color:#fff; transform:translateX(100%); transition:.3s ease; overflow:auto; }
  .menu-open .hz-mobile { transform:none; }
  .hz-mobile__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:30px; }
  .hz-mobile__close { width:45px;height:45px;border:1px solid #49606a;border-radius:50%;background:transparent;color:#fff;font-size:1.5rem; }
  .hz-mobile a { display:block; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.12); font-size:1.05rem; }
  .hz-mobile strong { display:block; margin-top:20px; color:var(--hz-safety); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }
  .hz-grid--4 { grid-template-columns:repeat(2,1fr); }
  .hz-grid--3 { grid-template-columns:repeat(2,1fr); }
  .hz-split { grid-template-columns:1fr; }
  .hz-footer__grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 660px) {
  :root { --hz-container:min(100% - 28px,1180px); }
  .hz-header__row { min-height:68px; }
  .hz-logo img { width:128px; height:52px; }
  .hz-hero { min-height:610px; }
  .hz-hero__content { max-width:none; margin-left:0; padding:72px 0 56px; }
  .hz-hero h1 { font-size:clamp(2.65rem,12vw,3.6rem); }
  .hz-mini-proof { grid-template-columns:repeat(2,1fr); }
  .hz-mini-proof div { padding:18px 14px; }
  .hz-grid--2,.hz-grid--3,.hz-grid--4 { grid-template-columns:1fr; }
  .hz-checks { grid-template-columns:1fr; }
  .hz-photo { min-height:360px; }
  .hz-form { grid-template-columns:1fr; }
  .hz-field--full { grid-column:auto; }
  .hz-footer__grid { grid-template-columns:1fr; gap:30px; }
  .hz-footer__bottom { flex-direction:column; }
  .hz-whatsapp span { display:none; }
}
