/* ============================================================
   Perforadora Triple P — sistema de diseño compartido
   Basado en el diseño aprobado (triple_p_home.html), extendido
   para sitio multipágina.
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --verde:#0F2D1A;--verde-md:#1A4728;--verde-lt:#3D6647;
  --oro:#C9950A;--oro-lt:#E8AC14;
  --hueso:#F7F4EE;--arena:#EDE7D5;--carbon:#0A1A10;
  --acero:#475467;--caliza:#E8DFCC;
  --texto:#0A1A10;--texto-md:#3D6647;--blanco:#F7F4EE;
}
html{scroll-behavior:smooth;}
body{font-family:'Poppins',sans-serif;background:var(--hueso);color:var(--texto);line-height:1.6;overflow-x:hidden;}
img{max-width:100%;display:block;}
.container{max-width:1200px;margin:0 auto;padding:0 32px;}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--oro);display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.eyebrow::after{content:'';flex:0 0 32px;height:2px;background:var(--oro);}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--oro);color:var(--carbon);padding:14px 28px;border-radius:6px;font-size:13px;font-weight:700;letter-spacing:.3px;text-decoration:none;border:none;cursor:pointer;transition:background .2s,transform .15s;}
.btn-primary:hover{background:var(--oro-lt);transform:translateY(-1px);}
.btn-outline{display:inline-flex;align-items:center;background:transparent;color:var(--blanco);padding:13px 28px;border-radius:6px;font-size:13px;font-weight:600;border:1.5px solid rgba(247,244,238,.4);text-decoration:none;cursor:pointer;transition:border-color .2s,background .2s;}
.btn-outline:hover{border-color:var(--blanco);background:rgba(247,244,238,.08);}
.btn-outline-dark{display:inline-flex;align-items:center;background:transparent;color:var(--carbon);padding:13px 28px;border-radius:6px;font-size:13px;font-weight:600;border:1.5px solid var(--carbon);text-decoration:none;cursor:pointer;transition:background .2s;}
.btn-outline-dark:hover{background:rgba(10,26,16,.06);}

/* SKIP LINK (accesibilidad) */
.skip-link{position:absolute;left:-999px;top:0;background:var(--oro);color:var(--carbon);padding:10px 18px;font-size:13px;font-weight:700;z-index:999;}
.skip-link:focus{left:0;}

/* NAV */
nav{position:sticky;top:0;z-index:100;background:var(--verde);border-bottom:1px solid rgba(201,149,10,.15);}
.nav-inner{display:flex;align-items:center;gap:40px;height:72px;}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.nav-logo img{height:53px;width:auto;display:block;}
.nav-logo-text{font-size:16px;font-weight:800;letter-spacing:-.3px;color:var(--blanco);white-space:nowrap;}
.nav-logo-text span{color:var(--oro);}
.nav-links{display:flex;gap:28px;list-style:none;flex:1;justify-content:center;}
.nav-links a{font-size:11px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:rgba(247,244,238,.7);text-decoration:none;transition:color .2s;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--oro);}
.nav-cta{flex-shrink:0;}
.nav-toggle{display:none;background:none;border:none;color:var(--blanco);cursor:pointer;}
@media(max-width:900px){
  .nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--verde);flex-direction:column;gap:0;padding:8px 0;border-top:1px solid rgba(201,149,10,.15);}
  .nav-links.open{display:flex;}
  .nav-links li{width:100%;}
  .nav-links a{display:block;padding:14px 32px;}
  .nav-toggle{display:block;}
}

