.impro-sectors-main,
.impro-sectors-main * {
  box-sizing: border-box !important;
}

.impro-sectors-main {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  width: 100% !important;
  padding: 112px 0 !important;
  background:
    linear-gradient(135deg, rgba(31,31,31,0.98) 0%, rgba(31,31,31,0.95) 48%, rgba(18,18,18,1) 100%),
    radial-gradient(circle at 8% 10%, rgba(255,199,44,0.24), transparent 30%) !important;
  color: #F4F4F2 !important;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.impro-sectors-main::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  opacity: 0.38 !important;
  background-image:
    linear-gradient(rgba(255,199,44,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,199,44,0.06) 1px, transparent 1px) !important;
  background-size: 56px 56px !important;
}

.impro-sectors-main::after {
  content: "" !important;
  position: absolute !important;
  right: -160px !important;
  top: -170px !important;
  width: 520px !important;
  height: 520px !important;
  z-index: -1 !important;
  border: 44px solid rgba(255,199,44,0.16) !important;
  border-radius: 50% !important;
}

.impro-sectors-wrap {
  width: min(100% - 48px, 1400px) !important;
  margin: 0 auto !important;
}

.impro-sectors-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(300px, 0.72fr) !important;
  gap: 54px !important;
  align-items: end !important;
  margin-bottom: 48px !important;
}

.impro-sectors-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 13px !important;
  margin-bottom: 20px !important;
  color: #FFC72C !important;
  font-family: "JetBrains Mono", Consolas, monospace !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}

.impro-sectors-eyebrow .bar {
  display: block !important;
  width: 34px !important;
  height: 3px !important;
  background: #FFC72C !important;
}

.impro-sectors-titlebox h2 {
  margin: 0 !important;
  max-width: 830px !important;
  color: #fff !important;
  font-family: "Archivo", "Inter", system-ui, sans-serif !important;
  font-size: clamp(42px, 5vw, 78px) !important;
  line-height: 0.95 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.impro-sectors-titlebox h2 em {
  color: #FFC72C !important;
  font-style: normal !important;
}

.impro-sectors-head > p {
  margin: 0 !important;
  color: #D6D6D2 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

.impro-sectors-panel {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.36fr) minmax(0, 0.64fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.impro-sectors-intro {
  position: relative !important;
  overflow: hidden !important;
  min-height: 100% !important;
  padding: 34px !important;
  border: 1px solid rgba(255,199,44,0.34) !important;
  background:
    linear-gradient(180deg, rgba(255,199,44,0.98), rgba(229,166,0,0.92)),
    #FFC72C !important;
  color: #1F1F1F !important;
}

.impro-sectors-intro::before {
  content: "" !important;
  position: absolute !important;
  right: -78px !important;
  bottom: -78px !important;
  width: 210px !important;
  height: 210px !important;
  border: 28px solid rgba(31,31,31,0.12) !important;
  border-radius: 50% !important;
}

.impro-sectors-kicker {
  display: inline-flex !important;
  margin-bottom: 22px !important;
  padding: 8px 12px !important;
  background: #1F1F1F !important;
  color: #FFC72C !important;
  font-family: "JetBrains Mono", Consolas, monospace !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

.impro-sectors-intro h3 {
  position: relative !important;
  margin: 0 0 20px !important;
  color: #1F1F1F !important;
  font-family: "Archivo", "Inter", system-ui, sans-serif !important;
  font-size: clamp(27px, 2.4vw, 40px) !important;
  line-height: 1.03 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.impro-sectors-intro p {
  position: relative !important;
  margin: 0 0 28px !important;
  color: rgba(31,31,31,0.82) !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  font-weight: 700 !important;
}

.impro-sectors-extra {
  display: none !important;
}

.impro-sectors-btn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  min-height: 52px !important;
  padding: 0 22px !important;
  background: #1F1F1F !important;
  color: #fff !important;
  border: 1px solid #1F1F1F !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease !important;
}

.impro-sectors-btn:hover,
.impro-sectors-btn:focus {
  background: #fff !important;
  color: #1F1F1F !important;
  transform: translateY(-2px) !important;
}

.impro-sectors-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  border-top: 1px solid rgba(255,199,44,0.24) !important;
  border-left: 1px solid rgba(255,199,44,0.24) !important;
}

.impro-sector-card {
  position: relative !important;
  min-height: 430px !important;
  padding: 18px 18px 24px !important;
  border-right: 1px solid rgba(255,199,44,0.24) !important;
  border-bottom: 1px solid rgba(255,199,44,0.24) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015)),
    rgba(31,31,31,0.74) !important;
  overflow: hidden !important;
  transition: transform 0.24s ease, background 0.24s ease, border-color 0.24s ease !important;
}

.impro-sector-photo {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 0 22px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,199,44,0.30) !important;
  background: #111 !important;
}

