/*
Theme Name: Grupo Pro Energy
Theme URI: https://grupoproenergy.com
Author: Grupo Pro Energy
Description: Tema a la medida para Grupo Pro Energy, construido directamente desde el diseño HTML/CSS original.
Version: 1.0
Text Domain: gpe-theme
*/

:root{
  --dark:#0A0E1A; --dark2:#10151F; --navy:#151D30;
  --gold:#0046E2; --gold-d:#0063FF;
  --light:#F5F7FC; --ink:#0B1220; --body:#5B6478;
  --white:#FFFFFF; --border:#E3E8F5; --ondark:#AEB9D6;
  --tint:#E9EFFE;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif; color:var(--ink); background:var(--white); line-height:1.5; -webkit-font-smoothing:antialiased;}
h1,h2,h3,.head{font-family:'Space Grotesk',sans-serif;}
img{display:block; max-width:100%;}
a{text-decoration:none; color:inherit;}
.wrap{max-width:1280px; margin:0 auto; padding:0 28px;}
.wrap-narrow{max-width:900px; margin:0 auto; padding:0 28px;}
section{padding:110px 0;}
.eyebrow{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:13px; letter-spacing:.12em; color:var(--gold); text-transform:uppercase; margin-bottom:14px;}
.h2{font-size:36px; font-weight:600; line-height:1.15; letter-spacing:-.01em;}
.lead{color:var(--body); font-size:16px; line-height:1.7; margin-top:14px;}
.center{text-align:center; margin:0 auto;}
.btn{display:inline-flex; align-items:center; gap:8px; padding:14px 26px; border-radius:8px; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:14px; text-transform:uppercase; letter-spacing:.04em; border:1px solid transparent; cursor:pointer; transition:.2s ease;}
.btn-gold{background:var(--gold); color:#fff;}
.btn-gold:hover{background:var(--gold-d); transform:translateY(-1px);}
.btn-ghost{background:transparent; color:#fff; border-color:#3D5AA8;}
.btn-ghost:hover{background:rgba(255,255,255,.08);}
.btn-wa{background:#25D366; color:#fff;}
.btn-wa:hover{background:#1EBE57;}

/* ---------- HEADER ---------- */
header{position:sticky; top:0; z-index:100; background:var(--dark); border-bottom:1px solid #1C2333;}
.header-row{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0;}
.logo{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:19px; color:#fff; display:flex; gap:6px; white-space:nowrap;}
.logo-img{display:inline-flex; align-items:center;}
.logo-img img{height:34px; width:auto; display:block;}
.footer-brand .logo-img img{height:30px;}
.logo span{color:var(--gold);}
nav.links{display:flex; gap:28px; align-items:center;}
nav.links a{color:#C9CEDB; font-size:14px; font-weight:500; position:relative;}
nav.links a:hover{color:#fff;}
nav.links a.current{color:#fff;}
.has-sub{position:relative;}
.submenu{position:absolute; top:130%; left:0; background:var(--dark2); border:1px solid #1C2333; border-radius:10px; padding:8px; min-width:200px; opacity:0; visibility:hidden; transform:translateY(-6px); transition:.18s ease;}
.has-sub:hover .submenu{opacity:1; visibility:visible; transform:translateY(0);}
.submenu a{display:block; padding:8px 12px; border-radius:6px; font-size:13.5px;}
.submenu a:hover{background:#1A2136; color:var(--gold);}
.header-cta{white-space:nowrap;}
.burger{display:none; background:none; border:none; color:#fff; font-size:20px; cursor:pointer;}
.mobile-menu{display:none; flex-direction:column; gap:2px; padding:0 0 16px 0;}
.mobile-menu a{padding:10px 4px; color:#C9CEDB; font-size:14.5px; border-top:1px solid #1C2333;}
.mobile-menu.open{display:flex;}
.mmenu-group{border-top:1px solid #1C2333;}
.mmenu-toggle{display:flex; align-items:center; justify-content:space-between; width:100%; background:none; border:none; padding:10px 4px; color:#C9CEDB; font-size:14.5px; font-family:inherit; cursor:pointer;}
.mmenu-toggle i{font-size:12px; transition:transform .2s ease;}
.mmenu-group.open .mmenu-toggle i{transform:rotate(180deg);}
.mmenu-submenu{display:none; flex-direction:column;}
.mmenu-group.open .mmenu-submenu{display:flex;}
.mmenu-submenu a{padding:10px 4px 10px 18px; color:#C9CEDB; font-size:13.5px; border-top:1px solid #1C2333;}
@media(max-width:900px){
  nav.links, .header-cta{display:none;}
  .burger{display:block;}
}
@media(max-width:600px){
  .header-row.wrap{padding:0 16px;}
  .logo-img{min-width:0; flex-shrink:1;}
  .logo-img img{max-width:100%;}
  .burger{flex-shrink:0; padding:0; margin-left:auto;}
}

/* ---------- HERO ---------- */
.hero{position:relative; min-height:auto; display:flex; align-items:center; overflow:hidden; padding:180px 0 100px;}
.hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.hero-overlay{position:absolute; inset:0; z-index:1; background:rgba(10,14,26,.82);}
.hero-row{position:relative; z-index:2; display:flex; gap:56px; align-items:center;}
.hero-text{flex:1 1 52%; min-width:300px;}
.hero-text h1{color:#fff; font-size:52px; font-weight:600; line-height:1.08; letter-spacing:-.01em; margin:16px 0 18px;}
.hero-text p.lead{color:var(--ondark);}
.hero-media{flex:1 1 48%; min-width:300px; position:relative;}
.hero-media img{border-radius:20px; width:100%; height:460px; object-fit:cover; box-shadow:0 24px 60px rgba(10,14,26,.35);}
.badge-card{position:absolute; left:-24px; bottom:-24px; background:#fff; border-radius:14px; padding:16px 20px; display:flex; gap:12px; align-items:center; box-shadow:0 12px 34px rgba(10,14,26,.28); max-width:280px;}
.hero-bullets{list-style:none; margin:22px 0; display:flex; flex-direction:column; gap:12px;}
.hero-bullets li{display:flex; gap:10px; align-items:flex-start; color:#D7DAE4; font-size:15px;}
.hero-bullets i{color:var(--gold); margin-top:3px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:8px;}
.trust{display:flex; align-items:center; gap:10px; margin-top:22px; color:#9BA2B4; font-size:13px;}
.trust .stars{color:var(--gold); letter-spacing:2px; font-size:13px;}
.badge-card .ic{width:46px; height:46px; border-radius:10px; background:var(--tint); display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:20px; flex:none;}
.badge-card .lbl{font-size:12px; color:var(--body);}
.badge-card .val{font-size:17px; font-weight:700; color:var(--ink);}

.stats-bar{background:var(--dark2); border-top:1px solid #1C2333; padding:40px 0;}
.stats-row{display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.stat{flex:1 1 200px; text-align:center;}
.stat .num{font-size:34px; font-weight:700; color:var(--gold);}
.stat .lbl{font-size:13px; color:#9BA2B4; margin-top:6px;}

/* ---------- BRANDS ---------- */
.brands{background:var(--dark); padding:30px 0;}
.brands .eyebrow{color:#9AA0AF; text-align:center; letter-spacing:.12em;}
.gpe-marquee{overflow:hidden; width:100%; margin-top:18px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.gpe-marquee-track{display:flex; align-items:center; gap:16px; width:max-content; animation:gpeScroll 28s linear infinite;}
.gpe-marquee:hover .gpe-marquee-track{animation-play-state:paused;}
.gpe-logo{height:100px; width:auto; flex-shrink:0; filter:grayscale(100%); opacity:.75; transition:opacity .2s ease;}
.gpe-logo:hover{opacity:1;}
@keyframes gpeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(max-width:600px){.gpe-logo{height:70px;}}

/* ---------- ABOUT ---------- */
.about-row{display:flex; gap:56px; align-items:center;}
.about-row img{border-radius:18px; height:560px; object-fit:cover; flex:1 1 46%; min-width:280px;}
.about-text{flex:1 1 48%; min-width:280px;}
.about-text h2{font-size:38px; margin:6px 0 18px;}
.about-text p{color:var(--body); font-size:16px; line-height:1.75; margin-bottom:14px;}
.mini-stats{display:flex; gap:28px; margin-top:14px; flex-wrap:wrap;}
.mini-stats div b{display:block; font-size:26px; font-weight:700;}
.mini-stats div span{font-size:13px; color:var(--body); font-weight:500;}

/* ---------- FEATURES ---------- */
.features{background:var(--white);}
.grid-3{display:flex; gap:24px; margin-top:44px; flex-wrap:wrap;}
.feat-card{flex:1 1 300px; background:var(--light); border-radius:14px; padding:32px 28px;}
.feat-icon{width:56px; height:56px; border-radius:14px; background:var(--tint); display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:24px; margin-bottom:16px;}
.feat-card h3{font-size:20px; font-weight:700; margin-bottom:10px;}
.feat-card p{color:var(--body); font-size:15px; line-height:1.65;}

/* ---------- SOLUTIONS ---------- */
.solutions{background:var(--dark);}
.solutions .h2, .solutions .lead{color:#fff;}
.solutions .lead{color:var(--ondark);}
.sol-grid{display:flex; gap:24px; margin-top:44px; flex-wrap:wrap;}
.sol-card{flex:1 1 260px; background:var(--dark2); border:1px solid #1C2333; border-radius:14px; overflow:hidden; scroll-margin-top:100px;}
.sol-card img{height:200px; width:100%; object-fit:cover;}
.sol-body{padding:26px 24px; display:flex; flex-direction:column; gap:14px;}
.sol-body h3{color:#fff; font-size:21px; font-weight:700;}
.sol-body p{color:var(--ondark); font-size:14.5px; line-height:1.6;}
.sol-body ul{list-style:none; display:flex; flex-direction:column; gap:8px;}
.sol-body ul li{display:flex; gap:8px; align-items:flex-start; color:#C9CEDB; font-size:13.5px;}
.sol-body ul i{color:var(--gold); margin-top:3px; font-size:11px;}
.sol-link{color:var(--gold); font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:.04em; display:inline-flex; gap:6px; align-items:center; border:1px solid #3D5AA8; padding:10px 16px; border-radius:8px; align-self:flex-start;}
.sol-link:hover{background:rgba(253,184,19,.1);}

/* ---------- PROCESS ---------- */
.process{background:var(--light);}
.process-grid{display:flex; gap:28px; margin-top:44px; flex-wrap:wrap;}
.step{flex:1 1 220px; border-left:3px solid var(--gold); padding-left:20px;}
.step .n{font-size:42px; font-weight:700; color:#E7E9F0; font-family:'Space Grotesk',sans-serif; margin-bottom:12px;}
.step h3{font-size:19px; font-weight:700; margin-bottom:8px;}
.step p{color:var(--body); font-size:14.5px; line-height:1.6;}

/* ---------- INVESTMENT ---------- */
.invest{background:var(--dark);}
.invest .h2{color:#fff;} .invest .lead{color:var(--ondark);}
.invest-grid{display:flex; gap:24px; margin-top:44px; flex-wrap:wrap;}
.plan{flex:1 1 280px; border-radius:14px; padding:30px 26px; display:flex; flex-direction:column; gap:16px; border:1px solid #232D46; background:#171F33;}
.plan.featured{background:var(--gold); border-color:var(--gold);}
.plan-icon{width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:22px; background:#232D46; color:var(--gold);}
.plan.featured .plan-icon{background:rgba(255,255,255,.16); color:#fff;}
.plan h3{font-size:20px; font-weight:700; color:#fff;}
.plan.featured h3{color:#fff;}
.plan p{font-size:14.5px; line-height:1.65; color:var(--ondark);}
.plan.featured p{color:#DCE6FF;}

/* ---------- PROJECTS ---------- */
.proj-grid{display:flex; gap:24px; margin-top:44px; flex-wrap:wrap;}
.proj-card{flex:1 1 300px; border:1px solid var(--border); border-radius:14px; overflow:hidden;}
.proj-card img{height:230px; width:100%; object-fit:cover;}
.proj-body{padding:22px;}
.tag{display:inline-block; background:var(--tint); color:var(--gold); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; padding:5px 12px; border-radius:4px; margin-bottom:10px;}
.proj-body h3{font-size:19px; font-weight:700; margin-bottom:6px;}
.proj-body span{color:var(--body); font-size:13.5px; font-weight:500;}

/* ---------- TESTIMONIALS ---------- */
.test-grid{display:flex; gap:24px; margin-top:44px; flex-wrap:wrap;}
.test-card{flex:1 1 300px; background:var(--light); border-radius:14px; padding:28px 26px; display:flex; flex-direction:column; gap:16px;}
.test-card .stars{color:var(--gold); font-size:14px; letter-spacing:2px;}
.test-card p.quote{color:#3A4257; font-size:15px; line-height:1.6;}
.test-person{display:flex; gap:12px; align-items:center;}
.test-person img{width:52px; height:52px; border-radius:50%; object-fit:cover;}
.test-person b{display:block; font-size:15px;}
.test-person span{font-size:13px; color:var(--body);}

/* ---------- FAQ ---------- */
.faq{background:var(--light);}
.faq-row{display:flex; gap:56px;}
.faq-left{flex:1 1 38%; min-width:260px;}
.faq-left h2{font-size:34px; margin:6px 0 14px;}
.faq-left p{color:var(--body); font-size:15.5px; line-height:1.7; margin-bottom:18px;}
.faq-right{flex:1 1 58%; min-width:280px; display:flex; flex-direction:column; gap:0;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{width:100%; text-align:left; background:none; border:none; padding:18px 4px; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:16px; color:var(--ink); display:flex; justify-content:space-between; align-items:center; cursor:pointer;}
.faq-q i{color:var(--gold); transition:.2s;}
.faq-item.open .faq-q i{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-a p{padding:0 4px 20px; color:var(--body); font-size:15px; line-height:1.7;}

/* ---------- CTA FINAL ---------- */
.cta-final{background:linear-gradient(135deg,#0A0E1A,#1B2440); text-align:center; padding:100px 0;}
.cta-final .eyebrow{justify-content:center;}
.cta-final h2{color:#fff; font-size:38px; font-weight:600; margin:6px 0 18px; max-width:720px; margin-left:auto; margin-right:auto;}
.cta-final p{color:var(--ondark); font-size:16.5px; max-width:640px; margin:0 auto 28px;}
.cta-final .hero-ctas{justify-content:center;}

/* ---------- CONTACT ---------- */
.contact-row{display:flex; gap:56px;}
.contact-left{flex:1 1 42%; min-width:280px;}
.contact-left h2{font-size:36px; margin:6px 0 14px;}
.contact-left p.lead{margin-bottom:20px;}
.info-item{display:flex; gap:14px; align-items:flex-start; margin-bottom:18px;}
.info-item .ic{width:42px; height:42px; border-radius:10px; background:var(--tint); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:16px; flex:none;}
.info-item .lbl{font-size:13px; color:var(--body); font-weight:500;}
.info-item .val{font-size:15.5px; font-weight:600;}
.social{display:flex; gap:10px; margin-top:18px;}
.social a{width:36px; height:36px; border-radius:50%; background:var(--light); display:flex; align-items:center; justify-content:center; color:var(--ink); font-size:14px;}
.social a:hover{background:var(--gold);}
.contact-right{flex:1 1 52%; min-width:280px; display:flex; flex-direction:column; gap:20px;}
.map-box{border-radius:16px; overflow:hidden; height:340px; background:#DDE1EA;}
.map-box iframe{width:100%; height:100%; border:0;}
.hours-card{background:var(--light); border-radius:14px; padding:22px 24px;}
.hours-card h3{font-size:17px; font-weight:700; margin-bottom:12px;}
.hours-card ul{list-style:none; display:flex; flex-direction:column; gap:8px;}
.hours-card ul li{display:flex; gap:8px; font-size:14px; color:var(--body);}
.hours-card ul i{color:var(--gold); margin-top:3px; font-size:11px;}

/* ---------- CONTACT FORM (CF7) ---------- */
.contact-form-card{background:var(--light); border-radius:16px; padding:28px;}
.contact-form-card h3{font-size:19px; font-weight:700; margin-bottom:6px;}
.contact-form-card p{color:var(--body); font-size:14px; margin-bottom:18px;}
.contact-form-card .wpcf7-form p{margin-bottom:14px;}
.contact-form-card .wpcf7-form label{display:block; font-size:13.5px; font-weight:600; color:var(--ink); margin-bottom:6px;}
.contact-form-card .wpcf7-form input[type="text"],
.contact-form-card .wpcf7-form input[type="email"],
.contact-form-card .wpcf7-form textarea{width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:8px; font-size:14px; font-family:'Inter',sans-serif; color:var(--ink); background:#fff;}
.contact-form-card .wpcf7-form input:focus, .contact-form-card .wpcf7-form textarea:focus{outline:none; border-color:var(--gold);}
.contact-form-card .wpcf7-form textarea{min-height:120px; resize:vertical;}
.contact-form-card .wpcf7-submit{width:100%; background:var(--gold); color:#fff; border:none; padding:14px; border-radius:8px; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:14.5px; cursor:pointer; transition:.15s;}
.contact-form-card .wpcf7-submit:hover{background:var(--gold-d);}
.contact-form-card .wpcf7-not-valid-tip{color:#E0433D; font-size:12.5px; margin-top:4px;}
.contact-form-card .wpcf7-response-output{margin-top:14px; border-radius:8px; padding:12px 14px; font-size:13.5px;}

/* ---------- FOOTER ---------- */
footer{background:var(--dark); padding:64px 0 32px;}
.footer-top{display:flex; gap:32px; flex-wrap:wrap; margin-bottom:36px;}
.footer-brand{flex:1 1 26%; min-width:220px;}
.footer-brand p{color:#8890A0; font-size:14px; line-height:1.7; margin-top:14px;}
.footer-col{flex:1 1 18%; min-width:160px;}
.footer-col h4{color:#fff; font-size:14px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; margin-bottom:16px;}
.footer-col a, .footer-col span{display:block; color:#8890A0; font-size:14px; margin-bottom:10px;}
.footer-col a:hover{color:var(--gold);}
hr.fline{border:none; border-top:1px solid #1C2333; margin-bottom:28px;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;}
.footer-bottom span{color:#6C7488; font-size:13px;}
.footer-bottom .flinks{display:flex; gap:20px;}
.footer-bottom .flinks a{color:#6C7488; font-size:13px;}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  section{padding:64px 0;}
  .hero{padding:130px 0 56px; min-height:auto;}
  .hero-text h1{font-size:34px;}
  .h2, .cta-final h2{font-size:26px;}
  .hero-row, .about-row, .faq-row, .contact-row{flex-direction:column;}
  .hero-text{max-width:100%;}
  .about-row img{width:100%; height:320px;}
  .stats-row, .mini-stats{justify-content:center; text-align:center;}
  .hero-media img{height:300px;}
  .badge-card{position:relative; z-index:2; margin-top:-40px; margin-left:16px; margin-right:16px; max-width:calc(100% - 32px);}
  .hero-ctas .btn, .cta-final .btn{width:100%; justify-content:center;}
  .footer-bottom{justify-content:center; text-align:center;}
}

/* ============ PAGE HERO (páginas internas) ============ */
.page-hero{position:relative; padding:150px 0 70px; overflow:hidden;}
.page-hero-bg{position:absolute; inset:0; background-size:cover; background-position:center; z-index:0;}
.page-hero-overlay{position:absolute; inset:0; z-index:1; background:linear-gradient(100deg, rgba(10,14,26,.93) 0%, rgba(10,14,26,.55) 100%);}
.page-hero .wrap{position:relative; z-index:2;}
.breadcrumb{display:flex; align-items:center; gap:8px; font-size:13.5px; margin-bottom:16px;}
.breadcrumb a{color:#9BA2B4; font-weight:500;}
.breadcrumb a:hover{color:#fff;}
.breadcrumb i{color:#5A6178; font-size:10px;}
.breadcrumb span.current{color:var(--gold); font-weight:600;}
.page-hero-content{max-width:680px;}
.page-hero h1{color:#fff; font-size:46px; font-weight:600; line-height:1.1; letter-spacing:-.01em; margin:6px 0 16px;}
.page-hero p.lead{color:var(--ondark); font-size:16.5px; line-height:1.7;}
@media(max-width:900px){
  .page-hero{padding:110px 0 44px;}
  .page-hero h1{font-size:30px;}
}

/* ============ VALUES / BENEFITS GRID (4 o 3 col) ============ */
.values-grid, .benefits-grid{display:flex; gap:28px; margin-top:44px; flex-wrap:wrap;}
.value-card{display:flex; flex-direction:column; gap:12px;}
.values-grid .value-card{flex:1 1 22%; min-width:220px;}
.benefits-grid .value-card{flex:1 1 31%; min-width:260px;}
.value-icon{width:52px; height:52px; border-radius:12px; background:var(--tint); display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:20px;}
.value-card h3{font-size:18px; font-weight:700;}
.value-card p{color:var(--body); font-size:14.5px; line-height:1.6;}

/* ============ HISTORIA (nosotros) ============ */
.historia-row{display:flex; gap:56px; align-items:center;}
.historia-row img{border-radius:18px; height:520px; object-fit:cover; flex:1 1 46%; min-width:280px;}
.historia-text{flex:1 1 48%; min-width:280px;}
.historia-text h2{font-size:36px; margin:6px 0 16px;}
.historia-text p{color:var(--body); font-size:16px; line-height:1.75; margin-bottom:14px;}

/* ============ STATS STANDALONE ============ */
.stats-standalone{background:var(--dark); padding:60px 0;}
.stats-standalone .stats-row{justify-content:space-between;}

/* ============ SOLUTIONS HUB (2x2) ============ */
.hub-grid{display:flex; gap:24px; margin-top:0; flex-wrap:wrap;}
.hub-card{flex:1 1 47%; min-width:320px; border:1px solid var(--border); border-radius:14px; overflow:hidden; display:flex; flex-direction:column;}
.hub-card img{height:220px; width:100%; object-fit:cover;}
.hub-body{padding:28px 26px; display:flex; flex-direction:column; gap:14px;}
.hub-body h3{font-size:22px; font-weight:700;}
.hub-body p{color:var(--body); font-size:15px; line-height:1.6;}
.hub-body ul{list-style:none; display:flex; flex-direction:column; gap:8px;}
.hub-body ul li{display:flex; gap:8px; align-items:flex-start; color:var(--body); font-size:14px;}
.hub-body ul i{color:var(--gold); margin-top:3px; font-size:11px;}

/* ============ DETAIL FAQ (2 col) ============ */
.detail-faq-row{display:flex; gap:48px;}
.detail-faq-left{flex:1 1 34%; min-width:240px;}
.detail-faq-left h2{font-size:30px; margin:6px 0 0;}
.detail-faq-right{flex:1 1 62%; min-width:280px;}

/* ============ SECTION HEADER CENTRADO reutilizable ============ */
.sec-head{max-width:680px; margin:0 auto; text-align:center;}
.sec-head .eyebrow{justify-content:center;}
.sec-head h2{margin:6px 0 14px;}
.sec-head p{color:var(--body); font-size:16px; line-height:1.7;}

@media(max-width:900px){
  .historia-row, .detail-faq-row{flex-direction:column;}
  .historia-row img{width:100%; height:300px;}
  .values-grid .value-card, .benefits-grid .value-card{flex:1 1 100%;}
  .hub-card{flex:1 1 100%;}
}

/* ============ CALCULADORA DE AHORRO ============ */
.gpe-calc{max-width:920px;margin:0 auto;background:#fff;border-radius:20px;padding:36px;box-shadow:0 20px 50px rgba(10,14,26,.25);}
.gpe-calc-grid{display:flex;gap:36px;flex-wrap:wrap;}
.gpe-calc-slider,.gpe-calc-results{flex:1 1 45%;min-width:280px;}
.gpe-calc-slider label{display:block;font-size:13px;font-weight:600;color:#5B6478;margin-bottom:10px;}
.gpe-amt{font-family:'Space Grotesk',sans-serif;font-size:36px;font-weight:700;color:#001F58;margin-bottom:14px;}
.gpe-amt .gpe-mo{font-size:16px;color:#5B6478;font-weight:500;}
.gpe-calc input[type="range"]{width:100%;height:6px;border-radius:4px;background:#E3E8F5;outline:none;appearance:none;-webkit-appearance:none;margin-bottom:8px;}
.gpe-calc input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#0046E2;cursor:pointer;box-shadow:0 3px 10px rgba(0,70,226,.4);}
.gpe-calc input[type="range"]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#0046E2;cursor:pointer;border:none;box-shadow:0 3px 10px rgba(0,70,226,.4);}
.gpe-scale{display:flex;justify-content:space-between;font-size:12px;color:#9098A8;margin-bottom:24px;}
.gpe-result-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:10px;background:#F5F7FC;margin-bottom:10px;font-size:14.5px;color:#3A4257;font-weight:500;}
.gpe-result-row b{font-family:'Space Grotesk',sans-serif;font-size:18px;color:#0B1220;}
.gpe-result-row.highlight{background:#E9EFFE;}
.gpe-result-row.highlight b{color:#0046E2;font-size:22px;}
.gpe-result-grid{display:flex;gap:12px;margin-bottom:20px;}
.gpe-result-grid>div{flex:1;text-align:center;background:#F5F7FC;border-radius:12px;padding:14px 8px;}
.gpe-result-grid b{display:block;font-family:'Space Grotesk',sans-serif;font-size:19px;color:#001F58;margin-bottom:4px;}
.gpe-result-grid span{font-size:11.5px;color:#5B6478;font-weight:500;line-height:1.3;}
.gpe-form-row{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.gpe-form-row input{flex:1;min-width:140px;padding:12px 14px;border:1px solid #E3E8F5;border-radius:8px;font-size:14px;font-family:'Inter',sans-serif;color:#0B1220;}
.gpe-form-row input:focus{outline:none;border-color:#0046E2;}
.gpe-file-label{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px dashed #C7D2EE;border-radius:8px;font-size:13.5px;color:#5B6478;cursor:pointer;margin-bottom:14px;transition:.15s;}
.gpe-file-label:hover{border-color:#0046E2;color:#0046E2;}
.gpe-submit{width:100%;background:#0046E2;color:#fff;border:none;padding:14px;border-radius:8px;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:.15s;margin-bottom:18px;}
.gpe-submit:hover{background:#0063FF;}
.gpe-privacy{font-size:11px;color:#9098A8;text-align:center;margin-top:0;letter-spacing:.01em;}
.calc-alt{text-align:center;margin-top:20px;font-size:13.5px;color:#9BA9C7;}
.calc-alt a{color:var(--gold-d); font-weight:700;}
@media(max-width:600px){.gpe-calc{padding:24px 20px;}}

/* ============ PROYECTOS CLICKEABLES + MODAL ============ */
.proj-card{cursor:pointer; transition:.2s; text-decoration:none; color:inherit; display:block;}
.proj-card:hover{transform:translateY(-4px); box-shadow:0 16px 30px rgba(0,31,88,.12);}
.proj-body .proj-link{display:flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--gold); margin-top:8px; font-family:'Space Grotesk',sans-serif;}
.proj-header-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:0;}
.proj-header-row .sec-head{margin:0; text-align:left; max-width:70%;}
.proj-header-row .sec-head .eyebrow{justify-content:flex-start;}
.btn-outline{background:transparent; color:var(--gold); border:1px solid var(--gold);}
.btn-outline:hover{background:var(--tint);}

.modal-overlay{display:none; position:fixed; inset:0; background:rgba(10,14,26,.6); z-index:1000; align-items:center; justify-content:center; padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:#fff; border-radius:18px; max-width:520px; width:100%; overflow:hidden; box-shadow:0 30px 60px rgba(10,14,26,.35);}
.modal-box img{width:100%; height:220px; object-fit:cover;}
.modal-body{padding:28px;}
.modal-body h3{font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:700; margin-bottom:16px;}
.modal-close{position:absolute; top:16px; right:16px; background:rgba(255,255,255,.9); width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:2;}
.modal-wrap{position:relative;}
.modal-fields{display:flex; flex-direction:column; gap:10px;}
.modal-fields .row{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--border); font-size:14px;}
.modal-fields .row span:first-child{color:var(--body); font-weight:500;}
.modal-fields .row span:last-child{color:var(--ink); font-weight:600; text-align:right;}

/* ============ FLYER BUTTON ============ */
.flyer-btn{display:inline-flex; align-items:center; gap:8px; padding:12px 20px; border:1px solid var(--gold); color:var(--gold); border-radius:8px; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:13px; background:transparent; transition:.15s;}
.flyer-btn:hover{background:var(--tint);}

@media(max-width:900px){
  .hero-bullets{width:100%;}
  .proj-header-row{flex-direction:column; align-items:flex-start;}
  .proj-header-row .sec-head{max-width:100%;}
}

/* ============ EQUIPO (Nosotros) ============ */
.team-grid{display:flex; gap:24px; margin-top:44px; flex-wrap:wrap;}
.team-card{flex:1 1 30%; min-width:260px; background:#fff; border:1px solid var(--border); border-radius:14px; overflow:hidden;}
.team-card img{height:280px; width:100%; object-fit:cover;}
.team-avatar{height:280px; width:100%; display:flex; align-items:center; justify-content:center; background:var(--tint); color:var(--gold); font-family:'Space Grotesk',sans-serif; font-size:48px; font-weight:700;}
.team-body{padding:18px 20px;}
.team-body h3{font-family:'Space Grotesk',sans-serif; font-size:18px; font-weight:700; margin-bottom:4px;}
.team-body span{font-size:13.5px; color:var(--gold); font-weight:600;}
@media(max-width:900px){.team-card{flex:1 1 100%;}}

/* ============ LEGAL (Terminos / Privacidad) ============ */
.legal-content{max-width:800px; margin:0 auto; padding:20px 0 40px;}
.legal-content .updated{color:var(--body); font-size:13.5px; font-style:italic; margin-bottom:32px;}
.legal-content h2{font-size:21px; font-weight:700; margin:34px 0 12px;}
.legal-content h2:first-of-type{margin-top:0;}
.legal-content p{color:var(--body); font-size:15.5px; line-height:1.75; margin-bottom:14px;}
.legal-content ul{color:var(--body); font-size:15.5px; line-height:1.75; margin:0 0 16px; padding-left:22px;}
.legal-content li{margin-bottom:8px;}
.legal-content strong{color:var(--ink);}
.legal-content a{color:var(--gold); font-weight:600;}
@media(max-width:600px){.legal-content h2{font-size:19px;}}

/* ---------- EXTRA SERVICES (Servicios Complementarios) ---------- */
.mini-list{list-style:none; display:flex; flex-direction:column; gap:8px; margin-top:14px;}
.mini-list li{display:flex; gap:8px; align-items:flex-start; color:var(--body); font-size:14px;}
.mini-list i{color:var(--gold); margin-top:3px; font-size:11px;}
.extra-services-cta{text-align:center; margin-top:40px;}
