@font-face {
  font-family: Vazir;
  src: url("../fonts/eot/Vazir.eot");
  src: url("../fonts/eot/Vazir.eot?#iefix") format("embedded-opentype"),
    url("../fonts/woff2/Vazir.woff2") format("woff2"),
    url("../fonts/woff/Vazir.woff") format("woff"),
    url("../fonts/ttf/Vazir.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: Vazir;
  src: url("../fonts/eot/Vazir-Bold.eot");
  src: url("../fonts/eot/Vazir-Bold.eot?#iefix") format("embedded-opentype"),
    url("../fonts/woff2/Vazir-Bold.woff2") format("woff2"),
    url("../fonts/woff/Vazir.woff") format("woff"),
    url("../fonts/ttf/Vazir-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: Vazir;
  src: url("../fonts/eot/Vazir-Medium.eot");
  src: url("../fonts/eot/Vazir-Medium.eot?#iefix") format("embedded-opentype"),
    url("../fonts/woff2/Vazir-Medium.woff2") format("woff2"),
    url("../fonts/woff/Vazir-Medium.woff") format("woff"),
    url("../fonts/ttf/Vazir-Medium.ttf") format("truetype");
  font-weight: 500;
  font-display: swap;
}

:root {
  --kg-orange: #ff9800;
  --kg-orange-deep: #f57c00;
  --kg-coral: #ff626d;
  --kg-gold: #ffc172;
  --kg-purple: #2a224e;
  --kg-ink: #1c1a27;
  --kg-muted: #5e5a6b;
  --kg-line: rgba(42, 34, 78, 0.1);
  --kg-bg: #f6f3ee;
  --kg-card: #ffffff;
  --kg-radius: 18px;
  --kg-radius-sm: 12px;
  --kg-shadow: 0 18px 40px rgba(42, 34, 78, 0.12);
  --kg-grad: linear-gradient(-22deg, #ff626d 8%, #ffc172 85%);
  --kg-font: Vazir, Tahoma, "Segoe UI", sans-serif;
}

html[lang="fa"] {
  direction: rtl;
}

html,
body {
  font-family: var(--kg-font);
  background: var(--kg-bg);
  color: var(--kg-ink);
  scroll-behavior: smooth;
}

body.kg-body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

a {
  color: var(--kg-orange-deep);
}

a:hover {
  color: var(--kg-coral);
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

.kg-main {
  flex: 1 0 auto;
}

.kg-nav {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
  box-shadow: 0 1px 0 var(--kg-line);
}

.kg-nav .navbar-brand img {
  height: 42px;
  width: auto;
}

.kg-nav .nav-link {
  color: var(--kg-ink) !important;
  font-weight: 700;
  padding: 0.55rem 0.9rem !important;
  border-radius: 999px;
}

.kg-nav .nav-link:hover,
.kg-nav .nav-link.active {
  color: var(--kg-orange-deep) !important;
  background: rgba(255, 152, 0, 0.1);
}

.kg-nav .navbar-toggler {
  border: 1px solid var(--kg-line);
}

.kg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border: 0;
  border-radius: 999px;
  font-weight: 700;
  padding: 0.7rem 1.35rem;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.kg-btn:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

.kg-btn-primary {
  background: var(--kg-orange);
  color: #fff;
  box-shadow: 0 10px 20px rgba(255, 152, 0, 0.28);
}

.kg-btn-primary:hover {
  background: var(--kg-orange-deep);
  color: #fff;
}

.kg-btn-dark {
  background: var(--kg-purple);
  color: #fff;
}

.kg-btn-dark:hover {
  color: #fff;
  background: #1d1738;
}

.kg-btn-ghost {
  background: #fff;
  color: var(--kg-ink);
  border: 1px solid var(--kg-line);
}

.kg-btn-ghost:hover {
  color: var(--kg-ink);
}

.kg-hero-hub {
  padding: 2.5rem 0 1.5rem;
  background:
    radial-gradient(circle at top right, rgba(255, 152, 0, 0.18), transparent 36%),
    radial-gradient(circle at top left, rgba(42, 34, 78, 0.12), transparent 32%),
    var(--kg-bg);
}

.kg-logo-wrap {
  text-align: center;
  margin-bottom: 1.75rem;
}

.kg-logo-wrap img {
  height: 72px;
}

.kg-hub-card {
  display: block;
  color: #fff;
  border-radius: 22px;
  min-height: 220px;
  padding: 2.4rem 1.4rem 1.6rem;
  background-size: cover;
  background-position: center top;
  box-shadow: var(--kg-shadow);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.kg-hub-card:hover {
  color: #fff;
  transform: translateY(-6px);
  box-shadow: 0 24px 48px rgba(42, 34, 78, 0.2);
}

.kg-hub-card h2 {
  font-size: 1.55rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.kg-hub-card p {
  margin: 0;
  opacity: 0.95;
}

.kg-hub-card .kg-hint {
  display: inline-block;
  margin-top: 1rem;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  padding: 0.2rem 0.8rem;
  font-size: 0.82rem;
}

.kg-hub-materials {
  background-image: linear-gradient(to left, transparent, rgba(255, 153, 0, 0.72) 88%),
    url("../../../files/pre_land/material.png");
}

.kg-hub-labor {
  background-image: linear-gradient(to right, transparent, rgba(42, 34, 78, 0.78) 90%),
    url("../../../files/pre_land/forces.png");
}

.kg-chip {
  background: linear-gradient(to right, #107796, #25d0c8);
  color: #fff;
  border-radius: 12px;
  padding: 0.55rem 0.4rem;
  font-weight: 700;
  text-align: center;
  font-size: 0.9rem;
}

.kg-phone-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  font-size: 1.1rem;
  color: #0b7285;
  background: #fff;
  border-radius: 999px;
  padding: 0.7rem 1.2rem;
  box-shadow: var(--kg-shadow);
}

.kg-phone-cta:hover {
  color: var(--kg-purple);
}

.kg-footer {
  margin-top: auto;
  color: #fff;
  background: var(--kg-grad);
  padding: 2rem 0 1.4rem;
}

.kg-footer a {
  color: #fff;
}

.kg-footer a:hover {
  color: #fff;
  opacity: 0.86;
}

.kg-seals img,
.kg-seals a img {
  height: 72px;
  width: auto;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 10px;
  padding: 0.25rem;
  cursor: pointer;
}

.kg-footer-meta {
  display: grid;
  gap: 0.65rem;
  font-weight: 700;
}

.kg-footer-meta span,
.kg-footer-meta a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.kg-hero-construction {
  padding: 7rem 0 4rem;
  background: var(--kg-grad);
  color: var(--kg-ink);
}

.kg-hero-construction h1 {
  font-weight: 700;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  margin-bottom: 1rem;
}

.kg-hero-construction .lead-list {
  color: #fff;
  font-weight: 500;
  line-height: 1.9;
}

.kg-section {
  padding: 4rem 0;
}

.kg-section-title {
  font-weight: 700;
  margin-bottom: 1.75rem;
  position: relative;
  display: inline-block;
}

.kg-section-title::after {
  content: "";
  display: block;
  width: 52%;
  height: 4px;
  margin-top: 0.45rem;
  border-radius: 99px;
  background: var(--kg-orange);
}

.kg-feature-card,
.kg-about-card,
.kg-panel {
  background: var(--kg-card);
  border-radius: var(--kg-radius);
  box-shadow: var(--kg-shadow);
  border: 1px solid var(--kg-line);
  padding: 1.25rem;
  height: 100%;
}

.kg-feature-card img,
.kg-about-card img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  margin-bottom: 0.7rem;
}

.kg-feature-card h3,
.kg-about-card h3 {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 0.4rem;
}

.kg-feature-card p,
.kg-about-card p {
  margin: 0;
  color: var(--kg-muted);
  line-height: 1.8;
}

.kg-shot-wrap {
  text-align: center;
}

.kg-alert {
  border: 0;
  border-radius: var(--kg-radius-sm);
  font-weight: 700;
}

.kg-download {
  padding: 3rem 0 2rem;
}

.kg-store-card {
  background: #fff;
  border-radius: var(--kg-radius);
  box-shadow: var(--kg-shadow);
  padding: 1.5rem 1.2rem;
  text-align: center;
  height: 100%;
}

.kg-store-card h2 {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
}

.kg-store-card a {
  display: inline-block;
  margin: 0.35rem;
}

.kg-store-card img {
  max-height: 58px;
}

.kg-form-card {
  max-width: 420px;
  margin: 3rem auto;
  background: #fff;
  border-radius: 22px;
  box-shadow: var(--kg-shadow);
  padding: 2rem 1.5rem;
}

.kg-form-card h1 {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
  text-align: center;
}

.kg-form-card .form-control {
  border-radius: 12px;
  min-height: 46px;
  border-color: #eadfce;
}

.kg-form-card .form-control:focus {
  border-color: var(--kg-orange);
  box-shadow: 0 0 0 0.15rem rgba(255, 152, 0, 0.25);
}

.kg-support-copy {
  line-height: 2;
  color: var(--kg-ink);
}

.kg-table {
  background: #fff;
  border-radius: var(--kg-radius);
  overflow: hidden;
  box-shadow: var(--kg-shadow);
}

.kg-table th {
  background: var(--kg-purple);
  color: #fff;
  white-space: nowrap;
}

.kg-notes {
  background: #fff;
  border-radius: var(--kg-radius);
  padding: 1.25rem 1.4rem;
  box-shadow: var(--kg-shadow);
}

.kg-notes li {
  margin-bottom: 0.85rem;
  line-height: 1.9;
}

.kg-warn {
  color: var(--kg-coral);
  font-weight: 700;
  font-size: 1.2rem;
}

.kg-404 {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3rem 1rem;
}

.kg-404 .code {
  font-size: clamp(4rem, 12vw, 8rem);
  font-weight: 700;
  background: var(--kg-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.kg-icon {
  width: 1.15em;
  height: 1.15em;
  display: inline-block;
  vertical-align: -0.15em;
}

.screenshot-item img {
  border-radius: 12px;
  box-shadow: var(--kg-shadow);
}

@media (max-width: 767.98px) {
  .kg-hub-card {
    min-height: 180px;
    padding: 2.2rem 1rem;
  }

  .kg-hero-construction {
    padding-top: 6rem;
  }

  .kg-nav .navbar-brand img {
    height: 36px;
  }
}
