/* ==========================================================================
   OMNI Homepage — styles for template-omni-home.php
   Everything is scoped to #omni-home so it can't leak into the rest of the
   site or get overridden by the theme's Bootstrap 3 styles.
   Sizes use px, not rem, because Bootstrap 3 sets html { font-size: 10px }.
   ========================================================================== */

/* Hide the "Home" breadcrumb / Facebook bar on this template only */
body.page-template-template-omni-home #page-sub-header { display: none; }

#omni-home {
  --omni-green: #1a5c3a;
  --omni-green-deep: #0f3d26;
  --omni-teal: #12a8d8;          /* decorative accent */
  --omni-teal-text: #0a7fa8;     /* accessible teal for text + buttons */
  --omni-teal-hover: #086a8d;
  --omni-ink: #18251e;
  --omni-muted: #56645d;
  --omni-slate: #6d6e71;
  --omni-line: #dde6e1;
  --omni-mist: #f2f7f4;
  --omni-grad: linear-gradient(100deg, #1a5c3a 0%, #1d7656 40%, #12a8d8 100%);
  --omni-display: "Outfit", "Helvetica Neue", Helvetica, Arial, sans-serif;

  color: var(--omni-ink);
  font-size: 16px;
  line-height: 1.6;
  padding: 0 0 24px; /* hero sits directly under the site menu; small breathing room before the footer */
}
#omni-home *, #omni-home *::before, #omni-home *::after { box-sizing: border-box; }
#omni-home h1, #omni-home h2, #omni-home h3, #omni-home p, #omni-home ul { margin: 0; padding: 0; }
#omni-home a, #omni-home a:hover, #omni-home a:focus { text-decoration: none; }
#omni-home a:focus-visible { outline: 3px solid var(--omni-teal); outline-offset: 3px; border-radius: 6px; }
#omni-home svg { display: block; overflow: visible; } /* never clip icon strokes at the edges */

#omni-home .omni-section { margin-top: 96px; }
#omni-home .omni-hero + .omni-section { margin-top: 40px; } /* pull the services intro up closer to the hero, centering it in the gap above the columns */
#omni-home .omni-h2 {
  font-family: var(--omni-display);
  font-weight: 700;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: var(--omni-ink);
}
#omni-home .omni-lede { margin-top: 14px; max-width: 620px; font-size: 17px; color: var(--omni-muted); }

/* ---------- Buttons ---------- */
#omni-home .omni-actions { display: flex; flex-wrap: wrap; gap: 12px; }
/* Closing CTA: Online/Download Application stacked on the left, phone number(s) stacked on the right */
#omni-home .omni-cta__btns { display: flex; flex-wrap: wrap; gap: 16px; }
#omni-home .omni-cta__col { display: flex; flex-direction: column; gap: 12px; }
#omni-home .omni-cta__col .omni-btn { justify-content: center; }
#omni-home .omni-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 15px 28px;
  border: 2px solid transparent; border-radius: 999px;
  font-family: var(--omni-display); font-size: 16px; font-weight: 600; line-height: 1.2;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
#omni-home .omni-btn svg { width: 18px; height: 18px; flex: none; }
#omni-home .omni-btn--primary { background: var(--omni-teal-text); color: #fff; }
#omni-home .omni-btn--primary:hover, #omni-home .omni-btn--primary:focus { background: var(--omni-teal-hover); color: #fff; }
#omni-home .omni-btn--ghost { background: #fff; color: var(--omni-green); border-color: rgba(26, 92, 58, .35); }
#omni-home .omni-btn--ghost:hover, #omni-home .omni-btn--ghost:focus { background: var(--omni-green); border-color: var(--omni-green); color: #fff; }
#omni-home .omni-btn--green { background: var(--omni-green); color: #fff; }
#omni-home .omni-btn--green:hover, #omni-home .omni-btn--green:focus { background: var(--omni-green-deep); color: #fff; }
#omni-home .omni-btn--white { background: #fff; color: var(--omni-green-deep); }
#omni-home .omni-btn--white:hover, #omni-home .omni-btn--white:focus { background: #e3f4fa; color: var(--omni-green-deep); }
#omni-home .omni-btn--line { color: #fff; border-color: rgba(255, 255, 255, .5); }
#omni-home .omni-btn--line:hover, #omni-home .omni-btn--line:focus { background: rgba(255, 255, 255, .12); border-color: #fff; color: #fff; }
/* Big standalone button variant, e.g. a resource-center link above a banner image */
#omni-home .omni-btn--big { padding: 22px 48px; font-size: 19px; }

