/*
 * IGBSSaaS — Hero section
 * Isolated styles: AVAVA navigation, typography, and other template sections
 * remain untouched. App labels are HTML buttons, never part of the image.
 */

.hero.igbs-hero {
  --igbs-orange: #f15a24;
  --igbs-ink: #101d2c;
  --igbs-body: #354253;
  position: relative;
  isolation: isolate;
  width: 100%;
  /* Match the approved 1983 × 793 hero artwork ratio at desktop sizes. */
  height: max(40vw, 680px);
  min-height: 680px;
  overflow: hidden;
  background: #f7f8f7;
  color: var(--igbs-ink);
}

/* Full-bleed hero artwork: use the complete approved panorama, not a small side image. */
.igbs-hero__scene {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.igbs-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.igbs-hero__apps {
  position: absolute;
  z-index: 4;
  inset: 0;
  pointer-events: none;
}

/* Transparent hit areas align to the labels printed on the corresponding buildings. */
.igbs-hero__app {
  position: absolute;
  display: block;
  padding: 0;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow: none;
  color: transparent;
  font-size: 0;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  transform: translate(-50%, -50%);
  -webkit-tap-highlight-color: transparent;
}
.igbs-hero__app:focus-visible,
.igbs-hero__app[aria-pressed="true"] {
  outline: 2px solid #f15a24;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(241, 90, 36, .16);
}
.igbs-hero__app:hover { background: rgba(241, 90, 36, .08); }
.igbs-hero__app--website { left: 7.5%; top: 28.5%; width: 13%; height: 8%; }
.igbs-hero__app--hr { left: 19.5%; top: 11.5%; width: 9%; height: 7.5%; }
.igbs-hero__app--sales { left: 35.5%; top: 17%; width: 12%; height: 7.5%; }
.igbs-hero__app--accounting { left: 49.5%; top: 7.8%; width: 15%; height: 7.5%; }
.igbs-hero__app--purchase { left: 66.3%; top: 18%; width: 13%; height: 7.5%; }
.igbs-hero__app--manufacturing { left: 84%; top: 12.7%; width: 17%; height: 7.5%; }
.igbs-hero__app--crm { left: 27.8%; top: 36.2%; width: 12%; height: 7.5%; }
.igbs-hero__app--inventory { left: 73.2%; top: 35%; width: 14%; height: 7.5%; }
.igbs-hero__app--pos { left: 15%; top: 51.5%; width: 10%; height: 7.5%; }
.igbs-hero__app--projects { left: 61.5%; top: 49%; width: 13%; height: 7.5%; }
.igbs-hero__app--fleet { left: 92.8%; top: 46.8%; width: 10%; height: 7.5%; }

.igbs-hero__rays {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  mix-blend-mode: screen;
}

/* Soft text-side veil only; no heavy glow or bright building effects. */
.igbs-hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(248, 249, 248, .92) 0%,
    rgba(248, 249, 248, .82) 23%,
    rgba(248, 249, 248, .42) 39%,
    rgba(248, 249, 248, 0) 55%
  );
}

.igbs-hero__copy {
  position: absolute;
  z-index: 3;
  left: clamp(34px, 5.2vw, 112px);
  top: 50%;
  width: min(39%, 690px);
  transform: translateY(-50%);
  text-align: left;
}

.igbs-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 25px;
  color: #27364a;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .19em;
  line-height: 1.5;
  text-transform: uppercase;
}

.igbs-hero__eyebrow span {
  display: inline-block;
  width: 34px;
  height: 2px;
  flex: 0 0 34px;
  background: var(--igbs-orange);
}

.igbs-hero__title {
  margin: 0;
  color: #111d2b;
  font-family: inherit;
  font-size: clamp(42px, 4.05vw, 76px);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: .99;
}

.igbs-hero__title em {
  color: var(--igbs-orange);
  font-style: normal;
}

.igbs-hero__description {
  max-width: 520px;
  margin: 25px 0 0;
  color: #344253;
  font-size: clamp(15px, 1.12vw, 20px);
  font-weight: 400;
  line-height: 1.55;
}

.igbs-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 13px;
  margin-top: 30px;
}

.igbs-hero__button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  padding: 0 23px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.igbs-hero__button:hover {
  transform: translateY(-2px);
}

.igbs-hero__button--primary {
  background: var(--igbs-orange);
  color: #fff;
  box-shadow: 0 8px 22px rgba(241, 90, 36, .17);
}

