@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#061b2a;--navy2:#0c2e42;--blue:#2587c2;--bright:#3ca4dc;--ink:#112d3b;--muted:#647785;--line:#dce5ea;--light:#f3f7f9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);line-height:1.75}h1,h2,h3,h4,.navbar{font-family:Manrope,Arial,sans-serif}h1,h2,h3{line-height:1.18;font-weight:800;letter-spacing:-.035em}a{text-decoration:none}img{max-width:100%}.navbar{background:rgba(4,22,35,.97);min-height:83px;box-shadow:0 5px 24px rgba(0,0,0,.07)}.navbar-brand img{width:218px;max-width:62vw}.nav-link{color:#d5e4eb!important;font-size:.91rem;font-weight:600;padding:.8rem 1rem!important}.nav-link:hover,.nav-link.active{color:#66c1f0!important}.nav-cta{border-radius:5px;background:var(--blue);color:white!important;padding:.65rem 1.35rem!important;margin-left:12px}.nav-cta:hover{background:#39a5e0}.navbar-toggler{border:1px solid #6e8996}.navbar-toggler-icon{filter:invert(1)}.hero{position:relative;background:#061b2a;overflow:hidden;color:white;min-height:630px;display:flex;align-items:center}.hero-inner{padding:115px 0}.eyebrow{color:var(--bright);font-weight:800;text-transform:uppercase;letter-spacing:.19em;font-size:.72rem;display:block;margin-bottom:20px}.hero h1{font-size:clamp(2.6rem,5vw,4.8rem);max-width:900px}.hero p{max-width:600px;color:#d7e6ee;font-size:1.13rem}.btn-primary{background:var(--blue);border-color:var(--blue)}.btn-primary:hover{background:#126a9e;border-color:#126a9e}.btn{padding:.82rem 1.6rem;font-weight:700;border-radius:4px}.btn-outline-light:hover{color:var(--navy)}.section{padding:100px 0}.section-soft{background:var(--light)}.section-dark{background:var(--navy);color:white}.section-title{font-size:clamp(2rem,3vw,2.9rem);margin-bottom:20px}.lead-text{font-size:1.08rem;color:var(--muted);max-width:730px}.section-dark .lead-text{color:#bed0d9}.service-card{background:white;border:1px solid var(--line);height:100%;box-shadow:0 8px 32px rgba(4,36,57,.05);transition:transform .25s,box-shadow .25s;overflow:hidden}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(4,36,57,.13)}.service-card img{width:100%;height:210px;object-fit:cover}.service-body{padding:30px}.service-body h3{font-size:1.26rem}.service-body p{color:var(--muted);font-size:.94rem}.text-link{color:var(--blue);font-weight:800}.stat{border-left:3px solid var(--bright);padding-left:23px}.stat strong{display:block;font-family:Manrope;font-size:2.9rem;line-height:1.1;color:var(--navy)}.stat p{color:var(--muted);font-size:.93rem;margin-top:10px}.story-panel{min-height:360px;background:linear-gradient(135deg,#061b2a,#0d3a53);display:flex;align-items:center;justify-content:center;padding:40px}.story-panel img{width:min(100%,410px)}.mini-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:var(--blue)}.page-hero{padding:100px 0 90px;background:linear-gradient(115deg,#051b2b,#0d354a);color:white}.page-hero h1{font-size:clamp(2.3rem,4vw,3.8rem);max-width:790px}.page-hero p{color:#c7dce7;max-width:750px;font-size:1.08rem}.info-card{background:#fff;border:1px solid var(--line);padding:30px;height:100%}.info-card h3{font-size:1.14rem}.value-item{padding:20px 15px 20px 0}.value-item h3{font-size:1.06rem}.value-item p{color:var(--muted);font-size:.94rem}.founder-card{border:1px solid var(--line);padding:32px;height:100%;background:#fff}.founder-card h3{font-size:1.15rem;margin:12px 0}.founder-card p{color:var(--muted);font-size:.94rem}.service-detail{padding:80px 0;border-bottom:1px solid var(--line)}.service-detail:nth-child(even){background:var(--light)}.service-detail h2{font-size:2.1rem}.service-detail p{color:var(--muted)}.service-detail li{padding:5px 0}.service-detail li::marker{color:var(--blue)}.pill{border:1px solid #365468;background:#102c3e;border-radius:100px;padding:8px 16px;font-size:.9rem;color:#dce9ef;display:inline-block;margin:5px}.cta-strip{background:var(--blue);color:white;padding:36px 0}.cta-strip h2{font-size:1.65rem;margin:0}.footer{background:#031625;color:#9cb5c2;padding:75px 0 20px}.footer img{width:200px}.footer h4{font-size:.75rem;color:white;text-transform:uppercase;letter-spacing:.13em}.footer a{color:#afc7d4;display:block;margin:8px 0}.footer a:hover{color:#58b7e8}.footer .copyright{border-top:1px solid #234153;padding-top:18px;margin-top:55px;font-size:.82rem}.contact-info strong{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--blue);margin-top:28px}.contact-info p{margin:5px 0;color:var(--muted)}.form-control,.form-select{border-radius:3px;border-color:#d5e1e7;padding:13px 14px}.form-control:focus,.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 .2rem rgba(37,135,194,.12)}label{font-weight:700;font-size:.85rem;margin-bottom:8px}.form-note{font-size:.84rem;color:var(--muted)}.top-line{width:48px;height:4px;background:var(--bright);margin-bottom:20px}.skip-link{position:absolute;left:-999px;top:5px;z-index:9999}.skip-link:focus{left:8px;background:#fff;padding:8px}@media(max-width:991px){.nav-cta{margin-left:0;display:inline-block}.hero{min-height:570px}.hero-inner{padding:90px 0}.section{padding:70px 0}.story-panel{min-height:270px}}@media(max-width:575px){.hero h1{font-size:2.5rem}.page-hero{padding:75px 0}.hero{background-position:60% center}.service-card img{height:180px}.stat{margin-bottom:20px}}