/* ---------- Standalone resource-center style CTA button, centered on its own line ---------- */
#omni-home .omni-resources-cta { text-align: center; }

/* ---------- OMNI wordmark lockup (built in type, no image needed) ---------- */
#omni-home .omni-lockup {
  display: inline-flex; flex-direction: column; align-items: stretch;
  font-family: var(--omni-display); line-height: 1; text-align: center;
}
#omni-home .omni-lockup__word {
  font-weight: 800; letter-spacing: -0.02em; padding: 0 .02em;
  background: var(--omni-grad);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: var(--omni-green);
}
#omni-home .omni-lockup__sub {
  font-weight: 600; color: var(--omni-slate);
  text-transform: uppercase; letter-spacing: .14em; padding-left: .14em;
  background: linear-gradient(90deg, var(--omni-green), var(--omni-teal)) top center / 100% 3px no-repeat;
}
#omni-home .omni-lockup--xl .omni-lockup__word { font-size: clamp(88px, 12vw, 160px); }
#omni-home .omni-lockup--xl .omni-lockup__sub  { font-size: clamp(30px, 4.1vw, 54px); padding-top: .18em; margin-top: 0; background: none; } /* the real logo already has its own underline */
#omni-home .omni-lockup--sm .omni-lockup__word { font-size: 46px; }
/* Real OMNI logo (replaces the CSS-drawn wordmark) in the hero and the service columns */
#omni-home .omni-logo-img { display: block; height: clamp(130px, 18vw, 230px); width: auto; } /* full lockup now includes the sub-word, so it needs more height than the old OMNI-only crop did */
#omni-home .omni-logo-img--sm { height: 76px; }

#omni-home .omni-lockup--sm .omni-lockup__sub  { font-size: 21px; padding-top: .16em; margin-top: 0; background: none; } /* the real logo already has its own underline */

/* ---------- Hero ---------- */
#omni-home .omni-hero {
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: 32px;
  padding: 64px;
  border: 1px solid var(--omni-line); border-radius: 28px;
  background:
    radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
    linear-gradient(180deg, #f8fbf9, #eef5f1);
}
/* Homepage only: a warm local photo sits behind the whole card; a soft cream
   scrim fades in from the copy side so the headline stays crisp, while it
   shows through more openly behind the OMNI SPHERE orbit. Other pages (Net,
   View, Voice, bundles) share the .omni-hero rule above but keep the plain
   gradient background — this override only fires on the home template. */