.igbs-hero__button--primary:hover {
  background: #dc4d1d;
}

.igbs-hero__button--secondary {
  border-color: rgba(16, 29, 44, .28);
  background: rgba(255, 255, 255, .62);
  color: var(--igbs-ink);
}


/* Tablet: keep the wide business-city scene in view while preserving the hero copy. */
@media (max-width: 1100px) {
  .hero.igbs-hero {
    height: max(44vw, 680px);
    min-height: 680px;
  }

  .igbs-hero__copy {
    top: 42%;
    width: 44%;
  }

  .igbs-hero__title {
    font-size: clamp(40px, 5vw, 58px);
  }

  .igbs-hero__scene { inset: 0; width: 100%; height: 100%; }

}

/* Phone: copy sits above the wide business-workspace panorama. */
@media (max-width: 767px) {
  .hero.igbs-hero {
    height: auto;
    min-height: 890px;
    overflow: hidden;
    padding-top: 1px;
  }

  .igbs-hero::before {
    background: linear-gradient(
      180deg,
      rgba(248, 249, 248, .98) 0%,
      rgba(248, 249, 248, .94) 34%,
      rgba(248, 249, 248, .16) 64%,
      rgba(248, 249, 248, 0) 100%
    );
  }

  .igbs-hero__copy {
    top: 38px;
    left: 23px;
    width: calc(100% - 46px);
    transform: none;
  }

  .igbs-hero__eyebrow {
    margin-bottom: 16px;
    font-size: 9px;
    letter-spacing: .13em;
  }

  .igbs-hero__title {
    font-size: clamp(39px, 10vw, 54px);
    line-height: .98;
  }

  .igbs-hero__description {
    max-width: 440px;
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.45;
  }

  .igbs-hero__actions {
    gap: 9px;
    margin-top: 17px;
  }

  .igbs-hero__button {
    min-height: 41px;
    padding: 0 14px;
    font-size: 11px;
  }

  .igbs-hero__scene {
    top: auto;
    right: -7.5%;
    bottom: 10px;
    width: 115%;
    transform: none;
  }
  .igbs-hero__app { border-radius: 10px; min-height: 28px; }


}

@media (prefers-reduced-motion: reduce) {
  .igbs-hero__button { transition: none; }
}


/* Full-bleed hero starts at the top of the page; the original AVAVA header
   is already absolutely positioned and therefore sits above this image. */
body:has(.igbs-hero) .hd {
  z-index: 30;
}

@media (max-width: 767px) {
  .hero.igbs-hero {
    height: 100svh;
    min-height: 850px;
  }

  .igbs-hero__scene { inset: 0; width: 100%; height: 100%; }
  .igbs-hero__image { object-position: 68% center; }
  .igbs-hero__copy { top: 142px; }
}


/* IGBSSaaS — Section 03: subtle brand overlay on outcome imagery.
   Keeps the full image visible while adding a light navy/orange tint. */
#business-outcomes .why__photo--img::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(16, 29, 44, .10), rgba(241, 90, 36, .055));
}

/* IGBSSaaS — Section 04: adapt AVAVA's existing five-step timeline component. */
.igbs-process .how2__h2 {
  white-space: normal;
}

