
:root {
  color-scheme: light;
  --page-bg: #eef5ff;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  background: var(--page-bg);
}

body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 15% 10%, rgba(255,255,255,.95), rgba(255,255,255,0) 38%),
    var(--page-bg);
  font-family: Arial, Helvetica, sans-serif;
}

.design-shell {
  width: 100%;
  min-height: 100vh;
}

.design-canvas {
  position: relative;
  width: min(100vw, 1536px);
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 18px 55px rgba(9, 37, 89, .10);
}

.approved-design {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  -webkit-user-drag: none;
}

/* Exact desktop click areas, expressed as percentages of the 1536×1024 approved design. */
.hotspot {
  position: absolute;
  display: block;
  z-index: 5;
  border-radius: 8px;
  outline: none;
}

.hotspot:focus-visible {
  box-shadow: 0 0 0 3px rgba(29, 91, 255, .45);
  background: rgba(255,255,255,.08);
}

/* Header links */
.hs-home      { left: 64.6%; top: 1.0%; width: 4.6%; height: 5.5%; }
.hs-product   { left: 70.2%; top: 1.0%; width: 9.0%; height: 5.5%; }
.hs-about     { left: 79.8%; top: 1.0%; width: 8.7%; height: 5.5%; }
.hs-contact   { left: 88.5%; top: 1.0%; width: 7.8%; height: 5.5%; }

/* Hero CTA */
.hs-discover  { left: 8.9%; top: 31.6%; width: 15.8%; height: 4.1%; }

/* ProductMatch CTA */
.hs-product-site { left: 9.0%; top: 66.5%; width: 16.4%; height: 4.2%; }

/* Contact e-mail */
.hs-email { left: 71.0%; top: 87.7%; width: 19.3%; height: 5.0%; }

.anchor-target {
  position: absolute;
  left: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.product-anchor { top: 38.0%; }
.about-anchor   { top: 71.0%; }
.contact-anchor { top: 72.0%; }

/* On smaller screens, preserve the exact composition rather than reflowing it.
   This is intentional for visual fidelity to the approved desktop artwork. */
@media (max-width: 780px) {
  .design-canvas {
    width: 100vw;
    box-shadow: none;
  }
}

/* Accessibility preference: do not animate scrolling if motion is reduced. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