body.page-template-template-omni-home #omni-home .omni-hero {
  background:
    radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
    linear-gradient(100deg, rgba(248, 251, 249, .68) 0%, rgba(248, 251, 249, .62) 38%, rgba(248, 251, 249, .24) 62%, rgba(238, 245, 241, .05) 100%),
    url('/wp-content/uploads/2026/10/MIDTEL-Homepage-Picture-scaled-1.jpg') center/cover no-repeat,
    linear-gradient(180deg, #f8fbf9, #eef5f1);
}
#omni-home .omni-hero__copy, #omni-home .omni-hero__art { position: relative; }
/* Tagline, buttons, and phone line share one center line with the OMNI SPHERE wordmark */
#omni-home .omni-hero__stack { display: flex; flex-direction: column; align-items: center; width: fit-content; max-width: 100%; text-align: center; }
#omni-home .omni-hero__brand { display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
#omni-home .omni-hero .omni-actions { justify-content: center; }
#omni-home .omni-hero__intro {
  display: inline-block; margin-bottom: 22px;
  transform: rotate(-7deg); transform-origin: left bottom;
  font-family: var(--omni-display); font-size: 36px; font-weight: 700; font-style: italic; letter-spacing: .01em;
  background: linear-gradient(100deg, var(--omni-green) 10%, var(--omni-teal) 35%, #eafcff 50%, var(--omni-teal) 65%, var(--omni-green) 90%);
  background-size: 180% auto;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--omni-teal-text);
  filter: drop-shadow(0 2px 2px rgba(15, 61, 38, .18));
  animation: omni-intro-shine 3.2s linear infinite;
}
@keyframes omni-intro-shine { to { background-position: -220% center; } }
@media (prefers-reduced-motion: reduce) { #omni-home .omni-hero__intro { animation: none; } }
#omni-home .omni-hero__tag { margin: 30px auto 0; max-width: 500px; text-align: center; text-wrap: pretty; font-family: var(--omni-display); font-size: 19px; line-height: 1.5; color: var(--omni-muted); }
#omni-home .omni-hero__tag strong { display: block; margin-bottom: 4px; color: var(--omni-ink); font-weight: 600; }
#omni-home .omni-hero .omni-actions { margin-top: 30px; }
#omni-home .omni-hero__call { margin-top: 20px; font-size: 15px; color: var(--omni-muted); }
#omni-home .omni-hero__call a { color: var(--omni-green); font-weight: 600; border-bottom: 1px solid rgba(26, 92, 58, .3); }
#omni-home .omni-hero__call a:hover { border-bottom-color: var(--omni-green); }

/* The sphere: OMNI core with Net / View / Voice in orbit */
#omni-home .omni-orbit {
  position: relative; width: min(100%, 470px); aspect-ratio: 1 / 1; margin: 0 auto;
  container-type: inline-size;
}
/* Constellation ring that frames the orbit (sized in orbit units, so it hugs the bubbles on every screen) */
#omni-home .omni-orbit__net { position: absolute; left: -25%; top: -25%; width: 150%; height: 150%; overflow: visible; pointer-events: none; }
/* Homepage only: darken the constellation ring so it stands out against the photo behind it */
body.page-template-template-omni-home #omni-home .omni-orbit__net > g:first-of-type { stroke: var(--omni-green); }
body.page-template-template-omni-home #omni-home .omni-orbit__net > g:first-of-type > circle { opacity: .65; }
body.page-template-template-omni-home #omni-home .omni-orbit__net > g:first-of-type > line { opacity: .7; }
body.page-template-template-omni-home #omni-home .omni-orbit__net > g:last-of-type { fill: var(--omni-green); }
body.page-template-template-omni-home #omni-home .omni-orbit__net > g:last-of-type > circle { opacity: .85; }
#omni-home .omni-orbit__core {
  position: absolute; inset: 27.5%; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: #fff; font-family: var(--omni-display);
  background: radial-gradient(circle at 32% 26%, rgba(255, 255, 255, .5), transparent 44%), var(--omni-grad);
  box-shadow: 0 30px 60px -22px rgba(15, 61, 38, .6), inset 0 -14px 30px rgba(0, 0, 0, .16);
}
#omni-home .omni-orbit__core img.omni-orbit__logo { width: 37cqw; height: auto; filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .25)); }
#omni-home .omni-orbit__core span { margin-top: .15em; padding-left: .3em; font-size: 3cqw; font-weight: 600; letter-spacing: .3em; opacity: .9; color: #fff; }
#omni-home .omni-orbit__spin { position: absolute; inset: 0; animation: omni-spin 90s linear infinite; }
#omni-home .omni-sat {
  position: absolute; top: 50%; left: 50%;
  width: 25cqw; height: 25cqw; margin: -12.5cqw 0 0 -12.5cqw;
  transform: rotate(var(--a)) translateY(-35cqw) rotate(calc(var(--a) * -1));
}
#omni-home .omni-sat__inner {
  width: 100%; height: 100%; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.2cqw;
  background: #fff; color: var(--omni-green);
  box-shadow: 0 14px 30px -14px rgba(15, 61, 38, .45), 0 0 0 1px var(--omni-line);
  animation: omni-spin 90s linear infinite reverse;
}
#omni-home .omni-sat__inner svg { width: 9.5cqw; height: 9.5cqw; }
#omni-home .omni-sat__inner span { padding-left: .16em; font-family: var(--omni-display); font-size: 3.1cqw; font-weight: 700; letter-spacing: .16em; color: var(--omni-slate); }
@keyframes omni-spin { to { transform: rotate(360deg); } }
/* Clickable spheres: pause the orbit while someone is pointing at or tabbing to it */
#omni-home .omni-orbit:hover .omni-orbit__spin,
#omni-home .omni-orbit:hover .omni-sat__inner,
#omni-home .omni-orbit:focus-within .omni-orbit__spin,
#omni-home .omni-orbit:focus-within .omni-sat__inner { animation-play-state: paused; }
#omni-home a.omni-sat__inner { transition: box-shadow .2s ease, color .2s ease; }
#omni-home a.omni-sat__inner:hover,
#omni-home a.omni-sat__inner:focus-visible {
  outline: none; color: var(--omni-teal-text);
  box-shadow: 0 0 0 3px var(--omni-teal), 0 18px 34px -14px rgba(15, 61, 38, .5);
}
#omni-home a.omni-sat__inner:hover span,
#omni-home a.omni-sat__inner:focus-visible span { color: var(--omni-green); }

