/* ==========================================================================
   Section Head
   ========================================================================== */

.ir-section-head {
  max-width: 720px;
  margin-bottom: 34px;
}

.ir-section-head-center {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.ir-section-kicker {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #fff;
  color: var(--ir-primary-dark);
  border: 1px solid rgba(120, 0, 38, 0.28);
  box-shadow: 0 8px 20px rgba(120, 0, 38, 0.06);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 900;
}

.ir-section-kicker i {
  color: var(--ir-primary);
}

.ir-section-head h2 {
  margin: 0 0 14px;
  color: var(--ir-heading);
  font-size: 26px;
  font-weight: 950;
  line-height: 1.3;
  letter-spacing: -0.035em;
}

.ir-section-head p {
  margin: 0;
  color: var(--ir-muted);
  font-size: 15px;
  font-weight: 650;
  line-height: 2;
}

/* ==========================================================================
   Repair Process Section
   ========================================================================== */

.ir-process-section {
  position: relative;
  padding: 78px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-process-section::before {
  content: "";
  position: absolute;
  top: 70px;
  right: -140px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #eef2f7;
  pointer-events: none;
}

.ir-process-section::after {
  content: "";
  position: absolute;
  left: -120px;
  bottom: -140px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: var(--ir-primary-soft);
  opacity: 0.75;
  pointer-events: none;
}

.ir-process-section .container {
  position: relative;
  z-index: 1;
}

.ir-process-wrap {
  position: relative;
}

.ir-process-line {
  position: absolute;
  top: 82px;
  right: 14%;
  left: 14%;
  height: 2px;
  background: #e5e7eb;
  overflow: hidden;
}

.ir-process-line::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ir-primary);
  opacity: 0.72;
}

/* ==========================================================================
   Repair Process Cards
   ========================================================================== */

.ir-process-card {
  position: relative;
  height: 100%;
  padding: 24px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 46px rgba(17, 24, 39, 0.06);
  transition: 0.22s ease;
}

.ir-process-card:hover {
  transform: translateY(-4px);
  border-color: rgba(165, 0, 52, 0.22);
  box-shadow: 0 24px 58px rgba(17, 24, 39, 0.09);
}

.ir-process-card-featured {
  border-color: rgba(165, 0, 52, 0.22);
  box-shadow: 0 24px 62px rgba(165, 0, 52, 0.11);
}

.ir-process-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}

.ir-process-number {
  color: rgba(165, 0, 52, 0.16);
  font-size: 42px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.04em;
}

.ir-process-icon {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 16px 32px rgba(165, 0, 52, 0.18);
}

.ir-process-icon i {
  font-size: 22px;
}

.ir-process-card h3 {
  margin: 0 0 13px;
  color: var(--ir-heading);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.6;
  letter-spacing: -0.025em;
}

.ir-process-card p {
  margin: 0;
  color: var(--ir-muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 2.05;
}

/* ==========================================================================
   Repair Process Note
   ========================================================================== */

.ir-process-note {
  min-height: 48px;
  margin-top: 18px;
  padding: 10px 12px;
  border-radius: 17px;
  background: #f9fafb;
  border: 1px solid #eef2f7;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.8;
}

.ir-process-note i {
  color: #15803d;
  font-size: 15px;
  flex: 0 0 auto;
}

/* ==========================================================================
   Repair Process CTA
   ========================================================================== */

.ir-process-cta {
  margin-top: 28px;
  padding: 18px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 42px rgba(17, 24, 39, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.ir-process-cta strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ir-heading);
  font-size: 16px;
  font-weight: 950;
}

.ir-process-cta span {
  display: block;
  color: var(--ir-muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}

/* ==========================================================================
   Repair Process Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-process-section {
    padding: 54px 0;
  }

  .ir-section-head-center {
    text-align: right;
  }

  .ir-process-line {
    display: none;
  }

  .ir-process-card {
    padding: 20px;
    border-radius: 24px;
  }

  .ir-process-top {
    margin-bottom: 18px;
  }

  .ir-process-number {
    font-size: 36px;
  }

  .ir-process-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
  }

  .ir-process-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .ir-process-cta .ir-btn {
    width: 100%;
  }
}

@media (max-width: 575px) {
  .ir-process-section {
    padding: 42px 0;
  }

  .ir-section-head {
    margin-bottom: 24px;
  }

  .ir-section-head h2 {
    font-size: 18px;
  }

  .ir-process-card h3 {
    font-size: 17px;
  }

  .ir-process-card p {
    font-size: 14px;
  }
}

/* ==========================================================================
   Premium Consultant CTA Section
   ========================================================================== */

.ir-premium-cta-section {
  position: relative;
  padding: 72px 0;
  background: #fff;
  overflow: hidden;
}

.ir-premium-cta {
  position: relative;
  min-height: 310px;
  padding: 42px 46px;
  border-radius: 36px;
  background: #fff;
  border: 1px solid rgba(229, 231, 235, 0.96);
  box-shadow: 0 24px 70px rgba(17, 24, 39, 0.08);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  align-items: center;
  gap: 30px;
  overflow: visible;
  isolation: isolate;
}

.ir-premium-cta::before {
  content: "";
  position: absolute;
  inset: 14px;
  border-radius: 28px;
  border: 1px solid rgba(165, 0, 52, 0.09);
  pointer-events: none;
  z-index: -1;
}

.ir-premium-cta::after {
  content: "";
  position: absolute;
  top: 34px;
  left: 34px;
  width: 142px;
  height: 142px;
  border-radius: 42px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.11);
  transform: rotate(-10deg);
  pointer-events: none;
  z-index: -1;
}

/* ==========================================================================
   Premium Consultant CTA Content
   ========================================================================== */

.ir-premium-cta-content {
  position: relative;
  z-index: 3;
  max-width: 680px;
  padding-right: 22px;
}

.ir-premium-cta-line {
  position: absolute;
  top: 4px;
  right: 0;
  width: 5px;
  height: 84px;
  border-radius: 999px;
  background: var(--ir-primary);
  box-shadow: 0 10px 24px rgba(165, 0, 52, 0.18);
}

.ir-premium-cta-content h2 {
  max-width: 640px;
  margin: 0 0 16px;
  color: var(--ir-heading);
  font-size: 24px;
  font-weight: 950;
  line-height: 1.32;
  letter-spacing: -0.045em;
}

.ir-premium-cta-content p {
  max-width: 610px;
  margin: 0;
  color: var(--ir-muted);
  font-size: 15px;
  font-weight: 700;
  line-height: 2.05;
}

/* ==========================================================================
   Premium Consultant CTA Actions
   ========================================================================== */

.ir-premium-cta-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.ir-premium-call-btn {
  min-height: 58px;
  padding: 7px 9px 7px 18px;
  border-radius: 20px;
  background: var(--ir-primary);
  color: #fff;
  border: 1px solid var(--ir-primary);
  display: inline-flex;
  align-items: center;
  gap: 11px;
  box-shadow: 0 18px 38px rgba(165, 0, 52, 0.18);
  transition: 0.2s ease;
}

.ir-premium-call-btn:hover {
  color: #fff;
  background: var(--ir-primary-dark);
  border-color: var(--ir-primary-dark);
  transform: translateY(-2px);
}

.ir-premium-call-icon {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-premium-call-icon i {
  font-size: 17px;
}

.ir-premium-call-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.ir-premium-call-text small {
  color: rgba(255, 255, 255, 0.84);
  font-size: 11px;
  font-weight: 800;
}

.ir-premium-call-text strong {
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  direction: ltr;
}

.ir-premium-outline-btn {
  min-height: 58px;
  padding: 0 19px;
  border-radius: 20px;
  background: #fff;
  color: var(--ir-primary-dark);
  border: 1px solid rgba(165, 0, 52, 0.24);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 900;
  transition: 0.2s ease;
}

.ir-premium-outline-btn:hover {
  color: var(--ir-primary);
  border-color: rgba(165, 0, 52, 0.42);
  background: #fff7fa;
  transform: translateY(-2px);
}

/* ==========================================================================
   Premium Consultant CTA Visual
   ========================================================================== */

.ir-premium-cta-visual {
  position: relative;
  z-index: 2;
  height: 310px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.ir-premium-visual-card {
  position: absolute;
  right: 50%;
  bottom: 22px;
  width: 255px;
  height: 210px;
  border-radius: 46px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.13);
  transform: translateX(50%) rotate(4deg);
  box-shadow: inset 0 0 0 10px rgba(255, 255, 255, 0.58);
  z-index: 1;
}

.ir-premium-visual-ring {
  position: absolute;
  right: 50%;
  bottom: 42px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  border: 22px solid rgba(165, 0, 52, 0.08);
  transform: translateX(50%);
  z-index: 2;
}

.ir-premium-cta-image {
  position: absolute;
  right: 50%;
  bottom: -42px;
  width: min(330px, 100%);
  max-height: 420px;
  height: auto;
  object-fit: contain;
  transform: translateX(50%);
  z-index: 4;
  filter: drop-shadow(0 26px 34px rgba(17, 24, 39, 0.18));
}

/* ==========================================================================
   Premium Consultant Phone Chip
   ========================================================================== */

.ir-premium-phone-chip {
  position: absolute;
  right: 10px;
  bottom: 26px;
  z-index: 5;
  min-height: 62px;
  padding: 10px 12px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(229, 231, 235, 0.98);
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.14);
  display: flex;
  align-items: center;
  gap: 10px;
}

.ir-premium-phone-chip i {
  width: 40px;
  height: 40px;
  border-radius: 15px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-premium-phone-chip span {
  display: block;
  margin-bottom: 4px;
  color: var(--ir-muted);
  font-size: 11px;
  font-weight: 800;
}

.ir-premium-phone-chip strong {
  display: block;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: 950;
  direction: ltr;
}

/* ==========================================================================
   Premium Consultant CTA Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-premium-cta-section {
    padding: 54px 0;
  }

  .ir-premium-cta {
    min-height: auto;
    padding: 30px 24px 0;
    grid-template-columns: 1fr;
    gap: 12px;
    border-radius: 30px;
    overflow: hidden;
  }

  .ir-premium-cta::after {
    top: auto;
    left: -42px;
    bottom: 70px;
  }

  .ir-premium-cta-content {
    max-width: none;
    padding-right: 18px;
  }

  .ir-premium-cta-line {
    height: 72px;
  }

  .ir-premium-cta-content h2 {
    font-size: 28px;
    line-height: 1.42;
  }

  .ir-premium-cta-content p {
    font-size: 14px;
    line-height: 2;
  }

  .ir-premium-cta-actions {
    align-items: stretch;
  }

  .ir-premium-call-btn,
  .ir-premium-outline-btn {
    width: 100%;
  }

  .ir-premium-cta-visual {
    height: 285px;
    margin-top: 8px;
  }

  .ir-premium-cta-image {
    bottom: -28px;
    width: min(275px, 88%);
    max-height: 340px;
  }

  .ir-premium-visual-card {
    width: 225px;
    height: 178px;
    border-radius: 40px;
  }

  .ir-premium-visual-ring {
    width: 160px;
    height: 160px;
    border-width: 18px;
  }

  .ir-premium-phone-chip {
    right: 0;
    bottom: 20px;
  }
}

@media (max-width: 575px) {
  .ir-premium-cta-section {
    padding: 42px 0;
  }

  .ir-premium-cta {
    padding: 26px 18px 0;
    border-radius: 26px;
  }

  .ir-premium-cta::before {
    inset: 10px;
    border-radius: 20px;
  }

  .ir-premium-cta-content h2 {
    font-size: 18px;
	  line-height: 2;
  }

  .ir-premium-cta-content p {
    font-size: 14px;
  }

  .ir-premium-call-btn,
  .ir-premium-outline-btn {
    min-height: 54px;
    border-radius: 18px;
  }

  .ir-premium-cta-visual {
    height: 260px;
  }

  .ir-premium-cta-image {
    width: min(240px, 86%);
  }

  .ir-premium-phone-chip {
    max-width: 190px;
    padding: 9px 10px;
    border-radius: 18px;
  }

  .ir-premium-phone-chip i {
    width: 36px;
    height: 36px;
    border-radius: 13px;
  }

  .ir-premium-phone-chip strong {
    font-size: 12px;
  }
}

/* ==========================================================================
   TV Type Expertise Section
   ========================================================================== */

.ir-tvtype-section {
  position: relative;
  padding: 78px 0;
  background: #fff;
  overflow: hidden;
}

.ir-tvtype-section::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -130px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.08);
  pointer-events: none;
}

.ir-tvtype-section::after {
  content: "";
  position: absolute;
  left: -160px;
  bottom: -160px;
  width: 360px;
  height: 360px;
  border-radius: 54px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  transform: rotate(12deg);
  pointer-events: none;
}

.ir-tvtype-section .container {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   TV Type Cards
   ========================================================================== */

.ir-tvtype-card {
  position: relative;
  height: 100%;
  padding: 24px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  transition: 0.22s ease;
  overflow: hidden;
}

.ir-tvtype-card::before {
  content: "";
  position: absolute;
  top: -46px;
  left: -46px;
  width: 132px;
  height: 132px;
  border-radius: 36px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.08);
  transform: rotate(-12deg);
  pointer-events: none;
}

.ir-tvtype-card:hover {
  transform: translateY(-5px);
  border-color: rgba(165, 0, 52, 0.22);
  box-shadow: 0 26px 64px rgba(17, 24, 39, 0.09);
}

.ir-tvtype-card-featured {
  border-color: rgba(165, 0, 52, 0.22);
  box-shadow: 0 24px 62px rgba(165, 0, 52, 0.09);
}

/* ==========================================================================
   TV Type Card Header
   ========================================================================== */

.ir-tvtype-card-head {
  position: relative;
  z-index: 1;
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.ir-tvtype-icon {
  width: 58px;
  height: 58px;
  border-radius: 21px;
  background: var(--ir-primary);
  color: #fff;
  box-shadow: 0 16px 34px rgba(165, 0, 52, 0.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-tvtype-icon i {
  font-size: 22px;
}

.ir-tvtype-tag {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #f9fafb;
  color: #374151;
  border: 1px solid #e5e7eb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  direction: ltr;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.04em;
}

/* ==========================================================================
   TV Type Card Content
   ========================================================================== */

.ir-tvtype-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 13px;
  color: var(--ir-heading);
  font-size: 19px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.03em;
}

.ir-tvtype-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--ir-muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 2.05;
}

/* ==========================================================================
   TV Type Feature List
   ========================================================================== */

.ir-tvtype-list {
  position: relative;
  z-index: 1;
  padding: 0;
  margin: 18px 0 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.ir-tvtype-list li {
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 15px;
  background: #f9fafb;
  border: 1px solid #eef2f7;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.8;
}

.ir-tvtype-list i {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ecfdf5;
  color: #15803d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  flex: 0 0 auto;
}

/* ==========================================================================
   TV Type Card Link
   ========================================================================== */

.ir-tvtype-link {
  position: relative;
  z-index: 1;
  min-height: 46px;
  margin-top: 20px;
  padding: 0 14px;
  border-radius: 16px;
  background: #fff;
  color: var(--ir-primary-dark);
  border: 1px solid rgba(165, 0, 52, 0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 900;
  transition: 0.2s ease;
}

.ir-tvtype-link i {
  font-size: 12px;
  transition: 0.2s ease;
}

.ir-tvtype-link:hover {
  background: var(--ir-primary);
  color: #fff;
  border-color: var(--ir-primary);
  transform: translateY(-2px);
}

.ir-tvtype-link:hover i {
  transform: translateX(-3px);
}

/* ==========================================================================
   TV Type Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-tvtype-section {
    padding: 54px 0;
  }

  .ir-tvtype-card {
    padding: 22px;
    border-radius: 26px;
  }

  .ir-tvtype-icon {
    width: 54px;
    height: 54px;
    border-radius: 19px;
  }
}

@media (max-width: 575px) {
  .ir-tvtype-section {
    padding: 42px 0;
  }

  .ir-tvtype-card {
    padding: 20px;
    border-radius: 24px;
  }

  .ir-tvtype-card h3 {
    font-size: 18px;
  }

  .ir-tvtype-card p {
    font-size: 14px;
  }

  .ir-tvtype-link {
    width: 100%;
  }
}

/* ==========================================================================
   TV Brands Repair Section
   ========================================================================== */

.ir-brands-section {
  position: relative;
  padding: 78px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-brands-section::before {
  content: "";
  position: absolute;
  top: 82px;
  right: -130px;
  width: 290px;
  height: 290px;
  border-radius: 56px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-brands-section::after {
  content: "";
  position: absolute;
  left: -120px;
  bottom: -130px;
  width: 290px;
  height: 290px;
  border-radius: 50%;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.08);
  pointer-events: none;
}

.ir-brands-section .container {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   TV Brands Header
   ========================================================================== */

.ir-brands-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: end;
  gap: 28px;
  margin-bottom: 34px;
}

.ir-brands-head .ir-section-head {
  margin-bottom: 0;
}

.ir-brands-head .ir-section-head p strong {
  color: var(--ir-primary-dark);
  font-weight: 950;
}

.ir-brands-note {
  padding: 18px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.14);
  box-shadow: 0 16px 40px rgba(17, 24, 39, 0.06);
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.ir-brands-note i {
  width: 38px;
  height: 38px;
  border-radius: 15px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-brands-note p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 750;
  line-height: 2;
}

/* ==========================================================================
   TV Brand Cards
   ========================================================================== */

.ir-brand-card {
  position: relative;
  height: 100%;
  min-height: 265px;
  padding: 18px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
  transition: 0.22s ease;
}

.ir-brand-card::before {
  content: "";
  position: absolute;
  top: -52px;
  left: -52px;
  width: 132px;
  height: 132px;
  border-radius: 40px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.08);
  transform: rotate(-12deg);
  pointer-events: none;
}

.ir-brand-card::after {
  content: "";
  position: absolute;
  right: 22px;
  bottom: 22px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(165, 0, 52, 0.05);
  pointer-events: none;
}

.ir-brand-card:hover {
  transform: translateY(-5px);
  border-color: rgba(165, 0, 52, 0.24);
  box-shadow: 0 26px 64px rgba(17, 24, 39, 0.09);
}

/* ==========================================================================
   TV Brand Logo Box
   ========================================================================== */

/* ==========================================================================
   TV Brand Banner Box
   ========================================================================== */

.ir-brand-banner-box {
  position: relative;
  z-index: 1;
  height: 220px;
  border-radius: 24px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.ir-brand-banner-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, 0.08);
  pointer-events: none;
  z-index: 1;
}

.ir-brand-banner-box::after {
  content: "";
  position: absolute;
  right: -38px;
  bottom: -42px;
  width: 115px;
  height: 115px;
  border-radius: 34px;
  background: rgba(165, 0, 52, 0.20);
  transform: rotate(14deg);
  pointer-events: none;
  z-index: 2;
}

.ir-brand-banner-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  opacity: 1;
  transform: scale(1);
  transition: 0.28s ease;
}

.ir-brand-card:hover .ir-brand-banner-box img {
  transform: scale(1.055);
}

.ir-brand-card:hover .ir-brand-banner-box::before {
  background: rgba(17, 24, 39, 0.03);
}

/* ==========================================================================
   TV Brand Card Content
   ========================================================================== */

.ir-brand-card-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.ir-brand-card h3 {
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.03em;
}

.ir-brand-card p {
  margin: 0;
  color: var(--ir-muted);
  font-size: 14px;
  font-weight: 650;
  line-height: 2;
}

.ir-brand-card-link {
  min-height: 44px;
  margin-top: auto;
  padding-top: 16px;
  color: var(--ir-primary-dark);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 950;
}

.ir-brand-card-link i {
  font-size: 12px;
  transition: 0.2s ease;
}

.ir-brand-card:hover .ir-brand-card-link i {
  transform: translateX(-4px);
}

/* ==========================================================================
   TV Brands Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-brands-section {
    padding: 54px 0;
  }

  .ir-brands-head {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 18px;
    margin-bottom: 26px;
  }

  .ir-brand-card {
    min-height: 245px;
    border-radius: 26px;
  }
}

@media (max-width: 575px) {
  .ir-brands-section {
    padding: 42px 0;
  }

  .ir-brands-note {
    border-radius: 20px;
  }

  .ir-brand-card {
    min-height: auto;
    padding: 16px;
    border-radius: 24px;
  }

 

  .ir-brand-logo-box img {
    max-width: 130px;
  }

  .ir-brand-card h3 {
    font-size: 17px;
  }
}
/* ==========================================================================
   Brand Expertise Notice
   ========================================================================== */

.ir-brand-notice {
  position: relative;
  margin-top: 28px;
  padding: 20px 22px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.18);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  display: flex;
  align-items: flex-start;
  gap: 14px;
  overflow: hidden;
}

.ir-brand-notice::before {
  content: "";
  position: absolute;
  top: -54px;
  left: -54px;
  width: 140px;
  height: 140px;
  border-radius: 40px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.08);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-brand-notice-icon {
  position: relative;
  z-index: 1;
  width: 48px;
  height: 48px;
  border-radius: 18px;
  background: var(--ir-primary);
  color: #fff;
  box-shadow: 0 14px 30px rgba(165, 0, 52, 0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-brand-notice-icon i {
  font-size: 18px;
}

.ir-brand-notice-content {
  position: relative;
  z-index: 1;
}

.ir-brand-notice-content h3 {
  margin: 0 0 8px;
  color: var(--ir-heading);
  font-size: 17px;
  font-weight: 950;
  line-height: 1.6;
  letter-spacing: -0.025em;
}

.ir-brand-notice-content p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
}

.ir-brand-notice-content strong {
  color: var(--ir-primary-dark);
  font-weight: 950;
}

/* ==========================================================================
   Brand Expertise Notice Responsive Rules
   ========================================================================== */

@media (max-width: 575px) {
  .ir-brand-notice {
    padding: 18px;
    border-radius: 22px;
    flex-direction: column;
    gap: 12px;
  }

  .ir-brand-notice-icon {
    width: 44px;
    height: 44px;
    border-radius: 16px;
  }

  .ir-brand-notice-content h3 {
    font-size: 16px;
  }

  .ir-brand-notice-content p {
    font-size: 14px;
  }
}



/* ==========================================================================
   Why Choose Us Section
   ========================================================================== */

.ir-choose-section {
  position: relative;
  padding: 72px 0;
  background: #fff;
  overflow: hidden;
}

.ir-choose-section::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -140px;
  width: 280px;
  height: 280px;
  border-radius: 54px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-choose-section::after {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -150px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: #f9fafb;
  border: 1px solid #eef2f7;
  pointer-events: none;
}

.ir-choose-section .container {
  position: relative;
  z-index: 1;
}

.ir-choose-shell {
  position: relative;
  padding: 34px;
  border-radius: 34px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  box-shadow: 0 22px 64px rgba(17, 24, 39, 0.06);
  overflow: hidden;
}

.ir-choose-shell::before {
  content: "";
  position: absolute;
  top: 26px;
  left: 28px;
  width: 118px;
  height: 118px;
  border-radius: 34px;
  background: #111827;
  opacity: 0.04;
  transform: rotate(-12deg);
  pointer-events: none;
}

/* ==========================================================================
   Why Choose Us Visual
   ========================================================================== */

.ir-choose-visual {
  position: relative;
  min-height: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-choose-shape-card {
  position: relative;
  width: min(100%, 420px);
  min-height: 390px;
  border-radius: 42px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.12);
  box-shadow: 0 28px 68px rgba(17, 24, 39, 0.16);
  overflow: visible;
  isolation: isolate;
}

.ir-choose-shape-card::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 32px;
  background: #fff;
  opacity: 0.06;
  border: 1px solid rgba(255, 255, 255, 0.12);
  z-index: -1;
}

.ir-choose-shape-card::after {
  content: "";
  position: absolute;
  top: 34px;
  right: -22px;
  width: 106px;
  height: 106px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid rgba(229, 231, 235, 0.9);
  box-shadow: 0 18px 38px rgba(17, 24, 39, 0.12);
  transform: rotate(14deg);
  z-index: 1;
}

.ir-choose-image {
  position: absolute;
  right: 50%;
  bottom: -18px;
  width: min(390px, 96%);
  max-height: 470px;
  height: auto;
  object-fit: contain;
  transform: translateX(50%);
  z-index: 3;
  filter: drop-shadow(0 28px 34px rgba(0, 0, 0, 0.24));
	border-radius: 20px;
}

/* ==========================================================================
   Why Choose Us Visual Badge
   ========================================================================== */

