* {
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  background: #ffffff;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/*
  Exact-reference implementation:
  The original AI-generated page is a raster reference image, not layered HTML.
  This keeps the hosted page visually identical in Safari, Chrome and Edge.
*/
.reference-site {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background: #ffffff;
}

.reference-page {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
}

/* Transparent links mapped to visible CTA/navigation areas in the reference page */
.hotspot {
  position: absolute;
  display: block;
  z-index: 5;
  background: rgba(255, 255, 255, 0);
  outline: none;
}

.hotspot:focus-visible {
  outline: 3px solid #ff8a00;
  outline-offset: 3px;
  border-radius: 6px;
}

/* Coordinates are percentages of the 1024x1536 reference image. */
.nav-services    { left: 39.0%; top: 2.25%; width: 6.8%;  height: 2.0%; }
.nav-industries  { left: 48.6%; top: 2.25%; width: 8.8%;  height: 2.0%; }
.nav-solutions   { left: 59.3%; top: 2.25%; width: 8.0%;  height: 2.0%; }
.nav-about       { left: 70.7%; top: 2.25%; width: 7.2%;  height: 2.0%; }
.nav-contact     { left: 81.0%; top: 2.25%; width: 6.8%;  height: 2.0%; }
.top-cta         { left: 87.5%; top: 1.55%; width: 10.8%; height: 2.25%; }

.hero-consultation { left: 3.8%;  top: 26.95%; width: 22.2%; height: 2.75%; }
.hero-services     { left: 28.0%; top: 26.95%; width: 18.0%; height: 2.75%; }
.final-cta         { left: 73.4%; top: 83.55%; width: 18.7%; height: 3.1%; }

/* Visually hidden semantic content */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/*
  Mobile behavior:
  Keeps the desktop reference exact and allows horizontal scrolling instead of
  distorting the layout or changing spacing.
*/
@media (max-width: 760px) {
  .reference-site {
    width: 1024px;
    max-width: none;
  }

  body {
    overflow-x: auto;
  }
}