/* ---------- Services: three open columns led by each lockup ---------- */
#omni-home .omni-services__head { max-width: 720px; margin: 0 auto; text-align: center; }
#omni-home .omni-services__head .omni-lede { margin-left: auto; margin-right: auto; }
#omni-home .omni-services {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 48px; border-top: 1px solid var(--omni-line);
}
/* Centered columns; the Explore links are pushed to the bottom so all three line up */
#omni-home .omni-service { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 40px 28px 32px; }
#omni-home .omni-service + .omni-service { border-left: 1px solid var(--omni-line); }
#omni-home .omni-service .omni-lockup { align-self: center; }
#omni-home .omni-service__icon { display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; margin-top: 26px; color: var(--omni-ink); }
#omni-home .omni-service__icon svg { width: 64px; height: 64px; stroke-width: 1.5; }
#omni-home .omni-service__title { margin-top: 20px; font-family: var(--omni-display); font-size: 28px; font-weight: 700; line-height: 1.2; color: var(--omni-teal-text); }
#omni-home .omni-service__desc { margin-top: 8px; margin-bottom: 26px; font-size: 16px; color: var(--omni-ink); }
#omni-home .omni-list { list-style: none; display: grid; gap: 10px; margin-top: 20px; margin-bottom: 26px; text-align: left; } /* list block is centered; checkmarks stay aligned */
#omni-home .omni-list li { position: relative; padding-left: 28px; font-size: 15px; line-height: 1.5; }
#omni-home .omni-list li::before {
  content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%;
  background: rgba(18, 168, 216, .14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a7fa8' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 11px no-repeat;
}
#omni-home .omni-service__link {
  display: inline-flex; align-items: center; gap: 6px; align-self: center;
  margin-top: 22px; padding-bottom: 4px; /* fixed gap under the description, no longer pushed to the bottom of a taller neighbor */
  font-family: var(--omni-display); font-size: 19px; font-weight: 700; color: var(--omni-teal-text);
  border-bottom: 2px solid var(--omni-teal-text);
  transition: color .15s ease, border-color .15s ease;
}
#omni-home .omni-service__link:hover { color: var(--omni-green); border-color: var(--omni-green); }
#omni-home .omni-service__arrow { display: inline-flex; }
#omni-home .omni-service__arrow svg { width: 16px; height: 16px; transition: transform .18s ease; }
#omni-home .omni-service__link:hover .omni-service__arrow svg { transform: translateX(4px); }
/* Bundle promo: one highlighted box spanning above the three service columns.
   Row layout: copy (title + eyebrow) on the left, icons stacked above the two
   buttons on the right. Falls back to the stacked column layout on narrower
   screens (see the max-width: 991px override below) where a row would overflow. */