.ir-choose-visual-badge {
  position: absolute;
  right: 22px;
  bottom: 22px;
  z-index: 4;
  max-width: 245px;
  min-height: 66px;
  padding: 11px 13px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.16);
  display: flex;
  align-items: center;
  gap: 10px;
}

.ir-choose-visual-badge i {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-choose-visual-badge strong {
  display: block;
  margin-bottom: 4px;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: 950;
}

.ir-choose-visual-badge span {
  display: block;
  color: var(--ir-muted);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.7;
}

/* ==========================================================================
   Why Choose Us Content
   ========================================================================== */

.ir-choose-content {
  position: relative;
  z-index: 2;
}

.ir-section-kicker-dark {
  background: #111827;
  color: #fff;
  border-color: #111827;
  box-shadow: 0 12px 26px rgba(17, 24, 39, 0.12);
}

.ir-section-kicker-dark i {
  color: #fff;
}

.ir-choose-content h2 {
  max-width: 610px;
  margin: 0 0 14px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.38;
  letter-spacing: -0.035em;
}

.ir-choose-content > p {
  max-width: 680px;
  margin: 0;
  color: var(--ir-muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
}

/* ==========================================================================
   Why Choose Us Feature List
   ========================================================================== */

.ir-choose-features {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.ir-choose-feature {
  position: relative;
  min-height: 138px;
  padding: 17px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 12px 32px rgba(17, 24, 39, 0.045);
  display: flex;
  align-items: flex-start;
  gap: 12px;
  overflow: hidden;
  transition: 0.22s ease;
}

.ir-choose-feature::before {
  content: "";
  position: absolute;
  top: -46px;
  left: -46px;
  width: 112px;
  height: 112px;
  border-radius: 34px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-choose-feature:hover {
  transform: translateY(-3px);
  border-color: rgba(17, 24, 39, 0.18);
  box-shadow: 0 20px 48px rgba(17, 24, 39, 0.075);
}

.ir-choose-feature > span {
  position: relative;
  z-index: 1;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: #111827;
  color: #fff;
  box-shadow: 0 14px 30px rgba(17, 24, 39, 0.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-choose-feature > span i {
  font-size: 17px;
}

.ir-choose-feature > div {
  position: relative;
  z-index: 1;
}

.ir-choose-feature h3 {
  margin: 0 0 7px;
  color: var(--ir-heading);
  font-size: 15px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

.ir-choose-feature p {
  margin: 0;
  color: #4b5563;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.95;
	text-align: justify;
}

.ir-choose-feature strong {
  color: var(--ir-primary-dark);
  font-weight: 950;
}

.ir-choose-btn {
  margin-top: 24px;
  min-height: 50px;
  border-radius: 16px;
  box-shadow: 0 16px 34px rgba(165, 0, 52, 0.14);
}

/* ==========================================================================
   Why Choose Us Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-choose-section {
    padding: 54px 0;
  }

  .ir-choose-shell {
    padding: 24px;
    border-radius: 30px;
  }

  .ir-choose-visual {
    min-height: 360px;
  }

  .ir-choose-shape-card {
    min-height: 330px;
    border-radius: 34px;
  }

  .ir-choose-image {
    width: min(330px, 92%);
    max-height: 390px;
  }

  .ir-choose-content h2 {
    font-size: 26px;
  }

  .ir-choose-features {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .ir-choose-section {
    padding: 42px 0;
  }

  .ir-choose-shell {
    padding: 18px;
    border-radius: 26px;
  }

  .ir-choose-visual {
    min-height: 320px;
  }

  .ir-choose-shape-card {
    min-height: 300px;
    border-radius: 30px;
  }

  .ir-choose-image {
    width: min(285px, 90%);
  }

  .ir-choose-visual-badge {
    right: 14px;
    bottom: 14px;
    max-width: 220px;
    border-radius: 20px;
  }

  .ir-choose-content h2 {
    font-size: 18px;
  }

  .ir-choose-content > p {
    font-size: 14px;
  }

  .ir-choose-feature {
    padding: 16px;
    border-radius: 22px;
    flex-direction: column;
  }

  .ir-choose-btn {
    width: 100%;
  }
}

/* ==========================================================================
   LED TV Problems Section
   ========================================================================== */

.ir-led-problems-section {
  position: relative;
  padding: 78px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-led-problems-section::before {
  content: "";
  position: absolute;
  top: 110px;
  right: -140px;
  width: 300px;
  height: 300px;
  border-radius: 56px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-led-problems-section::after {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -160px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  pointer-events: none;
}

.ir-led-problems-section .container {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   LED TV Intro Banner
   ========================================================================== */

.ir-led-intro {
  position: relative;
  margin-bottom: 46px;
  padding: 34px;
  border-radius: 34px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 22px 64px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  align-items: center;
  gap: 30px;
  overflow: hidden;
}

.ir-led-intro::before {
  content: "";
  position: absolute;
  top: 26px;
  left: 28px;
  width: 128px;
  height: 128px;
  border-radius: 38px;
  background: #111827;
  opacity: 0.04;
  transform: rotate(-12deg);
  pointer-events: none;
}

.ir-led-intro::after {
  content: "";
  position: absolute;
  right: -48px;
  bottom: -58px;
  width: 150px;
  height: 150px;
  border-radius: 44px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.08);
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-led-intro-content {
  position: relative;
  z-index: 2;
}

.ir-led-intro-content h2 {
  max-width: 690px;
  margin: 20px 0 14px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.38;
  letter-spacing: -0.035em;
}

.ir-led-intro-content p {
  max-width: 760px;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.08;
}

.ir-led-intro-content strong {
  color: var(--ir-primary-dark);
  font-weight: 950;
}

/* ==========================================================================
   LED TV Intro Visual
   ========================================================================== */

.ir-led-intro-visual {
  position: relative;
  z-index: 2;
  min-height: 285px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-led-tv-shape {
  position: relative;
  width: min(100%, 360px);
  min-height: 250px;
  border-radius: 40px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.14);
  box-shadow: 0 24px 58px rgba(17, 24, 39, 0.16);
  overflow: visible;
}

.ir-led-tv-shape::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
}

.ir-led-tv-shape::after {
  content: "";
  position: absolute;
  right: -20px;
  top: 36px;
  width: 96px;
  height: 96px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 34px rgba(17, 24, 39, 0.13);
  transform: rotate(14deg);
}

.ir-led-tv-image {
  position: absolute;
  right: 50%;
  bottom: -16px;
  width: min(380px, 105%);
  height: auto;
  max-height: 315px;
  object-fit: contain;
  transform: translateX(50%);
  z-index: 3;
  filter: drop-shadow(0 22px 28px rgba(0, 0, 0, 0.22));
}

.ir-led-visual-chip {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 4;
  min-height: 48px;
  padding: 8px 12px;
  border-radius: 18px;
  background: #fff;
  color: var(--ir-heading);
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 36px rgba(17, 24, 39, 0.14);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  font-weight: 950;
}

.ir-led-visual-chip i {
  width: 32px;
  height: 32px;
  border-radius: 12px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ==========================================================================
   LED TV Common Problems Block
   ========================================================================== */

.ir-led-common-block {
  position: relative;
  margin-top: 0;
}

/* ==========================================================================
   LED TV Common Problems Header
   ========================================================================== */

.ir-led-common-head {
  position: relative;
  margin-bottom: 22px;
  padding: 24px;
  border-radius: 30px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 22px 58px rgba(17, 24, 39, 0.14);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: center;
  gap: 22px;
  overflow: hidden;
}

.ir-led-common-head::before {
  content: "";
  position: absolute;
  top: -54px;
  right: -48px;
  width: 150px;
  height: 150px;
  border-radius: 44px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  transform: rotate(16deg);
  pointer-events: none;
}

.ir-led-common-head::after {
  content: "";
  position: absolute;
  left: 32px;
  bottom: -62px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(165, 0, 52, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.08);
  pointer-events: none;
}

.ir-led-common-head-content,
.ir-led-common-head-note {
  position: relative;
  z-index: 1;
}

.ir-led-common-eyebrow {
  width: fit-content;
  min-height: 36px;
  padding: 0 12px;
  margin-bottom: 13px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  border: 1px solid rgba(255, 255, 255, 0.76);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 950;
}

.ir-led-common-eyebrow i {
  color: var(--ir-primary);
}

.ir-led-common-head h2 {
  max-width: 760px;
  margin: 20px 0 12px;
  color: #fff;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.38;
  letter-spacing: -0.035em;
}

.ir-led-common-head p {
  max-width: 850px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 2.05;
}

/* ==========================================================================
   LED TV Common Problems Safety Note
   ========================================================================== */

.ir-led-common-head-note {
  min-height: 138px;
  padding: 16px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(229, 231, 235, 0.96);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.ir-led-common-head-note > i {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-led-common-head-note strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: 950;
}

.ir-led-common-head-note span {
  display: block;
  color: #4b5563;
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.95;
}

/* ==========================================================================
   LED TV Problems Vertical List
   ========================================================================== */

.ir-led-problem-list {
  display: grid;
  gap: 14px;
}

/* ==========================================================================
   LED TV Problem Item
   ========================================================================== */

.ir-led-problem-item {
  position: relative;
  min-height: 168px;
  padding: 18px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 42px rgba(17, 24, 39, 0.055);
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) 300px 260px;
  align-items: stretch;
  gap: 16px;
  overflow: hidden;
  transition: 0.22s ease;
}

.ir-led-problem-item::before {
  content: "";
  position: absolute;
  top: -54px;
  left: -54px;
  width: 126px;
  height: 126px;
  border-radius: 36px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-led-problem-item::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(17, 24, 39, 0.035);
  pointer-events: none;
}

.ir-led-problem-item:hover {
  transform: translateY(-3px);
  border-color: rgba(17, 24, 39, 0.20);
  box-shadow: 0 24px 58px rgba(17, 24, 39, 0.085);
}

/* ==========================================================================
   LED TV Problem Side
   ========================================================================== */

.ir-led-problem-side {
  position: relative;
  z-index: 1;
  padding: 16px 12px;
  border-radius: 22px;
  background: #111827;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
}

.ir-led-problem-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.10);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.13);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-led-problem-icon i {
  font-size: 20px;
}

.ir-led-problem-label {
  width: fit-content;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  border: 1px solid rgba(255, 255, 255, 0.76);
  direction: ltr;
  display: inline-flex;
  align-items: center;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

/* ==========================================================================
   LED TV Problem Main Text
   ========================================================================== */

.ir-led-problem-main {
  position: relative;
  z-index: 1;
  padding: 4px 0;
}

.ir-led-problem-main h3 {
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 17px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

.ir-led-problem-main p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
}

/* ==========================================================================
   LED TV Problem Action Checklist
   ========================================================================== */

.ir-led-problem-actions {
  position: relative;
  z-index: 1;
  padding: 14px;
  border-radius: 22px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
}

.ir-led-problem-actions strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: 950;
}

.ir-led-problem-actions ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.ir-led-problem-actions li {
  min-height: 30px;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.2px;
  font-weight: 850;
  line-height: 1.65;
}

.ir-led-problem-actions li i {
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #ecfdf5;
  color: #15803d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  flex: 0 0 auto;
}

/* ==========================================================================
   LED TV Problem Alert
   ========================================================================== */

.ir-led-problem-alert {
  position: relative;
  z-index: 1;
  padding: 14px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.15);
  color: #4b5563;
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.ir-led-problem-alert i {
  width: 28px;
  height: 28px;
  margin-top: 2px;
  border-radius: 11px;
  background: #fff7fa;
  color: var(--ir-primary);
  border: 1px solid rgba(165, 0, 52, 0.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex: 0 0 auto;
}

.ir-led-problem-alert span {
  display: block;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.9;
	text-align: justify;
}

/* ==========================================================================
   LED TV Problems List Responsive Rules
   ========================================================================== */

@media (max-width: 1199px) {
  .ir-led-problem-item {
    grid-template-columns: 110px minmax(0, 1fr) 280px;
  }

  .ir-led-problem-alert {
    grid-column: 2 / 4;
  }
}

@media (max-width: 991px) {
  .ir-led-problem-item {
    min-height: auto;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 14px;
  }

  .ir-led-problem-actions,
  .ir-led-problem-alert {
    grid-column: 1 / 3;
  }

  .ir-led-problem-side {
    padding: 14px 10px;
  }

  .ir-led-problem-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .ir-led-problem-main h3 {
    font-size: 16px;
  }
}

@media (max-width: 575px) {
  .ir-led-problem-item {
    padding: 15px;
    border-radius: 24px;
    grid-template-columns: 1fr;
  }

  .ir-led-problem-side {
    min-height: 76px;
    padding: 13px;
    border-radius: 20px;
    flex-direction: row;
    align-items: center;
  }

  .ir-led-problem-actions,
  .ir-led-problem-alert {
    grid-column: auto;
  }

  .ir-led-problem-main h3 {
    font-size: 16px;
  }

  .ir-led-problem-main p {
    font-size: 12.5px;
  }

  .ir-led-problem-actions,
  .ir-led-problem-alert {
    border-radius: 20px;
  }
}

/* ==========================================================================
   LED TV Problems CTA
   ========================================================================== */

.ir-led-problems-cta {
  margin-top: 24px;
  padding: 20px 22px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.16);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.ir-led-problems-cta strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ir-heading);
  font-size: 16px;
  font-weight: 950;
}

.ir-led-problems-cta span {
  display: block;
  color: var(--ir-muted);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.85;
}

/* ==========================================================================
   LED TV Problems Responsive Rules
   ========================================================================== */

@media (max-width: 1199px) {
  .ir-led-problem-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ir-led-problem-card {
    min-height: 400px;
  }
}

@media (max-width: 991px) {
  .ir-led-problems-section {
    padding: 54px 0;
  }

  .ir-led-intro {
    padding: 24px;
    border-radius: 30px;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 38px;
  }

  .ir-led-intro-content h2 {
    font-size: 26px;
  }

  .ir-led-intro-visual {
    min-height: 260px;
  }

  .ir-led-common-head {
    grid-template-columns: 1fr;
    padding: 22px;
    border-radius: 26px;
  }

  .ir-led-common-head h2 {
    font-size: 24px;
  }

  .ir-led-common-head-note {
    min-height: auto;
  }

  .ir-led-problem-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ir-led-problem-card {
    min-height: 390px;
  }

  .ir-led-problems-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .ir-led-problems-cta .ir-btn {
    width: 100%;
  }
}

@media (max-width: 575px) {
  .ir-led-problems-section {
    padding: 42px 0;
  }

  .ir-led-intro {
    padding: 18px;
    border-radius: 26px;
    margin-bottom: 34px;
  }

  .ir-led-intro-content h2 {
    font-size: 18px;
  }

  .ir-led-intro-content p {
    font-size: 14px;
  }

  .ir-led-intro-visual {
    min-height: 230px;
  }

  .ir-led-tv-shape {
    min-height: 220px;
    border-radius: 32px;
  }

  .ir-led-tv-image {
    width: min(310px, 102%);
  }

  .ir-led-common-block {
    margin-top: 0;
  }

  .ir-led-common-head {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-led-common-head h2 {
    font-size: 18px;
  }

  .ir-led-common-head p {
    font-size: 14px;
  }

  .ir-led-common-head-note {
    padding: 14px;
    border-radius: 20px;
    flex-direction: column;
  }

  .ir-led-problem-grid {
    grid-template-columns: 1fr;
  }

  .ir-led-problem-card {
    min-height: auto;
    padding: 17px;
    border-radius: 22px;
  }

  .ir-led-problem-card h3 {
    min-height: auto;
    font-size: 16px;
  }

  .ir-led-problem-card p {
    font-size: 12.5px;
  }

  .ir-led-problems-cta {
    padding: 18px;
    border-radius: 22px;
  }
}

/* ==========================================================================
   LCD TV Problems Section
   ========================================================================== */

.ir-lcd-problems-section {
  position: relative;
  padding: 78px 0;
  background: #fff;
  overflow: hidden;
}

.ir-lcd-problems-section::before {
  content: "";
  position: absolute;
  top: 110px;
  right: -140px;
  width: 300px;
  height: 300px;
  border-radius: 56px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-lcd-problems-section::after {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -160px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  pointer-events: none;
}

.ir-lcd-problems-section .container {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   LCD TV Intro Banner
   ========================================================================== */

.ir-lcd-intro {
  position: relative;
  margin-bottom: 46px;
  padding: 34px;
  border-radius: 34px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  box-shadow: 0 22px 64px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  align-items: center;
  gap: 30px;
  overflow: hidden;
}

.ir-lcd-intro::before {
  content: "";
  position: absolute;
  top: 26px;
  left: 28px;
  width: 128px;
  height: 128px;
  border-radius: 38px;
  background: #111827;
  opacity: 0.04;
  transform: rotate(-12deg);
  pointer-events: none;
}

.ir-lcd-intro::after {
  content: "";
  position: absolute;
  right: -48px;
  bottom: -58px;
  width: 150px;
  height: 150px;
  border-radius: 44px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-lcd-intro-content {
  position: relative;
  z-index: 2;
}

.ir-lcd-intro-content h2 {
  max-width: 690px;
  margin: 20px 0 14px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.38;
  letter-spacing: -0.035em;
}

.ir-lcd-intro-content p {
  max-width: 760px;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.08;
}

.ir-lcd-intro-content strong {
  color: var(--ir-primary-dark);
  font-weight: 950;
}

/* ==========================================================================
   LCD TV Intro Visual
   ========================================================================== */

.ir-lcd-intro-visual {
  position: relative;
  z-index: 2;
  min-height: 285px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-lcd-tv-shape {
  position: relative;
  width: min(100%, 360px);
  min-height: 250px;
  border-radius: 40px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.14);
  box-shadow: 0 24px 58px rgba(17, 24, 39, 0.16);
  overflow: visible;
}

.ir-lcd-tv-shape::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
}

.ir-lcd-tv-shape::after {
  content: "";
  position: absolute;
  right: -20px;
  top: 36px;
  width: 96px;
  height: 96px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 34px rgba(17, 24, 39, 0.13);
  transform: rotate(14deg);
}

.ir-lcd-tv-image {
  position: absolute;
  right: 50%;
  bottom: -16px;
  width: min(380px, 105%);
  height: auto;
  max-height: 315px;
  object-fit: contain;
  transform: translateX(50%);
  z-index: 3;
  filter: drop-shadow(0 22px 28px rgba(0, 0, 0, 0.22));
}

.ir-lcd-visual-chip {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 4;
  min-height: 48px;
  padding: 8px 12px;
  border-radius: 18px;
  background: #fff;
  color: var(--ir-heading);
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 36px rgba(17, 24, 39, 0.14);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  font-weight: 950;
}

.ir-lcd-visual-chip i {
  width: 32px;
  height: 32px;
  border-radius: 12px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ==========================================================================
   LCD TV Common Problems Block
   ========================================================================== */

.ir-lcd-common-block {
  position: relative;
  margin-top: 0;
}

/* ==========================================================================
   LCD TV Common Problems Header
   ========================================================================== */

.ir-lcd-common-head {
  position: relative;
  margin-bottom: 22px;
  padding: 24px;
  border-radius: 30px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 22px 58px rgba(17, 24, 39, 0.14);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: center;
  gap: 22px;
  overflow: hidden;
}

.ir-lcd-common-head::before {
  content: "";
  position: absolute;
  top: -54px;
  right: -48px;
  width: 150px;
  height: 150px;
  border-radius: 44px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  transform: rotate(16deg);
  pointer-events: none;
}

.ir-lcd-common-head::after {
  content: "";
  position: absolute;
  left: 32px;
  bottom: -62px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(165, 0, 52, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.08);
  pointer-events: none;
}

.ir-lcd-common-head-content,
.ir-lcd-common-head-note {
  position: relative;
  z-index: 1;
}

.ir-lcd-common-eyebrow {
  width: fit-content;
  min-height: 36px;
  padding: 0 12px;
  margin-bottom: 13px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  border: 1px solid rgba(255, 255, 255, 0.76);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 950;
}

.ir-lcd-common-eyebrow i {
  color: var(--ir-primary);
}

.ir-lcd-common-head h2 {
  max-width: 760px;
  margin: 20px 0 12px;
  color: #fff;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.38;
  letter-spacing: -0.035em;
}

.ir-lcd-common-head p {
  max-width: 850px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 2.05;
}

/* ==========================================================================
   LCD TV Common Problems Safety Note
   ========================================================================== */

.ir-lcd-common-head-note {
  min-height: 138px;
  padding: 16px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(229, 231, 235, 0.96);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.ir-lcd-common-head-note > i {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-lcd-common-head-note strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: 950;
}

.ir-lcd-common-head-note span {
  display: block;
  color: #4b5563;
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.95;
}

/* ==========================================================================
   LCD TV Problems Vertical List
   ========================================================================== */

.ir-lcd-problem-list {
  display: grid;
  gap: 14px;
}

/* ==========================================================================
   LCD TV Problem Item
   ========================================================================== */

.ir-lcd-problem-item {
  position: relative;
  min-height: 168px;
  padding: 18px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 42px rgba(17, 24, 39, 0.055);
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) 300px 260px;
  align-items: stretch;
  gap: 16px;
  overflow: hidden;
  transition: 0.22s ease;
}

.ir-lcd-problem-item::before {
  content: "";
  position: absolute;
  top: -54px;
  left: -54px;
  width: 126px;
  height: 126px;
  border-radius: 36px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-lcd-problem-item::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(17, 24, 39, 0.035);
  pointer-events: none;
}

.ir-lcd-problem-item:hover {
  transform: translateY(-3px);
  border-color: rgba(17, 24, 39, 0.20);
  box-shadow: 0 24px 58px rgba(17, 24, 39, 0.085);
}

/* ==========================================================================
   LCD TV Problem Side
   ========================================================================== */

.ir-lcd-problem-side {
  position: relative;
  z-index: 1;
  padding: 16px 12px;
  border-radius: 22px;
  background: #111827;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
}

.ir-lcd-problem-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.10);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.13);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-lcd-problem-icon i {
  font-size: 20px;
}

.ir-lcd-problem-label {
  width: fit-content;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  border: 1px solid rgba(255, 255, 255, 0.76);
  direction: ltr;
  display: inline-flex;
  align-items: center;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

/* ==========================================================================
   LCD TV Problem Main Text
   ========================================================================== */

.ir-lcd-problem-main {
  position: relative;
  z-index: 1;
  padding: 4px 0;
}

.ir-lcd-problem-main h3 {
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 17px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

.ir-lcd-problem-main p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
}

/* ==========================================================================
   LCD TV Problem Action Checklist
   ========================================================================== */

.ir-lcd-problem-actions {
  position: relative;
  z-index: 1;
  padding: 14px;
  border-radius: 22px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
}

.ir-lcd-problem-actions strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: 950;
}

.ir-lcd-problem-actions ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.ir-lcd-problem-actions li {
  min-height: 30px;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.2px;
  font-weight: 850;
  line-height: 1.65;
}

.ir-lcd-problem-actions li i {
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #ecfdf5;
  color: #15803d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  flex: 0 0 auto;
}

/* ==========================================================================
   LCD TV Problem Alert
   ========================================================================== */

.ir-lcd-problem-alert {
  position: relative;
  z-index: 1;
  padding: 14px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.15);
  color: #4b5563;
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.ir-lcd-problem-alert i {
  width: 28px;
  height: 28px;
  margin-top: 2px;
  border-radius: 11px;
  background: #fff7fa;
  color: var(--ir-primary);
  border: 1px solid rgba(165, 0, 52, 0.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex: 0 0 auto;
}

.ir-lcd-problem-alert span {
  display: block;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.9;
}

/* ==========================================================================
   LCD TV Problems CTA
   ========================================================================== */

.ir-lcd-problems-cta {
  margin-top: 24px;
  padding: 20px 22px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.16);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.ir-lcd-problems-cta strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ir-heading);
  font-size: 16px;
  font-weight: 950;
}

.ir-lcd-problems-cta span {
  display: block;
  color: var(--ir-muted);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.85;
}

/* ==========================================================================
   LCD TV Problems Responsive Rules
   ========================================================================== */

@media (max-width: 1199px) {
  .ir-lcd-problem-item {
    grid-template-columns: 110px minmax(0, 1fr) 280px;
  }

  .ir-lcd-problem-alert {
    grid-column: 2 / 4;
  }
}

@media (max-width: 991px) {
  .ir-lcd-problems-section {
    padding: 54px 0;
  }

  .ir-lcd-intro {
    padding: 24px;
    border-radius: 30px;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 38px;
  }

  .ir-lcd-intro-content h2 {
    font-size: 26px;
  }

  .ir-lcd-intro-visual {
    min-height: 260px;
  }

  .ir-lcd-common-head {
    grid-template-columns: 1fr;
    padding: 22px;
    border-radius: 26px;
  }

  .ir-lcd-common-head h2 {
    font-size: 24px;
  }

  .ir-lcd-common-head-note {
    min-height: auto;
  }

  .ir-lcd-problem-item {
    min-height: auto;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 14px;
  }

  .ir-lcd-problem-actions,
  .ir-lcd-problem-alert {
    grid-column: 1 / 3;
  }

  .ir-lcd-problem-side {
    padding: 14px 10px;
  }

  .ir-lcd-problem-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .ir-lcd-problem-main h3 {
    font-size: 16px;
  }

  .ir-lcd-problems-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .ir-lcd-problems-cta .ir-btn {
    width: 100%;
  }
}

@media (max-width: 575px) {
  .ir-lcd-problems-section {
    padding: 42px 0;
  }

  .ir-lcd-intro {
    padding: 18px;
    border-radius: 26px;
    margin-bottom: 34px;
  }

  .ir-lcd-intro-content h2 {
    font-size: 24px;
  }

  .ir-lcd-intro-content p {
    font-size: 14px;
  }

  .ir-lcd-intro-visual {
    min-height: 230px;
  }

  .ir-lcd-tv-shape {
    min-height: 220px;
    border-radius: 32px;
  }

  .ir-lcd-tv-image {
    width: min(310px, 102%);
  }

  .ir-lcd-common-head {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-lcd-common-head h2 {
    font-size: 18px;
  }

  .ir-lcd-common-head p {
    font-size: 14px;
  }

  .ir-lcd-common-head-note {
    padding: 14px;
    border-radius: 20px;
    flex-direction: column;
  }

  .ir-lcd-problem-item {
    padding: 15px;
    border-radius: 24px;
    grid-template-columns: 1fr;
  }

  .ir-lcd-problem-side {
    min-height: 76px;
    padding: 13px;
    border-radius: 20px;
    flex-direction: row;
    align-items: center;
  }

  .ir-lcd-problem-actions,
  .ir-lcd-problem-alert {
    grid-column: auto;
  }

  .ir-lcd-problem-main h3 {
    font-size: 16px;
  }

  .ir-lcd-problem-main p {
    font-size: 12.5px;
  }

  .ir-lcd-problem-actions,
  .ir-lcd-problem-alert {
    border-radius: 20px;
  }

  .ir-lcd-problems-cta {
    padding: 18px;
    border-radius: 22px;
  }
}

/* ==========================================================================
   Smart TV Repair Section
   ========================================================================== */

.ir-smart-tv-section {
  position: relative;
  padding: 78px 0;
  background: #fff;
  overflow: hidden;
}

.ir-smart-tv-section::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -140px;
  width: 290px;
  height: 290px;
  border-radius: 58px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-smart-tv-section::after {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -150px;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  pointer-events: none;
}

.ir-smart-tv-section .container {
  position: relative;
  z-index: 1;
}

.ir-smart-tv-shell {
  position: relative;
}

/* ==========================================================================
   Smart TV Main Banner
   ========================================================================== */

.ir-smart-tv-main {
  position: relative;
  padding: 34px;
  border-radius: 36px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  box-shadow: 0 22px 64px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: 430px minmax(0, 1fr);
  align-items: center;
  gap: 34px;
  overflow: hidden;
}

.ir-smart-tv-main::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 34px;
  width: 122px;
  height: 122px;
  border-radius: 36px;
  background: #111827;
  opacity: 0.04;
  transform: rotate(-12deg);
  pointer-events: none;
}

.ir-smart-tv-main::after {
  content: "";
  position: absolute;
  right: -56px;
  bottom: -64px;
  width: 170px;
  height: 170px;
  border-radius: 46px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(16deg);
  pointer-events: none;
}

/* ==========================================================================
   Smart TV Visual
   ========================================================================== */

.ir-smart-tv-visual {
  position: relative;
  z-index: 2;
  min-height: 330px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-smart-tv-shape {
  position: relative;
  width: min(100%, 390px);
  min-height: 295px;
  border-radius: 46px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.16);
  box-shadow: 0 28px 68px rgba(17, 24, 39, 0.18);
  overflow: visible;
}

.ir-smart-tv-shape::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.11);
}

.ir-smart-tv-shape::after {
  content: "";
  position: absolute;
  top: 34px;
  right: -22px;
  width: 102px;
  height: 102px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 36px rgba(17, 24, 39, 0.14);
  transform: rotate(14deg);
}

.ir-smart-tv-image {
  position: absolute;
  right: 50%;
  bottom: -18px;
  width: min(420px, 106%);
  height: auto;
  max-height: 340px;
  object-fit: contain;
  transform: translateX(50%);
  z-index: 3;
  filter: drop-shadow(0 24px 32px rgba(0, 0, 0, 0.22));
}

.ir-smart-tv-chip {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 4;
  min-height: 50px;
  padding: 8px 12px;
  border-radius: 18px;
  background: #fff;
  color: var(--ir-heading);
  border: 1px solid #e5e7eb;
  box-shadow: 0 16px 36px rgba(17, 24, 39, 0.14);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
  font-weight: 950;
  direction: ltr;
}

.ir-smart-tv-chip i {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ==========================================================================
   Smart TV Content
   ========================================================================== */

.ir-smart-tv-content {
  position: relative;
  z-index: 2;
}

.ir-smart-tv-eyebrow {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 15px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  border: 1px solid #111827;
  box-shadow: 0 12px 28px rgba(17, 24, 39, 0.12);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 950;
}

.ir-smart-tv-content h2 {
  max-width: 680px;
  margin: 20px 0 14px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.38;
  letter-spacing: -0.035em;
}

.ir-smart-tv-content p {
  max-width: 760px;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
	text-align: justify;
}

.ir-smart-tv-content p + p {
  margin-top: 12px;
}

/* ==========================================================================
   Smart TV Details Grid
   ========================================================================== */

.ir-smart-tv-details {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

/* ==========================================================================
   Smart TV Panel
   ========================================================================== */

.ir-smart-tv-panel {
  position: relative;
  padding: 22px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  overflow: hidden;
}

.ir-smart-tv-panel::before {
  content: "";
  position: absolute;
  top: -48px;
  left: -48px;
  width: 122px;
  height: 122px;
  border-radius: 36px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-smart-tv-panel-dark {
  background: #111827;
  border-color: rgba(17, 24, 39, 0.18);
  box-shadow: 0 22px 58px rgba(17, 24, 39, 0.14);
}

.ir-smart-tv-panel-dark::before {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.10);
}

.ir-smart-tv-panel-head {
  position: relative;
  z-index: 1;
  margin-bottom: 18px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.ir-smart-tv-panel-head > span {
  width: 48px;
  height: 48px;
  border-radius: 17px;
  background: #111827;
  color: #fff;
  box-shadow: 0 14px 30px rgba(17, 24, 39, 0.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-smart-tv-panel-dark .ir-smart-tv-panel-head > span {
  background: #fff;
  color: #111827;
}

.ir-smart-tv-panel-head h3 {
  margin: 0 0 6px;
  color: var(--ir-heading);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

.ir-smart-tv-panel-head p {
  margin: 0;
  color: var(--ir-muted);
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.8;
}

.ir-smart-tv-panel-dark .ir-smart-tv-panel-head h3 {
  color: #fff;
}

.ir-smart-tv-panel-dark .ir-smart-tv-panel-head p {
  color: rgba(255, 255, 255, 0.72);
}

/* ==========================================================================
   Smart TV Lists
   ========================================================================== */

.ir-smart-tv-list {
  position: relative;
  z-index: 1;
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.ir-smart-tv-list li {
  min-height: 42px;
  padding: 9px 10px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.75;
}

.ir-smart-tv-panel-dark .ir-smart-tv-list li {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.11);
  color: rgba(255, 255, 255, 0.86);
}

.ir-smart-tv-list li i {
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #ecfdf5;
  color: #15803d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  flex: 0 0 auto;
}

/* ==========================================================================
   Smart TV Bottom Note
   ========================================================================== */

.ir-smart-tv-note {
  margin-top: 20px;
  padding: 18px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.16);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.ir-smart-tv-note > div {
  width: 48px;
  height: 48px;
  border-radius: 17px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-smart-tv-note p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.9;
}

/* ==========================================================================
   Smart TV Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-smart-tv-section {
    padding: 54px 0;
  }

  .ir-smart-tv-main {
    padding: 24px;
    border-radius: 30px;
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .ir-smart-tv-visual {
    min-height: 280px;
    order: 2;
  }

  .ir-smart-tv-content {
    order: 1;
  }

  .ir-smart-tv-content h2 {
    font-size: 26px;
  }

  .ir-smart-tv-details {
    grid-template-columns: 1fr;
  }

  .ir-smart-tv-note {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .ir-smart-tv-note .ir-btn {
    width: 100%;
  }
}

@media (max-width: 575px) {
  .ir-smart-tv-section {
    padding: 42px 0;
  }

  .ir-smart-tv-main {
    padding: 18px;
    border-radius: 26px;
  }

  .ir-smart-tv-content h2 {
    font-size: 18px;
  }

  .ir-smart-tv-content p {
    font-size: 14px;
  }

  .ir-smart-tv-visual {
    min-height: 240px;
  }

  .ir-smart-tv-shape {
    min-height: 220px;
    border-radius: 32px;
  }

  .ir-smart-tv-image {
    width: min(315px, 104%);
  }

  .ir-smart-tv-panel {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-smart-tv-panel-head {
    flex-direction: column;
  }

  .ir-smart-tv-list li {
    font-size: 12.5px;
  }

  .ir-smart-tv-note {
    padding: 16px;
    border-radius: 22px;
  }
}

/* ==========================================================================
   TV Repair Cost Section
   ========================================================================== */

.ir-cost-section {
  position: relative;
  padding: 78px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-cost-section::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -140px;
  width: 300px;
  height: 300px;
  border-radius: 58px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-cost-section::after {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -160px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  pointer-events: none;
}

.ir-cost-section .container {
  position: relative;
  z-index: 1;
}

.ir-cost-shell {
  position: relative;
  padding: 34px;
  border-radius: 36px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 22px 64px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  align-items: center;
  gap: 34px;
  overflow: hidden;
}

.ir-cost-shell::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 34px;
  width: 122px;
  height: 122px;
  border-radius: 36px;
  background: #111827;
  opacity: 0.04;
  transform: rotate(-12deg);
  pointer-events: none;
}

.ir-cost-shell::after {
  content: "";
  position: absolute;
  right: -56px;
  bottom: -64px;
  width: 170px;
  height: 170px;
  border-radius: 46px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.08);
  transform: rotate(16deg);
  pointer-events: none;
}

/* ==========================================================================
   TV Repair Cost Content
   ========================================================================== */

.ir-cost-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
}

.ir-cost-eyebrow {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 15px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  border: 1px solid #111827;
  box-shadow: 0 12px 28px rgba(17, 24, 39, 0.12);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 950;
}

.ir-cost-content h2 {
  max-width: 720px;
  margin: 20px 0 14px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.7;
  letter-spacing: -0.035em;
}

.ir-cost-content p {
  max-width: 760px;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
}

.ir-cost-content p + p {
  margin-top: 12px;
}

.ir-cost-content strong {
  color: var(--ir-primary-dark);
  font-weight: 950;
}

.ir-cost-btn {
  margin-top: 24px;
  min-height: 52px;
  border-radius: 17px;
  box-shadow: 0 16px 34px rgba(165, 0, 52, 0.14);
}

/* ==========================================================================
   TV Repair Cost Factors Card
   ========================================================================== */

.ir-cost-factors {
  position: relative;
  z-index: 2;
  padding: 22px;
  border-radius: 30px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 24px 62px rgba(17, 24, 39, 0.16);
  overflow: hidden;
}

.ir-cost-factors::before {
  content: "";
  position: absolute;
  top: -52px;
  left: -52px;
  width: 130px;
  height: 130px;
  border-radius: 38px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-cost-factors-head {
  position: relative;
  z-index: 1;
  margin-bottom: 18px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.ir-cost-factors-head > span {
  width: 48px;
  height: 48px;
  border-radius: 17px;
  background: #fff;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-cost-factors-head h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

.ir-cost-factors-head p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.8;
}

/* ==========================================================================
   TV Repair Cost List
   ========================================================================== */

.ir-cost-list {
  position: relative;
  z-index: 1;
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.ir-cost-list li {
  padding: 12px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.11);
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 11px;
}

.ir-cost-list li > span {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background: #fff;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  direction: ltr;
  font-size: 12px;
  font-weight: 950;
}

.ir-cost-list strong {
  display: block;
  margin-bottom: 5px;
  color: #fff;
  font-size: 13.5px;
  font-weight: 950;
}

.ir-cost-list p {
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.85;
}

/* ==========================================================================
   TV Repair Cost Bottom Note
   ========================================================================== */

.ir-cost-note {
  margin-top: 20px;
  padding: 18px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.16);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.ir-cost-note-icon {
  width: 50px;
  height: 50px;
  border-radius: 18px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-cost-note-text strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ir-heading);
  font-size: 16px;
  font-weight: 950;
}

.ir-cost-note-text p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.9;
}

.ir-cost-note-text strong + p strong {
  color: var(--ir-primary-dark);
  font-weight: 950;
}

/* ==========================================================================
   TV Repair Cost Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-cost-section {
    padding: 54px 0;
  }

  .ir-cost-shell {
    padding: 24px;
    border-radius: 30px;
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ir-cost-content h2 {
    font-size: 26px;
  }

  .ir-cost-factors {
    border-radius: 26px;
  }

  .ir-cost-note {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .ir-cost-btn {
    width: 100%;
  }
}

@media (max-width: 575px) {
  .ir-cost-section {
    padding: 42px 0;
  }

  .ir-cost-shell {
    padding: 18px;
    border-radius: 26px;
  }

  .ir-cost-content h2 {
    font-size: 18px;
	  line-height: 2;
  }

  .ir-cost-content p {
    font-size: 14px;
  }

  .ir-cost-factors {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-cost-factors-head {
    flex-direction: column;
  }

  .ir-cost-list li {
    grid-template-columns: 1fr;
  }

  .ir-cost-note {
    padding: 16px;
    border-radius: 22px;
  }
}


/* ==========================================================================
   TV Repair Value Section
   ========================================================================== */

.ir-repair-value-section {
  position: relative;
  padding: 78px 0;
  background: #fff;
  overflow: hidden;
}

.ir-repair-value-section::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -130px;
  width: 280px;
  height: 280px;
  border-radius: 58px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-repair-value-section .container {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   TV Repair Value Banner
   ========================================================================== */

.ir-repair-value-banner {
  position: relative;
  padding: 34px;
  border-radius: 36px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  box-shadow: 0 22px 64px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  align-items: center;
  gap: 34px;
  overflow: hidden;
}

.ir-repair-value-banner::before {
  content: "";
  position: absolute;
  left: 34px;
  top: 28px;
  width: 118px;
  height: 118px;
  border-radius: 34px;
  background: #111827;
  opacity: 0.04;
  transform: rotate(-12deg);
}

.ir-repair-value-content {
  position: relative;
  z-index: 2;
}

.ir-repair-value-tag {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 15px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 950;
}

.ir-repair-value-content h2 {
  max-width: 680px;
  margin: 20px 0 14px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.38;
  letter-spacing: -0.035em;
}

.ir-repair-value-content p {
  max-width: 760px;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
}

.ir-repair-value-content p + p {
  margin-top: 12px;
}

.ir-repair-value-content strong {
  color: var(--ir-primary-dark);
  font-weight: 950;
}

/* ==========================================================================
   TV Repair Value Image Banner
   ========================================================================== */

.ir-repair-value-visual {
  position: relative;
  z-index: 2;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-repair-value-shape {
  position: relative;
  width: min(100%, 350px);
  min-height: 245px;
  border-radius: 42px;
  background: #111827;
  box-shadow: 0 24px 58px rgba(17, 24, 39, 0.16);
}

.ir-repair-value-shape::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 31px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
}

.ir-repair-value-image {
  position: absolute;
  right: 50%;
  bottom: 16px;
  width: min(300px, 104%);
  height: auto;
  max-height: 280px;
  object-fit: contain;
  transform: translateX(50%);
  z-index: 2;
  filter: drop-shadow(0 22px 28px rgba(0, 0, 0, 0.22));
	border-radius: 25px;
}

/* ==========================================================================
   TV Repair Value Decision Cards
   ========================================================================== */

.ir-repair-value-decisions {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.ir-repair-value-card {
  position: relative;
  padding: 22px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 14px;
}

.ir-repair-value-card-dark {
  background: #111827;
  border-color: #111827;
  box-shadow: 0 22px 58px rgba(17, 24, 39, 0.14);
}

.ir-repair-value-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 20px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-repair-value-card-dark .ir-repair-value-card-icon {
  background: #fff;
  color: #111827;
}

.ir-repair-value-card h3 {
  margin: 0 0 12px;
  color: var(--ir-heading);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.55;
}

.ir-repair-value-card-dark h3 {
  color: #fff;
}

.ir-repair-value-card ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.ir-repair-value-card li {
  color: #4b5563;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.8;
}

.ir-repair-value-card-dark li {
  color: rgba(255, 255, 255, 0.82);
}

.ir-repair-value-card li i {
  color: #15803d;
  font-size: 14px;
}

/* ==========================================================================
   TV Repair Value Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-repair-value-section {
    padding: 54px 0;
  }

  .ir-repair-value-banner {
    padding: 24px;
    border-radius: 30px;
    grid-template-columns: 1fr;
  }

  .ir-repair-value-content {
    order: 1;
  }

  .ir-repair-value-visual {
    order: 2;
    min-height: 250px;
  }

  .ir-repair-value-decisions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .ir-repair-value-section {
    padding: 42px 0;
  }

  .ir-repair-value-banner {
    padding: 18px;
    border-radius: 26px;
  }

  .ir-repair-value-content h2 {
    font-size: 24px;
  }

  .ir-repair-value-content p {
    font-size: 14px;
  }

  .ir-repair-value-card {
    grid-template-columns: 1fr;
    padding: 18px;
    border-radius: 24px;
  }
}


/* ==========================================================================
   TV Lifespan Section
   ========================================================================== */

.ir-tv-lifespan-section {
  position: relative;
  padding: 78px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-tv-lifespan-section .container {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   TV Lifespan Layout
   ========================================================================== */

.ir-tv-lifespan-layout {
  position: relative;
  display: grid;
  grid-template-columns: 390px minmax(0, 1fr);
  gap: 34px;
  align-items: center;
}

.ir-tv-lifespan-banner {
  position: relative;
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-tv-lifespan-shape {
  position: relative;
  width: min(100%, 350px);
  min-height: 330px;
  border-radius: 48px;
  background: #111827;
  box-shadow: 0 28px 68px rgba(17, 24, 39, 0.18);
}

.ir-tv-lifespan-shape::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 36px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
}

.ir-tv-lifespan-shape::after {
  content: "";
  position: absolute;
  left: -22px;
  top: 42px;
  width: 96px;
  height: 96px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  transform: rotate(-14deg);
  box-shadow: 0 16px 34px rgba(17, 24, 39, 0.13);
}

.ir-tv-lifespan-image {
  position: absolute;
  right: 50%;
  bottom: 50px;
  width: min(315px, 104%);
  max-height: 380px;
  height: auto;
  object-fit: contain;
  transform: translateX(50%);
  z-index: 2;
  filter: drop-shadow(0 24px 32px rgba(0, 0, 0, 0.22));
	border-radius: 25px;
}

/* ==========================================================================
   TV Lifespan Content
   ========================================================================== */

.ir-tv-lifespan-content {
  position: relative;
  padding: 34px;
  border-radius: 36px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 22px 64px rgba(17, 24, 39, 0.06);
}

.ir-tv-lifespan-tag {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 15px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 950;
}

.ir-tv-lifespan-content h2 {
  margin: 20px 0 14px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.38;
}

.ir-tv-lifespan-content p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
}

/* ==========================================================================
   TV Lifespan Stats
   ========================================================================== */

.ir-tv-lifespan-stats {
  margin: 22px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.ir-tv-lifespan-stats div {
  padding: 16px;
  border-radius: 22px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
}

.ir-tv-lifespan-stats strong {
  width: fit-content;
  min-height: 34px;
  padding: 0 13px;
  margin-bottom: 10px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  direction: ltr;
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 950;
}

.ir-tv-lifespan-stats span {
  display: block;
  color: #4b5563;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.8;
}

.ir-tv-lifespan-note {
  padding: 14px;
  border-radius: 20px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.14);
  color: var(--ir-primary-dark) !important;
  font-weight: 850 !important;
}

/* ==========================================================================
   TV Lifespan Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-tv-lifespan-section {
    padding: 54px 0;
  }

  .ir-tv-lifespan-layout {
    grid-template-columns: 1fr;
  }

  .ir-tv-lifespan-banner {
    min-height: 320px;
  }

  .ir-tv-lifespan-stats {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .ir-tv-lifespan-section {
    padding: 42px 0;
  }

  .ir-tv-lifespan-content {
    padding: 18px;
    border-radius: 26px;
  }

  .ir-tv-lifespan-content h2 {
    font-size: 18px;
  }

  .ir-tv-lifespan-content p {
    font-size: 14px;
  }
}

/* ==========================================================================
   TV Maintenance Tips Section
   ========================================================================== */

.ir-tv-maintenance-section {
  position: relative;
  padding: 78px 0;
  background: #fff;
  overflow: hidden;
}

.ir-tv-maintenance-section .container {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   TV Maintenance Header
   ========================================================================== */

.ir-tv-maintenance-head {
  position: relative;
  margin-bottom: 20px;
  padding: 34px;
  border-radius: 36px;
  background: #111827;
  box-shadow: 0 24px 64px rgba(17, 24, 39, 0.16);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: center;
  gap: 34px;
  overflow: hidden;
}

.ir-tv-maintenance-head::before {
  content: "";
  position: absolute;
  top: -58px;
  right: -52px;
  width: 150px;
  height: 150px;
  border-radius: 44px;
  background: rgba(255, 255, 255, 0.06);
  transform: rotate(15deg);
}

.ir-tv-maintenance-tag {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 15px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 950;
}

.ir-tv-maintenance-head h2 {
  max-width: 700px;
  margin: 20px 0 14px;
  color: #fff;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.38;
}

.ir-tv-maintenance-head p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
}

/* ==========================================================================
   TV Maintenance Banner Image
   ========================================================================== */

.ir-tv-maintenance-banner {
  position: relative;
  min-height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-tv-maintenance-shape {
  position: relative;
  width: min(100%, 320px);
  min-height: 230px;
  border-radius: 42px;
  background: #fff;
}

.ir-tv-maintenance-shape::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 31px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
}

.ir-tv-maintenance-image {
  position: absolute;
  right: 50%;
  bottom: 6px;
  width: min(300px, 104%);
  max-height: 285px;
  height: auto;
  object-fit: contain;
  transform: translateX(50%);
  z-index: 2;
  filter: drop-shadow(0 22px 28px rgba(0, 0, 0, 0.20));
	border-radius: 31px;
	
}

/* ==========================================================================
   TV Maintenance Tips Grid
   ========================================================================== */

.ir-tv-maintenance-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.ir-tv-maintenance-tip {
  position: relative;
  min-height: 190px;
  padding: 22px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  overflow: hidden;
}

.ir-tv-maintenance-tip::before {
  content: "";
  position: absolute;
  top: -46px;
  left: -46px;
  width: 112px;
  height: 112px;
  border-radius: 34px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
}

.ir-tv-maintenance-tip > i {
  position: relative;
  z-index: 1;
  width: 52px;
  height: 52px;
  margin-bottom: 16px;
  border-radius: 18px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
}

.ir-tv-maintenance-tip h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 17px;
  font-weight: 950;
  line-height: 1.55;
}

.ir-tv-maintenance-tip p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.95;
}

.ir-tv-maintenance-tip-dark {
  background: #111827;
  border-color: #111827;
}

.ir-tv-maintenance-tip-dark > i {
  background: #fff;
  color: #111827;
}

.ir-tv-maintenance-tip-dark h3 {
  color: #fff;
}

.ir-tv-maintenance-tip-dark p {
  color: rgba(255, 255, 255, 0.78);
}

/* ==========================================================================
   TV Maintenance Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-tv-maintenance-section {
    padding: 54px 0;
  }

  .ir-tv-maintenance-head {
    padding: 24px;
    border-radius: 30px;
    grid-template-columns: 1fr;
  }

  .ir-tv-maintenance-banner {
    min-height: 240px;
  }

  .ir-tv-maintenance-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 575px) {
  .ir-tv-maintenance-section {
    padding: 42px 0;
  }

  .ir-tv-maintenance-head {
    padding: 18px;
    border-radius: 26px;
  }

  .ir-tv-maintenance-head h2 {
    font-size: 18px;
	  line-height: 2;
  }

  .ir-tv-maintenance-head p {
    font-size: 14px;
  }

  .ir-tv-maintenance-grid {
    grid-template-columns: 1fr;
  }

  .ir-tv-maintenance-tip {
    min-height: auto;
    padding: 18px;
    border-radius: 24px;
  }
}
/* ==========================================================================
   TV Parts Guide Section
   ========================================================================== */

.ir-tv-parts-section {
  position: relative;
  padding: 78px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-tv-parts-section::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -140px;
  width: 300px;
  height: 300px;
  border-radius: 58px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-tv-parts-section::after {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -160px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  pointer-events: none;
}

.ir-tv-parts-section .container {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   TV Parts Guide Header
   ========================================================================== */

.ir-tv-parts-head {
  position: relative;
  margin-bottom: 22px;
  padding: 34px;
  border-radius: 36px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 24px 68px rgba(17, 24, 39, 0.16);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 410px;
  align-items: center;
  gap: 34px;
  overflow: hidden;
}

.ir-tv-parts-head::before {
  content: "";
  position: absolute;
  top: -58px;
  right: -52px;
  width: 160px;
  height: 160px;
  border-radius: 46px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  transform: rotate(15deg);
  pointer-events: none;
}

.ir-tv-parts-head::after {
  content: "";
  position: absolute;
  left: 42px;
  bottom: -78px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: rgba(165, 0, 52, 0.20);
  border: 1px solid rgba(255, 255, 255, 0.08);
  pointer-events: none;
}

.ir-tv-parts-head-content {
  position: relative;
  z-index: 2;
}

.ir-tv-parts-tag {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 15px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  border: 1px solid rgba(255, 255, 255, 0.76);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 950;
}

.ir-tv-parts-tag i {
  color: var(--ir-primary);
}

.ir-tv-parts-head h2 {
  max-width: 760px;
  margin: 20px 0 14px;
  color: #fff;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.38;
  letter-spacing: -0.035em;
}

.ir-tv-parts-head p {
  max-width: 820px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
}

/* ==========================================================================
   TV Parts Guide Header Visual
   ========================================================================== */

.ir-tv-parts-head-visual {
  position: relative;
  z-index: 2;
  min-height: 285px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-tv-parts-head-shape {
  position: relative;
  width: min(100%, 360px);
  min-height: 250px;
  border-radius: 42px;
  background: #fff;
  box-shadow: 0 22px 52px rgba(0, 0, 0, 0.18);
}

.ir-tv-parts-head-shape::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 31px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.12);
}

.ir-tv-parts-head-shape::after {
  content: "";
  position: absolute;
  right: -20px;
  top: 36px;
  width: 96px;
  height: 96px;
  border-radius: 28px;
  background: var(--ir-primary);
  box-shadow: 0 18px 36px rgba(165, 0, 52, 0.18);
  transform: rotate(14deg);
}

.ir-tv-parts-head-image {
  position: absolute;
  right: 50%;
  bottom: 20px;
  width: min(315px, 105%);
  height: auto;
  max-height: 220px;
  /*object-fit: contain;*/
  transform: translateX(50%);
  z-index: 3;
  filter: drop-shadow(0 22px 28px rgba(0, 0, 0, 0.20));
	border-radius: 31px;
}

/* ==========================================================================
   TV Parts Cards Grid
   ========================================================================== */

.ir-tv-parts-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

/* ==========================================================================
   TV Part Card
   ========================================================================== */

.ir-tv-part-card {
  position: relative;
  min-height: 100%;
  padding: 18px;
  border-radius: 32px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.14);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 18px;
  overflow: hidden;
  transition: 0.22s ease;
}

.ir-tv-part-card::before {
  content: "";
  position: absolute;
  top: -54px;
  left: -54px;
  width: 132px;
  height: 132px;
  border-radius: 40px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.10);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-tv-part-card::after {
  content: "";
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(17, 24, 39, 0.035);
  pointer-events: none;
}

.ir-tv-part-card:hover {
  transform: translateY(-4px);
  border-color: rgba(165, 0, 52, 0.28);
  box-shadow: 0 26px 64px rgba(17, 24, 39, 0.09);
}

/* ==========================================================================
   TV Part Media
   ========================================================================== */

.ir-tv-part-media {
  position: relative;
  z-index: 1;
  min-height: 220px;
  padding: 16px;
  border-radius: 26px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.16);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.ir-tv-part-media::before {
  content: "";
  position: absolute;
  inset: 14px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
}

.ir-tv-part-media::after {
  content: "";
  position: absolute;
  left: -34px;
  bottom: -34px;
  width: 92px;
  height: 92px;
  border-radius: 28px;
  background: rgba(165, 0, 52, 0.55);
  transform: rotate(-14deg);
}

.ir-tv-part-media img {
  position: relative;
  z-index: 2;
  max-width: 95%;
  max-height: 180px;
  object-fit: contain;
  filter: drop-shadow(0 18px 22px rgba(0, 0, 0, 0.22));
}

.ir-tv-part-chip {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 3;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  direction: ltr;
  display: inline-flex;
  align-items: center;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.04em;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.14);
}

/* ==========================================================================
   TV Part Content
   ========================================================================== */

.ir-tv-part-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
}

.ir-tv-part-content h3 {
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

.ir-tv-part-content p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.95;
	text-align: justify;
}

/* ==========================================================================
   TV Part Symptoms Feature Box
   ========================================================================== */

.ir-tv-part-symptoms {
  margin-top: auto;
  padding-top: 16px;
}

.ir-tv-part-symptoms > strong {
  display: block;
  margin-bottom: 10px;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: 950;
}

.ir-tv-part-feature-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.ir-tv-part-feature-list span {
  min-height: 38px;
  padding: 8px 9px;
  border-radius: 15px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.6;
}

.ir-tv-part-feature-list i {
  width: 24px;
  height: 24px;
  border-radius: 10px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  flex: 0 0 auto;
}

/* ==========================================================================
   TV Parts Guide Warning
   ========================================================================== */

.ir-tv-parts-warning {
  margin-top: 20px;
  padding: 18px;
  border-radius: 28px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 22px 58px rgba(17, 24, 39, 0.14);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.ir-tv-parts-warning i {
  width: 48px;
  height: 48px;
  border-radius: 17px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-tv-parts-warning p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 750;
  line-height: 2;
	text-align: justify;
}

/* ==========================================================================
   TV Parts Guide Responsive Rules
   ========================================================================== */

@media (max-width: 1199px) {
  .ir-tv-part-card {
    grid-template-columns: 190px minmax(0, 1fr);
  }

  .ir-tv-part-feature-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .ir-tv-parts-section {
    padding: 54px 0;
  }

  .ir-tv-parts-head {
    padding: 24px;
    border-radius: 30px;
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .ir-tv-parts-head-content {
    order: 1;
  }

  .ir-tv-parts-head-visual {
    order: 2;
    min-height: 250px;
  }

  .ir-tv-parts-grid {
    grid-template-columns: 1fr;
  }

  .ir-tv-part-card {
    grid-template-columns: 210px minmax(0, 1fr);
  }
}

@media (max-width: 575px) {
  .ir-tv-parts-section {
    padding: 42px 0;
  }

  .ir-tv-parts-head {
    padding: 18px;
    border-radius: 26px;
  }

  .ir-tv-parts-head h2 {
    font-size: 18px;
	  line-height: 2;
  }

  .ir-tv-parts-head p {
    font-size: 14px;
  }

  .ir-tv-parts-head-visual {
    min-height: 220px;
  }

  .ir-tv-parts-head-shape {
    min-height: 210px;
    border-radius: 32px;
  }

  .ir-tv-parts-head-image {
    width: min(315px, 102%);
	  bottom: 12px;
      max-height: 180px;
  }

  .ir-tv-part-card {
    grid-template-columns: 1fr;
    padding: 16px;
    border-radius: 26px;
  }

  .ir-tv-part-media {
    min-height: 210px;
    border-radius: 22px;
  }

  .ir-tv-part-content h3 {
    font-size: 17px;
  }

  .ir-tv-part-content p {
    font-size: 12.5px;
  }

  .ir-tv-part-feature-list {
    grid-template-columns: 1fr;
  }

  .ir-tv-parts-warning {
    grid-template-columns: 1fr;
    border-radius: 22px;
  }
}

/* ==========================================================================
   Latest Blog Posts Section
   ========================================================================== */

.ir-latest-blog-section {
  position: relative;
  padding: 78px 0;
  background: #fff;
  overflow: hidden;
}

.ir-latest-blog-section::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -140px;
  width: 300px;
  height: 300px;
  border-radius: 58px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-latest-blog-section::after {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -160px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.08);
  pointer-events: none;
}

.ir-latest-blog-section .container {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   Latest Blog Header
   ========================================================================== */

.ir-latest-blog-head {
  margin-bottom: 30px;
  padding: 26px 28px;
  border-radius: 32px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 24px 64px rgba(17, 24, 39, 0.14);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  overflow: hidden;
  position: relative;
}

.ir-latest-blog-head::before {
  content: "";
  position: absolute;
  top: -58px;
  right: -52px;
  width: 150px;
  height: 150px;
  border-radius: 44px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  transform: rotate(15deg);
  pointer-events: none;
}

.ir-latest-blog-head::after {
  content: "";
  position: absolute;
  left: 36px;
  bottom: -76px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: rgba(165, 0, 52, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.08);
  pointer-events: none;
}

.ir-latest-blog-head > div,
.ir-latest-blog-more {
  position: relative;
  z-index: 1;
}

.ir-latest-blog-tag {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  border: 1px solid rgba(255, 255, 255, 0.76);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 950;
}

.ir-latest-blog-tag i {
  color: var(--ir-primary);
}

.ir-latest-blog-head h2 {
  margin: 20px 0 10px;
  color: #fff;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.3;
  letter-spacing: -0.035em;
}

.ir-latest-blog-head p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
}

.ir-latest-blog-more {
  min-height: 48px;
  padding: 0 16px;
  border-radius: 16px;
  background: #fff;
  color: #111827;
  border: 1px solid rgba(255, 255, 255, 0.76);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 950;
  white-space: nowrap;
  transition: 0.2s ease;
}

.ir-latest-blog-more:hover {
  background: var(--ir-primary);
  border-color: var(--ir-primary);
  color: #fff;
  transform: translateY(-2px);
}

.ir-latest-blog-more i {
  font-size: 12px;
  transition: 0.2s ease;
}

.ir-latest-blog-more:hover i {
  transform: translateX(-3px);
}

/* ==========================================================================
   Latest Blog Card
   ========================================================================== */

.ir-latest-blog-card {
  position: relative;
  height: 100%;
  min-height: 430px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.13);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: 0.22s ease;
}

.ir-latest-blog-card::before {
  content: "";
  position: absolute;
  top: -50px;
  left: -50px;
  width: 122px;
  height: 122px;
  border-radius: 38px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.08);
  transform: rotate(-14deg);
  pointer-events: none;
  z-index: 1;
}

.ir-latest-blog-card:hover {
  transform: translateY(-5px);
  border-color: rgba(165, 0, 52, 0.26);
  box-shadow: 0 28px 66px rgba(17, 24, 39, 0.10);
}

/* ==========================================================================
   Latest Blog Image
   ========================================================================== */

.ir-latest-blog-image {
  position: relative;
  height: 190px;
  display: block;
  overflow: hidden;
  background: #111827;
}

.ir-latest-blog-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, 0.18);
  pointer-events: none;
}

.ir-latest-blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.28s ease;
}

.ir-latest-blog-card:hover .ir-latest-blog-image img {
  transform: scale(1.05);
}

.ir-latest-blog-badge {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 2;
  min-height: 34px;
  padding: 0 11px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.14);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11.5px;
  font-weight: 950;
}

.ir-latest-blog-badge i {
  color: var(--ir-primary);
}

/* ==========================================================================
   Latest Blog Body
   ========================================================================== */

.ir-latest-blog-body {
  position: relative;
  z-index: 2;
  padding: 18px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.ir-latest-blog-meta {
  min-height: 30px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.ir-latest-blog-meta span {
  min-height: 30px;
  padding: 0 9px;
  border-radius: 999px;
  background: #f8fafc;
  color: #4b5563;
  border: 1px solid #eef2f7;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 850;
}

.ir-latest-blog-meta i {
  color: var(--ir-primary);
  font-size: 11px;
}

.ir-latest-blog-body h3 {
  margin: 0 0 10px;
  min-height: 58px;
  color: var(--ir-heading);
  font-size: 17px;
  font-weight: 950;
  line-height: 1.7;
  letter-spacing: -0.025em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ir-latest-blog-body h3 a {
  color: inherit;
}

.ir-latest-blog-body h3 a:hover {
  color: var(--ir-primary);
}

.ir-latest-blog-body p {
  margin: 0;
  min-height: 76px;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.95;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
	text-align: justify;
}

/* ==========================================================================
   Latest Blog Link
   ========================================================================== */

.ir-latest-blog-link {
  min-height: 44px;
  margin-top: auto;
  padding-top: 16px;
  color: var(--ir-primary-dark);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 950;
  transition: 0.2s ease;
}

.ir-latest-blog-link i {
  font-size: 12px;
  transition: 0.2s ease;
}

.ir-latest-blog-link:hover {
  color: var(--ir-primary);
}

.ir-latest-blog-link:hover i {
  transform: translateX(-4px);
}

/* ==========================================================================
   Latest Blog Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-latest-blog-section {
    padding: 54px 0;
  }

  .ir-latest-blog-head {
    padding: 22px;
    border-radius: 28px;
    align-items: stretch;
    flex-direction: column;
  }

  .ir-latest-blog-head h2 {
    font-size: 26px;
  }

  .ir-latest-blog-more {
    width: 100%;
  }

  .ir-latest-blog-card {
    min-height: 410px;
  }
}

@media (max-width: 575px) {
  .ir-latest-blog-section {
    padding: 42px 0;
  }

  .ir-latest-blog-head {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-latest-blog-head h2 {
    font-size: 18px;
	  line-height: 2;
  }

  .ir-latest-blog-head p {
    font-size: 14px;
  }

  .ir-latest-blog-card {
    min-height: auto;
    border-radius: 24px;
  }

  .ir-latest-blog-image {
    height: 185px;
  }

  .ir-latest-blog-body h3,
  .ir-latest-blog-body p {
    min-height: auto;
  }
}

/* ==========================================================================
   Main Footer
   ========================================================================== */

.ir-footer {
  position: relative;
  background: #0f172a;
  color: #fff;
  overflow: hidden;
}

.ir-footer::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 320px;
  height: 320px;
  border-radius: 70px;
  background: rgba(165, 0, 52, 0.20);
  transform: rotate(16deg);
  pointer-events: none;
}

.ir-footer::after {
  content: "";
  position: absolute;
  left: -150px;
  bottom: 60px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.06);
  pointer-events: none;
}

.ir-footer-top {
  position: relative;
  z-index: 1;
  padding: 74px 0 26px;
}

.ir-footer-shell {
  position: relative;
  padding: 24px;
  border-radius: 36px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

.ir-footer-shell::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 30px;
  width: 120px;
  height: 120px;
  border-radius: 36px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.06);
  transform: rotate(-14deg);
  pointer-events: none;
}

/* ==========================================================================
   Footer Brand Card
   ========================================================================== */

.ir-footer-brand-card {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 24px;
  border-radius: 30px;
  background: #fff;
  color: #111827;
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.16);
  overflow: hidden;
}

.ir-footer-brand-card::before {
  content: "";
  position: absolute;
  top: -52px;
  left: -52px;
  width: 132px;
  height: 132px;
  border-radius: 40px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.09);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-footer-brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--ir-heading);
}

.ir-footer-logo {
  width: 72px;
  height: 72px;
  object-fit: contain;
  display: block;
}

.ir-footer-logo-mark {
  width: 62px;
  height: 62px;
  border-radius: 22px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-footer-brand span:last-child {
  color: var(--ir-heading);
  font-size: 19px;
  font-weight: 950;
  line-height: 1.4;
  letter-spacing: -0.035em;
}

.ir-footer-about {
  position: relative;
  z-index: 1;
  margin: 18px 0 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
	text-align: justify;
}

/* ==========================================================================
   Footer Social Buttons
   ========================================================================== */

.ir-footer-socials {
  position: relative;
  z-index: 1;
  margin-top: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.ir-footer-socials a {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: #111827;
  color: #fff;
  border: 1px solid #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s ease;
}

.ir-footer-socials a:hover {
  background: var(--ir-primary);
  border-color: var(--ir-primary);
  color: #fff;
  transform: translateY(-3px);
}

/* ==========================================================================
   Footer Widget
   ========================================================================== */

.ir-footer-widget {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 22px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.09);
  overflow: hidden;
}

.ir-footer-widget::before {
  content: "";
  position: absolute;
  top: -54px;
  left: -54px;
  width: 126px;
  height: 126px;
  border-radius: 38px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-footer-widget-head {
  position: relative;
  z-index: 1;
  margin-bottom: 18px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.ir-footer-widget-head > span {
  width: 48px;
  height: 48px;
  border-radius: 17px;
  background: var(--ir-primary);
  color: #fff;
  box-shadow: 0 16px 34px rgba(165, 0, 52, 0.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-footer-widget-head h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

.ir-footer-widget-head p {
  margin: 0;
  color: rgba(255, 255, 255, 0.65);
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.8;
}

/* ==========================================================================
   Footer Repair Services Links
   ========================================================================== */

.ir-footer-service-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.ir-footer-service-link {
  min-height: 50px;
  padding: 10px;
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.065);
  color: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.09);
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  font-weight: 850;
  line-height: 1.6;
  transition: 0.2s ease;
}

.ir-footer-service-link i {
  width: 30px;
  height: 30px;
  border-radius: 12px;
  background: rgba(165, 0, 52, 0.20);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-footer-service-link:hover {
  background: #fff;
  color: #111827;
  border-color: #fff;
  transform: translateY(-2px);
}

.ir-footer-service-link:hover i {
  background: var(--ir-primary);
  color: #fff;
}

/* ==========================================================================
   Footer Quick Links
   ========================================================================== */

.ir-footer-quick-links {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
}

.ir-footer-quick-links a {
  min-height: 46px;
  padding: 9px 10px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.065);
  color: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.09);
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 850;
  transition: 0.2s ease;
}

.ir-footer-quick-links a i {
  width: 28px;
  height: 28px;
  border-radius: 11px;
  background: rgba(165, 0, 52, 0.20);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-footer-quick-links a:hover {
  background: #fff;
  color: #111827;
  border-color: #fff;
  transform: translateY(-2px);
}

.ir-footer-quick-links a:hover i {
  background: var(--ir-primary);
}

/* ==========================================================================
   Footer Main Call
   ========================================================================== */

.ir-footer-main-call {
  position: relative;
  z-index: 1;
  min-height: 66px;
  margin-top: 16px;
  padding: 11px;
  border-radius: 20px;
  background: var(--ir-primary);
  color: #fff;
  border: 1px solid var(--ir-primary);
  display: flex;
  align-items: center;
  gap: 11px;
  box-shadow: 0 18px 38px rgba(165, 0, 52, 0.18);
  transition: 0.2s ease;
}

.ir-footer-main-call > i {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-footer-main-call span {
  display: block;
  margin-bottom: 3px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 11px;
  font-weight: 800;
}

.ir-footer-main-call strong {
  display: block;
  color: #fff;
  direction: ltr;
  font-size: 14px;
  font-weight: 950;
}

.ir-footer-main-call:hover {
  color: #fff;
  background: var(--ir-primary-dark);
  border-color: var(--ir-primary-dark);
  transform: translateY(-2px);
}

/* ==========================================================================
   Footer Contact Row
   ========================================================================== */

.ir-footer-contact-row {
  position: relative;
  z-index: 1;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.ir-footer-contact-card {
  min-height: 88px;
  padding: 14px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.055);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.09);
  display: flex;
  align-items: flex-start;
  gap: 11px;
  transition: 0.2s ease;
}

.ir-footer-contact-card > span {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: #fff;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-footer-contact-card strong {
  display: block;
  margin-bottom: 5px;
  color: #fff;
  font-size: 14px;
  font-weight: 950;
}

.ir-footer-contact-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.70);
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.8;
}

a.ir-footer-contact-card:hover {
  background: #fff;
  border-color: #fff;
  transform: translateY(-2px);
}

a.ir-footer-contact-card:hover strong,
a.ir-footer-contact-card:hover p {
  color: #111827;
}

a.ir-footer-contact-card:hover > span {
  background: var(--ir-primary);
  color: #fff;
}

/* ==========================================================================
   Footer Bottom
   ========================================================================== */

.ir-footer-bottom {
  position: relative;
  z-index: 1;
  padding: 18px 0 24px;
}

.ir-footer-bottom-inner {
  min-height: 58px;
  padding: 14px 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.ir-footer-bottom-inner p {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.8;
}

.ir-footer-bottom-inner a {
  color: #fff;
  font-weight: 950;
}

.ir-footer-bottom-inner a:hover {
  color: #fff;
  text-decoration: underline;
}

/* ==========================================================================
   Footer Responsive Rules
   ========================================================================== */

@media (max-width: 1199px) {
  .ir-footer-contact-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .ir-footer-top {
    padding: 54px 0 22px;
  }

  .ir-footer-shell {
    padding: 18px;
    border-radius: 30px;
  }

  .ir-footer-contact-row {
    grid-template-columns: 1fr;
  }

  .ir-footer-bottom-inner {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 575px) {
  .ir-footer-top {
    padding: 42px 0 18px;
  }

  .ir-footer-shell {
    border-radius: 26px;
  }

  .ir-footer-brand-card,
  .ir-footer-widget {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-footer-service-grid {
    grid-template-columns: 1fr;
  }

  .ir-footer-contact-card {
    border-radius: 20px;
  }

  .ir-footer-bottom-inner {
    border-radius: 20px;
  }
}

/* ==========================================================================
   Mobile Floating Repair CTA
   ========================================================================== */

.ir-mobile-repair-cta {
  position: fixed;
  right: 14px;
  left: 14px;
  bottom: 14px;
  z-index: 1090;
  display: none;
  pointer-events: none;
}

.ir-mobile-repair-btn {
  position: relative;
  min-height: 62px;
  padding: 9px 10px 9px 16px;
  border-radius: 22px;
  background: #111827;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 48px rgba(17, 24, 39, 0.24);
  display: flex;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  pointer-events: auto;
  isolation: isolate;
}

.ir-mobile-repair-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(165, 0, 52, 0.18);
  opacity: 0.95;
  z-index: -2;
}

.ir-mobile-repair-btn::after {
  content: "";
  position: absolute;
  top: -55%;
  right: -22%;
  width: 140px;
  height: 140px;
  border-radius: 42px;
  background: rgba(255, 255, 255, 0.08);
  transform: rotate(18deg);
  z-index: -1;
  animation: irMobileCtaShape 5s ease-in-out infinite;
}

.ir-mobile-repair-icon {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 17px;
  background: var(--ir-primary);
  color: #fff;
  box-shadow: 0 14px 30px rgba(165, 0, 52, 0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-mobile-repair-icon::before {
  content: "";
  position: absolute;
  inset: -7px;
  border-radius: 22px;
  border: 1px solid rgba(165, 0, 52, 0.35);
  animation: irMobileCtaPulse 1.9s ease-out infinite;
}

.ir-mobile-repair-icon i {
  position: relative;
  z-index: 1;
  font-size: 17px;
  animation: irMobilePhoneRing 2.6s ease-in-out infinite;
}

.ir-mobile-repair-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.ir-mobile-repair-text strong {
  color: #fff;
  font-size: 13.5px;
  font-weight: 950;
  line-height: 1.45;
}

.ir-mobile-repair-text small {
  color: rgba(255, 255, 255, 0.76);
  font-size: 12px;
  font-weight: 850;
  direction: ltr;
  text-align: right;
}

.ir-mobile-repair-btn:hover {
  color: #fff;
}

.ir-mobile-repair-btn:active {
  transform: scale(0.985);
}

/* ==========================================================================
   Mobile Floating Repair CTA Visibility
   ========================================================================== */

.ir-mobile-repair-cta {
  position: fixed;
  right: 14px;
  left: 14px;
  bottom: 14px;
  z-index: 1090;
  display: none;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(18px) scale(0.96);
  transition: 0.24s ease;
}

.ir-mobile-repair-cta.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

/* ==========================================================================
   Mobile Floating Repair CTA Animation
   ========================================================================== */

@keyframes irMobileCtaPulse {
  0% {
    opacity: 0.9;
    transform: scale(0.92);
  }

  70% {
    opacity: 0;
    transform: scale(1.18);
  }

  100% {
    opacity: 0;
    transform: scale(1.18);
  }
}

@keyframes irMobilePhoneRing {
  0%,
  82%,
  100% {
    transform: rotate(0);
  }

  86% {
    transform: rotate(-12deg);
  }

  90% {
    transform: rotate(12deg);
  }

  94% {
    transform: rotate(-8deg);
  }

  98% {
    transform: rotate(5deg);
  }
}

@keyframes irMobileCtaShape {
  0%,
  100% {
    transform: rotate(18deg) translateY(0);
  }

  50% {
    transform: rotate(24deg) translateY(10px);
  }
}

/* ==========================================================================
   Floating Buttons Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-mobile-repair-cta {
    display: block;
  }

  .ir-scroll-top {
    left: 14px;
    bottom: 90px;
    width: 48px;
    height: 48px;
    border-radius: 17px;
  }

  .ir-scroll-top span {
    width: 34px;
    height: 34px;
    border-radius: 13px;
  }

  body {
    padding-bottom: 88px;
  }
}

/* ==========================================================================
   Scroll Top Button
   ========================================================================== */

.ir-scroll-top {
  position: fixed;
  left: 22px;
  bottom: 24px;
  z-index: 1080;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 0;
  border-radius: 19px;
  background: #111827;
  color: #fff;
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.20);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px) scale(0.94);
  transition: 0.24s ease;
  overflow: hidden;
}

.ir-scroll-top::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--ir-primary);
  opacity: 0;
  transition: 0.24s ease;
}

.ir-scroll-top::after {
  content: "";
  position: absolute;
  top: -42px;
  right: -36px;
  width: 88px;
  height: 88px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.08);
  transform: rotate(18deg);
}

.ir-scroll-top span {
  position: relative;
  z-index: 1;
  width: 38px;
  height: 38px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.09);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-scroll-top i {
  font-size: 15px;
  transition: 0.2s ease;
}

.ir-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.ir-scroll-top:hover {
  color: #fff;
  transform: translateY(-3px) scale(1);
  box-shadow: 0 22px 50px rgba(17, 24, 39, 0.26);
}

.ir-scroll-top:hover::before {
  opacity: 1;
}

.ir-scroll-top:hover i {
  transform: translateY(-2px);
}

/* ==========================================================================
   Floating Buttons Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-mobile-repair-cta {
    display: block;
  }

  .ir-scroll-top {
    left: 14px;
    bottom: 90px;
    width: 48px;
    height: 48px;
    border-radius: 17px;
  }

  .ir-scroll-top span {
    width: 34px;
    height: 34px;
    border-radius: 13px;
  }

  body {
    padding-bottom: 88px;
  }
}

@media (min-width: 992px) {
  .ir-scroll-top {
    left: 28px;
    bottom: 28px;
  }
}

/* ==========================================================================
   Service Areas Section
   ========================================================================== */

.ir-areas-section {
  position: relative;
  padding: 78px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-areas-section::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -140px;
  width: 300px;
  height: 300px;
  border-radius: 58px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-areas-section::after {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -160px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  pointer-events: none;
}

.ir-areas-section .container {
  position: relative;
  z-index: 1;
}

.ir-areas-shell {
  position: relative;
}

/* ==========================================================================
   Service Areas Header
   ========================================================================== */

.ir-areas-head {
  position: relative;
  margin-bottom: 22px;
  padding: 28px;
  border-radius: 34px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 24px 68px rgba(17, 24, 39, 0.16);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  overflow: hidden;
}

.ir-areas-head::before {
  content: "";
  position: absolute;
  top: -58px;
  right: -52px;
  width: 150px;
  height: 150px;
  border-radius: 44px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  transform: rotate(15deg);
  pointer-events: none;
}

.ir-areas-head::after {
  content: "";
  position: absolute;
  left: 34px;
  bottom: -74px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: rgba(165, 0, 52, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.08);
  pointer-events: none;
}

.ir-areas-head-content,
.ir-areas-head-action {
  position: relative;
  z-index: 1;
}

.ir-areas-tag {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  border: 1px solid rgba(255, 255, 255, 0.76);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 950;
}

.ir-areas-tag i {
  color: var(--ir-primary);
}

.ir-areas-head h2 {
  max-width: 760px;
  margin: 20px 0 10px;
  color: #fff;
  font-size: 24px;
  font-weight: 950;
  line-height: 1.3;
  letter-spacing: -0.035em;
}

.ir-areas-head p {
  max-width: 820px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
}

.ir-areas-head-action {
  flex: 0 0 auto;
}

/* ==========================================================================
   Service Areas Cards Grid
   ========================================================================== */

.ir-areas-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

/* ==========================================================================
   Service Area Card
   ========================================================================== */

.ir-area-card {
  position: relative;
  min-height: 112px;
  padding: 16px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.13);
  box-shadow: 0 16px 42px rgba(17, 24, 39, 0.055);
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 14px;
  overflow: hidden;
  transition: 0.22s ease;
}

.ir-area-card::before {
  content: "";
  position: absolute;
  top: -48px;
  left: -48px;
  width: 118px;
  height: 118px;
  border-radius: 36px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.09);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-area-card::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(17, 24, 39, 0.035);
  pointer-events: none;
}