.impro-sector-photo::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 42%, rgba(0,0,0,0.42) 100%),
    linear-gradient(90deg, rgba(255,199,44,0.18), transparent 44%) !important;
}

.impro-sector-photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1.01) !important;
  transition: transform 0.35s ease, filter 0.35s ease !important;
}

.impro-sector-card:hover .impro-sector-photo img {
  transform: scale(1.075) !important;
  filter: saturate(1.08) contrast(1.04) !important;
}

.impro-sector-card::before {
  content: "" !important;
  position: absolute !important;
  inset: auto 18px 16px auto !important;
  width: 62px !important;
  height: 4px !important;
  background: #FFC72C !important;
  opacity: 0.86 !important;
}

.impro-sector-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(255,199,44,0.62) !important;
  background:
    linear-gradient(180deg, rgba(255,199,44,0.12), rgba(255,255,255,0.02)),
    rgba(31,31,31,0.88) !important;
}

.impro-sector-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  height: 54px !important;
  margin-bottom: 18px !important;
  border: 1px solid rgba(255,199,44,0.56) !important;
  background: rgba(255,199,44,0.11) !important;
  color: #FFC72C !important;
}

.impro-sector-icon svg {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
}

.impro-sector-card > span {
  position: absolute !important;
  top: 30px !important;
  right: 30px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  height: 28px !important;
  padding: 0 8px !important;
  background: rgba(31,31,31,0.84) !important;
  border: 1px solid rgba(255,199,44,0.52) !important;
  color: rgba(255,199,44,0.62) !important;
  font-family: "JetBrains Mono", Consolas, monospace !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.impro-sector-card h3 {
  margin: 0 0 14px !important;
  color: #fff !important;
  font-family: "Archivo", "Inter", system-ui, sans-serif !important;
  font-size: 22px !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.impro-sector-card p {
  margin: 0 !important;
  color: #D6D6D2 !important;
  font-size: 14.5px !important;
  line-height: 1.58 !important;
  font-weight: 550 !important;
}

.impro-sectors-frame {
  position: absolute !important;
  width: 72px !important;
  height: 72px !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.impro-sectors-frame.tl {
  top: 34px !important;
  left: 34px !important;
  border-top: 2px solid rgba(255,199,44,0.72) !important;
  border-left: 2px solid rgba(255,199,44,0.72) !important;
}

.impro-sectors-frame.tr {
  top: 34px !important;
  right: 34px !important;
  border-top: 2px solid rgba(255,199,44,0.72) !important;
  border-right: 2px solid rgba(255,199,44,0.72) !important;
}

.impro-sectors-frame.bl {
  bottom: 34px !important;
  left: 34px !important;
  border-bottom: 2px solid rgba(255,199,44,0.72) !important;
  border-left: 2px solid rgba(255,199,44,0.72) !important;
}

.impro-sectors-frame.br {
  right: 34px !important;
  bottom: 34px !important;
  border-right: 2px solid rgba(255,199,44,0.72) !important;
  border-bottom: 2px solid rgba(255,199,44,0.72) !important;
}

@media (min-width: 1600px) {
  .impro-sectors-wrap {
    width: min(100% - 64px, 1480px) !important;
  }
}

@media (min-width: 1200px) {
  .impro-sectors-extra {
    display: block !important;
  }

  .impro-sectors-intro p.impro-sectors-extra {
    margin-top: -10px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1366px) {
  .impro-sectors-wrap {
    width: min(100% - 40px, 1180px) !important;
  }

  .impro-sectors-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .impro-sector-card {
    padding: 16px 16px 22px !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .impro-sectors-main {
    padding: 92px 0 !important;
  }

  .impro-sectors-head,
  .impro-sectors-panel {
    grid-template-columns: 1fr !important;
  }

  .impro-sectors-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .impro-sector-card {
    min-height: 402px !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .impro-sectors-main {
    padding: 84px 0 !important;
  }

  .impro-sectors-wrap {
    width: min(100% - 34px, 920px) !important;
  }

  .impro-sectors-head,
  .impro-sectors-panel {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .impro-sectors-head {
    margin-bottom: 34px !important;
  }

  .impro-sectors-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .impro-sector-card {
    min-height: 390px !important;
  }
}

@media (min-width: 501px) and (max-width: 767px) {
  .impro-sectors-main {
    padding: 70px 0 !important;
  }

  .impro-sectors-wrap {
    width: min(100% - 28px, 700px) !important;
  }

  .impro-sectors-head,
  .impro-sectors-panel {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .impro-sectors-titlebox h2 {
    font-size: 42px !important;
  }

  .impro-sectors-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .impro-sector-card {
    min-height: 382px !important;
    padding: 16px 16px 22px !important;
  }

  .impro-sector-card h3 {
    font-size: 19px !important;
  }

  .impro-sector-card p {
    font-size: 14px !important;
  }
}

@media (max-width: 500px) {
  .impro-sectors-main {
    padding: 58px 0 !important;
  }

  .impro-sectors-wrap {
    width: min(100% - 24px, 460px) !important;
  }

  .impro-sectors-head,
  .impro-sectors-panel {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .impro-sectors-head {
    margin-bottom: 28px !important;
  }

  .impro-sectors-eyebrow {
    font-size: 10.5px !important;
    letter-spacing: 0.14em !important;
    gap: 10px !important;
  }

  .impro-sectors-eyebrow .bar {
    width: 28px !important;
  }

  .impro-sectors-titlebox h2 {
    font-size: 34px !important;
    line-height: 1 !important;
  }

  .impro-sectors-head > p {
    font-size: 15.5px !important;
    line-height: 1.62 !important;
  }

  .impro-sectors-intro {
    padding: 26px 22px !important;
  }

  .impro-sectors-intro h3 {
    font-size: 27px !important;
  }

  .impro-sectors-intro p {
    font-size: 15px !important;
  }

  .impro-sectors-btn {
    width: 100% !important;
  }

  .impro-sectors-grid {
    grid-template-columns: 1fr !important;
  }

  .impro-sector-card {
    min-height: auto !important;
    padding: 16px 16px 28px !important;
  }

  .impro-sector-photo {
    margin-bottom: 20px !important;
  }

  .impro-sector-icon {
    width: 58px !important;
    height: 58px !important;
    margin-bottom: 20px !important;
  }

  .impro-sector-card h3 {
    font-size: 22px !important;
  }

  .impro-sector-card p {
    font-size: 15.2px !important;
  }

  .impro-sectors-frame {
    width: 42px !important;
    height: 42px !important;
  }

  .impro-sectors-frame.tl {
    top: 16px !important;
    left: 16px !important;
  }

  .impro-sectors-frame.tr {
    top: 16px !important;
    right: 16px !important;
  }

  .impro-sectors-frame.bl {
    bottom: 16px !important;
    left: 16px !important;
  }

  .impro-sectors-frame.br {
    right: 16px !important;
    bottom: 16px !important;
  }
}
