/* Portada v2: fotos reales, tipografía industrial y franja tipo manifiesto de carga. Prefijo hv- */
.hv-display{font-family:'Big Shoulders Display','Plus Jakarta Sans',system-ui,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.005em;line-height:.92}
.hv-mono{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;letter-spacing:.1em}

/* Portada */
.hv-hero{background:#0E2D34;color:#F4F6F5}
.hv-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);min-height:620px}
.hv-hero-copy{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:80px 56px 72px max(24px,calc((100vw - 1180px)/2))}
.hv-hero-copy .hv-mono{margin:0;font-size:13px;color:#E2B33C}
.hv-hero h1{margin:0;font-size:clamp(3.4rem,7vw,6.6rem);color:#F4F6F5;text-wrap:balance}
.hv-hero-lead{margin:0;max-width:560px;font-size:1.15rem;line-height:1.6;color:#D3DEDF}
.hv-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hv-btn{display:inline-flex;align-items:center;gap:8px;padding:15px 22px;border-radius:4px;font-weight:700;font-size:1rem;text-decoration:none;transition:background .15s ease,color .15s ease}
.hv-btn svg{width:18px;height:18px}
.hv-btn-gold{background:#E2B33C;color:#1A1405}
.hv-btn-gold:hover{background:#F0C451;color:#1A1405}
.hv-btn-line{border:1.5px solid rgba(244,246,245,.6);color:#F4F6F5;padding:13.5px 20px}
.hv-btn-line:hover{background:rgba(244,246,245,.1);color:#fff}
.hv-btn-dark{background:#123F49;color:#F4F6F5}
.hv-btn-dark:hover{background:#0B2A31;color:#fff}
.hv-btn:focus-visible{outline:3px solid #E2B33C;outline-offset:3px}
.hv-hero-alt{margin:0;font-size:.95rem;color:#B5C5C7}
.hv-hero-alt a{color:#F4F6F5;text-decoration:underline;text-underline-offset:3px}
.hv-hero-photo{position:relative;margin:0;min-height:100%}
.hv-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hv-hero-photo figcaption{position:absolute;left:16px;bottom:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;color:#fff;background:rgba(9,32,37,.72);padding:5px 9px}
.hv-manifest{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#092025;border-top:1px solid rgba(226,179,60,.5)}
.hv-manifest>div{padding:18px 22px;border-right:1px solid rgba(255,255,255,.1)}
.hv-manifest>div:first-child{padding-left:max(24px,calc((100vw - 1180px)/2))}
.hv-manifest>div:last-child{border-right:0}
.hv-manifest dt{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;color:#8FA6A9}
.hv-manifest dd{margin:4px 0 0;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:1.6rem;letter-spacing:.02em;color:#F4F6F5;text-transform:uppercase}

/* Encabezados de sección (también para cotizador, ruta, videos y preguntas) */
.home-v2 .rd-section-head{max-width:none;margin:0 0 36px;text-align:left;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px}
.home-v2 .rd-section-head::before{display:none}
.home-v2 .rd-section-head h2,.hv-h2{margin:0;font-family:'Big Shoulders Display','Plus Jakarta Sans',sans-serif;font-weight:900;text-transform:uppercase;line-height:.95;font-size:clamp(2.6rem,5vw,4rem);color:#123F49}
.home-v2 .rd-section-head p{max-width:440px}
.hv-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;margin-bottom:36px}
.hv-head p{margin:0;max-width:440px;color:var(--muted);font-size:1.05rem;line-height:1.55}
.hv-head a{font-weight:700;color:#123F49}

/* Servicios como lista */
.hv-services{padding:92px 0 72px}
.hv-svc-list{border-top:2px solid #123F49}
.hv-svc{display:grid;grid-template-columns:150px minmax(0,1.25fr) minmax(0,1fr) 120px;gap:24px;align-items:baseline;padding:22px 16px;border-bottom:1px solid #C8D3D5;text-decoration:none;color:var(--ink);transition:background .15s ease}
.hv-svc:hover{background:#EEF3F2}
.hv-svc:focus-visible{outline:3px solid #E2B33C;outline-offset:-3px}
.hv-svc .hv-mono{font-size:12px;color:#5B6C70;font-weight:600}
.hv-svc strong{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:1.9rem;text-transform:uppercase;color:#123F49;line-height:1}
.hv-svc span.hv-desc{font-size:1rem;line-height:1.5;color:#3E5155}
.hv-svc em{font-style:normal;font-weight:700;color:#123F49;justify-self:end;white-space:nowrap}
.hv-svc.is-main{background:#E7EEED;padding-block:28px}
.hv-svc.is-main:hover{background:#DDE7E6}
.hv-svc.is-main .hv-mono{color:#7A5C0E}
.hv-svc.is-main strong{font-size:2.5rem}
.hv-svc-foot{margin:22px 0 0;color:var(--muted)}
.hv-svc-foot a{color:#123F49;font-weight:700}

/* Proceso */
.hv-process{background:#123F49;color:#EAF0F0;padding:88px 0}
.hv-process .hv-h2{color:#F4F6F5;margin-bottom:36px}
.hv-steps{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid rgba(226,179,60,.6)}
.hv-steps li{display:flex;flex-direction:column;gap:8px;padding:20px 18px 0 0}
.hv-steps .hv-mono{font-size:12px;color:#E2B33C}
.hv-steps b{font-size:1.05rem;color:#F4F6F5}
.hv-steps span:last-child{font-size:.9rem;line-height:1.5;color:#B8CACC}

/* En terreno */
.hv-field{padding:92px 0}
.hv-photos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.hv-photos figure{margin:0;display:flex;flex-direction:column;gap:8px}
.hv-photos img{width:100%;object-fit:cover;display:block}
.hv-photos figcaption{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.06em;color:#4D6064;text-transform:uppercase}
.hv-ph-a{grid-column:span 7;grid-row:span 2}.hv-ph-a img{height:560px}
.hv-ph-b,.hv-ph-c{grid-column:span 5}.hv-ph-b img,.hv-ph-c img{height:246px}
.hv-ph-d,.hv-ph-e,.hv-ph-f{grid-column:span 4}.hv-ph-d img,.hv-ph-e img,.hv-ph-f img{height:300px}

/* Alan */
.hv-alan{background:#E2E8E7;padding:88px 0}
.hv-alan-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.hv-alan-grid>img{width:100%;height:540px;object-fit:cover;object-position:center 70%;display:block}
.hv-alan-copy{display:flex;flex-direction:column;gap:20px}
.hv-alan-copy .hv-mono{margin:0;font-size:13px;color:#7A5C0E}
.hv-alan-copy h2{margin:0;font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(3rem,6vw,4.6rem);line-height:.92;color:#123F49}
.hv-alan-copy p{margin:0;max-width:560px;font-size:1.15rem;line-height:1.6;color:#2E4145}
.hv-alan-copy ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;color:#2E4145}
.hv-alan-copy li{display:flex;gap:12px;align-items:baseline}
.hv-alan-copy li svg{width:16px;height:16px;flex:none;color:#7A5C0E;transform:translateY(2px)}

/* Cierre */
.hv-close{position:relative;background:#0E2D34;color:#F4F6F5;overflow:hidden}
.hv-close>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.hv-close .container{position:relative;padding-block:92px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.hv-close h2{margin:0;font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(3rem,7vw,5.2rem);line-height:.9;color:#F4F6F5;max-width:820px}
.hv-close p{margin:0;font-size:1.15rem;color:#D3DEDF;max-width:560px}

@media (max-width:980px){
  .hv-hero-grid{grid-template-columns:1fr;min-height:0}
  .hv-hero-copy{padding:56px 20px 40px}
  .hv-hero-photo{height:320px;order:-1}
  .hv-manifest{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hv-manifest>div,.hv-manifest>div:first-child{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.1)}
  .hv-manifest dd{font-size:1.3rem}
  .hv-svc{grid-template-columns:1fr;gap:6px;padding:20px 4px}
  .hv-svc.is-main{padding:24px 14px}
  .hv-svc em{justify-self:start}
  .hv-steps{grid-template-columns:1fr;border-top:0}
  .hv-steps li{padding:16px 0;border-top:1px solid rgba(226,179,60,.4)}
  .hv-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hv-photos figure{grid-column:auto;grid-row:auto}
  .hv-ph-a{grid-column:1/-1 !important}
  .hv-photos img,.hv-ph-a img,.hv-ph-b img,.hv-ph-c img,.hv-ph-d img,.hv-ph-e img,.hv-ph-f img{height:220px}
  .hv-ph-a img{height:300px}
  .hv-alan-grid{grid-template-columns:1fr;gap:28px}
  .hv-alan-grid>img{height:360px}
}
@media (prefers-reduced-motion:reduce){.hv-btn,.hv-svc{transition:none}}
.home-v2 .rd2-head h2{font-family:'Big Shoulders Display','Plus Jakarta Sans',sans-serif;font-weight:900;text-transform:uppercase;line-height:.95;font-size:clamp(2.6rem,5vw,4rem);color:#123F49}
