:root{
  --red:#ed0000;
  --red-dark:#c90000;
  --black:#111111;
  --graphite:#1b1b1b;
  --white:#ffffff;
  --gray:#f2f2f2;
  --text:#222222;
  --muted:#666666;
  --line:#e6e6e6;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--text);
  background:var(--white);
}

a{text-decoration:none;color:inherit}
.container{width:min(1180px,92%);margin:auto}

.topbar{
  background:var(--red);
  color:#fff;
  font-size:13px;
}

.topbar-inner{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.top-right{
  display:flex;
  gap:18px;
  align-items:center;
}

.navbar{
  background:#fff;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:50;
}

.nav-inner{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.brand{
  display:flex;
  flex-direction:column;
  line-height:1;
}

.brand-main{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:31px;
  color:#111;
  letter-spacing:-1px;
}

.brand-main span{color:var(--red)}
.brand small{
  color:var(--red);
  font-size:11px;
  margin-left:70px;
  margin-top:2px;
}

.menu{
  display:flex;
  gap:28px;
  list-style:none;
  margin:0;
  padding:0;
  font-weight:700;
  font-size:14px;
}

.menu a{
  padding:28px 0;
  display:block;
}

.menu a:hover{
  color:var(--red);
}

.menu-toggle{
  display:none;
  border:0;
  background:var(--red);
  color:#fff;
  padding:10px 13px;
  font-size:22px;
}

.hero{
  position:relative;
  overflow:hidden;
  background:#111;
  color:#fff;
  min-height:690px;
}

.hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(17,17,17,.96) 0%, rgba(17,17,17,.82) 42%, rgba(17,17,17,.30) 100%),
    radial-gradient(circle at 85% 35%, rgba(237,0,0,.50), transparent 34%),
    linear-gradient(135deg, #111 0%, #222 55%, #111 100%);
}

.hero:before{
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  border:70px solid rgba(237,0,0,.45);
  border-radius:50%;
  right:-180px;
  bottom:-220px;
}

.hero-grid{
  position:relative;
  z-index:2;
  min-height:690px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:50px;
  padding:80px 0;
}

.eyebrow{
  color:var(--red);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.5px;
  font-size:13px;
}

.hero h1{
  font-size:clamp(46px,6vw,82px);
  line-height:.95;
  margin:16px 0 24px;
  letter-spacing:-3px;
}

.hero-text{
  font-size:20px;
  line-height:1.55;
  color:#e9e9e9;
  max-width:620px;
}

.hero-actions{
  display:flex;
  gap:16px;
  margin-top:34px;
  flex-wrap:wrap;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 28px;
  border-radius:0;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.3px;
}

.btn-primary{
  background:var(--red);
  color:#fff;
  box-shadow:0 12px 30px rgba(237,0,0,.22);
}

.btn-primary:hover{background:var(--red-dark)}
.btn-outline{
  color:#fff;
  border:2px solid rgba(255,255,255,.75);
}

.hero-features{
  margin-top:42px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  max-width:680px;
}

.hero-features div{
  border-left:3px solid var(--red);
  padding-left:16px;
}

.hero-features strong{
  display:block;
  font-size:28px;
  color:#fff;
}

.hero-features span{
  color:#ccc;
  font-size:14px;
}

.hero-card{
  position:relative;
  min-height:420px;
  border-radius:8px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.04)),
    linear-gradient(135deg,#333,#111);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 40px 80px rgba(0,0,0,.45);
  overflow:hidden;
}

.hero-card:before{
  content:"";
  position:absolute;
  inset:28px;
  border:1px solid rgba(255,255,255,.14);
}

.mock-sign{
  position:absolute;
  left:50px;
  right:50px;
  top:90px;
  min-height:170px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#070707;
  border-bottom:12px solid var(--red);
  box-shadow:0 0 35px rgba(237,0,0,.45);
}

.mock-sign span{
  font-size:56px;
  font-weight:900;
  color:#fff;
}

.mock-sign span::first-letter{color:var(--red)}
.mock-sign small{
  margin-top:10px;
  color:#ddd;
  text-transform:uppercase;
  letter-spacing:2px;
}

.floating-card{
  position:absolute;
  background:#fff;
  color:#111;
  font-weight:800;
  padding:15px 20px;
  border-left:6px solid var(--red);
  box-shadow:0 15px 30px rgba(0,0,0,.28);
}

.card-one{left:22px;bottom:80px}
.card-two{right:26px;bottom:130px}
.card-three{left:120px;bottom:24px}

.section{
  padding:92px 0;
}

.section-head{
  max-width:820px;
  margin-bottom:36px;
}

.section h2{
  font-size:clamp(32px,4vw,52px);
  line-height:1.05;
  margin:0;
  letter-spacing:-1.5px;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.service-grid article{
  padding:34px;
  background:#fff;
  border:1px solid var(--line);
  border-bottom:5px solid var(--red);
  min-height:230px;
  transition:.25s;
}

.service-grid article:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 45px rgba(0,0,0,.10);
}

.service-grid span{
  color:var(--red);
  font-weight:900;
  font-size:14px;
}

.service-grid h3{
  font-size:25px;
  margin:15px 0 12px;
}

.service-grid p{
  color:var(--muted);
  line-height:1.55;
}

.portfolio{
  background:var(--gray);
}

.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.portfolio-item{
  min-height:260px;
  background:
    linear-gradient(135deg, rgba(237,0,0,.82), rgba(17,17,17,.92)),
    linear-gradient(45deg,#ddd,#aaa);
  color:#fff;
  display:flex;
  align-items:flex-end;
  padding:24px;
  font-weight:900;
  font-size:22px;
}

.about{
  background:#fff;
}

.about-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:50px;
  align-items:start;
}

.about p{
  font-size:19px;
  line-height:1.7;
  color:#555;
}

.clients{
  background:#111;
  color:#fff;
}

.client-row{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
  margin-top:28px;
}

.client-row span{
  background:#fff;
  color:#111;
  padding:24px 12px;
  text-align:center;
  font-weight:900;
  filter:grayscale(1);
}

.cta{
  background:var(--red);
  color:#fff;
  padding:70px 0;
}

.cta .eyebrow{color:#fff}
.cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.cta h2{
  font-size:44px;
  margin:0 0 12px;
}

.cta p{
  max-width:680px;
  font-size:18px;
}

.cta .btn-primary{
  background:#111;
}

.footer{
  background:#f81717;
  color:#fff;
  position:relative;
  overflow:hidden;
}

.footer:before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border:62px solid rgba(120,0,0,.28);
  border-radius:50%;
  right:-160px;
  top:-130px;
}

.footer-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.2fr .8fr 1fr;
  gap:60px;
  padding:80px 0;
}

.footer .brand-main,
.footer .brand-main span,
.footer .brand small{
  color:#fff;
}

.footer a{
  display:block;
  margin:12px 0;
}

.footer p{
  line-height:1.6;
}

.copyright{
  position:relative;
  z-index:2;
  background:#111;
  color:#bbb;
  text-align:center;
  padding:22px;
  font-size:14px;
}

.whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:80;
  background:#111;
  color:#fff;
  border:2px solid var(--red);
  padding:15px 20px;
  font-weight:900;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}

@media(max-width:900px){
  .topbar-inner,.top-right{flex-direction:column;align-items:flex-start}
  .topbar-inner{padding:10px 0}
  .menu-toggle{display:block}
  .menu{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:78px;
    background:#fff;
    padding:20px;
    border-top:1px solid var(--line);
    flex-direction:column;
  }
  .menu.open{display:flex}
  .hero-grid,.about-grid,.cta-inner{
    grid-template-columns:1fr;
  }
  .hero-grid{padding:50px 0}
  .hero-card{min-height:340px}
  .service-grid,.portfolio-grid,.client-row{
    grid-template-columns:1fr;
  }
  .footer-grid{
    grid-template-columns:1fr;
  }
}

.page-hero{
  background:
    linear-gradient(90deg, rgba(17,17,17,.92), rgba(17,17,17,.72)),
    radial-gradient(circle at 88% 40%, rgba(237,0,0,.45), transparent 32%),
    linear-gradient(135deg,#1b1b1b,#080808);
  color:#fff;
  padding:105px 0;
  position:relative;
  overflow:hidden;
}

.page-hero:after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border:55px solid rgba(237,0,0,.35);
  border-radius:50%;
  right:-150px;
  bottom:-170px;
}

.page-hero .container{
  position:relative;
  z-index:2;
}

.page-hero h1{
  font-size:clamp(42px,5vw,76px);
  line-height:.98;
  margin:15px 0;
  max-width:900px;
  letter-spacing:-2px;
}

.page-hero p{
  font-size:20px;
  color:#e8e8e8;
  max-width:760px;
  line-height:1.55;
}

.values-section{
  background:#f2f2f2;
}

.portfolio-grid-large{
  grid-template-columns:repeat(4,1fr);
}

.clients-light{
  background:#fff;
  color:#111;
}

.clients-light .client-row span{
  border:1px solid var(--line);
  box-shadow:0 10px 25px rgba(0,0,0,.06);
}

.contact-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:start;
}

.contact-card,
.contact-form{
  background:#fff;
  border:1px solid var(--line);
  padding:34px;
  box-shadow:0 18px 45px rgba(0,0,0,.06);
}

.contact-card h2{
  margin-top:0;
  font-size:34px;
}

.contact-form{
  display:grid;
  gap:16px;
}

.contact-form label{
  display:grid;
  gap:8px;
  font-weight:800;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  border:1px solid #d9d9d9;
  padding:15px;
  font:inherit;
  outline:none;
}

.contact-form textarea{
  min-height:140px;
  resize:vertical;
}

.contact-form input:focus,
.contact-form textarea:focus{
  border-color:var(--red);
}

@media(max-width:900px){
  .portfolio-grid-large,
  .contact-grid{
    grid-template-columns:1fr;
  }
}

/* PÁGINAS INDIVIDUALES DE SERVICIOS Y GALERÍAS */
.service-detail-hero{
  min-height:420px;
  display:flex;
  align-items:center;
}

.service-detail-section{
  background:#fff;
}

.service-detail-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:46px;
  align-items:center;
}

.service-detail-grid h2{
  font-size:clamp(34px,4vw,56px);
  line-height:1.05;
  margin:0 0 20px;
}

.service-detail-grid p{
  color:#555;
  font-size:18px;
  line-height:1.65;
}

.detail-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

.btn-dark{
  background:#111;
  color:#fff;
}

.service-visual-placeholder{
  min-height:430px;
  background:
    linear-gradient(135deg, rgba(237,0,0,.78), rgba(17,17,17,.92)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.08) 0 8px, transparent 8px 16px);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:34px;
  box-shadow:0 30px 70px rgba(0,0,0,.18);
  position:relative;
  overflow:hidden;
}

.service-visual-placeholder:before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  border:42px solid rgba(255,255,255,.16);
  border-radius:50%;
  right:-100px;
  top:-90px;
}

.service-visual-placeholder span{
  position:relative;
  z-index:2;
  font-size:42px;
  font-weight:900;
  line-height:1;
}

.service-visual-placeholder small{
  position:relative;
  z-index:2;
  margin-top:12px;
  color:#eee;
  text-transform:uppercase;
  letter-spacing:1.5px;
}

.detail-benefits{
  background:#f2f2f2;
}

.service-link-grid article{
  position:relative;
}

.service-more{
  display:inline-block;
  margin-top:14px;
  color:var(--red);
  font-weight:900;
  text-transform:uppercase;
  font-size:13px;
}

.gallery-category-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.gallery-category-card{
  display:block;
  min-height:230px;
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
  border-bottom:5px solid var(--red);
  color:#111;
  transition:.25s;
}

.gallery-category-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 45px rgba(0,0,0,.1);
}

.gallery-category-card span{
  color:var(--red);
  font-weight:900;
}

.gallery-category-card h3{
  font-size:25px;
  margin:16px 0 10px;
}

.gallery-category-card p{
  color:#666;
  line-height:1.5;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.gallery-item{
  min-height:260px;
  background:
    linear-gradient(135deg, rgba(237,0,0,.82), rgba(17,17,17,.92)),
    linear-gradient(45deg,#ddd,#aaa);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px;
  position:relative;
  overflow:hidden;
}

.gallery-item:before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.18);
}

.gallery-item span{
  position:relative;
  z-index:2;
  font-size:24px;
  font-weight:900;
}

.gallery-item small{
  position:relative;
  z-index:2;
  color:#eee;
  margin-top:6px;
}

.gallery-actions{
  justify-content:center;
  margin-top:34px;
}

@media(max-width:1000px){
  .service-detail-grid,
  .gallery-category-grid,
  .gallery-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .service-detail-grid,
  .gallery-category-grid,
  .gallery-grid{
    grid-template-columns:1fr;
  }
}

/* PUBLISMART PATCH CODEX FINAL - 2026-06-16 */
.hero-bg.hero-bg-photo{
  background:
    linear-gradient(90deg, rgba(17,17,17,.96) 0%, rgba(17,17,17,.82) 42%, rgba(17,17,17,.32) 100%),
    radial-gradient(circle at 85% 35%, rgba(237,0,0,.45), transparent 34%),
    var(--hero-photo);
  background-size:cover;
  background-position:center;
  --hero-photo:none;
}

.portfolio-item--photo{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:10px;
  overflow:hidden;
  min-height:300px;
  background:
    linear-gradient(180deg, rgba(17,17,17,.08), rgba(17,17,17,.92)),
    var(--portfolio-cover);
  background-size:cover;
  background-position:center;
}

.portfolio-item--photo span,
.portfolio-item--photo small{
  position:relative;
  z-index:2;
}

.portfolio-item--photo small{
  color:#f0f0f0;
  line-height:1.5;
  max-width:280px;
}

.brand-logo-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}

.brand-logo-grid--home{
  margin-top:28px;
}

.brand-logo-card{
  margin:0;
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid var(--line);
  padding:20px;
  box-shadow:0 14px 32px rgba(0,0,0,.06);
}

.brand-logo-card--compact{
  min-height:92px;
}

.brand-logo-card img{
  max-width:100%;
  max-height:68px;
  object-fit:contain;
  display:block;
}

.has-service-photo{
  background:
    linear-gradient(90deg, rgba(17,17,17,.92), rgba(17,17,17,.62)),
    radial-gradient(circle at 88% 40%, rgba(237,0,0,.36), transparent 32%),
    var(--service-cover);
  background-size:cover;
  background-position:center;
}

.service-visual-card{
  margin:0;
  background:#111;
  color:#fff;
  box-shadow:0 30px 70px rgba(0,0,0,.18);
}

.service-visual-card img{
  width:100%;
  height:430px;
  object-fit:cover;
  display:block;
}

.service-visual-card figcaption{
  padding:18px 22px;
  color:#d8d8d8;
  background:#111;
}

.service-related-gallery{
  background:#fff;
}

.service-media-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.service-media-card{
  display:block;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 16px 36px rgba(0,0,0,.08);
  color:#111;
  overflow:hidden;
}

.service-media-card img{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
}

.service-media-card div{
  padding:18px 20px 20px;
}

.service-media-card strong{
  display:block;
  margin-bottom:6px;
  font-size:18px;
}

.service-media-card span{
  color:var(--muted);
}

.gallery-category-card--photo{
  position:relative;
  overflow:hidden;
  min-height:280px;
  color:#fff;
  background:
    linear-gradient(180deg, rgba(17,17,17,.18), rgba(17,17,17,.92)),
    var(--card-cover);
  background-size:cover;
  background-position:center;
  border:0;
}

.gallery-category-card--photo p{
  color:#f0f0f0;
}

.gallery-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.gallery-photo-card{
  display:block;
  position:relative;
  overflow:hidden;
  background:#111;
  min-height:290px;
  box-shadow:0 16px 38px rgba(0,0,0,.12);
}

.gallery-photo-card img{
  width:100%;
  height:290px;
  object-fit:cover;
  display:block;
  transition:transform .25s ease;
}

.gallery-photo-card span{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:16px 18px;
  color:#fff;
  font-weight:800;
  background:linear-gradient(180deg, rgba(17,17,17,0), rgba(17,17,17,.9));
}

.gallery-photo-card:hover img{
  transform:scale(1.04);
}

.portfolio-showcase{
  background:#f7f7f7;
}

.work-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:26px;
}

.work-filter-btn{
  border:1px solid #d8d8d8;
  background:#fff;
  color:#111;
  padding:12px 18px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

.work-filter-btn.is-active{
  background:var(--red);
  color:#fff;
  border-color:var(--red);
}

.work-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.work-card{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.work-card.is-hidden{
  display:none;
}

.work-card img{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
}

.work-card-body{
  padding:22px 24px 24px;
}

.work-card-body h3{
  margin:12px 0 10px;
  font-size:28px;
}

.work-card-body p:not(.eyebrow){
  color:var(--muted);
  line-height:1.6;
}

.work-card-actions{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:18px;
}

.contact-card-stack p{
  margin:0 0 12px;
}

@media(max-width:1000px){
  .brand-logo-grid,
  .gallery-photo-grid,
  .service-media-grid,
  .work-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .brand-logo-grid,
  .gallery-photo-grid,
  .service-media-grid,
  .work-grid{
    grid-template-columns:1fr;
  }

  .work-filter-bar{
    flex-direction:column;
  }

  .work-filter-btn{
    width:100%;
  }

  .service-visual-card img,
  .service-media-card img,
  .gallery-photo-card img,
  .work-card img{
    height:220px;
  }
}

/* =========================================================
   PUBLISMART PATCH BOTON HABLAR CON AGENTE
   ========================================================= */

.btn-agent{
  background:#111;
  color:#fff !important;
  border:1px solid #111;
  box-shadow:0 14px 32px rgba(0,0,0,.18);
}

.btn-agent:hover{
  background:#ED0000;
  border-color:#ED0000;
  color:#fff !important;
}

.agent-float{
  position:fixed;
  right:24px;
  bottom:88px;
  z-index:999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:4px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  box-shadow:0 16px 36px rgba(0,0,0,.28);
}

.agent-float:hover{
  background:#ED0000;
  color:#fff;
}

.agent-strip{
  padding:70px 0;
  background:#f7f7f7;
}

.agent-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.agent-strip h2{
  margin:8px 0 10px;
}

.agent-strip p{
  margin:0;
  color:#666;
}

@media(max-width:720px){
  .agent-float{
    right:14px;
    bottom:82px;
    min-height:44px;
    padding:0 14px;
    font-size:12px;
  }

  .agent-strip-inner{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* =========================================================
   PUBLISMART PATCH HERO HOME MANUAL 3 SLIDES
   ========================================================= */

.ps-hero-slider{
  position:relative;
  min-height:690px;
}

.ps-hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .9s ease, visibility .9s ease;
}

.ps-hero-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:2;
}

.ps-hero-slide .hero-bg-photo{
  background:
    linear-gradient(90deg, rgba(17,17,17,.97) 0%, rgba(17,17,17,.82) 42%, rgba(17,17,17,.35) 100%),
    radial-gradient(circle at 85% 35%, rgba(237,0,0,.46), transparent 34%),
    var(--hero-photo);
  background-size:cover;
  background-position:center;
  transform:scale(1.04);
  transition:transform 6s ease;
}

.ps-hero-slide.is-active .hero-bg-photo{
  transform:scale(1);
}

.ps-hero-copy{
  animation:psHeroTextIn .75s ease both;
}

.ps-hero-slide:not(.is-active) .ps-hero-copy{
  animation:none;
}

.ps-hero-photo-card{
  background:#111;
}

.ps-hero-photo-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.78;
  transform:scale(1.05);
  transition:transform 6s ease, opacity .4s ease;
}

.ps-hero-slide.is-active .ps-hero-photo-card img{
  transform:scale(1);
}

.ps-hero-photo-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.46));
}

.ps-hero-photo-card .floating-card{
  z-index:3;
}

