/* Kinetic BIM company site — base layer. Replaces what Shopify's Dawn theme used to provide
   underneath kinetic-sections.css / kinetic-drafting.css (which are copied from the theme). */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: #fff;
  color: rgba(45, 46, 51, 0.75);
  font-family: Montserrat, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.6px;
  overflow-x: hidden;
}
h1, h2, h3, h4 { font-family: Montserrat, system-ui, sans-serif; color: #2d2e33; letter-spacing: 0.6px; line-height: 1.3; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; letter-spacing: inherit; }

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link:focus {
  position: fixed !important; top: 8px; left: 8px; width: auto; height: auto; clip: auto; z-index: 100;
  padding: 8px 14px; background: #fff; color: #2d2e33; border: 2px solid #2d2e33;
}
:focus-visible { outline: 2px solid var(--kb-teal-dark, #5d8a8f); outline-offset: 2px; }

/* current page in the cable-tray nav */
.kb-navtag[aria-current="page"] .kb-navtag__code { background: var(--kb-teal); color: #fff; }

/* two-up card grid (About → Our style) */
.kb-grid--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 749px) { .kb-grid--2 { grid-template-columns: 1fr; } }

/* The software: one quiet strip on the home page, nothing more */
.kb-product { padding: 36px 24px; border-top: 1px solid var(--kb-line); }
.kb-product__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.kb-product__text { max-width: 720px; }
.kb-product__text .kb-eyebrow { margin-bottom: 4px; }
.kb-product__text h2 { font-size: 20px; font-weight: 700; margin: 0 0 4px; color: var(--kb-ink); }
.kb-product__text p { margin: 0; color: var(--kb-body); font-size: 15px; }

/* contact form states */
.kb-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kb-form__status { margin: 12px 0 0; font-size: 14px; text-align: center; }
.kb-form__status[data-state="ok"] { color: var(--kb-teal-dark); font-weight: 600; }
.kb-form__status[data-state="error"] { color: var(--kb-red, #e44e56); font-weight: 600; }
.kb-form button[disabled] { opacity: 0.6; cursor: progress; }
.kb-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 480px) { .kb-form__row { grid-template-columns: 1fr; } }

/* long-form text (privacy) */
.kb-prose { max-width: 760px; margin: 0 auto; color: var(--kb-body); font-size: 16px; line-height: 1.75; }
.kb-prose h2 { font-size: 20px; font-weight: 700; color: var(--kb-ink); margin: 36px 0 8px; }
.kb-prose ul { padding-left: 20px; }
.kb-prose a { color: var(--kb-teal-dark); }