.ir-area-card:hover {
  transform: translateY(-4px);
  border-color: rgba(165, 0, 52, 0.28);
  box-shadow: 0 24px 58px rgba(17, 24, 39, 0.09);
  background: #fff;
}

.ir-area-icon {
  position: relative;
  z-index: 1;
  width: 54px;
  height: 54px;
  border-radius: 19px;
  background: #111827;
  color: #fff;
  box-shadow: 0 14px 30px rgba(17, 24, 39, 0.13);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-area-icon i {
  font-size: 19px;
}

.ir-area-card:hover .ir-area-icon {
  background: var(--ir-primary);
  box-shadow: 0 16px 34px rgba(165, 0, 52, 0.18);
}

.ir-area-card div {
  position: relative;
  z-index: 1;
}

.ir-area-card h3 {
  margin: 0 0 6px;
  color: var(--ir-heading);
  font-size: 16px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

.ir-area-card p {
  margin: 0;
  color: #4b5563;
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.8;
}

.ir-area-arrow {
  position: relative;
  z-index: 1;
  width: 38px;
  height: 38px;
  border-radius: 15px;
  background: #f8fafc;
  color: var(--ir-primary);
  border: 1px solid #eef2f7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.22s ease;
}

.ir-area-arrow i {
  font-size: 12px;
  transition: 0.22s ease;
}

.ir-area-card:hover .ir-area-arrow {
  background: var(--ir-primary);
  color: #fff;
  border-color: var(--ir-primary);
}

.ir-area-card:hover .ir-area-arrow i {
  transform: translateX(-3px);
}

/* ==========================================================================
   Service Areas Note
   ========================================================================== */

.ir-areas-note {
  margin-top: 18px;
  padding: 18px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.15);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.ir-areas-note span {
  width: 48px;
  height: 48px;
  border-radius: 17px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-areas-note p {
  margin: 0;
  color: #4b5563;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.9;
}

/* ==========================================================================
   Service Areas Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-areas-section {
    padding: 54px 0;
  }

  .ir-areas-head {
    padding: 22px;
    border-radius: 28px;
    align-items: stretch;
    flex-direction: column;
  }

  .ir-areas-head h2 {
    font-size: 26px;
  }

  .ir-areas-head-action .ir-btn {
    width: 100%;
  }

  .ir-areas-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .ir-areas-section {
    padding: 42px 0;
  }

  .ir-areas-head {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-areas-head h2 {
    font-size: 18px;
	 line-height: 2;
  }

  .ir-areas-head p {
    font-size: 14px;
  }

  .ir-area-card {
    min-height: auto;
    padding: 15px;
    border-radius: 22px;
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .ir-area-icon {
    width: 48px;
    height: 48px;
    border-radius: 17px;
  }

  .ir-area-arrow {
    display: none;
  }

  .ir-area-card h3 {
    font-size: 15.5px;
  }

  .ir-areas-note {
    grid-template-columns: 1fr;
    border-radius: 22px;
  }
}

/* ==========================================================================
   About Page
   ========================================================================== */

.ir-about-page {
  background: #fff;
}

/* ==========================================================================
   About Hero Section
   ========================================================================== */

.ir-about-hero {
  position: relative;
  padding: 72px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-about-hero::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -140px;
  width: 300px;
  height: 300px;
  border-radius: 58px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-about-hero::after {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -160px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  pointer-events: none;
}

.ir-about-hero .container {
  position: relative;
  z-index: 1;
}

.ir-about-hero-shell {
  position: relative;
  padding: 34px;
  border-radius: 36px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 22px 64px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  align-items: center;
  gap: 34px;
  overflow: hidden;
}

.ir-about-hero-shell::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 34px;
  width: 122px;
  height: 122px;
  border-radius: 36px;
  background: #111827;
  opacity: 0.04;
  transform: rotate(-12deg);
  pointer-events: none;
}

.ir-about-hero-content {
  position: relative;
  z-index: 2;
}

.ir-about-kicker {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 15px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  border: 1px solid #111827;
  box-shadow: 0 12px 28px rgba(17, 24, 39, 0.12);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 950;
}

.ir-about-kicker-dark {
  background: #fff;
  color: #111827;
  border-color: #e5e7eb;
}

.ir-about-hero-content h1 {
  max-width: 720px;
  margin: 0 0 16px;
  color: var(--ir-heading);
  font-size: 24px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -0.045em;
	margin-top: 20px;
}

.ir-about-hero-content p {
  max-width: 760px;
  margin: 0;
  color: #4b5563;
  font-size: 15px;
  font-weight: 700;
  line-height: 2.08;
}

.ir-about-hero-actions {
  margin-top: 26px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

/* ==========================================================================
   About Hero Visual
   ========================================================================== */

.ir-about-hero-visual {
  position: relative;
  z-index: 2;
  min-height: 330px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-about-hero-shape {
  position: relative;
  width: min(100%, 360px);
  min-height: 280px;
  border-radius: 44px;
  background: #111827;
  box-shadow: 0 26px 66px rgba(17, 24, 39, 0.17);
}

.ir-about-hero-shape::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
}

.ir-about-hero-shape::after {
  content: "";
  position: absolute;
  right: -20px;
  top: 36px;
  width: 96px;
  height: 96px;
  border-radius: 28px;
  background: var(--ir-primary);
  box-shadow: 0 18px 36px rgba(165, 0, 52, 0.20);
  transform: rotate(14deg);
}

.ir-about-hero-image {
  position: absolute;
  right: 50%;
  bottom: 20px;
  width: min(330px, 106%);
  height: auto;
  max-height: 350px;
  object-fit: contain;
  transform: translateX(50%);
  z-index: 3;
  filter: drop-shadow(0 24px 32px rgba(0, 0, 0, 0.22));
	border-radius: 31px;
}

.ir-about-hero-card {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 4;
  max-width: 260px;
  min-height: 68px;
  padding: 11px 13px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.16);
  display: flex;
  align-items: center;
  gap: 10px;
}

.ir-about-hero-card i {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-about-hero-card strong {
  display: block;
  margin-bottom: 4px;
  color: var(--ir-heading);
  font-size: 13px;
  font-weight: 950;
}

.ir-about-hero-card span {
  display: block;
  color: var(--ir-muted);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.7;
}

/* ==========================================================================
   About Intro Section
   ========================================================================== */

.ir-about-intro-section {
  position: relative;
  padding: 72px 0;
  background: #fff;
}

.ir-about-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.ir-about-intro-card {
  position: relative;
  min-height: 285px;
  padding: 26px;
  border-radius: 32px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  overflow: hidden;
}

.ir-about-intro-card::before {
  content: "";
  position: absolute;
  top: -50px;
  left: -50px;
  width: 126px;
  height: 126px;
  border-radius: 38px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-about-intro-card-dark {
  background: #111827;
  border-color: #111827;
  box-shadow: 0 24px 62px rgba(17, 24, 39, 0.15);
}

.ir-about-intro-card-dark::before {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.10);
}

.ir-about-intro-icon {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  margin-bottom: 18px;
  border-radius: 20px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-about-intro-card h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 12px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -0.035em;
}

.ir-about-intro-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
}

.ir-about-intro-card-dark h2 {
  color: #fff;
}

.ir-about-intro-card-dark p {
  color: rgba(255, 255, 255, 0.76);
}

/* ==========================================================================
   About Stats Section
   ========================================================================== */

.ir-about-stats-section {
  position: relative;
  padding: 72px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-about-stats-shell {
  position: relative;
  padding: 30px;
  border-radius: 36px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 24px 68px rgba(17, 24, 39, 0.16);
  overflow: hidden;
}

.ir-about-stats-shell::before {
  content: "";
  position: absolute;
  top: -58px;
  right: -52px;
  width: 160px;
  height: 160px;
  border-radius: 46px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  transform: rotate(15deg);
  pointer-events: none;
}

.ir-about-stats-head {
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin-bottom: 24px;
}

.ir-about-stats-head h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 26px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -0.035em;
}

.ir-about-stats-head p {
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
}

.ir-about-stats-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.ir-about-stat-card {
  min-height: 132px;
  padding: 18px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.11);
}

.ir-about-stat-card strong {
  display: block;
  margin-bottom: 10px;
  color: #fff;
  font-size: 24px;
  font-weight: 950;
  line-height: 1.2;
}

.ir-about-stat-card span {
  display: block;
  color: rgba(255, 255, 255, 0.76);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.8;
}

/* ==========================================================================
   About Values Section
   ========================================================================== */

.ir-about-values-section {
  position: relative;
  padding: 72px 0;
  background: #fff;
}

.ir-about-values-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.ir-about-values-head h2 {
  margin: 0 0 12px;
  color: var(--ir-heading);
  font-size: 26px;
  font-weight: 950;
  line-height: 1.3;
  letter-spacing: -0.035em;
}

.ir-about-values-head p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
}

.ir-about-values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.ir-about-value-card {
  position: relative;
  min-height: 230px;
  padding: 22px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.13);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  overflow: hidden;
}