/* HERO HOME (con video) */
.hero{background:var(--verde);min-height:92vh;display:flex;align-items:center;position:relative;overflow:hidden;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.42;}
.hero-lines{position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(-45deg,transparent,transparent 40px,rgba(201,149,10,.025) 40px,rgba(201,149,10,.025) 41px);z-index:1;}
.hero-glow{position:absolute;right:-200px;top:-200px;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(201,149,10,.08) 0%,transparent 70%);pointer-events:none;z-index:1;}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,45,26,.55) 0%,rgba(15,45,26,.85) 100%);z-index:1;}
.hero-content{position:relative;z-index:2;max-width:820px;padding:80px 0;}
.hero h1{font-size:clamp(36px,6vw,72px);font-weight:800;line-height:1.08;color:var(--blanco);letter-spacing:-1.5px;margin-bottom:24px;}
.hero h1 em{font-style:normal;color:var(--oro);}
.hero-sub{font-size:16px;font-weight:400;color:rgba(247,244,238,.78);max-width:540px;line-height:1.65;margin-bottom:40px;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.hero-badge{margin-top:56px;display:flex;align-items:center;gap:12px;color:rgba(247,244,238,.45);font-size:11px;font-weight:500;flex-wrap:wrap;}
.hero-badge::before{content:'';display:block;width:24px;height:1px;background:rgba(247,244,238,.3);}

/* PAGE HERO (páginas internas, sin video, más compacto) */
.page-hero{background:var(--verde);position:relative;overflow:hidden;padding:56px 0 64px;}
.page-hero .hero-lines,.page-hero .hero-glow{z-index:0;}
.page-hero-inner{position:relative;z-index:2;max-width:760px;}
.breadcrumbs{display:flex;gap:6px;align-items:center;font-size:12px;color:rgba(247,244,238,.45);margin-bottom:20px;flex-wrap:wrap;}
.breadcrumbs a{color:rgba(247,244,238,.6);text-decoration:none;}
.breadcrumbs a:hover{color:var(--oro);}
.page-hero h1{font-size:clamp(30px,4.2vw,48px);font-weight:800;color:var(--blanco);letter-spacing:-1px;line-height:1.12;margin-bottom:18px;}
.page-hero h1 em{font-style:normal;color:var(--oro);}
.page-hero-sub{font-size:15px;color:rgba(247,244,238,.72);max-width:600px;line-height:1.7;margin-bottom:32px;}
.page-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}

/* CREDS */
.creds{background:var(--oro);padding:48px 0;}
.creds-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.cred-item{padding:8px 32px;border-right:1px solid rgba(10,26,16,.15);}
.cred-item:last-child{border-right:none;}
.cred-num{font-size:clamp(30px,4vw,48px);font-weight:800;color:var(--carbon);letter-spacing:-1px;line-height:1;margin-bottom:6px;}
.cred-label{font-size:11px;font-weight:600;color:rgba(10,26,16,.65);letter-spacing:.3px;}

/* SECTION HEADER genérico */
.section-header{margin-bottom:56px;}
.section-header h2{font-size:clamp(26px,3.5vw,42px);font-weight:800;letter-spacing:-.5px;color:var(--texto);line-height:1.1;}

/* SERVICIOS */
.servicios{padding:96px 0;background:var(--hueso);}
.servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.servicio-card{background:var(--arena);border-radius:10px;padding:32px 28px;transition:transform .2s,box-shadow .2s;border:1px solid transparent;}
.servicio-card:hover{transform:translateY(-3px);border-color:rgba(201,149,10,.3);box-shadow:0 8px 32px rgba(15,45,26,.08);}
.servicio-card a{text-decoration:none;color:inherit;}
.servicio-icon{width:44px;height:44px;background:rgba(15,45,26,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.servicio-icon svg{width:22px;height:22px;stroke:var(--verde);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.servicio-card h3{font-size:15px;font-weight:700;color:var(--carbon);margin-bottom:8px;}
.servicio-card p{font-size:13px;color:var(--texto-md);line-height:1.6;}
.servicio-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:12px;font-weight:700;color:var(--oro);}

/* POR QUE */
.porq{background:var(--verde);padding:96px 0;}
.porq .section-header h2{color:var(--blanco);}
.porq .section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.porq-intro{max-width:420px;font-size:14px;color:rgba(247,244,238,.5);line-height:1.7;}
.porq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:56px;}
.porq-item{padding:36px 28px;background:rgba(247,244,238,.03);border:1px solid rgba(247,244,238,.06);border-radius:8px;transition:background .2s;}
.porq-item:hover{background:rgba(247,244,238,.06);}
.porq-icon{margin-bottom:20px;}
.porq-icon svg{width:36px;height:36px;stroke:var(--oro);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.porq-item h3{font-size:14px;font-weight:700;color:var(--blanco);margin-bottom:10px;}
.porq-item p{font-size:12.5px;color:rgba(247,244,238,.5);line-height:1.65;}

/* PROYECTOS */
.proyectos{padding:96px 0;background:var(--arena);}
.proyectos-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:48px;flex-wrap:wrap;}
.proyectos-header h2{font-size:clamp(26px,3.5vw,42px);font-weight:800;letter-spacing:-.5px;color:var(--texto);line-height:1.1;}
.proyectos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.proyecto-card{border-radius:10px;overflow:hidden;background:var(--hueso);}
.proyecto-img{height:260px;overflow:hidden;position:relative;background:#162d20;}
.proyecto-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.proyecto-card:hover .proyecto-img img{transform:scale(1.03);}
.proyecto-info{padding:20px 24px 24px;}
.proyecto-info h3{font-size:15px;font-weight:700;color:var(--carbon);margin-bottom:4px;}
.proyecto-info p{font-size:12.5px;color:var(--texto-md);}
.proyecto-tag{display:inline-block;margin-top:10px;font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--oro);border:1px solid rgba(201,149,10,.3);padding:3px 10px;border-radius:4px;}

/* GALERÍA (página proyectos / detalle) */
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.galeria figure{margin:0;border-radius:10px;overflow:hidden;background:var(--arena);}
.galeria img{width:100%;height:220px;object-fit:cover;}
.galeria figcaption{font-size:11.5px;color:var(--texto-md);padding:10px 12px;}

/* COBERTURA */
.cobertura{padding:96px 0;background:var(--hueso);}
.cobertura-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.cobertura-content h2{font-size:clamp(26px,3.5vw,42px);font-weight:800;letter-spacing:-.5px;color:var(--texto);line-height:1.1;margin-bottom:16px;}
.cobertura-sub{font-size:14px;color:var(--texto-md);line-height:1.7;margin-bottom:36px;}
.ciudades-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:28px;}
.ciudad-item{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--carbon);}
.ciudad-dot{width:6px;height:6px;border-radius:50%;background:var(--oro);flex-shrink:0;}
.cobertura-nota{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--verde-lt);padding:10px 16px;background:rgba(15,45,26,.06);border-left:3px solid var(--verde);}
.cobertura-map{background:var(--arena);border-radius:12px;height:420px;overflow:hidden;border:1px solid rgba(201,149,10,.2);}

