:root{
  --bas-navy:#071b2b;
  --bas-navy-2:#0c2a3d;
  --bas-gold:#f6b500;
  --bas-gold-2:#ffc62b;
  --bas-ink:#10212f;
  --bas-muted:#667784;
  --bas-soft:#f5f7f9;
  --bas-white:#ffffff;
  --bas-radius:18px;
  --bas-shadow:0 18px 50px rgba(7,27,43,.12);
}
html{scroll-behavior:smooth}
body{font-family:"Work Sans",sans-serif;color:var(--bas-ink);background:#fff}
a{text-decoration:none}
.header{height:78px;background:rgba(7,27,43,.97)!important;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 8px 26px rgba(0,0,0,.12)}
.header .logo img{width:44px!important;height:46px!important;object-fit:contain;margin-right:10px}
.header .logo h1{font-size:21px!important;color:#fff!important;font-weight:800!important;letter-spacing:.7px;margin:0}
.header .logo h1 span{color:var(--bas-gold)!important}
.navbar a,.navbar a:focus{color:#fff!important;font-weight:600!important}
.navbar a:hover,.navbar .active,.navbar .active:focus{color:var(--bas-gold)!important}
.navbar .dropdown ul{border-radius:14px;box-shadow:var(--bas-shadow);border:0;padding:12px}
.navbar .dropdown ul a{color:var(--bas-ink)!important;border-radius:8px}
.navbar .dropdown ul a:hover{color:var(--bas-navy)!important;background:#fff5d5}
.mobile-nav-toggle{color:#fff}

/* Portada */
.bas-hero{position:relative;min-height:640px;display:flex;align-items:center;overflow:hidden;background:var(--bas-navy)}
.bas-hero .hero-photo{position:absolute;inset:0;background:url('../img/hero-carousel/hero-carousel-2.jpg') center/cover no-repeat;transform:scale(1.02)}
.bas-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,32,.96) 0%,rgba(4,20,32,.86) 40%,rgba(4,20,32,.48) 68%,rgba(4,20,32,.15) 100%)}
.bas-hero .container{position:relative;z-index:2}
.bas-kicker{display:flex;align-items:center;gap:10px;color:var(--bas-gold);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:18px}
.bas-kicker:before{content:"";width:34px;height:3px;border-radius:99px;background:var(--bas-gold)}
.bas-hero h1{max-width:760px;color:#fff;font-size:clamp(2.6rem,5.5vw,5.2rem);line-height:.98;font-weight:800;letter-spacing:-2px;margin-bottom:24px}
.bas-hero h1 .accent{color:var(--bas-gold)}
.bas-hero p{max-width:700px;color:#e9eff3;font-size:1.09rem;line-height:1.75;margin-bottom:30px}
.bas-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;border-radius:10px;font-weight:700;transition:.25s ease;border:1px solid transparent}
.bas-btn-primary{background:var(--bas-gold);color:#111f29}
.bas-btn-primary:hover{background:var(--bas-gold-2);color:#111f29;transform:translateY(-2px)}
.bas-btn-outline{border-color:rgba(255,255,255,.75);color:#fff;background:rgba(255,255,255,.04)}
.bas-btn-outline:hover{background:#fff;color:var(--bas-navy);transform:translateY(-2px)}

/* Secciones */
.bas-section{padding:78px 0}
.bas-section-soft{background:var(--bas-soft)}
.bas-eyebrow{text-transform:uppercase;letter-spacing:1.4px;font-size:.78rem;font-weight:800;color:#d79c00;margin-bottom:8px}
.bas-title{font-weight:800;color:var(--bas-navy);font-size:clamp(2rem,3.2vw,3rem);letter-spacing:-.8px}
.bas-subtitle{color:var(--bas-muted);max-width:760px;line-height:1.7}

/* Servicios */
.bas-service-card{height:100%;background:#fff;border:1px solid #e5ebef;border-radius:var(--bas-radius);overflow:hidden;box-shadow:0 10px 30px rgba(7,27,43,.07);transition:.25s ease}
.bas-service-card:hover{transform:translateY(-7px);box-shadow:var(--bas-shadow)}
.bas-service-card .photo{height:245px;overflow:hidden;position:relative}
.bas-service-card .photo img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.bas-service-card:hover .photo img{transform:scale(1.05)}
.bas-service-card .icon-badge{position:absolute;bottom:16px;left:18px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--bas-gold);color:var(--bas-navy);font-size:1.15rem;box-shadow:0 8px 20px rgba(0,0,0,.15)}
.bas-service-card .body{padding:24px}
.bas-service-card h3{font-size:1.35rem;font-weight:800;color:var(--bas-navy);margin-bottom:10px}
.bas-service-card p{color:var(--bas-muted);line-height:1.65;min-height:78px}
.bas-link{display:inline-flex;align-items:center;gap:8px;color:#d79700;font-weight:800}
.bas-link:hover{color:var(--bas-navy);gap:12px}

/* Sobre nosotros */
.bas-about{background:var(--bas-navy);color:#fff;overflow:hidden}
.bas-about .bas-title{color:#fff}
.bas-about .bas-subtitle{color:#c9d4db}
.bas-value{padding:18px 8px}
.bas-value i{font-size:1.7rem;color:var(--bas-gold);display:block;margin-bottom:12px}
.bas-value strong{display:block;font-size:.96rem;line-height:1.35}
.bas-about-photo{height:100%;min-height:450px;overflow:hidden}
.bas-about-photo img{width:100%;height:100%;object-fit:cover}
.bas-reasons{height:100%;background:var(--bas-gold);padding:38px 32px;color:#10212f}
.bas-reasons h4{font-weight:800;margin-bottom:22px}
.bas-reasons ul{padding:0;list-style:none;margin:0 0 26px}
.bas-reasons li{display:flex;gap:10px;margin:14px 0;line-height:1.4;font-weight:600}
.bas-reasons i{margin-top:2px}

/* Especialidades */
.bas-specialty{background:#fff;border:1px solid #e5ebef;border-radius:16px;padding:26px;height:100%;box-shadow:0 8px 26px rgba(7,27,43,.05)}
.bas-specialty .num{font-size:.8rem;font-weight:800;color:#d39a00;letter-spacing:1px}
.bas-specialty h4{font-size:1.18rem;font-weight:800;color:var(--bas-navy);margin:10px 0}
.bas-specialty p{color:var(--bas-muted);margin:0;line-height:1.6}

/* CTA */
.bas-cta-strip{background:linear-gradient(135deg,var(--bas-gold),#ffd253);border-radius:22px;padding:38px;box-shadow:0 16px 34px rgba(246,181,0,.22)}
.bas-cta-strip h3{font-weight:800;color:var(--bas-navy);margin-bottom:8px}
.bas-cta-strip p{margin:0;color:#2d3b46}
.bas-cta-strip .bas-btn{background:var(--bas-navy);color:#fff}
.bas-cta-strip .bas-btn:hover{background:#0d3047;color:#fff}

/* Páginas internas de la plantilla */
.breadcrumbs .page-header{background-color:var(--bas-navy)}
.section-header h2:before,.section-header h2:after{background:var(--bas-gold)!important}
.section-header h2{color:var(--bas-navy)}
.services .service-item,.constructions .card-item,.team .member{border-radius:16px!important;box-shadow:0 10px 30px rgba(7,27,43,.08)!important;border:1px solid #e5ebef!important;overflow:hidden}
.services .service-item .icon i,.services .service-item .readmore{color:#d89e00!important}
.get-started .php-email-form button{background:var(--bas-gold)!important;border-color:var(--bas-gold)!important;color:var(--bas-navy)!important;font-weight:800!important;border-radius:9px!important}
.footer{background:var(--bas-navy)!important}
.footer .footer-content{background:linear-gradient(135deg,#071b2b,#0d2c41)!important}
.footer .footer-info h3,.footer h4{color:#fff!important}
.footer a:hover{color:var(--bas-gold)!important}
.scroll-top{background:var(--bas-gold)!important;color:var(--bas-navy)!important}

@media(max-width:991px){
  .header{height:70px}.bas-hero{min-height:590px}.bas-hero:after{background:rgba(4,20,32,.82)}.bas-hero h1{letter-spacing:-1px}.bas-about-photo{min-height:330px}.navbar ul{background:var(--bas-navy)!important}
}
@media(max-width:575px){
  .bas-section{padding:58px 0}.bas-hero{min-height:620px}.bas-hero h1{font-size:2.65rem}.bas-hero p{font-size:1rem}.bas-btn{width:100%;margin-bottom:8px}.bas-service-card .photo{height:210px}.bas-reasons{padding:30px 24px}.bas-cta-strip{padding:28px 22px}
}