.ps-hero-dots{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  display:flex;
  gap:11px;
}

.ps-hero-dots button{
  width:38px;
  height:5px;
  border:0;
  background:rgba(255,255,255,.35);
  cursor:pointer;
  transition:.25s ease;
}

.ps-hero-dots button.is-active{
  width:62px;
  background:var(--red);
}

@keyframes psHeroTextIn{
  from{
    opacity:0;
    transform:translateY(22px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media(max-width:900px){
  .ps-hero-slider,
  .ps-hero-slide,
  .ps-hero-slide .hero-grid{
    min-height:auto;
  }

  .ps-hero-slide{
    position:relative;
    display:none;
  }

  .ps-hero-slide.is-active{
    display:block;
  }

  .ps-hero-dots{
    bottom:18px;
  }
}

@media(prefers-reduced-motion:reduce){
  .ps-hero-slide,
  .ps-hero-slide .hero-bg-photo,
  .ps-hero-photo-card img,
  .ps-hero-copy{
    transition:none;
    animation:none;
  }
}

/* =========================================================
   PUBLISMART PATCH ORDEN HERO TEXTOS Y TAGS
   ========================================================= */

.ps-hero-slider .hero-grid{
  align-items:center;
}

.ps-hero-slider .hero-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:430px;
}

.ps-hero-slider .hero-text{
  max-width:620px;
  min-height:96px;
}

.ps-hero-slider .hero-actions{
  min-height:72px;
  align-items:flex-start;
}

.ps-hero-slider .hero-features{
  margin-top:34px;
}

.ps-hero-photo-card{
  position:relative;
}

.ps-hero-photo-card .ps-hero-tags{
  position:absolute;
  left:22px;
  right:22px;
  bottom:18px;
  z-index:4;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:flex-end;
}

.ps-hero-photo-card .ps-hero-tag{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  background:rgba(255,255,255,.96);
  color:#111;
  font-size:13px;
  font-weight:800;
  line-height:1.1;
  border-left:4px solid var(--red);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  opacity:0;
  transform:translateY(14px);
}

.ps-hero-slide.is-active .ps-hero-tag{
  animation:psTagIntro .55s ease forwards;
}

.ps-hero-slide.is-active .ps-hero-tag:nth-child(1){ animation-delay:.18s; }
.ps-hero-slide.is-active .ps-hero-tag:nth-child(2){ animation-delay:.28s; }
.ps-hero-slide.is-active .ps-hero-tag:nth-child(3){ animation-delay:.38s; }

@keyframes psTagIntro{
  from{
    opacity:0;
    transform:translateY(14px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* ocultar los viejos cuadros flotantes si algo quedó */
.ps-hero-photo-card .floating-card{
  display:none !important;
}

@media(max-width:900px){
  .ps-hero-slider .hero-text{
    min-height:auto;
  }

  .ps-hero-slider .hero-actions{
    min-height:auto;
  }

  .ps-hero-photo-card .ps-hero-tags{
    left:14px;
    right:14px;
    bottom:14px;
    gap:8px;
  }

  .ps-hero-photo-card .ps-hero-tag{
    font-size:12px;
    min-height:30px;
    padding:6px 10px;
  }
}

/* =========================================================
   PUBLISMART PATCH HERO COMPLETO EN PANTALLA
   ========================================================= */

.hero.ps-hero-slider{
  min-height:calc(100vh - 118px);
  max-height:none;
}

.ps-hero-slider .ps-hero-slide{
  min-height:calc(100vh - 118px);
}

.ps-hero-slider .hero-grid{
  min-height:calc(100vh - 118px);
  padding:42px 0 48px;
  gap:44px;
}

.ps-hero-slider .hero-content{
  min-height:0;
  justify-content:center;
}

.ps-hero-slider .hero h1,
.ps-hero-slider h1{
  font-size:clamp(42px, 5.1vw, 68px);
  line-height:.98;
  margin:14px 0 20px;
  letter-spacing:-2.5px;
}

.ps-hero-slider .hero-text{
  font-size:18px;
  line-height:1.55;
  max-width:590px;
  min-height:88px;
}

.ps-hero-slider .hero-actions{
  margin-top:26px;
  min-height:auto;
  gap:14px;
}

.ps-hero-slider .btn{
  min-height:48px;
  padding:0 24px;
  font-size:14px;
}

.ps-hero-slider .hero-features{
  margin-top:28px;
  gap:12px;
  max-width:620px;
}

.ps-hero-slider .hero-features strong{
  font-size:24px;
}

.ps-hero-slider .hero-features span{
  font-size:12px;
  line-height:1.2;
}

.ps-hero-slider .hero-card{
  min-height:330px;
  max-height:390px;
  height:40vh;
}

.ps-hero-photo-card img{
  object-fit:cover;
  object-position:center;
}

.ps-hero-photo-card .ps-hero-tags{
  left:18px;
  right:18px;
  bottom:16px;
  gap:8px;
}

.ps-hero-photo-card .ps-hero-tag{
  min-height:30px;
  padding:6px 10px;
  font-size:12px;
  border-left-width:4px;
}

.ps-hero-dots{
  bottom:22px;
}

.ps-hero-dots button{
  height:4px;
  width:34px;
}

.ps-hero-dots button.is-active{
  width:56px;
}

/* en pantallas bajas, compactar más para que no corte */
@media(max-height:780px) and (min-width:901px){
  .hero.ps-hero-slider,
  .ps-hero-slider .ps-hero-slide,
  .ps-hero-slider .hero-grid{
    min-height:calc(100vh - 116px);
  }

  .ps-hero-slider .hero-grid{
    padding:32px 0 38px;
  }

  .ps-hero-slider h1{
    font-size:clamp(38px, 4.6vw, 58px);
    margin:10px 0 16px;
  }

  .ps-hero-slider .hero-text{
    font-size:16px;
    min-height:74px;
  }

  .ps-hero-slider .hero-actions{
    margin-top:20px;
  }

  .ps-hero-slider .btn{
    min-height:44px;
    padding:0 20px;
    font-size:13px;
  }

  .ps-hero-slider .hero-features{
    margin-top:22px;
  }

  .ps-hero-slider .hero-card{
    height:36vh;
    min-height:300px;
    max-height:340px;
  }
}

@media(max-width:900px){
  .hero.ps-hero-slider,
  .ps-hero-slider .ps-hero-slide,
  .ps-hero-slider .hero-grid{
    min-height:auto;
  }

  .ps-hero-slider .hero-grid{
    padding:56px 0 70px;
  }

  .ps-hero-slider .hero-card{
    height:auto;
    min-height:300px;
    max-height:none;
  }
}

/* =========================================================
   PUBLISMART PATCH HERO BOTONES EN LINEA + FONDO FOTO
   ========================================================= */

/* foto de fondo desvanecida en cada slide */
.ps-hero-slide .hero-bg-photo{
  background:
    linear-gradient(90deg, rgba(17,17,17,.98) 0%, rgba(17,17,17,.90) 34%, rgba(17,17,17,.62) 58%, rgba(17,17,17,.78) 100%),
    radial-gradient(circle at 82% 48%, rgba(237,0,0,.48), transparent 34%),
    var(--hero-photo) !important;
  background-size:cover !important;
  background-position:center !important;
}

.ps-hero-slide .hero-bg-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.12)),
    radial-gradient(circle at 70% 50%, rgba(237,0,0,.18), transparent 45%);
  pointer-events:none;
}

/* botones en una sola línea en desktop */
.ps-hero-slider .hero-actions{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:12px;
  min-height:auto;
}

.ps-hero-slider .hero-actions .btn{
  min-height:46px;
  padding:0 20px;
  font-size:13px;
  white-space:nowrap;
}

/* el botón de agente como botón negro, alineado igual */
.ps-hero-slider .hero-actions .btn-agent{
  background:#111;
  border:1px solid rgba(255,255,255,.18);
  color:#fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}

.ps-hero-slider .hero-actions .btn-agent:hover{
  background:var(--red);
  border-color:var(--red);
}

/* tarjeta un poquito más integrada con el fondo */
.ps-hero-photo-card{
  box-shadow:0 28px 70px rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.12);
}

.ps-hero-photo-card img{
  opacity:.82;
}

/* en pantallas medianas si no cabe, baja elegante */
@media(max-width:1050px){
  .ps-hero-slider .hero-actions{
    flex-wrap:wrap;
  }
}

/* móvil: sí puede bajar a dos líneas para no romper */
@media(max-width:720px){
  .ps-hero-slider .hero-actions{
    flex-wrap:wrap;
    gap:10px;
  }

  .ps-hero-slider .hero-actions .btn{
    flex:1 1 100%;
    width:100%;
  }
}

/* =========================================================
   PUBLISMART PATCH EFECTOS INDIVIDUALES HERO
   Botones + stats con entrada escalonada
   ========================================================= */

/* estado inicial */
.ps-hero-slide .hero-actions .btn,
.ps-hero-slide .hero-features > div{
  opacity:0;
  transform:translateY(18px);
  will-change:transform, opacity;
}

/* al activarse el slide, entran uno por uno */
.ps-hero-slide.is-active .hero-actions .btn,
.ps-hero-slide.is-active .hero-features > div{
  animation:psHeroItemIn .65s ease forwards;
}

/* delays botones */
.ps-hero-slide.is-active .hero-actions .btn:nth-child(1){
  animation-delay:.16s;
}
.ps-hero-slide.is-active .hero-actions .btn:nth-child(2){
  animation-delay:.28s;
}
.ps-hero-slide.is-active .hero-actions .btn:nth-child(3){
  animation-delay:.40s;
}

/* delays stats */
.ps-hero-slide.is-active .hero-features > div:nth-child(1){
  animation-delay:.54s;
}
.ps-hero-slide.is-active .hero-features > div:nth-child(2){
  animation-delay:.66s;
}
.ps-hero-slide.is-active .hero-features > div:nth-child(3){
  animation-delay:.78s;
}

@keyframes psHeroItemIn{
  0%{
    opacity:0;
    transform:translateY(18px) scale(.98);
  }
  70%{
    opacity:1;
    transform:translateY(-2px) scale(1.01);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

/* toque visual individual para botones */
.ps-hero-slider .hero-actions .btn{
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background .22s ease,
    border-color .22s ease,
    color .22s ease;
}

.ps-hero-slider .hero-actions .btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(0,0,0,.22);
}

/* toque visual para stats */
.ps-hero-slider .hero-features > div{
  transition:
    transform .22s ease,
    background .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.ps-hero-slider .hero-features > div:hover{
  transform:translateY(-2px);
}

/* accesibilidad */
@media(prefers-reduced-motion:reduce){
  .ps-hero-slide .hero-actions .btn,
  .ps-hero-slide .hero-features > div,
  .ps-hero-slide.is-active .hero-actions .btn,
  .ps-hero-slide.is-active .hero-features > div{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}

/* =========================================================
   PUBLISMART PATCH HERO FONDOS VISIBLES
   ========================================================= */

.ps-hero-slide .hero-bg-photo{
  opacity:1 !important;
  background-image:
    linear-gradient(90deg,
      rgba(17,17,17,.96) 0%,
      rgba(17,17,17,.86) 32%,
      rgba(17,17,17,.58) 58%,
      rgba(17,17,17,.72) 100%
    ),
    radial-gradient(circle at 78% 50%, rgba(237,0,0,.38), transparent 38%),
    var(--hero-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  filter:saturate(1.05) contrast(1.05);
}

/* capa extra para que la foto se sienta de fondo y no desaparezca */
.ps-hero-slide .hero-bg-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--hero-photo);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:.24;
  mix-blend-mode:screen;
  pointer-events:none;
}

/* degradado negro/rojo encima para mantener legibilidad */
.ps-hero-slide .hero-bg-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(17,17,17,.90) 0%,
      rgba(17,17,17,.72) 38%,
      rgba(17,17,17,.35) 64%,
      rgba(17,17,17,.66) 100%
    ),
    radial-gradient(circle at 86% 52%, rgba(237,0,0,.34), transparent 34%);
  pointer-events:none;
}

/* asegurar que el contenido quede encima del fondo */
.ps-hero-slider .hero-grid{
  position:relative;
  z-index:3;
}

/* la tarjeta derecha queda más clara porque ahora también hay fondo */
.ps-hero-photo-card img{
  opacity:.88 !important;
}

/* en pantallas muy grandes se ve un poco más la foto */
@media(min-width:1200px){
  .ps-hero-slide .hero-bg-photo::before{
    opacity:.32;
  }
}

/* en móvil baja un poco para que no ensucie texto */
@media(max-width:720px){
  .ps-hero-slide .hero-bg-photo::before{
    opacity:.18;
  }
}

/* =========================================================
   PUBLISMART PATCH HERO FOTO PEQUEÑA ROTATIVA
   ========================================================= */

.ps-hero-photo-card img{
  transition:
    opacity .38s ease,
    transform .7s ease,
    filter .7s ease;
}

.ps-hero-photo-card img.ps-photo-changing{
  opacity:.2 !important;
  transform:scale(1.035);
  filter:blur(1px) saturate(1.1);
}

/* =========================================================
   PUBLISMART PATCH HERO FONDO REAL VISIBLE
   ========================================================= */

/* poner la foto real como base visible */
.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo{
  background:var(--hero-photo) center center / cover no-repeat !important;
  opacity:1 !important;
  filter:saturate(1.08) contrast(1.05) brightness(.88);
}

/* capa de foto extra para que no parezca transparente */
.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:var(--hero-photo) center center / cover no-repeat !important;
  opacity:.42 !important;
  mix-blend-mode:normal !important;
  pointer-events:none;
}

/* degradado encima, pero menos oscuro que antes */
.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(17,17,17,.88) 0%,
      rgba(17,17,17,.70) 34%,
      rgba(17,17,17,.34) 58%,
      rgba(17,17,17,.52) 100%
    ),
    radial-gradient(circle at 82% 52%, rgba(237,0,0,.32), transparent 38%) !important;
  pointer-events:none;
}

/* asegurar que texto y tarjeta siempre queden encima */
.hero.ps-hero-slider .hero-grid{
  position:relative;
  z-index:5;
}

/* un poco más visible en pantallas grandes */
@media(min-width:1200px){
  .hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::before{
    opacity:.52 !important;
  }

  .hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::after{
    background:
      linear-gradient(90deg,
        rgba(17,17,17,.86) 0%,
        rgba(17,17,17,.66) 34%,
        rgba(17,17,17,.28) 58%,
        rgba(17,17,17,.48) 100%
      ),
      radial-gradient(circle at 82% 52%, rgba(237,0,0,.30), transparent 38%) !important;
  }
}

/* en móvil un poco más oscuro para leer */
@media(max-width:720px){
  .hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::before{
    opacity:.28 !important;
  }

  .hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::after{
    background:
      linear-gradient(90deg,
        rgba(17,17,17,.92) 0%,
        rgba(17,17,17,.78) 45%,
        rgba(17,17,17,.58) 100%
      ) !important;
  }
}

/* =========================================================
   PUBLISMART PATCH HERO FONDO MAS VISIBLE
   ========================================================= */

.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo{
  filter:saturate(1.18) contrast(1.08) brightness(1) !important;
}

.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::before{
  opacity:.70 !important;
  filter:saturate(1.18) contrast(1.08) brightness(1.04);
}

.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::after{
  background:
    linear-gradient(90deg,
      rgba(17,17,17,.82) 0%,
      rgba(17,17,17,.62) 34%,
      rgba(17,17,17,.22) 58%,
      rgba(17,17,17,.42) 100%
    ),
    radial-gradient(circle at 82% 52%, rgba(237,0,0,.22), transparent 38%) !important;
}

/* proteger legibilidad del texto sin tapar toda la foto */
.ps-hero-slider .hero-content{
  position:relative;
}

.ps-hero-slider .hero-content::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-24px -30px -24px -30px;
  background:linear-gradient(90deg, rgba(0,0,0,.38), rgba(0,0,0,.08));
  border-radius:8px;
  pointer-events:none;
}

@media(max-width:720px){
  .hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::before{
    opacity:.42 !important;
  }

  .hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::after{
    background:rgba(17,17,17,.76) !important;
  }
}

/* =========================================================
   PUBLISMART PATCH HERO FONDO MOVIL DIFUSO REAL
   ========================================================= */

/* fondo real visible */
.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo{
  background-image:var(--hero-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
  filter:saturate(1.15) contrast(1.08) brightness(.82);
  transition:background-image .45s ease, filter .45s ease;
}

/* foto grande difusa detrás */
.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::before{
  content:"";
  position:absolute;
  inset:-22px;
  z-index:0;
  background-image:var(--hero-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  opacity:.86 !important;
  filter:blur(7px) saturate(1.25) contrast(1.12) brightness(.92);
  transform:scale(1.06);
  mix-blend-mode:normal !important;
  pointer-events:none;
  transition:background-image .45s ease, opacity .45s ease;
}

/* capa oscura, pero ya no mata la foto */
.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(8,8,8,.84) 0%,
      rgba(8,8,8,.66) 36%,
      rgba(8,8,8,.36) 58%,
      rgba(8,8,8,.58) 100%
    ),
    radial-gradient(circle at 82% 52%, rgba(237,0,0,.26), transparent 38%) !important;
  pointer-events:none;
}

/* cuando cambia foto, pequeño fundido */
.hero.ps-hero-slider .hero-bg-photo.ps-bg-changing::before{
  opacity:.28 !important;
}

.hero.ps-hero-slider .hero-bg-photo.ps-bg-changing{
  filter:saturate(1.1) contrast(1.05) brightness(.68);
}

/* mantener texto legible */
.ps-hero-slider .hero-content::before{
  background:linear-gradient(90deg, rgba(0,0,0,.46), rgba(0,0,0,.08)) !important;
}

/* tarjeta derecha un poco menos oscura */
.ps-hero-photo-card img{
  opacity:.92 !important;
}

@media(max-width:720px){
  .hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::before{
    opacity:.48 !important;
    filter:blur(5px) saturate(1.1) brightness(.78);
  }

  .hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::after{
    background:rgba(8,8,8,.78) !important;
  }
}

/* =========================================================
   PUBLISMART PATCH CAPA REAL DE FONDO DIFUSO
   ========================================================= */

.ps-hero-slider .ps-hero-slide{
  overflow:hidden;
}

.ps-hero-bg-visual{
  position:absolute;
  inset:-36px;
  z-index:1;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:.34;
  filter:blur(10px) saturate(1.25) contrast(1.1) brightness(1.05);
  transform:scale(1.06);
  transition:opacity .35s ease, background-image .35s ease, transform .7s ease;
  pointer-events:none;
}

.ps-hero-slide.is-active .ps-hero-bg-visual{
  opacity:.48;
  transform:scale(1.03);
}

.ps-hero-slider .hero-bg{
  z-index:0;
}

.ps-hero-slider .hero-grid{
  position:relative;
  z-index:5;
}

.ps-hero-slider .hero:before,
.hero.ps-hero-slider:before{
  z-index:2;
  pointer-events:none;
}

/* velo general para lectura, pero dejando ver la foto difusa */
.ps-hero-slider .ps-hero-slide::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,
      rgba(8,8,8,.86) 0%,
      rgba(8,8,8,.66) 35%,
      rgba(8,8,8,.30) 60%,
      rgba(8,8,8,.54) 100%
    ),
    radial-gradient(circle at 82% 52%, rgba(237,0,0,.24), transparent 38%);
  pointer-events:none;
}

/* bajar un poco la oscuridad de la capa vieja */
.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::after{
  opacity:.62 !important;
}

.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::before{
  opacity:.22 !important;
}

/* cuando cambia foto */
.ps-hero-bg-visual.ps-bg-changing{
  opacity:.12 !important;
  transform:scale(1.08);
}