#omni-home .omni-bundle {
  display: flex; flex-direction: row; align-items: center; justify-content: space-between; text-align: left; gap: 28px;
  margin-top: 48px; padding: 32px 40px;
  border: 3px solid rgba(18, 168, 216, .45); border-radius: 20px;
  background: linear-gradient(100deg, rgba(26, 92, 58, .06), rgba(18, 168, 216, .08));
}
#omni-home .omni-bundle__right { display: flex; flex-direction: column; align-items: center; gap: 22px; flex: none; margin-right: 32px; }
#omni-home .omni-bundle__icons { display: flex; align-items: center; justify-content: center; gap: 16px; }
#omni-home .omni-bundle__icon {
  display: flex; align-items: center; justify-content: center; width: 108px; height: 108px;
  border-radius: 50%; background: #fff; color: var(--omni-green); box-shadow: 0 6px 16px -8px rgba(15, 61, 38, .4);
}
#omni-home .omni-bundle__icon svg { width: 54px; height: 54px; }
#omni-home .omni-bundle__plus { font-family: var(--omni-display); font-size: 34px; font-weight: 700; color: var(--omni-slate); }
#omni-home .omni-bundle__copy { flex: none; text-align: left; }
#omni-home .omni-bundle__title { font-family: var(--omni-display); font-size: 48px; font-weight: 800; letter-spacing: -0.01em; color: var(--omni-ink); }
#omni-home .omni-bundle__eyebrow { display: block; margin-top: 8px; text-align: center; font-family: var(--omni-display); font-size: 32px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--omni-teal-text); }
#omni-home .omni-bundle__actions { display: flex; align-items: center; gap: 16px; flex: none; }
#omni-home .omni-bundle .omni-btn { flex: none; }
/* Bundle buttons: bigger, squarer tap targets (rounded square rather than a pill), with a
   standing shadow and a light inner ring so they read as buttons at rest, not just on hover. */
#omni-home .omni-bundle__actions .omni-btn {
  padding: 30px 26px; min-width: 260px; border-radius: 20px;
  font-size: 23px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; text-align: center;
  border: 2px solid rgba(255, 255, 255, .55);
  transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
#omni-home .omni-bundle__actions .omni-btn--green { box-shadow: 0 10px 22px -8px rgba(15, 61, 38, .5); }
#omni-home .omni-bundle__actions .omni-btn--primary { box-shadow: 0 10px 22px -8px rgba(10, 127, 168, .45); }
#omni-home .omni-bundle__actions .omni-btn:hover, #omni-home .omni-bundle__actions .omni-btn:focus-visible {
  transform: translateY(-4px) scale(1.04);
}
#omni-home .omni-bundle__actions .omni-btn--green:hover, #omni-home .omni-bundle__actions .omni-btn--green:focus-visible {
  box-shadow: 0 14px 24px -10px rgba(15, 61, 38, .55);
}
#omni-home .omni-bundle__actions .omni-btn--primary:hover, #omni-home .omni-bundle__actions .omni-btn--primary:focus-visible {
  box-shadow: 0 14px 24px -10px rgba(10, 127, 168, .5);
}