.ir-about-value-card::before {
  content: "";
  position: absolute;
  top: -48px;
  left: -48px;
  width: 116px;
  height: 116px;
  border-radius: 34px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.09);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-about-value-card i {
  position: relative;
  z-index: 1;
  width: 54px;
  height: 54px;
  margin-bottom: 16px;
  border-radius: 19px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
}

.ir-about-value-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 17px;
  font-weight: 950;
  line-height: 1.55;
}

.ir-about-value-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #4b5563;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.95;
}

/* ==========================================================================
   About CTA Section
   ========================================================================== */

.ir-about-cta-section {
  padding: 0 0 78px;
  background: #fff;
}

.ir-about-cta {
  padding: 26px;
  border-radius: 32px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 24px 64px rgba(17, 24, 39, 0.14);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.ir-about-cta h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 24px;
  font-weight: 950;
  line-height: 1.4;
}

.ir-about-cta p {
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.9;
}

/* ==========================================================================
   About Page Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-about-hero,
  .ir-about-intro-section,
  .ir-about-stats-section,
  .ir-about-values-section {
    padding: 54px 0;
  }

  .ir-about-hero-shell {
    padding: 24px;
    border-radius: 30px;
    grid-template-columns: 1fr;
  }

  .ir-about-hero-content {
    order: 1;
  }

  .ir-about-hero-visual {
    order: 2;
    min-height: 280px;
  }

  .ir-about-intro-grid,
  .ir-about-stats-grid,
  .ir-about-values-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ir-about-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .ir-about-cta .ir-btn {
    width: 100%;

  }
}

@media (max-width: 575px) {
  .ir-about-hero,
  .ir-about-intro-section,
  .ir-about-stats-section,
  .ir-about-values-section {
    padding: 42px 0;
  }

  .ir-about-hero-shell {
    padding: 18px;
    border-radius: 26px;
  }

  .ir-about-hero-content h1 {
    font-size: 18px;
	  line-height: 2;
	  
  }

  .ir-about-hero-content p {
    font-size: 13px;
  }

  .ir-about-hero-actions .ir-btn {
    width: 100%;
  }

  .ir-about-hero-visual {
    min-height: 245px;
  }

  .ir-about-hero-shape {
    min-height: 225px;
    border-radius: 32px;
  }

  .ir-about-hero-image {
    width: min(310px, 104%);
  }

  .ir-about-intro-grid,
  .ir-about-stats-grid,
  .ir-about-values-grid {
    grid-template-columns: 1fr;
  }

  .ir-about-intro-card,
  .ir-about-stats-shell,
  .ir-about-value-card,
  .ir-about-cta {
    border-radius: 24px;
  }

  .ir-about-intro-card {
    min-height: auto;
    padding: 18px;
  }

  .ir-about-stats-shell {
    padding: 18px;
  }

  .ir-about-stats-head h2,
  .ir-about-values-head h2 {
    font-size: 18px;
	  line-height: 2;
  }

  .ir-about-cta-section {
    padding-bottom: 42px;
  }

  .ir-about-cta {
    padding: 18px;
  }

  .ir-about-cta h2 {
    font-size: 18px;
	  line-height: 1.7;
  }
}

/* ==========================================================================
   Contact Page
   ========================================================================== */

