:root{
  --accent:#DA291C;
  --ink:#000000;
}

body{margin:0}
a{color:inherit;text-decoration:none}
.nav-link{color:#3A3D42;font-weight:600;font-size:15px;transition:color .15s}
.nav-link:hover{color:var(--accent)}
.foot-link{color:#B7BCC3;font-size:14px;font-weight:500;transition:color .15s}
.foot-link:hover{color:#ffffff}
.btn-primary{background:var(--accent);color:#ffffff;border:none;padding:15px 28px;font-weight:700;font-size:15px;letter-spacing:.3px;cursor:pointer;border-radius:12px;font-family:'Roboto',sans-serif}
.btn-primary:hover{background:#000000}
.btn-outline{background:transparent;color:#ffffff;border:2px solid #ffffff;padding:13px 26px;font-weight:700;font-size:15px;cursor:pointer;border-radius:12px;font-family:'Roboto',sans-serif}
.btn-outline:hover{background:#ffffff;color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid #D8DADD;padding:13px 26px;font-weight:700;font-size:15px;cursor:pointer;border-radius:12px;font-family:'Roboto',sans-serif}
.ph{background:repeating-linear-gradient(45deg,#E3E5E8,#E3E5E8 11px,#ECEEF0 11px,#ECEEF0 22px);display:flex;align-items:center;justify-content:center;text-align:center;color:#8A9099;font-size:13px;font-style:italic;padding:18px;box-sizing:border-box;line-height:1.4}
.eyebrow{font-family:'Roboto',sans-serif;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:12px;color:var(--accent)}
.eyebrow-badge{display:inline-flex;align-items:center;font-family:'Roboto',sans-serif;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:12px;color:var(--accent);background:transparent;padding:0;align-self:flex-start}
.h2{font-family:'Roboto',sans-serif;font-weight:900;font-size:34px;margin:0;color:var(--ink);line-height:1.15}
.industry-card{position:relative;display:flex;align-items:flex-end;overflow:hidden;border-radius:12px}
.industry-card .cap{position:relative;z-index:2;width:100%;box-sizing:border-box;padding:20px;display:flex;align-items:center;background:linear-gradient(0deg, rgba(10,12,14,.72), rgba(10,12,14,0))}
.news-card{border:1px solid #E5E5E3;display:flex;flex-direction:column;border-radius:12px;overflow:hidden}
.social-dot{width:38px;height:38px;border-radius:50%;background:#2A2E33;display:flex;align-items:center;justify-content:center;color:#ffffff;font-size:12px;font-weight:700}
.social-dot:hover{background:var(--accent)}
.carousel-track{scrollbar-width:none}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#ffffff;border:1px solid #E5E5E3;box-shadow:0 4px 14px rgba(10,12,14,.18);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;padding:0}
.carousel-arrow:hover{background:var(--ink)}
.carousel-arrow:hover svg path{stroke:#ffffff}
.carousel-track{cursor:grab; -webkit-user-select:none; user-select:none;}
.carousel-track.is-dragging{cursor:grabbing; scroll-snap-type:none !important; scroll-behavior:auto !important;}
.site-header{position:relative;}
.nav-links{display:flex; gap:30px; flex-wrap:nowrap; align-items:center;}
.nav-toggle{display:none; width:40px; height:40px; align-items:center; justify-content:center; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:0; flex-shrink:0;}
.nav-toggle span{width:22px; height:2px; background:#20242A; display:block; border-radius:2px; transition:transform .15s, opacity .15s;}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){opacity:0;}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-cta-mobile{display:none;}
.productos-grid{display:flex; gap:24px;}
.servicios-grid{display:flex; gap:24px;}
.noticias-grid{display:flex; gap:24px;}
.footer-cols{display:flex; gap:48px;}
.product-card{flex:1;}
.service-card{flex:1;}
.news-item{flex:1;}
.footer-col{flex:1;}
.footer-col-wide{flex:1.2;}
.stat-item{flex:0 0 auto;}
.noticias-arrow{display:none;}
.hero-section{width:100%; position:relative; min-height:560px; display:flex; align-items:center; box-sizing:border-box; padding:56px;}
.hero-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hero-card{position:relative; z-index:2; box-sizing:border-box; padding:56px; max-width:620px; display:flex; flex-direction:column; gap:18px; background:#ffffff; clip-path:polygon(56px 0, calc(100% - 24px) 0, calc(100% - 14.82px) 1.83px, calc(100% - 7.03px) 7.03px, calc(100% - 1.83px) 14.82px, 100% 24px, 100% calc(100% - 56px), calc(100% - 56px) 100%, 24px 100%, 14.82px calc(100% - 1.83px), 7.03px calc(100% - 7.03px), 1.83px calc(100% - 14.82px), 0 calc(100% - 24px), 0 56px);}
.hero-title{font-family:'Roboto',sans-serif; font-weight:900; font-size:48px; line-height:1.1; margin:0; color:var(--ink);}
.hero-sub{font-size:17px; line-height:1.6; margin:0; color:#3A3D42;}
.hero-actions{display:flex; gap:16px; margin-top:8px;}
.carousel-item{flex:0 0 calc(33.333% - 16px); height:260px;}

/* ===== Responsive: Tablet ≤1024px ===== */
@media (max-width: 1024px) {
  .site-header{padding:16px 32px;}
  .nav-toggle{display:flex;}
  .desktop-cta{display:none;}
  .nav-links{position:absolute; top:100%; left:0; right:0; background:#ffffff; flex-direction:column; align-items:flex-start; gap:4px; padding:12px 32px 24px; display:none; box-shadow:0 12px 24px rgba(10,12,14,.12); z-index:50; box-sizing:border-box;}
  .nav-links.nav-open{display:flex;}
  .nav-links .nav-link{padding:10px 0; width:100%; border-bottom:1px solid #F0F0EF;}
  .nav-cta-mobile{display:inline-flex; margin-top:12px;}
  .utility-bar{padding:9px 32px;}
  .hero-section{min-height:460px; padding:40px;}
  .hero-card{padding:40px; max-width:440px;}
  .hero-title{font-size:36px;}
  section{padding-left:32px !important; padding-right:32px !important;}
  .stats-strip{flex-wrap:wrap; gap:24px 32px; justify-content:flex-start;}
  .stat-divider{display:none;}
  .stat-item{flex:0 0 42%;}
  .carousel-item{flex:0 0 calc(50% - 12px) !important;}
  .noticias-grid{flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;}
  .news-item{flex:0 0 calc(50% - 12px) !important; scroll-snap-align:start;}
  .noticias-arrow{display:flex;}
  .footer-cols{flex-wrap:wrap; gap:32px;}
  .footer-col{flex:0 0 42%;}
  .footer-col-wide{flex:0 0 100%;}
}

/* ===== Responsive: Mobile ≤640px ===== */
@media (max-width: 640px) {
  .site-header{padding:14px 20px;}
  .utility-bar{padding:8px 20px;}
  .utility-bar a{font-size:12px;}
  .support-label{display:none;}
  section{padding:48px 20px !important;}

  .hero-section{min-height:unset; padding:0 !important; flex-direction:column; align-items:stretch;}
  .hero-bg{position:static; width:100%; height:280px; display:block; clip-path:polygon(32% 0, 100% 0, 100% 68%, 68% 100%, 0 100%, 0 32%);}
  .hero-card{position:static; width:100%; max-width:none; padding:32px 20px 40px !important; clip-path:none; gap:14px;}
  .hero-title{font-size:27px;}
  .hero-sub{font-size:15px;}
  .hero-actions{flex-direction:column; gap:12px; width:100%;}
  .hero-actions button{width:100%; box-sizing:border-box; text-align:center;}

  .section-header-row{flex-direction:column; align-items:flex-start; gap:18px;}
  .h2{font-size:26px;}

  .stats-strip{flex-wrap:wrap; gap:20px 28px; justify-content:flex-start; padding:28px 20px !important;}
  .stat-divider{display:none;}
  .stat-item{flex:0 0 calc(50% - 14px);}

  .productos-grid{display:flex; flex-direction:column; gap:20px;}
  .product-card{height:auto !important; display:flex; flex-direction:column; align-items:stretch; border-radius:12px; overflow:hidden;}
  .product-card img{position:static !important; width:100%; height:190px; object-fit:cover; display:block;}
  .product-card .cap{position:static; display:flex; background:none !important; padding:16px 2px 0 !important;}
  .product-card .product-title{color:#111317 !important;}
  .product-card .product-sub{color:#5B6168 !important;}
  .product-card .product-link{color:var(--accent) !important;}

  .carousel-item{flex:0 0 84% !important; height:220px !important;}
  .carousel-arrow{display:none;}

  .servicios-grid{display:flex; flex-direction:column; gap:20px;}

  .noticias-grid{display:flex; flex-direction:row; flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; gap:16px;}
  .news-item{flex:0 0 86% !important; scroll-snap-align:start;}
  .noticias-arrow{display:none;}
  .carousel-section{padding-left:0 !important; padding-right:0 !important;}
  .carousel-section .section-header-row{padding-left:20px; padding-right:20px; box-sizing:border-box;}

  .footer-cols{flex-direction:column; gap:36px;}
  .footer-col{flex:0 0 100%;}
  .footer-bottom{flex-direction:column; align-items:flex-start; gap:16px;}
}