/* ---------- Local since 1897 ---------- */
/* Centered, compact block: year badge, heading, story, link */
#omni-home .omni-local {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  margin-top: 0; padding-top: 40px; border-top: 1px solid var(--omni-line);
}
#omni-home .omni-local__year {
  display: flex; align-items: center; gap: 14px;
  font-family: var(--omni-display); font-weight: 800; font-size: clamp(48px, 5vw, 64px); line-height: 1; letter-spacing: -0.02em;
  color: var(--omni-green);
}
#omni-home .omni-local__year small {
  padding-left: 14px; border-left: 2px solid rgba(18, 168, 216, .45);
  font-size: 17px; font-weight: 500; line-height: 1.25; letter-spacing: 0; color: var(--omni-slate); text-align: left;
}
#omni-home .omni-local__since {
  padding-right: 14px; border-right: 2px solid rgba(18, 168, 216, .45);
  font-size: 17px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; color: var(--omni-slate);
}
#omni-home .omni-local__copy { max-width: 680px; margin-top: 24px; }
#omni-home .omni-local__copy p { font-size: 19px; font-weight: 400; line-height: 1.6; color: var(--omni-ink); }
#omni-home .omni-local__copy p + p { margin-top: 12px; }
#omni-home .omni-local__copy .omni-h2 { margin-bottom: 16px; text-wrap: balance; }
#omni-home .omni-local__copy a.omni-text-link { display: inline-block; margin-top: 20px; font-family: var(--omni-display); font-weight: 600; color: var(--omni-green); border-bottom: 2px solid rgba(18, 168, 216, .45); }

/* ---------- Divider (fading gradient rule between sections) ---------- */
#omni-home .omni-divider {
  width: 55%; max-width: 560px; height: 2px; margin: 64px auto 0; border-radius: 2px;
  background: linear-gradient(to right, transparent, var(--omni-green) 18%, var(--omni-teal) 50%, var(--omni-green) 82%, transparent);
}
#omni-home .omni-divider + .omni-section { margin-top: 64px; }

/* ---------- News ---------- */
#omni-home .omni-news { padding-left: 40px; padding-right: 40px; } /* keep news in from the page edges */
#omni-home .omni-news + .omni-section { margin-top: 32px; } /* the closing CTA follows News directly with no divider, so pull it in from the default 96px gap */
#omni-home .omni-news__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 16px; }
#omni-home .omni-news__all { font-family: var(--omni-display); font-weight: 600; color: var(--omni-green); border-bottom: 2px solid rgba(18, 168, 216, .45); }
#omni-home .omni-news__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 32px; }
#omni-home .omni-news__item { display: flex; flex-direction: column; }
#omni-home .omni-news__thumb {
  display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 16px;
  background: radial-gradient(rgba(255, 255, 255, .2) 1.2px, transparent 1.4px) 0 0 / 18px 18px, var(--omni-grad);
}
#omni-home .omni-news__thumb img { width: 100%; height: 100%; object-fit: cover; }
#omni-home .omni-news__date { margin-top: 16px; font-size: 14px; font-weight: 600; color: var(--omni-teal-text); }
#omni-home .omni-news__title { margin-top: 4px; font-family: var(--omni-display); font-size: 20px; font-weight: 700; line-height: 1.3; }
#omni-home .omni-news__title a { color: var(--omni-ink); }
#omni-home .omni-news__title a:hover { color: var(--omni-green); }
#omni-home .omni-news__excerpt { margin-top: 8px; font-size: 15px; color: var(--omni-muted); }