.ir-contact-page {
  background: #fff;
}

/* ==========================================================================
   Contact Hero Section
   ========================================================================== */

.ir-contact-hero {
  position: relative;
  padding: 72px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-contact-hero::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -140px;
  width: 300px;
  height: 300px;
  border-radius: 58px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-contact-hero .container {
  position: relative;
  z-index: 1;
}

.ir-contact-hero-shell {
  position: relative;
  padding: 34px;
  border-radius: 36px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 22px 64px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  align-items: center;
  gap: 34px;
  overflow: hidden;
}

.ir-contact-hero-shell::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 34px;
  width: 122px;
  height: 122px;
  border-radius: 36px;
  background: #111827;
  opacity: 0.04;
  transform: rotate(-12deg);
  pointer-events: none;
}

.ir-contact-hero-content {
  position: relative;
  z-index: 2;
}

.ir-contact-kicker {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 15px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  border: 1px solid #111827;
  box-shadow: 0 12px 28px rgba(17, 24, 39, 0.12);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 950;
}

.ir-contact-hero-content h1 {
  max-width: 720px;
  margin: 20px 0 16px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -0.045em;
}

.ir-contact-hero-content p {
  max-width: 760px;
  margin: 0;
  color: #4b5563;
  font-size: 15px;
  font-weight: 700;
  line-height: 2.08;
}

/* ==========================================================================
   Contact Hero Visual
   ========================================================================== */

.ir-contact-hero-visual {
  position: relative;
  z-index: 2;
  min-height: 330px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-contact-hero-shape {
  position: relative;
  width: min(100%, 360px);
  min-height: 280px;
  border-radius: 44px;
  background: #111827;
  box-shadow: 0 26px 66px rgba(17, 24, 39, 0.17);
}

.ir-contact-hero-shape::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
}

.ir-contact-hero-shape::after {
  content: "";
  position: absolute;
  right: -20px;
  top: 36px;
  width: 96px;
  height: 96px;
  border-radius: 28px;
  background: var(--ir-primary);
  box-shadow: 0 18px 36px rgba(165, 0, 52, 0.20);
  transform: rotate(14deg);
}

.ir-contact-hero-image {
  position: absolute;
  right: 50%;
  bottom: -18px;
  width: min(390px, 106%);
  height: auto;
  max-height: 350px;
  object-fit: contain;
  transform: translateX(50%);
  z-index: 3;
  filter: drop-shadow(0 24px 32px rgba(0, 0, 0, 0.22));
}

.ir-contact-hero-card {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 4;
  max-width: 260px;
  min-height: 68px;
  padding: 11px 13px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.16);
  display: flex;
  align-items: center;
  gap: 10px;
}