@media(max-width:720px){
  .ps-hero-bg-visual{
    opacity:.24;
    filter:blur(8px) saturate(1.1) brightness(.9);
  }

  .ps-hero-slide.is-active .ps-hero-bg-visual{
    opacity:.32;
  }
}

/* =========================================================
   PUBLISMART PATCH HERO FONDO SUAVE SIN PARPADEO
   ========================================================= */

/* quitar sensación de apagado/prendido */
.ps-hero-bg-visual,
.ps-hero-bg-visual.ps-bg-changing,
.ps-hero-slide.is-active .ps-hero-bg-visual{
  opacity:.44 !important;
  transition:transform 8s ease-in-out, filter 8s ease-in-out !important;
}

/* efecto limpio: desplazamiento suave, sin fade */
.ps-hero-slide.is-active .ps-hero-bg-visual{
  animation:psHeroBgDrift 16s ease-in-out infinite alternate !important;
}

/* anular respiración anterior que mareaba */
.ps-hero-slide.is-active .hero-bg-photo::before{
  animation:none !important;
}

/* movimiento muy leve, no parpadea */
@keyframes psHeroBgDrift{
  0%{
    transform:scale(1.06) translate3d(-8px, -4px, 0);
    filter:blur(9px) saturate(1.16) contrast(1.06) brightness(.96);
  }
  100%{
    transform:scale(1.09) translate3d(8px, 5px, 0);
    filter:blur(9px) saturate(1.20) contrast(1.08) brightness(1);
  }
}

/* mantener degradado estable */
.hero.ps-hero-slider .ps-hero-slide .hero-bg.hero-bg-photo::after,
.ps-hero-slider .ps-hero-slide::after{
  transition:none !important;
}

/* en móvil más tranquilo */
@media(max-width:720px){
  .ps-hero-bg-visual,
  .ps-hero-slide.is-active .ps-hero-bg-visual{
    opacity:.30 !important;
    animation:psHeroBgDriftMobile 18s ease-in-out infinite alternate !important;
  }

  @keyframes psHeroBgDriftMobile{
    0%{
      transform:scale(1.04) translate3d(-4px, -2px, 0);
      filter:blur(7px) saturate(1.08) brightness(.88);
    }
    100%{
      transform:scale(1.06) translate3d(4px, 3px, 0);
      filter:blur(7px) saturate(1.10) brightness(.92);
    }
  }
}

@media(prefers-reduced-motion:reduce){
  .ps-hero-slide.is-active .ps-hero-bg-visual{
    animation:none !important;
    transform:scale(1.06) !important;
  }
}

/* =========================================================
   PUBLISMART PATCH FONDO FIJO DEFINITIVO POR SLIDE
   ========================================================= */

.ps-hero-bg-visual[data-fixed-bg="1"],
.ps-hero-slide.is-active .ps-hero-bg-visual[data-fixed-bg="1"]{
  opacity:.42 !important;
  animation:psHeroBgDriftFixed 18s ease-in-out infinite alternate !important;
  transition:transform 8s ease-in-out, filter 8s ease-in-out !important;
}

.ps-hero-bg-visual[data-fixed-bg="1"].ps-bg-changing{
  opacity:.42 !important;
}

.hero.ps-hero-slider .hero-bg-photo.ps-bg-changing{
  filter:saturate(1.15) contrast(1.08) brightness(.82) !important;
}

@keyframes psHeroBgDriftFixed{
  0%{
    transform:scale(1.06) translate3d(-5px, -3px, 0);
    filter:blur(9px) saturate(1.14) contrast(1.06) brightness(.92);
  }
  100%{
    transform:scale(1.08) translate3d(5px, 4px, 0);
    filter:blur(9px) saturate(1.18) contrast(1.08) brightness(.96);
  }
}

@media(prefers-reduced-motion:reduce){
  .ps-hero-bg-visual[data-fixed-bg="1"],
  .ps-hero-slide.is-active .ps-hero-bg-visual[data-fixed-bg="1"]{
    animation:none !important;
    transform:scale(1.06) !important;
  }
}

/* =========================================================
   PUBLISMART PATCH HERO FLECHAS + PICKER FOTO PEQUEÑA
   ========================================================= */

.ps-hero-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:8;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(8,8,8,.58);
  color:#fff;
  font-size:36px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(0,0,0,.28);
  transition:background .22s ease, border-color .22s ease, transform .22s ease;
}

.ps-hero-arrow:hover{
  background:var(--red);
  border-color:var(--red);
  transform:translateY(-50%) scale(1.04);
}

.ps-hero-prev{
  left:28px;
}

.ps-hero-next{
  right:28px;
}

.ps-photo-controls{
  position:absolute;
  z-index:6;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:8px;
}

.ps-photo-pick{
  width:10px;
  height:28px;
  padding:0;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.35);
  cursor:pointer;
  transition:height .22s ease, background .22s ease, border-color .22s ease, transform .22s ease;
}

.ps-photo-pick:hover{
  background:#fff;
  transform:translateX(-2px);
}

.ps-photo-pick.is-active{
  height:38px;
  background:var(--red);
  border-color:var(--red);
}

.ps-hero-photo-card .ps-hero-tags{
  right:44px;
}

@media(max-width:900px){
  .ps-hero-prev{
    left:12px;
  }

  .ps-hero-next{
    right:12px;
  }

  .ps-hero-arrow{
    width:38px;
    height:38px;
    font-size:30px;
  }
}

@media(max-width:720px){
  .ps-hero-arrow{
    top:auto;
    bottom:20px;
    transform:none;
  }

  .ps-hero-arrow:hover{
    transform:scale(1.04);
  }

  .ps-hero-prev{
    left:16px;
  }

  .ps-hero-next{
    right:16px;
  }

  .ps-photo-controls{
    right:10px;
    gap:6px;
  }

  .ps-photo-pick{
    width:9px;
    height:22px;
  }

  .ps-photo-pick.is-active{
    height:30px;
  }

  .ps-hero-photo-card .ps-hero-tags{
    right:34px;
  }
}


/* =========================================================
   PUBLISMART PATCH TARJETAS SERVICIOS HOME CON FOTO
   ========================================================= */

.service-grid .service-card-photo{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:240px;
  padding:26px 22px 22px;
  border:1px solid rgba(255,255,255,.08);
  background:#111;
  box-shadow:0 18px 36px rgba(0,0,0,.10);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.service-grid .service-card-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:var(--service-photo);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transform:scale(1.02);
  transition:transform .6s ease;
}

.service-grid .service-card-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,
      rgba(10,10,10,.18) 0%,
      rgba(10,10,10,.50) 36%,
      rgba(10,10,10,.82) 72%,
      rgba(10,10,10,.92) 100%
    ),
    linear-gradient(135deg,
      rgba(237,0,0,.24) 0%,
      rgba(237,0,0,.10) 20%,
      rgba(237,0,0,0) 45%
    ),
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.08), transparent 22%);
  pointer-events:none;
}

.service-grid .service-card-photo > *{
  position:relative;
  z-index:3;
}

.service-grid .service-card-photo span{
  display:inline-block;
  margin-bottom:10px;
  color:#ff2a2a;
  font-weight:800;
  text-shadow:0 1px 1px rgba(0,0,0,.25);
}

.service-grid .service-card-photo h3{
  color:#fff;
  margin-bottom:10px;
  line-height:1.08;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}

.service-grid .service-card-photo p{
  color:rgba(255,255,255,.92);
  max-width:28ch;
  text-shadow:0 2px 12px rgba(0,0,0,.30);
}

.service-grid .service-card-photo a,
.service-grid .service-card-photo .service-more{
  color:#fff !important;
  font-weight:800;
  letter-spacing:.02em;
  text-decoration:none;
}

.service-grid .service-card-photo a:hover,
.service-grid .service-card-photo .service-more:hover{
  color:#fff !important;
}

.service-grid .service-card-photo .service-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  padding:10px 14px;
  background:rgba(237,0,0,.92);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.service-grid .service-card-photo .service-more::after{
  content:"→";
  display:inline-block;
}

.service-grid .service-card-photo:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 46px rgba(0,0,0,.16);
  border-color:rgba(237,0,0,.28);
}

.service-grid .service-card-photo:hover::before{
  transform:scale(1.07);
}

/* marco interno elegante */
.service-grid .service-card-photo{
  background-clip:padding-box;
}

.service-grid .service-card-photo .card-inner-frame,
.service-grid .service-card-photo:has(h3)::marker{
  display:none;
}

.service-grid .service-card-photo{
  outline:1px solid rgba(255,255,255,.05);
  outline-offset:-10px;
}

/* barra roja inferior */
.service-grid .service-card-photo{
  box-shadow:
    inset 0 -3px 0 #ed0000,
    0 18px 36px rgba(0,0,0,.10);
}

@media(max-width:900px){
  .service-grid .service-card-photo{
    min-height:220px;
    padding:22px 18px 20px;
  }

  .service-grid .service-card-photo p{
    max-width:none;
  }
}

/* =========================================================
   PUBLISMART PATCH SERVICIOS HOME FOTO MAS VISIBLE
   ========================================================= */

.service-grid .service-card-photo::before{
  opacity:1 !important;
  filter:saturate(1.12) contrast(1.08) brightness(.95);
}

.service-grid .service-card-photo::after{
  background:
    linear-gradient(180deg,
      rgba(10,10,10,.06) 0%,
      rgba(10,10,10,.20) 28%,
      rgba(10,10,10,.58) 66%,
      rgba(10,10,10,.86) 100%
    ),
    linear-gradient(135deg,
      rgba(237,0,0,.22) 0%,
      rgba(237,0,0,.10) 22%,
      rgba(237,0,0,0) 48%
    ) !important;
}

.service-grid .service-card-photo h3,
.service-grid .service-card-photo p,
.service-grid .service-card-photo span{
  text-shadow:0 3px 14px rgba(0,0,0,.70);
}

.service-grid .service-card-photo .service-more::after{
  content:"→";
}

/* si alguna tarjeta queda muy oscura, este borde la levanta */
.service-grid .service-card-photo{
  border-color:rgba(255,255,255,.10);
}

/* =========================================================
   PUBLISMART PATCH TARJETAS SERVICIOS CORTE RECTO
   ========================================================= */

/* tarjeta base */
.service-grid .service-card-photo{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:240px;
  padding:24px 22px 22px;
  background:#111 !important;
  border:1px solid rgba(255,255,255,.08);
  outline:none !important;
  box-shadow:
    inset 0 -3px 0 #ed0000,
    0 14px 30px rgba(0,0,0,.10);
}

/* FOTO: sin blur, sin difusión, sin transparencia rara */
.service-grid .service-card-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:var(--service-photo);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transform:none !important;
  opacity:1 !important;
  filter:none !important;
  transition:transform .35s ease;
}

/* OVERLAY: cortes rectos, limpios, no difusos */
.service-grid .service-card-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.08) 0%,
      rgba(0,0,0,.08) 18%,
      rgba(0,0,0,.46) 18%,
      rgba(0,0,0,.46) 58%,
      rgba(0,0,0,.80) 58%,
      rgba(0,0,0,.88) 100%
    ),
    linear-gradient(135deg,
      rgba(237,0,0,.24) 0%,
      rgba(237,0,0,.24) 18%,
      rgba(237,0,0,0) 18%,
      rgba(237,0,0,0) 100%
    );
  pointer-events:none;
}

/* contenido arriba */
.service-grid .service-card-photo > *{
  position:relative;
  z-index:3;
}

/* texto */
.service-grid .service-card-photo span{
  display:inline-block;
  margin-bottom:10px;
  color:#ff2a2a;
  font-weight:800;
  text-shadow:none !important;
}

.service-grid .service-card-photo h3{
  color:#fff;
  margin-bottom:10px;
  line-height:1.08;
  text-shadow:none !important;
}

.service-grid .service-card-photo p{
  color:rgba(255,255,255,.94);
  max-width:28ch;
  text-shadow:none !important;
}

/* botón */
.service-grid .service-card-photo .service-more,
.service-grid .service-card-photo a{
  color:#fff !important;
  text-decoration:none !important;
}

.service-grid .service-card-photo .service-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:10px;
  padding:10px 14px;
  background:#ed0000;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:none !important;
  font-weight:800;
}

.service-grid .service-card-photo .service-more::after{
  content:"→";
  display:inline-block;
}

/* hover limpio: apenas zoom de foto, sin glow ni difusión */
.service-grid .service-card-photo:hover{
  transform:translateY(-3px);
  border-color:rgba(237,0,0,.28);
  box-shadow:
    inset 0 -3px 0 #ed0000,
    0 18px 34px rgba(0,0,0,.14);
}

.service-grid .service-card-photo:hover::before{
  transform:scale(1.04);
}

/* marco interno recto */
.service-grid .service-card-photo::marker{
  display:none;
}

.service-grid .service-card-photo{
  border-radius:0 !important;
}

.service-grid .service-card-photo .service-more{
  border-radius:0 !important;
}

/* móvil */
@media(max-width:900px){
  .service-grid .service-card-photo{
    min-height:220px;
    padding:22px 18px 20px;
  }

  .service-grid .service-card-photo p{
    max-width:none;
  }
}

/* =========================================================
   PUBLISMART PATCH TARJETAS SERVICIOS FOTO ARRIBA TEXTO ABAJO
   ========================================================= */

.service-grid .service-card-photo{
  min-height:300px !important;
  padding:0 !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  background:#0b0b0b !important;
  border:1px solid rgba(0,0,0,.12);
  border-radius:0 !important;
  box-shadow:
    inset 0 -4px 0 #ed0000,
    0 18px 34px rgba(0,0,0,.12) !important;
}

/* foto visible arriba, corte recto */
.service-grid .service-card-photo::before{
  content:"";
  position:absolute;
  inset:0 0 112px 0;
  z-index:0;
  background-image:var(--service-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  transition:transform .35s ease;
}

/* bloque negro recto abajo para texto */
.service-grid .service-card-photo::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  top:auto;
  height:150px;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(237,0,0,.18), transparent 38%),
    #0b0b0b !important;
  border-top:4px solid #ed0000;
  pointer-events:none;
}

/* contenido ordenado en bloque inferior */
.service-grid .service-card-photo > *{
  position:relative;
  z-index:3;
  margin-left:22px;
  margin-right:22px;
}

.service-grid .service-card-photo span{
  margin-top:auto;
  margin-bottom:6px;
  color:#ff1b1b;
  font-size:12px;
  line-height:1;
  text-shadow:none !important;
}

.service-grid .service-card-photo h3{
  color:#fff;
  margin:0 22px 6px 22px !important;
  line-height:1.05;
  font-size:22px;
  text-shadow:none !important;
}

.service-grid .service-card-photo p{
  color:rgba(255,255,255,.84);
  margin:0 22px 12px 22px !important;
  max-width:none !important;
  min-height:40px;
  font-size:14px;
  line-height:1.35;
  text-shadow:none !important;
}

.service-grid .service-card-photo .service-more{
  margin:0 22px 20px 22px !important;
  align-self:flex-start;
  background:#ed0000;
  color:#fff !important;
  padding:9px 13px;
  font-size:12px;
  line-height:1;
  border:0;
  box-shadow:none !important;
}

.service-grid .service-card-photo:hover::before{
  transform:scale(1.045) !important;
}

.service-grid .service-card-photo:hover{
  transform:translateY(-3px);
  box-shadow:
    inset 0 -4px 0 #ed0000,
    0 22px 42px rgba(0,0,0,.16) !important;
}

@media(max-width:900px){
  .service-grid .service-card-photo{
    min-height:290px !important;
  }

  .service-grid .service-card-photo::before{
    inset:0 0 122px 0;
  }

  .service-grid .service-card-photo::after{
    height:160px;
  }
}

/* =========================================================
   PUBLISMART FIX FINAL TARJETAS SERVICIOS FOTO VISIBLE
   ========================================================= */

.service-grid .service-card-photo{
  position:relative !important;
  overflow:hidden !important;
  min-height:320px !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  background:#080808 !important;
}

/* foto arriba, totalmente visible */
.service-grid .service-card-photo::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:145px !important;
  z-index:1 !important;
  background-image:var(--service-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  display:block !important;
}

/* bloque negro abajo, recto */
.service-grid .service-card-photo::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  height:150px !important;
  z-index:2 !important;
  background:#090909 !important;
  border-top:4px solid #ed0000 !important;
  pointer-events:none !important;
}

/* contenido siempre sobre el bloque negro */
.service-grid .service-card-photo > *{
  position:relative !important;
  z-index:4 !important;
}

.service-grid .service-card-photo span{
  margin:0 22px 6px 22px !important;
  color:#ff1d1d !important;
  font-size:12px !important;
}

.service-grid .service-card-photo h3{
  margin:0 22px 8px 22px !important;
  color:#fff !important;
  font-size:22px !important;
}

.service-grid .service-card-photo p{
  margin:0 22px 12px 22px !important;
  color:rgba(255,255,255,.86) !important;
  font-size:14px !important;
  line-height:1.35 !important;
  max-width:none !important;
}

.service-grid .service-card-photo .service-more{
  margin:0 22px 20px 22px !important;
  padding:9px 14px !important;
  background:#ed0000 !important;
  color:#fff !important;
  font-size:12px !important;
}

/* hover solo zoom de foto */
.service-grid .service-card-photo:hover::before{
  transform:scale(1.045) !important;
  transition:transform .35s ease !important;
}

/* =========================================================
   PUBLISMART PATCH HOME TRABAJOS + SOBRE NOSOTROS
   ========================================================= */

/* ---------- TRABAJOS HOME ---------- */

.home-works-enhanced{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  margin-top:26px;
}

.home-work-card{
  position:relative;
  min-height:250px;
  overflow:hidden;
  background:#111;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 34px rgba(0,0,0,.10);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.home-work-card::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--work-photo);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transform:scale(1.02);
  transition:transform .55s ease;
  z-index:0;
}

.home-work-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.06) 0%,
      rgba(0,0,0,.12) 24%,
      rgba(0,0,0,.44) 52%,
      rgba(0,0,0,.84) 100%
    ),
    linear-gradient(135deg,
      rgba(237,0,0,.28) 0%,
      rgba(237,0,0,.12) 20%,
      rgba(237,0,0,0) 42%
    );
  z-index:1;
}

.home-work-card > *{
  position:relative;
  z-index:3;
}

.home-work-card .work-content{
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:18px 16px 16px;
}

.home-work-card h3{
  margin:0 0 8px;
  font-size:18px;
  line-height:1.1;
  color:#fff;
}

.home-work-card p{
  margin:0;
  color:rgba(255,255,255,.93);
  line-height:1.35;
  font-size:14px;
  max-width:22ch;
}

.home-work-card .work-cta{
  margin-top:14px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  width:max-content;
  background:#ed0000;
  color:#fff;
  font-weight:800;
  font-size:12px;
  letter-spacing:.02em;
}

.home-work-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 42px rgba(0,0,0,.16);
  border-color:rgba(237,0,0,.30);
}

.home-work-card:hover::before{
  transform:scale(1.06);
}

/* ---------- SOBRE NOSOTROS HOME ---------- */

.about-enhanced-media{
  margin-top:30px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  align-items:stretch;
}

.about-media-main{
  position:relative;
  min-height:360px;
  overflow:hidden;
  background:#111;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 34px rgba(0,0,0,.10);
}

.about-media-main::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--about-photo-main);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  z-index:0;
  transform:scale(1.02);
  transition:transform .6s ease;
}

.about-media-main::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.06) 0%,
      rgba(0,0,0,.18) 30%,
      rgba(0,0,0,.70) 100%
    ),
    linear-gradient(135deg,
      rgba(237,0,0,.25) 0%,
      rgba(237,0,0,.10) 18%,
      rgba(237,0,0,0) 42%
    );
  z-index:1;
}

.about-media-caption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:3;
  color:#fff;
}