/* Logotipos oficiales entregados por BCG HidroCivil */
.navbar-brand img{width:255px;height:auto;max-width:min(72vw,255px);object-fit:contain}
.footer img{width:245px;height:auto;max-width:100%;object-fit:contain}
@media(max-width:575px){.navbar-brand img{width:205px}}

/* Presentación del CEO */
.ceo-section{background:linear-gradient(180deg,#f4f8fa 0%,#fff 100%)}
.ceo-heading{margin-bottom:48px}.ceo-heading .section-title{margin-bottom:0}
.ceo-profile{background:#fff;border:1px solid var(--line);box-shadow:0 18px 55px rgba(6,27,42,.08);overflow:hidden;border-radius:10px;position:sticky;top:110px}
.ceo-photo{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block}
.ceo-profile-info{padding:25px 27px 29px;border-top:4px solid var(--blue)}
.ceo-profile-info h3{font-size:1.18rem;margin-bottom:8px}.ceo-profile-info p{color:var(--muted);font-size:.91rem;line-height:1.6;margin-bottom:16px}
.ceo-linkedin{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:7px;background:#0a66c2;color:#fff;transition:transform .2s,background .2s}
.ceo-linkedin:hover,.ceo-linkedin:focus-visible{background:#084b91;color:white;transform:translateY(-2px)}
.ceo-message{font-size:1.015rem;color:#405664;line-height:1.9}.ceo-message p{margin-bottom:21px}
.ceo-quote{margin:30px 0;padding:24px 28px;border-left:5px solid var(--blue);background:#eaf4fa;color:var(--navy);font-weight:700;font-size:1.12rem;line-height:1.7;border-radius:0 8px 8px 0}
.ceo-signature{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px;font-size:.91rem}
.ceo-signature strong{font-family:Manrope,Arial,sans-serif;font-size:1.22rem;color:var(--navy)}.ceo-signature b{color:var(--blue);margin-top:7px}
@media(max-width:991px){.ceo-profile{position:static;max-width:460px;margin:auto}.ceo-heading{margin-bottom:30px}}
@media(max-width:575px){.ceo-message{font-size:.96rem}.ceo-quote{font-size:1rem;padding:20px}.ceo-profile-info{padding:22px}}

/* Credenciales del CEO: visibles bajo la fotografía, no al final del mensaje */
.ceo-profile-info{color:var(--ink)}
.ceo-credentials h3{color:var(--navy);font-size:1.2rem;margin:0 0 13px;font-weight:800}
.ceo-credentials p{color:#405664;font-size:.86rem;line-height:1.55;margin:0 0 7px}
.ceo-credentials strong{display:block;color:#126a9e;font-size:.87rem;line-height:1.5;margin:15px 0 18px;font-weight:800}
.ceo-linkedin{margin-top:0}

/* Carrusel automatico de fotografias en portada */
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slides{z-index:0;pointer-events:none}
.hero-slide{background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;animation:bcgHeroSlide 18s infinite}
.hero-slide-1{background-image:url('../assets/img/obra-retroexcavadora-1.jpg');animation-delay:0s}
.hero-slide-2{background-image:url('../assets/img/obra-retroexcavadora-2.jpg');animation-delay:6s}
.hero-slide-3{background-image:url('../assets/img/obra-retroexcavadora-3.jpg');animation-delay:12s}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(3,23,37,.93) 0%,rgba(4,28,44,.83) 48%,rgba(4,28,44,.40) 100%)}
.hero .hero-inner{position:relative;z-index:2}
@keyframes bcgHeroSlide{0%{opacity:0}5%{opacity:1}30%{opacity:1}36%{opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.hero-slide{animation:none;opacity:0}.hero-slide-1{opacity:1}}
/* Instagram en el pie de pagina */
.footer .footer-instagram{display:inline-flex;align-items:center;gap:9px;margin-top:12px;color:#fff;font-weight:700;text-decoration:none}
.footer .footer-instagram:hover,.footer .footer-instagram:focus-visible{color:#80cbf5}
.footer-instagram svg{flex-shrink:0}

/* Carrusel con control manual, cambio automático y accesibilidad */
.hero-slide{animation:none!important;opacity:0;transition:opacity .9s ease-in-out}
.hero-slide.is-active{opacity:1}
.hero-slide-4{background-image:url('../assets/img/obra-retroexcavadora-4.jpg')}
.hero-slide-5{background-image:url('../assets/img/obra-retroexcavadora-5.jpg')}
.hero-controls{position:absolute;z-index:3;right:max(5%,calc((100vw - 1320px)/2));bottom:24px;display:flex;align-items:center;gap:10px}
.hero-arrow,.hero-pause,.hero-dot{border:1px solid rgba(255,255,255,.65);background:rgba(4,25,40,.55);color:#fff;cursor:pointer;transition:background .2s}
.hero-arrow{width:42px;height:42px;border-radius:50%;font-size:20px;line-height:1}
.hero-pause{border-radius:24px;padding:9px 12px;font-size:13px;font-weight:700}
.hero-dots{display:flex;gap:7px;align-items:center}
.hero-dot{width:11px;height:11px;border-radius:50%;padding:0;background:rgba(255,255,255,.35)}
.hero-dot.is-active{background:#fff;transform:scale(1.15)}
.hero-arrow:hover,.hero-pause:hover,.hero-dot:hover{background:rgba(37,135,194,.9)}
.hero-arrow:focus-visible,.hero-pause:focus-visible,.hero-dot:focus-visible{outline:3px solid #fff;outline-offset:3px}
.field-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.field-photo{position:relative;margin:0;overflow:hidden;min-height:280px;background:#d9e3e8}
.field-photo img{display:block;width:100%;height:100%;min-height:280px;max-height:420px;object-fit:cover}
.field-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 15px;color:white;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.field-video{grid-column:1/-1;background:#061b2a;color:#fff;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.5fr);align-items:center}
.field-video video{display:block;width:100%;max-height:480px;background:#000}
.field-video-caption{padding:30px;display:flex;flex-direction:column;gap:10px}
.field-video-caption strong{font-size:1.4rem}
.field-video-caption span{color:#c4d8e2}
.service-field-img{display:block;width:100%;height:340px;object-fit:cover;border-radius:4px}
@media(max-width:767px){.field-grid{grid-template-columns:1fr}.field-video{grid-template-columns:1fr}.hero-controls{right:15px;bottom:14px;gap:6px}.hero-arrow{width:35px;height:35px}.hero-pause{font-size:12px;padding:7px}.hero-inner{padding-bottom:110px!important}.service-field-img{height:260px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

.footer .footer-email{display:flex;width:max-content;margin-top:12px;max-width:100%}

/* Ajustes de legibilidad y alineación: BCG HidroCivil */
.footer-whatsapp{display:flex!important;width:max-content;margin-bottom:4px}
.footer .footer-whatsapp:hover,.footer .footer-whatsapp:focus-visible{color:#8de3c4}
main p{line-height:1.8;text-wrap:pretty}
@media(min-width:768px){main .section p,main .ceo-section p,main .story-panel p{ text-align:justify;hyphens:auto; text-justify:inter-word}}
.ceo-section .ceo-heading{margin-bottom:clamp(1.5rem,3vw,3rem)}
.ceo-section p{margin-bottom:1.25rem}
.ceo-section h2,.ceo-section h3{line-height:1.2}
@media(max-width:767px){main p{text-align:left!important}.footer-whatsapp{margin-top:16px}}

/* Ajustes solicitados por BCG, octubre 2026 */
main p,main blockquote {hyphens:none!important;-webkit-hyphens:none!important;overflow-wrap:break-word;text-wrap:wrap;}
@media(min-width:768px){main p,main blockquote{text-align:justify;text-justify:inter-word;}}
.footer .footer-whatsapp:hover,.footer .footer-whatsapp:focus-visible{color:#2688c2!important;}

/* Ajustes finales: ficha del fundador y pie de página */
.ceo-profile-info,.ceo-profile-info .ceo-credentials{text-align:center!important}
.ceo-profile-info .ceo-linkedin{display:inline-flex;margin-left:auto;margin-right:auto}
.footer .footer-address{margin-top:18px;line-height:1.65;max-width:320px;text-align:left!important}
.footer .footer-email{align-items:center;gap:10px;white-space:normal;overflow-wrap:anywhere}
.footer .footer-email svg{flex-shrink:0}

/* Contacto y dirección: actualización solicitada */
.footer .footer-contact-line{display:flex;align-items:flex-start;gap:10px;margin-top:18px;max-width:none;width:100%;font-size:inherit;font-weight:600;color:#fff;line-height:1.65;text-align:justify!important;text-justify:inter-word;hyphens:none;overflow-wrap:normal;word-break:normal}
.footer .footer-contact-line svg{flex:0 0 20px;margin-top:4px}
.footer .footer-contact-line span{display:block;min-width:0}
main .contact-info p{text-align:left!important;hyphens:none!important}
main .contact-info a{text-decoration:none}
main .contact-info a:hover{text-decoration:underline}
main .section h2.h3{color:#2688c2}
@media(max-width:767px){.footer .footer-contact-line{text-align:left!important}}

/* Datos del CEO centrados debajo de la fotografia */
.ceo-profile-info, .ceo-profile-info .ceo-credentials { text-align: center !important; }
.ceo-profile-info .ceo-credentials p, .ceo-profile-info .ceo-credentials h3, .ceo-profile-info .ceo-credentials strong { text-align: center !important; }
.ceo-profile-info .ceo-linkedin { display: inline-flex; margin: 14px auto 0; align-items: center; justify-content: center; }


/* Pie de pagina: telefono compacto y direccion a ancho completo */
.footer .footer-phone { display:flex; align-items:center; gap:9px; width:max-content; max-width:100%; white-space:nowrap; letter-spacing:normal; word-spacing:normal; }
.footer .footer-phone span { white-space:nowrap; letter-spacing:normal; word-spacing:normal; }
.footer .footer-direccion { display:flex; justify-content:center; align-items:flex-start; gap:10px; max-width:1000px; margin:38px auto 24px; padding:22px 10px 0; border-top:1px solid rgba(255,255,255,.14); color:#b9d0df; font-weight:400; line-height:1.7; letter-spacing:normal; word-spacing:normal; text-align:center; text-justify:auto; hyphens:none; }
.footer .footer-direccion svg { flex:0 0 20px; margin-top:4px; }
.footer .footer-direccion span { display:block; max-width:900px; text-align:center; }
@media(max-width:575px) { .footer .footer-direccion { margin-top:28px; padding:20px 5px 0; } }
main .contact-info p { text-align:left!important; }

/* Correccion definitiva: direccion del footer sin negrita */
.footer .footer-direccion,
.footer .footer-direccion span {
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  text-align: center !important;
}