.ir-contact-hero-card i {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-contact-hero-card strong {
  display: block;
  margin-bottom: 4px;
  color: var(--ir-heading);
  font-size: 13px;
  font-weight: 950;
}

.ir-contact-hero-card span {
  display: block;
  color: var(--ir-muted);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.7;
}

/* ==========================================================================
   Contact Info Cards
   ========================================================================== */

.ir-contact-info-section {
  padding: 72px 0 0;
  background: #fff;
}

.ir-contact-info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.ir-contact-info-card {
  position: relative;
  min-height: 150px;
  padding: 20px;
  border-radius: 28px;
  background: #fff;
  color: var(--ir-heading);
  border: 1px solid rgba(165, 0, 52, 0.14);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  display: flex;
  align-items: flex-start;
  gap: 13px;
  overflow: hidden;
  transition: 0.22s ease;
}

.ir-contact-info-card::before {
  content: "";
  position: absolute;
  top: -48px;
  left: -48px;
  width: 118px;
  height: 118px;
  border-radius: 36px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.09);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-contact-info-card:hover {
  transform: translateY(-4px);
  border-color: rgba(165, 0, 52, 0.28);
  box-shadow: 0 26px 64px rgba(17, 24, 39, 0.09);
}

.ir-contact-info-card > span {
  position: relative;
  z-index: 1;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-contact-info-card:hover > span {
  background: var(--ir-primary);
}

.ir-contact-info-card div {
  position: relative;
  z-index: 1;
}

.ir-contact-info-card h2 {
  margin: 0 0 8px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.45;
}

.ir-contact-info-card p {
  margin: 0;
  color: #4b5563;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.8;
}

/* ==========================================================================
   Contact Main Section
   ========================================================================== */

.ir-contact-main-section {
  padding: 72px 0 78px;
  background: #fff;
}

.ir-contact-main-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: stretch;
}

.ir-contact-map-box,
.ir-contact-form-box {
  position: relative;
  padding: 22px;
  border-radius: 32px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  overflow: hidden;
}

.ir-contact-map-box::before,
.ir-contact-form-box::before {
  content: "";
  position: absolute;
  top: -54px;
  left: -54px;
  width: 126px;
  height: 126px;
  border-radius: 38px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
  pointer-events: none;
}

/* ==========================================================================
   Contact Block Header
   ========================================================================== */

.ir-contact-block-head {
  position: relative;
  z-index: 1;
  margin-bottom: 18px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.ir-contact-block-head > span {
  width: 50px;
  height: 50px;
  border-radius: 18px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-contact-block-head h2 {
  margin: 0 0 6px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.45;
}

.ir-contact-block-head p {
  margin: 0;
  color: var(--ir-muted);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.8;
}

/* ==========================================================================
   Contact Map
   ========================================================================== */

.ir-contact-map-frame {
  position: relative;
  z-index: 1;
  height: 470px;
  border-radius: 26px;
  background: #111827;
  border: 1px solid #e5e7eb;
  overflow: hidden;
}

.ir-contact-map-frame iframe {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block;
}

.ir-contact-map-empty {
  height: 100%;
  padding: 24px;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
}

.ir-contact-map-empty i {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: var(--ir-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-contact-map-empty strong {
  font-size: 17px;
  font-weight: 950;
}

.ir-contact-map-empty span {
  color: rgba(255, 255, 255, 0.75);
  font-size: 13px;
  font-weight: 750;
}

/* ==========================================================================
   Contact Alerts
   ========================================================================== */

.ir-contact-alert {
  position: relative;
  z-index: 1;
  margin-bottom: 14px;
  padding: 13px 14px;
  border-radius: 18px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.8;
}

.ir-contact-alert-success {
  background: #ecfdf5;
  color: #166534;
  border: 1px solid #bbf7d0;
}

.ir-contact-alert-error {
  background: #fff7fa;
  color: var(--ir-primary-dark);
  border: 1px solid rgba(165, 0, 52, 0.18);
}

.ir-contact-alert div {
  display: grid;
  gap: 4px;
}

/* ==========================================================================
   Contact Form
   ========================================================================== */

.ir-contact-form {
  position: relative;
  z-index: 1;
}

.ir-contact-form label {
  display: block;
  margin-bottom: 8px;
  color: var(--ir-heading);
  font-size: 13px;
  font-weight: 950;
}

.ir-contact-form input,
.ir-contact-form textarea {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border-radius: 17px;
  background: #fff;
  color: var(--ir-heading);
  border: 1px solid #e5e7eb;
  outline: none;
  font-size: 13px;
  font-weight: 750;
  transition: 0.2s ease;
}

.ir-contact-form textarea {
  min-height: 130px;
  padding-top: 13px;
  resize: vertical;
  line-height: 1.9;
}

.ir-contact-form input:focus,
.ir-contact-form textarea:focus {
  border-color: rgba(165, 0, 52, 0.42);
  box-shadow: 0 0 0 4px rgba(165, 0, 52, 0.08);
}

.ir-contact-submit {
  width: 100%;
  min-height: 50px;
  padding: 0 18px;
  border: 0;
  border-radius: 17px;
  background: var(--ir-primary);
  color: #fff;
  box-shadow: 0 16px 34px rgba(165, 0, 52, 0.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 950;
  transition: 0.2s ease;
}

.ir-contact-submit:hover {
  background: var(--ir-primary-dark);
  transform: translateY(-2px);
}

.ir-form-hidden-field {
  position: absolute;
  right: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* ==========================================================================
   Contact Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-contact-hero,
  .ir-contact-info-section,
  .ir-contact-main-section {
    padding: 54px 0;
  }

  .ir-contact-info-section {
    padding-bottom: 0;
  }

  .ir-contact-hero-shell {
    padding: 24px;
    border-radius: 30px;
    grid-template-columns: 1fr;
  }

  .ir-contact-hero-content {
    order: 1;
  }

  .ir-contact-hero-visual {
    order: 2;
    min-height: 280px;
  }

  .ir-contact-info-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ir-contact-main-grid {
    grid-template-columns: 1fr;
  }

  .ir-contact-map-frame {
    height: 380px;
  }
}

@media (max-width: 575px) {
  .ir-contact-hero,
  .ir-contact-info-section,
  .ir-contact-main-section {
    padding: 42px 0;
  }

  .ir-contact-info-section {
    padding-bottom: 0;
  }

  .ir-contact-hero-shell {
    padding: 18px;
    border-radius: 26px;
  }

  .ir-contact-hero-content h1 {
    font-size: 27px;
  }

  .ir-contact-hero-content p {
    font-size: 13px;
  }

  .ir-contact-hero-visual {
    min-height: 245px;
  }

  .ir-contact-hero-shape {
    min-height: 225px;
    border-radius: 32px;
  }

  .ir-contact-hero-image {
    width: min(310px, 104%);
  }

  .ir-contact-info-grid {
    grid-template-columns: 1fr;
  }

  .ir-contact-info-card {
    min-height: auto;
    border-radius: 22px;
  }

  .ir-contact-info-card h2,
  .ir-contact-block-head h2 {
    font-size: 18px;
    line-height: 1.55;
  }

  .ir-contact-map-box,
  .ir-contact-form-box {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-contact-block-head {
    flex-direction: column;
  }

  .ir-contact-map-frame {
    height: 320px;
    border-radius: 20px;
  }
}

/* ==========================================================================
   Brand Landing Shared Sections
   ========================================================================== */

.ir-brand-landing-page {
  background: #fff;
}

.ir-landing-section {
  position: relative;
  padding: 72px 0;
  overflow: hidden;
}

.ir-landing-section:nth-of-type(even) {
  background: #f8fafc;
}

.ir-landing-section:nth-of-type(odd) {
  background: #fff;
}

.ir-landing-section .container {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   Brand Landing Shared Head
   ========================================================================== */

.ir-landing-head {
  max-width: 780px;
  margin-bottom: 28px;
}

.ir-landing-head-center {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.ir-landing-kicker {
  width: fit-content;
  min-height: 36px;
  padding: 0 12px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  border: 1px solid #111827;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 950;
}

.ir-landing-kicker-light {
  background: #fff;
  color: #111827;
  border-color: rgba(255, 255, 255, 0.76);
}

.ir-landing-head h2,
.ir-landing-text-card h2,
.ir-lg-tv-content h2,
.ir-brand-process-head h2,
.ir-brand-cta h2,
.ir-brand-question-content h2 {
  margin: 20px 0 12px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.8;
  letter-spacing: -0.025em;
}

.ir-landing-head p,
.ir-landing-text-card p,
.ir-lg-tv-content p,
.ir-brand-process-head p,
.ir-brand-cta p,
.ir-brand-question-content p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
	text-align: justify;
}

.ir-landing-text-card p + p {
  margin-top: 12px;
}

/* ==========================================================================
   Brand About Split
   ========================================================================== */

.ir-landing-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 18px;
  align-items: stretch;
}

.ir-landing-text-card {
  position: relative;
  padding: 28px;
  border-radius: 32px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  overflow: hidden;
}

.ir-landing-text-card::before {
  content: "";
  position: absolute;
  top: -54px;
  left: -54px;
  width: 132px;
  height: 132px;
  border-radius: 40px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.09);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-landing-text-card > * {
  position: relative;
  z-index: 1;
}

.ir-landing-proof-card {
  position: relative;
  padding: 24px;
  border-radius: 32px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 24px 62px rgba(17, 24, 39, 0.15);
  overflow: hidden;
}

.ir-landing-proof-card::before {
  content: "";
  position: absolute;
  top: -56px;
  right: -50px;
  width: 140px;
  height: 140px;
  border-radius: 42px;
  background: rgba(255, 255, 255, 0.06);
  transform: rotate(15deg);
}

.ir-landing-proof-icon {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  margin-bottom: 18px;
  border-radius: 20px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-landing-proof-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 14px;
  color: #fff;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.55;
}

.ir-landing-proof-card ul {
  position: relative;
  z-index: 1;
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.ir-landing-proof-card li {
  color: rgba(255, 255, 255, 0.82);
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.8;
}

.ir-landing-proof-card li i {
  color: #22c55e;
  font-size: 12px;
}

/* ==========================================================================
   About LG TVs
   ========================================================================== */

.ir-lg-tv-shell {
  position: relative;
  padding: 30px;
  border-radius: 36px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 24px 68px rgba(17, 24, 39, 0.16);
  display: grid;
  grid-template-columns: 390px minmax(0, 1fr);
  gap: 30px;
  align-items: center;
  overflow: hidden;
}

.ir-lg-tv-shell::before {
  content: "";
  position: absolute;
  top: -58px;
  right: -52px;
  width: 160px;
  height: 160px;
  border-radius: 46px;
  background: rgba(255, 255, 255, 0.06);
  transform: rotate(15deg);
}

.ir-lg-tv-visual,
.ir-lg-tv-content {
  position: relative;
  z-index: 1;
}

.ir-lg-tv-image-box {
  position: relative;
  min-height: 370px;
  border-radius: 34px;
  background: #fff;
  overflow: hidden;
}

.ir-lg-tv-image-box img {
  width: 370px;
  height: 370px;
  min-height: 370px;
  object-fit: cover;
  display: block;
}

.ir-lg-tv-content h2 {
  color: #fff;
}

.ir-lg-tv-content p {
  color: rgba(255, 255, 255, 0.78);
}

.ir-lg-tv-feature-row {
  margin-top: 35px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ir-lg-tv-feature-row div {
  padding: 14px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.11);
}

.ir-lg-tv-feature-row strong {
  display: block;
  margin-bottom: 6px;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}

.ir-lg-tv-feature-row span {
  display: block;
  color: rgba(255, 255, 255, 0.76);
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.85;
}

.ir-lg-tv-note {
  margin-top: 25px;
  padding: 14px;
  border-radius: 20px;
  background: #fff;
  color: #4b5563;
  border: 1px solid #e5e7eb;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.ir-lg-tv-note i {
  margin-top: 4px;
  color: var(--ir-primary);
}

.ir-lg-tv-note span {
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.9;
}

/* ==========================================================================
   Brand Features
   ========================================================================== */

.ir-landing-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.ir-landing-feature-card {
  position: relative;
  min-height: 230px;
  padding: 22px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.13);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  overflow: hidden;
}

.ir-landing-feature-card::before {
  content: "";
  position: absolute;
  top: -48px;
  left: -48px;
  width: 116px;
  height: 116px;
  border-radius: 34px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.09);
  transform: rotate(-14deg);
}

.ir-landing-feature-card > span {
  position: relative;
  z-index: 1;
  width: 54px;
  height: 54px;
  margin-bottom: 16px;
  border-radius: 19px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-landing-feature-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 16.5px;
  font-weight: 950;
  line-height: 1.55;
}

.ir-landing-feature-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #4b5563;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.95;
	text-align: justify;
}

/* ==========================================================================
   TV Types
   ========================================================================== */

.ir-tv-type-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.ir-tv-type-card {
  position: relative;
  min-height: 210px;
  padding: 22px;
  border-radius: 30px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 22px 58px rgba(17, 24, 39, 0.14);
  overflow: hidden;
}

.ir-tv-type-card::before {
  content: "";
  position: absolute;
  top: -48px;
  left: -48px;
  width: 116px;
  height: 116px;
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.06);
  transform: rotate(-14deg);
}

.ir-tv-type-card > i {
  position: relative;
  z-index: 1;
  width: 54px;
  height: 54px;
  margin-bottom: 16px;
  border-radius: 19px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-tv-type-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  color: #fff;
  font-size: 16.5px;
  font-weight: 950;
  line-height: 1.55;
}

.ir-tv-type-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.95;
}

/* ==========================================================================
   Brand Process
   ========================================================================== */

.ir-brand-process-shell {
  position: relative;
  padding: 30px;
  border-radius: 36px;
  background: #111827;
  box-shadow: 0 24px 68px rgba(17, 24, 39, 0.16);
  display: grid;
  grid-template-columns: 390px minmax(0, 1fr);
  gap: 26px;
  overflow: hidden;
}

.ir-brand-process-head {
  position: relative;
  z-index: 1;
}

.ir-brand-process-head h2 {
  color: #fff;
}

.ir-brand-process-head p {
  color: rgba(255, 255, 255, 0.76);
}

.ir-brand-process-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
}

.ir-brand-process-item {
  padding: 14px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.11);
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
}

.ir-brand-process-item > span {
  width: 48px;
  height: 48px;
  border-radius: 17px;
  background: #fff;
  color: #111827;
  direction: ltr;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 950;
}

.ir-brand-process-item h3 {
  margin: 0 0 5px;
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.55;
}

.ir-brand-process-item p {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.85;
}

/* ==========================================================================
   Brand CTA
   ========================================================================== */

.ir-brand-cta-section {
  padding: 0 0 72px;
  background: #fff;
}

.ir-brand-cta {
  padding: 24px;
  border-radius: 30px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 24px 64px rgba(17, 24, 39, 0.14);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.ir-brand-cta h2,
.ir-brand-cta p {
  color: #fff;
}

.ir-brand-cta p {
  color: rgba(255, 255, 255, 0.76);
}

/* ==========================================================================
   Brand Common Problems
   ========================================================================== */

.ir-brand-problems-section {
  background: #f8fafc;
}

.ir-brand-problem-list {
  display: grid;
  gap: 22px;
}

/* ==========================================================================
   Brand Problem Item
   ========================================================================== */

.ir-brand-problem-item {
  position: relative;
  padding: 18px;
  border-radius: 34px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.14);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  gap: 22px;
  overflow: hidden;
  transition: 0.22s ease;
}

.ir-brand-problem-item::before {
  content: "";
  position: absolute;
  top: -58px;
  left: -58px;
  width: 150px;
  height: 150px;
  border-radius: 44px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.10);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-brand-problem-item::after {
  content: "";
  position: absolute;
  right: 22px;
  bottom: 22px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: rgba(17, 24, 39, 0.035);
  pointer-events: none;
}

.ir-brand-problem-item:hover {
  transform: translateY(-4px);
  border-color: rgba(165, 0, 52, 0.26);
  box-shadow: 0 26px 66px rgba(17, 24, 39, 0.09);
}

/* ==========================================================================
   Brand Problem Media
   ========================================================================== */

.ir-brand-problem-media {
  position: relative;
  z-index: 1;
  min-height: 100%;
  border-radius: 26px;
  background: #111827;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.ir-brand-problem-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, 0.12);
  z-index: 1;
  pointer-events: none;
}

.ir-brand-problem-media::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -38px;
  width: 116px;
  height: 116px;
  border-radius: 34px;
  background: rgba(165, 0, 52, 0.34);
  transform: rotate(14deg);
  z-index: 2;
  pointer-events: none;
}