.about-media-caption .eyebrow{
  display:inline-block;
  margin-bottom:8px;
  color:#ff2a2a;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.about-media-caption h4{
  margin:0 0 8px;
  font-size:28px;
  line-height:1.04;
  color:#fff;
}

.about-media-caption p{
  margin:0;
  color:rgba(255,255,255,.92);
  max-width:40ch;
  line-height:1.42;
}

.about-media-side{
  display:grid;
  grid-template-rows:1fr auto;
  gap:18px;
}

.about-media-secondary{
  position:relative;
  min-height:210px;
  overflow:hidden;
  background:#111;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 34px rgba(0,0,0,.10);
}

.about-media-secondary::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--about-photo-secondary);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  z-index:0;
}

.about-media-secondary::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.74)),
    linear-gradient(135deg, rgba(237,0,0,.22), rgba(237,0,0,0) 42%);
  z-index:1;
}

.about-media-secondary .mini-badge{
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:3;
  display:inline-flex;
  flex-direction:column;
  gap:2px;
  padding:12px 14px;
  background:rgba(0,0,0,.65);
  border-left:3px solid #ed0000;
  color:#fff;
}

.about-media-secondary .mini-badge strong{
  font-size:24px;
  line-height:1;
}

.about-media-secondary .mini-badge span{
  font-size:13px;
  color:rgba(255,255,255,.9);
}

.about-stat-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}

.about-stat{
  padding:16px 14px;
  background:#0e0e0e;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 14px 28px rgba(0,0,0,.08);
  position:relative;
  overflow:hidden;
}

.about-stat::before{
  content:"";
  position:absolute;
  inset:auto auto 0 0;
  width:100%;
  height:3px;
  background:#ed0000;
}

.about-stat strong{
  display:block;
  margin-bottom:5px;
  color:#fff;
  font-size:24px;
  line-height:1;
}

.about-stat span{
  display:block;
  color:#5b5b5b;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.about-media-main:hover::before{
  transform:scale(1.06);
}

@media(max-width:1100px){
  .home-works-enhanced{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .about-enhanced-media{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .home-works-enhanced{
    grid-template-columns:1fr;
  }

  .about-stat-strip{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   PUBLISMART PATCH TRABAJOS HOME ESTILO CINEMATICO
   ========================================================= */

/* separar visualmente trabajos de servicios */
.home-works-enhanced{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:22px !important;
  margin-top:34px !important;
}

/* tarjeta diferente: foto completa de fondo */
.home-work-card{
  position:relative !important;
  min-height:330px !important;
  overflow:hidden !important;
  background:#111 !important;
  color:#fff !important;
  text-decoration:none !important;
  border:0 !important;
  box-shadow:0 24px 54px rgba(0,0,0,.18) !important;
  isolation:isolate !important;
}

/* foto ocupa TODO el cuadro */
.home-work-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-image:var(--work-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  transform:scale(1.02);
  transition:transform .7s ease, filter .7s ease !important;
  filter:saturate(1.08) contrast(1.04) brightness(.92);
}

/* overlay con corte diagonal, diferente al de servicios */
.home-work-card::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(100deg,
      rgba(0,0,0,.88) 0%,
      rgba(0,0,0,.72) 33%,
      rgba(0,0,0,.20) 62%,
      rgba(0,0,0,.08) 100%
    ),
    linear-gradient(160deg,
      rgba(237,0,0,.34) 0%,
      rgba(237,0,0,.13) 28%,
      rgba(237,0,0,0) 56%
    );
  pointer-events:none;
}

/* contenido como panel lateral, no como tarjeta de servicios */
.home-work-card .work-content{
  position:relative !important;
  z-index:3 !important;
  min-height:330px !important;
  width:58% !important;
  max-width:390px !important;
  padding:34px 30px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  background:
    linear-gradient(90deg, rgba(8,8,8,.88), rgba(8,8,8,.64) 72%, rgba(8,8,8,0));
  border-left:5px solid #ed0000;
}

/* numerito decorativo automático */
.home-work-card .work-content::before{
  content:"Proyecto destacado";
  display:inline-flex;
  width:max-content;
  margin-bottom:12px;
  padding:7px 10px;
  background:#ed0000;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* textos */
.home-work-card h3{
  margin:0 0 10px !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:1.02 !important;
  letter-spacing:-.8px;
  text-shadow:0 4px 18px rgba(0,0,0,.38);
}

.home-work-card p{
  margin:0 !important;
  max-width:30ch !important;
  color:rgba(255,255,255,.90) !important;
  font-size:15px !important;
  line-height:1.45 !important;
  text-shadow:0 3px 14px rgba(0,0,0,.35);
}

.home-work-card .work-cta{
  margin-top:20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  padding:11px 15px !important;
  background:#fff !important;
  color:#111 !important;
  font-weight:900 !important;
  font-size:12px !important;
  letter-spacing:.02em;
  transition:background .22s ease, color .22s ease, transform .22s ease !important;
}

/* alternar posiciones para que se vea más dinámico */
.home-works-enhanced .home-work-card:nth-child(even)::after{
  background:
    linear-gradient(260deg,
      rgba(0,0,0,.88) 0%,
      rgba(0,0,0,.72) 33%,
      rgba(0,0,0,.20) 62%,
      rgba(0,0,0,.08) 100%
    ),
    linear-gradient(210deg,
      rgba(237,0,0,.34) 0%,
      rgba(237,0,0,.13) 28%,
      rgba(237,0,0,0) 56%
    ) !important;
}

.home-works-enhanced .home-work-card:nth-child(even) .work-content{
  margin-left:auto;
  border-left:0;
  border-right:5px solid #ed0000;
  background:
    linear-gradient(270deg, rgba(8,8,8,.88), rgba(8,8,8,.64) 72%, rgba(8,8,8,0));
}

/* hover */
.home-work-card:hover{
  transform:translateY(-5px) !important;
  box-shadow:0 30px 70px rgba(0,0,0,.24) !important;
}

.home-work-card:hover::before{
  transform:scale(1.08);
  filter:saturate(1.14) contrast(1.06) brightness(1);
}

.home-work-card:hover .work-cta{
  background:#ed0000 !important;
  color:#fff !important;
  transform:translateY(-2px);
}

/* hacerlo todavía más diferente en desktop ancho */
@media(min-width:1200px){
  .home-works-enhanced .home-work-card:first-child{
    grid-column:span 2;
    min-height:390px !important;
  }

  .home-works-enhanced .home-work-card:first-child .work-content{
    min-height:390px !important;
    width:46% !important;
  }

  .home-works-enhanced .home-work-card:first-child h3{
    font-size:38px !important;
  }
}

/* responsive */
@media(max-width:980px){
  .home-works-enhanced{
    grid-template-columns:1fr !important;
  }

  .home-work-card,
  .home-work-card .work-content{
    min-height:300px !important;
  }

  .home-work-card .work-content{
    width:70% !important;
  }
}

@media(max-width:640px){
  .home-work-card{
    min-height:320px !important;
  }

  .home-work-card .work-content,
  .home-works-enhanced .home-work-card:nth-child(even) .work-content{
    width:100% !important;
    max-width:none !important;
    min-height:320px !important;
    padding:26px 22px !important;
    border-left:5px solid #ed0000;
    border-right:0;
    background:linear-gradient(180deg, rgba(8,8,8,.26), rgba(8,8,8,.88) 70%);
  }

  .home-work-card h3{
    font-size:26px !important;
  }
}

/* =========================================================
   PUBLISMART PATCH - HOME TRABAJOS REESTILO CLARO
   ========================================================= */

.home-works-enhanced{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:26px !important;
  margin-top:34px !important;
}

.home-work-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:360px !important;
  overflow:hidden !important;
  background:#ffffff !important;
  color:#111 !important;
  text-decoration:none !important;
  border:1px solid #ececec !important;
  box-shadow:0 18px 42px rgba(0,0,0,.08) !important;
  transition:transform .28s ease, box-shadow .28s ease !important;
}

/* foto arriba */
.home-work-card::before{
  content:"" !important;
  display:block !important;
  position:relative !important;
  width:100% !important;
  height:210px !important;
  background-image:var(--work-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  transition:transform .7s ease !important;
  z-index:0 !important;
}

/* overlay rojo animado */
.home-work-card::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  height:210px !important;
  background:linear-gradient(90deg,
    rgba(237,0,0,.82) 0%,
    rgba(237,0,0,.48) 45%,
    rgba(237,0,0,0) 100%
  ) !important;
  transform:translateX(-102%) !important;
  transition:transform .48s ease !important;
  z-index:1 !important;
  pointer-events:none !important;
}

/* contenido blanco abajo */
.home-work-card .work-content{
  position:relative !important;
  z-index:3 !important;
  background:#fff !important;
  padding:22px 24px 24px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:10px !important;
  border-top:4px solid #ed0000 !important;
  min-height:150px !important;
}

/* etiqueta */
.home-work-card .work-content::before{
  content:"Proyecto destacado";
  display:inline-flex;
  width:max-content;
  padding:6px 10px;
  background:#111;
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:2px;
}

/* textos */
.home-work-card h3{
  margin:0 !important;
  color:#111 !important;
  font-size:30px !important;
  line-height:1.03 !important;
  letter-spacing:-.5px;
}

.home-work-card p{
  margin:0 !important;
  color:#444 !important;
  font-size:15px !important;
  line-height:1.45 !important;
  max-width:34ch !important;
}

.home-work-card .work-cta{
  margin-top:8px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  padding:11px 15px !important;
  background:#ed0000 !important;
  color:#fff !important;
  font-weight:800 !important;
  font-size:12px !important;
  border:0 !important;
  transition:background .24s ease, color .24s ease, transform .24s ease !important;
}

/* card principal más grande */
@media(min-width:1100px){
  .home-works-enhanced .home-work-card:first-child{
    grid-column:span 2;
    min-height:410px !important;
  }
  .home-works-enhanced .home-work-card:first-child::before{
    height:250px !important;
  }
  .home-works-enhanced .home-work-card:first-child::after{
    height:250px !important;
  }
  .home-works-enhanced .home-work-card:first-child h3{
    font-size:38px !important;
  }
}

/* hover */
.home-work-card:hover{
  transform:translateY(-5px) !important;
  box-shadow:0 26px 56px rgba(0,0,0,.12) !important;
}

.home-work-card:hover::before{
  transform:scale(1.05) !important;
}

.home-work-card:hover::after{
  transform:translateX(0) !important;
}

.home-work-card:hover .work-content{
  background:linear-gradient(180deg,#fff 0%, #fff7f7 100%) !important;
}

.home-work-card:hover h3{
  color:#b30000 !important;
}

.home-work-card:hover .work-cta{
  background:#111 !important;
  color:#fff !important;
  transform:translateX(4px);
}

/* responsive */
@media(max-width:980px){
  .home-works-enhanced{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:640px){
  .home-work-card{
    min-height:auto !important;
  }

  .home-work-card::before,
  .home-work-card::after{
    height:190px !important;
  }

  .home-work-card h3{
    font-size:25px !important;
  }

  .home-work-card .work-content{
    padding:18px 18px 20px !important;
  }
}

/* =========================================================
   PUBLISMART PATCH - HOME TRABAJOS SOLO REACOMODO DESKTOP
   Mantiene efectos actuales, solo mejora acomodo y altura
   ========================================================= */

.home-works-enhanced{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  grid-template-areas:
    "featured featured featured featured featured featured featured slim slim slim slim slim"
    "featured featured featured featured featured featured featured vehicle vehicle vehicle stand stand" !important;
  gap:24px !important;
  width:100% !important;
  align-items:stretch !important;
}

/* mapa de tarjetas */
.home-works-enhanced .home-work-card:nth-child(1){ grid-area:featured !important; }
.home-works-enhanced .home-work-card:nth-child(2){ grid-area:slim !important; }
.home-works-enhanced .home-work-card:nth-child(3){ grid-area:vehicle !important; }
.home-works-enhanced .home-work-card:nth-child(4){ grid-area:stand !important; }

/* reset general */
.home-works-enhanced .home-work-card{
  width:100% !important;
  max-width:none !important;
  min-height:auto !important;
  height:100% !important;
  overflow:hidden !important;
}

/* TARJETA PRINCIPAL */
.home-works-enhanced .home-work-card:first-child{
  display:flex !important;
  flex-direction:column !important;
  min-height:420px !important;
}

.home-works-enhanced .home-work-card:first-child::before{
  height:240px !important;
  min-height:240px !important;
  flex:0 0 240px !important;
}

.home-works-enhanced .home-work-card:first-child::after{
  height:240px !important;
}

.home-works-enhanced .home-work-card:first-child .work-content{
  min-height:0 !important;
  padding:24px 26px 26px !important;
}

.home-works-enhanced .home-work-card:first-child h3{
  font-size:24px !important;
  line-height:1.08 !important;
  margin:6px 0 8px !important;
}

.home-works-enhanced .home-work-card:first-child p{
  font-size:14px !important;
  line-height:1.5 !important;
  max-width:40ch !important;
}

/* TARJETAS SECUNDARIAS COMPACTAS, HORIZONTALES */
.home-works-enhanced .home-work-card:not(:first-child){
  display:grid !important;
  grid-template-columns:46% 54% !important;
  min-height:190px !important;
}

.home-works-enhanced .home-work-card:not(:first-child)::before{
  grid-column:1 !important;
  grid-row:1 !important;
  width:100% !important;
  height:100% !important;
  min-height:190px !important;
}

.home-works-enhanced .home-work-card:not(:first-child)::after{
  width:46% !important;
  height:100% !important;
}

.home-works-enhanced .home-work-card:not(:first-child) .work-content{
  grid-column:2 !important;
  grid-row:1 !important;
  min-height:0 !important;
  padding:18px 18px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.home-works-enhanced .home-work-card:not(:first-child) .work-content::before{
  margin-bottom:8px !important;
  font-size:10px !important;
  padding:5px 8px !important;
}

.home-works-enhanced .home-work-card:not(:first-child) h3{
  font-size:18px !important;
  line-height:1.06 !important;
  margin:0 0 8px !important;
}

.home-works-enhanced .home-work-card:not(:first-child) p{
  font-size:13px !important;
  line-height:1.42 !important;
  max-width:26ch !important;
}

.home-works-enhanced .home-work-card:not(:first-child) .work-cta{
  margin-top:10px !important;
  padding:10px 13px !important;
  font-size:11px !important;
}

/* aprovecha mejor el ancho y baja sensación de columna larga */
.home-works-enhanced .home-work-card .work-content{
  box-sizing:border-box !important;
}

/* TABLET */
@media (max-width:1180px){
  .home-works-enhanced{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-areas:
      "featured featured"
      "slim vehicle"
      "stand stand" !important;
  }

  .home-works-enhanced .home-work-card:first-child{
    min-height:390px !important;
  }

  .home-works-enhanced .home-work-card:first-child::before{
    height:220px !important;
    min-height:220px !important;
  }

  .home-works-enhanced .home-work-card:first-child::after{
    height:220px !important;
  }
}

/* MÓVIL */
@media (max-width:760px){
  .home-works-enhanced{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "featured"
      "slim"
      "vehicle"
      "stand" !important;
  }

  .home-works-enhanced .home-work-card,
  .home-works-enhanced .home-work-card:first-child,
  .home-works-enhanced .home-work-card:not(:first-child){
    display:flex !important;
    flex-direction:column !important;
    min-height:auto !important;
  }

  .home-works-enhanced .home-work-card::before,
  .home-works-enhanced .home-work-card:first-child::before,
  .home-works-enhanced .home-work-card:not(:first-child)::before{
    height:210px !important;
    min-height:210px !important;
    width:100% !important;
  }

  .home-works-enhanced .home-work-card::after,
  .home-works-enhanced .home-work-card:first-child::after,
  .home-works-enhanced .home-work-card:not(:first-child)::after{
    width:100% !important;
    height:210px !important;
  }

  .home-works-enhanced .home-work-card .work-content{
    padding:18px !important;
  }
}

/* =========================================================
   PUBLISMART FIX FINAL TRABAJOS HOME DESKTOP
   Corrige tarjetas comprimidas / usa ancho completo
   ========================================================= */

.home-works-enhanced{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:24px !important;
  width:100% !important;
  max-width:100% !important;
  align-items:stretch !important;
}

/* reset total de tarjetas de trabajos */
.home-works-enhanced .home-work-card{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #ededed !important;
  box-shadow:0 18px 42px rgba(0,0,0,.08) !important;
  color:#111 !important;
}

/* tarjeta principal horizontal grande */
.home-works-enhanced .home-work-card:first-child{
  grid-column:1 / -1 !important;
  min-height:330px !important;
}

/* foto de tarjeta principal a la izquierda */
.home-works-enhanced .home-work-card:first-child::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  bottom:0 !important;
  width:58% !important;
  height:auto !important;
  background-image:var(--work-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  z-index:0 !important;
  transform:none !important;
  transition:transform .55s ease !important;
}

/* overlay rojo sobre foto principal */
.home-works-enhanced .home-work-card:first-child::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  bottom:0 !important;
  width:58% !important;
  height:auto !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg, rgba(237,0,0,.42), rgba(237,0,0,0) 70%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.34)) !important;
  transform:none !important;
  pointer-events:none !important;
}

/* contenido tarjeta principal a la derecha */
.home-works-enhanced .home-work-card:first-child .work-content{
  position:relative !important;
  z-index:3 !important;
  margin-left:58% !important;
  min-height:330px !important;
  padding:42px 42px !important;
  background:#fff !important;
  border-left:5px solid #ed0000 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

/* tarjetas secundarias: 3 columnas limpias */
.home-works-enhanced .home-work-card:not(:first-child){
  min-height:360px !important;
}

/* foto arriba secundaria */
.home-works-enhanced .home-work-card:not(:first-child)::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:190px !important;
  width:100% !important;
  background-image:var(--work-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  z-index:0 !important;
  transform:none !important;
  transition:transform .55s ease !important;
}

/* overlay rojo/foto secundaria */
.home-works-enhanced .home-work-card:not(:first-child)::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:190px !important;
  width:100% !important;
  background:
    linear-gradient(90deg, rgba(237,0,0,.38), rgba(237,0,0,0) 70%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.32)) !important;
  z-index:1 !important;
  transform:none !important;
  pointer-events:none !important;
}

/* contenido secundario abajo */
.home-works-enhanced .home-work-card:not(:first-child) .work-content{
  position:relative !important;
  z-index:3 !important;
  margin-top:190px !important;
  min-height:170px !important;
  padding:22px 22px 24px !important;
  background:#fff !important;
  border-top:5px solid #ed0000 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}

/* textos consistentes */
.home-works-enhanced .home-work-card .work-content::before{
  content:"Proyecto destacado" !important;
  display:inline-flex !important;
  width:max-content !important;
  margin:0 0 12px 0 !important;
  padding:6px 10px !important;
  background:#111 !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.home-works-enhanced .home-work-card h3{
  margin:0 0 10px !important;
  color:#111 !important;
  font-size:26px !important;
  line-height:1.04 !important;
  letter-spacing:-.5px !important;
}

.home-works-enhanced .home-work-card:first-child h3{
  font-size:38px !important;
}

.home-works-enhanced .home-work-card p{
  margin:0 !important;
  color:#444 !important;
  font-size:14px !important;
  line-height:1.45 !important;
  max-width:34ch !important;
}

.home-works-enhanced .home-work-card .work-cta{
  margin-top:18px !important;
  display:inline-flex !important;
  width:max-content !important;
  padding:11px 15px !important;
  background:#ed0000 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
}

/* hover rojo entrando desde lado, sin deformar layout */
.home-works-enhanced .home-work-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 26px 56px rgba(0,0,0,.13) !important;
}

.home-works-enhanced .home-work-card:hover::before{
  transform:scale(1.045) !important;
}

.home-works-enhanced .home-work-card:hover .work-cta{
  background:#111 !important;
  color:#fff !important;
}

/* tablet */
@media(max-width:1100px){
  .home-works-enhanced{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }

  .home-works-enhanced .home-work-card:first-child{
    grid-column:1 / -1 !important;
  }
}

/* móvil */
@media(max-width:760px){
  .home-works-enhanced{
    grid-template-columns:1fr !important;
  }

  .home-works-enhanced .home-work-card:first-child,
  .home-works-enhanced .home-work-card:not(:first-child){
    min-height:auto !important;
  }

  .home-works-enhanced .home-work-card:first-child::before,
  .home-works-enhanced .home-work-card:first-child::after,
  .home-works-enhanced .home-work-card:not(:first-child)::before,
  .home-works-enhanced .home-work-card:not(:first-child)::after{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:210px !important;
  }

  .home-works-enhanced .home-work-card:first-child .work-content,
  .home-works-enhanced .home-work-card:not(:first-child) .work-content{
    margin-left:0 !important;
    margin-top:210px !important;
    min-height:auto !important;
    padding:22px !important;
    border-left:0 !important;
    border-top:5px solid #ed0000 !important;
  }

  .home-works-enhanced .home-work-card:first-child h3{
    font-size:28px !important;
  }
}

/* =========================================================
   PUBLISMART OVERRIDE FINAL TRABAJOS HOME LIMPIO
   Mata conflictos anteriores solo en .home-works-enhanced
   ========================================================= */

#trabajos .home-works-enhanced{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  grid-template-areas:none !important;
  gap:24px !important;
  width:100% !important;
  max-width:100% !important;
  margin-top:34px !important;
  align-items:stretch !important;
}

/* todas las tarjetas iguales, nada de masonry roto */
#trabajos .home-works-enhanced .home-work-card,
#trabajos .home-works-enhanced .home-work-card:first-child,
#trabajos .home-works-enhanced .home-work-card:not(:first-child){
  grid-area:auto !important;
  grid-column:auto !important;
  display:block !important;
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:230px !important;
  height:230px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #e8e8e8 !important;
  box-shadow:0 16px 38px rgba(0,0,0,.08) !important;
  color:#111 !important;
  transform:none !important;
}