/* ---------- Closing call to action ---------- */
#omni-home .omni-cta {
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px;
  padding: 64px; border-radius: 28px;
  background: var(--omni-green-deep); color: #fff;
}
#omni-home .omni-cta::before {
  content: ""; position: absolute; right: -140px; top: -180px; width: 480px; height: 480px; border-radius: 50%;
  border: 1.5px dashed rgba(143, 220, 243, .35);
}
#omni-home .omni-cta::after {
  content: ""; position: absolute; right: -60px; top: -100px; width: 320px; height: 320px; border-radius: 50%;
  background: radial-gradient(circle at 32% 26%, rgba(255, 255, 255, .22), transparent 46%), var(--omni-grad);
  opacity: .5;
}
#omni-home .omni-cta > * { position: relative; z-index: 1; }
#omni-home .omni-cta .omni-h2 { color: #fff; }
#omni-home .omni-cta p { margin-top: 12px; max-width: 540px; font-size: 17px; color: rgba(255, 255, 255, .82); }
#omni-home .omni-cta p a { color: #fff; font-weight: 600; border-bottom: 1px solid rgba(255, 255, 255, .5); }

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  #omni-home .omni-news { padding-left: 24px; padding-right: 24px; }
  #omni-home .omni-hero { grid-template-columns: 1fr; padding: 48px 40px; }
  /* Homepage only, stacked layout: copy is now on top and the orbit below, so fade the scrim top-to-bottom instead of side-to-side */
  body.page-template-template-omni-home #omni-home .omni-hero {
    background:
      radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
      linear-gradient(180deg, rgba(248, 251, 249, .68) 0%, rgba(248, 251, 249, .62) 36%, rgba(248, 251, 249, .22) 60%, rgba(238, 245, 241, .03) 100%),
      url('/wp-content/uploads/2026/10/MIDTEL-Homepage-Picture-scaled-1.jpg') center/cover no-repeat,
      linear-gradient(180deg, #f8fbf9, #eef5f1);
  }
  #omni-home .omni-orbit { width: min(100%, 360px); }
  #omni-home .omni-hero__art { margin: 32px 0 24px; } /* room for the shield ring above and below */
  #omni-home .omni-services { grid-template-columns: 1fr; }
  #omni-home .omni-bundle { flex-direction: column; text-align: center; }
  #omni-home .omni-bundle__copy, #omni-home .omni-bundle__eyebrow { text-align: center; }
  #omni-home .omni-bundle__actions { align-self: stretch; }
  #omni-home .omni-bundle .omni-btn { flex: 1; }
  #omni-home .omni-service { padding: 36px 0; }
  #omni-home .omni-service + .omni-service { border-left: 0; border-top: 1px solid var(--omni-line); }
  #omni-home .omni-news__grid { grid-template-columns: 1fr; gap: 24px; }
  #omni-home .omni-news__item { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; align-items: start; }
  #omni-home .omni-news__date { margin-top: 0; }
  #omni-home .omni-cta { grid-template-columns: 1fr; padding: 48px 40px; text-align: center; }
  #omni-home .omni-cta p { max-width: none; margin-left: auto; margin-right: auto; }
  #omni-home .omni-cta__btns { justify-content: center; }
  #omni-home .omni-cta__col { align-items: center; }
}
@media (max-width: 600px) {
  #omni-home .omni-news { padding-left: 8px; padding-right: 8px; }
  #omni-home .omni-section { margin-top: 72px; }
  #omni-home .omni-hero + .omni-section { margin-top: 32px; }
  #omni-home .omni-local { margin-top: 0; }
  #omni-home .omni-divider { width: 75%; margin-top: 48px; }
  #omni-home .omni-divider + .omni-section { margin-top: 48px; }
  #omni-home .omni-hero { padding: 36px 22px 40px; border-radius: 22px; }
  #omni-home .omni-hero__tag { font-size: 17px; }
  #omni-home .omni-hero .omni-btn { flex: 1 1 100%; }
  #omni-home .omni-orbit { width: min(100%, 300px); }
  #omni-home .omni-news__item { grid-template-columns: 1fr; gap: 0; }
  #omni-home .omni-news__date { margin-top: 14px; }
  #omni-home .omni-cta { padding: 40px 24px; border-radius: 22px; }
  #omni-home .omni-cta .omni-btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  #omni-home .omni-orbit__spin, #omni-home .omni-sat__inner { animation: none; }
  #omni-home .omni-btn, #omni-home a.omni-sat__inner, #omni-home .omni-bundle__actions .omni-btn, #omni-home .omni-service__arrow svg { transition: none; transform: none !important; }
}