:root{
  --modern-blue:#0d6efd;
  --modern-cyan:#00c2ff;
  --modern-green:#11d886;
  --modern-orange:#ff8a2a;
  --modern-panel:#0a1830;
  --modern-panel-2:#0c2342;
}

html{scroll-padding-top:108px;}
body{background:#060d18;}

.navbar-tech{
  background:rgba(5,10,20,.76);
}
.modern-nav-wrap{gap:20px;}
.nav-contact-pills{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.nav-contact-pill,
.floating-contact-chip,
.btn-location-cta{
  border-radius:20px;
  padding:10px 16px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#fff !important;
  position:relative;
  overflow:hidden;
}
.nav-contact-pill i,
.floating-contact-chip i,
.btn-location-cta i{
  font-size:1.55rem;
  flex:0 0 auto;
}
.nav-contact-pill span,
.floating-contact-chip span,
.btn-location-cta span{
  display:flex;
  flex-direction:column;
  line-height:1.05;
  text-align:left;
}
.nav-contact-pill small,
.floating-contact-chip small,
.btn-location-cta small{
  font-size:.70rem;
  font-weight:700;
  opacity:.85;
}
.nav-contact-pill strong,
.floating-contact-chip strong,
.btn-location-cta strong{
  font-size:1rem;
  font-weight:900;
}
.pill-mty,
.chip-mty,
.btn-location-cta{
  background:linear-gradient(135deg,#12b76a,#0ea95f);
  box-shadow:0 16px 32px rgba(18,183,106,.24);
}
.pill-merida,
.chip-merida,
.btn-location-cta-alt{
  background:linear-gradient(135deg,#ff7a1a,#ff9d2d);
  box-shadow:0 16px 32px rgba(255,122,26,.24);
}
.nav-contact-pill:hover,
.floating-contact-chip:hover,
.btn-location-cta:hover{
  transform:translateY(-2px);
  color:#fff !important;
}

.hero-modern{
  padding-top:165px;
  padding-bottom:110px;
  min-height:auto;
}
.hero-title{
  font-size:clamp(42px,6vw,76px);
  max-width:850px;
}
.hero-subtitle{max-width:740px;}
.hero-actions-dual{max-width:760px;}
.hero-actions-dual .btn-hero-secondary{min-width:170px;}
.hero-proof-grid{display:flex;flex-wrap:wrap;gap:12px 14px;}
.hero-proof-grid .proof-chip{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10);}
.hero-media-panel{position:relative;min-height:690px;display:flex;align-items:center;justify-content:center;}
.hex-media-card{
  position:relative;
  width:100%;
  max-width:720px;
  background:linear-gradient(180deg,rgba(11,27,50,.96),rgba(6,13,24,.96));
  padding:12px;
  border-radius:34px;
  box-shadow:0 30px 80px rgba(0,0,0,.33);
}
.hex-media-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:36px;
  background:linear-gradient(135deg,rgba(0,194,255,.8),rgba(255,138,42,.72),rgba(17,216,134,.72));
  z-index:-1;
  opacity:.9;
}
.hero-img-modern{
  width:100%;
  height:auto;
  border-radius:28px;
  clip-path:polygon(7% 4%, 78% 4%, 96% 24%, 96% 76%, 84% 96%, 20% 96%, 4% 78%, 4% 18%);
}
.hero-badge-tile{
  position:absolute;
  display:flex;
  gap:12px;
  align-items:center;
  min-width:220px;
  max-width:260px;
  background:rgba(255,255,255,.95);
  color:#0f172a;
  padding:16px 18px;
  border-radius:20px;
  box-shadow:0 20px 45px rgba(15,23,42,.22);
}
.hero-badge-tile i{font-size:1.45rem;color:var(--modern-blue);}
.hero-badge-tile small{display:block;font-size:.74rem;font-weight:800;text-transform:uppercase;color:#64748b;letter-spacing:.06em;}
.hero-badge-tile strong{display:block;font-size:.98rem;line-height:1.25;}
.hero-badge-one{top:20px;right:-8px;}
.hero-badge-two{bottom:70px;left:-12px;}
.hero-badge-three{bottom:6px;right:28px;}

.stats-shell,
.service-card,
.info-card,
.benefit-card,
.timeline-card,
.tech-card,
.project-card,
.cta-panel,
.footer{backdrop-filter:blur(0px);}

.section-surface{background:#f8fbff;}
.section-dark{background:linear-gradient(180deg,#081321,#07111f);}
.section{padding:100px 0;}
.section-heading{margin-bottom:48px;}
.section-title{font-size:clamp(32px,4vw,52px);line-height:1.05;}
.section-description{font-size:1.05rem;line-height:1.8;max-width:850px;margin-left:auto;margin-right:auto;}

.service-card{
  border-radius:28px;
  padding:16px;
  box-shadow:0 18px 44px rgba(2,6,23,.08);
}
.service-image,
.project-cover,
.shape-frame img,
.image-frame img{
  width:100%;
  border-radius:24px;
  clip-path:polygon(9% 0%, 91% 0%, 100% 15%, 100% 85%, 91% 100%, 9% 100%, 0% 85%, 0% 15%);
}
.service-card-body{padding:22px 12px 8px;}
.service-badge{border-radius:999px;padding:7px 12px;display:inline-block;background:#eef6ff;color:#0d6efd;font-weight:800;font-size:.78rem;}
.featured-service{transform:translateY(-8px);}
.featured-service::after{
  content:"Más solicitado";
  position:absolute;
  top:20px;right:20px;
  background:linear-gradient(135deg,#0d6efd,#00c2ff);
  color:#fff;font-size:.72rem;font-weight:900;padding:8px 12px;border-radius:999px;
}

.image-frame,
.shape-frame{
  padding:14px;
  border-radius:34px;
  background:linear-gradient(180deg,#ffffff,#edf5ff);
  box-shadow:0 20px 55px rgba(15,23,42,.12);
}
.hex-frame-soft{background:linear-gradient(180deg,#ffffff,#eff8ff);}
.octa-frame-soft{background:linear-gradient(180deg,#0d1f38,#122b4f);}
.octa-frame-soft img{box-shadow:0 18px 45px rgba(0,0,0,.18);}

.info-card,
.benefit-card,
.timeline-card,
.tech-card,
.project-card-modern{
  border-radius:24px;
}
.info-card{align-items:flex-start;}
.info-card i,
.benefit-icon,
.tech-icon{
  background:linear-gradient(135deg,#eff6ff,#dbeafe);
}
.premium-bullet,
.tech-item{
  border-radius:18px;
}
.project-card-modern{overflow:hidden;border:1px solid rgba(148,163,184,.18);}
.project-body{padding:22px 22px 28px;}
.project-body span{display:inline-block;margin-bottom:10px;padding:7px 12px;border-radius:999px;background:#eef6ff;color:#0d6efd;font-weight:800;font-size:.76rem;}

.cta-panel{
  border-radius:36px;
  background:linear-gradient(135deg,#071726,#0d2343);
  color:#fff;
  overflow:hidden;
  position:relative;
}
.cta-panel::before,
.cta-panel::after{
  content:"";position:absolute;border-radius:999px;filter:blur(25px);opacity:.45;pointer-events:none;
}
.cta-panel::before{width:220px;height:220px;background:rgba(0,194,255,.5);top:-40px;left:-30px;}
.cta-panel::after{width:220px;height:220px;background:rgba(255,138,42,.45);bottom:-60px;right:-10px;}
.cta-panel h2{font-size:clamp(32px,4vw,48px);}
.cta-panel p{max-width:860px;margin:18px auto 0;color:rgba(255,255,255,.8);line-height:1.8;}
.cta-actions-split{gap:16px;}

.footer{
  background:linear-gradient(180deg,#040a14,#08111f);
  color:#fff;
  padding:72px 0 26px;
}
.footer-copy,.footer-contact-item span,.footer-contact-item a,.footer-links a{color:rgba(255,255,255,.78);}
.footer-links a:hover,.footer-contact-item a:hover{color:#fff;}
.footer-contact-cta{
  padding:14px 16px;
  border-radius:20px;
  background:rgba(255,255,255,.06);
}
.footer-contact-cta i{font-size:1.35rem;color:#25d366;}
.footer-contact-cta-alt i{color:#ff9d2d;}
.footer-contact-cta small{display:block;font-size:.74rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;}
.footer-contact-cta a{font-weight:900;font-size:1.08rem;}
.footer-bottom{margin-top:28px;border-top:1px solid rgba(255,255,255,.08);padding-top:20px;color:rgba(255,255,255,.65);}

.floating-actions-contacts{
  position:fixed;
  right:18px;
  bottom:92px;
  z-index:990;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.floating-contact-chip{
  min-width:220px;
  box-shadow:0 18px 40px rgba(15,23,42,.22);
}
.back-top{bottom:24px;right:18px;}

@media (max-width: 1399px){
  .nav-contact-pill strong{font-size:.92rem;}
  .nav-contact-pill{padding:10px 14px;}
}

@media (max-width: 1199px){
  .nav-contact-pills{margin-top:18px;justify-content:flex-start;}
  .hero-media-panel{min-height:unset;}
  .hero-badge-one,.hero-badge-two,.hero-badge-three{position:static;margin-top:14px;max-width:none;}
  .hero-media-panel{display:block;}
  .hero-badge-tile{display:flex;}
}

@media (max-width: 991px){
  .hero-modern{padding-top:140px;padding-bottom:80px;}
  .hero-title{font-size:clamp(36px,8vw,58px);}
  .section{padding:78px 0;}
  .featured-service{transform:none;}
  .floating-actions-contacts{right:14px;bottom:86px;}
  .floating-contact-chip{min-width:200px;}
}

@media (max-width: 767px){
  .nav-contact-pills,.hero-actions-dual,.cta-actions-split{flex-direction:column;align-items:stretch;}
  .nav-contact-pill,.btn-location-cta,.btn-location-cta-alt,.floating-contact-chip{width:100%;justify-content:flex-start;}
  .hero-subtitle,.section-description{font-size:1rem;}
  .hero-badge-tile{padding:14px 16px;}
  .service-card{padding:14px;}
  .service-card-body{padding-inline:6px;}
  .floating-actions-contacts{left:14px;right:14px;bottom:82px;}
  .floating-contact-chip{min-width:0;}
}