/* foto izquierda */
#trabajos .home-works-enhanced .home-work-card::before,
#trabajos .home-works-enhanced .home-work-card:first-child::before,
#trabajos .home-works-enhanced .home-work-card:not(:first-child)::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:auto !important;
  bottom:0 !important;
  width:46% !important;
  height:100% !important;
  min-height:0 !important;
  background-image:var(--work-photo) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  z-index:0 !important;
  transform:scale(1.01) !important;
  filter:saturate(1.05) contrast(1.03) brightness(.96) !important;
  transition:transform .55s ease, filter .55s ease !important;
}

/* overlay rojo solo sobre foto, entra en hover */
#trabajos .home-works-enhanced .home-work-card::after,
#trabajos .home-works-enhanced .home-work-card:first-child::after,
#trabajos .home-works-enhanced .home-work-card:not(:first-child)::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:auto !important;
  bottom:0 !important;
  width:46% !important;
  height:100% !important;
  min-height:0 !important;
  background:
    linear-gradient(90deg, rgba(237,0,0,.72), rgba(237,0,0,.12) 72%, rgba(237,0,0,0)) !important;
  z-index:1 !important;
  transform:translateX(-105%) !important;
  transition:transform .42s ease !important;
  pointer-events:none !important;
}

/* panel de texto derecha */
#trabajos .home-works-enhanced .home-work-card .work-content,
#trabajos .home-works-enhanced .home-work-card:first-child .work-content,
#trabajos .home-works-enhanced .home-work-card:not(:first-child) .work-content{
  position:relative !important;
  z-index:3 !important;
  margin:0 0 0 46% !important;
  width:54% !important;
  max-width:none !important;
  min-height:230px !important;
  height:230px !important;
  padding:24px 24px 22px !important;
  background:#fff !important;
  border-left:5px solid #ed0000 !important;
  border-top:0 !important;
  border-right:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}

/* etiqueta */
#trabajos .home-works-enhanced .home-work-card .work-content::before{
  content:"Proyecto destacado" !important;
  display:inline-flex !important;
  width:max-content !important;
  margin:0 0 12px 0 !important;
  padding:6px 10px !important;
  background:#111 !important;
  color:#fff !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

/* texto */
#trabajos .home-works-enhanced .home-work-card h3,
#trabajos .home-works-enhanced .home-work-card:first-child h3,
#trabajos .home-works-enhanced .home-work-card:not(:first-child) h3{
  margin:0 0 10px !important;
  color:#111 !important;
  font-size:25px !important;
  line-height:1.05 !important;
  letter-spacing:-.5px !important;
}

#trabajos .home-works-enhanced .home-work-card p,
#trabajos .home-works-enhanced .home-work-card:first-child p,
#trabajos .home-works-enhanced .home-work-card:not(:first-child) p{
  margin:0 !important;
  color:#444 !important;
  font-size:14px !important;
  line-height:1.42 !important;
  max-width:30ch !important;
}

/* botón */
#trabajos .home-works-enhanced .home-work-card .work-cta,
#trabajos .home-works-enhanced .home-work-card:first-child .work-cta,
#trabajos .home-works-enhanced .home-work-card:not(:first-child) .work-cta{
  margin-top:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  padding:10px 14px !important;
  background:#ed0000 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  border:0 !important;
  box-shadow:none !important;
}

/* hover limpio */
#trabajos .home-works-enhanced .home-work-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 24px 54px rgba(0,0,0,.14) !important;
}

#trabajos .home-works-enhanced .home-work-card:hover::before{
  transform:scale(1.06) !important;
  filter:saturate(1.12) contrast(1.05) brightness(1) !important;
}

#trabajos .home-works-enhanced .home-work-card:hover::after{
  transform:translateX(0) !important;
}

#trabajos .home-works-enhanced .home-work-card:hover h3{
  color:#b50000 !important;
}

#trabajos .home-works-enhanced .home-work-card:hover .work-cta{
  background:#111 !important;
  color:#fff !important;
}

/* desktop ancho: usa más espacio sin romper */
@media(min-width:1200px){
  #trabajos .home-works-enhanced{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

/* tablet */
@media(max-width:980px){
  #trabajos .home-works-enhanced{
    grid-template-columns:1fr !important;
  }

  #trabajos .home-works-enhanced .home-work-card,
  #trabajos .home-works-enhanced .home-work-card:first-child,
  #trabajos .home-works-enhanced .home-work-card:not(:first-child){
    height:240px !important;
    min-height:240px !important;
  }

  #trabajos .home-works-enhanced .home-work-card .work-content,
  #trabajos .home-works-enhanced .home-work-card:first-child .work-content,
  #trabajos .home-works-enhanced .home-work-card:not(:first-child) .work-content{
    height:240px !important;
    min-height:240px !important;
  }
}

/* móvil */
@media(max-width:650px){
  #trabajos .home-works-enhanced .home-work-card,
  #trabajos .home-works-enhanced .home-work-card:first-child,
  #trabajos .home-works-enhanced .home-work-card:not(:first-child){
    height:auto !important;
    min-height:auto !important;
  }

  #trabajos .home-works-enhanced .home-work-card::before,
  #trabajos .home-works-enhanced .home-work-card:first-child::before,
  #trabajos .home-works-enhanced .home-work-card:not(:first-child)::before{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:210px !important;
  }

  #trabajos .home-works-enhanced .home-work-card::after,
  #trabajos .home-works-enhanced .home-work-card:first-child::after,
  #trabajos .home-works-enhanced .home-work-card:not(:first-child)::after{
    top:0 !important;
    width:100% !important;
    height:210px !important;
  }

  #trabajos .home-works-enhanced .home-work-card .work-content,
  #trabajos .home-works-enhanced .home-work-card:first-child .work-content,
  #trabajos .home-works-enhanced .home-work-card:not(:first-child) .work-content{
    margin:0 !important;
    width:100% !important;
    height:auto !important;
    min-height:auto !important;
    padding:22px !important;
    border-left:0 !important;
    border-top:5px solid #ed0000 !important;
  }
}

/* =========================================================
   PUBLISMART - CTA LATERAL EN TRABAJOS HOME
   Solo agrega botones a la derecha de los 4 cuadros
   ========================================================= */

#trabajos{
  position:relative !important;
}

#trabajos .home-works-side-cta{
  position:absolute !important;
  right:24px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  z-index:30 !important;
  align-items:stretch !important;
  width:210px !important;
}

#trabajos .home-works-side-cta a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:50px !important;
  padding:14px 18px !important;
  text-decoration:none !important;
  font-weight:800 !important;
  font-size:14px !important;
  line-height:1.1 !important;
  border:none !important;
  box-shadow:0 14px 30px rgba(0,0,0,.14) !important;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}

#trabajos .home-works-side-cta .works-agent-btn{
  background:#111 !important;
  color:#fff !important;
}

#trabajos .home-works-side-cta .works-wa-btn{
  background:#ed0000 !important;
  color:#fff !important;
}

#trabajos .home-works-side-cta a:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 36px rgba(0,0,0,.18) !important;
}

#trabajos .home-works-side-cta .works-agent-btn:hover{
  background:#000 !important;
}

#trabajos .home-works-side-cta .works-wa-btn:hover{
  background:#c90000 !important;
}

/* si la pantalla no da tanto ancho, baja debajo de los cuadros */
@media (max-width: 1380px){
  #trabajos .home-works-side-cta{
    position:static !important;
    transform:none !important;
    margin-top:24px !important;
    width:100% !important;
    flex-direction:row !important;
    justify-content:flex-start !important;
  }

  #trabajos .home-works-side-cta a{
    min-width:220px !important;
  }
}

/* movil */
@media (max-width: 768px){
  #trabajos .home-works-side-cta{
    flex-direction:column !important;
  }

  #trabajos .home-works-side-cta a{
    width:100% !important;
    min-width:0 !important;
  }
}

/* =========================================================
   PUBLISMART PATCH SOBRE NOSOTROS COMO PAGINA
   ========================================================= */

.about-home-preview .about-preview-btn{
  margin-top:22px;
}

.about-page-hero{
  position:relative;
  overflow:hidden;
  background:#111;
  color:#fff;
}

.about-page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.56)),
    url('/assets/img/original-activo/SERVICIO-DE-GRUA.jpg') center/cover no-repeat;
  z-index:0;
}

.about-page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 82% 44%, rgba(237,0,0,.35), transparent 36%);
  z-index:1;
}

.about-page-hero .container{
  position:relative;
  z-index:2;
}

.about-page-hero h1,
.about-page-hero p{
  color:#fff;
}

.about-page-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}

.about-page-copy p{
  color:#555;
  line-height:1.75;
}

.about-page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.about-page-photo-stack{
  position:relative;
  min-height:460px;
}

.about-page-photo-main,
.about-page-photo-small{
  margin:0;
  overflow:hidden;
  background:#111;
  box-shadow:0 24px 54px rgba(0,0,0,.16);
}

.about-page-photo-main{
  position:absolute;
  inset:0 80px 70px 0;
  border-left:5px solid #ed0000;
}

.about-page-photo-small{
  position:absolute;
  right:0;
  bottom:0;
  width:48%;
  height:230px;
  border-top:5px solid #ed0000;
}

.about-page-photo-main img,
.about-page-photo-small img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .7s ease;
}

.about-page-photo-stack:hover img{
  transform:scale(1.05);
}

.about-stat-strip-page{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.about-page-values{
  background:#f4f4f4;
}

.values-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:30px;
}

.values-grid article{
  background:#fff;
  padding:28px 24px;
  border:1px solid #e8e8e8;
  border-bottom:4px solid #ed0000;
  box-shadow:0 14px 28px rgba(0,0,0,.06);
  transition:transform .22s ease, box-shadow .22s ease;
}

.values-grid article:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,.10);
}

.values-grid span{
  color:#ed0000;
  font-weight:900;
  font-size:13px;
}

.values-grid h3{
  margin:12px 0 10px;
  color:#111;
}

.values-grid p{
  margin:0;
  color:#555;
  line-height:1.55;
}

@media(max-width:980px){
  .about-page-grid{
    grid-template-columns:1fr;
  }

  .about-page-photo-stack{
    min-height:420px;
  }

  .about-stat-strip-page,
  .values-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .about-page-photo-main,
  .about-page-photo-small{
    position:relative;
    inset:auto;
    width:100%;
    height:260px;
  }

  .about-page-photo-stack{
    min-height:auto;
    display:grid;
    gap:16px;
  }

  .about-stat-strip-page,
  .values-grid{
    grid-template-columns:1fr;
  }
}

/* Evita que el bloque visual viejo de Sobre Nosotros se muestre en el home */
#nosotros .about-enhanced-media{
  display:none !important;
}

/* =========================================================
   PUBLISMART FIX CSS SOBRE NOSOTROS PAGINA
   Limpia bloque viejo, header y acomodo general
   ========================================================= */

/* ocultar bloque viejo inyectado por JS en cualquier página */
.about-enhanced-media{
  display:none !important;
}

/* HEADER/NAV EN PAGINAS INTERNAS */
.site-header{
  background:#fff !important;
  z-index:999 !important;
}

.site-header .nav-wrap{
  min-height:72px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}

.site-header .brand{
  text-decoration:none !important;
  display:flex !important;
  flex-direction:column !important;
  line-height:1 !important;
}

.site-header .main-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:22px !important;
  flex-wrap:wrap !important;
}

.site-header .main-nav a{
  color:#111 !important;
  text-decoration:none !important;
  font-weight:800 !important;
  font-size:13px !important;
  line-height:1 !important;
}

.site-header .main-nav a:hover{
  color:#ed0000 !important;
}

.site-header .nav-toggle{
  display:none !important;
}

/* HERO SOBRE NOSOTROS MÁS LIMPIO */
.about-page-hero{
  min-height:430px !important;
  padding:110px 0 90px !important;
  display:flex !important;
  align-items:center !important;
  background:#111 !important;
  color:#fff !important;
}

.about-page-hero .container{
  max-width:1180px !important;
}

.about-page-hero h1{
  max-width:780px !important;
  font-size:clamp(44px, 5vw, 72px) !important;
  line-height:.98 !important;
  letter-spacing:-2px !important;
  margin:14px 0 18px !important;
  color:#fff !important;
}

.about-page-hero p{
  max-width:640px !important;
  font-size:18px !important;
  line-height:1.55 !important;
  color:rgba(255,255,255,.92) !important;
}

.about-page-hero .eyebrow{
  color:#fff !important;
}

/* INTRO SOBRE NOSOTROS */
.about-page-intro{
  padding:86px 0 72px !important;
  background:#fff !important;
}

.about-page-grid{
  display:grid !important;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr) !important;
  gap:64px !important;
  align-items:center !important;
}

.about-page-copy h2{
  font-size:clamp(36px, 4vw, 58px) !important;
  line-height:1.02 !important;
  letter-spacing:-1.5px !important;
  margin:10px 0 22px !important;
  color:#222 !important;
}

.about-page-copy p{
  font-size:16px !important;
  line-height:1.72 !important;
  color:#555 !important;
  margin:0 0 16px !important;
}

.about-page-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
  margin-top:28px !important;
}

/* FOTOS SOBRE NOSOTROS */
.about-page-photo-stack{
  position:relative !important;
  min-height:430px !important;
}

.about-page-photo-main,
.about-page-photo-small{
  margin:0 !important;
  overflow:hidden !important;
  background:#111 !important;
  box-shadow:0 24px 54px rgba(0,0,0,.16) !important;
}

.about-page-photo-main{
  position:absolute !important;
  inset:0 90px 74px 0 !important;
  border-left:5px solid #ed0000 !important;
}

.about-page-photo-small{
  position:absolute !important;
  right:0 !important;
  bottom:0 !important;
  width:48% !important;
  height:220px !important;
  border-top:5px solid #ed0000 !important;
}

.about-page-photo-main img,
.about-page-photo-small img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

/* STATS */
.about-page-stats{
  padding:0 0 80px !important;
  background:#fff !important;
}

.about-stat-strip-page{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}

.about-stat-strip-page .about-stat{
  background:#111 !important;
  padding:20px 18px !important;
  border:0 !important;
  border-bottom:4px solid #ed0000 !important;
  box-shadow:0 14px 32px rgba(0,0,0,.10) !important;
}

.about-stat-strip-page .about-stat strong{
  color:#fff !important;
  font-size:28px !important;
}

.about-stat-strip-page .about-stat span{
  color:rgba(255,255,255,.62) !important;
}

/* VALORES */
.about-page-values{
  padding:86px 0 !important;
  background:#f4f4f4 !important;
}

.about-page-values .section-head h2{
  max-width:760px !important;
}

.values-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  margin-top:34px !important;
}

.values-grid article{
  background:#fff !important;
  padding:28px 24px !important;
  border:1px solid #e8e8e8 !important;
  border-bottom:4px solid #ed0000 !important;
  box-shadow:0 14px 28px rgba(0,0,0,.06) !important;
  min-height:210px !important;
}

.values-grid article span{
  color:#ed0000 !important;
  font-weight:900 !important;
  font-size:13px !important;
}

.values-grid article h3{
  margin:14px 0 10px !important;
  color:#111 !important;
  font-size:20px !important;
}

.values-grid article p{
  margin:0 !important;
  color:#555 !important;
  line-height:1.55 !important;
}

/* CTA FINAL */
.pages-nosotros .cta,
body .cta{
  overflow:hidden !important;
}