@media (min-width: 1200px) {
  .igbs-process .trk__steps {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}


/* IGBSSaaS — Section 05: small intro line within the original AVAVA Bento section. */
.igbs-contexts__intro {
  max-width: 1100px;
  margin-top: calc(var(--u) * -18);
  color: var(--mute);
  font-size: max(14px, calc(var(--u) * 18));
  line-height: 1.55;
}

/* Ensure the featured illustration fills AVAVA's existing photo frame without cropping. */
.igbs-contexts .bt__photo--img {
  background: #17283e;
}
.igbs-contexts .bt__img {
  object-fit: cover;
}

/* IGBSSaaS Section 06 and footer brand adaptation — AVAVA layout classes remain in use. */
.hd__logo .logo { width: calc(var(--u) * 220); height: auto; max-height: calc(var(--u) * 74); object-fit: contain; }
.igbs-footer .ft__logo { max-width: 100%; height: auto; max-height: calc(var(--u) * 72); object-fit: contain; object-position: left center; }
.igbs-footer .ft__note { line-height: 1.6; }
@media (max-width: 767px) { .igbs-footer .ft__logo { max-width: 220px; } }


/* IGBSSaaS navigation update — direct links plus two compact mega dropdowns. */
.hd__util span {
  color: var(--mute);
  white-space: nowrap;
}
.hd__util span + span::before {
  content: "·";
  margin: 0 calc(var(--u) * 14);
  color: var(--acc);
}
.nav__btn.nav__direct {
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.nav__btn .nav__chev {
  width: calc(var(--u) * 13);
  height: calc(var(--u) * 13);
  flex: 0 0 auto;
  transition: transform .2s ease;
}
.nav__item.is-open .nav__chev {
  transform: rotate(180deg);
}
.nav__item--solutions .dd__list--mega,
.nav__item--contexts .dd__list--contexts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: calc(var(--u) * 22);
  row-gap: 0;
}
.nav__item--solutions .dd__list--mega {
  width: calc(var(--u) * 700);
}
.nav__item--contexts .dd__list--contexts {
  width: calc(var(--u) * 680);
}
.nav__item--solutions .dd__intro,
.nav__item--contexts .dd__intro {
  width: calc(var(--u) * 700);
  padding: calc(var(--u) * 22) calc(var(--u) * 28) calc(var(--u) * 15);
  border: .5px solid var(--ink);
  border-bottom: 0;
  border-radius: calc(var(--u) * 24) calc(var(--u) * 24) 0 0;
  background: var(--hs96);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  gap: calc(var(--u) * 7);
}
.nav__item--contexts .dd__intro {
  width: calc(var(--u) * 680);
}
.dd__intro > span {
  color: var(--acc);
  font-size: max(10px, calc(var(--u) * 12));
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.dd__intro > strong {
  color: var(--ink);
  font-size: max(13px, calc(var(--u) * 18));
  font-weight: 600;
  letter-spacing: -.02em;
}
.nav__item--solutions .dd__list--mega,
.nav__item--contexts .dd__list--contexts {
  border-radius: 0 0 calc(var(--u) * 24) calc(var(--u) * 24);
  border-top: 0;
}
.nav__item--solutions .dd__list--mega .dd__link,
.nav__item--contexts .dd__list--contexts .dd__link {
  min-height: calc(var(--u) * 76);
  align-items: flex-start;
  gap: calc(var(--u) * 13);
  padding: calc(var(--u) * 16) 0;
}
.dd__copy {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: calc(var(--u) * 5);
}
.dd__copy .dd__t {
  white-space: normal;
  line-height: 1.3;
  letter-spacing: calc(var(--u) * 1.15);
}
.dd__desc {
  display: block;
  color: var(--mute);
  font-size: max(10px, calc(var(--u) * 13));
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
}
.dd__go {
  align-self: center;
  color: var(--acc);
  font-size: max(15px, calc(var(--u) * 20));
  line-height: 1;
}
.dd__wide {
  grid-column: 1 / -1;
}
.nav__item--contexts .dd__wide .dd__link {
  border-top: .5px solid var(--hi18);
}
.nav__item--solutions .dd,
.nav__item--contexts .dd {
  padding-top: calc(var(--u) * 12);
}

@media (min-width: 1200px) {
  .nav__btn {
    padding-left: calc(var(--u) * 22);
    padding-right: calc(var(--u) * 22);
    font-size: max(11px, calc(var(--u) * 16));
    letter-spacing: calc(var(--u) * .55);
  }
  .nav__item--solutions .dd { left: calc(var(--u) * -90); }
  .nav__item--contexts .dd { left: calc(var(--u) * -190); }
}

@media (max-width: 1199px) {
  .nav__item--solutions .dd__list--mega,
  .nav__item--contexts .dd__list--contexts,
  .nav__item--solutions .dd__intro,
  .nav__item--contexts .dd__intro {
    width: auto;
    max-width: 100%;
  }
  .nav__item--solutions .dd__list--mega,
  .nav__item--contexts .dd__list--contexts {
    grid-template-columns: 1fr;
    padding-left: 16px;
  }
  .nav__item--solutions .dd__intro,
  .nav__item--contexts .dd__intro {
    padding: 16px 0 10px 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .dd__wide { grid-column: auto; }
  .dd__desc { font-size: 12px; }
  .dd__copy .dd__t { white-space: normal; }
  .nav__item--solutions .dd__list--mega .dd__link,
  .nav__item--contexts .dd__list--contexts .dd__link {
    min-height: auto;
    padding: 13px 0;
  }
  .nav__btn.nav__direct {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .hd__info li:nth-child(2) { display: none; }
  .hd__info { gap: 0; }
  .nav__btn.nav__direct { height: 60px; }
}

/* Correct in-page destinations for header links and dropdown cards. */
#solution-odoo, #solution-bi, #solution-ai, #solution-integration,
#solution-development, #solution-consulting,
#context-commerce, #context-manufacturing, #context-services,
#context-healthcare, #context-transport, #context-travel,
#business-discovery, #how-we-work, #why-igbssaas, #contact {
  scroll-margin-top: 32px;
}


/* IGBSSaaS header finishing: orange assessment CTA and a matching mobile drawer action. */
.hd__add { background: var(--acc); color: #fff; letter-spacing: calc(var(--u) * 1.1); }
.hd__add:hover { background: var(--acc); color: #fff; filter: brightness(.94); }
.nav__item--mobile-cta { display: none; }
@media (max-width: 1199px) {
  .nav__item--mobile-cta { display: block; margin-top: 14px; }
  .nav__item--mobile-cta .nav__btn {
    display: inline-flex; width: auto; min-width: 250px; min-height: 48px; height: auto;
    justify-content: center; gap: 12px; padding: 13px 20px; border: 0; border-radius: 28px;
    background: var(--acc); color: #fff; font-size: 14px; font-weight: 700;
  }
  .nav__item--mobile-cta .nav__btn:hover { color: #fff; filter: brightness(.94); }
}

/* Odoo page: small layout adjustments; all visual components come from AVAVA style.css. */
.odoo-page .odoo-intro { max-width: 900px; padding: calc(var(--u) * 28) 0 calc(var(--u) * 24); font-size: max(14px, calc(var(--u) * 20)); line-height: 1.6; color: var(--body); }
.odoo-page .odoo-intro .chips { margin-top: calc(var(--u) * 28); display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.odoo-page .btn { width: calc(var(--u) * 250); height: calc(var(--u) * 53); min-height: 0; padding: 0 12px; display: flex; align-items: center; justify-content: center; gap: 10px; text-align: center; white-space: nowrap; flex: 0 1 250px; }
.odoo-page .odoo-faq { margin-top: calc(var(--u) * 16); }
.odoo-page .odoo-last { margin-top: calc(var(--u) * 80); }
.odoo-page .odoo-faq .hrow__btn { list-style: none; }
.odoo-page .odoo-faq .hrow__btn::-webkit-details-marker { display: none; }
.odoo-page .odoo-faq .hrow__panel { grid-template-columns: minmax(0, 1fr); padding-right: calc(var(--u) * 80); }
.odoo-page .odoo-faq details[open] { background: var(--acc-a04); }
.odoo-page .odoo-faq details[open]::before { width: 3px; }
.odoo-page .odoo-faq details[open] .hrow__btn { color: var(--acc); }
.odoo-page .odoo-faq details[open] .hrow__n { color: var(--acc-a14); -webkit-text-stroke-color: var(--acc); }
.odoo-page .odoo-faq details[open] .hrow__plus { border-color: var(--acc); background: var(--acc); color: #fff; transform: rotate(45deg); }
.odoo-page .odoo-cta-grid { grid-template-columns: 1.15fr 1fr; }
.odoo-page .odoo-cta-card { min-width: 0; }
.odoo-page .odoo-cta-note { position: relative; max-width: 100%; margin: 0; }
@media (max-width: 1199px) {
  .odoo-page .odoo-cta-grid { grid-template-columns: 1fr 1fr; }
  .odoo-page .odoo-cta-grid .hct__intro { grid-column: auto; padding: calc(var(--u) * 36) calc(var(--u) * 28); }
  .odoo-page .odoo-cta-card { padding: calc(var(--u) * 36) calc(var(--u) * 28); }
}
@media (max-width: 767px) {
  .odoo-page .odoo-intro { padding-left: var(--gut); padding-right: var(--gut); }
  .odoo-page .odoo-intro .chips { flex-direction: column; align-items: stretch; }
  .odoo-page .btn { width: 100%; flex: 1 1 auto; }
  .odoo-page .odoo-faq { margin-left: var(--gut); margin-right: var(--gut); }
  .odoo-page .odoo-faq .hrow__btn { grid-template-columns: 44px minmax(0, 1fr) 0 44px; gap: 12px; padding: 18px 0 18px 8px; }
  .odoo-page .odoo-faq .hrow__read { display: none; }
  .odoo-page .odoo-faq .hrow__q { font-size: max(18px, calc(var(--u) * 22)); }
  .odoo-page .odoo-faq .hrow__n { font-size: 28px; }
  .odoo-page .odoo-faq .hrow__plus { width: 40px; height: 40px; }
  .odoo-page .odoo-faq .hrow__panel { padding: 0 12px 24px 64px; }
  .odoo-page .odoo-cta-grid { grid-template-columns: minmax(0, 1fr); }
  .odoo-page .odoo-cta-grid .hct__intro { padding: 32px 24px 18px; }
  .odoo-page .odoo-cta-card { padding: 26px 24px 30px; border-left: 0; border-top: .5px solid rgba(242, 243, 245, .12); }
  .odoo-page .odoo-cta-grid .hct__h2 { font-size: 48px; }
}

/* Clickable city labels and persistent right-side application information panel. */
.igbs-hero__app {
  appearance: none;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  pointer-events: auto;
  position: absolute;
  z-index: 8;
  transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.igbs-hero__app:hover,
.igbs-hero__app:focus-visible,
.igbs-hero__app[aria-pressed="true"] {
  outline: none;
  border-color: #f15a24;
  background: rgba(16, 29, 44, .97);
  box-shadow: 0 0 0 3px rgba(241, 90, 36, .2), 0 8px 22px rgba(16, 29, 44, .24);
  transform: translateY(-2px);
}
.igbs-app-panel[hidden] { display: none !important; }
.igbs-app-panel {
  position: absolute;
  z-index: 6;
  top: 50%;
  right: clamp(22px, 3.2vw, 58px);
  width: min(350px, 29vw);
  max-height: min(76%, 650px);
  overflow: auto;
  padding: clamp(20px, 2vw, 28px);
  border: 1px solid rgba(16, 29, 44, .12);
  border-radius: 16px;
  background: rgba(255, 255, 255, .96);
  color: #101d2c;
  box-shadow: 0 20px 65px rgba(9, 20, 33, .2);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transform: translateY(-50%);
  animation: igbs-panel-in .24s ease both;
}
@keyframes igbs-panel-in {
  from { opacity: 0; transform: translate(12px, -50%); }
  to { opacity: 1; transform: translate(0, -50%); }
}
.igbs-app-panel__top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.igbs-app-panel__eyebrow,
.igbs-app-panel__detail > span { color:#f15a24; font-size:9px; font-weight:750; letter-spacing:.14em; }
.igbs-app-panel__close { display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border:1px solid #e5e9ed; border-radius:50%; background:#fff; color:#101d2c; font-size:22px; line-height:1; cursor:pointer; }
.igbs-app-panel h2 { margin:18px 0 8px; color:#101d2c; font-size:clamp(25px, 2.3vw, 32px); line-height:1.08; letter-spacing:-.035em; }
.igbs-app-panel__summary { margin:0 0 17px; color:#536171; font-size:13px; line-height:1.6; }
.igbs-app-panel__detail { padding:12px 0; border-top:1px solid #e9edf0; }
.igbs-app-panel__detail p { margin:6px 0 0; color:#263647; font-size:12px; line-height:1.6; }
.igbs-app-panel__link { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:10px; padding:12px 14px; border-radius:7px; background:#f15a24; color:#fff; font-size:12px; font-weight:700; text-decoration:none; }
.igbs-app-panel__link:hover { background:#d94b19; color:#fff; }
@media (max-width: 1100px) and (min-width: 768px) {
  .igbs-app-panel { right:16px; width:min(310px, 32vw); padding:18px; }
}
@media (max-width: 767px) {
  .igbs-app-panel {
    z-index: 7;
    top: auto;
    right: 12px;
    bottom: 12px;
    width: min(320px, calc(100% - 24px));
    max-height: 43%;
    padding: 15px 17px;
    border-radius: 12px;
    transform: none;
    animation: igbs-panel-mobile-in .22s ease both;
  }
  @keyframes igbs-panel-mobile-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .igbs-app-panel h2 { margin:11px 0 6px; font-size:24px; }
  .igbs-app-panel__summary { margin-bottom:10px; font-size:12px; }
  .igbs-app-panel__detail { padding:8px 0; }
  .igbs-app-panel__detail p { font-size:11px; line-height:1.45; }
  .igbs-app-panel__link { margin-top:7px; padding:10px 12px; font-size:11px; }
  .igbs-hero__app { z-index: 9; }
}
@media (prefers-reduced-motion: reduce) {
  .igbs-app-panel { animation: none; }
}

/* App information stays docked on the right; users can still select another building. */
.igbs-app-panel { pointer-events: none; }
.igbs-app-panel__close, .igbs-app-panel__link { pointer-events: auto; }

/* v86 final interaction layer: artwork contains the names; buttons are precise invisible hotspots. */
.igbs-hero__app {
  appearance: none !important;
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
  transform: translate(-50%, -50%) !important;
  transition: outline-color .18s ease, box-shadow .18s ease !important;
}
.igbs-hero__app::before { content: none !important; }
.igbs-hero__app:hover,
.igbs-hero__app:focus-visible,
.igbs-hero__app[aria-pressed="true"] {
  outline: 2px solid #f15a24 !important;
  outline-offset: 3px;
  background: rgba(241, 90, 36, .06) !important;
  box-shadow: 0 0 0 5px rgba(241, 90, 36, .14) !important;
}
.igbs-app-panel { pointer-events: none; }
.igbs-app-panel__close, .igbs-app-panel__link { pointer-events: auto; }


/* v87: editable app labels rendered by HTML/CSS over the miniature city. */
.igbs-hero__app {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  width: max-content !important;
  min-width: 0;
  min-height: 29px !important;
  height: auto !important;
  padding: 5px 11px 5px 7px !important;
  border: 1px solid rgba(241,90,36,.9) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 3px 10px rgba(16,29,44,.14) !important;
  color: #101d2c !important;
  font-size: clamp(9px, .72vw, 13px) !important;
  font-weight: 750;
  line-height: 1.1;
  white-space: nowrap;
  text-align: left;
  transform: translate(-50%, -50%) !important;
  transition: box-shadow .18s ease, border-color .18s ease, background .18s ease !important;
}
.igbs-hero__app::before {
  content: "" !important;
  display: block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #f15a24;
  box-shadow: inset 0 0 0 4px #f15a24, inset 0 0 0 5px #fff;
}
.igbs-hero__app::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% + 1px);
  width: 1px;
  height: 11px;
  background: #f15a24;
  opacity: .9;
}
.igbs-hero__app:hover,
.igbs-hero__app:focus-visible,
.igbs-hero__app[aria-pressed="true"] {
  outline: none !important;
  border-color: #f15a24 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(241,90,36,.18), 0 6px 16px rgba(16,29,44,.18) !important;
  transform: translate(-50%, -54%) !important;
}
/* Locations match the dedicated miniature buildings in the approved second photo. */
.igbs-hero__app--crm { left: 62%; top: 55%; }
.igbs-hero__app--website { left: 61%; top: 72%; }
.igbs-hero__app--sales { left: 72%; top: 57%; }
.igbs-hero__app--purchase { left: 44%; top: 69%; }
.igbs-hero__app--accounting { left: 81%; top: 58%; }
.igbs-hero__app--inventory { left: 53%; top: 61%; }
.igbs-hero__app--projects { left: 82%; top: 73%; }
.igbs-hero__app--manufacturing { left: 51%; top: 73%; }
.igbs-hero__app--pos { left: 71%; top: 75%; }
.igbs-hero__app--hr { left: 90%; top: 61%; }
.igbs-hero__app--fleet { left: 90%; top: 74%; }
@media (max-width: 1100px) {
  .igbs-hero__app { font-size: 10px !important; min-height: 26px !important; padding: 4px 8px 4px 6px !important; gap: 5px; }
  .igbs-hero__app::before { flex-basis: 13px; width: 13px; height: 13px; }
}
@media (max-width: 767px) {
  .igbs-hero__app { font-size: 9px !important; min-height: 24px !important; padding: 3px 7px 3px 5px !important; gap: 4px; }
  .igbs-hero__app::before { flex-basis: 11px; width: 11px; height: 11px; }
  .igbs-hero__app::after { height: 7px; }
}



/* v88 — restore the original v81–v84 full-bleed hero layout. The clean source
   photo contains no application names; all labels below are real HTML buttons. */
.hero.igbs-hero {
  width: 100%;
  height: min(100svh, 50vw);
  min-height: 720px;
  overflow: hidden;
  background: #f7f8f7;
}
.igbs-hero__scene {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  transform: none;
  pointer-events: none;
}
.igbs-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.igbs-hero::before {
  z-index: 1;
  background: linear-gradient(90deg,
    rgba(248,249,248,.92) 0%,
    rgba(248,249,248,.82) 23%,
    rgba(248,249,248,.42) 39%,
    rgba(248,249,248,0) 55%);
}
.igbs-hero__copy {
  left: clamp(34px, 5.2vw, 112px);
  top: 50%;
  width: min(39%, 690px);
  z-index: 3;
}
.igbs-hero__apps { z-index: 4; pointer-events: none; }
.igbs-hero__app {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  width: max-content !important;
  min-width: 0;
  min-height: 25px !important;
  height: auto !important;
  padding: 5px 9px 5px 8px !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  border-radius: 5px !important;
  background: rgba(16,29,44,.88) !important;
  box-shadow: 0 3px 12px rgba(16,29,44,.18) !important;
  color: #fff !important;
  font-size: clamp(8px,.62vw,11px) !important;
  font-weight: 700;
  letter-spacing: .045em;
  line-height: 1;
  white-space: nowrap;
  text-align: left;
  transform: none !important;
  pointer-events: auto;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
.igbs-hero__app::before {
  content: "" !important;
  display: block;
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f15a24;
  box-shadow: 0 0 7px rgba(241,90,36,.55);
}
.igbs-hero__app::after { content: none !important; }
.igbs-hero__app:hover,
.igbs-hero__app:focus-visible,
.igbs-hero__app[aria-pressed="true"] {
  outline: none !important;
  border-color: #f15a24 !important;
  background: rgba(16,29,44,.97) !important;
  box-shadow: 0 0 0 3px rgba(241,90,36,.2), 0 7px 18px rgba(16,29,44,.22) !important;
  transform: translateY(-2px) !important;
}
/* Original v84 positions: aligned to the buildings in the same clean artwork. */
.igbs-hero__app--crm { left: 53.5%; top: 73%; }
.igbs-hero__app--sales { left: 60.5%; top: 66.5%; }
.igbs-hero__app--inventory { left: 68.5%; top: 73.5%; }
.igbs-hero__app--accounting { left: 76.5%; top: 68.5%; }
.igbs-hero__app--manufacturing { left: 82%; top: 77%; }
.igbs-hero__app--purchase { left: 64.5%; top: 80%; }
.igbs-hero__app--pos { left: 87%; top: 70%; }
.igbs-hero__app--website { left: 48%; top: 80%; }
.igbs-hero__app--projects { left: 78%; top: 85%; }
.igbs-hero__app--fleet { left: 87%; top: 84%; }
.igbs-hero__app--hr { left: 71.5%; top: 83%; }
@media (max-width: 1100px) and (min-width: 768px) {
  .hero.igbs-hero { height: 720px; min-height: 720px; }
  .igbs-hero__copy { top: 42%; width: 44%; }
  .igbs-hero__title { font-size: clamp(40px,5vw,58px); }
  .igbs-hero__app { font-size: 8px !important; min-height: 22px !important; padding: 4px 7px !important; }
  .igbs-hero__app--crm { left: 53%; top: 72%; }
  .igbs-hero__app--sales { left: 60%; top: 66%; }
  .igbs-hero__app--inventory { left: 67%; top: 74%; }
  .igbs-hero__app--accounting { left: 76%; top: 69%; }
  .igbs-hero__app--manufacturing { left: 80%; top: 78%; }
  .igbs-hero__app--purchase { left: 63%; top: 81%; }
  .igbs-hero__app--pos { left: 85%; top: 71%; }
  .igbs-hero__app--website { left: 48%; top: 80%; }
  .igbs-hero__app--projects { left: 77%; top: 86%; }
  .igbs-hero__app--fleet { left: 86%; top: 85%; }
  .igbs-hero__app--hr { left: 69%; top: 84%; }
}
@media (max-width: 767px) {
  .hero.igbs-hero { height: 100svh; min-height: 850px; }
  .igbs-hero__scene { inset: 0; width: 100%; height: 100%; }
  .igbs-hero__image { object-position: 68% center; }
  .igbs-hero::before {
    background: linear-gradient(180deg,
      rgba(248,249,248,.98) 0%,
      rgba(248,249,248,.94) 34%,
      rgba(248,249,248,.16) 64%,
      rgba(248,249,248,0) 100%);
  }
  .igbs-hero__copy { top: 142px; left: 23px; width: calc(100% - 46px); transform: none; }
  .igbs-hero__eyebrow { margin-bottom: 16px; font-size: 9px; letter-spacing: .13em; }
  .igbs-hero__title { font-size: clamp(39px,10vw,54px); line-height: .98; }
  .igbs-hero__description { max-width: 440px; margin-top: 15px; font-size: 14px; line-height: 1.45; }
  .igbs-hero__actions { gap: 9px; margin-top: 17px; }
  .igbs-hero__button { min-height: 41px; padding: 0 14px; font-size: 11px; }
  .igbs-hero__app { min-height: 19px !important; gap: 4px; padding: 4px 6px !important; border-radius: 4px !important; font-size: 7px !important; letter-spacing: .025em; }
  .igbs-hero__app::before { width: 4px; height: 4px; flex-basis: 4px; }
  .igbs-hero__app--crm { left: 7%; top: 69%; }
  .igbs-hero__app--sales { left: 31%; top: 64%; }
  .igbs-hero__app--inventory { left: 54%; top: 72%; }
  .igbs-hero__app--accounting { left: 59%; top: 81%; }
  .igbs-hero__app--manufacturing { left: 17%; top: 83%; }
  .igbs-hero__app--purchase { left: 43%; top: 77%; }
  .igbs-hero__app--pos { left: 79%; top: 76%; }
  .igbs-hero__app--website { left: 3%; top: 78%; }
  .igbs-hero__app--projects { left: 48%; top: 87%; }
  .igbs-hero__app--fleet { left: 76%; top: 87%; }
  .igbs-hero__app--hr { left: 76%; top: 70%; }
  .igbs-app-panel { bottom: 12px; max-height: 43%; }
}


/* Stage 14 — mobile hero composition:
   keep the message on a clean surface and give the woman her own visible image area. */
@media (max-width: 767px) {
  .hero.igbs-hero {
    position: relative;
    height: auto !important;
    min-height: 1120px !important;
    overflow: hidden;
    background: #f7f8f7;
  }

  .igbs-hero::before {
    z-index: 1;
    background: linear-gradient(
      180deg,
      #f7f8f7 0%,
      rgba(247,248,247,.99) 54%,
      rgba(247,248,247,.88) 61%,
      rgba(247,248,247,0) 72%
    ) !important;
  }

  .igbs-hero__copy {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    max-width: 620px;
    margin: 0 auto;
    padding: 132px 23px 0;
    transform: none !important;
    z-index: 5;
  }

  .igbs-hero__eyebrow {
    gap: 9px;
    margin-bottom: 15px;
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .11em;
  }

  .igbs-hero__title {
    max-width: 590px;
    font-size: clamp(37px, 9.2vw, 48px) !important;
    line-height: 1.02;
    letter-spacing: -.052em;
  }

  .igbs-hero__description {
    max-width: 520px;
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.48;
  }

  .igbs-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 17px;
  }

  .igbs-hero__button {
    min-height: 44px;
    padding: 0 15px;
    font-size: 12px;
  }

  /* The panorama is moved below the copy and cropped around the woman,
     rather than placing her face behind the headline and CTA buttons. */
  .igbs-hero__scene {
    position: absolute !important;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 455px !important;
    transform: none !important;
    overflow: hidden;
    z-index: 0;
  }

  .igbs-hero__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 68% 39% !important;
  }

  .igbs-hero__apps {
    z-index: 4;
  }

  .igbs-hero__app {
    font-size: 8px !important;
    min-height: 22px !important;
    padding: 4px 6px !important;
    gap: 4px;
    border-radius: 5px !important;
  }

  .igbs-hero__app::before {
    width: 5px;
    height: 5px;
    flex-basis: 5px;
  }

  .igbs-app-panel {
    bottom: 10px !important;
    max-height: 40% !important;
  }
}

@media (max-width: 390px) {
  .hero.igbs-hero { min-height: 1080px !important; }
  .igbs-hero__copy { padding-right: 19px; padding-left: 19px; }
  .igbs-hero__title { font-size: clamp(35px, 9.1vw, 42px) !important; }
  .igbs-hero__description { font-size: 13px; }
  .igbs-hero__button { font-size: 11px; padding-right: 12px; padding-left: 12px; }
  .igbs-hero__scene { height: 420px !important; }
}