/* PROCESO (pasos) */
.proceso{padding:96px 0;background:var(--hueso);}
.proceso-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:paso;}
.proceso-item{position:relative;padding-top:8px;}
.proceso-item::before{counter-increment:paso;content:counter(paso);font-size:13px;font-weight:800;color:var(--oro);border:1.5px solid var(--oro);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.proceso-item h3{font-size:14.5px;font-weight:700;color:var(--carbon);margin-bottom:8px;}
.proceso-item p{font-size:12.5px;color:var(--texto-md);line-height:1.6;}

/* FICHA TÉCNICA / specs */
.specs{padding:0 0 96px;background:var(--hueso);}
.specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.spec-card{background:var(--arena);border-radius:10px;padding:24px 26px;}
.spec-card h3{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--oro);margin-bottom:10px;}
.spec-card p{font-size:14px;color:var(--carbon);font-weight:600;line-height:1.5;}

/* CHECKLIST */
.checklist{list-style:none;display:grid;gap:14px;}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--texto);line-height:1.6;}
.checklist li::before{content:'';flex-shrink:0;margin-top:6px;width:8px;height:8px;border-radius:50%;background:var(--oro);}

/* CONTENIDO DOS COLUMNAS (texto + lista) */
.dos-col{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start;}

/* FAQ */
.faq{padding:96px 0;background:var(--arena);}
.faq-list{display:grid;gap:12px;max-width:760px;}
.faq-item{background:var(--hueso);border-radius:10px;border:1px solid rgba(10,26,16,.08);}
.faq-item summary{cursor:pointer;list-style:none;padding:20px 24px;font-size:14.5px;font-weight:700;color:var(--carbon);display:flex;justify-content:space-between;align-items:center;gap:12px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:20px;font-weight:400;color:var(--oro);flex-shrink:0;}
.faq-item[open] summary::after{content:'–';}
.faq-item p{padding:0 24px 20px;font-size:13.5px;color:var(--texto-md);line-height:1.7;}