@media(max-width:980px){
  .site-header .nav-toggle{
    display:flex !important;
  }

  .site-header .main-nav{
    display:none !important;
    width:100% !important;
    padding:18px 0 !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .site-header .main-nav.is-open{
    display:flex !important;
  }

  .about-page-grid{
    grid-template-columns:1fr !important;
  }

  .about-page-photo-stack{
    min-height:410px !important;
  }

  .about-stat-strip-page,
  .values-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:620px){
  .about-page-hero{
    min-height:auto !important;
    padding:82px 0 70px !important;
  }

  .about-page-hero h1{
    font-size:42px !important;
  }

  .about-page-photo-stack{
    min-height:auto !important;
    display:grid !important;
    gap:16px !important;
  }

  .about-page-photo-main,
  .about-page-photo-small{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:260px !important;
  }

  .about-stat-strip-page,
  .values-grid{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   PUBLISMART FIX MENU GLOBAL UNIFICADO
   Mismo header en home y páginas internas
   ========================================================= */

.site-header{
  position:sticky;
  top:0;
  z-index:9999;
  background:#fff !important;
  box-shadow:0 1px 0 rgba(0,0,0,.08);
}

.site-header .topbar{
  background:#ed0000 !important;
  color:#fff !important;
  font-size:13px !important;
}

.site-header .topbar a{
  color:#fff !important;
  text-decoration:none !important;
  font-weight:700 !important;
}

.site-header .topbar-inner{
  min-height:30px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
}

.site-header .topbar-inner > div{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
}

.site-header .nav-wrap{
  min-height:76px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
}

.site-header .brand{
  text-decoration:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  line-height:1 !important;
  flex:0 0 auto !important;
}

.site-header .brand-main{
  font-size:34px !important;
  font-weight:500 !important;
  color:#111 !important;
  letter-spacing:-1px !important;
}

.site-header .brand-main span{
  color:#ed0000 !important;
}

.site-header .brand small{
  color:#ed0000 !important;
  font-size:11px !important;
  font-weight:700 !important;
  margin-left:70px !important;
  margin-top:1px !important;
}

.site-header .main-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:24px !important;
  flex-wrap:nowrap !important;
}

.site-header .main-nav a{
  color:#111 !important;
  text-decoration:none !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.site-header .main-nav a:hover,
.site-header .main-nav a.active{
  color:#ed0000 !important;
}

.site-header .nav-toggle{
  display:none !important;
  width:40px !important;
  height:40px !important;
  align-items:center !important;
  justify-content:center !important;
  background:#111 !important;
  color:#fff !important;
  border:0 !important;
  font-size:22px !important;
  cursor:pointer !important;
}

@media(max-width:980px){
  .site-header .nav-wrap{
    flex-wrap:wrap !important;
  }

  .site-header .nav-toggle{
    display:flex !important;
  }

  .site-header .main-nav{
    display:none !important;
    width:100% !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:16px !important;
    padding:16px 0 22px !important;
  }

  .site-header .main-nav.is-open{
    display:flex !important;
  }

  .site-header .topbar-inner{
    flex-direction:column !important;
    align-items:flex-start !important;
    padding:8px 0 !important;
    gap:6px !important;
  }

  .site-header .topbar-inner > div{
    flex-wrap:wrap !important;
    gap:10px !important;
  }
}

/* =========================================================
   PUBLISMART FOOTER PROFESIONAL GLOBAL
   ========================================================= */

.footer-pro{
  background:#0f0f0f !important;
  color:#fff !important;
  padding:0 !important;
  overflow:hidden !important;
}

.footer-pro a{
  color:rgba(255,255,255,.78) !important;
  text-decoration:none !important;
  transition:color .2s ease, transform .2s ease, background .2s ease !important;
}

.footer-pro a:hover{
  color:#fff !important;
}

.footer-pro-top{
  display:grid !important;
  grid-template-columns:1.3fr .75fr .9fr 1.25fr !important;
  gap:34px !important;
  padding:64px 0 44px !important;
}

.footer-pro h3{
  color:#fff !important;
  font-size:17px !important;
  margin:0 0 18px !important;
}

.footer-pro p{
  color:rgba(255,255,255,.68) !important;
  line-height:1.6 !important;
  margin:0 0 10px !important;
}

.footer-brand-col .footer-brand{
  margin-bottom:18px !important;
}

.footer-pro .footer-brand .brand-main,
.footer-pro .footer-brand .brand-main span{
  color:#fff !important;
}

.footer-pro .footer-brand .brand-main span{
  color:#ed0000 !important;
}

.footer-pro .footer-brand small{
  color:#ed0000 !important;
}

.footer-links-col,
.footer-services-col,
.footer-contact-col{
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
}

.footer-contact-col p{
  font-size:14px !important;
}

.footer-contact-col strong{
  color:#fff !important;
}

.footer-socials{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:22px !important;
}

.footer-socials a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:10px 14px !important;
  background:#1b1b1b !important;
  border:1px solid rgba(255,255,255,.08) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
}

.footer-socials a:hover{
  background:#ed0000 !important;
  transform:translateY(-2px) !important;
}

.footer-newsletter{
  display:grid !important;
  grid-template-columns:1.1fr .9fr !important;
  gap:30px !important;
  align-items:center !important;
  padding:34px 36px !important;
  background:
    linear-gradient(135deg, rgba(237,0,0,.95), rgba(150,0,0,.95)),
    radial-gradient(circle at right, rgba(255,255,255,.16), transparent 36%) !important;
  margin-bottom:0 !important;
}

.footer-newsletter .eyebrow{
  color:#fff !important;
}

.footer-newsletter h3{
  color:#fff !important;
  font-size:28px !important;
  line-height:1.1 !important;
  margin:8px 0 8px !important;
}

.footer-newsletter p{
  color:rgba(255,255,255,.86) !important;
  margin:0 !important;
}

.newsletter-form{
  display:flex !important;
  gap:10px !important;
  width:100% !important;
}

.newsletter-form input{
  flex:1 !important;
  min-height:52px !important;
  border:0 !important;
  padding:0 16px !important;
  background:#fff !important;
  color:#111 !important;
  font-weight:700 !important;
  outline:none !important;
}

.newsletter-form button{
  min-height:52px !important;
  border:0 !important;
  padding:0 20px !important;
  background:#111 !important;
  color:#fff !important;
  font-weight:900 !important;
  cursor:pointer !important;
}

.newsletter-form button:hover{
  background:#000 !important;
}

.footer-bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:22px 0 !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

.footer-bottom p{
  margin:0 !important;
  font-size:13px !important;
}

.footer-bottom div{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:16px !important;
}

.footer-bottom a{
  font-size:13px !important;
  font-weight:900 !important;
}

@media(max-width:1050px){
  .footer-pro-top{
    grid-template-columns:1fr 1fr !important;
  }

  .footer-newsletter{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:680px){
  .footer-pro-top{
    grid-template-columns:1fr !important;
    padding:46px 0 34px !important;
  }

  .footer-newsletter{
    padding:28px 22px !important;
  }

  .newsletter-form{
    flex-direction:column !important;
  }

  .newsletter-form input,
  .newsletter-form button{
    width:100% !important;
  }

  .footer-bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
}

/* =========================================================
   PUBLISMART FOOTER COMPACTO 5 COLUMNAS
   ========================================================= */

.footer-pro{
  background:#0b0b0b !important;
  color:#fff !important;
  overflow:hidden !important;
}

.footer-pro-top{
  display:grid !important;
  grid-template-columns:1.1fr .7fr .8fr 1fr 1fr !important;
  gap:24px !important;
  padding:42px 0 24px !important;
  align-items:start !important;
}

.footer-pro h3{
  color:#fff !important;
  font-size:15px !important;
  margin:0 0 12px !important;
}

.footer-pro p{
  color:rgba(255,255,255,.72) !important;
  font-size:13px !important;
  line-height:1.5 !important;
  margin:0 0 8px !important;
}

.footer-links-col,
.footer-services-col,
.footer-info-col,
.footer-contact-col{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}

.footer-links-col a,
.footer-services-col a,
.footer-contact-col a{
  font-size:13px !important;
  color:rgba(255,255,255,.8) !important;
  text-decoration:none !important;
}

.footer-links-col a:hover,
.footer-services-col a:hover,
.footer-contact-col a:hover{
  color:#fff !important;
}

.footer-brand-col .footer-brand{
  margin-bottom:14px !important;
}

.footer-socials{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:14px !important;
}

.footer-socials a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:32px !important;
  padding:7px 11px !important;
  background:#1b1b1b !important;
  border:1px solid rgba(255,255,255,.08) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

.footer-socials a:hover{
  background:#ed0000 !important;
}

.footer-info-col strong,
.footer-contact-col strong{
  color:#fff !important;
}

.footer-mini-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  padding:0 14px !important;
  background:#ed0000 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-decoration:none !important;
  margin-top:6px !important;
  width:fit-content !important;
}

.footer-mini-cta:hover{
  background:#ff2020 !important;
}

.footer-mini-cta-dark{
  background:#1a1a1a !important;
}

.footer-mini-cta-dark:hover{
  background:#2a2a2a !important;
}

.footer-newsletter{
  display:grid !important;
  grid-template-columns:1.15fr .85fr !important;
  gap:18px !important;
  align-items:center !important;
  padding:20px 24px !important;
  background:linear-gradient(135deg,#e10000,#b30000) !important;
  margin-top:4px !important;
}

.footer-newsletter h3{
  font-size:22px !important;
  line-height:1.1 !important;
  margin:4px 0 6px !important;
  color:#fff !important;
}

.footer-newsletter p{
  color:rgba(255,255,255,.88) !important;
  font-size:13px !important;
  margin:0 !important;
}

.newsletter-form{
  display:flex !important;
  gap:8px !important;
  width:100% !important;
}

.newsletter-form input{
  flex:1 !important;
  min-height:44px !important;
  border:0 !important;
  padding:0 14px !important;
  background:#fff !important;
  color:#111 !important;
  outline:none !important;
  font-size:13px !important;
}

.newsletter-form button{
  min-height:44px !important;
  border:0 !important;
  padding:0 18px !important;
  background:#111 !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}

.footer-bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:14px 0 16px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

.footer-bottom p{
  margin:0 !important;
  font-size:12px !important;
}

.footer-bottom div{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
}

.footer-bottom a{
  font-size:12px !important;
  font-weight:900 !important;
  color:#fff !important;
  text-decoration:none !important;
}

@media(max-width:1150px){
  .footer-pro-top{
    grid-template-columns:1fr 1fr 1fr !important;
  }

  .footer-newsletter{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:780px){
  .footer-pro-top{
    grid-template-columns:1fr !important;
    padding:34px 0 18px !important;
    gap:18px !important;
  }

  .footer-newsletter{
    padding:18px !important;
  }

  .newsletter-form{
    flex-direction:column !important;
  }

  .newsletter-form input,
  .newsletter-form button{
    width:100% !important;
  }

  .footer-bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
}

/* =========================================================
   PUBLISMART - COLLAGE HOVER TRABAJOS HOME
   ========================================================= */

#trabajos{
  position:relative !important;
  overflow:hidden !important;
}

/* dejar espacio útil a la derecha para collage */
#trabajos .home-works-enhanced{
  max-width:720px !important;
}

/* reposicionar botones de contacto para que no peleen con collage */
#trabajos .home-works-side-cta{
  right:24px !important;
  top:auto !important;
  bottom:190px !important;
  transform:none !important;
  width:210px !important;
}

/* collage del lado derecho */
#trabajos .home-work-hover-collage{
  position:absolute !important;
  right:80px !important;
  top:185px !important;
  width:360px !important;
  height:360px !important;
  z-index:18 !important;
  pointer-events:none !important;
}

#trabajos .home-work-hover-collage::before{
  content:"" !important;
  position:absolute !important;
  inset:38px 28px 30px 40px !important;
  border:34px solid rgba(237,0,0,.08) !important;
  border-radius:50% !important;
  z-index:0 !important;
}

#trabajos .collage-frame{
  position:absolute !important;
  background:#fff !important;
  padding:8px !important;
  box-shadow:0 24px 52px rgba(0,0,0,.18) !important;
  overflow:hidden !important;
  z-index:2 !important;
  transition:transform .45s ease, opacity .35s ease, filter .35s ease !important;
}

#trabajos .collage-frame img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

#trabajos .collage-frame-1{
  width:230px !important;
  height:160px !important;
  right:84px !important;
  top:8px !important;
  transform:rotate(-5deg) !important;
}

#trabajos .collage-frame-2{
  width:210px !important;
  height:150px !important;
  right:0 !important;
  top:118px !important;
  transform:rotate(6deg) !important;
}

#trabajos .collage-frame-3{
  width:190px !important;
  height:138px !important;
  right:150px !important;
  top:205px !important;
  transform:rotate(-3deg) !important;
}

#trabajos .collage-caption{
  position:absolute !important;
  right:18px !important;
  bottom:-8px !important;
  width:230px !important;
  background:#111 !important;
  color:#fff !important;
  padding:16px 18px !important;
  box-shadow:0 18px 38px rgba(0,0,0,.18) !important;
  z-index:4 !important;
  border-left:5px solid #ed0000 !important;
}

#trabajos .collage-caption span{
  display:block !important;
  color:#ed0000 !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  margin-bottom:6px !important;
}

#trabajos .collage-caption strong{
  display:block !important;
  color:#fff !important;
  font-size:18px !important;
  line-height:1.15 !important;
}

/* efecto al cambiar hover */
#trabajos .home-work-hover-collage.is-changing .collage-frame-1{
  animation:collageInOne .45s ease both !important;
}

#trabajos .home-work-hover-collage.is-changing .collage-frame-2{
  animation:collageInTwo .5s ease both !important;
}

#trabajos .home-work-hover-collage.is-changing .collage-frame-3{
  animation:collageInThree .55s ease both !important;
}

@keyframes collageInOne{
  from{opacity:.25; transform:translateX(24px) translateY(-10px) rotate(-11deg) scale(.96);}
  to{opacity:1; transform:rotate(-5deg) scale(1);}
}

@keyframes collageInTwo{
  from{opacity:.25; transform:translateX(30px) rotate(12deg) scale(.96);}
  to{opacity:1; transform:rotate(6deg) scale(1);}
}

@keyframes collageInThree{
  from{opacity:.25; transform:translateX(18px) translateY(14px) rotate(-9deg) scale(.96);}
  to{opacity:1; transform:rotate(-3deg) scale(1);}
}

/* tarjeta activa cuando controla collage */
#trabajos .home-works-enhanced .home-work-card.is-collage-active{
  box-shadow:0 24px 54px rgba(237,0,0,.16) !important;
}

#trabajos .home-works-enhanced .home-work-card.is-collage-active h3{
  color:#ed0000 !important;
}

/* pantallas medianas: baja collage para no romper */
@media(max-width:1380px){
  #trabajos .home-works-enhanced{
    max-width:720px !important;
  }

  #trabajos .home-work-hover-collage{
    right:36px !important;
    width:320px !important;
    transform:scale(.92) !important;
    transform-origin:top right !important;
  }

  #trabajos .home-works-side-cta{
    right:36px !important;
    bottom:130px !important;
  }
}

/* si no cabe, ocultar collage y mantener botones abajo */
@media(max-width:1120px){
  #trabajos .home-works-enhanced{
    max-width:100% !important;
  }

  #trabajos .home-work-hover-collage{
    display:none !important;
  }

  #trabajos .home-works-side-cta{
    position:static !important;
    transform:none !important;
    margin-top:24px !important;
    width:100% !important;
  }
}

/* =========================================================
   PUBLISMART FIX ACOMODO COLLAGE TRABAJOS HOME
   Collage alineado a la par de tarjetas + botones cerca
   ========================================================= */

#trabajos{
  position:relative !important;
  overflow:hidden !important;
}

/* el bloque de tarjetas queda con ancho fijo para dejar columna derecha */
#trabajos .home-works-enhanced{
  max-width:720px !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

/* collage más ordenado, al lado de las tarjetas */
#trabajos .home-work-hover-collage{
  position:absolute !important;
  top:180px !important;
  right:84px !important;
  width:310px !important;
  height:270px !important;
  z-index:20 !important;
  pointer-events:none !important;
  transform:none !important;
}

/* círculo decorativo más suave y detrás */
#trabajos .home-work-hover-collage::before{
  content:"" !important;
  position:absolute !important;
  width:250px !important;
  height:250px !important;
  right:-24px !important;
  top:8px !important;
  border:28px solid rgba(237,0,0,.06) !important;
  border-radius:50% !important;
  z-index:0 !important;
}

/* fotos más compactas y más ordenadas */
#trabajos .collage-frame{
  position:absolute !important;
  background:#fff !important;
  padding:7px !important;
  box-shadow:0 18px 38px rgba(0,0,0,.18) !important;
  overflow:hidden !important;
  z-index:2 !important;
  transition:transform .45s ease, opacity .35s ease, filter .35s ease !important;
}

#trabajos .collage-frame-1{
  width:178px !important;
  height:122px !important;
  right:94px !important;
  top:0 !important;
  transform:rotate(-5deg) !important;
}

#trabajos .collage-frame-2{
  width:178px !important;
  height:122px !important;
  right:0 !important;
  top:74px !important;
  transform:rotate(5deg) !important;
}

#trabajos .collage-frame-3{
  width:166px !important;
  height:112px !important;
  right:120px !important;
  top:134px !important;
  transform:rotate(-3deg) !important;
}

#trabajos .collage-frame img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

/* etiqueta debajo del collage, más pequeña */
#trabajos .collage-caption{
  position:absolute !important;
  right:8px !important;
  bottom:-14px !important;
  width:210px !important;
  background:#111 !important;
  color:#fff !important;
  padding:13px 15px !important;
  box-shadow:0 16px 32px rgba(0,0,0,.18) !important;
  z-index:4 !important;
  border-left:5px solid #ed0000 !important;
}

#trabajos .collage-caption span{
  display:block !important;
  color:#ed0000 !important;
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  margin-bottom:5px !important;
}

#trabajos .collage-caption strong{
  display:block !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.14 !important;
}

/* botones más cerca, debajo del collage, alineados */
#trabajos .home-works-side-cta{
  position:absolute !important;
  right:96px !important;
  top:485px !important;
  bottom:auto !important;
  transform:none !important;
  width:250px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  z-index:25 !important;
}

#trabajos .home-works-side-cta a{
  min-height:44px !important;
  padding:12px 16px !important;
  font-size:13px !important;
  box-shadow:0 12px 24px rgba(0,0,0,.13) !important;
}

/* animaciones ajustadas a las nuevas rotaciones */
@keyframes collageInOne{
  from{opacity:.25; transform:translateX(20px) translateY(-8px) rotate(-11deg) scale(.96);}
  to{opacity:1; transform:rotate(-5deg) scale(1);}
}

@keyframes collageInTwo{
  from{opacity:.25; transform:translateX(24px) rotate(11deg) scale(.96);}
  to{opacity:1; transform:rotate(5deg) scale(1);}
}

@keyframes collageInThree{
  from{opacity:.25; transform:translateX(16px) translateY(12px) rotate(-9deg) scale(.96);}
  to{opacity:1; transform:rotate(-3deg) scale(1);}
}

/* en pantallas medianas se mantiene a la derecha pero más pequeño */
@media(max-width:1380px){
  #trabajos .home-works-enhanced{
    max-width:700px !important;
  }

  #trabajos .home-work-hover-collage{
    right:54px !important;
    top:180px !important;
    transform:scale(.92) !important;
    transform-origin:top right !important;
  }

  #trabajos .home-works-side-cta{
    right:68px !important;
    top:455px !important;
    width:230px !important;
  }
}

/* si ya no cabe, se baja ordenado debajo */
@media(max-width:1120px){
  #trabajos .home-works-enhanced{
    max-width:100% !important;
  }

  #trabajos .home-work-hover-collage{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    width:320px !important;
    height:270px !important;
    margin:32px auto 24px !important;
    display:block !important;
    transform:none !important;
  }

  #trabajos .home-works-side-cta{
    position:static !important;
    width:100% !important;
    max-width:360px !important;
    margin:0 auto !important;
  }
}

/* móvil: ocultar collage para no saturar */
@media(max-width:720px){
  #trabajos .home-work-hover-collage{
    display:none !important;
  }

  #trabajos .home-works-side-cta{
    max-width:100% !important;
    margin-top:22px !important;
  }
}

/* =========================================================
   PUBLISMART AJUSTE FINO COLLAGE TRABAJOS
   Baja collage, ordena botones y evita que se monte
   ========================================================= */

#trabajos .home-works-enhanced{
  max-width:720px !important;
}

#trabajos .home-work-hover-collage{
  top:220px !important;
  right:92px !important;
  width:300px !important;
  height:255px !important;
}

#trabajos .collage-frame-1{
  width:170px !important;
  height:112px !important;
  right:94px !important;
  top:0 !important;
}

#trabajos .collage-frame-2{
  width:172px !important;
  height:112px !important;
  right:0 !important;
  top:72px !important;
}

#trabajos .collage-frame-3{
  width:158px !important;
  height:105px !important;
  right:118px !important;
  top:128px !important;
}

#trabajos .collage-caption{
  right:12px !important;
  bottom:-20px !important;
  width:200px !important;
  padding:12px 14px !important;
}

/* botones ya no montados: van más abajo y alineados al collage */
#trabajos .home-works-side-cta{
  right:104px !important;
  top:520px !important;
  width:235px !important;
  gap:9px !important;
}

#trabajos .home-works-side-cta a{
  min-height:42px !important;
  padding:11px 14px !important;
  font-size:12px !important;
}

/* bajar un poco toda la sección visual para que respire */
#trabajos{
  padding-bottom:90px !important;
}

/* hover menos agresivo para que no ensucie */
#trabajos .home-works-enhanced .home-work-card:hover::after{
  opacity:.85 !important;
}

@media(max-width:1380px){
  #trabajos .home-work-hover-collage{
    right:62px !important;
    top:218px !important;
    transform:scale(.9) !important;
    transform-origin:top right !important;
  }

  #trabajos .home-works-side-cta{
    right:76px !important;
    top:490px !important;
    width:225px !important;
  }
}

