/* OMDream homepage — isolated styles for the approved mockup implementation */
body.omdream-home{--omd-red:#ed1c24;--omd-ink:#101522;--omd-muted:#59606d;--omd-line:#e8eaf0;--omd-soft:#f7f8fa;color:var(--omd-ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;background:#fff}
body.omdream-home .fusion-header-wrapper, body.omdream-home .fusion-footer, body.omdream-home .fusion-page-title-bar, body.omdream-home .fusion-secondary-header, body.omdream-home .fusion-sidebar, body.omdream-home #sidebar, body.omdream-home .fusion-breadcrumbs{display:none!important}
body.omdream-home #main, body.omdream-home #content, body.omdream-home .fusion-row, body.omdream-home .fusion-layout-column, body.omdream-home .fusion-builder-row{width:100%;max-width:none;margin:0;padding:0}
body.omdream-home #main{padding:0!important;background:#fff}
body.omdream-home .fusion-builder-row:before, body.omdream-home .fusion-builder-row:after{display:none}
body.omdream-home .omd-site, body.omdream-home .omd-site *{box-sizing:border-box}
body.omdream-home .omd-site{font-size:15px;line-height:1.5;overflow:hidden}
body.omdream-home .omd-container{width:min(1180px,calc(100% - 64px));margin:0 auto}

body.omdream-home .omd-phone-icon{font-size:22px;color:var(--omd-red);transform:rotate(-30deg)}

body.omdream-home .omd-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;padding:0 22px;border-radius:28px;font-size:12px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}
body.omdream-home .omd-button:hover{transform:translateY(-2px)}
body.omdream-home .omd-button-primary{color:#fff;background:var(--omd-red);border:1px solid var(--omd-red);box-shadow:0 5px 15px rgba(237,28,36,.12)}
body.omdream-home .omd-button-primary:hover{background:#ed1c24;color:#fff}
body.omdream-home .omd-button-outline{color:#171b25;background:#fff;border:1px solid #cfd3dc}
body.omdream-home .omd-button-outline:hover{border-color:var(--omd-red);color:var(--omd-red)}

body.omdream-home .omd-hero{min-height:365px;position:relative;isolation:isolate;background:#f8f8f7}
body.omdream-home .omd-hero-background{position:absolute;inset:0 0 0 37%;z-index:-2;background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.82) 6%,rgba(255,255,255,.05) 37%),url("../img/hero-laptop.jpg");background-size:cover;background-position:center right}
body.omdream-home .omd-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 34%,rgba(255,255,255,.12) 63%,rgba(255,255,255,.04) 100%);pointer-events:none}
body.omdream-home .omd-hero-inner{position:relative;min-height:365px;display:flex;align-items:center}
body.omdream-home .omd-hero-copy{width:58%;max-width:670px;padding:38px 0 18px}
body.omdream-home .omd-eyebrow{display:flex;align-items:center;gap:15px;margin:0 0 12px;text-transform:uppercase;letter-spacing:.02em;font-size:10px;font-weight:700;color:var(--omd-red)}
body.omdream-home .omd-eyebrow i{display:inline-block;width:28px;height:1px;background:var(--omd-red);font-style:normal}
body.omdream-home .omd-hero h1{max-width:630px;margin:0 0 12px;font-size:clamp(34px,4.1vw,53px);line-height:1.02;letter-spacing:-.045em;font-weight:800;color:#090b10}
body.omdream-home .omd-hero h1 span{display:block;color:var(--omd-red)}
body.omdream-home .omd-lead{max-width:520px;font-size:15px;line-height:1.5;color:#535a65;margin:0 0 18px}
body.omdream-home .omd-actions{display:flex;flex-wrap:wrap;gap:14px}
body.omdream-home .omd-hero-highlights{display:flex;align-items:center;gap:20px;margin-top:24px;width:100%;max-width:720px;flex-wrap:wrap}
body.omdream-home .omd-hero-highlights div{display:flex;align-items:center;gap:8px;color:#555c67;font-size:10px;white-space:nowrap}
body.omdream-home .omd-line-icon{display:inline-flex;align-items:center;justify-content:center;font-size:21px;color:#172033;font-weight:700}
body.omdream-home .omd-hero-cards{position:absolute;right:0;top:34px;width:165px;display:grid;gap:10px}
body.omdream-home .omd-benefit{display:flex;align-items:center;gap:12px;padding:15px 12px;background:rgba(255,255,255,.96);border:1px solid rgba(232,234,240,.9);border-radius:7px;box-shadow:0 7px 22px rgba(23,30,44,.08);min-height:76px}
body.omdream-home .omd-benefit-icon{font-size:27px;color:#111a2c;flex:0 0 35px;text-align:center}
body.omdream-home .omd-benefit strong{font-size:11px;line-height:1.35;color:#151a24}
body.omdream-home .omd-section{padding:38px 0}
body.omdream-home .omd-section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:end;margin-bottom:22px}
body.omdream-home .omd-section-heading h2, body.omdream-home .omd-about-copy h2{font-size:clamp(25px,2.6vw,32px);line-height:1.12;letter-spacing:-.035em;margin:0;color:#111827;font-weight:800}
body.omdream-home .omd-section-heading>p{font-size:13px;line-height:1.55;color:#5e6470;margin:0 0 3px;max-width:480px}
body.omdream-home .omd-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
body.omdream-home .omd-service-card{background:#fff;border:1px solid #edf0f4;border-radius:7px;overflow:hidden;box-shadow:0 4px 18px rgba(23,34,52,.045);min-width:0}
body.omdream-home .omd-service-image{height:112px;position:relative;margin:10px 10px 0;border-radius:5px;overflow:hidden;background:#f3f5f8}
body.omdream-home .omd-service-image img{width:100%;height:100%;object-fit:cover;display:block}
body.omdream-home .omd-service-image>span{position:absolute;top:8px;left:8px;background:rgba(255,255,255,.92);color:#6a707a;border-radius:3px;font-size:9px;padding:2px 5px}
body.omdream-home .omd-service-content{padding:10px 17px 16px}
body.omdream-home .omd-service-tagline{font-size:11px;font-weight:650;margin:0 0 1px;color:#5d6470}
body.omdream-home .omd-service-card h3{font-size:20px;line-height:1.15;letter-spacing:-.03em;margin:0 0 7px;color:#10141d;font-weight:800}
body.omdream-home .omd-service-text{font-size:12px;line-height:1.45;color:#5c6370;margin:0 0 10px}
body.omdream-home .omd-service-card ul{list-style:none;margin:0 0 13px;padding:0}
body.omdream-home .omd-service-card li{position:relative;font-size:11px;color:#4c5360;padding-left:18px;margin:5px 0;line-height:1.3}
body.omdream-home .omd-service-card li:before{content:"✓";position:absolute;left:0;top:0;width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#111a2c;color:white;font-size:8px;font-weight:800}
body.omdream-home .omd-text-link{display:inline-flex;align-items:center;gap:9px;color:#121721;font-weight:750;font-size:11px;text-decoration:none}
body.omdream-home .omd-text-link:hover{color:var(--omd-red)}
body.omdream-home .omd-client-strip{padding:23px 0 20px;border-top:1px solid #f1f2f5;background:#fff}
body.omdream-home .omd-client-strip .omd-eyebrow{font-size:9px;margin-bottom:14px;color:#565c66}
body.omdream-home .omd-client-logos{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:46px}
body.omdream-home .omd-client-logo{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;height:48px}
body.omdream-home .omd-client-logo img{display:block;max-width:100%;max-height:43px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.75}
body.omdream-home .omd-client-logo:nth-child(2) img{max-height:30px}
body.omdream-home .omd-client-logo:nth-child(4) img{max-width:110px}
body.omdream-home .omd-about{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(170px,.43fr);align-items:stretch;min-height:240px;border-top:1px solid #f0f1f4;border-bottom:1px solid #f0f1f4}
body.omdream-home .omd-about-visual{position:relative;min-height:240px;overflow:hidden;background:#d8dce0}
body.omdream-home .omd-about-visual>img{width:100%;height:100%;min-height:240px;object-fit:cover;object-position:center 38%;display:block}
body.omdream-home .omd-about-overlay{position:absolute;right:22px;top:22px;bottom:22px;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:15px 18px;color:#fff;background:rgba(17,20,26,.84);border-radius:5px;font-size:12px;min-width:130px}
body.omdream-home .omd-about-overlay span, body.omdream-home .omd-about-overlay strong{font-size:17px;color:#fff}
body.omdream-home .omd-about-copy{padding:30px 28px;align-self:center}
body.omdream-home .omd-about-copy h2{font-size:26px;margin:0 0 12px}
body.omdream-home .omd-about-copy>p:not(.omd-eyebrow){font-size:12px;line-height:1.55;color:#5c6370;margin:0 0 9px}
body.omdream-home .omd-about-copy .omd-button{margin-top:4px;min-height:38px}
body.omdream-home .omd-about-facts{padding:20px 22px;border-left:1px solid #eceef2;display:flex;flex-direction:column;justify-content:center;gap:12px}
body.omdream-home .omd-about-facts>div{display:flex;align-items:center;gap:12px}
body.omdream-home .omd-about-facts>div>span{font-size:22px;color:#707783;flex:0 0 27px;text-align:center}
body.omdream-home .omd-about-facts p{margin:0;font-size:11px;line-height:1.35}
body.omdream-home .omd-about-facts strong, body.omdream-home .omd-about-facts small{display:block}
body.omdream-home .omd-about-facts small{font-size:11px;color:#636a75}
body.omdream-home .omd-contact-banner{position:relative;background:#30343a;color:#fff;isolation:isolate;min-height:118px;display:flex;align-items:center}
body.omdream-home .omd-contact-bg{position:absolute;inset:0;z-index:-2;background-image:url("../img/contact-bg.jpg");background-size:cover;background-position:center 55%}
body.omdream-home .omd-contact-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(27,29,34,.83),rgba(27,29,34,.55));}
body.omdream-home .omd-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 0}
body.omdream-home .omd-contact-inner .omd-eyebrow{color:#fff;margin-bottom:6px}
body.omdream-home .omd-contact-inner h2{font-size:31px;line-height:1.1;letter-spacing:-.03em;margin:0 0 5px;color:#fff;font-weight:750}
body.omdream-home .omd-contact-inner p:not(.omd-eyebrow){font-size:12px;color:#f1f1f3;line-height:1.4;margin:0}
body.omdream-home .omd-contact-inner .omd-button{min-width:180px}
body.omdream-home .omd-blog{padding-top:40px;padding-bottom:56px}
body.omdream-home .omd-blog-heading{margin-bottom:22px;grid-template-columns:1fr auto;align-items:end}
body.omdream-home .omd-blog-heading h2{font-size:27px}
body.omdream-home .omd-blog-heading>.omd-text-link{color:var(--omd-red);align-self:center}
body.omdream-home .omd-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%;align-items:stretch}
body.omdream-home .omd-blog-card{border:1px solid #eceef2;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 3px 14px rgba(20,30,50,.035)}
body.omdream-home .omd-blog-image{display:block;height:190px;overflow:hidden;background:#f1f3f5}
body.omdream-home .omd-blog-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}
body.omdream-home .omd-blog-card:hover .omd-blog-image img{transform:scale(1.03)}
body.omdream-home .omd-blog-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px 0;font-size:11px;color:#777d87}
body.omdream-home .omd-blog-meta span{border:1px solid #ed1c24;color:#ed1c24;border-radius:3px;padding:1px 5px}
body.omdream-home .omd-blog-card h3{font-size:18px;line-height:1.32;margin:10px 18px 8px;font-weight:750}
body.omdream-home .omd-blog-card h3 a{color:#111722;text-decoration:none}
body.omdream-home .omd-blog-card h3 a:hover{color:var(--omd-red)}
body.omdream-home .omd-blog-card>p{font-size:13px;line-height:1.55;color:#636a75;margin:0 18px 20px}
body.omdream-home .omd-empty-posts{color:#636a75;font-size:13px}
@media(max-width:1120px){
 body.omdream-home .omd-container{width:calc(100% - 42px)}
 
 
 
 
 
 
 body.omdream-home .omd-hero-cards{right:0;width:145px}
 body.omdream-home .omd-hero-copy{width:64%}
 body.omdream-home .omd-service-content{padding:10px 12px 14px}
 body.omdream-home .omd-about{grid-template-columns:1fr 1fr}
 body.omdream-home .omd-about-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);border-left:0;border-top:1px solid #eceef2;padding:15px 22px}
}
@media(max-width:980px){
 body.omdream-home .omd-blog-grid{gap:16px}
 body.omdream-home .omd-blog-image{height:155px}
 body.omdream-home .omd-blog-card h3{font-size:16px}
}
@media(max-width:780px){
 body.omdream-home .omd-container{width:calc(100% - 36px)}
 
 
 
 
 
 
 
 
 
 
 body.omdream-home .omd-hero{min-height:0}
 body.omdream-home .omd-hero-background{inset:0 0 0 0;height:280px;background-position:center;background-size:cover;opacity:.28}
 body.omdream-home .omd-hero:after{background:linear-gradient(180deg,rgba(255,255,255,.55),#fff 250px)}
 body.omdream-home .omd-hero-inner{min-height:0;display:block;padding-top:42px;padding-bottom:18px}
 body.omdream-home .omd-hero-copy{width:100%;max-width:600px;padding:0}
 body.omdream-home .omd-hero h1{font-size:clamp(34px,9vw,48px);max-width:540px}
 body.omdream-home .omd-lead{font-size:14px;max-width:500px}
 body.omdream-home .omd-hero-cards{position:static;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0 0}
 body.omdream-home .omd-benefit{padding:10px 8px;gap:7px;min-height:72px}
 body.omdream-home .omd-benefit-icon{font-size:22px;flex-basis:25px}
 body.omdream-home .omd-benefit strong{font-size:10px}
 body.omdream-home .omd-hero-highlights{gap:12px 18px;margin-top:18px}
 body.omdream-home .omd-hero-highlights div{white-space:normal;font-size:10px}
 body.omdream-home .omd-section{padding:34px 0}
 body.omdream-home .omd-section-heading{grid-template-columns:1fr;gap:12px;margin-bottom:18px}
 body.omdream-home .omd-section-heading h2{font-size:27px}
 body.omdream-home .omd-section-heading>p{font-size:13px}
 body.omdream-home .omd-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body.omdream-home .omd-service-image{height:100px;margin:8px 8px 0}
 body.omdream-home .omd-service-content{padding:10px 11px 13px}
 body.omdream-home .omd-service-card h3{font-size:19px}
 body.omdream-home .omd-service-text{font-size:11px}
 body.omdream-home .omd-service-card li{font-size:10px}
 body.omdream-home .omd-client-logos{gap:18px;flex-wrap:wrap;justify-content:center}
 body.omdream-home .omd-client-logo{flex:0 0 20%;height:44px}
 body.omdream-home .omd-client-logo img{max-height:37px}
 body.omdream-home .omd-about{grid-template-columns:1fr}
 body.omdream-home .omd-about-visual{min-height:260px;height:260px}
 body.omdream-home .omd-about-visual>img{min-height:260px}
 body.omdream-home .omd-about-copy{padding:28px 22px}
 body.omdream-home .omd-about-copy h2{font-size:27px}
 body.omdream-home .omd-about-facts{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px 22px}
 body.omdream-home .omd-contact-inner{align-items:flex-start;flex-direction:column;padding:24px 0}
 body.omdream-home .omd-contact-inner h2{font-size:28px}
 body.omdream-home .omd-blog-heading{grid-template-columns:1fr;gap:8px}
 body.omdream-home .omd-blog-grid{grid-template-columns:1fr;gap:14px}
 body.omdream-home .omd-blog-image{height:190px}
 body.omdream-home .omd-blog-card h3{font-size:16px}
 body.omdream-home .omd-blog-card>p{font-size:12px}
}
@media(max-width:420px){
 body.omdream-home .omd-container{width:calc(100% - 28px)}
 
 
 
 body.omdream-home .omd-hero h1{font-size:35px}
 body.omdream-home .omd-actions{gap:9px}
 body.omdream-home .omd-actions .omd-button{padding:0 15px;min-height:42px;font-size:11px}
 body.omdream-home .omd-hero-cards{grid-template-columns:1fr}
 body.omdream-home .omd-benefit{min-height:55px;padding:9px 12px}
 body.omdream-home .omd-benefit strong br{display:none}
 body.omdream-home .omd-service-grid{grid-template-columns:1fr}
 body.omdream-home .omd-service-image{height:150px}
 body.omdream-home .omd-service-content{padding:13px 15px 16px}
 body.omdream-home .omd-service-card h3{font-size:21px}
 body.omdream-home .omd-service-text, body.omdream-home .omd-service-card li{font-size:12px}
 body.omdream-home .omd-client-logo{flex-basis:28%}
 body.omdream-home .omd-about-facts{grid-template-columns:1fr 1fr}
 body.omdream-home .omd-contact-inner h2{font-size:26px}
}

/* v6.0 — consolidated layout and image framing. Keep approved image assets unchanged. */
body.omdream-home #wrapper, body.omdream-home #main, body.omdream-home #content, body.omdream-home #main > .fusion-row, body.omdream-home #content > .fusion-row{
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  transform: none !important;
}
body.omdream-home #wrapper, body.omdream-home #main, body.omdream-home #content{ background: #fff !important; }
body.omdream-home .omd-site{
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  isolation: isolate;
}
/* Keep the whole preview below the WordPress toolbar when logged in. */
html body.admin-bar.omdream-home #wrapper{ padding-top: 0 !important; }

/* In the logged-in preview the WordPress toolbar can overlap the custom header;
   reserve its full height so the logo is not clipped. */
html body.admin-bar.omdream-home .omd-site{ padding-top: 32px !important; }
@media (max-width: 782px) {
  html body.admin-bar.omdream-home .omd-site{ padding-top: 46px !important; }
}
body.omdream-home .omd-container, body.omdream-home .omd-contact-inner{
  box-sizing: border-box !important;
  width: min(1180px, calc(100% - 64px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

/* Hero image is a separate photograph; keep it in the right-hand visual area and do not stretch it. */
body.omdream-home .omd-hero{
  position: relative !important;
  min-height: 394px !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #fff !important;
}
body.omdream-home .omd-hero-inner{
  position: relative !important;
  z-index: 1 !important;
  min-height: 394px !important;
  display: flex !important;
  align-items: center !important;
}
body.omdream-home .omd-hero-background{
  position: absolute !important;
  z-index: -2 !important;
  inset: 0 0 0 39% !important;
  width: auto !important;
  height: auto !important;
  background-image: url("../img/hero-laptop.jpg") !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: right center !important;
  opacity: 1 !important;
}
body.omdream-home .omd-hero:after{
  z-index: -1 !important;
  background: linear-gradient(90deg, #fff 0%, #fff 28%, rgba(255,255,255,.96) 39%, rgba(255,255,255,.28) 62%, rgba(255,255,255,0) 100%) !important;
}
body.omdream-home .omd-hero-copy{
  position: relative !important;
  z-index: 2 !important;
  width: 58% !important;
  max-width: 650px !important;
  min-width: 0 !important;
}
body.omdream-home .omd-hero-cards{ z-index: 3 !important; right: 0 !important; }

/* Uniform service-image frames, preserving each original source image's proportions via object-fit. */
body.omdream-home .omd-service-grid{ align-items: stretch !important; }
body.omdream-home .omd-service-card{ min-width: 0 !important; overflow: hidden !important; }
body.omdream-home .omd-service-image{
  display: block !important;
  position: relative !important;
  width: auto !important;
  height: 112px !important;
  margin: 10px 10px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
body.omdream-home .omd-service-image img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Client logos stay centered in equal-height cells and never stretch. */
body.omdream-home .omd-client-logos{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(12px, 1.8vw, 28px) !important;
}
body.omdream-home .omd-client-logo{
  flex: 1 1 0 !important;
  min-width: 0 !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.omdream-home .omd-client-logo img{
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 42px !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* About image: use the exact aspect ratio of the approved 860x478 crop, so the photo
   and embedded values panel remain inside their grid cell without being cut off. */
body.omdream-home .omd-about{
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(190px, .42fr) !important;
  align-items: stretch !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
body.omdream-home .omd-about-visual{
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 860 / 478 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  align-self: center !important;
  background: #f1f2f3 !important;
}
body.omdream-home .omd-about-visual > img{
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
}
body.omdream-home .omd-about-copy, body.omdream-home .omd-about-facts{ min-width: 0 !important; }
body.omdream-home .omd-about-copy{ overflow-wrap: normal !important; }

body.omdream-home .omd-blog-grid{ align-items: stretch !important; }
body.omdream-home .omd-blog-image{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
}
body.omdream-home .omd-blog-image img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 1120px) {
  body.omdream-home .omd-container, body.omdream-home .omd-contact-inner{ width: calc(100% - 42px) !important; }
  
  
  
  
  body.omdream-home .omd-hero-cards{ width: 145px !important; }
}
@media (max-width: 780px) {
  body.omdream-home .omd-container, body.omdream-home .omd-contact-inner{ width: calc(100% - 36px) !important; max-width: none !important; }
  
  
  
  
  body.omdream-home .omd-hero{ min-height: 0 !important; }
  body.omdream-home .omd-hero-inner{ min-height: 0 !important; display: block !important; padding-top: 34px !important; padding-bottom: 22px !important; }
  body.omdream-home .omd-hero-background{
    inset: 0 !important;
    height: 290px !important;
    background-image: url("../img/hero-laptop-mobile.jpg") !important;
    background-size: cover !important;
    background-position: right center !important;
    opacity: .2 !important;
  }
  body.omdream-home .omd-hero:after{ background: linear-gradient(180deg, rgba(255,255,255,.72), #fff 280px) !important; }
  body.omdream-home .omd-hero-copy{ width: 100% !important; max-width: 600px !important; padding: 0 !important; }
  body.omdream-home .omd-hero-cards{ position: static !important; width: 100% !important; margin-top: 22px !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  body.omdream-home .omd-section-heading{ grid-template-columns: 1fr !important; gap: 12px !important; }
  body.omdream-home .omd-service-grid{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  body.omdream-home .omd-client-logos{ display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 14px !important; }
  body.omdream-home .omd-client-logo{ height: 46px !important; }
  body.omdream-home .omd-client-logo img{ max-height: 38px !important; }
  body.omdream-home .omd-about{ grid-template-columns: minmax(0,1fr) !important; }
  body.omdream-home .omd-about-visual{ width: 100% !important; aspect-ratio: 860 / 478 !important; height: auto !important; min-height: 0 !important; max-height: none !important; align-self: start !important; }
  body.omdream-home .omd-about-copy{ padding: 28px 22px !important; }
  body.omdream-home .omd-about-facts{ display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; border-left: 0 !important; }
  body.omdream-home .omd-blog-grid{ grid-template-columns: 1fr !important; }
}
@media (max-width: 420px) {
  body.omdream-home .omd-container, body.omdream-home .omd-contact-inner{ width: calc(100% - 28px) !important; }
  
  
  body.omdream-home .omd-hero-cards{ grid-template-columns: 1fr !important; }
  body.omdream-home .omd-service-grid{ grid-template-columns: 1fr !important; }
  body.omdream-home .omd-service-image{ height: 150px !important; }
  body.omdream-home .omd-client-logos{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  body.omdream-home .omd-about-visual{ aspect-ratio: 860 / 478 !important; height: auto !important; min-height: 0 !important; max-height: none !important; }
}

/* v6.1 — align the hero and about photograph to the same shared content frame.
   The hero background and the suit photograph must not bleed outside the 1180px layout. */
body.omdream-home .omd-hero{
  box-sizing: border-box !important;
  width: min(1180px, calc(100% - 64px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: hidden !important;
}
body.omdream-home .omd-hero-inner{
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.omdream-home .omd-hero-background{
  inset: 0 0 0 39% !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
body.omdream-home .omd-hero:after{ inset: 0 !important; }
body.omdream-home .omd-about{
  box-sizing: border-box !important;
  width: min(1180px, calc(100% - 64px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: hidden !important;
}
body.omdream-home .omd-about-visual{
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
body.omdream-home .omd-about-visual > img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}
@media (max-width: 1120px) {
  body.omdream-home .omd-hero, body.omdream-home .omd-about{
    width: calc(100% - 42px) !important;
  }
}
@media (max-width: 780px) {
  body.omdream-home .omd-hero, body.omdream-home .omd-about{
    width: calc(100% - 36px) !important;
    max-width: none !important;
  }
  body.omdream-home .omd-hero-inner{
    width: 100% !important;
  }
  body.omdream-home .omd-hero-background{
    inset: 0 !important;
  }
}
@media (max-width: 420px) {
  body.omdream-home .omd-hero, body.omdream-home .omd-about{
    width: calc(100% - 28px) !important;
  }
}

/* v6.2 — visual refinements only: hero zoom-out, crisp header logo, blue-gradient contact CTA.
   The v6.1 shared 1180px section frame and margins are intentionally preserved. */

body.omdream-home .omd-hero{
  min-height: clamp(420px, 31.4vw, 625px) !important;
}
body.omdream-home .omd-hero-inner{
  min-height: inherit !important;
}
body.omdream-home .omd-hero-background{
  inset: 0 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
body.omdream-home .omd-hero:after{
  inset: 0 !important;
  background: linear-gradient(90deg,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,.99) 25%,
    rgba(255,255,255,.92) 38%,
    rgba(255,255,255,.55) 51%,
    rgba(255,255,255,.08) 68%,
    rgba(255,255,255,0) 100%) !important;
}
body.omdream-home .omd-contact-banner{
  background: #081321 !important;
}
body.omdream-home .omd-contact-bg{
  inset: 0 !important;
  background-image: url("../img/contact-bg.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
body.omdream-home .omd-contact-banner:after{
  background: linear-gradient(90deg,
    rgba(5,12,23,.52) 0%,
    rgba(6,16,31,.38) 55%,
    rgba(5,13,26,.28) 100%) !important;
}
@media (max-width: 780px) {
  body.omdream-home .omd-hero{ min-height: 0 !important; }
  body.omdream-home .omd-hero-inner{ min-height: 0 !important; }
  body.omdream-home .omd-hero-background{
    inset: 0 !important;
    background-size: cover !important;
    background-position: center center !important;
  }
  body.omdream-home .omd-hero:after{
    background: linear-gradient(180deg,
      rgba(255,255,255,.28) 0%,
      rgba(255,255,255,.78) 42%,
      #fff 100%) !important;
  }
}

/* v6.3 — mantener el marco visual y fundir los extremos de las imágenes con el fondo */
body.omdream-home .omd-hero-background{
  background-image: url("../img/hero-laptop-zoomout.jpg") !important;
  background-size: 100% 100% !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
body.omdream-home .omd-contact-banner{
  background: #f7f8f9 !important;
}
body.omdream-home .omd-contact-bg{
  background-image: url("../img/contact-bg-faded.jpg") !important;
  background-size: 100% 100% !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
body.omdream-home .omd-contact-banner:after{
  background: linear-gradient(90deg,
    rgba(5,12,23,.15) 0%,
    rgba(5,12,23,.42) 16%,
    rgba(5,12,23,.42) 84%,
    rgba(5,12,23,.15) 100%) !important;
}
@media (max-width: 780px) {
  body.omdream-home .omd-hero-background{
    background-size: cover !important;
    background-position: center center !important;
  }
  body.omdream-home .omd-contact-bg{
    background-size: cover !important;
    background-position: center center !important;
  }
}

/* v6.5 — only requested fixes: zoomed-out hero background and undistorted crisp logo */
body.omdream-home .omd-hero-background{
  background-image: url("../img/hero-laptop-zoomout-v66.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

@media (max-width: 780px) {
  body.omdream-home .omd-hero-background{
    background-size: cover !important;
    background-position: center center !important;
  }
  
}

/* v6.5 — narrowly scoped: zoomed-out hero visual and crisp, undistorted logo */
body.omdream-home .omd-hero-background{
  background-image: url("../img/hero-laptop-zoomout-v66.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

@media (min-width: 781px) {
  /* The zoomed-out hero image already includes these three visual benefit tiles. */
  body.omdream-home .omd-hero-cards{ display: none !important; }
}
@media (max-width: 780px) {
  body.omdream-home .omd-hero-background{
    background-image: url("../img/hero-laptop-mobile.jpg") !important;
    background-size: cover !important;
    background-position: center center !important;
  }
  
}

/* v6.8 — approved hero composition: triple monitors, aligned AI logos, no Copilot.
   Use the full-width background asset so the office scene starts at the same horizontal
   position as in the approved mockup. The baked-in left copy is masked in the image;
   actual headings, CTA and benefit labels remain HTML and are rendered only once. */
body.omdream-home .omd-hero{
  min-height: clamp(420px, 31.4vw, 625px) !important;
}
body.omdream-home .omd-hero-inner{
  min-height: inherit !important;
}
body.omdream-home .omd-hero-background{
  inset: 0 !important;
  background-image: url("../img/hero-triple-monitor-claude-perplexity-v67.jpg") !important;
  background-size: 100% 100% !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
body.omdream-home .omd-hero:after{
  background: linear-gradient(90deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.02) 34%, rgba(255,255,255,0) 60%) !important;
}
/* Keep the established mobile hero treatment; only the desktop hero art changes. */
@media (max-width: 780px) {
  body.omdream-home .omd-hero{ min-height: 0 !important; }
  body.omdream-home .omd-hero-inner{ min-height: 0 !important; }
  body.omdream-home .omd-hero-background{
    inset: 0 !important;
    background-image: url("../img/hero-laptop-mobile.jpg") !important;
    background-size: cover !important;
    background-position: right center !important;
  }
  body.omdream-home .omd-hero:after{
    background: linear-gradient(180deg, rgba(255,255,255,.72), #fff 280px) !important;
  }
}

/* v6.8 — reduce only the desktop hero height; keep approved composition and all other sections unchanged. */
@media (min-width: 781px) {
  body.omdream-home .omd-hero{
    min-height: clamp(420px, 25vw, 500px) !important;
  }
  body.omdream-home .omd-hero-inner{
    min-height: inherit !important;
  }
  body.omdream-home .omd-hero-background{
    background-size: 100% 100% !important;
    background-position: center center !important;
  }
}

/* v6.9 — tighten desktop hero by roughly 1 cm and preserve the background image's natural proportions.
   Do not stretch the triple-monitor artwork vertically; keep all other sections unchanged. */
@media (min-width: 781px) {
  body.omdream-home .omd-hero{
    min-height: clamp(395px, 23vw, 460px) !important;
  }
  body.omdream-home .omd-hero-inner{
    min-height: inherit !important;
  }
  body.omdream-home .omd-hero-background{
    background-size: 100% auto !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
}

/* v7.0 — corrección exclusiva de cabecera: proporciones del logo y altura compacta.
   No modifica hero ni ninguna sección inferior. */

/* v7.2 — menú principal: desplegable de Servicios, accesible con ratón, teclado y móvil. */

/* v7.3 — requested main navigation, contact line, and service-image clarity */

body.omdream-home .omd-text-link{ color: var(--omd-red) !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.omdream-home .omd-service-image{ background: #fff !important; }
body.omdream-home .omd-service-image img{ object-fit: contain !important; object-position: center center !important; transform: scale(.96); filter: contrast(1.04) saturate(1.03); image-rendering: auto; }

/* v7.4 — ajuste exclusivo del espacio vertical de la cabecera, sin alterar el hero ni el resto de secciones. */

/* v7.6 — logo original sin deformación: escala proporcional a un ancho de cabecera controlado. */

/* v7.8 — cabecera aprobada: franja superior roja sólida, sin degradado. */

/* Mantiene el subrayado activo próximo al texto del menú. */

/* v8.0 — franja superior aprobada y acceso directo a WhatsApp. Solo afecta a la cabecera. */

/* v8.1 — una sola franja superior, alineada con el contenedor del sitio. */

/* v8.3 — ajustes aprobados sobre la cabecera: una sola raya, logo legible, chevron centrado y franja +1px. */

/* v8.4 — ajuste de proporciones de cabecera basado en captura de pruebas.
   Solo modifica el encuadre y los elementos de la cabecera; conserva el contenido restante. */
body.omdream-home .omd-container{
  width: min(1280px, calc(100% - 40px)) !important;
}

@media (max-width: 1180px) and (min-width: 781px) {
  body.omdream-home .omd-container{ width: calc(100% - 32px) !important; }
  
  
  
  
  
  
  
}
@media (max-width: 780px) {
  body.omdream-home .omd-container{ width: calc(100% - 28px) !important; }
  
  
  
  
  
  
}

/* v8.5 — cabecera basada en la propuesta aprobada. No altera el contenido de la página. */
body.omdream-home{ margin-top: 0 !important; }
body.omdream-home #main, body.omdream-home #content{ padding-top: 0 !important; margin-top: 0 !important; }
body.omdream-home .omd-site{ margin-top: 0 !important; padding-top: 0 !important; }

body.omdream-home .omd-container{ width: min(1360px, calc(100% - 40px)) !important; }

@media (max-width: 1180px) and (min-width: 781px) {
  body.omdream-home .omd-container{ width: calc(100% - 32px) !important; }
  
  
  
  
  
  
  
  
}
@media (max-width: 780px) {
  
  
  
  
  body.omdream-home .omd-container{ width: calc(100% - 28px) !important; }
  
  
  
  
  
}

/* v8.6 — pulido final de cabecera: franja alineada con el encuadre, color de marca y tipografía nítida.
   No modifica las secciones ni el contenido del resto de la página. */
body.omdream-home .omd-site{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.omdream-home .omd-container{
  width: min(1360px, calc(100% - 40px)) !important;
}

@media (max-width: 1180px) and (min-width: 781px) {
  body.omdream-home .omd-container{ width: calc(100% - 32px) !important; }
  
  
  
  
  
  
  
  
}
@media (max-width: 780px) {
  body.omdream-home .omd-container{ width: calc(100% - 28px) !important; }
  
  
  
  
  
  
  
  
  
}

/* v8.9 — iguala la tipografía del menú a la tipografía principal de la home y compacta el espaciado. */

/* v8.10 — menú con separación natural, logo original y franja alineada al encuadre. */

/* v8.12 — cabecera de ancho completo basada en la maqueta aprobada.
   Se conserva la estructura HTML y el resto de la home de v8.10. */

/* v8.13 — corrección integral de proporciones de cabecera basada en la captura real.
   Mantiene estructura, contenido y resto de secciones de v8.10/v8.12. */

/* v8.14 — corrección puntual de alineación de logo, Inicio y desplegables.
   No modifica contenido ni secciones de la home. */

/* v8.15 — último ajuste: logo oficial nítido y alineado al marco común.
   No altera contenido ni estructura de otras secciones. */

/* v8.16 — footer de cuatro columnas. Se limita al pie de página de esta home. */
body.omdream-home .omd-footer{
  position: relative;
  color: #e3e3e3;
  background: #242626;
  font-family: inherit;
  overflow: hidden;
}
body.omdream-home .omd-footer-main{
  position: relative;
  padding: 54px 0 48px;
  background:
    radial-gradient(ellipse at 0% 100%, rgba(237,28,36,.10), transparent 36%),
    radial-gradient(ellipse at 100% 95%, rgba(237,28,36,.08), transparent 30%),
    #242626;
}
body.omdream-home .omd-footer-grid{
  display: grid;
  grid-template-columns: 1.08fr 1fr 1fr 1.12fr;
  gap: 30px;
  align-items: start;
}
body.omdream-home .omd-footer-column{
  min-width: 0;
  padding: 0 0 0 28px;
  border-left: 1px solid rgba(255,255,255,.15);
}
body.omdream-home .omd-footer-column:first-child{
  padding-left: 0;
  border-left: 0;
}
body.omdream-home .omd-footer-column h2{
  margin: 0 0 12px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .035em;
  text-transform: uppercase;
}
body.omdream-home .omd-footer-heading-line{
  display: block;
  width: 42px;
  height: 4px;
  margin: 0 0 18px;
  background: #ed1c24;
}
body.omdream-home .omd-footer ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
body.omdream-home .omd-footer-post-list li, body.omdream-home .omd-footer-page-list li{
  margin: 0;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,.13);
}
body.omdream-home .omd-footer-post-list li:last-child, body.omdream-home .omd-footer-page-list li:last-child{ border-bottom: 0; }
body.omdream-home .omd-footer a{
  color: #d7d9d9;
  text-decoration: none;
  transition: color .18s ease;
}
body.omdream-home .omd-footer a:hover, body.omdream-home .omd-footer a:focus-visible{ color: #ed1c24; }
body.omdream-home .omd-footer-post-list > li > a, body.omdream-home .omd-footer-page-list a{
  display: block;
  position: relative;
  padding-left: 15px;
  font-size: 14px;
  line-height: 1.55;
}
body.omdream-home .omd-footer-post-list > li > a::before, body.omdream-home .omd-footer-page-list a::before{
  content: "›";
  position: absolute;
  left: 0;
  top: -1px;
  color: #ed1c24;
  font-size: 20px;
  line-height: 1.2;
}
body.omdream-home .omd-footer-popular-list li > a{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-left: 0;
}
body.omdream-home .omd-footer-popular-list li > a::before{ content: none; }
body.omdream-home .omd-footer-thumb{
  display: block;
  flex: 0 0 66px;
  width: 66px;
  height: 58px;
  overflow: hidden;
  background: #343737;
}
body.omdream-home .omd-footer-thumb img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.omdream-home .omd-footer-post-copy{ display: block; min-width: 0; }
body.omdream-home .omd-footer-post-copy > span{
  display: block;
  font-size: 14px;
  line-height: 1.4;
}
body.omdream-home .omd-footer-post-copy time{
  display: block;
  margin-top: 4px;
  color: #9fa3a3;
  font-size: 11px;
  line-height: 1.4;
}
body.omdream-home .omd-footer-muted{ color: #b4b8b8; font-size: 14px; }
body.omdream-home .omd-footer-business address{ font-style: normal; }
body.omdream-home .omd-footer-business address p{
  display: grid;
  grid-template-columns: 22px minmax(0,1fr);
  gap: 12px;
  align-items: start;
  margin: 0 0 13px;
  color: #bfc3c3;
  font-size: 14px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
body.omdream-home .omd-footer-icon{
  color: #ed1c24;
  font-size: 19px;
  line-height: 1.35;
  text-align: center;
}
body.omdream-home .omd-footer-bottom{
  border-top: 1px solid rgba(255,255,255,.2);
  background: #1d1f1f;
}
body.omdream-home .omd-footer-bottom-inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding-top: 17px;
  padding-bottom: 17px;
}
body.omdream-home .omd-footer-bottom p{
  margin: 0;
  color: #9fa3a3;
  font-size: 11px;
  line-height: 1.6;
}
body.omdream-home .omd-footer-bottom a{ color: #ed1c24; }
@media (max-width: 1100px) {
  body.omdream-home .omd-footer-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 36px; }
  body.omdream-home .omd-footer-column:nth-child(3){ padding-left: 0; border-left: 0; }
  body.omdream-home .omd-footer-bottom-inner{ align-items: flex-start; flex-direction: column; gap: 6px; }
}
@media (max-width: 600px) {
  body.omdream-home .omd-footer-main{ padding: 38px 0 32px; }
  body.omdream-home .omd-footer-grid{ grid-template-columns: minmax(0,1fr); gap: 28px; }
  body.omdream-home .omd-footer-column, body.omdream-home .omd-footer-column:nth-child(3){ padding: 0; border-left: 0; }
  body.omdream-home .omd-footer-column h2{ font-size: 14px; }
  body.omdream-home .omd-footer-post-list > li > a, body.omdream-home .omd-footer-page-list a, body.omdream-home .omd-footer-post-copy > span, body.omdream-home .omd-footer-business address p{ font-size: 14px; }
  body.omdream-home .omd-footer-bottom-inner{ padding-top: 14px; padding-bottom: 14px; }
}

/* v8.17 — alineación final del logo con el contenedor principal.
   Se conserva el resto de la cabecera y de la home. */

/* v8.18 — cambios solicitados únicamente:
   fondo de «Hablemos de su proyecto» a juego con el footer y logos de clientes
   en color al pasar el ratón/foco. */
body.omdream-home .omd-contact-banner{
  background:
    radial-gradient(ellipse at 0% 100%, rgba(237,28,36,.10), transparent 36%),
    radial-gradient(ellipse at 100% 95%, rgba(237,28,36,.08), transparent 30%),
    #242626 !important;
}
body.omdream-home .omd-contact-banner .omd-contact-bg{
  background-image: none !important;
  background-color: transparent !important;
}
body.omdream-home .omd-contact-banner::after{
  background: none !important;
  opacity: 0 !important;
}
body.omdream-home .omd-client-logo img{
  transition: filter .25s ease, opacity .25s ease, transform .25s ease !important;
}
body.omdream-home .omd-client-logo:hover img, body.omdream-home .omd-client-logo:focus-within img{
  filter: grayscale(0) !important;
  opacity: 1 !important;
}
@media (prefers-reduced-motion: reduce) {
  body.omdream-home .omd-client-logo img{ transition: none !important; }
}

/* v8.21 — ajustes solicitados exclusivamente para el logo de cabecera. */

/* v8.22 — adaptación exclusiva del Hero en tablet y móvil.
   No se modifican reglas de escritorio, HTML, textos, logotipo, menú ni otras secciones. */
@media (min-width: 781px) and (max-width: 1024px) {
  body.omdream-home .omd-hero{
    min-height: 560px !important;
    overflow: hidden !important;
  }
  body.omdream-home .omd-hero-inner{
    min-height: 560px !important;
    padding: 42px 34px 32px !important;
    display: flex !important;
    align-items: center !important;
  }
  body.omdream-home .omd-hero-background{
    inset: 0 !important;
    background-image: url("../img/hero-laptop.jpg") !important;
    background-size: cover !important;
    background-position: 58% center !important;
    background-repeat: no-repeat !important;
  }
  body.omdream-home .omd-hero:after{
    inset: 0 !important;
    background: linear-gradient(90deg, rgba(8,10,14,.88) 0%, rgba(8,10,14,.76) 48%, rgba(8,10,14,.34) 100%) !important;
  }
  body.omdream-home .omd-hero-copy{
    width: 72% !important;
    max-width: 620px !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 2 !important;
  }
  body.omdream-home .omd-hero .omd-eyebrow, body.omdream-home .omd-hero .omd-lead, body.omdream-home .omd-hero .omd-hero-highlights div{
    color: #fff !important;
  }
  body.omdream-home .omd-hero h1{ color: #fff !important; }
  body.omdream-home .omd-hero h1 span{ color: #ed1c24 !important; }
  body.omdream-home .omd-hero .omd-hero-highlights{ max-width: 620px !important; }
  body.omdream-home .omd-hero .omd-line-icon{ color: #ed1c24 !important; }
  body.omdream-home .omd-hero-cards{ display: none !important; }
}
@media (max-width: 780px) {
  body.omdream-home .omd-hero{
    min-height: 0 !important;
    background: #111318 !important;
    overflow: hidden !important;
  }
  body.omdream-home .omd-hero-inner{
    min-height: 0 !important;
    display: block !important;
    padding: 38px 22px 30px !important;
  }
  body.omdream-home .omd-hero-background{
    inset: 0 !important;
    background-image: url("../img/hero-laptop-mobile.jpg") !important;
    background-size: cover !important;
    background-position: 62% center !important;
    background-repeat: no-repeat !important;
    opacity: 1 !important;
  }
  body.omdream-home .omd-hero:after{
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(8,10,14,.82) 0%, rgba(8,10,14,.88) 58%, rgba(8,10,14,.96) 100%) !important;
  }
  body.omdream-home .omd-hero-copy{
    width: 100% !important;
    max-width: 560px !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 2 !important;
  }
  body.omdream-home .omd-hero .omd-eyebrow, body.omdream-home .omd-hero .omd-lead, body.omdream-home .omd-hero .omd-hero-highlights div{
    color: #fff !important;
  }
  body.omdream-home .omd-hero h1{
    color: #fff !important;
    font-size: clamp(32px, 8.5vw, 43px) !important;
    line-height: 1.05 !important;
    text-shadow: 0 1px 8px rgba(0,0,0,.18) !important;
  }
  body.omdream-home .omd-hero h1 span{ color: #ed1c24 !important; }
  body.omdream-home .omd-hero .omd-line-icon{ color: #ed1c24 !important; }
  body.omdream-home .omd-hero-highlights{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 14px !important;
    margin-top: 22px !important;
  }
  body.omdream-home .omd-hero-highlights div{
    white-space: normal !important;
    align-items: flex-start !important;
    font-size: 11px !important;
  }
  body.omdream-home .omd-hero-cards{ display: none !important; }
}
@media (max-width: 420px) {
  body.omdream-home .omd-hero-inner{ padding: 32px 18px 26px !important; }
  body.omdream-home .omd-hero h1{ font-size: clamp(30px, 8.2vw, 36px) !important; }
}

/* v8.23 — contenido del footer editable mediante áreas de widgets de WordPress. */
body.omdream-home .omd-footer-column .widget{
  margin: 0 0 16px;
  color: #e3e3e3;
}
body.omdream-home .omd-footer-column .widget-title{
  margin: 0 0 10px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}
body.omdream-home .omd-footer-column .widget a{
  color: #e3e3e3;
  text-decoration: none;
}
body.omdream-home .omd-footer-column .widget a:hover{
  color: #fff;
  text-decoration: underline;
}
body.omdream-home .omd-footer-column .widget ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
body.omdream-home .omd-footer-column .widget li{
  margin: 0 0 10px;
}

/* v8.26 — alineación precisa del enlace de WhatsApp con el borde derecho
   del bloque de contacto del encabezado. No altera el resto de la cabecera. */

/* v8.27 — CTA de servicios: borde degradado negro-rojo; contenido rojo sólido.
   El resto de enlaces .omd-text-link (incluido el blog) conserva su estilo. */
body.omdream-home .omd-service-card .omd-service-cta{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-height: 42px !important;
  padding: 8px 17px !important;
  border: 2px solid transparent !important;
  border-radius: 999px !important;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(110deg, #171717 0%, #555 38%, #d51f2a 100%) border-box !important;
  color: var(--omd-red, #ed1c24) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}
body.omdream-home .omd-service-card .omd-service-cta:hover{
  color: var(--omd-red, #ed1c24) !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(20, 20, 20, .10) !important;
}
body.omdream-home .omd-service-cta-icon{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  color: var(--omd-red, #ed1c24) !important;
}
body.omdream-home .omd-service-cta-icon svg{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
body.omdream-home .omd-service-cta-label, body.omdream-home .omd-service-cta-arrow{
  color: var(--omd-red, #ed1c24) !important;
}
body.omdream-home .omd-service-cta-arrow{
  font-size: 21px !important;
  line-height: .8 !important;
  font-weight: 700 !important;
}
@media (max-width: 767px) {
  body.omdream-home .omd-service-card .omd-service-cta{
    min-height: 40px !important;
    padding: 7px 14px !important;
    gap: 9px !important;
  }
}

/* v8.28 — carrusel continuo de logotipos, de derecha a izquierda. */
body.omdream-home .omd-client-logos{
  display: block !important;
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  min-height: 56px !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 3%, #000 97%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 3%, #000 97%, transparent 100%);
}
body.omdream-home .omd-client-track{
  display: flex !important;
  align-items: center !important;
  width: max-content !important;
  animation: omd-client-marquee 34s linear infinite !important;
  will-change: transform;
}
body.omdream-home .omd-client-group{
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: space-around !important;
  gap: clamp(28px, 4vw, 64px) !important;
  padding-right: clamp(28px, 4vw, 64px) !important;
}
body.omdream-home .omd-client-logo{
  flex: 0 0 150px !important;
  width: 150px !important;
  min-width: 150px !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.omdream-home .omd-client-logo img{
  max-width: 140px !important;
  max-height: 42px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
body.omdream-home .omd-client-logos:hover .omd-client-track{
  animation-play-state: paused !important;
}
@keyframes omd-client-marquee {
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@media (max-width: 780px) {
  body.omdream-home .omd-client-logo{
    flex-basis: 120px !important;
    width: 120px !important;
    min-width: 120px !important;
  }
  body.omdream-home .omd-client-logo img{
    max-width: 112px !important;
    max-height: 38px !important;
  }
  body.omdream-home .omd-client-track{
    animation-duration: 28s !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.omdream-home .omd-client-track{
    animation: none !important;
    transform: none !important;
  }
  body.omdream-home .omd-client-group[aria-hidden="true"]{
    display: none !important;
  }
  body.omdream-home .omd-client-logos{
    overflow: visible !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  body.omdream-home .omd-client-group:first-child{
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
}

/* v8.33 — el margen derecho de WhatsApp se calcula desde el borde real
   del email del encabezado; no se utilizan desplazamientos fijos. */

/* v8.34 — WhatsApp más compacto y teléfono alineado al borde derecho del email. */

/* v8.35 — alinea el borde derecho de los tres contactos con el contenedor
   principal del contenido (1360px máx. / 40px de margen lateral). */

/* v8.36 — una única referencia geométrica para la franja superior,
   los datos de contacto y el contenido principal. El borde derecho de
   todos coincide con el borde derecho de .omd-container. */

/* v8.37 — evita que la caja transparente de contacto se superponga al menú.
   El bloque conserva su alineación; la navegación queda por encima y operativa. */

/* v8.38 — alineación a la derecha usando el contenedor real compartido.
   La franja superior y el bloque de contacto del encabezado toman como
   referencia el mismo .omd-container que utiliza el contenido de la página. */

/* v8.40 — corrección de regresiones de cabecera sin alterar logo ni menú.
   Los contactos comparten la coordenada derecha calculada desde el contenido.
   El bloque ocupa solo su propio tamaño para no cubrir la navegación. */

/* v8.41 — reconstrucción estable de la fila de cabecera.
   Logo, navegación y contacto ocupan columnas independientes: el contacto
   deja de posicionarse en absoluto y ya no puede invadir el menú. */

/* v8.42 — alineación común real y navegación compacta.
   El borde derecho se calcula desde .omd-services .omd-container (JS).
   No se modifica el HTML ni los href tel:/mailto:. */

/* v8.43 — cabecera alineada con el contenedor real, sin desplazar el logo.
   La fila usa tres columnas: marca, navegación compacta y contactos. */

/* v8.44 — cabecera reconstruida: una sola estructura, sin reglas heredadas contradictorias. */
body.omdream-home .omd-topbar {
  position: relative; z-index: 31; width: 100%; height: 48px; min-height: 48px;
  margin: 0; padding: 0; background: #ed1c24; box-sizing: border-box;
}
body.omdream-home .omd-topbar::after { content: none; }
body.omdream-home .omd-topbar-inner {
  width: min(1360px, calc(100% - 40px)); max-width: 1360px; height: 100%;
  margin: 0 auto; padding: 0; display: flex; align-items: center; justify-content: flex-end;
  box-sizing: border-box;
}
body.omdream-home .omd-topbar-inner > a {
  display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px;
  margin: 0; padding: 0; color: #fff; font-family: Inter,"Helvetica Neue",Arial,sans-serif; font-size: 13px; font-weight: 700; line-height: 1.2; text-decoration: none;
  white-space: nowrap;
}
body.omdream-home .omd-topbar-inner > a:hover,
body.omdream-home .omd-topbar-inner > a:focus-visible { color: #fff; text-decoration: underline; }
body.omdream-home .omd-topbar svg { display: block; width: 23px; height: 23px; flex: 0 0 23px; fill: currentColor; }

body.omdream-home .omd-header {
  position: relative; z-index: 30; width: 100%; height: 104px; min-height: 104px;
  margin: 0; padding: 0; background: #fff; border: 0; box-sizing: border-box;
}
body.omdream-home .omd-header-inner {
  width: min(1360px, calc(100% - 40px)); max-width: 1360px; height: 100%; min-height: 0;
  margin: 0 auto; padding: 0; display: grid; grid-template-columns: 190px minmax(0,1fr);
  align-items: center; column-gap: 18px; position: relative; box-sizing: border-box;
}
body.omdream-home .omd-brand {
  grid-column: 1; display: flex; align-items: center; justify-content: flex-start;
  width: 190px; max-width: 190px; min-width: 0; margin: 0; padding: 0;
  position: static; transform: none; flex: none;
}
body.omdream-home .omd-brand img {
  display: block; width: 180px; max-width: 180px; height: auto; max-height: 62px;
  margin: 0; padding: 0; object-fit: contain; object-position: left center;
}
body.omdream-home .omd-header-tools {
  grid-column: 2; min-width: 0; width: 100%; display: flex; align-items: center;
  justify-content: flex-start; gap: 24px; position: relative; margin: 0; padding: 0;
}
body.omdream-home .omd-nav {
  position: static; display: flex; flex: 0 1 auto; align-items: center; justify-content: flex-start;
  flex-wrap: nowrap; gap: 23px; width: auto; min-width: 0; max-width: none;
  margin: 0 0 0 76px; padding: 0; transform: none; white-space: nowrap;
}
body.omdream-home .omd-nav > a,
body.omdream-home .omd-nav .omd-nav-trigger {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  margin: 0; padding: 15px 0 13px; border: 0; border-bottom: 2px solid transparent;
  background: transparent; color: #161923; font: 600 13px/1.25 Inter,"Helvetica Neue",Arial,sans-serif;
  text-decoration: none; white-space: nowrap; cursor: pointer;
}
body.omdream-home .omd-nav > a:hover,
body.omdream-home .omd-nav > a:focus-visible,
body.omdream-home .omd-nav .omd-nav-trigger:hover,
body.omdream-home .omd-nav .omd-nav-trigger:focus-visible,
body.omdream-home .omd-nav > a.is-active { color: #ed1c24; }
body.omdream-home .omd-nav > a.is-active { border-bottom-color: #ed1c24; }
body.omdream-home .omd-nav-trigger { gap: 5px; }
body.omdream-home .omd-nav-trigger > span { display: inline-block; position: relative; top: -1px; line-height: 1; }
body.omdream-home .omd-nav-item { position: relative; display: flex; align-items: center; height: auto; }
body.omdream-home .omd-submenu {
  display: none; position: absolute; z-index: 50; top: 100%; left: -12px; min-width: 190px;
  margin: 0; padding: 8px; background: #fff; border: 1px solid #eceef2; border-radius: 7px;
  box-shadow: 0 14px 30px rgba(16,21,34,.13);
}
body.omdream-home .omd-nav-item:hover > .omd-submenu,
body.omdream-home .omd-nav-item:focus-within > .omd-submenu,
body.omdream-home .omd-nav-item.is-open > .omd-submenu { display: block; }
body.omdream-home .omd-submenu a { display: block; margin: 0; padding: 9px 11px; border: 0; border-radius: 4px; color: #161923; font-size: 12px; line-height: 1.4; text-decoration: none; }
body.omdream-home .omd-submenu a:hover,
body.omdream-home .omd-submenu a:focus-visible { background: #fff2f4; color: #ed1c24; }
body.omdream-home .omd-header-contact-text {
  display: flex; flex: 0 0 174px; width: 174px; max-width: 174px; min-width: 174px;
  flex-direction: column; align-items: flex-end; justify-content: center; gap: 5px;
  margin: 0 0 0 auto; padding: 0; border: 0; position: static; transform: none;
  text-align: right; white-space: nowrap;
}
body.omdream-home .omd-header-contact-text a {
  display: block; margin: 0; padding: 0; color: #101522; font-size: 14px; line-height: 1.3;
  text-align: right; text-decoration: none; pointer-events: auto;
}
body.omdream-home .omd-header-contact-text a:first-child { color: #ed1c24; font-weight: 700; }
body.omdream-home .omd-header-contact-text a:hover,
body.omdream-home .omd-header-contact-text a:focus-visible { text-decoration: underline; }
body.omdream-home .omd-menu-toggle { display: none; }

@media (max-width: 1180px) and (min-width: 781px) {
  body.omdream-home .omd-header-inner { grid-template-columns: 165px minmax(0,1fr); column-gap: 18px; }
  body.omdream-home .omd-brand, body.omdream-home .omd-brand img { width: 160px; max-width: 160px; }
  body.omdream-home .omd-header-tools { gap: 16px; }
  body.omdream-home .omd-nav { gap: 11px; }
  body.omdream-home .omd-nav > a, body.omdream-home .omd-nav .omd-nav-trigger { font-size: 11px; }
  body.omdream-home .omd-header-contact-text { flex-basis: 155px; width: 155px; min-width: 155px; }
  body.omdream-home .omd-header-contact-text a { font-size: 12px; }
}
@media (max-width: 900px) and (min-width: 781px) {
  body.omdream-home .omd-header-inner { grid-template-columns: 140px minmax(0,1fr); column-gap: 12px; }
  body.omdream-home .omd-brand, body.omdream-home .omd-brand img { width: 136px; max-width: 136px; }
  body.omdream-home .omd-header-tools { gap: 10px; }
  body.omdream-home .omd-nav { gap: 7px; }
  body.omdream-home .omd-nav > a, body.omdream-home .omd-nav .omd-nav-trigger { font-size: 10px; }
  body.omdream-home .omd-header-contact-text { flex-basis: 135px; width: 135px; min-width: 135px; }
  body.omdream-home .omd-header-contact-text a { font-size: 10px; }
}
@media (max-width: 780px) {
  body.omdream-home .omd-topbar { height: 42px; min-height: 42px; }
  body.omdream-home .omd-topbar-inner { width: calc(100% - 36px); }
  body.omdream-home .omd-topbar-inner > a { font-size: 11px; }
  body.omdream-home .omd-topbar svg { width: 19px; height: 19px; flex-basis: 19px; }
  body.omdream-home .omd-header { height: 70px; min-height: 70px; }
  body.omdream-home .omd-header-inner { width: calc(100% - 36px); display: flex; justify-content: space-between; gap: 12px; }
  body.omdream-home .omd-brand { width: auto; max-width: 160px; }
  body.omdream-home .omd-brand img { width: 145px; max-width: 100%; max-height: 52px; }
  body.omdream-home .omd-header-tools { display: contents; }
  body.omdream-home .omd-menu-toggle {
    display: flex; order: 2; flex: 0 0 38px; width: 38px; height: 38px; margin-left: auto;
    flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    border: 1px solid #e4e6eb; border-radius: 50%; background: #fff; cursor: pointer;
  }
  body.omdream-home .omd-menu-toggle span { display: block; width: 16px; height: 2px; background: #171b25; }
  body.omdream-home .omd-nav {
    display: none; position: absolute; z-index: 60; top: 100%; left: 0; right: 0; width: 100%;
    max-width: none; min-width: 0; margin: 0; padding: 10px 18px 16px; flex-direction: column;
    align-items: stretch; gap: 0; background: #fff; border-top: 1px solid #eceef2;
    box-shadow: 0 12px 20px rgba(0,0,0,.08); white-space: normal;
  }
  body.omdream-home .omd-nav.is-open { display: flex; }
  body.omdream-home .omd-nav > a, body.omdream-home .omd-nav .omd-nav-trigger {
    display: flex; justify-content: flex-start; width: 100%; padding: 11px 4px;
    border: 0; border-bottom: 1px solid #f0f1f4; font-size: 13px;
  }
  body.omdream-home .omd-nav-item { display: block; width: 100%; }
  body.omdream-home .omd-submenu { position: static; min-width: 0; padding: 0 0 6px 12px; border: 0; border-radius: 0; box-shadow: none; background: #fafafa; }
  body.omdream-home .omd-submenu a { padding: 9px 10px; font-size: 12px; }
  body.omdream-home .omd-header-contact-text { display: none; }
}

/* v8.47 — reduce únicamente el espacio vertical entre la cabecera y el Hero.
   No modifica alturas, contenido ni estilos del Hero; acerca la sección al menú. */
@media (min-width: 781px) {
  body.omdream-home .omd-hero {
    margin-top: -18px !important;
  }
}
