/* KingsmarkTech landing – scoped, Astra-safe (v5) */

/* Global Bootstrap tokens (kept lightweight; do NOT rely on these for brand on this page) */
:root{
  --bs-body-bg:#ffffff;
  --bs-body-color:#212529;
  --bs-border-color:#dee2e6;
  --bs-gray-100:#f8f9fa;
  --bs-primary:#0073e6; /* left as-is globally; overridden inside .kmt-landing */
}

/* Scope everything to the landing wrapper */
.kmt-landing *{ box-sizing:border-box }
.kmt-landing{
  background:#fff;
  color:var(--bs-body-color);
  line-height:1.5;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  /* Brand overrides (landing only) */
  --bs-primary:#0B3A5B;             /* Navy */
  --bs-primary-rgb:11,58,91;
  --kmt-accent:#E07A1F;             /* Safety accent */
}

.kmt-landing .section{ padding:72px 0 }
.kmt-landing .section.alt{ background:var(--bs-gray-100) }
.kmt-landing .container{ width:100%; max-width:1140px; margin:0 auto; padding:0 20px }
.kmt-landing .narrow{ max-width:860px }

/* Headings & type scale (v5) */
.kmt-landing h1,.kmt-landing h2,.kmt-landing h3{ line-height:1.2; margin:0 0 12px 0 }
.kmt-landing h1{ font-size:clamp(38px, 6.2vw, 60px); letter-spacing:-.015em; font-weight:800 }
.kmt-landing h2{ font-size:clamp(24px, 4.1vw, 36px); font-weight:800 }
.kmt-landing h3{ font-size:clamp(18px, 2.6vw, 22px); font-weight:700 }
.kmt-landing p{ margin:8px 0 0 0 }
.kmt-landing .lead{ color:#45515a; opacity:.98 }

/* Layout grids */
.kmt-landing .grid-2{ display:grid; gap:32px; grid-template-columns:1.1fr .9fr }
@media (max-width: 992px){ .kmt-landing .grid-2{ grid-template-columns:1fr } }

.kmt-landing .grid-3{ display:grid; gap:20px; grid-template-columns:repeat(3,1fr) }
@media (max-width: 992px){ .kmt-landing .grid-3{ grid-template-columns:1fr 1fr } }
@media (max-width: 640px){ .kmt-landing .grid-3{ grid-template-columns:1fr } }

.kmt-landing .card{
  background:#fff; border:1px solid var(--bs-border-color); border-radius:.5rem;
  padding:20px; box-shadow:0 2px 8px rgba(0,0,0,.04); min-height:140px;
}

/* Buttons */
.kmt-landing .btn{
  display:inline-block; background:var(--bs-primary); color:#fff; padding:12px 16px;
  border-radius:12px; font-weight:700; border:1px solid transparent; text-decoration:none;
  box-shadow:0 10px 24px rgba(var(--bs-primary-rgb), .18);
}
.kmt-landing .btn:hover{ filter:brightness(1.05) }
.kmt-landing .btn-ghost{ background:transparent; color:#212529; border:1px solid var(--bs-border-color) }
.kmt-landing .btn-lg{ padding:16px 22px; font-size:18px }

/* Optional accent button */
.kmt-landing .btn-accent{ background:var(--kmt-accent); color:#fff; border-color:transparent }
.kmt-landing .btn-accent:hover{ filter:brightness(1.05) }

/* Action row */
.kmt-landing .actions{ display:flex; gap:10px; margin-top:8px }
.kmt-landing .actions.center{ justify-content:center }
@media (max-width:768px){ .kmt-landing .actions{ flex-direction:column } }

/* Hero (plain) */
.kmt-landing .hero{ padding-top:24px }

/* Images, if any appear later */
.kmt-landing img{ max-width:100%; height:auto; display:block }

/* Utilities used by the v5 skeleton */
.kmt-landing .text-center{ text-align:center }
.kmt-landing .muted{ color:#6b7280 }
.kmt-landing .small{ font-size:.8125rem }
.kmt-landing .mt-1{ margin-top:8px }
.kmt-landing .mt-12{ margin-top:12px }

/* Responsive section spacing */
@media (max-width:992px){ .kmt-landing .section{ padding:56px 0 } }
@media (max-width:768px){ .kmt-landing .section{ padding:48px 0 } }

/* Keep words from blowing layout */
.kmt-landing a, .kmt-landing p, .kmt-landing li,
.kmt-landing h1, .kmt-landing h2, .kmt-landing h3{ overflow-wrap:anywhere }