@media(max-width:1120px){
  #trabajos .home-work-hover-collage{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    margin:32px auto 24px !important;
    transform:none !important;
  }

  #trabajos .home-works-side-cta{
    position:static !important;
    margin:0 auto !important;
    width:100% !important;
    max-width:340px !important;
  }
}

/* =========================================================
   PUBLISMART - TRABAJOS HOME CLEAN FINAL
   Reconstrucción limpia: tarjetas izquierda + collage derecha
   ========================================================= */

#trabajos.trabajos-home-clean{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 85% 20%, rgba(237,0,0,.10), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f6f6f6 100%) !important;
}

#trabajos.trabajos-home-clean .trabajos-clean-layout{
  display:grid !important;
  grid-template-columns:minmax(0, .95fr) minmax(360px, .75fr) !important;
  gap:34px !important;
  align-items:center !important;
  margin-top:30px !important;
}

#trabajos.trabajos-home-clean .trabajos-clean-cards{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
  position:relative !important;
  z-index:2 !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card{
  min-height:172px !important;
  display:flex !important;
  gap:16px !important;
  align-items:flex-start !important;
  padding:22px !important;
  border-radius:24px !important;
  color:#fff !important;
  text-decoration:none !important;
  position:relative !important;
  overflow:hidden !important;
  background:
    linear-gradient(135deg, rgba(0,0,0,.62), rgba(0,0,0,.84)),
    #111 !important;
  box-shadow:0 18px 42px rgba(0,0,0,.16) !important;
  transform:none !important;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card::before,
#trabajos.trabajos-home-clean .trabajo-clean-card::after{
  content:none !important;
  display:none !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card span{
  flex:0 0 auto !important;
  width:42px !important;
  height:42px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:14px !important;
  background:#ED0000 !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:.88rem !important;
  box-shadow:0 12px 24px rgba(237,0,0,.28) !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card h3{
  margin:0 0 8px !important;
  color:#fff !important;
  font-size:1.12rem !important;
  line-height:1.15 !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card p{
  margin:0 0 14px !important;
  color:rgba(255,255,255,.78) !important;
  font-size:.92rem !important;
  line-height:1.45 !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card small{
  display:inline-flex !important;
  color:#fff !important;
  font-weight:800 !important;
  font-size:.86rem !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card:hover,
#trabajos.trabajos-home-clean .trabajo-clean-card.is-active{
  transform:translateY(-4px) !important;
  background:
    linear-gradient(135deg, rgba(237,0,0,.94), rgba(17,17,17,.92)),
    #111 !important;
  box-shadow:0 24px 56px rgba(237,0,0,.20) !important;
}

#trabajos.trabajos-home-clean .trabajos-clean-side{
  display:flex !important;
  flex-direction:column !important;
  gap:20px !important;
  min-width:0 !important;
  position:relative !important;
  z-index:1 !important;
}

#trabajos.trabajos-home-clean .trabajos-clean-collage{
  min-height:430px !important;
  border-radius:34px !important;
  background:#fff !important;
  position:relative !important;
  overflow:visible !important;
  padding:28px !important;
  box-shadow:0 26px 70px rgba(0,0,0,.14) !important;
}

#trabajos.trabajos-home-clean .collage-clean-frame{
  position:absolute !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:#ddd !important;
  box-shadow:0 22px 48px rgba(0,0,0,.24) !important;
  border:6px solid #fff !important;
  transition:transform .28s ease, opacity .28s ease !important;
}

#trabajos.trabajos-home-clean .collage-clean-frame img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}

#trabajos.trabajos-home-clean .collage-clean-frame-1{
  width:68% !important;
  height:245px !important;
  top:28px !important;
  left:24px !important;
  z-index:3 !important;
  transform:rotate(-3deg) !important;
}

#trabajos.trabajos-home-clean .collage-clean-frame-2{
  width:58% !important;
  height:205px !important;
  top:120px !important;
  right:18px !important;
  z-index:2 !important;
  transform:rotate(5deg) !important;
}

#trabajos.trabajos-home-clean .collage-clean-frame-3{
  width:52% !important;
  height:170px !important;
  left:74px !important;
  bottom:42px !important;
  z-index:4 !important;
  transform:rotate(-1.5deg) !important;
}

#trabajos.trabajos-home-clean .trabajos-clean-caption{
  position:absolute !important;
  right:22px !important;
  bottom:20px !important;
  max-width:220px !important;
  padding:15px 16px !important;
  border-radius:18px !important;
  background:rgba(17,17,17,.88) !important;
  color:#fff !important;
  z-index:6 !important;
  box-shadow:0 18px 40px rgba(0,0,0,.22) !important;
}

#trabajos.trabajos-home-clean .trabajos-clean-caption span{
  display:block !important;
  color:#ED0000 !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  margin-bottom:4px !important;
}

#trabajos.trabajos-home-clean .trabajos-clean-caption strong{
  display:block !important;
  color:#fff !important;
  font-size:.95rem !important;
  line-height:1.25 !important;
}

#trabajos.trabajos-home-clean .trabajos-clean-actions{
  display:flex !important;
  justify-content:center !important;
  gap:12px !important;
  position:static !important;
  margin:0 !important;
}

#trabajos.trabajos-home-clean .trabajos-clean-actions .btn{
  min-width:160px !important;
  text-align:center !important;
}

@media (max-width: 980px){
  #trabajos.trabajos-home-clean .trabajos-clean-layout{
    grid-template-columns:1fr !important;
  }

  #trabajos.trabajos-home-clean .trabajos-clean-collage{
    max-width:620px !important;
    width:100% !important;
    margin:0 auto !important;
  }
}

@media (max-width: 680px){
  #trabajos.trabajos-home-clean .trabajos-clean-cards{
    grid-template-columns:1fr !important;
  }

  #trabajos.trabajos-home-clean .trabajo-clean-card{
    min-height:unset !important;
    padding:20px !important;
  }

  #trabajos.trabajos-home-clean .trabajos-clean-collage{
    min-height:370px !important;
    padding:18px !important;
  }

  #trabajos.trabajos-home-clean .collage-clean-frame-1{
    width:72% !important;
    height:205px !important;
    top:22px !important;
    left:10px !important;
  }

  #trabajos.trabajos-home-clean .collage-clean-frame-2{
    width:62% !important;
    height:175px !important;
    top:115px !important;
    right:4px !important;
  }

  #trabajos.trabajos-home-clean .collage-clean-frame-3{
    width:58% !important;
    height:145px !important;
    left:34px !important;
    bottom:38px !important;
  }

  #trabajos.trabajos-home-clean .trabajos-clean-actions{
    flex-direction:column !important;
  }

  #trabajos.trabajos-home-clean .trabajos-clean-actions .btn{
    width:100% !important;
  }
}

/* =========================================================
   PUBLISMART - FIX TARJETAS TRABAJOS
   Mantiene tarjetas tipo foto/fondo + collage lateral
   ========================================================= */

#trabajos.trabajos-home-clean .trabajos-clean-layout{
  grid-template-columns:minmax(0, 1.05fr) minmax(360px, .72fr) !important;
  gap:34px !important;
  align-items:center !important;
}

#trabajos.trabajos-home-clean .trabajos-clean-cards{
  grid-template-columns:1.08fr .92fr !important;
  grid-auto-rows:190px !important;
  gap:18px !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card{
  min-height:190px !important;
  height:190px !important;
  align-items:flex-end !important;
  padding:22px !important;
  border-radius:24px !important;
  isolation:isolate !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.38) 38%, rgba(0,0,0,.88) 100%),
    var(--work-photo) center/cover no-repeat !important;
  box-shadow:0 18px 44px rgba(0,0,0,.18) !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  background:linear-gradient(135deg, rgba(237,0,0,.55), transparent 46%) !important;
  opacity:.42 !important;
  transition:opacity .25s ease !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background:rgba(0,0,0,.15) !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card:nth-child(1){
  grid-row:span 2 !important;
  height:398px !important;
  min-height:398px !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card span{
  position:absolute !important;
  top:18px !important;
  left:18px !important;
  width:42px !important;
  height:42px !important;
  border-radius:14px !important;
  background:#ED0000 !important;
  color:#fff !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card > div{
  position:relative !important;
  z-index:2 !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card h3{
  color:#fff !important;
  font-size:1.15rem !important;
  text-shadow:0 3px 14px rgba(0,0,0,.45) !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card p{
  color:rgba(255,255,255,.84) !important;
  max-width:340px !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card small{
  color:#fff !important;
  font-weight:900 !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card:hover,
#trabajos.trabajos-home-clean .trabajo-clean-card.is-active{
  transform:translateY(-5px) !important;
  box-shadow:0 26px 62px rgba(0,0,0,.24) !important;
}

#trabajos.trabajos-home-clean .trabajo-clean-card:hover::before,
#trabajos.trabajos-home-clean .trabajo-clean-card.is-active::before{
  opacity:.78 !important;
}

@media (max-width: 980px){
  #trabajos.trabajos-home-clean .trabajos-clean-cards{
    grid-template-columns:1fr 1fr !important;
    grid-auto-rows:190px !important;
  }

  #trabajos.trabajos-home-clean .trabajo-clean-card:nth-child(1){
    grid-row:auto !important;
    height:190px !important;
    min-height:190px !important;
  }
}

@media (max-width: 680px){
  #trabajos.trabajos-home-clean .trabajos-clean-cards{
    grid-template-columns:1fr !important;
    grid-auto-rows:auto !important;
  }

  #trabajos.trabajos-home-clean .trabajo-clean-card,
  #trabajos.trabajos-home-clean .trabajo-clean-card:nth-child(1){
    height:230px !important;
    min-height:230px !important;
  }
}

/* =========================================================
   PUBLISMART - TRABAJOS HOME ORIGINAL CARDS FINAL
   Usa tarjetas .portfolio-item originales tal cual
   ========================================================= */

#trabajos.trabajos-home-original-cards .trabajos-clean-layout{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(360px, .72fr) !important;
  gap:34px !important;
  align-items:center !important;
  margin-top:30px !important;
}

#trabajos.trabajos-home-original-cards .portfolio-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:18px !important;
  margin:0 !important;
  width:100% !important;
}

#trabajos.trabajos-home-original-cards .portfolio-item,
#trabajos.trabajos-home-original-cards .portfolio-item--photo{
  min-height:220px !important;
}

#trabajos.trabajos-home-original-cards .portfolio-item:nth-child(1){
  min-height:220px !important;
}

#trabajos.trabajos-home-original-cards .trabajos-clean-side{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  position:relative !important;
  z-index:2 !important;
}

#trabajos.trabajos-home-original-cards .trabajos-clean-collage{
  min-height:430px !important;
  border-radius:34px !important;
  background:#fff !important;
  position:relative !important;
  overflow:visible !important;
  padding:28px !important;
  box-shadow:0 26px 70px rgba(0,0,0,.14) !important;
}

#trabajos.trabajos-home-original-cards .collage-clean-frame{
  position:absolute !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:#ddd !important;
  box-shadow:0 22px 48px rgba(0,0,0,.24) !important;
  border:6px solid #fff !important;
  transition:transform .28s ease, opacity .28s ease !important;
}

#trabajos.trabajos-home-original-cards .collage-clean-frame img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}

#trabajos.trabajos-home-original-cards .collage-clean-frame-1{
  width:68% !important;
  height:245px !important;
  top:28px !important;
  left:24px !important;
  z-index:3 !important;
  transform:rotate(-3deg) !important;
}

#trabajos.trabajos-home-original-cards .collage-clean-frame-2{
  width:58% !important;
  height:205px !important;
  top:120px !important;
  right:18px !important;
  z-index:2 !important;
  transform:rotate(5deg) !important;
}

#trabajos.trabajos-home-original-cards .collage-clean-frame-3{
  width:52% !important;
  height:170px !important;
  left:74px !important;
  bottom:42px !important;
  z-index:4 !important;
  transform:rotate(-1.5deg) !important;
}

#trabajos.trabajos-home-original-cards .trabajos-clean-caption{
  position:absolute !important;
  right:22px !important;
  bottom:20px !important;
  max-width:220px !important;
  padding:15px 16px !important;
  border-radius:18px !important;
  background:rgba(17,17,17,.88) !important;
  color:#fff !important;
  z-index:6 !important;
  box-shadow:0 18px 40px rgba(0,0,0,.22) !important;
}

#trabajos.trabajos-home-original-cards .trabajos-clean-caption span{
  display:block !important;
  color:#ED0000 !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  margin-bottom:4px !important;
}

#trabajos.trabajos-home-original-cards .trabajos-clean-caption strong{
  display:block !important;
  color:#fff !important;
  font-size:.95rem !important;
  line-height:1.25 !important;
}

#trabajos.trabajos-home-original-cards .trabajos-clean-actions{
  display:flex !important;
  justify-content:center !important;
  gap:12px !important;
  position:static !important;
  margin:0 !important;
}

#trabajos.trabajos-home-original-cards .trabajos-clean-actions .btn{
  min-width:160px !important;
  text-align:center !important;
}

@media (max-width: 980px){
  #trabajos.trabajos-home-original-cards .trabajos-clean-layout{
    grid-template-columns:1fr !important;
  }

  #trabajos.trabajos-home-original-cards .trabajos-clean-collage{
    max-width:620px !important;
    width:100% !important;
    margin:0 auto !important;
  }
}

@media (max-width: 680px){
  #trabajos.trabajos-home-original-cards .portfolio-grid{
    grid-template-columns:1fr !important;
  }

  #trabajos.trabajos-home-original-cards .portfolio-item,
  #trabajos.trabajos-home-original-cards .portfolio-item--photo{
    min-height:230px !important;
  }

  #trabajos.trabajos-home-original-cards .trabajos-clean-actions{
    flex-direction:column !important;
  }

  #trabajos.trabajos-home-original-cards .trabajos-clean-actions .btn{
    width:100% !important;
  }
}

/* =========================================================
   PUBLISMART RESTAURAR TARJETAS BUENAS TRABAJOS HOME
   Foto izquierda + caja blanca derecha + collage separado
   ========================================================= */

#trabajos.trabajos-restored-cards{
  background:#f3f3f3 !important;
  padding:72px 0 90px !important;
  overflow:hidden !important;
  position:relative !important;
}

#trabajos.trabajos-restored-cards .section-head{
  max-width:760px !important;
  margin-bottom:34px !important;
}

#trabajos.trabajos-restored-cards .trabajos-restored-layout{
  display:grid !important;
  grid-template-columns:720px 360px !important;
  gap:64px !important;
  align-items:center !important;
  width:100% !important;
}

/* TARJETAS BUENAS 2x2 */
#trabajos.trabajos-restored-cards .home-works-enhanced{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-areas:none !important;
  gap:24px !important;
  width:100% !important;
  max-width:720px !important;
  margin:0 !important;
  align-items:stretch !important;
}

#trabajos.trabajos-restored-cards .home-work-card,
#trabajos.trabajos-restored-cards .home-work-card:first-child,
#trabajos.trabajos-restored-cards .home-work-card:not(:first-child){
  grid-area:auto !important;
  grid-column:auto !important;
  grid-row:auto !important;
  display:block !important;
  position:relative !important;
  width:100% !important;
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #e8e8e8 !important;
  box-shadow:0 16px 36px rgba(0,0,0,.08) !important;
  color:#111 !important;
  text-decoration:none !important;
  transform:none !important;
}

/* foto izquierda */
#trabajos.trabajos-restored-cards .home-work-card::before,
#trabajos.trabajos-restored-cards .home-work-card:first-child::before,
#trabajos.trabajos-restored-cards .home-work-card:not(:first-child)::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  bottom:0 !important;
  right:auto !important;
  width:46% !important;
  height:100% !important;
  background-image:var(--work-photo) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  z-index:1 !important;
  filter:saturate(1.05) contrast(1.03) brightness(.98) !important;
  transform:none !important;
}

/* hover rojo solo encima de foto */
#trabajos.trabajos-restored-cards .home-work-card::after,
#trabajos.trabajos-restored-cards .home-work-card:first-child::after,
#trabajos.trabajos-restored-cards .home-work-card:not(:first-child)::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  bottom:0 !important;
  right:auto !important;
  width:46% !important;
  height:100% !important;
  background:linear-gradient(90deg, rgba(237,0,0,.45), rgba(237,0,0,0)) !important;
  opacity:0 !important;
  z-index:2 !important;
  transition:opacity .25s ease !important;
}

#trabajos.trabajos-restored-cards .home-work-card:hover::after,
#trabajos.trabajos-restored-cards .home-work-card.is-collage-active::after{
  opacity:1 !important;
}

/* panel blanco derecho */
#trabajos.trabajos-restored-cards .work-content,
#trabajos.trabajos-restored-cards .home-work-card:first-child .work-content,
#trabajos.trabajos-restored-cards .home-work-card:not(:first-child) .work-content{
  position:relative !important;
  z-index:5 !important;
  margin:0 0 0 46% !important;
  width:54% !important;
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  padding:24px 20px !important;
  background:#fff !important;
  border-left:5px solid #ed0000 !important;
  border-top:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}

#trabajos.trabajos-restored-cards .work-content::before{
  content:"Proyecto destacado" !important;
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 0 12px !important;
  padding:6px 9px !important;
  background:#111 !important;
  color:#fff !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}

#trabajos.trabajos-restored-cards .home-work-card h3,
#trabajos.trabajos-restored-cards .home-work-card:first-child h3,
#trabajos.trabajos-restored-cards .home-work-card:not(:first-child) h3{
  margin:0 0 10px !important;
  color:#111 !important;
  font-size:24px !important;
  line-height:1.04 !important;
  letter-spacing:-.4px !important;
}

#trabajos.trabajos-restored-cards .home-work-card p,
#trabajos.trabajos-restored-cards .home-work-card:first-child p,
#trabajos.trabajos-restored-cards .home-work-card:not(:first-child) p{
  margin:0 !important;
  color:#444 !important;
  font-size:13px !important;
  line-height:1.42 !important;
}

#trabajos.trabajos-restored-cards .work-cta,
#trabajos.trabajos-restored-cards .home-work-card:first-child .work-cta,
#trabajos.trabajos-restored-cards .home-work-card:not(:first-child) .work-cta{
  display:inline-flex !important;
  width:max-content !important;
  margin-top:16px !important;
  padding:10px 13px !important;
  background:#ed0000 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

#trabajos.trabajos-restored-cards .home-work-card:hover,
#trabajos.trabajos-restored-cards .home-work-card.is-collage-active{
  transform:translateY(-3px) !important;
  box-shadow:0 24px 50px rgba(0,0,0,.13) !important;
}

#trabajos.trabajos-restored-cards .home-work-card:hover h3,
#trabajos.trabajos-restored-cards .home-work-card.is-collage-active h3{
  color:#ed0000 !important;
}

/* COLUMNA DERECHA COLLAGE */
#trabajos.trabajos-restored-cards .home-works-side{
  position:relative !important;
  width:100% !important;
  min-height:430px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

#trabajos.trabajos-restored-cards .home-work-hover-collage{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  width:330px !important;
  height:300px !important;
  margin:0 auto 28px !important;
  z-index:10 !important;
  pointer-events:none !important;
  transform:none !important;
}

#trabajos.trabajos-restored-cards .home-work-hover-collage::before{
  content:"" !important;
  position:absolute !important;
  width:260px !important;
  height:260px !important;
  right:-10px !important;
  top:22px !important;
  border:30px solid rgba(237,0,0,.06) !important;
  border-radius:50% !important;
  z-index:0 !important;
}

#trabajos.trabajos-restored-cards .collage-frame{
  position:absolute !important;
  background:#fff !important;
  padding:7px !important;
  box-shadow:0 20px 44px rgba(0,0,0,.20) !important;
  overflow:hidden !important;
  z-index:2 !important;
}

#trabajos.trabajos-restored-cards .collage-frame img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