.ir-brand-problem-media {
  height: 330px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.ir-brand-problem-media img {
  width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

.ir-brand-problem-item:hover .ir-brand-problem-media img {
  transform: scale(1.045);
}

/* ==========================================================================
   Brand Problem Content
   ========================================================================== */

.ir-brand-problem-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
}

.ir-brand-problem-chip {
  width: fit-content;
  min-height: 34px;
  padding: 0 11px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  box-shadow: 0 12px 28px rgba(17, 24, 39, 0.10);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 950;
}

.ir-brand-problem-chip i {
  color: #fff;
}

.ir-brand-problem-content h3 {
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 20px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

.ir-brand-problem-content p {
  margin: 0;
  color: #4b5563;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 2;
}

.ir-brand-problem-content strong {
  color: var(--ir-primary-dark);
  font-weight: 950;
}

/* ==========================================================================
   Brand Problem Cause And Solution
   ========================================================================== */

.ir-brand-problem-info-grid {
  margin-top: auto;
  padding-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ir-brand-problem-info {
  position: relative;
  padding: 15px;
  border-radius: 22px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  overflow: hidden;
}

.ir-brand-problem-info::before {
  content: "";
  position: absolute;
  left: -28px;
  top: -28px;
  width: 72px;
  height: 72px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-brand-problem-solution {
  background: #fff7fa;
  border-color: rgba(165, 0, 52, 0.12);
}

.ir-brand-problem-info strong {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: bold;
}

.ir-brand-problem-info strong i {
  width: 26px;
  height: 26px;
  border-radius: 10px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  flex: 0 0 auto;
}

.ir-brand-problem-solution strong i {
  background: var(--ir-primary);
}

.ir-brand-problem-info ul {
  position: relative;
  z-index: 1;
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.ir-brand-problem-info li {
  position: relative;
  padding-right: 15px;
  color: #4b5563;
  font-size: 13.5px;
  font-weight: 750;
  line-height: 1.85;
}

.ir-brand-problem-info li::before {
  content: "";
  position: absolute;
  right: 0;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ir-primary);
}

/* ==========================================================================
   Brand Problems Bottom Note
   ========================================================================== */

.ir-brand-problems-note {
  margin-top: 22px;
  padding: 18px;
  border-radius: 28px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 22px 58px rgba(17, 24, 39, 0.14);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.ir-brand-problems-note > div {
  width: 48px;
  height: 48px;
  border-radius: 17px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-brand-problems-note p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 750;
  line-height: 2;
	text-align: justify;
	margin-bottom: 20px;
}

.ir-brand-problems-note p strong {
  color: #fff;
  font-weight: 950;
}

.ir-brand-problems-note a {
  min-height: 44px;
  padding: 0 14px;
  border-radius: 15px;
  background: #fff;
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  white-space: nowrap;
  font-size: 12.5px;
  font-weight: 950;
  transition: 0.2s ease;
}

.ir-brand-problems-note a:hover {
  background: var(--ir-primary);
  color: #fff;
  transform: translateY(-2px);
}

/* ==========================================================================
   Brand Common Problems Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-brand-problem-item {
    grid-template-columns: 1fr;
  }

  .ir-brand-problem-media img {
    min-height: 280px;
  }

  .ir-brand-problems-note {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .ir-brand-problems-note a {
    width: 100%;
  }
}

@media (max-width: 575px) {
  .ir-brand-problem-list {
    gap: 16px;
  }

  .ir-brand-problem-item {
    padding: 15px;
    border-radius: 24px;
    gap: 16px;
  }

  .ir-brand-problem-media {
    border-radius: 20px;
  }

  .ir-brand-problem-media img {
    min-height: 300px;
  }

  .ir-brand-problem-content h3 {
    font-size: 17px;
  }

  .ir-brand-problem-content p {
    font-size: 14px;
	  text-align: justify;
  }

  .ir-brand-problem-info-grid {
    grid-template-columns: 1fr;
  }

  .ir-brand-problem-info {
    border-radius: 18px;
  }

  .ir-brand-problems-note {
    padding: 16px;
    border-radius: 22px;
  }
}

@media (max-width: 575px) {
  .ir-brand-problem-media {
    width: 310px;
    height: 310px;
    min-height: 310px;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 20px;
  }

  .ir-brand-problem-media img {
    width: 300px;
    height: auto;
    max-height: 300px;
    object-fit: contain;
    border-radius: 20px;
    display: block;
  }
}
/* ==========================================================================
   Brand FAQ
   ========================================================================== */

.ir-brand-faq {
  max-width: 920px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
}

.ir-brand-faq .accordion-item {
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(17, 24, 39, 0.045);
}

.ir-brand-faq .accordion-button {
  padding: 18px;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: 950;
  box-shadow: none;
 line-height: 2;
}

.ir-brand-faq .accordion-button:not(.collapsed) {
  background: #111827;
  color: #fff;
}

.ir-brand-faq .accordion-body {
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
	text-align: justify;
}

/* ==========================================================================
   Brand Question Form
   ========================================================================== */

.ir-brand-question-box {
  padding: 30px;
  border-radius: 36px;
  background: #111827;
  box-shadow: 0 24px 68px rgba(17, 24, 39, 0.16);
  display: grid;
  grid-template-columns: 390px minmax(0, 1fr);
  gap: 26px;
}

.ir-brand-question-content h2 {
  color: #fff;
}

.ir-brand-question-content p {
  color: rgba(255, 255, 255, 0.76);
}

.ir-brand-question-form {
  padding: 20px;
  border-radius: 28px;
  background: #fff;
}

.ir-brand-question-form label {
  display: block;
  margin-bottom: 8px;
  color: var(--ir-heading);
  font-size: 13px;
  font-weight: 950;
}

.ir-brand-question-form input,
.ir-brand-question-form textarea {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border-radius: 17px;
  background: #f8fafc;
  color: var(--ir-heading);
  border: 1px solid #e5e7eb;
  outline: none;
  font-size: 13px;
  font-weight: 750;
}

.ir-brand-question-form textarea {
  min-height: 120px;
  padding-top: 13px;
  resize: vertical;
  line-height: 1.9;
}

.ir-brand-question-form input:focus,
.ir-brand-question-form textarea:focus {
  border-color: rgba(165, 0, 52, 0.42);
  box-shadow: 0 0 0 4px rgba(165, 0, 52, 0.08);
}

.ir-brand-question-submit {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 17px;
  background: var(--ir-primary);
  color: #fff;
  box-shadow: 0 16px 34px rgba(165, 0, 52, 0.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 950;
}

/* ==========================================================================
   Brand Landing Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-landing-section {
    padding: 54px 0;
  }

  .ir-landing-split,
  .ir-lg-tv-shell,
  .ir-brand-process-shell,
  .ir-brand-question-box {
    grid-template-columns: 1fr;
  }

  .ir-landing-feature-grid,
  .ir-tv-type-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ir-brand-problem-item {
    grid-template-columns: 1fr;
  }

  .ir-brand-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .ir-brand-cta .ir-btn {
    width: 100%;
  }
}

@media (max-width: 575px) {
  .ir-landing-section {
    padding: 42px 0;
  }

  .ir-landing-head h2,
  .ir-landing-text-card h2,
  .ir-lg-tv-content h2,
  .ir-brand-process-head h2,
  .ir-brand-cta h2,
  .ir-brand-question-content h2 {
    font-size: 18px;
    line-height: 1.8;
  }

  .ir-landing-head p,
  .ir-landing-text-card p,
  .ir-lg-tv-content p,
  .ir-brand-process-head p,
  .ir-brand-cta p,
  .ir-brand-question-content p {
    font-size: 13px;
  }

  .ir-landing-text-card,
  .ir-landing-proof-card,
  .ir-lg-tv-shell,
  .ir-brand-process-shell,
  .ir-brand-question-box {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-landing-feature-grid,
  .ir-tv-type-grid,
  .ir-lg-tv-feature-row,
  .ir-brand-problem-info-grid {
    grid-template-columns: 1fr;
  }

  .ir-landing-feature-card,
  .ir-tv-type-card {
    min-height: auto;
    padding: 18px;
    border-radius: 24px;
  }

  .ir-brand-problem-item {
    padding: 15px;
    border-radius: 24px;
  }

  .ir-brand-problem-media {
    min-height: 210px;
    border-radius: 20px;
  }

  .ir-brand-problem-content h3 {
    font-size: 17px;
  }

  .ir-brand-question-form {
    padding: 16px;
    border-radius: 22px;
  }
}
/* ==========================================================================
   Brand Landing Head Box
   ========================================================================== */

.ir-landing-head-box {
  position: relative;
  margin-bottom: 26px;
  padding: 24px;
  border-radius: 32px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.14);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px;
  align-items: center;
  gap: 20px;
  overflow: hidden;
}

.ir-landing-head-box::before {
  content: "";
  position: absolute;
  top: -54px;
  left: -54px;
  width: 132px;
  height: 132px;
  border-radius: 40px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.10);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-landing-head-box::after {
  content: "";
  position: absolute;
  right: -46px;
  bottom: -54px;
  width: 150px;
  height: 150px;
  border-radius: 46px;
  background: rgba(17, 24, 39, 0.035);
  transform: rotate(16deg);
  pointer-events: none;
}

.ir-landing-head-box-content,
.ir-landing-head-box-mark {
  position: relative;
  z-index: 1;
}

.ir-landing-head-box h2 {
  max-width: 760px;
  margin: 20px 0 10px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.45;
  letter-spacing: -0.025em;
}

.ir-landing-head-box p {
  max-width: 860px;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
}

.ir-landing-head-box-mark {
  width: 82px;
  height: 82px;
  border-radius: 28px;
  background: #111827;
  color: #fff;
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-landing-head-box-mark i {
  font-size: 28px;
}

/* ==========================================================================
   Brand Feature Card Strong Text
   ========================================================================== */

.ir-landing-feature-card p strong {
  color: var(--ir-primary-dark);
  font-weight: 950;
}

/* ==========================================================================
   Brand Landing Head Box Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-landing-head-box {
    padding: 22px;
    border-radius: 28px;
    grid-template-columns: 1fr;
  }

  .ir-landing-head-box-mark {
    width: 68px;
    height: 68px;
    border-radius: 22px;
  }

  .ir-landing-head-box-mark i {
    font-size: 23px;
  }
}

@media (max-width: 575px) {
  .ir-landing-head-box {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-landing-head-box h2 {
    font-size: 18px;
    line-height: 1.55;
  }

  .ir-landing-head-box p {
    font-size: 14px;
  }
}

/* ==========================================================================
   Brand Landing Head Box Center Mode
   ========================================================================== */

.ir-landing-head-box-center {
  text-align: right;
}

.ir-landing-head-box-center .ir-landing-head-box-content {
  max-width: 860px;
}

.ir-landing-head-box-center .ir-landing-head-box-content p {
  max-width: 820px;
}

/* ==========================================================================
   Brand Landing Head Box Compact
   ========================================================================== */

.ir-landing-head-box-compact {
  margin-bottom: 22px;
  padding: 22px;
}

@media (max-width: 575px) {
  .ir-landing-head-box-compact {
    padding: 18px;
  }
}

/* ==========================================================================
   Brand Repair Process V2
   ========================================================================== */

.ir-brand-process-shell-v2 {
  position: relative;
  padding: 28px;
  border-radius: 36px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.14);
  box-shadow: 0 22px 64px rgba(17, 24, 39, 0.07);
  display: grid;
  grid-template-columns: 390px minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  overflow: hidden;
}

.ir-brand-process-shell-v2::before {
  content: "";
  position: absolute;
  top: -58px;
  left: -58px;
  width: 150px;
  height: 150px;
  border-radius: 44px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.10);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-brand-process-shell-v2::after {
  content: "";
  position: absolute;
  right: -58px;
  bottom: -66px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: rgba(17, 24, 39, 0.04);
  pointer-events: none;
}

.ir-brand-process-banner,
.ir-brand-process-content-v2 {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   Brand Repair Process Banner
   ========================================================================== */

.ir-brand-process-banner {
  min-height: 390px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-brand-process-banner-shape {
  position: relative;
  width: min(100%, 360px);
  min-height: 330px;
  border-radius: 44px;
  background: #111827;
  box-shadow: 0 26px 66px rgba(17, 24, 39, 0.18);
  overflow: visible;
}

.ir-brand-process-banner-shape::before {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
}

.ir-brand-process-banner-shape::after {
  content: "";
  position: absolute;
  right: -20px;
  top: 38px;
  width: 98px;
  height: 98px;
  border-radius: 29px;
  background: var(--ir-primary);
  box-shadow: 0 18px 36px rgba(165, 0, 52, 0.20);
  transform: rotate(14deg);
}

.ir-brand-process-banner-shape img {
  position: absolute;
  right: 50%;
  bottom: 5px;
  width: min(320px, 106%);
  height: 320px;
  max-height: 360px;
  object-fit: contain;
  transform: translateX(50%);
  z-index: 3;
  filter: drop-shadow(0 24px 32px rgba(0, 0, 0, 0.22));
	border-radius: 31px;
}

.ir-brand-process-banner-note {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 4;
  max-width: 260px;
  min-height: 70px;
  padding: 11px 13px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.16);
  display: flex;
  align-items: center;
  gap: 10px;
}

.ir-brand-process-banner-note i {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-brand-process-banner-note strong {
  display: block;
  margin-bottom: 4px;
  color: var(--ir-heading);
  font-size: 13px;
  font-weight: 950;
}

.ir-brand-process-banner-note span {
  display: block;
  color: var(--ir-muted);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.7;
}

/* ==========================================================================
   Brand Repair Process Content
   ========================================================================== */

.ir-brand-process-head-v2 {
  margin-bottom: 18px;
}

.ir-brand-process-head-v2 h2 {
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.45;
  letter-spacing: -0.025em;
}

.ir-brand-process-head-v2 p {
  max-width: 760px;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
}

/* ==========================================================================
   Brand Repair Process Feature Grid
   ========================================================================== */

.ir-brand-process-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ir-brand-process-feature {
  position: relative;
  min-height: 146px;
  padding: 16px;
  border-radius: 24px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  overflow: hidden;
  transition: 0.22s ease;
}

.ir-brand-process-feature::before {
  content: "";
  position: absolute;
  top: -42px;
  left: -42px;
  width: 104px;
  height: 104px;
  border-radius: 32px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-brand-process-feature:hover {
  transform: translateY(-3px);
  background: #fff;
  border-color: rgba(165, 0, 52, 0.20);
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.07);
}

.ir-brand-process-feature-icon {
  position: relative;
  z-index: 1;
  width: 50px;
  height: 50px;
  border-radius: 18px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-shadow: 0 14px 30px rgba(17, 24, 39, 0.12);
}

.ir-brand-process-feature:hover .ir-brand-process-feature-icon {
  background: var(--ir-primary);
  box-shadow: 0 16px 34px rgba(165, 0, 52, 0.16);
}

.ir-brand-process-feature div {
  position: relative;
  z-index: 1;
}

.ir-brand-process-feature strong {
  display: block;
  margin-bottom: 7px;
  color: var(--ir-heading);
  font-size: 14.5px;
  font-weight: 950;
  line-height: 1.55;
}

.ir-brand-process-feature p {
  margin: 0;
  color: #4b5563;
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.9;
}

/* ==========================================================================
   Brand Repair Process V2 Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-brand-process-shell-v2 {
    padding: 22px;
    border-radius: 30px;
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ir-brand-process-banner {
    order: 2;
    min-height: 310px;
  }

  .ir-brand-process-content-v2 {
    order: 1;
  }

  .ir-brand-process-feature-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ir-brand-process-banner-shape {
    min-height: 270px;
  }

  .ir-brand-process-banner-shape img {
    width: min(340px, 104%);
    max-height: 315px;
  }
}

@media (max-width: 575px) {
  .ir-brand-process-shell-v2 {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-brand-process-head-v2 h2 {
    font-size: 18px;
    line-height: 1.55;
  }

  .ir-brand-process-head-v2 p {
    font-size: 13px;
  }

  .ir-brand-process-banner {
    min-height: 250px;
  }

  .ir-brand-process-banner-shape {
    min-height: 360px;
    border-radius: 32px;
  }

  .ir-brand-process-banner-shape::before {
    inset: 14px;
    border-radius: 24px;
  }

  .ir-brand-process-banner-shape img {
    width: min(320px, 104%);
    max-height: 320px;
	  min-height: 320px;
  }

  .ir-brand-process-feature-grid {
    grid-template-columns: 1fr;
  }

  .ir-brand-process-feature {
    min-height: auto;
    padding: 14px;
    border-radius: 20px;
  }

  .ir-brand-process-feature strong {
    font-size: 14px;
  }

  .ir-brand-process-banner-note {
    right: 12px;
    bottom: 12px;
    max-width: 235px;
    border-radius: 18px;
  }
}


/* ==========================================================================
   LG TV Settings Guide Section
   ========================================================================== */

.ir-lg-guide-section {
  background: #fff;
}

.ir-lg-guide-block {
  position: relative;
  margin-top: 22px;
  padding: 22px;
  border-radius: 34px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.14);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: 370px minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  overflow: hidden;
}

.ir-lg-guide-block::before {
  content: "";
  position: absolute;
  top: -58px;
  left: -58px;
  width: 150px;
  height: 150px;
  border-radius: 44px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.10);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-lg-guide-block::after {
  content: "";
  position: absolute;
  right: 24px;
  bottom: 24px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: rgba(17, 24, 39, 0.035);
  pointer-events: none;
}

.ir-lg-guide-block-reverse {
  grid-template-columns: minmax(0, 1fr) 370px;
}

.ir-lg-guide-block-reverse .ir-lg-guide-banner {
  order: 2;
}

.ir-lg-guide-block-reverse .ir-lg-guide-content {
  order: 1;
}

.ir-lg-guide-banner,
.ir-lg-guide-content {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   LG TV Guide Banner
   ========================================================================== */

.ir-lg-guide-banner {
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-lg-guide-banner-shape {
  position: relative;
  width: min(100%, 340px);
  min-height: 300px;
  border-radius: 38px;
  background: #111827;
  box-shadow: 0 24px 62px rgba(17, 24, 39, 0.16);
  overflow: hidden;
}

.ir-lg-guide-banner-shape::before {
  content: "";
  position: absolute;
  inset: 14px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  z-index: 2;
  pointer-events: none;
}

.ir-lg-guide-banner-shape::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -38px;
  width: 118px;
  height: 118px;
  border-radius: 34px;
  background: rgba(165, 0, 52, 0.44);
  transform: rotate(14deg);
  z-index: 3;
  pointer-events: none;
}

.ir-lg-guide-banner-shape img {
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
  display: block;
  transition: 0.28s ease;
}

.ir-lg-guide-block:hover .ir-lg-guide-banner-shape img {
  transform: scale(1.045);
}

.ir-lg-guide-banner-note {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 4;
  max-width: 250px;
  min-height: 68px;
  padding: 10px 12px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.16);
  display: flex;
  align-items: center;
  gap: 10px;
}

.ir-lg-guide-banner-note i {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-lg-guide-banner-note strong {
  display: block;
  margin-bottom: 4px;
  color: var(--ir-heading);
  font-size: 12.5px;
  font-weight: 950;
}

.ir-lg-guide-banner-note span {
  display: block;
  color: var(--ir-muted);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.7;
}

/* ==========================================================================
   LG TV Guide Content
   ========================================================================== */

.ir-lg-guide-chip {
  width: fit-content;
  min-height: 34px;
  padding: 0 11px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 950;
  direction: ltr;
}

.ir-lg-guide-content h3 {
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 20px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

.ir-lg-guide-content p {
  max-width: 820px;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
	text-align: justify;
}

/* ==========================================================================
   LG TV Guide Feature Grid
   ========================================================================== */

.ir-lg-guide-feature-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ir-lg-guide-feature {
  position: relative;
  min-height: 112px;
  padding: 14px;
  border-radius: 22px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  overflow: hidden;
  transition: 0.22s ease;
}

.ir-lg-guide-feature::before {
  content: "";
  position: absolute;
  top: -38px;
  left: -38px;
  width: 96px;
  height: 96px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-lg-guide-feature:hover {
  background: #fff;
  border-color: rgba(165, 0, 52, 0.18);
  transform: translateY(-2px);
  box-shadow: 0 16px 38px rgba(17, 24, 39, 0.055);
}

.ir-lg-guide-feature i {
  position: relative;
  z-index: 1;
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-lg-guide-feature:hover i {
  background: var(--ir-primary);
}

.ir-lg-guide-feature div {
  position: relative;
  z-index: 1;
}

.ir-lg-guide-feature strong {
  display: block;
  margin-bottom: 5px;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: 950;
  line-height: 1.6;
}

.ir-lg-guide-feature span {
  display: block;
  color: #4b5563;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.85;
}

/* ==========================================================================
   LG TV Guide Warning
   ========================================================================== */

.ir-lg-guide-warning {
  margin-top: 14px;
  padding: 14px;
  border-radius: 20px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.14);
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.ir-lg-guide-warning i {
  margin-top: 4px;
  color: var(--ir-primary);
  flex: 0 0 auto;
}

.ir-lg-guide-warning span {
  color: #4b5563;
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.9;
}

/* ==========================================================================
   LG TV Settings Guide Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-lg-guide-block,
  .ir-lg-guide-block-reverse {
    grid-template-columns: 1fr;
    padding: 20px;
    border-radius: 30px;
  }

  .ir-lg-guide-block-reverse .ir-lg-guide-banner,
  .ir-lg-guide-block-reverse .ir-lg-guide-content {
    order: initial;
  }

  .ir-lg-guide-banner {
    min-height: 300px;
  }

  .ir-lg-guide-banner-shape {
    width: min(100%, 100%);
    min-height: 280px;
  }

  .ir-lg-guide-banner-shape img {
    min-height: 280px;
  }
}

@media (max-width: 575px) {
  .ir-lg-guide-block,
  .ir-lg-guide-block-reverse {
    padding: 15px;
    border-radius: 24px;
    gap: 16px;
  }

  .ir-lg-guide-banner {
    min-height: 230px;
  }

  .ir-lg-guide-banner-shape {
    min-height: 220px;
    border-radius: 24px;
  }

  .ir-lg-guide-banner-shape img {
    min-height: 220px;
  }

  .ir-lg-guide-content h3 {
    font-size: 17px;
  }

  .ir-lg-guide-content p {
    font-size: 13px;
  }

  .ir-lg-guide-feature-grid {
    grid-template-columns: 1fr;
  }

  .ir-lg-guide-feature {
    min-height: auto;
    border-radius: 18px;
  }

  .ir-lg-guide-banner-note {
    right: 12px;
    bottom: 12px;
    max-width: 230px;
    border-radius: 18px;
  }
}

/* ==========================================================================
   Brand Question Form Improvements
   ========================================================================== */

.ir-brand-question-response {
  margin-bottom: 14px;
}

.ir-brand-question-mini {
  margin-top: 18px;
  display: grid;
  gap: 10px;
}

.ir-brand-question-mini span {
  min-height: 42px;
  padding: 9px 11px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.11);
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.7;
}

.ir-brand-question-mini i {
  color: #fff;
}

.ir-brand-question-submit:disabled,
.ir-brand-question-submit.is-loading {
  cursor: not-allowed;
  opacity: 0.82;
}

/* ==========================================================================
   Brand Q&A List Box
   ========================================================================== */

.ir-brand-qa-list-box {
  margin-top: 24px;
  padding: 24px;
  border-radius: 34px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.14);
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
  overflow: hidden;
}

.ir-brand-qa-list-head {
  margin-bottom: 18px;
}

.ir-brand-qa-list-head h2 {
  margin: 0 0 8px;
  color: var(--ir-heading);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.8;
}

.ir-brand-qa-list-head p {
  margin: 0;
  color: #4b5563;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.9;
}

.ir-brand-qa-list {
  display: grid;
  gap: 14px;
}

/* ==========================================================================
   Brand Q&A Item
   ========================================================================== */

.ir-brand-qa-item {
  position: relative;
  padding: 16px;
  border-radius: 26px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  overflow: hidden;
}

.ir-brand-qa-item::before {
  content: "";
  position: absolute;
  top: -42px;
  left: -42px;
  width: 104px;
  height: 104px;
  border-radius: 32px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-brand-qa-question,
.ir-brand-qa-answer {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 11px;
}

.ir-brand-qa-answer {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e5e7eb;
}

.ir-brand-qa-question > span,
.ir-brand-qa-answer > span {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-brand-qa-answer > span {
  background: var(--ir-primary);
}

.ir-brand-qa-meta {
  margin-bottom: 7px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.ir-brand-qa-meta strong,
.ir-brand-qa-answer strong {
  color: var(--ir-heading);
  font-size: 13px;
  font-weight: 950;
}

.ir-brand-qa-meta small {
  color: var(--ir-muted);
  font-size: 11.5px;
  font-weight: 750;
}

.ir-brand-qa-question p,
.ir-brand-qa-answer p {
  margin: 0;
  color: #4b5563;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.95;
}

.ir-brand-qa-answer p {
  margin-top: 6px;
}

/* ==========================================================================
   Brand Q&A Empty State
   ========================================================================== */

.ir-brand-qa-empty {
  min-height: 180px;
  padding: 24px;
  border-radius: 26px;
  background: #f8fafc;
  border: 1px dashed rgba(165, 0, 52, 0.24);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #4b5563;
  text-align: center;
}

.ir-brand-qa-empty i {
  width: 56px;
  height: 56px;
  margin-bottom: 12px;
  border-radius: 20px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-brand-qa-empty strong {
  margin-bottom: 6px;
  color: var(--ir-heading);
  font-size: 15px;
  font-weight: 950;
}

.ir-brand-qa-empty span {
  color: var(--ir-muted);
  font-size: 12.5px;
  font-weight: 750;
}

/* ==========================================================================
   Brand Q&A Responsive Rules
   ========================================================================== */

@media (max-width: 575px) {
  .ir-brand-qa-list-box {
    padding: 16px;
    border-radius: 24px;
  }

  .ir-brand-qa-list-head h2 {
    font-size: 18px;
    line-height: 1.55;
  }

  .ir-brand-qa-question,
  .ir-brand-qa-answer {
    grid-template-columns: 1fr;
  }

  .ir-brand-qa-question > span,
  .ir-brand-qa-answer > span {
    width: 40px;
    height: 40px;
    border-radius: 14px;
  }
}

/* ==========================================================================
   Repair Request Modal
   ========================================================================== */

.ir-repair-modal .modal-dialog {
  max-width: 1040px;
}

.ir-repair-modal .modal-content {
  position: relative;
  border: 0;
  border-radius: 34px;
  background: #fff;
  box-shadow: 0 34px 90px rgba(17, 24, 39, 0.24);
  overflow: hidden;
}

.ir-repair-modal-close {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 5;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 15px;
  background: #fff;
  color: #111827;
  box-shadow: 0 14px 34px rgba(17, 24, 39, 0.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s ease;
}

.ir-repair-modal-close:hover {
  background: var(--ir-primary);
  color: #fff;
  transform: translateY(-2px);
}

.ir-repair-modal-grid {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  min-height: 620px;
}

/* ==========================================================================
   Repair Request Modal Side
   ========================================================================== */

.ir-repair-modal-side {
  position: relative;
  padding: 34px;
  background: #111827;
  color: #fff;
  overflow: hidden;
}

.ir-repair-modal-side::before {
  content: "";
  position: absolute;
  top: -58px;
  right: -52px;
  width: 160px;
  height: 160px;
  border-radius: 46px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  transform: rotate(15deg);
}

.ir-repair-modal-side::after {
  content: "";
  position: absolute;
  left: -80px;
  bottom: -90px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(165, 0, 52, 0.24);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.ir-repair-modal-kicker {
  position: relative;
  z-index: 1;
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 18px;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 950;
}

.ir-repair-modal-kicker i {
  color: var(--ir-primary);
}

.ir-repair-modal-side h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 12px;
  color: #fff;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.45;
}

.ir-repair-modal-side p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
}

/* ==========================================================================
   Repair Request Modal Points
   ========================================================================== */

.ir-repair-modal-points {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  display: grid;
  gap: 10px;
}

.ir-repair-modal-points span {
  min-height: 46px;
  padding: 10px 12px;
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.11);
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  font-weight: 850;
}

.ir-repair-modal-points i {
  color: #22c55e;
}

/* ==========================================================================
   Repair Request Form Wrap
   ========================================================================== */

.ir-repair-modal-form-wrap {
  padding: 34px;
  background: #fff;
}

.ir-repair-form-response {
  margin-bottom: 14px;
}

.ir-repair-request-form label {
  display: block;
  margin-bottom: 8px;
  color: var(--ir-heading);
  font-size: 13px;
  font-weight: 950;
}

.ir-repair-request-form input,
.ir-repair-request-form textarea {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border-radius: 17px;
  background: #f8fafc;
  color: var(--ir-heading);
  border: 1px solid #e5e7eb;
  outline: none;
  font-size: 13px;
  font-weight: 750;
  transition: 0.2s ease;
}

.ir-repair-request-form textarea {
  min-height: 96px;
  padding-top: 13px;
  resize: vertical;
  line-height: 1.9;
}

.ir-repair-request-form input:focus,
.ir-repair-request-form textarea:focus {
  border-color: rgba(165, 0, 52, 0.42);
  box-shadow: 0 0 0 4px rgba(165, 0, 52, 0.08);
}

/* ==========================================================================
   Repair Brand Select Cards
   ========================================================================== */

.ir-repair-brand-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.ir-repair-brand-card {
  position: relative;
  min-height: 92px;
  padding: 12px 8px;
  border: 1px solid #e5e7eb;
  border-radius: 22px;
  background: #f8fafc;
  color: var(--ir-heading);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  overflow: hidden;
  gap: 9px;
  transition: 0.22s ease;
}

.ir-repair-brand-card::before {
  content: "";
  position: absolute;
  top: -34px;
  left: -34px;
  width: 82px;
  height: 82px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-repair-brand-card i,
.ir-repair-brand-card span {
  position: relative;
  z-index: 1;
}

.ir-repair-brand-card i {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-repair-brand-card span {
  color: var(--ir-heading);
  font-size: 12.5px;
  font-weight: 950;
}

.ir-repair-brand-card:hover {
  transform: translateY(-3px);
  background: #fff;
  border-color: rgba(165, 0, 52, 0.22);
  box-shadow: 0 16px 38px rgba(17, 24, 39, 0.07);
}

.ir-repair-brand-card.is-selected {
  background: #fff7fa;
  border-color: rgba(165, 0, 52, 0.42);
  box-shadow: 0 0 0 4px rgba(165, 0, 52, 0.08);
}

.ir-repair-brand-card.is-selected i {
  background: var(--ir-primary);
}

/* ==========================================================================
   Repair Request Submit
   ========================================================================== */

.ir-repair-submit {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 18px;
  background: var(--ir-primary);
  color: #fff;
  box-shadow: 0 16px 34px rgba(165, 0, 52, 0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 950;
  transition: 0.2s ease;
}

.ir-repair-submit:hover {
  background: var(--ir-primary-dark);
  transform: translateY(-2px);
}

.ir-repair-submit:disabled,
.ir-repair-submit.is-loading {
  cursor: not-allowed;
  opacity: 0.82;
  transform: none;
}

/* ==========================================================================
   Repair Request Modal Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-repair-modal .modal-dialog {
    max-width: calc(100% - 24px);
  }

  .ir-repair-modal-grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .ir-repair-modal-side,
  .ir-repair-modal-form-wrap {
    padding: 24px;
  }

  .ir-repair-brand-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 575px) {
  .ir-repair-modal .modal-dialog {
    max-width: calc(100% - 14px);
    margin: 7px auto;
  }

  .ir-repair-modal .modal-content {
    border-radius: 24px;
  }

  .ir-repair-modal-side,
  .ir-repair-modal-form-wrap {
    padding: 18px;
  }

  .ir-repair-modal-side h2 {
    font-size: 18px;
    line-height: 1.55;
  }

  .ir-repair-modal-side p {
    font-size: 13px;
  }

  .ir-repair-brand-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .ir-repair-brand-card {
    min-height: 84px;
    border-radius: 18px;
  }

  .ir-repair-modal-close {
    top: 10px;
    left: 10px;
  }
}

/* ==========================================================================
   Repair Request Modal Points Responsive Rules
   ========================================================================== */

@media (max-width: 575px) {
  .ir-repair-modal-points {
    display: none;
  }
}

/* ==========================================================================
   Blog Global Layout
   ========================================================================== */

.ir-blog-page {
  background: #f8fafc;
}

.ir-blog-hero {
  position: relative;
  padding: 44px 0 32px;
  background: #fff;
  overflow: hidden;
}

.ir-blog-hero::before {
  content: "";
  position: absolute;
  right: -90px;
  top: -110px;
  width: 260px;
  height: 260px;
  border-radius: 70px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.10);
  transform: rotate(16deg);
  pointer-events: none;
}

.ir-blog-hero::after {
  content: "";
  position: absolute;
  left: -120px;
  bottom: -140px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  pointer-events: none;
}

.ir-blog-hero .container {
  position: relative;
  z-index: 1;
}

.ir-blog-section {
  padding: 34px 0 72px;
}

/* ==========================================================================
   Blog Breadcrumb
   ========================================================================== */

.ir-blog-breadcrumb {
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  color: var(--ir-muted);
  font-size: 12.5px;
  font-weight: 800;
}

.ir-blog-breadcrumb a {
  color: #374151;
  text-decoration: none;
  transition: 0.2s ease;
}

.ir-blog-breadcrumb a:hover {
  color: var(--ir-primary);
}

.ir-blog-breadcrumb i {
  color: #9ca3af;
  font-size: 11px;
}

.ir-blog-breadcrumb span {
  color: var(--ir-primary);
}

/* ==========================================================================
   Blog Hero Box
   ========================================================================== */

.ir-blog-hero-box {
  padding: 28px;
  border-radius: 34px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.14);
  box-shadow: 0 20px 58px rgba(17, 24, 39, 0.06);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: center;
  gap: 22px;
}

.ir-blog-kicker {
  width: fit-content;
  min-height: 36px;
  padding: 0 12px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 950;
}

.ir-blog-hero-content h1,
.ir-blog-single-head h1 {
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 28px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.035em;
}

.ir-blog-hero-content p,
.ir-blog-single-head p {
  max-width: 760px;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 750;
  line-height: 2;
}

/* ==========================================================================
   Blog Search
   ========================================================================== */

.ir-blog-search {
  position: relative;
}

.ir-blog-search input {
  width: 100%;
  min-height: 54px;
  padding: 0 16px 0 58px;
  border-radius: 19px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  color: var(--ir-heading);
  outline: none;
  font-size: 13px;
  font-weight: 800;
  transition: 0.2s ease;
}

.ir-blog-search input:focus {
  background: #fff;
  border-color: rgba(165, 0, 52, 0.32);
  box-shadow: 0 0 0 4px rgba(165, 0, 52, 0.07);
}

.ir-blog-search button {
  position: absolute;
  left: 8px;
  top: 8px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 14px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ==========================================================================
   Blog List Header
   ========================================================================== */

.ir-blog-list-head {
  margin-bottom: 18px;
  padding: 18px 20px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 14px 36px rgba(17, 24, 39, 0.045);
}

.ir-blog-list-head h2 {
  margin: 0 0 6px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.55;
}

.ir-blog-list-head p {
  margin: 0;
  color: var(--ir-muted);
  font-size: 13px;
  font-weight: 750;
}

/* ==========================================================================
   Blog Card Grid
   ========================================================================== */

.ir-blog-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.ir-blog-card-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.ir-blog-card {
  min-height: 100%;
  border-radius: 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: 0.22s ease;
}

.ir-blog-card:hover {
  transform: translateY(-4px);
  border-color: rgba(165, 0, 52, 0.20);
  box-shadow: 0 24px 62px rgba(17, 24, 39, 0.085);
}

.ir-blog-card-img {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #111827;
}

.ir-blog-card-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, 0.05);
  pointer-events: none;
}

.ir-blog-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.28s ease;
}

.ir-blog-card:hover .ir-blog-card-img img {
  transform: scale(1.045);
}

.ir-blog-card-body {
  padding: 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.ir-blog-card-meta {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 11px;
  flex-wrap: wrap;
  color: var(--ir-muted);
  font-size: 11.5px;
  font-weight: 800;
}

.ir-blog-card-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.ir-blog-card-meta i {
  color: var(--ir-primary);
}

.ir-blog-card h2 {
  margin: 15px 0 9px;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.7;
}

.ir-blog-card h2 a {
  color: var(--ir-heading);
  text-decoration: none;
  transition: 0.2s ease;
}

.ir-blog-card h2 a:hover {
  color: var(--ir-primary);
}

.ir-blog-card p {
  min-height: 78px;
  margin: 15px 0 15px;
  color: #4b5563;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.95;
	text-align: justify;
}

.ir-blog-card-link {
  margin-top: auto;
  width: fit-content;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff7fa;
  color: var(--ir-primary);
  border: 1px solid rgba(165, 0, 52, 0.16);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 950;
  transition: 0.2s ease;
}

.ir-blog-card-link:hover {
  background: var(--ir-primary);
  color: #fff;
}

/* ==========================================================================
   Blog Sidebar
   ========================================================================== */

.ir-blog-sidebar {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 18px;
}

.ir-blog-widget {
  padding: 20px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
}

.ir-blog-widget-head {
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.ir-blog-widget-head i {
  width: 40px;
  height: 40px;
  border-radius: 15px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-blog-widget-head h3 {
  margin: 0;
  color: var(--ir-heading);
  font-size: 16px;
  font-weight: 950;
  line-height: 1.5;
}

.ir-blog-popular-list {
  display: grid;
  gap: 11px;
}

.ir-blog-popular-item {
  padding: 8px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  text-decoration: none;
  transition: 0.2s ease;
}

.ir-blog-popular-item:hover {
  background: #fff;
  border-color: rgba(165, 0, 52, 0.18);
  transform: translateY(-2px);
}

.ir-blog-popular-item img {
  width: 82px;
  height: 68px;
  object-fit: cover;
  border-radius: 14px;
}

.ir-blog-popular-item strong {
  display: block;
  margin-bottom: 7px;
  color: var(--ir-heading);
  font-size: 12.5px;
  font-weight: 950;
  line-height: 1.7;
}

.ir-blog-popular-item small {
  color: var(--ir-muted);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 750;
}

.ir-blog-popular-item small i {
  color: var(--ir-primary);
}

/* ==========================================================================
   Blog About Widget
   ========================================================================== */

.ir-blog-about-widget {
  position: relative;
  background: #111827;
  color: #fff;
  overflow: hidden;
}

.ir-blog-about-widget::before {
  content: "";
  position: absolute;
  top: -46px;
  left: -46px;
  width: 130px;
  height: 130px;
  border-radius: 40px;
  background: rgba(165, 0, 52, 0.26);
  transform: rotate(-16deg);
}

.ir-blog-about-widget > * {
  position: relative;
  z-index: 1;
}

.ir-blog-about-icon {
  width: 52px;
  height: 52px;
  margin-bottom: 12px;
  border-radius: 19px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-blog-about-widget h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 17px;
  font-weight: 950;
}

.ir-blog-about-widget p {
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 13px;
  font-weight: 750;
  line-height: 2;
}

.ir-blog-about-actions {
  margin-top: 16px;
  display: grid;
  gap: 10px;
}

.ir-blog-call-btn,
.ir-blog-request-btn {
  min-height: 46px;
  padding: 0 13px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
  transition: 0.2s ease;
}

.ir-blog-call-btn {
  background: var(--ir-primary);
  color: #fff;
}

.ir-blog-request-btn {
  background: #fff;
  color: #111827;
}

.ir-blog-call-btn:hover,
.ir-blog-request-btn:hover {
  transform: translateY(-2px);
}

/* ==========================================================================
   Blog Single Hero Header
   ========================================================================== */

.ir-blog-single-hero {
  padding: 42px 0 34px;
  background: #fff;
}

.ir-blog-single-head-v2 {
  position: relative;
  width: 100%;
  padding: 30px;
  border-radius: 34px;
  background: #fff;
  border: 1px solid rgba(165, 0, 52, 0.14);
  box-shadow: 0 24px 70px rgba(17, 24, 39, 0.075);
  overflow: hidden;
}

.ir-blog-single-head-v2::before {
  content: "";
  position: absolute;
  top: -70px;
  left: -70px;
  width: 190px;
  height: 190px;
  border-radius: 52px;
  background: #111827;
  opacity: 0.035;
  transform: rotate(-16deg);
  pointer-events: none;
}

.ir-blog-single-head-v2::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -95px;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background: rgba(165, 0, 52, 0.055);
  border: 1px solid rgba(165, 0, 52, 0.10);
  pointer-events: none;
}

.ir-blog-single-title-area {
  position: relative;
  z-index: 1;
  max-width: 980px;
}

.ir-blog-single-label {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 950;
}

.ir-blog-single-label i {
  color: #fff;
}

.ir-blog-single-title-area h1 {
  margin: 0;
  color: var(--ir-heading);
  font-size: 28px;
  font-weight: 950;
  line-height: 1.65;
  letter-spacing: -0.035em;
}

.ir-blog-single-title-area p {
  max-width: 860px;
  margin: 14px 0 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 750;
  line-height: 2.05;
}


/* ==========================================================================
   Blog Featured Image
   ========================================================================== */

.ir-blog-featured-image {
  margin: 0 0 20px;
  border-radius: 34px;
  background: #111827;
  border: 1px solid rgba(17, 24, 39, 0.10);
  box-shadow: 0 22px 62px rgba(17, 24, 39, 0.10);
  overflow: hidden;
}

.ir-blog-featured-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* ==========================================================================
   Blog Article Body
   ========================================================================== */

.ir-blog-article {
  padding: 28px;
  border-radius: 34px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.055);
  color: #374151;
  font-size: 15px;
  font-weight: 650;
  line-height: 2.15;
}

.ir-blog-article h2 {
  margin: 20px 0 12px;
  color: #6B0223 ;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.65;
}

.ir-blog-article h3 {
  margin: 24px 0 10px;
  color: var(--ir-heading);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.65;
}

.ir-blog-article p {
  margin: 0 0 15px;
	text-align: justify;
}

.ir-blog-article a {
  color: var(--ir-primary);
  font-weight: 900;
  text-decoration: none;
}

.ir-blog-article ul,
.ir-blog-article ol {
  margin: 14px 0 18px;
  padding-right: 22px;
}

.ir-blog-article li {
  margin-bottom: 8px;
}

.ir-blog-article img {
  max-width: 100%;
  height: auto;
  border-radius: 22px;
}

/* ==========================================================================
   Blog Related Posts
   ========================================================================== */

.ir-blog-related {
  margin-top: 24px;
}

.ir-blog-related-head {
  margin-bottom: 16px;
  padding: 20px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid #e5e7eb;
}

.ir-blog-related-head h2 {
  margin: 0;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.55;
}

/* ==========================================================================
   Blog Pagination and Empty State
   ========================================================================== */

.ir-blog-pagination {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.ir-blog-pagination a {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: #fff;
  color: #111827;
  border: 1px solid #e5e7eb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
  transition: 0.2s ease;
}

.ir-blog-pagination a:hover,
.ir-blog-pagination a.is-active {
  background: var(--ir-primary);
  border-color: var(--ir-primary);
  color: #fff;
}

.ir-blog-empty {
  min-height: 240px;
  padding: 30px;
  border-radius: 30px;
  background: #fff;
  border: 1px dashed rgba(165, 0, 52, 0.24);
  color: var(--ir-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.045);
}

.ir-blog-empty i {
  width: 62px;
  height: 62px;
  margin-bottom: 14px;
  border-radius: 22px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.ir-blog-empty strong {
  margin-bottom: 6px;
  color: var(--ir-heading);
  font-size: 16px;
  font-weight: 950;
}

.ir-blog-empty span {
  font-size: 13px;
  font-weight: 750;
}

/* ==========================================================================
   Blog Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-blog-hero-box {
    grid-template-columns: 1fr;
    padding: 22px;
    border-radius: 30px;
  }

  .ir-blog-card-grid,
  .ir-blog-card-grid-3 {
    grid-template-columns: 1fr 1fr;
  }

  .ir-blog-sidebar {
    position: static;
  }
}

@media (max-width: 575px) {
  .ir-blog-hero {
    padding: 28px 0 22px;
  }

  .ir-blog-section {
    padding: 24px 0 52px;
  }

  .ir-blog-hero-box,
  .ir-blog-single-head,
  .ir-blog-article,
  .ir-blog-featured-image {
    border-radius: 24px;
  }

  .ir-blog-hero-content h1,
  .ir-blog-single-head h1 {
    font-size: 22px;
    line-height: 1.6;
  }

  .ir-blog-card-grid,
  .ir-blog-card-grid-3 {
    grid-template-columns: 1fr;
  }

  .ir-blog-list-head h2,
  .ir-blog-related-head h2,
  .ir-blog-article h2 {
    font-size: 18px;
    line-height: 1.7;
  }

  .ir-blog-article {
    padding: 18px;
    font-size: 14px;
  }

  .ir-blog-single-meta span {
    width: 100%;
    justify-content: center;
  }

  .ir-blog-popular-item {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .ir-blog-popular-item img {
    width: 78px;
    height: 64px;
  }
}

/* ==========================================================================
   Blog Single Meta Bar
   ========================================================================== */

.ir-blog-single-meta-v2 {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  padding: 12px;
  border-radius: 24px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.ir-blog-single-meta-item {
  min-height: 72px;
  padding: 12px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
  gap: 11px;
  overflow: hidden;
}

.ir-blog-single-meta-icon {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: #111827;
  color: #fff;
  box-shadow: 0 12px 26px rgba(17, 24, 39, 0.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.ir-blog-single-meta-item small {
  display: block;
  margin-bottom: 4px;
  color: #6b7280;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.4;
}

.ir-blog-single-meta-item strong {
  display: block;
  color: var(--ir-heading);
  font-size: 13px;
  font-weight: 950;
  line-height: 1.55;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ==========================================================================
   Blog Single Header Responsive Rules
   ========================================================================== */

@media (max-width: 991px) {
  .ir-blog-single-head-v2 {
    padding: 24px;
    border-radius: 30px;
  }

  .ir-blog-single-meta-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .ir-blog-single-hero {
    padding: 28px 0 24px;
  }

  .ir-blog-single-head-v2 {
    padding: 18px;
    border-radius: 24px;
  }

  .ir-blog-single-title-area h1 {
    font-size: 22px;
    line-height: 1.75;
	  text-align: center;
  }

  .ir-blog-single-title-area p {
    font-size: 13px;
  }

  .ir-blog-single-meta-v2 {
    padding: 10px;
    border-radius: 20px;
   
  }

  .ir-blog-single-meta-item {
    min-height: 64px;
    border-radius: 16px;
  }

  .ir-blog-single-meta-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
  }
}

/* ==========================================================================
   Area Landing Page
   ========================================================================== */

.ir-area-hero {
  position: relative;
  padding: 76px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-area-hero-shell {
  padding: 34px;
  border-radius: 34px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 24px 70px rgba(17, 24, 39, 0.08);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 480px;
  align-items: center;
  gap: 34px;
}

.ir-area-kicker {
  width: fit-content;
  min-height: 38px;
  padding: 0 13px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: #fff7fa;
  color: var(--ir-primary-dark);
  border: 1px solid rgba(165, 0, 52, 0.16);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 900;
}

.ir-area-hero-content h1 {
  margin: 0 0 16px;
  color: var(--ir-heading);
  font-size: 34px;
  font-weight: 950;
  line-height: 1.45;
  letter-spacing: -0.045em;
}

.ir-area-hero-content p {
  max-width: 660px;
  margin: 0;
  color: var(--ir-muted);
  font-size: 15px;
  font-weight: 700;
  line-height: 2.1;
}

.ir-area-hero-actions {
  margin-top: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ir-area-hero-image-card {
  position: relative;
  border-radius: 30px;
  background: #111827;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(17, 24, 39, 0.18);
}

.ir-area-hero-image-card img {
  width: 100%;
  height: 390px;
  object-fit: cover;
  display: block;
}

.ir-area-hero-note {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  padding: 13px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(229, 231, 235, 0.95);
  display: flex;
  align-items: center;
  gap: 11px;
}

.ir-area-hero-note i {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-area-hero-note strong {
  display: block;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: 950;
}

.ir-area-hero-note span {
  display: block;
  margin-top: 4px;
  color: var(--ir-muted);
  font-size: 12px;
  font-weight: 750;
}

/* Intro */

.ir-area-intro-section {
  padding: 72px 0;
  background: #fff;
}

.ir-area-intro-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 28px;
  align-items: stretch;
}

.ir-area-intro-content,
.ir-area-intro-side {
  padding: 28px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
}

.ir-area-intro-content h2 {
  margin: 0 0 16px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.55;
}

.ir-area-intro-content p {
  margin: 0;
  color: var(--ir-muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 2.1;
}

.ir-area-intro-content p + p {
  margin-top: 12px;
}

.ir-area-intro-side {
  background: #111827;
  color: #fff;
}

.ir-area-intro-side h3 {
  margin: 0 0 18px;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.6;
}

.ir-area-intro-side ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: 11px;
}

.ir-area-intro-side li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.9;
}

.ir-area-intro-side li i {
  margin-top: 6px;
  color: #22c55e;
}

/* Features */

.ir-area-features-section {
  padding: 72px 0;
  background: #f8fafc;
}

.ir-area-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.ir-area-feature-card {
  height: 100%;
  padding: 22px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 48px rgba(17, 24, 39, 0.06);
}

.ir-area-feature-card span {
  width: 52px;
  height: 52px;
  margin-bottom: 18px;
  border-radius: 18px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-area-feature-card h3 {
  margin: 0 0 10px;
  color: var(--ir-heading);
  font-size: 16px;
  font-weight: 950;
  line-height: 1.6;
}

.ir-area-feature-card p {
  margin: 0;
  color: var(--ir-muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 2;
}

@media (max-width: 991px) {
  .ir-area-hero,
  .ir-area-intro-section,
  .ir-area-features-section {
    padding: 54px 0;
  }

  .ir-area-hero-shell,
  .ir-area-intro-shell {
    grid-template-columns: 1fr;
  }

  .ir-area-hero-shell {
    padding: 24px;
  }

  .ir-area-hero-content h1 {
    font-size: 26px;
  }

  .ir-area-feature-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 575px) {
  .ir-area-hero,
  .ir-area-intro-section,
  .ir-area-features-section {
    padding: 42px 0;
  }

  .ir-area-hero-shell {
    padding: 18px;
    border-radius: 26px;
  }

  .ir-area-hero-content h1 {
    font-size: 22px;
  }

  .ir-area-hero-content p {
    font-size: 14px;
  }

  .ir-area-hero-actions .ir-btn {
    width: 100%;
  }

  .ir-area-hero-image-card img {
    height: 260px;
  }

  .ir-area-intro-content,
  .ir-area-intro-side {
    padding: 20px;
    border-radius: 24px;
  }

  .ir-area-intro-content h2 {
    font-size: 18px;
  }

  .ir-area-feature-grid {
    grid-template-columns: 1fr;
  }
}
/* ==========================================================================
   Area Feature Head Box
   ========================================================================== */

.ir-area-feature-head-box {
  position: relative;
  margin-bottom: 30px;
  padding: 28px;
  border-radius: 32px;
  background: #fff;
  border: 1px solid rgba(229, 231, 235, 0.96);
  box-shadow: 0 22px 62px rgba(17, 24, 39, 0.07);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  align-items: center;
  gap: 24px;
  overflow: hidden;
}

.ir-area-feature-head-box::before {
  content: "";
  position: absolute;
  top: -58px;
  left: -58px;
  width: 150px;
  height: 150px;
  border-radius: 42px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.09);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-area-feature-head-box::after {
  content: "";
  position: absolute;
  right: 28px;
  bottom: -46px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  pointer-events: none;
}

.ir-area-feature-head-content {
  position: relative;
  z-index: 1;
}

.ir-area-feature-head-content h2 {
  max-width: 760px;
  margin: 0 0 12px;
  color: var(--ir-heading);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.55;
  letter-spacing: -0.035em;
}

.ir-area-feature-head-content p {
  max-width: 760px;
  margin: 0;
  color: var(--ir-muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 2.05;
}

.ir-area-feature-head-points {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ir-area-feature-head-points span {
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f9fafb;
  color: #374151;
  border: 1px solid #e5e7eb;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.8;
}

.ir-area-feature-head-points i {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ecfdf5;
  color: #15803d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  flex: 0 0 auto;
}

.ir-area-feature-head-mark {
  position: relative;
  z-index: 1;
  min-height: 190px;
  padding: 22px;
  border-radius: 26px;
  background: #111827;
  color: #fff;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 22px 52px rgba(17, 24, 39, 0.13);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}

.ir-area-feature-head-mark::before {
  content: "";
  position: absolute;
  top: -42px;
  left: -34px;
  width: 115px;
  height: 115px;
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.06);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-area-feature-head-mark span {
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  border-radius: 20px;
  background: var(--ir-primary);
  color: #fff;
  box-shadow: 0 16px 34px rgba(165, 0, 52, 0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-area-feature-head-mark span i {
  font-size: 22px;
}

.ir-area-feature-head-mark strong {
  display: block;
  color: #fff;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.5;
}

.ir-area-feature-head-mark small {
  display: block;
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.8;
}

/* Responsive */

@media (max-width: 991px) {
  .ir-area-feature-head-box {
    grid-template-columns: 1fr;
    padding: 24px;
    border-radius: 28px;
  }

  .ir-area-feature-head-content h2 {
    font-size: 20px;
  }

  .ir-area-feature-head-mark {
    min-height: auto;
  }
}

@media (max-width: 575px) {
  .ir-area-feature-head-box {
    padding: 20px;
    border-radius: 24px;
  }

  .ir-area-feature-head-content h2 {
    font-size: 18px;
    line-height: 1.8;
  }

  .ir-area-feature-head-content p {
    font-size: 14px;
  }

  .ir-area-feature-head-points {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ir-area-feature-head-points span {
    width: 100%;
  }

  .ir-area-feature-head-mark {
    padding: 20px;
    border-radius: 22px;
  }

  .ir-area-feature-head-mark strong {
    font-size: 18px;
  }
}

/* ==========================================================================
   Area Damage Cards
   ========================================================================== */

.ir-area-damage-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.ir-area-damage-card {
  position: relative;
  min-height: 122px;
  padding: 16px;
  border-radius: 22px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  overflow: hidden;
  transition: 0.22s ease;
}

.ir-area-damage-card::before {
  content: "";
  position: absolute;
  top: -44px;
  left: -44px;
  width: 110px;
  height: 110px;
  border-radius: 32px;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.08);
  transform: rotate(-14deg);
  pointer-events: none;
}

.ir-area-damage-card:hover {
  transform: translateY(-3px);
  border-color: rgba(165, 0, 52, 0.22);
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.07);
}

.ir-area-damage-card > span {
  position: relative;
  z-index: 1;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-shadow: 0 14px 28px rgba(17, 24, 39, 0.14);
}

.ir-area-damage-card > span i {
  font-size: 17px;
}

.ir-area-damage-card > div {
  position: relative;
  z-index: 1;
}

.ir-area-damage-card h3 {
  margin: 0 0 7px;
  color: var(--ir-heading);
  font-size: 14px;
  font-weight: 950;
  line-height: 1.7;
}

.ir-area-damage-card p {
  margin: 0;
  color: var(--ir-muted);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.95;
}

.ir-area-intro-content strong {
  color: var(--ir-primary-dark);
  font-weight: 950;
}

/* Responsive */

@media (max-width: 991px) {
  .ir-area-damage-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .ir-area-damage-grid {
    margin-top: 18px;
    gap: 12px;
  }

  .ir-area-damage-card {
    min-height: auto;
    padding: 15px;
    border-radius: 20px;
  }

  .ir-area-damage-card > span {
    width: 42px;
    height: 42px;
    border-radius: 15px;
  }

  .ir-area-damage-card h3 {
    font-size: 13.5px;
  }

  .ir-area-damage-card p {
    font-size: 12.5px;
  }
}

/* ==========================================================================
   404 Error Page
   ========================================================================== */

.ir-error-section {
  position: relative;
  min-height: calc(100vh - 82px);
  padding: 82px 0;
  background: #f8fafc;
  overflow: hidden;
}

.ir-error-section::before {
  content: "";
  position: absolute;
  top: 90px;
  right: -140px;
  width: 300px;
  height: 300px;
  border-radius: 56px;
  background: #fff;
  border: 1px solid #eef2f7;
  transform: rotate(14deg);
  pointer-events: none;
}

.ir-error-section::after {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -150px;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  background: #fff7fa;
  border: 1px solid rgba(165, 0, 52, 0.08);
  pointer-events: none;
}

.ir-error-section .container {
  position: relative;
  z-index: 1;
}

.ir-error-shell {
  min-height: 440px;
  padding: 42px;
  border-radius: 38px;
  background: #fff;
  border: 1px solid rgba(229, 231, 235, 0.96);
  box-shadow: 0 26px 78px rgba(17, 24, 39, 0.08);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: center;
  gap: 36px;
  overflow: hidden;
}

.ir-error-content {
  position: relative;
  z-index: 2;
}

.ir-error-kicker {
  width: fit-content;
  min-height: 40px;
  padding: 0 14px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: #fff7fa;
  color: var(--ir-primary-dark);
  border: 1px solid rgba(165, 0, 52, 0.18);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 900;
}

.ir-error-kicker i {
  color: var(--ir-primary);
}

.ir-error-content h1 {
  margin: 0 0 16px;
  color: var(--ir-heading);
  font-size: 34px;
  font-weight: 950;
  line-height: 1.45;
  letter-spacing: -0.045em;
}

.ir-error-content p {
  max-width: 720px;
  margin: 0;
  color: var(--ir-muted);
  font-size: 15px;
  font-weight: 700;
  line-height: 2.1;
}

.ir-error-actions {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ir-error-help {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ir-error-help span {
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f9fafb;
  color: #374151;
  border: 1px solid #e5e7eb;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 850;
}

.ir-error-help i {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ecfdf5;
  color: #15803d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
}

/* Visual */

.ir-error-visual {
  position: relative;
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ir-error-code-card {
  position: relative;
  z-index: 2;
  width: 260px;
  height: 260px;
  border-radius: 42px;
  background: #111827;
  color: #fff;
  border: 1px solid rgba(17, 24, 39, 0.18);
  box-shadow: 0 30px 70px rgba(17, 24, 39, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transform: rotate(-4deg);
}

.ir-error-code-card::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  pointer-events: none;
}

.ir-error-code-card strong {
  display: block;
  color: #fff;
  font-size: 72px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.06em;
}

.ir-error-code-card span {
  display: block;
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  font-weight: 850;
  direction: ltr;
}

.ir-error-device {
  position: absolute;
  right: 10px;
  bottom: 20px;
  z-index: 3;
  min-height: 66px;
  padding: 12px 14px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.14);
  display: flex;
  align-items: center;
  gap: 10px;
}

.ir-error-device i {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--ir-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ir-error-device span {
  color: var(--ir-heading);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.8;
}

/* Responsive */

@media (max-width: 991px) {
  .ir-error-section {
    min-height: auto;
    padding: 54px 0;
  }

  .ir-error-shell {
    grid-template-columns: 1fr;
    padding: 28px;
    border-radius: 30px;
    gap: 28px;
  }

  .ir-error-content h1 {
    font-size: 28px;
  }

  .ir-error-visual {
    min-height: 260px;
  }

  .ir-error-code-card {
    width: 220px;
    height: 220px;
  }

  .ir-error-code-card strong {
    font-size: 60px;
  }
}

@media (max-width: 575px) {
  .ir-error-section {
    padding: 42px 0;
  }

  .ir-error-shell {
    padding: 20px;
    border-radius: 26px;
  }

  .ir-error-content h1 {
    font-size: 22px;
    line-height: 1.7;
  }

  .ir-error-content p {
    font-size: 14px;
  }

  .ir-error-actions .ir-btn {
    width: 100%;
  }

  .ir-error-help {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ir-error-help span {
    width: 100%;
  }

  .ir-error-visual {
    min-height: 230px;
  }

  .ir-error-code-card {
    width: 190px;
    height: 190px;
    border-radius: 34px;
  }

  .ir-error-code-card strong {
    font-size: 52px;
  }

  .ir-error-device {
    right: 0;
    bottom: 0;
    max-width: 230px;
  }
}

@media (max-width: 575px) {
  .ir-lg-tv-image-box {
    width: 320px;
    height: 320px;
    max-width: 100%;
	 min-height: 320px;
    margin: 0 auto;
  }

  .ir-lg-tv-image-box img {
    width: 100%;
    height: 320px;
    min-height: 320px;
    object-fit: cover;
  }
}