/* CTA FINAL */
.cta-final{background:var(--verde);padding:96px 0;text-align:center;}
.cta-final-inner{max-width:640px;margin:0 auto;}
.cta-final h2{font-size:clamp(30px,4vw,50px);font-weight:800;letter-spacing:-.8px;color:var(--blanco);line-height:1.1;margin-bottom:20px;}
.cta-final p{font-size:15px;color:rgba(247,244,238,.6);line-height:1.7;margin-bottom:40px;}
.cta-final .eyebrow{justify-content:center;}
.cta-final-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* CONTACTO */
.contacto-section{padding:88px 0 96px;background:var(--hueso);}
.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.contacto-info h2{font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--texto);letter-spacing:-.5px;margin-bottom:16px;}
.contacto-info p{font-size:14px;color:var(--texto-md);line-height:1.7;margin-bottom:28px;}
.contacto-canales{display:grid;gap:16px;margin-bottom:32px;}
.canal-item{display:flex;gap:14px;align-items:flex-start;background:var(--arena);padding:18px 20px;border-radius:10px;}
.canal-icon{width:38px;height:38px;border-radius:8px;background:rgba(15,45,26,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.canal-icon svg{width:18px;height:18px;stroke:var(--verde);fill:none;stroke-width:1.8;}
.canal-item h4{font-size:13px;font-weight:700;color:var(--carbon);margin-bottom:2px;}
.canal-item a, .canal-item span{font-size:13px;color:var(--texto-md);text-decoration:none;}
.canal-item a:hover{color:var(--verde);}

.form-card{background:var(--verde);border-radius:14px;padding:40px 36px;}
.form-card h3{font-size:19px;font-weight:800;color:var(--blanco);margin-bottom:6px;}
.form-card .form-sub{font-size:13px;color:rgba(247,244,238,.55);margin-bottom:28px;line-height:1.6;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.3px;color:rgba(247,244,238,.7);margin-bottom:7px;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(247,244,238,.06);border:1.5px solid rgba(247,244,238,.18);border-radius:7px;padding:12px 14px;font-family:'Poppins',sans-serif;font-size:13.5px;color:var(--blanco);}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(247,244,238,.35);}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--oro);}
.form-group select{color:var(--blanco);}
.form-group select option{color:var(--carbon);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-submit{width:100%;justify-content:center;margin-top:6px;}
.form-nota{font-size:11px;color:rgba(247,244,238,.35);margin-top:16px;line-height:1.6;}
.form-success{display:none;text-align:center;padding:24px 0;}
.form-success.show{display:block;}
.form-success h4{color:var(--blanco);font-size:17px;margin-bottom:8px;}
.form-success p{color:rgba(247,244,238,.6);font-size:13.5px;}

.contacto-canal h4{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--oro);margin-bottom:6px;}
.contacto-canal p,.contacto-canal a{font-size:14px;color:var(--texto);text-decoration:none;}
.contacto-canal a:hover{color:var(--verde-lt);}

.mapa-embed{border-radius:12px;overflow:hidden;border:1px solid rgba(10,26,16,.1);margin-top:48px;}
.mapa-embed iframe{width:100%;height:360px;border:0;display:block;}

/* FOOTER */
footer{background:var(--carbon);padding:64px 0 32px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.footer-logo{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.footer-logo img{height:43px;}
.footer-logo-text{font-size:15px;font-weight:800;color:var(--blanco);letter-spacing:-.3px;}
.footer-logo-text span{color:var(--oro);}
.footer-tagline{font-size:12px;color:rgba(247,244,238,.35);line-height:1.6;margin-bottom:20px;max-width:240px;}
.footer-datos{font-size:12px;color:rgba(247,244,238,.5);line-height:2;}
.footer-datos strong{color:var(--oro);font-weight:600;}
.footer-datos a{color:rgba(247,244,238,.5);text-decoration:none;}
.footer-datos a:hover{color:var(--blanco);}
.footer-col h4{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(247,244,238,.3);margin-bottom:16px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:8px;}
.footer-col ul li a{font-size:13px;color:rgba(247,244,238,.55);text-decoration:none;transition:color .2s;}
.footer-col ul li a:hover{color:var(--blanco);}
.footer-bottom{border-top:1px solid rgba(247,244,238,.06);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.footer-bottom p{font-size:11px;color:rgba(247,244,238,.25);}

/* BOTÓN FLOTANTE WHATSAPP */
.wa-float{position:fixed;bottom:22px;right:22px;z-index:90;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.25);text-decoration:none;}
.wa-float svg{width:28px;height:28px;fill:#fff;}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* MOBILE */
@media(max-width:900px){
  .creds-grid{grid-template-columns:repeat(2,1fr);}
  .cred-item{border-right:none;border-bottom:1px solid rgba(10,26,16,.12);padding:20px 24px;}
  .servicios-grid{grid-template-columns:1fr 1fr;}
  .porq-grid{grid-template-columns:1fr 1fr;}
  .proyectos-grid{grid-template-columns:1fr;}
  .galeria{grid-template-columns:1fr 1fr;}
  .cobertura-inner{grid-template-columns:1fr;gap:40px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .proceso-grid{grid-template-columns:1fr 1fr;}
  .specs-grid{grid-template-columns:1fr 1fr;}
  .dos-col,.contacto-grid{grid-template-columns:1fr;gap:40px;}
  .form-row{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .container{padding:0 20px;}
  .servicios-grid,.porq-grid,.footer-grid,.galeria,.proceso-grid,.specs-grid{grid-template-columns:1fr;}
}