#trabajos.trabajos-restored-cards .collage-frame-1{
  width:178px !important;
  height:120px !important;
  top:0 !important;
  right:108px !important;
  transform:rotate(-5deg) !important;
}

#trabajos.trabajos-restored-cards .collage-frame-2{
  width:178px !important;
  height:120px !important;
  top:78px !important;
  right:0 !important;
  transform:rotate(5deg) !important;
}

#trabajos.trabajos-restored-cards .collage-frame-3{
  width:166px !important;
  height:112px !important;
  top:148px !important;
  right:132px !important;
  transform:rotate(-3deg) !important;
}

#trabajos.trabajos-restored-cards .collage-caption{
  position:absolute !important;
  right:20px !important;
  bottom:0 !important;
  width:215px !important;
  background:#111 !important;
  color:#fff !important;
  padding:14px 16px !important;
  border-left:5px solid #ed0000 !important;
  box-shadow:0 16px 34px rgba(0,0,0,.18) !important;
  z-index:5 !important;
}

#trabajos.trabajos-restored-cards .collage-caption span{
  display:block !important;
  color:#ed0000 !important;
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  margin-bottom:5px !important;
}

#trabajos.trabajos-restored-cards .collage-caption strong{
  display:block !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.14 !important;
}

/* botones debajo del collage */
#trabajos.trabajos-restored-cards .home-works-side-cta{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  transform:none !important;
  width:250px !important;
  max-width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  margin:0 auto !important;
  z-index:12 !important;
}

#trabajos.trabajos-restored-cards .home-works-side-cta a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:12px 16px !important;
  text-align:center !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-shadow:0 12px 24px rgba(0,0,0,.13) !important;
}

#trabajos.trabajos-restored-cards .works-agent-btn{
  background:#111 !important;
  color:#fff !important;
}

#trabajos.trabajos-restored-cards .works-wa-btn{
  background:#ed0000 !important;
  color:#fff !important;
}

@media(max-width:1180px){
  #trabajos.trabajos-restored-cards .trabajos-restored-layout{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }

  #trabajos.trabajos-restored-cards .home-works-enhanced{
    max-width:100% !important;
  }
}

@media(max-width:760px){
  #trabajos.trabajos-restored-cards .home-works-enhanced{
    grid-template-columns:1fr !important;
  }

  #trabajos.trabajos-restored-cards .home-work-hover-collage{
    display:none !important;
  }

  #trabajos.trabajos-restored-cards .home-works-side-cta{
    width:100% !important;
  }
}

/* =========================================================
   PUBLISMART SERVICIOS - TARJETAS CON IMAGEN + HERO SLIDER
   ========================================================= */

.page-servicios .service-hero-slider{
  position:relative !important;
  min-height:420px !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  background:#111 !important;
  color:#fff !important;
}

.page-servicios .service-hero-slider::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.58), rgba(237,0,0,.32)),
    var(--service-hero-photo, url('/assets/img/original-activo/1920x1080.jpg')) center/cover no-repeat !important;
  z-index:0 !important;
  transform:scale(1.05) !important;
  animation:serviceHeroZoom 8s ease-in-out infinite alternate !important;
}

.page-servicios .service-hero-slider::after{
  content:"" !important;
  position:absolute !important;
  width:420px !important;
  height:420px !important;
  right:-90px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  border:54px solid rgba(237,0,0,.20) !important;
  border-radius:50% !important;
  z-index:1 !important;
}

.page-servicios .service-hero-slider .container{
  position:relative !important;
  z-index:3 !important;
}

.page-servicios .service-hero-slider h1{
  max-width:760px !important;
  color:#fff !important;
  font-size:clamp(46px, 5vw, 76px) !important;
  line-height:.96 !important;
  letter-spacing:-2px !important;
}

.page-servicios .service-hero-slider p{
  max-width:650px !important;
  color:rgba(255,255,255,.9) !important;
  font-size:18px !important;
}

.page-servicios .service-hero-slider .eyebrow{
  color:#fff !important;
}

@keyframes serviceHeroZoom{
  from{transform:scale(1.05);}
  to{transform:scale(1.12);}
}

/* Grid servicios con fotos */
.page-servicios .service-link-grid-photo{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:24px !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card{
  position:relative !important;
  min-height:360px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #e7e7e7 !important;
  border-bottom:4px solid #ed0000 !important;
  box-shadow:0 16px 34px rgba(0,0,0,.06) !important;
  display:flex !important;
  flex-direction:column !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card::before{
  content:"" !important;
  display:block !important;
  width:100% !important;
  height:170px !important;
  background-image:var(--service-page-photo) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  filter:saturate(1.05) contrast(1.02) brightness(.96) !important;
  transition:transform .45s ease, filter .45s ease !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  height:170px !important;
  background:linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.38)) !important;
  z-index:1 !important;
  pointer-events:none !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card > span,
.page-servicios .service-link-grid-photo .service-page-photo-card > h3,
.page-servicios .service-link-grid-photo .service-page-photo-card > p,
.page-servicios .service-link-grid-photo .service-page-photo-card > a{
  position:relative !important;
  z-index:3 !important;
  margin-left:26px !important;
  margin-right:26px !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card > span{
  margin-top:24px !important;
  color:#ed0000 !important;
  font-size:12px !important;
  font-weight:900 !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card > h3{
  margin-top:12px !important;
  margin-bottom:12px !important;
  color:#111 !important;
  font-size:24px !important;
  line-height:1.08 !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card > p{
  color:#555 !important;
  font-size:14px !important;
  line-height:1.55 !important;
  margin-bottom:20px !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card > a{
  margin-top:auto !important;
  margin-bottom:26px !important;
  width:max-content !important;
  color:#ed0000 !important;
  font-weight:900 !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card:hover{
  transform:translateY(-5px) !important;
  box-shadow:0 26px 54px rgba(0,0,0,.13) !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card:hover::before{
  transform:scale(1.06) !important;
  filter:saturate(1.12) contrast(1.06) brightness(1) !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card:hover > h3{
  color:#ed0000 !important;
}

@media(max-width:1050px){
  .page-servicios .service-link-grid-photo{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:680px){
  .page-servicios .service-hero-slider{
    min-height:360px !important;
  }

  .page-servicios .service-link-grid-photo{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   PUBLISMART SERVICIOS - FONDO ROJO + TARJETAS BLANCAS
   ========================================================= */

.page-servicios main > .section{
  background:#ed0000 !important;
  color:#fff !important;
  padding-top:82px !important;
  padding-bottom:92px !important;
}

.page-servicios main > .section .section-head{
  margin-bottom:46px !important;
}

.page-servicios main > .section .section-head .eyebrow{
  color:#fff !important;
  opacity:.95 !important;
}

.page-servicios main > .section .section-head h2{
  color:#fff !important;
  max-width:780px !important;
}

/* separar más las tarjetas */
.page-servicios .service-link-grid-photo{
  gap:38px !important;
}

/* tarjetas blancas más limpias */
.page-servicios .service-link-grid-photo .service-page-photo-card{
  background:#fff !important;
  color:#111 !important;
  border:0 !important;
  border-bottom:5px solid #111 !important;
  box-shadow:0 24px 54px rgba(0,0,0,.18) !important;
}

/* más aire dentro de las tarjetas */
.page-servicios .service-link-grid-photo .service-page-photo-card > span,
.page-servicios .service-link-grid-photo .service-page-photo-card > h3,
.page-servicios .service-link-grid-photo .service-page-photo-card > p,
.page-servicios .service-link-grid-photo .service-page-photo-card > a{
  margin-left:30px !important;
  margin-right:30px !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card > h3{
  color:#111 !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card > p{
  color:#444 !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card > a{
  color:#ed0000 !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card:hover{
  transform:translateY(-7px) !important;
  box-shadow:0 34px 70px rgba(0,0,0,.24) !important;
}

.page-servicios .service-link-grid-photo .service-page-photo-card:hover > h3{
  color:#ed0000 !important;
}

/* un poco más de separación entre hero y tarjetas */
.page-servicios .service-hero-slider + .section{
  margin-top:0 !important;
}

/* móvil/tablet */
@media(max-width:1050px){
  .page-servicios .service-link-grid-photo{
    gap:28px !important;
  }
}

@media(max-width:680px){
  .page-servicios main > .section{
    padding-top:58px !important;
    padding-bottom:66px !important;
  }

  .page-servicios .service-link-grid-photo{
    gap:24px !important;
  }
}

/* =========================================================
   PUBLISMART - MEGAMENUS DECORADOS GLOBAL
   ========================================================= */

.navbar{
  position:sticky !important;
  top:0 !important;
  z-index:9998 !important;
  background:#fff !important;
}

.navbar .nav-inner{
  position:relative !important;
}

.navbar .menu{
  position:relative !important;
}

.navbar .menu > li{
  position:relative !important;
}

.navbar .menu > li.has-mega > a{
  position:relative !important;
}

.navbar .menu > li.has-mega > a::after{
  content:"" !important;
  display:inline-block !important;
  width:6px !important;
  height:6px !important;
  margin-left:7px !important;
  border-right:2px solid currentColor !important;
  border-bottom:2px solid currentColor !important;
  transform:rotate(45deg) translateY(-2px) !important;
}

.mega-menu{
  position:absolute !important;
  top:calc(100% + 18px) !important;
  left:50% !important;
  transform:translateX(-50%) translateY(14px) !important;
  width:min(920px, calc(100vw - 48px)) !important;
  background:#fff !important;
  color:#111 !important;
  box-shadow:0 30px 80px rgba(0,0,0,.18) !important;
  border:1px solid rgba(0,0,0,.08) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .24s ease, transform .24s ease, visibility .24s ease !important;
  z-index:9999 !important;
  overflow:hidden !important;
}

.mega-menu::before{
  content:"" !important;
  position:absolute !important;
  top:-18px !important;
  left:0 !important;
  right:0 !important;
  height:18px !important;
}

.navbar .menu > li.has-mega:hover .mega-menu,
.navbar .menu > li.has-mega:focus-within .mega-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}

.mega-menu span{
  color:#ed0000 !important;
  font-size:11px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.1em !important;
}

.mega-menu h3{
  margin:8px 0 10px !important;
  color:#111 !important;
  font-size:28px !important;
  line-height:1.05 !important;
}

.mega-menu p{
  margin:0 0 16px !important;
  color:#555 !important;
  line-height:1.55 !important;
}

.mega-menu a{
  text-decoration:none !important;
}

/* SOBRE NOSOTROS */
.mega-about{
  width:620px !important;
}

.mega-card{
  display:grid !important;
  grid-template-columns:260px 1fr !important;
}

.mega-card .mega-photo{
  min-height:230px !important;
  background:var(--mega-img) center/cover no-repeat !important;
}

.mega-card .mega-info{
  padding:34px !important;
}

.mega-info > a,
.mega-strip a,
.mega-gallery-cta a{
  display:inline-flex !important;
  padding:11px 15px !important;
  background:#ed0000 !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:12px !important;
}

/* SERVICIOS */
.mega-servicios{
  width:960px !important;
}

.mega-services{
  display:grid !important;
  grid-template-columns:270px 1fr !important;
  gap:0 !important;
}

.mega-feature{
  padding:34px !important;
  background:#111 !important;
  color:#fff !important;
  position:relative !important;
  overflow:hidden !important;
}

.mega-feature::after{
  content:"" !important;
  position:absolute !important;
  right:-70px !important;
  bottom:-70px !important;
  width:190px !important;
  height:190px !important;
  border:30px solid rgba(237,0,0,.34) !important;
  border-radius:50% !important;
}

.mega-feature h3,
.mega-feature p{
  color:#fff !important;
  position:relative !important;
  z-index:2 !important;
}

.mega-service-grid{
  padding:26px !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}

.mega-service-grid a{
  display:block !important;
  padding:16px !important;
  background:#f4f4f4 !important;
  border-left:4px solid #ed0000 !important;
  color:#111 !important;
}

.mega-service-grid a:hover{
  background:#ed0000 !important;
  color:#fff !important;
}

.mega-service-grid strong{
  display:block !important;
  font-size:15px !important;
}

.mega-service-grid small{
  display:block !important;
  margin-top:5px !important;
  color:inherit !important;
  opacity:.78 !important;
}

.mega-strip{
  grid-column:1 / -1 !important;
  padding:18px 26px 26px !important;
  background:#fff !important;
}

/* TRABAJOS */
.mega-trabajos{
  width:780px !important;
}

.mega-work{
  display:grid !important;
  grid-template-columns:360px 1fr !important;
  gap:0 !important;
}

.mega-work-photos{
  position:relative !important;
  min-height:270px !important;
  background:#f3f3f3 !important;
}

.mega-work-photos img{
  position:absolute !important;
  width:170px !important;
  height:115px !important;
  object-fit:cover !important;
  background:#fff !important;
  padding:7px !important;
  box-shadow:0 18px 38px rgba(0,0,0,.18) !important;
}

.mega-work-photos img:nth-child(1){
  left:34px !important;
  top:28px !important;
  transform:rotate(-5deg) !important;
}

.mega-work-photos img:nth-child(2){
  right:32px !important;
  top:88px !important;
  transform:rotate(6deg) !important;
}

.mega-work-photos img:nth-child(3){
  left:74px !important;
  bottom:28px !important;
  transform:rotate(-3deg) !important;
}

.mega-work .mega-info{
  padding:38px 34px !important;
}

/* CLIENTES */
.mega-clientes{
  width:760px !important;
}

.mega-clients{
  display:grid !important;
  grid-template-columns:1fr 310px !important;
  gap:24px !important;
  padding:34px !important;
  background:linear-gradient(135deg,#fff,#f5f5f5) !important;
}

.mega-logo-mini{
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  gap:12px !important;
}

.mega-logo-mini img{
  width:100% !important;
  height:82px !important;
  object-fit:contain !important;
  background:#fff !important;
  padding:15px !important;
  border:1px solid #eee !important;
}

/* GALERIA */
.mega-galeria{
  width:900px !important;
}

.mega-gallery{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) 250px !important;
  min-height:250px !important;
}

.mega-gallery > a{
  position:relative !important;
  display:flex !important;
  align-items:flex-end !important;
  min-height:250px !important;
  padding:18px !important;
  color:#fff !important;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72)), var(--mega-img) center/cover no-repeat !important;
  overflow:hidden !important;
}

.mega-gallery > a:hover{
  filter:saturate(1.15) contrast(1.08) !important;
}

.mega-gallery > a span{
  color:#fff !important;
  position:relative !important;
  z-index:2 !important;
}

.mega-gallery-cta{
  padding:30px !important;
  background:#111 !important;
}

.mega-gallery-cta h3,
.mega-gallery-cta p{
  color:#fff !important;
}

/* CONTACTO */
.mega-contactenos{
  width:720px !important;
}

.mega-contact{
  display:grid !important;
  grid-template-columns:1fr 300px !important;
  gap:24px !important;
  padding:34px !important;
  background:linear-gradient(135deg,#fff,#f7f7f7) !important;
}

.mega-contact-list{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

.mega-contact-list a{
  padding:13px 14px !important;
  background:#111 !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:13px !important;
}

.mega-contact-list a:last-child{
  background:#ed0000 !important;
}

/* RESPONSIVE */
@media(max-width:980px){
  .mega-menu{
    position:static !important;
    width:100% !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    box-shadow:none !important;
    border:0 !important;
    margin:12px 0 0 !important;
    display:none !important;
  }

  .navbar .menu > li.has-mega:hover .mega-menu,
  .navbar .menu > li.has-mega:focus-within .mega-menu{
    display:block !important;
    transform:none !important;
  }

  .mega-services,
  .mega-work,
  .mega-clients,
  .mega-gallery,
  .mega-contact,
  .mega-card{
    grid-template-columns:1fr !important;
  }

  .mega-gallery > a{
    min-height:160px !important;
  }

  .mega-work-photos{
    min-height:250px !important;
  }
}

/* =========================================================
   PUBLISMART FIX MEGAMENU NO SE ESCONDE RAPIDO
   ========================================================= */

/* baja un poco menos el mega para que sea más fácil llegar */
.mega-menu{
  top:calc(100% + 8px) !important;
}

/* puente invisible entre item y megamenú */
.mega-menu::before{
  content:"" !important;
  position:absolute !important;
  top:-28px !important;
  left:0 !important;
  right:0 !important;
  height:28px !important;
  background:transparent !important;
  pointer-events:auto !important;
}

/* área extra en el li para que no pierda hover */
.navbar .menu > li.has-mega{
  padding-bottom:14px !important;
  margin-bottom:-14px !important;
}

/* mantener abierto también con clase JS */
.navbar .menu > li.has-mega.is-mega-open .mega-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}

/* animación más suave */
.mega-menu{
  transition:
    opacity .22s ease,
    transform .22s ease,
    visibility .22s ease !important;
}

/* =========================================================
   PUBLISMART FIX FINAL MEGAMENU NO PEGADO
   ========================================================= */

/* menos zona invisible para que no quede abierto de más */
.navbar .menu > li.has-mega{
  padding-bottom:8px !important;
  margin-bottom:-8px !important;
}

/* megamenú un poco más pegado al menú, menos flotando encima del hero */
.mega-menu{
  top:calc(100% + 6px) !important;
}

/* puente más pequeño */
.mega-menu::before{
  top:-16px !important;
  height:16px !important;
}

/* cerrar visualmente si JS le quita clase */
.navbar .menu > li.has-mega:not(:hover):not(:focus-within):not(.is-mega-open) .mega-menu{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateX(-50%) translateY(10px) !important;
}

/* no dejarlo tan alto en pantalla */
.mega-about,
.mega-trabajos,
.mega-clientes,
.mega-galeria,
.mega-contactenos,
.mega-servicios{
  max-height:360px !important;
}

/* =========================================================
   PUBLISMART MEGAMENU ESTABLE FINAL
   Corrige cierre rápido y evita parches anteriores
   ========================================================= */

.navbar{
  position:sticky !important;
  top:0 !important;
  z-index:9999 !important;
  background:#fff !important;
}

.navbar .nav-inner{
  position:relative !important;
}

.navbar .menu > li.has-mega{
  position:relative !important;
  padding-bottom:18px !important;
  margin-bottom:-18px !important;
}

/* panel más cerca del menú */
.navbar .menu > li.has-mega > .mega-menu{
  top:calc(100% + 4px) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateX(-50%) translateY(10px) !important;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
}

/* puente invisible para llegar sin que cierre */
.navbar .menu > li.has-mega > .mega-menu::before{
  content:"" !important;
  position:absolute !important;
  top:-24px !important;
  left:0 !important;
  right:0 !important;
  height:24px !important;
  background:transparent !important;
  pointer-events:auto !important;
}

/* abrir por hover, focus o JS */
.navbar .menu > li.has-mega:hover > .mega-menu,
.navbar .menu > li.has-mega:focus-within > .mega-menu,
.navbar .menu > li.has-mega.is-mega-open > .mega-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}

/* mientras se está cerrando, mantener un instante */
.navbar .menu > li.has-mega.is-mega-hold > .mega-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}

/* evitar que quede pegado eternamente */
.navbar .menu > li.has-mega:not(:hover):not(:focus-within):not(.is-mega-open):not(.is-mega-hold) > .mega-menu{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* tamaño controlado */
.mega-menu{
  max-height:none !important;
}

/* responsive mantiene comportamiento normal */
@media(max-width:980px){
  .navbar .menu > li.has-mega{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }

  .navbar .menu > li.has-mega > .mega-menu{
    position:static !important;
    transform:none !important;
    width:100% !important;
    display:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .navbar .menu > li.has-mega:hover > .mega-menu,
  .navbar .menu > li.has-mega:focus-within > .mega-menu,
  .navbar .menu > li.has-mega.is-mega-open > .mega-menu{
    display:block !important;
    transform:none !important;
  }
}
