* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 105px;
}

body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "Inter", sans-serif;
  line-height: 1.65;
  overflow-x: hidden;
}

body.modal-open {
  padding-right: 0 !important;
}

img {
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

section[id] {
  scroll-margin-top: 110px;
}

::selection {
  color: #fff;
  background: var(--brand);
}

.page-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: #fff;
  transition: opacity .45s ease, visibility .45s ease;
}

.page-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.loader-mark {
  position: relative;
  width: 112px;
  height: 112px;
  display: grid;
  place-items: center;
}

.loader-mark img {
  width: 82px;
  height: 82px;
  object-fit: contain;
}

.loader-mark span {
  position: absolute;
  inset: 0;
  border: 3px solid rgba(180, 22, 27, .16);
  border-top-color: var(--brand);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* =========================================================
   PREMIUM TOPBAR
========================================================= */

:root {
  --topbar-primary: #b71c22;
  --topbar-primary-light: #e63946;
  --topbar-dark: #171717;
  --topbar-dark-soft: #252525;
  --topbar-white: #ffffff;
  --topbar-muted: rgba(255, 255, 255, 0.7);
  --topbar-border: rgba(255, 255, 255, 0.12);
}

.topbar {
  position: relative;
  z-index: 1050;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 50%,
      rgba(230, 57, 70, 0.2),
      transparent 32%),
    radial-gradient(circle at 90% 50%,
      rgba(183, 28, 34, 0.18),
      transparent 30%),
    linear-gradient(110deg,
      #111111 0%,
      #242424 48%,
      #171717 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--topbar-white);
}

.topbar::before {
  content: "";
  position: absolute;
  top: -80px;
  left: 35%;
  width: 180px;
  height: 180px;
  border: 35px solid rgba(255, 255, 255, 0.025);
  border-radius: 50%;
  pointer-events: none;
}

.topbar::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 190px;
  height: 190px;
  background: rgba(183, 28, 34, 0.12);
  border-radius: 50%;
  filter: blur(3px);
  pointer-events: none;
}

.topbar .container {
  position: relative;
  z-index: 2;
}

.topbar-inner {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

/* =========================================================
   CONTACT AREA
========================================================= */

.topbar-contact {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 0;
}

.topbar-item {
  position: relative;
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 7px 24px;
  color: var(--topbar-white);
  text-decoration: none;
  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.topbar-item:first-child {
  padding-left: 0;
}

.topbar-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 34px;
  background: linear-gradient(to bottom,
      transparent,
      var(--topbar-border),
      transparent);
  transform: translateY(-50%);
}

a.topbar-item:hover {
  color: var(--topbar-white);
  transform: translateY(-2px);
}

.topbar-icon {
  position: relative;
  flex: 0 0 39px;
  width: 39px;
  height: 39px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: var(--topbar-white);
  background: linear-gradient(135deg,
      var(--topbar-primary-light),
      var(--topbar-primary));
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 11px;
  box-shadow:
    0 7px 16px rgba(183, 28, 34, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.topbar-icon::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -80%;
  width: 50%;
  height: 200%;
  background: rgba(255, 255, 255, 0.25);
  transform: rotate(25deg);
  transition: left 0.5s ease;
}

.topbar-item:hover .topbar-icon::after {
  left: 140%;
}

.topbar-item:hover .topbar-icon {
  transform: rotate(-4deg) scale(1.06);
  box-shadow:
    0 10px 20px rgba(183, 28, 34, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.topbar-icon i {
  position: relative;
  z-index: 1;
  font-size: 15px;
}

.topbar-content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.topbar-content small {
  margin-bottom: 3px;
  color: var(--topbar-muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}

.topbar-content strong {
  color: var(--topbar-white);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1px;
  white-space: nowrap;
}

/* =========================================================
   CERTIFICATION BADGES
========================================================= */

.topbar-badges {
  display: flex;
  align-items: center;
  gap: 10px;
}

.topbar-badge {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 14px 7px 9px;
  color: var(--topbar-white);
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 13px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 6px 18px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    transform 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease;
}

.topbar-badge:hover {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.11);
  border-color: rgba(255, 255, 255, 0.22);
}

.badge-icon {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffd166;
  background: rgba(255, 209, 102, 0.12);
  border-radius: 9px;
}

.badge-icon i {
  font-size: 14px;
}

.topbar-badge>span:last-child {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.topbar-badge small {
  margin-bottom: 2px;
  color: var(--topbar-muted);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.topbar-badge strong {
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.made-india-badge .badge-icon {
  color: #ff9933;
  background:
    linear-gradient(to bottom,
      rgba(255, 153, 51, 0.18) 0%,
      rgba(255, 255, 255, 0.11) 50%,
      rgba(19, 136, 8, 0.18) 100%);
}

/* =========================================================
   LARGE TABLETS AND SMALL LAPTOPS
========================================================= */

@media (max-width: 1199.98px) {
  .topbar-inner {
    gap: 15px;
  }

  .topbar-item {
    padding-right: 14px;
    padding-left: 14px;
  }

  .topbar-icon {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }

  .topbar-content strong {
    font-size: 12px;
  }

  .topbar-badge {
    padding-right: 10px;
  }

  .topbar-badge small {
    display: none;
  }
}

/* =========================================================
   TABLET VIEW
========================================================= */

@media (max-width: 991.98px) {
  .topbar {
    padding: 11px 0;
  }

  .topbar-inner {
    min-height: auto;
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .topbar-contact {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--topbar-border);
    border-radius: 14px;
    overflow: hidden;
  }

  .topbar-item {
    min-height: 55px;
    padding: 8px 12px;
  }

  .topbar-item:first-child {
    padding-left: 12px;
  }

  .topbar-badges {
    justify-content: flex-end;
  }

  .topbar-badge {
    min-height: 40px;
  }
}

/* =========================================================
   MOBILE VIEW
========================================================= */

@media (max-width: 767.98px) {
  .topbar {
    padding: 10px 0;
  }

  .topbar-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    background: rgba(255, 255, 255, 0.035);
  }

  .topbar-item {
    min-width: 0;
    min-height: 58px;
    padding: 9px 10px;
  }

  .topbar-item:nth-child(2)::after {
    display: none;
  }

  .topbar-location {
    grid-column: 1 / -1;
    border-top: 1px solid var(--topbar-border);
  }

  .topbar-location::after {
    display: none;
  }

  .topbar-icon {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
    border-radius: 9px;
  }

  .topbar-content small {
    font-size: 8px;
    letter-spacing: 0.8px;
  }

  .topbar-content strong {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    font-size: 11px;
  }

  .topbar-email .topbar-content strong {
    font-size: 10px;
  }

  .topbar-badges {
    justify-content: center;
  }

  .topbar-badge {
    flex: 1;
    justify-content: center;
  }
}

/* =========================================================
   SMALL MOBILE VIEW
========================================================= */

@media (max-width: 479.98px) {
  .topbar .container {
    padding-right: 10px;
    padding-left: 10px;
  }

  .topbar-contact {
    grid-template-columns: 1fr;
  }

  .topbar-item,
  .topbar-item:first-child {
    padding: 9px 12px;
  }

  .topbar-item:not(:last-child) {
    border-bottom: 1px solid var(--topbar-border);
  }

  .topbar-item::after {
    display: none;
  }

  .topbar-location {
    grid-column: auto;
    border-top: 0;
  }

  .topbar-content strong {
    font-size: 12px;
  }

  .topbar-email .topbar-content strong {
    font-size: 11px;
  }

  .topbar-badges {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .topbar-badge {
    min-width: 0;
    padding: 6px 8px;
  }

  .topbar-badge strong {
    font-size: 9px;
  }

  .badge-icon {
    flex-basis: 29px;
    width: 29px;
    height: 29px;
  }
}

/* =========================================================
   MANJU ENGINEERS NAVBAR
========================================================= */

:root {
  --nav-primary: #bd1720;
  --nav-primary-dark: #8c0d14;
  --nav-primary-light: #e3333c;

  --nav-dark: #191919;
  --nav-text: #282828;
  --nav-muted: #747474;

  --nav-white: #ffffff;
  --nav-soft: #fff6f5;
  --nav-soft-dark: #fdebea;

  --nav-border: rgba(189, 23, 32, 0.12);

  --nav-shadow:
    0 18px 50px rgba(33, 19, 20, 0.16);
}

/* =========================================================
   STICKY COMPLETE HEADER
========================================================= */

html {
  scroll-padding-top: calc(var(--site-header-height, 170px) + 15px);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 5000;

  width: 100%;

  background: #ffffff;

  box-shadow:
    0 8px 30px rgba(28, 18, 19, 0.09);

  isolation: isolate;
}

/* =========================================================
   NAVBAR WRAPPER
========================================================= */

.main-navbar {
  position: relative;
  z-index: 20;

  min-height: 94px;

  padding: 0;

  background:
    radial-gradient(circle at 5% 50%,
      rgba(189, 23, 32, 0.05),
      transparent 24%),
    linear-gradient(90deg,
      #fffafa 0%,
      #ffffff 30%,
      #ffffff 100%);

  border-bottom: 1px solid var(--nav-border);

  box-shadow:
    0 7px 24px rgba(28, 18, 19, 0.06);
}

.main-navbar::after {
  content: "";

  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;

  height: 2px;

  background:
    linear-gradient(90deg,
      transparent 0%,
      var(--nav-primary) 22%,
      var(--nav-primary-light) 50%,
      var(--nav-primary) 78%,
      transparent 100%);

  opacity: 0.7;
}

.main-navbar>.container {
  position: relative;
  min-height: inherit;
}

/* =========================================================
   BRAND
========================================================= */

.main-navbar .navbar-brand {
  min-width: 305px;

  display: inline-flex;
  align-items: center;

  gap: 12px;

  margin-right: 25px;
  padding: 5px 0;

  text-decoration: none;
}

.brand-logo-wrap {
  position: relative;

  flex: 0 0 92px;

  width: 92px;
  height: 100px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.brand-logo-wrap::before {
  content: "";

  position: absolute;
  inset: 9px;

  background:
    radial-gradient(circle,
      rgba(189, 23, 32, 0.14),
      transparent 70%);

  border-radius: 50%;

  filter: blur(7px);

  opacity: 0;

  transition: opacity 0.35s ease;
}

.brand-logo {
  position: relative;
  z-index: 1;

  width: 100%;
  height: 100%;

  object-fit: contain;

  transition:
    transform 0.35s ease,
    filter 0.35s ease;
}

.main-navbar .navbar-brand:hover .brand-logo-wrap::before {
  opacity: 1;
}

.main-navbar .navbar-brand:hover .brand-logo {
  transform: scale(1.06);

  filter:
    drop-shadow(0 8px 10px rgba(189, 23, 32, 0.14));
}

.brand-copy {
  position: relative;

  display: flex;
  flex-direction: column;

  padding-left: 14px;

  line-height: 1.1;
}

.brand-copy::before {
  content: "";

  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 0;

  width: 3px;

  background:
    linear-gradient(to bottom,
      var(--nav-primary-light),
      var(--nav-primary-dark));

  border-radius: 20px;
}

.brand-copy strong {
  color: var(--nav-dark);

  font-size: 19px;
  font-weight: 800;

  letter-spacing: 1px;

  white-space: nowrap;
}

.brand-copy small {
  margin-top: 7px;

  color: var(--nav-primary);

  font-family: Georgia, "Times New Roman", serif;

  font-size: 12px;
  font-weight: 700;

  letter-spacing: 0.3px;

  white-space: nowrap;
}

/* =========================================================
   NAVBAR PANEL
========================================================= */

.navbar-panel {
  width: 100%;

  display: flex;
  align-items: center;
}

.main-navbar .navbar-nav {
  display: flex;
  align-items: center;

  gap: 7px;
}

.main-navbar .nav-item {
  position: relative;
}

/* =========================================================
   ALL MAIN NAVIGATION LINKS
========================================================= */

.main-navbar .navbar-nav>.nav-item>.nav-link {
  position: relative;

  min-height: 46px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 11px 14px !important;

  color: var(--nav-text);

  background:
    linear-gradient(145deg,
      #ffffff,
      #fffdfd);

  border: 1px solid rgba(37, 37, 37, 0.07);
  border-radius: 10px;

  box-shadow:
    0 4px 13px rgba(28, 22, 22, 0.065),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);

  font-size: 13px;
  font-weight: 700;

  letter-spacing: 0.05px;

  white-space: nowrap;

  transform: translateY(0);

  transition:
    color 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

/* Main link hover */
.main-navbar .navbar-nav>.nav-item>.nav-link:hover {
  color: var(--nav-primary);

  background:
    linear-gradient(135deg,
      #fffafa,
      #fff0ef);

  border-color: rgba(189, 23, 32, 0.17);

  box-shadow:
    0 8px 20px rgba(189, 23, 32, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);

  transform: translateY(-2px);
}

/* Dropdown open state */
.main-navbar .navbar-nav>.nav-item.dropdown.show>.nav-link,
.main-navbar .navbar-nav>.nav-item.dropdown:hover>.nav-link {
  color: var(--nav-primary);

  background:
    linear-gradient(135deg,
      #fff9f8,
      #ffefed);

  border-color: rgba(189, 23, 32, 0.19);

  box-shadow:
    0 8px 20px rgba(189, 23, 32, 0.13);

  transform: translateY(-2px);
}

/* Active page */
.main-navbar .navbar-nav>.nav-item>.nav-link.active {
  color: #ffffff !important;

  background:
    radial-gradient(circle at right top,
      rgba(255, 255, 255, 0.2),
      transparent 42%),
    linear-gradient(135deg,
      var(--nav-primary-light),
      var(--nav-primary),
      var(--nav-primary-dark));

  border-color: transparent;

  box-shadow:
    0 10px 24px rgba(189, 23, 32, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);

  transform: translateY(-2px);
}

.main-navbar .navbar-nav>.nav-item>.nav-link.active:hover {
  color: #ffffff !important;

  box-shadow:
    0 13px 29px rgba(189, 23, 32, 0.35);

  transform: translateY(-3px);
}

/* Remove any old underline */
.main-navbar .nav-link::before {
  display: none !important;
}

/* =========================================================
   DROPDOWN ARROW
========================================================= */

.main-navbar .dropdown-toggle::after {
  width: 7px;
  height: 7px;

  margin-top: -4px;
  margin-left: 8px;

  border: 0;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;

  transform: rotate(45deg);

  transition:
    margin-top 0.25s ease,
    transform 0.25s ease;
}

.main-navbar .dropdown.show>.dropdown-toggle::after {
  margin-top: 3px;

  transform: rotate(225deg);
}

/* =========================================================
   COMMON DROPDOWN
========================================================= */

.main-navbar .dropdown-menu {
  padding: 10px;

  background: rgba(255, 255, 255, 0.99);

  border: 1px solid var(--nav-border);
  border-radius: 16px;

  box-shadow: var(--nav-shadow);

  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}

.standard-dropdown,
.products-menu {
  position: relative;
}

/* Top arrow */
.standard-dropdown::before,
.products-menu::before {
  content: "";

  position: absolute;
  top: -7px;
  left: 27px;

  width: 14px;
  height: 14px;

  background: #ffffff;

  border-top: 1px solid var(--nav-border);
  border-left: 1px solid var(--nav-border);

  transform: rotate(45deg);
}

/* =========================================================
   ABOUT DROPDOWN
========================================================= */

.standard-dropdown {
  width: 325px;
  min-width: 325px;
}

.standard-dropdown>li:not(:last-child) {
  margin-bottom: 4px;
}

.standard-dropdown .dropdown-item {
  min-height: 64px;

  display: flex;
  align-items: center;

  gap: 12px;

  padding: 9px 11px;

  color: var(--nav-text);

  background: transparent;

  border: 1px solid transparent;
  border-radius: 11px;

  white-space: normal;

  transition:
    color 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.standard-dropdown .dropdown-item:hover,
.standard-dropdown .dropdown-item:focus {
  color: var(--nav-primary);

  background:
    linear-gradient(135deg,
      #fff8f7,
      #ffefed);

  border-color: rgba(189, 23, 32, 0.1);

  box-shadow:
    0 6px 15px rgba(189, 23, 32, 0.08);

  transform: translateX(4px);
}

/* About icons */
.dropdown-icon {
  flex: 0 0 41px;

  width: 41px;
  height: 41px;

  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  color: var(--nav-primary) !important;

  background: rgba(189, 23, 32, 0.08);

  border: 1px solid rgba(189, 23, 32, 0.1);
  border-radius: 10px;

  opacity: 1 !important;
  visibility: visible !important;

  transition:
    color 0.25s ease,
    background 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.dropdown-icon i {
  display: inline-block !important;

  color: currentColor !important;

  font-size: 15px;
  line-height: 1;

  opacity: 1 !important;
  visibility: visible !important;
}

.standard-dropdown .dropdown-item:hover .dropdown-icon,
.standard-dropdown .dropdown-item:focus .dropdown-icon {
  color: #ffffff !important;

  background: var(--nav-primary);

  box-shadow:
    0 6px 14px rgba(189, 23, 32, 0.22);

  transform: rotate(-3deg) scale(1.04);
}

.standard-dropdown .dropdown-item:hover .dropdown-icon i,
.standard-dropdown .dropdown-item:focus .dropdown-icon i {
  color: #ffffff !important;

  opacity: 1 !important;
  visibility: visible !important;
}

.dropdown-copy {
  min-width: 0;

  display: flex;
  flex-direction: column;

  line-height: 1.25;
}

.dropdown-copy strong {
  color: inherit;

  font-size: 13px;
  font-weight: 750;
}

.dropdown-copy small {
  margin-top: 3px;

  color: var(--nav-muted);

  font-size: 10px;
  font-weight: 500;
}

/* =========================================================
   PRODUCTS DROPDOWN
========================================================= */

.products-menu {
  width: 355px;
  min-width: 355px;
}

.products-menu>li {
  position: relative;
}

.products-menu>li:not(:last-child) {
  margin-bottom: 3px;
}

.products-menu .dropdown-item {
  width: 100%;
  min-height: 48px;

  display: flex;
  align-items: center;

  gap: 11px;

  padding: 8px 10px;

  color: var(--nav-text);

  background: transparent;

  border: 1px solid transparent;
  border-radius: 10px;

  font-size: 12px;
  font-weight: 650;

  text-align: left;
  white-space: normal;

  transition:
    color 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.products-menu .dropdown-item:hover,
.products-menu .dropdown-item:focus,
.products-menu .dropdown-submenu.is-open>.submenu-toggle {
  color: var(--nav-primary);

  background:
    linear-gradient(135deg,
      #fff8f7,
      #ffefed);

  border-color: rgba(189, 23, 32, 0.1);

  box-shadow:
    0 6px 15px rgba(189, 23, 32, 0.08);
}

.product-direct-link:hover {
  transform: translateX(4px);
}

/* Product icons */
.product-menu-icon {
  flex: 0 0 32px;

  width: 32px;
  height: 32px;

  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  color: var(--nav-primary) !important;

  background: rgba(189, 23, 32, 0.08);

  border: 1px solid rgba(189, 23, 32, 0.08);
  border-radius: 8px;

  opacity: 1 !important;
  visibility: visible !important;

  transition:
    color 0.25s ease,
    background 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.product-menu-icon i {
  display: inline-block !important;

  color: currentColor !important;

  font-size: 14px;
  line-height: 1;

  opacity: 1 !important;
  visibility: visible !important;
}

.products-menu .dropdown-item:hover .product-menu-icon,
.products-menu .dropdown-item:focus .product-menu-icon,
.products-menu .dropdown-submenu.is-open>.submenu-toggle .product-menu-icon {
  color: #ffffff !important;

  background: var(--nav-primary);

  box-shadow:
    0 6px 14px rgba(189, 23, 32, 0.22);

  transform: rotate(-3deg) scale(1.04);
}

.products-menu .dropdown-item:hover .product-menu-icon i,
.products-menu .dropdown-item:focus .product-menu-icon i,
.products-menu .dropdown-submenu.is-open>.submenu-toggle .product-menu-icon i {
  color: #ffffff !important;

  opacity: 1 !important;
  visibility: visible !important;
}

/* =========================================================
   SUBMENU TOGGLE
========================================================= */

.submenu-toggle {
  justify-content: space-between;
}

.submenu-left {
  min-width: 0;

  display: flex;
  align-items: center;

  gap: 11px;
}

.submenu-arrow {
  flex: 0 0 auto;

  margin-left: auto;

  color: #8f8f8f !important;

  font-size: 11px;

  opacity: 1 !important;
  visibility: visible !important;

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.dropdown-submenu:hover>.submenu-toggle .submenu-arrow,
.dropdown-submenu.is-open>.submenu-toggle .submenu-arrow {
  color: var(--nav-primary) !important;

  transform: translateX(2px);
}

/* =========================================================
   SUBMENU ITEMS
========================================================= */

.submenu-item-icon {
  flex: 0 0 27px;

  width: 27px;
  height: 27px;

  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  color: var(--nav-primary) !important;

  background: rgba(189, 23, 32, 0.07);

  border-radius: 7px;

  opacity: 1 !important;
  visibility: visible !important;

  transition:
    color 0.25s ease,
    background 0.25s ease,
    transform 0.25s ease;
}

.submenu-item-icon i {
  display: inline-block !important;

  color: currentColor !important;

  font-size: 12px;

  opacity: 1 !important;
  visibility: visible !important;
}

.submenu-menu .dropdown-item:hover .submenu-item-icon,
.submenu-menu .dropdown-item:focus .submenu-item-icon {
  color: #ffffff !important;

  background: var(--nav-primary);

  transform: translateX(2px);
}

.submenu-menu .dropdown-item:hover .submenu-item-icon i,
.submenu-menu .dropdown-item:focus .submenu-item-icon i {
  color: #ffffff !important;
}

/* =========================================================
   PRODUCTS MENU FOOTER
========================================================= */

.products-menu-footer {
  margin-top: 9px !important;
  padding-top: 9px;

  border-top: 1px solid #ececec;
}

.products-menu-footer>a {
  position: relative;

  min-height: 61px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 12px;

  overflow: hidden;

  padding: 10px 13px;

  color: #ffffff;

  text-decoration: none;

  background:
    radial-gradient(circle at right top,
      rgba(255, 255, 255, 0.2),
      transparent 38%),
    linear-gradient(135deg,
      var(--nav-primary-light),
      var(--nav-primary-dark));

  border-radius: 11px;

  box-shadow:
    0 9px 20px rgba(189, 23, 32, 0.23);

  transition:
    color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.products-menu-footer>a::before {
  content: "";

  position: absolute;
  top: -70%;
  left: -40%;

  width: 25%;
  height: 240%;

  background: rgba(255, 255, 255, 0.22);

  transform: rotate(25deg);

  transition: left 0.55s ease;
}

.products-menu-footer>a:hover {
  color: #ffffff;

  transform: translateY(-2px);

  box-shadow:
    0 13px 26px rgba(189, 23, 32, 0.3);
}

.products-menu-footer>a:hover::before {
  left: 125%;
}

.products-menu-footer>a>span {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;
}

.products-menu-footer small {
  color: rgba(255, 255, 255, 0.74);

  font-size: 8px;
  font-weight: 650;

  letter-spacing: 0.65px;

  text-transform: uppercase;
}

.products-menu-footer strong {
  margin-top: 3px;

  color: #ffffff;

  font-size: 12px;
  font-weight: 750;
}

.products-menu-footer>a>i {
  position: relative;
  z-index: 1;

  flex: 0 0 32px;

  width: 32px;
  height: 32px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background: rgba(255, 255, 255, 0.14);

  border-radius: 50%;

  transition: transform 0.25s ease;
}

.products-menu-footer>a:hover>i {
  transform: translateX(3px);
}

/* =========================================================
   BOOTSTRAP ACTIVE ITEM OVERRIDE
========================================================= */

.main-navbar .dropdown-item.active,
.main-navbar .dropdown-item:active {
  color: var(--nav-primary) !important;

  background:
    linear-gradient(135deg,
      #fff7f6,
      #ffebe9) !important;
}

/* =========================================================
   GET A QUOTE BUTTON
========================================================= */

.nav-quote-btn {
  position: relative;

  min-width: 176px;
  min-height: 56px;

  display: inline-flex;
  align-items: center;

  gap: 9px;

  overflow: hidden;

  padding: 7px 9px;

  color: #ffffff;

  text-decoration: none;

  background:
    radial-gradient(circle at right top,
      rgba(255, 255, 255, 0.2),
      transparent 36%),
    linear-gradient(135deg,
      var(--nav-primary-light),
      var(--nav-primary-dark));

  border: 1px solid rgba(189, 23, 32, 0.22);
  border-radius: 13px;

  box-shadow:
    0 10px 23px rgba(189, 23, 32, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);

  transition:
    color 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.nav-quote-btn::before {
  content: "";

  position: absolute;
  top: -80%;
  left: -45%;

  width: 28%;
  height: 250%;

  background: rgba(255, 255, 255, 0.24);

  transform: rotate(25deg);

  transition: left 0.55s ease;
}

.nav-quote-btn:hover {
  color: #ffffff;

  transform: translateY(-3px);

  box-shadow:
    0 15px 30px rgba(189, 23, 32, 0.33);
}

.nav-quote-btn:hover::before {
  left: 125%;
}

.quote-btn-icon {
  position: relative;
  z-index: 1;

  flex: 0 0 38px;

  width: 38px;
  height: 38px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background: rgba(255, 255, 255, 0.13);

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
}

.quote-btn-copy {
  position: relative;
  z-index: 1;

  display: flex;
  flex: 1;
  flex-direction: column;

  line-height: 1.15;
}

.quote-btn-copy small {
  margin-bottom: 3px;

  color: rgba(255, 255, 255, 0.73);

  font-size: 8px;
  font-weight: 650;

  letter-spacing: 0.65px;

  text-transform: uppercase;
}

.quote-btn-copy strong {
  color: #ffffff;

  font-size: 12px;
  font-weight: 750;
}

.quote-arrow {
  position: relative;
  z-index: 1;

  margin-right: 2px;

  color: #ffffff;

  font-size: 12px;

  transition: transform 0.25s ease;
}

.nav-quote-btn:hover .quote-arrow {
  transform: translate(2px, -2px);
}

/* =========================================================
   MOBILE BUTTONS
========================================================= */

.nav-mobile-actions {
  gap: 9px;
}

.mobile-contact-btn {
  flex: 0 0 43px;

  width: 43px;
  height: 43px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  text-decoration: none;

  background:
    linear-gradient(135deg,
      var(--nav-primary-light),
      var(--nav-primary-dark));

  border-radius: 11px;

  box-shadow:
    0 7px 17px rgba(189, 23, 32, 0.24);

  transition:
    color 0.25s ease,
    transform 0.25s ease;
}

.mobile-contact-btn:hover {
  color: #ffffff;

  transform: translateY(-2px);
}

.main-navbar .navbar-toggler {
  flex: 0 0 46px;

  width: 46px;
  height: 43px;

  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 5px;

  padding: 0;

  background: var(--nav-soft);

  border: 1px solid rgba(189, 23, 32, 0.16);
  border-radius: 11px;

  box-shadow: none;
}

.main-navbar .navbar-toggler:focus {
  box-shadow:
    0 0 0 3px rgba(189, 23, 32, 0.12);
}

.toggler-line {
  width: 21px;
  height: 2px;

  display: block;

  background: var(--nav-primary);

  border-radius: 20px;

  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
}

.main-navbar .navbar-toggler[aria-expanded="true"] .toggler-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.main-navbar .navbar-toggler[aria-expanded="true"] .toggler-line:nth-child(2) {
  opacity: 0;
}

.main-navbar .navbar-toggler[aria-expanded="true"] .toggler-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* =========================================================
   DESKTOP DROPDOWN POSITIONING
========================================================= */

@media (min-width: 1200px) {

  .main-navbar,
  .main-navbar>.container,
  .main-navbar .navbar-collapse,
  .main-navbar .navbar-panel,
  .main-navbar .navbar-nav,
  .main-navbar .nav-item,
  .main-navbar .dropdown {
    overflow: visible !important;
  }

  .main-navbar .navbar-collapse {
    align-self: stretch;
  }

  .navbar-panel,
  .main-navbar .navbar-nav {
    min-height: 100%;
  }

  .main-navbar .nav-item {
    display: flex;
    align-items: center;
  }

  .main-navbar .nav-item.dropdown {
    position: relative;
  }

  /* Main dropdown */
  .main-navbar .nav-item.dropdown>.dropdown-menu {
    position: absolute !important;

    top: calc(100% + 10px) !important;
    left: 0 !important;
    right: auto !important;

    z-index: 5100 !important;

    display: block !important;

    margin: 0 !important;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translateY(12px) !important;
    transform-origin: top left;

    transition:
      opacity 0.22s ease,
      visibility 0.22s ease,
      transform 0.22s ease;
  }

  /* Hover bridge */
  .main-navbar .nav-item.dropdown>.dropdown-menu::after {
    content: "";

    position: absolute;
    top: -13px;
    left: 0;

    width: 100%;
    height: 13px;
  }

  .main-navbar .nav-item.dropdown:hover>.dropdown-menu,
  .main-navbar .nav-item.dropdown.show>.dropdown-menu,
  .main-navbar .nav-item.dropdown>.dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translateY(0) !important;
  }

  /* =======================================================
     DESKTOP NESTED SUBMENU
  ======================================================== */

  .dropdown-submenu {
    position: relative !important;
  }

  .dropdown-submenu>.submenu-menu {
    position: absolute !important;

    top: -10px !important;
    left: calc(100% + 10px) !important;
    right: auto !important;

    z-index: 5200 !important;

    display: block !important;

    width: 295px;
    min-width: 295px;

    margin: 0 !important;
    padding: 9px;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translateX(12px) !important;

    transition:
      opacity 0.2s ease,
      visibility 0.2s ease,
      transform 0.2s ease;
  }

  .dropdown-submenu>.submenu-menu::before {
    content: "";

    position: absolute;
    top: 25px;
    left: -7px;

    width: 14px;
    height: 14px;

    background: #ffffff;

    border-bottom: 1px solid var(--nav-border);
    border-left: 1px solid var(--nav-border);

    transform: rotate(45deg);
  }

  /* Submenu hover bridge */
  .dropdown-submenu>.submenu-menu::after {
    content: "";

    position: absolute;
    top: 0;
    left: -13px;

    width: 13px;
    height: 100%;
  }

  .dropdown-submenu:hover>.submenu-menu,
  .dropdown-submenu.is-open>.submenu-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translateX(0) !important;
  }

  .dropdown-submenu:hover>.submenu-toggle {
    color: var(--nav-primary);

    background:
      linear-gradient(135deg,
        #fff8f7,
        #ffefed);
  }

  .dropdown-submenu:hover>.submenu-toggle .product-menu-icon {
    color: #ffffff !important;

    background: var(--nav-primary);
  }

  /* Open nested submenu left when needed */
  .dropdown-submenu.open-left>.submenu-menu {
    right: calc(100% + 10px) !important;
    left: auto !important;

    transform: translateX(-12px) !important;
  }

  .dropdown-submenu.open-left:hover>.submenu-menu,
  .dropdown-submenu.open-left.is-open>.submenu-menu {
    transform: translateX(0) !important;
  }

  .dropdown-submenu.open-left>.submenu-menu::before {
    right: -7px;
    left: auto;

    border: 0;
    border-top: 1px solid var(--nav-border);
    border-right: 1px solid var(--nav-border);
  }

  .dropdown-submenu.open-left>.submenu-menu::after {
    right: -13px;
    left: auto;
  }

  .dropdown-submenu.open-left>.submenu-toggle .submenu-arrow {
    transform: rotate(180deg);
  }
}

/* =========================================================
   SMALL LAPTOP
========================================================= */

@media (min-width: 1200px) and (max-width: 1399.98px) {

  .main-navbar {
    min-height: 88px;
  }

  .main-navbar .navbar-brand {
    min-width: 242px;

    gap: 8px;

    margin-right: 11px;
  }

  .brand-logo-wrap {
    flex-basis: 74px;

    width: 74px;
    height: 70px;
  }

  .brand-copy {
    padding-left: 10px;
  }

  .brand-copy strong {
    font-size: 14px;

    letter-spacing: 0.55px;
  }

  .brand-copy small {
    margin-top: 5px;

    font-size: 9px;
  }

  .main-navbar .navbar-nav {
    gap: 4px;
  }

  .main-navbar .navbar-nav>.nav-item>.nav-link {
    min-height: 43px;

    padding: 10px 9px !important;

    font-size: 11px;
  }

  .nav-quote-btn {
    min-width: 148px;
  }

  .quote-btn-icon {
    flex-basis: 34px;

    width: 34px;
    height: 34px;
  }

  .quote-btn-copy small {
    display: none;
  }
}

/* =========================================================
   TABLET AND MOBILE NAVBAR
========================================================= */

@media (max-width: 1199.98px) {

  .main-navbar {
    min-height: 84px;

    padding: 5px 0;
  }

  .main-navbar>.container {
    position: relative;
  }

  .main-navbar .navbar-brand {
    min-width: 0;

    gap: 8px;

    margin-right: 10px;
    padding: 2px 0;
  }

  .brand-logo-wrap {
    flex-basis: 74px;

    width: 74px;
    height: 68px;
  }

  .brand-copy {
    padding-left: 10px;
  }

  .brand-copy strong {
    font-size: 15px;

    letter-spacing: 0.7px;
  }

  .brand-copy small {
    margin-top: 5px;

    font-size: 9px;
  }

  /* Mobile panel */
  .main-navbar .navbar-collapse {
    position: absolute !important;

    top: calc(100% + 1px) !important;
    right: 12px !important;
    left: 12px !important;

    z-index: 5100 !important;

    max-height: calc(100vh - 105px);

    overflow-x: hidden !important;
    overflow-y: auto !important;

    background: rgba(255, 255, 255, 0.99);

    border: 1px solid var(--nav-border);
    border-top: 3px solid var(--nav-primary);
    border-radius: 0 0 18px 18px;

    box-shadow:
      0 25px 50px rgba(30, 19, 20, 0.2);

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  .navbar-panel {
    display: block;

    padding: 15px;
  }

  .main-navbar .navbar-nav {
    display: flex;
    align-items: stretch;

    gap: 6px;
  }

  .main-navbar .nav-item {
    display: block;

    width: 100%;
  }

  .main-navbar .navbar-nav>.nav-item>.nav-link {
    width: 100%;
    min-height: 48px;

    justify-content: space-between;

    padding: 11px 13px !important;

    font-size: 13px;

    transform: none;
  }

  .main-navbar .navbar-nav>.nav-item>.nav-link:hover,
  .main-navbar .navbar-nav>.nav-item.dropdown.show>.nav-link {
    transform: none;
  }

  /* Mobile main dropdown */
  .main-navbar .dropdown-menu {
    position: static !important;

    top: auto !important;
    right: auto !important;
    left: auto !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 6px 0 8px !important;

    transform: none !important;

    background: #fffafa;

    border: 1px solid rgba(189, 23, 32, 0.09);
    border-radius: 12px;

    box-shadow: none;
  }

  .standard-dropdown::before,
  .products-menu::before {
    display: none;
  }

  .main-navbar .nav-item.dropdown>.dropdown-menu:not(.show) {
    display: none;
  }

  .main-navbar .nav-item.dropdown>.dropdown-menu.show {
    display: block;
  }

  /* Mobile nested submenu */
  .dropdown-submenu>.submenu-menu {
    position: static !important;

    display: none !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 5px 7px 8px 43px !important;
    padding: 6px !important;

    background: #ffffff;

    border: 1px solid rgba(189, 23, 32, 0.1);
    border-left: 3px solid var(--nav-primary);
    border-radius: 9px;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: none !important;
  }

  .dropdown-submenu>.submenu-menu::before,
  .dropdown-submenu>.submenu-menu::after {
    display: none;
  }

  .dropdown-submenu.is-open>.submenu-menu {
    display: block !important;

    animation: mobileSubmenuOpen 0.23s ease;
  }

  .dropdown-submenu.is-open>.submenu-toggle .submenu-arrow {
    transform: rotate(90deg);
  }

  .nav-quote-btn {
    width: 100%;
    min-height: 59px;

    margin-top: 13px;
  }
}

@keyframes mobileSubmenuOpen {
  from {
    opacity: 0;

    transform: translateY(-6px);
  }

  to {
    opacity: 1;

    transform: translateY(0);
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

  .main-navbar {
    min-height: 78px;
  }

  .brand-logo-wrap {
    flex-basis: 64px;

    width: 64px;
    height: 60px;
  }

  .brand-copy strong {
    font-size: 13px;

    letter-spacing: 0.45px;
  }

  .brand-copy small {
    font-size: 8px;
  }

  .main-navbar .navbar-collapse {
    max-height: calc(100vh - 88px);
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .main-navbar {
    min-height: 72px;

    padding: 4px 0;
  }

  .main-navbar>.container {
    padding-right: 10px;
    padding-left: 10px;
  }

  .brand-logo-wrap {
    flex-basis: 56px;

    width: 56px;
    height: 53px;
  }

  .brand-copy {
    padding-left: 8px;
  }

  .brand-copy strong {
    font-size: 11px;

    letter-spacing: 0.3px;
  }

  .brand-copy small {
    margin-top: 4px;

    font-size: 7px;
  }

  .mobile-contact-btn {
    flex-basis: 39px;

    width: 39px;
    height: 39px;
  }

  .main-navbar .navbar-toggler {
    flex-basis: 41px;

    width: 41px;
    height: 39px;
  }

  .main-navbar .navbar-collapse {
    right: 6px !important;
    left: 6px !important;

    max-height: calc(100vh - 78px);
  }

  .navbar-panel {
    padding: 11px;
  }

  .standard-dropdown,
  .products-menu {
    padding: 7px;
  }

  .standard-dropdown .dropdown-item {
    min-height: 53px;

    padding: 8px;
  }

  .dropdown-icon {
    flex-basis: 36px;

    width: 36px;
    height: 36px;
  }

  .dropdown-copy strong {
    font-size: 12px;
  }

  .dropdown-copy small {
    font-size: 9px;
  }

  .products-menu .dropdown-item {
    min-height: 46px;

    padding: 8px;

    font-size: 11px;
  }

  .product-menu-icon {
    flex-basis: 29px;

    width: 29px;
    height: 29px;
  }

  .dropdown-submenu>.submenu-menu {
    margin-left: 28px !important;
  }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .brand-logo-wrap {
    flex-basis: 51px;

    width: 51px;
    height: 48px;
  }

  .brand-copy strong {
    font-size: 10px;
  }

  .brand-copy small {
    display: none;
  }

  .mobile-contact-btn {
    display: none;
  }

  .main-navbar .navbar-toggler {
    flex-basis: 40px;

    width: 40px;
  }

  .dropdown-submenu>.submenu-menu {
    margin-left: 18px !important;
  }
}

/* =========================================================
   FINAL MOBILE DROPDOWN FIX
========================================================= */

@media (max-width: 1199.98px) {

  #mainNavbar,
  #mainNavbar>.container,
  #mainNavbar .navbar-panel,
  #mainNavbar .navbar-nav,
  #mainNavbar .nav-item {
    overflow: visible !important;
  }

  /* Main About Us and Products menus */
  #mainNavbar .navbar-nav>.nav-item.dropdown>.dropdown-menu {
    position: static !important;

    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 6px 0 8px !important;
    padding: 7px !important;

    background: #fffafa !important;

    border: 1px solid rgba(189, 23, 32, 0.12) !important;
    border-radius: 12px !important;

    box-shadow: none !important;

    float: none !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: none !important;
  }

  /* Closed main dropdown */
  #mainNavbar .navbar-nav>.nav-item.dropdown>.dropdown-menu:not(.show) {
    display: none !important;
  }

  /* Open main dropdown */
  #mainNavbar .navbar-nav>.nav-item.dropdown>.dropdown-menu.show {
    display: block !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: none !important;

    animation: mobileDropdownReveal 0.22s ease;
  }

  /* Remove desktop dropdown pointers */
  #mainNavbar .standard-dropdown::before,
  #mainNavbar .products-menu::before,
  #mainNavbar .navbar-nav>.nav-item.dropdown>.dropdown-menu::after {
    display: none !important;
  }

  /* Nested Products submenu */
  #mainNavbar .dropdown-submenu>.submenu-menu {
    position: static !important;

    inset: auto !important;

    width: calc(100% - 28px) !important;
    min-width: 0 !important;

    margin: 5px 0 8px 28px !important;
    padding: 6px !important;

    background: #ffffff !important;

    border: 1px solid rgba(189, 23, 32, 0.12) !important;
    border-left: 3px solid #bd1720 !important;
    border-radius: 9px !important;

    box-shadow: none !important;

    float: none !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: none !important;
  }

  #mainNavbar .dropdown-submenu>.submenu-menu:not(.show) {
    display: none !important;
  }

  #mainNavbar .dropdown-submenu.is-open>.submenu-menu,
  #mainNavbar .dropdown-submenu>.submenu-menu.show {
    display: block !important;
  }

  #mainNavbar .dropdown-submenu>.submenu-menu::before,
  #mainNavbar .dropdown-submenu>.submenu-menu::after {
    display: none !important;
  }

  #mainNavbar .dropdown-submenu.is-open>.submenu-toggle .submenu-arrow {
    transform: rotate(90deg) !important;
  }

  @keyframes mobileDropdownReveal {
    from {
      opacity: 0;
      transform: translateY(-6px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}


/* =========================================================
   HERO SECTION
========================================================= */

.hero-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #190705;
}

#heroCarousel {
  position: relative;
  width: 100%;
}

.hero-slide {
  position: relative;
  min-height: 680px;
  overflow: hidden;
  isolation: isolate;
  background-color: #210a07;
  background-image: var(--hero-image);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* Background image zoom */
.hero-slide::before {
  content: "";
  position: absolute;
  z-index: -3;
  inset: 0;
  background-image: var(--hero-image);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transform: scale(1.02);
  transition: transform 7s ease;
}

.carousel-item.active.hero-slide::before {
  transform: scale(1.09);
}

/* Dark cinematic overlay */
.hero-slide::after {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    radial-gradient(circle at center,
      rgba(23, 5, 3, 0.18) 0%,
      rgba(23, 5, 3, 0.48) 55%,
      rgba(13, 2, 1, 0.78) 100%),
    linear-gradient(180deg,
      rgba(8, 2, 1, 0.32) 0%,
      rgba(27, 6, 3, 0.5) 50%,
      rgba(10, 2, 1, 0.82) 100%);
}

.hero-overlay {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(7, 1, 1, 0.18),
      transparent 26%,
      transparent 74%,
      rgba(7, 1, 1, 0.18));
}

/* =========================================================
   HERO CONTAINER
========================================================= */

.hero-container {
  position: relative;
  z-index: 5;
  min-height: 680px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 80px;
  padding-bottom: 115px;
}

/* All content centered */
.hero-content {
  width: min(100%, 940px);
  margin: 0 auto;
  text-align: center;
  color: #ffffff;
}

/* =========================================================
   EYEBROW
========================================================= */

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-bottom: 21px;
  padding: 10px 17px;
  color: #ffe8b1;
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 236, 194, 0.28);
  border-radius: 100px;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 1.25px;
  line-height: 1.3;
  text-transform: uppercase;
}

.hero-eyebrow i {
  color: #e9b75d;
  font-size: 14px;
}

/* =========================================================
   HERO HEADINGS
========================================================= */

.hero-content h1,
.hero-content h2 {
  max-width: 940px;
  margin: 0 auto 22px;
  color: #ffffff;
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 850;
  letter-spacing: -2.6px;
  line-height: 1.03;
  text-wrap: balance;
  text-shadow:
    0 7px 30px rgba(0, 0, 0, 0.42);
}

.hero-content h1 span,
.hero-content h2 span {
  display: block;
  color: #efbf65;
  background: linear-gradient(90deg,
      #ffe0a3,
      #dca344,
      #ffe0a3);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* =========================================================
   DESCRIPTION
========================================================= */

.hero-content>p {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.84);
  font-size: 18px;
  font-weight: 450;
  line-height: 1.75;
  text-wrap: balance;
  text-shadow:
    0 3px 14px rgba(0, 0, 0, 0.5);
}

/* =========================================================
   HERO BUTTONS
========================================================= */

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin-top: 32px;
}

.hero-btn {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 13px 23px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 750;
  line-height: 1;
  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.hero-btn i {
  font-size: 15px;
  transition: transform 0.3s ease;
}

.hero-btn-primary {
  color: #ffffff;
  background:
    linear-gradient(135deg,
      #e32e36,
      #a90e15);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow:
    0 13px 28px rgba(167, 12, 20, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.hero-btn-primary:hover,
.hero-btn-primary:focus {
  color: #ffffff;
  background:
    linear-gradient(135deg,
      #f03a42,
      #b31018);
  box-shadow:
    0 17px 34px rgba(167, 12, 20, 0.44);
  transform: translateY(-3px);
}

.hero-btn-primary:hover i {
  transform: translateX(4px);
}

.hero-btn-outline {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.58);
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.17);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.hero-btn-outline:hover,
.hero-btn-outline:focus {
  color: #22100b;
  background: #ffffff;
  border-color: #ffffff;
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.22);
  transform: translateY(-3px);
}

/* =========================================================
   HERO POINTS
========================================================= */

.hero-points {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 11px 25px;
  margin-top: 27px;
}

.hero-points span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 12px;
  font-weight: 650;
}

.hero-points i {
  color: #eac36f;
  font-size: 13px;
}

/* =========================================================
   SLIDE CONTENT ANIMATION
========================================================= */

.carousel-item .hero-eyebrow,
.carousel-item .hero-content h1,
.carousel-item .hero-content h2,
.carousel-item .hero-content>p,
.carousel-item .hero-actions,
.carousel-item .hero-points {
  opacity: 0;
  transform: translateY(28px);
}

.carousel-item.active .hero-eyebrow {
  animation: heroContentReveal 0.7s ease 0.15s forwards;
}

.carousel-item.active .hero-content h1,
.carousel-item.active .hero-content h2 {
  animation: heroContentReveal 0.75s ease 0.28s forwards;
}

.carousel-item.active .hero-content>p {
  animation: heroContentReveal 0.75s ease 0.4s forwards;
}

.carousel-item.active .hero-actions {
  animation: heroContentReveal 0.75s ease 0.52s forwards;
}

.carousel-item.active .hero-points {
  animation: heroContentReveal 0.75s ease 0.64s forwards;
}

@keyframes heroContentReveal {
  from {
    opacity: 0;
    transform: translateY(28px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================================================
   CAROUSEL CONTROLS
========================================================= */

.hero-control {
  z-index: 15;
  width: auto;
  opacity: 1;
}

.hero-control-prev {
  left: 25px;
}

.hero-control-next {
  right: 25px;
}

.hero-control-icon {
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  box-shadow:
    0 10px 27px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease;
}

.hero-control-icon i {
  font-size: 20px;
}

.hero-control:hover .hero-control-icon {
  color: #ffffff;
  background: #ba171f;
  border-color: #ba171f;
  transform: scale(1.08);
}

/* =========================================================
   INDICATORS
========================================================= */

.hero-indicators {
  z-index: 20;
  bottom: 31px;
  gap: 7px;
  margin-bottom: 0;
}

.hero-indicators [data-bs-target] {
  width: 25px;
  height: 4px;
  margin: 0;
  background-color: rgba(255, 255, 255, 0.48);
  border: 0;
  border-radius: 10px;
  opacity: 1;
  transition:
    width 0.3s ease,
    background-color 0.3s ease;
}

.hero-indicators .active {
  width: 47px;
  background: #e9b75d;
}

/* =========================================================
   TRUST BAR
========================================================= */

.hero-trustbar {
  position: relative;
  z-index: 30;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid rgba(186, 23, 31, 0.1);
  box-shadow:
    0 12px 35px rgba(32, 17, 15, 0.08);
}

.trust-item {
  min-height: 89px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 16px 24px;
  border-right: 1px solid #ece7e5;
  transition:
    background-color 0.3s ease,
    transform 0.3s ease;
}

.trust-item:last-child {
  border-right: 0;
}

.trust-item:hover {
  background: #fff8f7;
}

.trust-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #be1921;
  background: rgba(190, 25, 33, 0.08);
  border-radius: 11px;
  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.trust-item:hover .trust-icon {
  color: #ffffff;
  background: #be1921;
  transform: translateY(-3px);
}

.trust-icon i {
  font-size: 18px;
}

.trust-item>div {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.trust-item strong {
  color: #242424;
  font-size: 13px;
  font-weight: 750;
}

.trust-item>div>span {
  margin-top: 4px;
  color: #777777;
  font-size: 10px;
  font-weight: 500;
}

/* =========================================================
   LARGE TABLETS
========================================================= */

@media (max-width: 1199.98px) {

  .hero-slide,
  .hero-container {
    min-height: 650px;
  }

  .hero-container {
    padding-top: 80px;
    padding-bottom: 110px;
  }

  .hero-content {
    width: min(100%, 820px);
  }

  .hero-content h1,
  .hero-content h2 {
    font-size: clamp(40px, 6vw, 64px);
  }

  .hero-control-prev {
    left: 16px;
  }

  .hero-control-next {
    right: 16px;
  }

  .hero-control-icon {
    width: 46px;
    height: 46px;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

  .hero-slide,
  .hero-container {
    min-height: 610px;
  }

  .hero-container {
    padding-top: 65px;
    padding-bottom: 105px;
  }

  .hero-content {
    width: min(100%, 720px);
  }

  .hero-content h1,
  .hero-content h2 {
    letter-spacing: -1.8px;
  }

  .hero-content>p {
    max-width: 660px;
    font-size: 16px;
  }

  .trust-item {
    min-height: 84px;
  }

  .trust-item:nth-child(2) {
    border-right: 0;
  }

  .trust-item:nth-child(-n + 2) {
    border-bottom: 1px solid #ece7e5;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

  .hero-slide {
    min-height: 610px;
    background-position: center center;
  }

  .hero-slide::before {
    background-position: center center;
  }

  .hero-container {
    min-height: 610px;
    padding-top: 55px;
    padding-right: 42px;
    padding-bottom: 100px;
    padding-left: 42px;
  }

  .hero-content {
    width: 100%;
    text-align: center;
  }

  .hero-eyebrow {
    max-width: 100%;
    margin-bottom: 17px;
    padding: 8px 13px;
    font-size: 9px;
    letter-spacing: 0.85px;
  }

  .hero-content h1,
  .hero-content h2 {
    margin-bottom: 17px;
    font-size: clamp(34px, 10vw, 48px);
    letter-spacing: -1.4px;
    line-height: 1.07;
  }

  .hero-content>p {
    max-width: 540px;
    font-size: 14px;
    line-height: 1.65;
  }

  .hero-actions {
    flex-direction: column;
    width: 100%;
    gap: 10px;
    margin-top: 25px;
  }

  .hero-btn {
    width: min(100%, 310px);
    min-height: 52px;
    padding: 12px 18px;
    font-size: 13px;
  }

  .hero-points {
    gap: 8px 15px;
    margin-top: 22px;
  }

  .hero-points span {
    justify-content: center;
    font-size: 10px;
  }

  .hero-control-prev {
    left: 8px;
  }

  .hero-control-next {
    right: 8px;
  }

  .hero-control-icon {
    width: 36px;
    height: 36px;
  }

  .hero-control-icon i {
    font-size: 15px;
  }

  .hero-indicators {
    bottom: 25px;
  }

  .hero-indicators [data-bs-target] {
    width: 19px;
  }

  .hero-indicators .active {
    width: 36px;
  }

  .trust-item {
    min-height: 82px;
    justify-content: flex-start;
    padding: 13px 12px;
  }

  .trust-icon {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }

  .trust-icon i {
    font-size: 15px;
  }

  .trust-item strong {
    font-size: 11px;
  }

  .trust-item>div>span {
    font-size: 8px;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .hero-slide,
  .hero-container {
    min-height: 590px;
  }

  .hero-container {
    padding-top: 45px;
    padding-right: 30px;
    padding-bottom: 95px;
    padding-left: 30px;
  }

  .hero-content h1,
  .hero-content h2 {
    font-size: clamp(30px, 9.5vw, 40px);
    letter-spacing: -1px;
  }

  .hero-content>p {
    font-size: 13px;
    line-height: 1.6;
  }

  .hero-points {
    gap: 7px 12px;
  }

  .hero-points span {
    font-size: 9px;
  }

  .trust-item {
    gap: 9px;
    padding: 11px 8px;
  }

  .trust-icon {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
    border-radius: 8px;
  }

  .trust-item strong {
    font-size: 10px;
  }

  .trust-item>div>span {
    display: none;
  }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .hero-slide,
  .hero-container {
    min-height: 565px;
  }

  .hero-container {
    padding-right: 27px;
    padding-left: 27px;
  }

  .hero-eyebrow {
    font-size: 8px;
  }

  .hero-content h1,
  .hero-content h2 {
    font-size: 29px;
  }

  .hero-content>p {
    font-size: 12px;
  }

  .hero-btn {
    min-height: 48px;
    font-size: 12px;
  }

  .hero-points span:nth-child(3) {
    display: none;
  }
}

/* =========================================================
   PREMIUM ABOUT SECTION
========================================================= */

.about-premium-section {
  position: relative;
  z-index: 1;
  padding: 110px 0;
  background:
    radial-gradient(circle at 8% 15%,
      rgba(190, 23, 32, 0.07),
      transparent 28%),
    radial-gradient(circle at 94% 88%,
      rgba(224, 170, 82, 0.1),
      transparent 27%),
    linear-gradient(135deg,
      #fffafa 0%,
      #ffffff 48%,
      #fffaf5 100%);
}

.about-premium-section::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 38%;
  height: 100%;
  pointer-events: none;
  background:
    linear-gradient(135deg,
      transparent 0%,
      rgba(190, 23, 32, 0.025) 100%);
  clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%);
}

.about-premium-section .container {
  z-index: 2;
}

/* =========================================================
   BACKGROUND DECORATIONS
========================================================= */

.about-bg-shape {
  position: absolute;
  z-index: -1;
  display: block;
  pointer-events: none;
  border-radius: 50%;
}

.about-bg-shape-one {
  top: 80px;
  left: -170px;
  width: 350px;
  height: 350px;
  border: 55px solid rgba(190, 23, 32, 0.035);
}

.about-bg-shape-two {
  right: -130px;
  bottom: -130px;
  width: 300px;
  height: 300px;
  background: rgba(224, 170, 82, 0.07);
  filter: blur(2px);
}

/* =========================================================
   VISUAL AREA
========================================================= */

.about-premium-visual {
  position: relative;
  min-height: 640px;
  padding: 25px 45px 45px 0;
}

/* Main frame */
.about-image-frame {
  position: relative;
  width: calc(100% - 45px);
  height: 585px;
  margin-left: auto;
  padding: 13px;
  background: #ffffff;
  border: 1px solid rgba(190, 23, 32, 0.1);
  border-radius: 30px;
  box-shadow:
    0 35px 80px rgba(48, 25, 23, 0.15),
    0 10px 25px rgba(48, 25, 23, 0.07);
}

.about-image-frame::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 35px;
  right: -24px;
  bottom: -24px;
  left: 35px;
  background:
    linear-gradient(145deg,
      rgba(190, 23, 32, 0.2),
      rgba(113, 10, 16, 0.05));
  border-radius: 30px;
}

.about-main-image {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #efe9e7;
  border-radius: 21px;
}

.about-main-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition:
    transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1),
    filter 0.5s ease;
}

.about-premium-visual:hover .about-main-image img {
  transform: scale(1.075);
  filter: saturate(1.05) contrast(1.02);
}

.about-image-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg,
      transparent 43%,
      rgba(21, 5, 4, 0.16) 70%,
      rgba(21, 5, 4, 0.72) 100%);
  pointer-events: none;
}

/* Image label */
.about-image-label {
  position: absolute;
  right: 22px;
  bottom: 22px;
  left: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  color: #ffffff;
  background: rgba(24, 7, 6, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.about-label-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background:
    linear-gradient(135deg,
      #e43039,
      #9e0d14);
  border-radius: 11px;
  box-shadow: 0 8px 17px rgba(170, 14, 22, 0.3);
}

.about-label-icon i {
  font-size: 17px;
}

.about-image-label>span:last-child {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.about-image-label small {
  margin-bottom: 3px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: 0.9px;
  text-transform: uppercase;
}

.about-image-label strong {
  font-size: 13px;
  font-weight: 750;
}

/* Decorative corners */
.about-corner {
  position: absolute;
  width: 68px;
  height: 68px;
  pointer-events: none;
}

.about-corner-top {
  top: -10px;
  right: -10px;
  border-top: 4px solid #be1720;
  border-right: 4px solid #be1720;
  border-radius: 0 22px 0 0;
}

.about-corner-bottom {
  bottom: -10px;
  left: -10px;
  border-bottom: 4px solid #be1720;
  border-left: 4px solid #be1720;
  border-radius: 0 0 0 22px;
}

/* =========================================================
   SECONDARY IMAGE
========================================================= */

.about-secondary-image {
  position: absolute;
  z-index: 5;
  left: -10px;
  bottom: 0;
  width: 235px;
  height: 225px;
  overflow: hidden;
  padding: 9px;
  background: #ffffff;
  border: 1px solid rgba(190, 23, 32, 0.12);
  border-radius: 24px;
  box-shadow:
    0 25px 55px rgba(40, 22, 20, 0.2),
    0 8px 20px rgba(40, 22, 20, 0.08);
  transition:
    transform 0.4s ease,
    box-shadow 0.4s ease;
}

.about-secondary-image:hover {
  transform: translateY(-9px) rotate(-1.5deg);
  box-shadow:
    0 34px 65px rgba(40, 22, 20, 0.25),
    0 10px 24px rgba(40, 22, 20, 0.09);
}

.about-secondary-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 16px;
  transition: transform 0.65s ease;
}

.about-secondary-image:hover img {
  transform: scale(1.08);
}

.secondary-image-icon {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background:
    linear-gradient(135deg,
      #e43139,
      #a10e15);
  border: 3px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 7px 18px rgba(166, 13, 21, 0.3);
}

.secondary-image-icon i {
  font-size: 15px;
}

/* =========================================================
   FLOATING CARDS
========================================================= */

.about-capability-card {
  position: absolute;
  z-index: 7;
  top: 72px;
  left: -18px;
  max-width: 260px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 17px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(190, 23, 32, 0.11);
  border-radius: 16px;
  box-shadow:
    0 20px 45px rgba(37, 21, 20, 0.17);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.about-capability-card:hover {
  transform: translateY(-7px);
  box-shadow:
    0 27px 55px rgba(37, 21, 20, 0.22);
}

.capability-icon {
  flex: 0 0 47px;
  width: 47px;
  height: 47px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background:
    linear-gradient(135deg,
      #e43139,
      #9c0d14);
  border-radius: 13px;
  box-shadow:
    0 10px 22px rgba(168, 13, 21, 0.25);
}

.capability-icon i {
  font-size: 19px;
}

.about-capability-card>div {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.about-capability-card small,
.about-certified-card small {
  margin-bottom: 4px;
  color: #8b6b68;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.about-capability-card strong {
  color: #252020;
  font-size: 12px;
  font-weight: 750;
}

.about-certified-card {
  position: absolute;
  z-index: 7;
  top: 295px;
  right: -8px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 15px 12px 10px;
  color: #ffffff;
  background:
    radial-gradient(circle at right top,
      rgba(255, 255, 255, 0.16),
      transparent 40%),
    linear-gradient(135deg,
      #241513,
      #3e1a17);
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 14px;
  box-shadow:
    0 18px 40px rgba(30, 15, 13, 0.24);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.about-certified-card:hover {
  transform: translateX(-7px);
  box-shadow:
    0 24px 48px rgba(30, 15, 13, 0.29);
}

.certified-icon {
  flex: 0 0 39px;
  width: 39px;
  height: 39px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #f4c56c;
  background: rgba(244, 197, 108, 0.12);
  border-radius: 10px;
}

.certified-icon i {
  font-size: 16px;
}

.about-certified-card>span:last-child {
  display: flex;
  flex-direction: column;
}

.about-certified-card small {
  color: rgba(255, 255, 255, 0.58);
}

.about-certified-card strong {
  color: #ffffff;
  font-size: 11px;
  font-weight: 750;
}

/* =========================================================
   DOT PATTERN
========================================================= */

.about-dot-pattern {
  position: absolute;
  z-index: -1;
  top: 7px;
  left: 5px;
  width: 110px;
  display: grid;
  grid-template-columns: repeat(4, 7px);
  gap: 10px;
}

.about-dot-pattern span {
  width: 7px;
  height: 7px;
  display: block;
  background: rgba(190, 23, 32, 0.18);
  border-radius: 50%;
}

/* =========================================================
   CONTENT AREA
========================================================= */

.about-premium-content {
  max-width: 650px;
  margin-left: auto;
}

.about-heading {
  margin-bottom: 29px;
}

.about-heading .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  color: #b6151d;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.45px;
  text-transform: uppercase;
}

.about-heading .section-kicker>span {
  width: 32px;
  height: 2px;
  display: inline-block;
  background:
    linear-gradient(90deg,
      #b6151d,
      #ec454d);
  border-radius: 20px;
}

.about-heading h2 {
  max-width: 620px;
  margin: 0 0 20px;
  color: #241d1c;
  font-size: clamp(38px, 4vw, 59px);
  font-weight: 820;
  letter-spacing: -2px;
  line-height: 1.08;
  text-wrap: balance;
}

.about-heading h2 strong {
  display: block;
  color: #b6151d;
  font-weight: inherit;
}

.about-heading>p {
  max-width: 620px;
  margin: 0;
  color: #6f6461;
  font-size: 15px;
  line-height: 1.8;
}

/* =========================================================
   FEATURE CARDS
========================================================= */

.about-feature-list {
  display: grid;
  gap: 12px;
}

.about-feature-card {
  position: relative;
  display: grid;
  grid-template-columns: 44px 48px 1fr 24px;
  align-items: center;
  gap: 13px;
  overflow: hidden;
  padding: 16px 16px 16px 13px;
  background:
    linear-gradient(135deg,
      #ffffff,
      #fffafa);
  border: 1px solid rgba(190, 23, 32, 0.085);
  border-radius: 16px;
  box-shadow:
    0 8px 24px rgba(44, 25, 23, 0.055);
  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}

.about-feature-card::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background:
    linear-gradient(to bottom,
      #e02d36,
      #930b12);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.35s ease;
}

.about-feature-card:hover {
  border-color: rgba(190, 23, 32, 0.17);
  box-shadow:
    0 17px 38px rgba(44, 25, 23, 0.11);
  transform: translateX(7px);
}

.about-feature-card:hover::before {
  transform: scaleY(1);
}

.about-feature-number {
  color: rgba(190, 23, 32, 0.2);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 1px;
  text-align: center;
}

.about-feature-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #b6151d;
  background: rgba(190, 23, 32, 0.075);
  border: 1px solid rgba(190, 23, 32, 0.08);
  border-radius: 12px;
  transition:
    color 0.35s ease,
    background-color 0.35s ease,
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.about-feature-icon i {
  font-size: 18px;
}

.about-feature-card:hover .about-feature-icon {
  color: #ffffff;
  background:
    linear-gradient(135deg,
      #e3333c,
      #9e0d14);
  box-shadow:
    0 10px 21px rgba(174, 14, 22, 0.23);
  transform: rotate(-5deg) scale(1.05);
}

.about-feature-copy h3 {
  margin: 0 0 5px;
  color: #292120;
  font-size: 14px;
  font-weight: 760;
}

.about-feature-copy p {
  margin: 0;
  color: #776b68;
  font-size: 11px;
  line-height: 1.55;
}

.about-feature-arrow {
  color: #c4aba8;
  font-size: 13px;
  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.about-feature-card:hover .about-feature-arrow {
  color: #b6151d;
  transform: translate(2px, -2px);
}

/* =========================================================
   CAPABILITY STRIP
========================================================= */

.about-capability-strip {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 14px;
  margin-top: 25px;
  padding: 17px 18px;
  background:
    radial-gradient(circle at right top,
      rgba(255, 255, 255, 0.09),
      transparent 32%),
    linear-gradient(135deg,
      #251513,
      #421b18);
  border-radius: 16px;
  box-shadow:
    0 17px 38px rgba(38, 19, 16, 0.16);
}

.capability-strip-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.capability-strip-item>i {
  flex: 0 0 33px;
  width: 33px;
  height: 33px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #f0bf65;
  background: rgba(240, 191, 101, 0.1);
  border-radius: 9px;
}

.capability-strip-item>span {
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.capability-strip-item strong {
  color: #ffffff;
  font-size: 10px;
  font-weight: 720;
}

.capability-strip-item small {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.53);
  font-size: 8px;
}

.capability-strip-divider {
  width: 1px;
  height: 37px;
  background:
    linear-gradient(to bottom,
      transparent,
      rgba(255, 255, 255, 0.17),
      transparent);
}

/* =========================================================
   ACTIONS
========================================================= */

.about-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 28px;
}

.about-primary-btn {
  min-height: 55px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  overflow: hidden;
  padding: 13px 20px;
  color: #ffffff;
  text-decoration: none;
  background:
    radial-gradient(circle at right top,
      rgba(255, 255, 255, 0.18),
      transparent 36%),
    linear-gradient(135deg,
      #e3333c,
      #990c13);
  border: 1px solid rgba(180, 16, 24, 0.25);
  border-radius: 12px;
  box-shadow:
    0 12px 26px rgba(175, 13, 21, 0.25);
  font-size: 12px;
  font-weight: 750;
  transition:
    color 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.about-primary-btn:hover {
  color: #ffffff;
  transform: translateY(-3px);
  box-shadow:
    0 17px 34px rgba(175, 13, 21, 0.33);
}

.about-primary-btn i {
  transition: transform 0.3s ease;
}

.about-primary-btn:hover i {
  transform: translateX(4px);
}

.about-contact-link {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #2e2523;
  text-decoration: none;
}

.about-contact-icon {
  flex: 0 0 45px;
  width: 45px;
  height: 45px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #b6151d;
  background: #ffffff;
  border: 1px solid rgba(190, 23, 32, 0.12);
  border-radius: 12px;
  box-shadow:
    0 8px 20px rgba(45, 26, 23, 0.08);
  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.about-contact-link:hover .about-contact-icon {
  color: #ffffff;
  background: #b6151d;
  transform: rotate(-5deg) translateY(-2px);
}

.about-contact-link>span:last-child {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.about-contact-link small {
  margin-bottom: 3px;
  color: #8a7a77;
  font-size: 9px;
}

.about-contact-link strong {
  color: #302725;
  font-size: 12px;
  font-weight: 740;
  transition: color 0.3s ease;
}

.about-contact-link:hover strong {
  color: #b6151d;
}

/* =========================================================
   LARGE TABLET
========================================================= */

@media (max-width: 1199.98px) {

  .about-premium-section {
    padding: 90px 0;
  }

  .about-premium-visual {
    min-height: 590px;
    padding-right: 35px;
  }

  .about-image-frame {
    width: calc(100% - 35px);
    height: 535px;
  }

  .about-secondary-image {
    width: 205px;
    height: 195px;
  }

  .about-capability-card {
    left: -5px;
  }

  .about-heading h2 {
    font-size: clamp(36px, 4vw, 49px);
  }

  .about-capability-strip {
    gap: 9px;
    padding-right: 12px;
    padding-left: 12px;
  }

  .capability-strip-item {
    gap: 7px;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

  .about-premium-section {
    padding: 80px 0;
  }

  .about-premium-visual {
    width: min(100%, 680px);
    min-height: 660px;
    margin: 0 auto;
    padding-right: 50px;
  }

  .about-image-frame {
    width: calc(100% - 50px);
    height: 600px;
  }

  .about-secondary-image {
    left: 0;
    width: 225px;
    height: 215px;
  }

  .about-capability-card {
    left: 0;
  }

  .about-certified-card {
    right: 3px;
  }

  .about-premium-content {
    max-width: 720px;
    margin: 20px auto 0;
  }

  .about-heading {
    text-align: center;
  }

  .about-heading .section-kicker {
    justify-content: center;
  }

  .about-heading h2,
  .about-heading>p {
    margin-right: auto;
    margin-left: auto;
  }

  .about-actions {
    justify-content: center;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

  .about-premium-section {
    padding: 70px 0;
  }

  .about-premium-visual {
    min-height: 530px;
    padding: 0 18px 55px;
  }

  .about-image-frame {
    width: 100%;
    height: 455px;
    padding: 9px;
    border-radius: 23px;
  }

  .about-image-frame::before {
    top: 22px;
    right: -12px;
    bottom: -12px;
    left: 22px;
    border-radius: 23px;
  }

  .about-main-image {
    border-radius: 16px;
  }

  .about-image-label {
    right: 14px;
    bottom: 14px;
    left: 14px;
  }

  .about-secondary-image {
    bottom: 0;
    left: 0;
    width: 170px;
    height: 160px;
    padding: 7px;
    border-radius: 19px;
  }

  .about-secondary-image img {
    border-radius: 13px;
  }

  .about-capability-card {
    top: 28px;
    left: 0;
    max-width: 220px;
    padding: 11px 13px;
  }

  .capability-icon {
    flex-basis: 39px;
    width: 39px;
    height: 39px;
  }

  .about-capability-card strong {
    font-size: 10px;
  }

  .about-certified-card {
    top: auto;
    right: 0;
    bottom: 76px;
  }

  .about-dot-pattern {
    display: none;
  }

  .about-heading h2 {
    font-size: clamp(34px, 8vw, 45px);
    letter-spacing: -1.4px;
  }

  .about-heading>p {
    font-size: 14px;
  }

  .about-feature-card {
    grid-template-columns: 38px 44px 1fr;
    gap: 10px;
  }

  .about-feature-arrow {
    display: none;
  }

  .about-feature-icon {
    width: 44px;
    height: 44px;
  }

  .about-capability-strip {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
  }

  .capability-strip-divider {
    width: 100%;
    height: 1px;
    background:
      linear-gradient(90deg,
        transparent,
        rgba(255, 255, 255, 0.17),
        transparent);
  }

  .capability-strip-item {
    justify-content: center;
    text-align: left;
  }

  .about-actions {
    flex-direction: column;
  }

  .about-primary-btn {
    width: min(100%, 340px);
  }

  .about-contact-link {
    justify-content: center;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .about-premium-section {
    padding: 60px 0;
  }

  .about-premium-visual {
    min-height: 455px;
    padding-right: 8px;
    padding-left: 8px;
  }

  .about-image-frame {
    height: 385px;
  }

  .about-image-label {
    padding: 10px;
  }

  .about-label-icon {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }

  .about-image-label strong {
    font-size: 11px;
  }

  .about-secondary-image {
    width: 132px;
    height: 126px;
  }

  .secondary-image-icon {
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
  }

  .about-capability-card {
    max-width: 190px;
  }

  .about-capability-card small {
    display: none;
  }

  .about-certified-card {
    bottom: 72px;
    padding: 8px 10px 8px 7px;
  }

  .certified-icon {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }

  .about-certified-card small {
    display: none;
  }

  .about-heading h2 {
    font-size: 34px;
  }

  .about-feature-card {
    grid-template-columns: 35px 40px 1fr;
    padding: 13px 11px;
  }

  .about-feature-icon {
    width: 40px;
    height: 40px;
  }

  .about-feature-copy h3 {
    font-size: 12px;
  }

  .about-feature-copy p {
    font-size: 10px;
  }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .about-premium-visual {
    min-height: 415px;
  }

  .about-image-frame {
    height: 350px;
  }

  .about-image-label {
    right: 9px;
    bottom: 9px;
    left: 9px;
  }

  .about-secondary-image {
    width: 115px;
    height: 110px;
  }

  .about-capability-card {
    top: 18px;
    max-width: 165px;
  }

  .capability-icon {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }

  .about-capability-card strong {
    font-size: 9px;
  }

  .about-certified-card {
    right: -2px;
    bottom: 62px;
  }

  .about-heading h2 {
    font-size: 30px;
  }

  .about-feature-card {
    grid-template-columns: 31px 37px 1fr;
    gap: 8px;
  }

  .about-feature-number {
    font-size: 10px;
  }

  .about-feature-icon {
    width: 37px;
    height: 37px;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .about-premium-section *,
  .about-premium-section *::before,
  .about-premium-section *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   ABOUT CONTENT STAGGER
========================================================= */

.about-premium-content .about-heading,
.about-premium-content .about-feature-card,
.about-premium-content .about-capability-strip,
.about-premium-content .about-actions {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.65s ease,
    transform 0.65s ease;
}

/* Animate children after the parent becomes visible */
.fade-right.is-visible .about-heading,
.fade-right.is-visible .about-feature-card,
.fade-right.is-visible .about-capability-strip,
.fade-right.is-visible .about-actions {
  opacity: 1;
  transform: translateY(0);
}

.fade-right.is-visible .about-heading {
  transition-delay: 0.22s;
}

.fade-right.is-visible .about-feature-card:nth-child(1) {
  transition-delay: 0.34s;
}

.fade-right.is-visible .about-feature-card:nth-child(2) {
  transition-delay: 0.44s;
}

.fade-right.is-visible .about-feature-card:nth-child(3) {
  transition-delay: 0.54s;
}

.fade-right.is-visible .about-capability-strip {
  transition-delay: 0.64s;
}

.fade-right.is-visible .about-actions {
  transition-delay: 0.74s;
}


/* =========================================================
   PREMIUM NUMBERS SECTION
========================================================= */

.numbers-premium-section {
  position: relative;
  z-index: 2;
  padding: 95px 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 25%,
      rgba(190, 23, 32, 0.06),
      transparent 27%),
    radial-gradient(circle at 90% 80%,
      rgba(220, 163, 68, 0.09),
      transparent 28%),
    linear-gradient(135deg,
      #fffafa 0%,
      #ffffff 50%,
      #fff8f3 100%);
}

/* =========================================================
   MAIN PANEL
========================================================= */

.numbers-premium-panel {
  position: relative;
  overflow: hidden;
  padding: 54px 46px 34px;
  background:
    radial-gradient(circle at right top,
      rgba(255, 255, 255, 0.09),
      transparent 31%),
    linear-gradient(135deg,
      #21110f 0%,
      #351612 50%,
      #210d0b 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 30px;
  box-shadow:
    0 35px 80px rgba(43, 21, 18, 0.2),
    0 12px 30px rgba(43, 21, 18, 0.1);
  isolation: isolate;
}

.numbers-premium-panel::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 280px;
  height: 280px;
  background:
    linear-gradient(135deg,
      rgba(229, 49, 58, 0.24),
      transparent 68%);
  clip-path: polygon(38% 0, 100% 0, 100% 100%);
}

.numbers-premium-panel::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background:
    linear-gradient(90deg,
      transparent,
      #dc333b,
      #e6b95f,
      #dc333b,
      transparent);
}

/* =========================================================
   DECORATIVE ELEMENTS
========================================================= */

.numbers-decoration {
  position: absolute;
  z-index: -1;
  display: block;
  pointer-events: none;
  border-radius: 50%;
}

.numbers-decoration-one {
  top: -120px;
  left: -110px;
  width: 290px;
  height: 290px;
  border: 45px solid rgba(255, 255, 255, 0.025);
}

.numbers-decoration-two {
  right: -90px;
  bottom: -110px;
  width: 250px;
  height: 250px;
  background: rgba(201, 33, 42, 0.09);
  filter: blur(2px);
}

/* =========================================================
   SECTION HEADING
========================================================= */

.numbers-heading {
  max-width: 760px;
  margin: 0 auto 38px;
  text-align: center;
}

.numbers-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-bottom: 15px;
  padding: 8px 14px;
  color: #f2c570;
  background: rgba(242, 197, 112, 0.08);
  border: 1px solid rgba(242, 197, 112, 0.14);
  border-radius: 100px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.numbers-kicker i {
  font-size: 12px;
}

.numbers-heading h2 {
  margin: 0 0 14px;
  color: #ffffff;
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 820;
  letter-spacing: -1.7px;
  line-height: 1.08;
  text-wrap: balance;
}

.numbers-heading p {
  max-width: 650px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.62);
  font-size: 14px;
  line-height: 1.75;
  text-wrap: balance;
}

/* =========================================================
   NUMBER GRID
========================================================= */

.numbers-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

/* =========================================================
   NUMBER CARDS
========================================================= */

.number-card {
  position: relative;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  padding: 25px 18px 22px;
  text-align: center;
  background:
    linear-gradient(145deg,
      rgba(255, 255, 255, 0.09),
      rgba(255, 255, 255, 0.035));
  border: 1px solid rgba(255, 255, 255, 0.105);
  border-radius: 20px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 12px 30px rgba(0, 0, 0, 0.11);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition:
    transform 0.38s ease,
    border-color 0.38s ease,
    background 0.38s ease,
    box-shadow 0.38s ease;
}

.number-card::before {
  content: "";
  position: absolute;
  top: -80%;
  left: -55%;
  width: 38%;
  height: 260%;
  background: rgba(255, 255, 255, 0.09);
  transform: rotate(25deg);
  transition: left 0.7s ease;
}

.number-card:hover {
  background:
    linear-gradient(145deg,
      rgba(221, 45, 54, 0.18),
      rgba(255, 255, 255, 0.055));
  border-color: rgba(238, 190, 100, 0.3);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.11),
    0 22px 45px rgba(0, 0, 0, 0.2);
  transform: translateY(-9px);
}

.number-card:hover::before {
  left: 135%;
}

/* Card index */
.number-card-index {
  position: absolute;
  top: 15px;
  right: 17px;
  color: rgba(255, 255, 255, 0.16);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
}

/* =========================================================
   ICON
========================================================= */

.number-card-icon {
  width: 51px;
  height: 51px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 21px;
  color: #f0c169;
  background: rgba(240, 193, 105, 0.1);
  border: 1px solid rgba(240, 193, 105, 0.15);
  border-radius: 14px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transition:
    color 0.35s ease,
    background-color 0.35s ease,
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.number-card-icon i {
  font-size: 19px;
}

.number-card:hover .number-card-icon {
  color: #ffffff;
  background:
    linear-gradient(135deg,
      #e43a43,
      #a80d15);
  border-color: transparent;
  box-shadow:
    0 11px 24px rgba(168, 13, 21, 0.29);
  transform: rotate(-5deg) scale(1.08);
}

/* =========================================================
   NUMBER VALUE
========================================================= */

.number-card-value {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.number-card-value strong {
  display: inline-flex;
  align-items: flex-start;
  color: #ffffff;
  font-size: clamp(46px, 4vw, 62px);
  font-weight: 850;
  letter-spacing: -2.5px;
  line-height: 1;
  text-shadow:
    0 8px 25px rgba(0, 0, 0, 0.18);
}

.number-card-value sup {
  margin-top: 5px;
  margin-left: 3px;
  color: #e9bd69;
  font-size: 17px;
  font-weight: 750;
  letter-spacing: 0;
}

.number-card-value .custom-value {
  align-items: center;
  color: #ffffff;
  font-size: clamp(33px, 3vw, 45px);
  letter-spacing: -1.4px;
}

/* =========================================================
   CARD TEXT
========================================================= */

.number-card-copy {
  margin-top: 15px;
}

.number-card-copy h3 {
  margin: 0 0 7px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 760;
  line-height: 1.35;
}

.number-card-copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 10px;
  line-height: 1.55;
}

/* Bottom accent */
.number-card-line {
  position: absolute;
  right: 20%;
  bottom: 0;
  left: 20%;
  height: 3px;
  background:
    linear-gradient(90deg,
      transparent,
      #df3841,
      #edc16f,
      transparent);
  border-radius: 10px 10px 0 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.4s ease;
}

.number-card:hover .number-card-line {
  transform: scaleX(1);
}

/* =========================================================
   FOOTER BENEFITS
========================================================= */

.numbers-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 28px;
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.numbers-footer-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 11px;
  font-weight: 600;
}

.numbers-footer-item i {
  color: #e9bd69;
  font-size: 12px;
}

/* =========================================================
   LARGE TABLET
========================================================= */

@media (max-width: 1199.98px) {

  .numbers-premium-section {
    padding: 85px 0;
  }

  .numbers-premium-panel {
    padding: 48px 32px 32px;
  }

  .numbers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .number-card {
    min-height: 250px;
  }

  .number-card-value strong {
    font-size: 54px;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 767.98px) {

  .numbers-premium-section {
    padding: 70px 0;
  }

  .numbers-premium-panel {
    padding: 40px 20px 27px;
    border-radius: 23px;
  }

  .numbers-heading {
    margin-bottom: 30px;
  }

  .numbers-heading h2 {
    font-size: clamp(30px, 8vw, 42px);
    letter-spacing: -1.2px;
  }

  .numbers-heading p {
    font-size: 13px;
  }

  .numbers-grid {
    gap: 12px;
  }

  .number-card {
    min-height: 235px;
    padding: 22px 13px 18px;
    border-radius: 16px;
  }

  .number-card-icon {
    width: 45px;
    height: 45px;
    margin-bottom: 17px;
  }

  .number-card-icon i {
    font-size: 17px;
  }

  .number-card-value {
    min-height: 60px;
  }

  .number-card-value strong {
    font-size: 46px;
    letter-spacing: -2px;
  }

  .number-card-value .custom-value {
    font-size: 32px;
  }

  .number-card-copy h3 {
    font-size: 12px;
  }

  .number-card-copy p {
    font-size: 9px;
  }

  .numbers-footer {
    gap: 10px 18px;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .numbers-premium-section {
    padding: 60px 0;
  }

  .numbers-premium-section .container {
    padding-right: 12px;
    padding-left: 12px;
  }

  .numbers-premium-panel {
    padding: 35px 13px 24px;
    border-radius: 20px;
  }

  .numbers-kicker {
    padding: 7px 11px;
    font-size: 8px;
  }

  .numbers-heading h2 {
    font-size: 30px;
  }

  .numbers-heading p {
    font-size: 12px;
    line-height: 1.65;
  }

  .numbers-grid {
    grid-template-columns: 1fr;
  }

  .number-card {
    min-height: auto;
    display: grid;
    grid-template-columns: 48px 95px 1fr;
    align-items: center;
    gap: 12px;
    padding: 17px 15px;
    text-align: left;
  }

  .number-card-index {
    top: 10px;
    right: 12px;
  }

  .number-card-icon {
    width: 44px;
    height: 44px;
    margin: 0;
  }

  .number-card-value {
    min-height: auto;
    justify-content: flex-start;
  }

  .number-card-value strong {
    font-size: 38px;
    letter-spacing: -1.5px;
  }

  .number-card-value sup {
    font-size: 13px;
  }

  .number-card-value .custom-value {
    font-size: 26px;
  }

  .number-card-copy {
    margin: 0;
  }

  .number-card-copy h3 {
    margin-bottom: 4px;
    font-size: 11px;
  }

  .number-card-copy p {
    font-size: 8px;
  }

  .number-card-line {
    top: 20%;
    right: auto;
    bottom: 20%;
    left: 0;
    width: 3px;
    height: auto;
    transform: scaleY(0);
  }

  .number-card:hover .number-card-line {
    transform: scaleY(1);
  }

  .numbers-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    padding-left: 7px;
  }

  .numbers-footer-item {
    font-size: 10px;
  }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .numbers-premium-panel {
    padding-right: 10px;
    padding-left: 10px;
  }

  .numbers-heading h2 {
    font-size: 27px;
  }

  .number-card {
    grid-template-columns: 42px 80px 1fr;
    gap: 9px;
    padding: 14px 11px;
  }

  .number-card-icon {
    width: 39px;
    height: 39px;
  }

  .number-card-value strong {
    font-size: 32px;
  }

  .number-card-value .custom-value {
    font-size: 22px;
  }

  .number-card-copy h3 {
    font-size: 10px;
  }

  .number-card-copy p {
    display: none;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .numbers-premium-section *,
  .numbers-premium-section *::before,
  .numbers-premium-section *::after {
    animation: none !important;
    transition: none !important;
  }

  .number-card:hover {
    transform: none;
  }
}


/* =========================================================
   CLEAN PRODUCT SLIDER
========================================================= */

.clean-products-section {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
  background:
    linear-gradient(180deg,
      #ffffff 0%,
      #fff9f8 100%);
}

.clean-products-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 38px;
}

.clean-products-header h2 {
  margin: 0;
  color: #241d1c;
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 800;
  letter-spacing: -1.8px;
  line-height: 1.1;
}

/* =========================================================
   NAVIGATION BUTTONS
========================================================= */

.clean-slider-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.clean-slider-btn {
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #b81720;
  background: #ffffff;
  border: 1px solid rgba(184, 23, 32, 0.14);
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(45, 27, 25, 0.09);
  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.clean-slider-btn:hover {
  color: #ffffff;
  background: #b81720;
  border-color: #b81720;
  box-shadow: 0 12px 27px rgba(184, 23, 32, 0.25);
  transform: translateY(-3px);
}

.clean-slider-btn:disabled {
  color: #b9aeac;
  background: #f2eeee;
  border-color: transparent;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}

/* =========================================================
   SLIDER
========================================================= */

.clean-product-slider {
  width: 100%;
  overflow: hidden;
}

.clean-product-track {
  --product-gap: 22px;
  --product-width: calc((100% - (var(--product-gap) * 3)) / 4);

  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: var(--product-width);
  gap: var(--product-gap);

  overflow-x: auto;
  overflow-y: hidden;

  padding: 8px 5px 28px;

  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;

  scrollbar-width: none;
  -ms-overflow-style: none;
}

.clean-product-track::-webkit-scrollbar {
  display: none;
}

.clean-product-slide {
  min-width: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

/* =========================================================
   PRODUCT CARD
========================================================= */

.clean-product-card {
  position: relative;
  display: block;
  height: 100%;
  overflow: hidden;
  color: #27201e;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid rgba(184, 23, 32, 0.09);
  border-radius: 20px;
  box-shadow:
    0 12px 34px rgba(47, 28, 25, 0.09);
  transition:
    color 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;
}

.clean-product-card:hover {
  color: #b81720;
  border-color: rgba(184, 23, 32, 0.2);
  box-shadow:
    0 24px 52px rgba(47, 28, 25, 0.16);
  transform: translateY(-9px);
}

.clean-product-image {
  position: relative;
  height: 275px;
  overflow: hidden;
  background: #f2eeee;
}

.clean-product-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg,
      transparent 60%,
      rgba(31, 11, 9, 0.14) 100%);
  pointer-events: none;
}

.clean-product-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.5s ease;
}

.clean-product-card:hover .clean-product-image img {
  transform: scale(1.08);
  filter: saturate(1.05);
}

.clean-product-card h3 {
  min-height: 77px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 18px 17px;
  color: inherit;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.35;
  text-align: center;
}

/* Bottom hover line */
.clean-product-card::after {
  content: "";
  position: absolute;
  right: 25%;
  bottom: 0;
  left: 25%;
  height: 3px;
  background:
    linear-gradient(90deg,
      transparent,
      #b81720,
      transparent);
  transform: scaleX(0);
  transition: transform 0.35s ease;
}

.clean-product-card:hover::after {
  transform: scaleX(1);
}

/* =========================================================
   DOTS
========================================================= */

.clean-slider-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 6px;
}

.clean-slider-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  background: #dfd3d1;
  border: 0;
  border-radius: 50%;
  transition:
    width 0.3s ease,
    background-color 0.3s ease;
}

.clean-slider-dot.is-active {
  width: 26px;
  background: #b81720;
  border-radius: 20px;
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {
  .clean-products-section {
    padding: 85px 0;
  }

  .clean-product-track {
    --product-width: calc((100% - (var(--product-gap) * 2)) / 3);
  }

  .clean-product-image {
    height: 255px;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {
  .clean-products-section {
    padding: 75px 0;
  }

  .clean-product-track {
    --product-width: calc((100% - var(--product-gap)) / 2);
  }

  .clean-product-image {
    height: 270px;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {
  .clean-products-section {
    padding: 65px 0;
  }

  .clean-products-header {
    flex-direction: column;
    justify-content: center;
    margin-bottom: 28px;
    text-align: center;
  }

  .clean-products-header h2 {
    font-size: 38px;
  }

  .clean-slider-btn {
    width: 45px;
    height: 45px;
  }

  .clean-product-track {
    --product-gap: 15px;
    --product-width: 86%;

    padding-right: 7%;
    padding-left: 7%;
  }

  .clean-product-image {
    height: 270px;
  }

  .clean-product-card h3 {
    min-height: 70px;
    font-size: 15px;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {
  .clean-products-section {
    padding: 55px 0;
  }

  .clean-products-header h2 {
    font-size: 33px;
  }

  .clean-product-track {
    --product-width: 91%;

    padding-right: 4.5%;
    padding-left: 4.5%;
  }

  .clean-product-image {
    height: 245px;
  }

  .clean-product-card {
    border-radius: 17px;
  }

  .clean-product-card h3 {
    min-height: 66px;
    padding: 15px;
    font-size: 14px;
  }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {
  .clean-products-header h2 {
    font-size: 29px;
  }

  .clean-product-track {
    --product-width: 94%;

    padding-right: 3%;
    padding-left: 3%;
  }

  .clean-product-image {
    height: 220px;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .clean-product-track {
    scroll-behavior: auto;
  }

  .clean-product-card,
  .clean-product-image img,
  .clean-slider-btn {
    transition: none;
  }

  .clean-product-card:hover {
    transform: none;
  }
}

/* =========================================================
   MISSION, VISION AND VALUES
========================================================= */

.mv-section {
  position: relative;
  z-index: 1;

  padding: 95px 0 95px 0;

  overflow: hidden;

  color: #ffffff;

  background-color: #25130d;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;

  isolation: isolate;
}

/* Dark overlay */
.mv-overlay {
  position: absolute;
  z-index: -2;
  inset: 0;
  background: linear-gradient(90deg, rgb(193 189 188) 0%, rgba(29, 11, 6, 0.84) 48%, rgba(22, 8, 4, 0.76) 100%), linear-gradient(180deg, rgba(13, 4, 2, 0.38), rgba(13, 4, 2, 0.82));
}

.mv-section::before {
  content: "";

  position: absolute;
  z-index: -1;

  top: -140px;
  left: -120px;

  width: 310px;
  height: 310px;

  border: 45px solid rgba(255, 255, 255, 0.025);
  border-radius: 50%;
}

.mv-section::after {
  content: "";

  position: absolute;
  z-index: -1;

  right: -110px;
  bottom: -140px;

  width: 290px;
  height: 290px;

  background: rgba(191, 22, 31, 0.1);

  border-radius: 50%;

  filter: blur(5px);
}

/* =========================================================
   HEADING
========================================================= */

.mv-heading {
  max-width: 720px;

  margin: 0 auto 42px;

  text-align: center;
}

.mv-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 8px;

  margin-bottom: 14px;
  padding: 7px 13px;

  color: #e9bd69;

  background: rgba(255, 255, 255, 0.07);

  border: 1px solid rgba(233, 189, 105, 0.22);
  border-radius: 50px;

  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  font-size: 9px;
  font-weight: 750;

  letter-spacing: 1px;

  text-transform: uppercase;
}

.mv-kicker i {
  font-size: 11px;
}

.mv-heading h2 {
  max-width: 700px;

  margin: 0 auto 14px;

  color: #ffffff;

  font-size: clamp(30px, 4vw, 45px);
  font-weight: 780;

  letter-spacing: -1.4px;
  line-height: 1.12;

  text-wrap: balance;

  text-shadow:
    0 8px 26px rgba(0, 0, 0, 0.3);
}

.mv-heading h2 span {
  display: block;

  color: #e9b95e;

  font-weight: inherit;
}

.mv-heading p {
  max-width: 610px;

  margin: 0 auto;

  color: rgba(255, 255, 255, 0.67);

  font-size: 13px;
  line-height: 1.7;
}

/* =========================================================
   MISSION AND VISION GRID
========================================================= */

.mv-main-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 20px;

  max-width: 980px;

  margin: 0 auto;
}

/* =========================================================
   MAIN CARDS
========================================================= */

.mv-main-card {
  position: relative;

  min-height: 250px;

  overflow: hidden;

  padding: 27px;

  background:
    linear-gradient(145deg,
      rgba(255, 255, 255, 0.12),
      rgba(255, 255, 255, 0.045));

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 19px;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    0 19px 45px rgba(0, 0, 0, 0.18);

  backdrop-filter: blur(13px);
  -webkit-backdrop-filter: blur(13px);

  transition:
    transform 0.35s ease,
    background 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}

.mv-main-card::before {
  content: "";

  position: absolute;

  top: -100%;
  left: -50%;

  width: 30%;
  height: 300%;

  background: rgba(255, 255, 255, 0.07);

  transform: rotate(24deg);

  transition: left 0.7s ease;
}

.mv-main-card:hover {
  background:
    linear-gradient(145deg,
      rgba(190, 23, 32, 0.28),
      rgba(255, 255, 255, 0.065));

  border-color: rgba(235, 189, 102, 0.33);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 27px 58px rgba(0, 0, 0, 0.28);

  transform: translateY(-7px);
}

.mv-main-card:hover::before {
  left: 130%;
}

/* Card top */
.mv-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;

  margin-bottom: 20px;
}

/* Icon */
.mv-main-icon {
  width: 52px;
  height: 52px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #eabe68;

  background: rgba(234, 190, 104, 0.1);

  border: 1px solid rgba(234, 190, 104, 0.16);
  border-radius: 13px;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.mv-main-icon i {
  font-size: 19px;
}

.mv-main-card:hover .mv-main-icon {
  color: #ffffff;

  background:
    linear-gradient(135deg,
      #df343d,
      #980b12);

  box-shadow:
    0 10px 23px rgba(151, 10, 17, 0.3);

  transform: rotate(-5deg) scale(1.05);
}

/* Number */
.mv-card-number {
  color: rgba(255, 255, 255, 0.14);

  font-size: 25px;
  font-weight: 800;
}

/* Label */
.mv-card-label {
  display: block;

  margin-bottom: 7px;

  color: #e8b85f;

  font-size: 8px;
  font-weight: 750;

  letter-spacing: 1.15px;

  text-transform: uppercase;
}

/* Card title */
.mv-main-card h3 {
  margin: 0 0 11px;

  color: #ffffff;

  font-size: 22px;
  font-weight: 750;

  letter-spacing: -0.4px;
}

/* Card text */
.mv-main-card p {
  max-width: 390px;

  margin: 0;

  color: rgba(255, 255, 255, 0.64);

  font-size: 11px;
  line-height: 1.7;
}

/* Bottom accent */
.mv-card-line {
  position: absolute;

  right: 22%;
  bottom: 0;
  left: 22%;

  height: 3px;

  background:
    linear-gradient(90deg,
      transparent,
      #db343d,
      #e8b85f,
      transparent);

  border-radius: 10px 10px 0 0;

  transform: scaleX(0);

  transition: transform 0.35s ease;
}

.mv-main-card:hover .mv-card-line {
  transform: scaleX(1);
}

/* =========================================================
   VALUES SECTION
========================================================= */

.mv-values-section {
  max-width: 1100px;

  margin: 50px auto 0;
  padding-top: 30px;

  border-top: 1px solid rgba(255, 255, 255, 0.11);
}

.mv-values-heading {
  margin-bottom: 20px;

  text-align: center;
}

.mv-values-heading span {
  display: block;

  margin-bottom: 5px;

  color: #e8b85f;

  font-size: 8px;
  font-weight: 750;

  letter-spacing: 1.1px;

  text-transform: uppercase;
}

.mv-values-heading h3 {
  margin: 0;

  color: #ffffff;

  font-size: 23px;
  font-weight: 730;

  letter-spacing: -0.4px;
}

/* =========================================================
   VALUE CARDS
========================================================= */

.mv-values-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 12px;
}

.mv-value-card {
  position: relative;

  min-height: 115px;

  display: flex;
  align-items: center;

  gap: 11px;

  overflow: hidden;

  padding: 15px;

  background: rgba(255, 255, 255, 0.075);

  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 14px;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 11px 26px rgba(0, 0, 0, 0.13);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  transition:
    background-color 0.32s ease,
    border-color 0.32s ease,
    box-shadow 0.32s ease,
    transform 0.32s ease;
}

.mv-value-card:hover {
  background: rgba(175, 18, 27, 0.45);

  border-color: rgba(234, 188, 100, 0.32);

  box-shadow:
    0 18px 37px rgba(0, 0, 0, 0.21);

  transform: translateY(-5px);
}

/* Value icon */
.mv-value-icon {
  flex: 0 0 39px;

  width: 39px;
  height: 39px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #e8b85f;

  background: rgba(232, 184, 95, 0.1);

  border: 1px solid rgba(232, 184, 95, 0.14);
  border-radius: 10px;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.mv-value-icon i {
  font-size: 15px;
}

.mv-value-card:hover .mv-value-icon {
  color: #ffffff;

  background: #b81720;

  box-shadow:
    0 8px 19px rgba(151, 10, 17, 0.3);

  transform: rotate(-5deg);
}

/* Value text */
.mv-value-content {
  min-width: 0;

  padding-right: 12px;
}

.mv-value-content strong {
  display: block;

  margin-bottom: 4px;

  color: #ffffff;

  font-size: 11px;
  font-weight: 720;
}

.mv-value-content p {
  margin: 0;

  color: rgba(255, 255, 255, 0.52);

  font-size: 8px;
  line-height: 1.5;

  transition: color 0.3s ease;
}

.mv-value-card:hover .mv-value-content p {
  color: rgba(255, 255, 255, 0.72);
}

/* Arrow */
.mv-value-arrow {
  position: absolute;

  top: 12px;
  right: 12px;

  color: rgba(255, 255, 255, 0.2);

  font-size: 9px;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.mv-value-card:hover .mv-value-arrow {
  color: #e8b85f;

  transform: translate(2px, -2px);
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {
  .mv-section {
    padding: 85px 0;
  }

  .mv-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {
  .mv-section {
    padding: 75px 0;

    background-attachment: scroll;
  }

  .mv-main-grid {
    grid-template-columns: 1fr;

    max-width: 680px;
  }

  .mv-main-card {
    min-height: auto;
  }

  .mv-main-card p {
    max-width: none;
  }

  .mv-values-section {
    max-width: 680px;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {
  .mv-section {
    padding: 65px 0;

    background-position: 65% center;
  }

  .mv-overlay {
    background:
      linear-gradient(180deg,
        rgba(15, 5, 3, 0.92),
        rgba(27, 10, 5, 0.84),
        rgba(14, 4, 2, 0.94));
  }

  .mv-heading {
    margin-bottom: 30px;
  }

  .mv-heading h2 {
    font-size: 32px;
  }

  .mv-heading p {
    font-size: 12px;
  }

  .mv-main-grid {
    gap: 13px;
  }

  .mv-main-card {
    padding: 22px;

    border-radius: 16px;
  }

  .mv-card-top {
    margin-bottom: 16px;
  }

  .mv-main-icon {
    width: 47px;
    height: 47px;
  }

  .mv-main-icon i {
    font-size: 17px;
  }

  .mv-main-card h3 {
    font-size: 20px;
  }

  .mv-main-card p {
    font-size: 10px;
  }

  .mv-values-section {
    margin-top: 38px;
    padding-top: 25px;
  }

  .mv-values-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .mv-value-card {
    min-height: auto;

    padding: 13px;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {
  .mv-section {
    padding: 55px 0;
  }

  .mv-section .container {
    padding-right: 14px;
    padding-left: 14px;
  }

  .mv-heading h2 {
    font-size: 28px;
  }

  .mv-kicker {
    font-size: 8px;
  }

  .mv-main-card {
    padding: 19px;
  }

  .mv-main-card h3 {
    font-size: 18px;
  }

  .mv-values-heading h3 {
    font-size: 20px;
  }
}

/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none),
(pointer: coarse) {
  .mv-section {
    background-attachment: scroll;
  }

  .mv-main-card:hover,
  .mv-value-card:hover {
    transform: none;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .mv-section *,
  .mv-section *::before,
  .mv-section *::after {
    animation: none !important;
    transition: none !important;
  }

  .mv-main-card:hover,
  .mv-value-card:hover {
    transform: none;
  }
}

/* =========================================================
   MISSION HEADING VISIBILITY FIX
========================================================= */

.fade-left {
  opacity: 0;
  transform: translate3d(-50px, 0, 0);

  transition:
    opacity 0.85s ease,
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

.fade-left.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Ensure heading remains visible after animation */
.mv-heading.fade-left.is-visible,
.mv-heading.reveal-up.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none;
}

/* Heading text */
.mv-heading,
.mv-heading h2,
.mv-heading h2 span,
.mv-heading p,
.mv-heading .mv-kicker,
.mv-heading .mv-kicker i {
  opacity: 1;
  visibility: visible;
}

.mv-heading h2,
.mv-heading h2 span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.mv-heading h2 span {
  background: none !important;
  background-clip: initial !important;
  -webkit-background-clip: initial !important;
}

.mv-heading p {
  color: rgba(255, 255, 255, 0.82) !important;
}

.mv-heading .mv-kicker,
.mv-heading .mv-kicker i {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* =========================================================
   WHY CHOOSE US SECTION
========================================================= */

.why-premium-section {
  position: relative;
  z-index: 1;

  padding: 105px 0;

  overflow: hidden;

  background:
    radial-gradient(circle at 8% 18%,
      rgba(187, 22, 31, 0.07),
      transparent 27%),
    radial-gradient(circle at 92% 86%,
      rgba(220, 166, 72, 0.1),
      transparent 26%),
    linear-gradient(135deg,
      #fffafa 0%,
      #ffffff 50%,
      #fff8f3 100%);

  isolation: isolate;
}

.why-premium-section::before {
  content: "";

  position: absolute;
  z-index: -1;

  top: 0;
  right: 0;

  width: 42%;
  height: 100%;

  background:
    linear-gradient(135deg,
      transparent,
      rgba(187, 22, 31, 0.025));

  clip-path: polygon(30% 0,
      100% 0,
      100% 100%,
      0 100%);

  pointer-events: none;
}

/* =========================================================
   BACKGROUND SHAPES
========================================================= */

.why-bg-shape {
  position: absolute;
  z-index: -1;

  display: block;

  pointer-events: none;

  border-radius: 50%;
}

.why-bg-shape-one {
  top: 70px;
  left: -160px;

  width: 330px;
  height: 330px;

  border: 52px solid rgba(187, 22, 31, 0.035);
}

.why-bg-shape-two {
  right: -100px;
  bottom: -130px;

  width: 280px;
  height: 280px;

  background: rgba(222, 171, 76, 0.07);

  filter: blur(3px);
}

/* =========================================================
   FEATURE GRID
========================================================= */

.why-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 17px;
}

/* =========================================================
   FEATURE CARD
========================================================= */

.why-feature-card {
  position: relative;

  min-height: 245px;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  overflow: hidden;

  padding: 26px 23px 24px;

  background:
    linear-gradient(145deg,
      #ffffff,
      #fffafa);

  border: 1px solid rgba(187, 22, 31, 0.09);
  border-radius: 20px;

  box-shadow:
    0 14px 38px rgba(48, 28, 25, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);

  transition:
    transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.35s ease,
    background 0.35s ease,
    box-shadow 0.38s ease;
}

.why-feature-card::before {
  content: "";

  position: absolute;

  top: -110%;
  left: -55%;

  width: 34%;
  height: 320%;

  background: rgba(255, 255, 255, 0.65);

  transform: rotate(25deg);

  transition: left 0.75s ease;
}

.why-feature-card:hover {
  background:
    linear-gradient(145deg,
      #ffffff,
      #fff1ef);

  border-color: rgba(187, 22, 31, 0.2);

  box-shadow:
    0 25px 55px rgba(48, 28, 25, 0.15);

  transform: translateY(-9px);
}

.why-feature-card:hover::before {
  left: 135%;
}

/* Card number */
.why-card-number {
  position: absolute;

  top: 18px;
  right: 19px;

  color: rgba(187, 22, 31, 0.12);

  font-size: 23px;
  font-weight: 850;

  letter-spacing: -0.5px;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.why-feature-card:hover .why-card-number {
  color: rgba(187, 22, 31, 0.22);

  transform: translateY(-2px);
}

/* =========================================================
   FEATURE ICON
========================================================= */

.why-feature-icon {
  position: relative;
  z-index: 2;

  width: 54px;
  height: 54px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 22px;

  color: #b81720;

  background: rgba(184, 23, 32, 0.075);

  border: 1px solid rgba(184, 23, 32, 0.1);
  border-radius: 14px;

  transition:
    color 0.35s ease,
    background 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;
}

.why-feature-icon i {
  font-size: 20px;
}

.why-feature-card:hover .why-feature-icon {
  color: #ffffff;

  background:
    linear-gradient(135deg,
      #e3333c,
      #970b12);

  border-color: transparent;

  box-shadow:
    0 12px 25px rgba(167, 12, 20, 0.25);

  transform: rotate(-6deg) scale(1.06);
}

/* =========================================================
   FEATURE CONTENT
========================================================= */

.why-feature-content {
  position: relative;
  z-index: 2;
}

.why-feature-content h3 {
  margin: 0 0 10px;

  color: #2a211f;

  font-size: 16px;
  font-weight: 760;

  letter-spacing: -0.25px;
  line-height: 1.3;

  transition: color 0.3s ease;
}

.why-feature-card:hover .why-feature-content h3 {
  color: #b81720;
}

.why-feature-content p {
  margin: 0;

  color: #756966;

  font-size: 11px;
  line-height: 1.7;
}

/* Arrow */
.why-feature-arrow {
  position: absolute;

  right: 19px;
  bottom: 19px;

  color: rgba(187, 22, 31, 0.25);

  font-size: 12px;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.why-feature-card:hover .why-feature-arrow {
  color: #b81720;

  transform: translate(3px, -3px);
}

/* Bottom accent */
.why-card-accent {
  position: absolute;

  right: 24%;
  bottom: 0;
  left: 24%;

  height: 3px;

  background:
    linear-gradient(90deg,
      transparent,
      #b81720,
      #e3ad4c,
      transparent);

  border-radius: 10px 10px 0 0;

  transform: scaleX(0);

  transition: transform 0.38s ease;
}

.why-feature-card:hover .why-card-accent {
  transform: scaleX(1);
}

/* =========================================================
   CONTENT PANEL
========================================================= */

.why-content-panel {
  position: relative;

  overflow: hidden;

  padding: 40px 36px;

  background:
    radial-gradient(circle at right top,
      rgba(255, 255, 255, 0.1),
      transparent 35%),
    linear-gradient(145deg,
      #241310,
      #421b17);

  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 25px;

  box-shadow:
    0 27px 65px rgba(44, 21, 18, 0.2);

  isolation: isolate;
}

.why-content-panel::before {
  content: "";

  position: absolute;
  z-index: -1;

  top: -100px;
  right: -80px;

  width: 220px;
  height: 220px;

  background: rgba(188, 23, 32, 0.22);

  border-radius: 50%;

  filter: blur(2px);
}

.why-content-panel::after {
  content: "";

  position: absolute;
  z-index: -1;

  right: 0;
  bottom: 0;
  left: 0;

  height: 3px;

  background:
    linear-gradient(90deg,
      transparent,
      #d92e37,
      #e8b55a,
      #d92e37,
      transparent);
}

/* =========================================================
   CONTENT HEADING
========================================================= */

.why-kicker {
  display: inline-flex;
  align-items: center;

  gap: 8px;

  margin-bottom: 17px;
  padding: 8px 13px;

  color: #efc16c;

  background: rgba(239, 193, 108, 0.09);

  border: 1px solid rgba(239, 193, 108, 0.17);
  border-radius: 100px;

  font-size: 9px;
  font-weight: 780;

  letter-spacing: 1.1px;

  text-transform: uppercase;
}

.why-kicker i {
  font-size: 11px;
}

.why-content-panel h2 {
  margin: 0 0 17px;

  color: #ffffff;

  font-size: clamp(32px, 3.5vw, 47px);
  font-weight: 790;

  letter-spacing: -1.6px;
  line-height: 1.08;

  text-wrap: balance;
}

.why-content-panel h2 span {
  display: block;

  color: #edbd63;

  font-weight: inherit;
}

.why-description {
  margin: 0;

  color: rgba(255, 255, 255, 0.67);

  font-size: 12px;
  line-height: 1.75;
}

/* =========================================================
   CHECK LIST
========================================================= */

.why-check-list {
  display: grid;

  gap: 9px;

  margin-top: 25px;
}

.why-check-item {
  display: flex;
  align-items: center;

  gap: 10px;

  padding: 11px 12px;

  color: rgba(255, 255, 255, 0.79);

  background: rgba(255, 255, 255, 0.055);

  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 11px;

  font-size: 10px;
  font-weight: 600;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease;
}

.why-check-item:hover {
  color: #ffffff;

  background: rgba(185, 23, 32, 0.25);

  border-color: rgba(237, 189, 99, 0.2);

  transform: translateX(5px);
}

.why-check-icon {
  flex: 0 0 29px;

  width: 29px;
  height: 29px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #efc16c;

  background: rgba(239, 193, 108, 0.09);

  border-radius: 8px;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.why-check-item:hover .why-check-icon {
  color: #ffffff;

  background: #b81720;

  transform: rotate(-4deg);
}

/* =========================================================
   SUPPORT STRIP
========================================================= */

.why-support-strip {
  display: flex;
  align-items: center;

  gap: 11px;

  margin-top: 21px;
  padding: 13px;

  background: rgba(255, 255, 255, 0.075);

  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
}

.why-support-icon {
  flex: 0 0 41px;

  width: 41px;
  height: 41px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background:
    linear-gradient(135deg,
      #df343d,
      #960a12);

  border-radius: 11px;

  box-shadow:
    0 9px 20px rgba(152, 10, 18, 0.27);
}

.why-support-icon i {
  font-size: 16px;
}

.why-support-strip>div {
  min-width: 0;

  display: flex;
  flex-direction: column;

  line-height: 1.3;
}

.why-support-strip small {
  margin-bottom: 3px;

  color: rgba(255, 255, 255, 0.52);

  font-size: 8px;
}

.why-support-strip strong {
  color: #ffffff;

  font-size: 11px;
  font-weight: 700;
}

/* =========================================================
   CTA BUTTON
========================================================= */

.why-cta-btn {
  min-height: 52px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 14px;

  margin-top: 20px;
  padding: 12px 17px;

  overflow: hidden;

  color: #ffffff;

  text-decoration: none;

  background:
    radial-gradient(circle at right top,
      rgba(255, 255, 255, 0.17),
      transparent 38%),
    linear-gradient(135deg,
      #df343d,
      #930a11);

  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 12px;

  box-shadow:
    0 12px 27px rgba(155, 10, 18, 0.27);

  font-size: 11px;
  font-weight: 740;

  transition:
    color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.why-cta-btn:hover {
  color: #ffffff;

  box-shadow:
    0 17px 35px rgba(155, 10, 18, 0.36);

  transform: translateY(-3px);
}

.why-cta-btn i {
  transition: transform 0.3s ease;
}

.why-cta-btn:hover i {
  transform: translateX(5px);
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

  .why-premium-section {
    padding: 90px 0;
  }

  .why-feature-card {
    min-height: 255px;
  }

  .why-content-panel {
    padding: 34px 29px;
  }

  .why-content-panel h2 {
    font-size: 38px;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

  .why-premium-section {
    padding: 78px 0;
  }

  .why-content-panel {
    max-width: 720px;

    margin: 0 auto 20px;
  }

  .why-feature-grid {
    max-width: 720px;

    margin: 0 auto;
  }

  .why-content-panel h2 {
    font-size: clamp(34px, 6vw, 44px);
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

  .why-premium-section {
    padding: 68px 0;
  }

  .why-content-panel {
    padding: 30px 24px;

    border-radius: 21px;
  }

  .why-content-panel h2 {
    font-size: 33px;
  }

  .why-description {
    font-size: 11px;
  }

  .why-feature-grid {
    gap: 12px;
  }

  .why-feature-card {
    min-height: 225px;

    padding: 22px 19px;
  }

  .why-feature-icon {
    width: 48px;
    height: 48px;

    margin-bottom: 18px;
  }

  .why-feature-icon i {
    font-size: 18px;
  }

  .why-feature-content h3 {
    font-size: 14px;
  }

  .why-feature-content p {
    font-size: 10px;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .why-premium-section {
    padding: 58px 0;
  }

  .why-premium-section .container {
    padding-right: 13px;
    padding-left: 13px;
  }

  .why-content-panel {
    padding: 26px 19px;
  }

  .why-content-panel h2 {
    font-size: 29px;

    letter-spacing: -1px;
  }

  .why-kicker {
    font-size: 8px;
  }

  .why-feature-grid {
    grid-template-columns: 1fr;
  }

  .why-feature-card {
    min-height: auto;

    display: grid;
    grid-template-columns: 47px 1fr;
    align-items: center;

    gap: 13px;

    padding: 18px 17px;
  }

  .why-feature-icon {
    grid-row: 1 / 3;

    width: 44px;
    height: 44px;

    margin: 0;
  }

  .why-feature-content {
    padding-right: 15px;
  }

  .why-feature-content h3 {
    margin-bottom: 5px;

    font-size: 13px;
  }

  .why-feature-content p {
    font-size: 9px;
    line-height: 1.55;
  }

  .why-card-number {
    top: 10px;
    right: 12px;

    font-size: 16px;
  }

  .why-feature-arrow {
    right: 12px;
    bottom: 11px;

    font-size: 9px;
  }

  .why-check-item {
    padding: 9px 10px;

    font-size: 9px;
  }

  .why-check-icon {
    flex-basis: 27px;

    width: 27px;
    height: 27px;
  }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .why-content-panel h2 {
    font-size: 26px;
  }

  .why-content-panel {
    padding-right: 16px;
    padding-left: 16px;
  }

  .why-feature-card {
    grid-template-columns: 42px 1fr;

    gap: 10px;

    padding: 15px 13px;
  }

  .why-feature-icon {
    width: 39px;
    height: 39px;
  }

  .why-feature-content h3 {
    font-size: 12px;
  }

  .why-support-strip strong {
    font-size: 10px;
  }
}

/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none),
(pointer: coarse) {

  .why-feature-card:hover,
  .why-cta-btn:hover {
    transform: none;
  }

  .why-check-item:hover {
    transform: none;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .why-premium-section *,
  .why-premium-section *::before,
  .why-premium-section *::after {
    animation: none !important;
    transition: none !important;
  }

  .why-feature-card:hover,
  .why-cta-btn:hover,
  .why-check-item:hover {
    transform: none;
  }
}


/* =========================================================
   PREMIUM CERTIFICATE SECTION
========================================================= */

.certificate-premium-section {
  position: relative;
  z-index: 1;

  padding: 100px 0;

  overflow: hidden;

  background:
    radial-gradient(circle at 10% 20%,
      rgba(187, 22, 31, 0.07),
      transparent 28%),
    radial-gradient(circle at 90% 85%,
      rgba(226, 174, 75, 0.1),
      transparent 27%),
    linear-gradient(135deg,
      #fffafa 0%,
      #ffffff 50%,
      #fff8f3 100%);

  isolation: isolate;
}

/* =========================================================
   BACKGROUND DECORATION
========================================================= */

.certificate-bg-shape {
  position: absolute;
  z-index: -1;

  display: block;

  pointer-events: none;

  border-radius: 50%;
}

.certificate-bg-shape-one {
  top: 50px;
  left: -150px;

  width: 320px;
  height: 320px;

  border: 50px solid rgba(187, 22, 31, 0.035);
}

.certificate-bg-shape-two {
  right: -100px;
  bottom: -120px;

  width: 270px;
  height: 270px;

  background: rgba(225, 173, 76, 0.07);

  filter: blur(3px);
}

/* =========================================================
   MAIN PANEL
========================================================= */

.certificate-premium-panel {
  position: relative;

  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);

  align-items: center;

  gap: 48px;

  overflow: hidden;

  padding: 55px;

  color: #ffffff;

  background:
    radial-gradient(circle at right top,
      rgba(255, 255, 255, 0.1),
      transparent 34%),
    linear-gradient(135deg,
      #21110e 0%,
      #3d1915 54%,
      #240d0b 100%);

  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 28px;

  box-shadow:
    0 35px 80px rgba(42, 20, 17, 0.21),
    0 12px 30px rgba(42, 20, 17, 0.1);

  isolation: isolate;
}

.certificate-premium-panel::before {
  content: "";

  position: absolute;
  z-index: -1;

  top: -130px;
  right: -100px;

  width: 300px;
  height: 300px;

  background: rgba(189, 23, 32, 0.24);

  border-radius: 50%;

  filter: blur(5px);
}

.certificate-premium-panel::after {
  content: "";

  position: absolute;

  right: 0;
  bottom: 0;
  left: 0;

  height: 4px;

  background:
    linear-gradient(90deg,
      transparent,
      #dc333c,
      #edbd63,
      #dc333c,
      transparent);
}

/* =========================================================
   LEFT CONTENT
========================================================= */

.certificate-content {
  position: relative;
  z-index: 2;

  max-width: 650px;
}

.certificate-kicker {
  display: inline-flex;
  align-items: center;

  gap: 8px;

  margin-bottom: 18px;
  padding: 8px 14px;

  color: #efc16b;

  background: rgba(239, 193, 107, 0.09);

  border: 1px solid rgba(239, 193, 107, 0.18);
  border-radius: 100px;

  font-size: 9px;
  font-weight: 800;

  letter-spacing: 1.15px;

  text-transform: uppercase;
}

.certificate-kicker i {
  font-size: 12px;
}

.certificate-content h2 {
  max-width: 620px;

  margin: 0 0 19px;

  color: #ffffff;

  font-size: clamp(34px, 4vw, 53px);
  font-weight: 800;

  letter-spacing: -1.8px;
  line-height: 1.08;

  text-wrap: balance;
}

.certificate-content h2 span {
  display: block;

  color: #edbd63;

  font-weight: inherit;
}

.certificate-content>p {
  max-width: 600px;

  margin: 0;

  color: rgba(255, 255, 255, 0.67);

  font-size: 13px;
  line-height: 1.75;
}

/* =========================================================
   CERTIFICATE POINTS
========================================================= */

.certificate-points {
  display: flex;
  flex-wrap: wrap;

  gap: 10px 18px;

  margin-top: 25px;
}

.certificate-points span {
  display: inline-flex;
  align-items: center;

  gap: 7px;

  color: rgba(255, 255, 255, 0.78);

  font-size: 10px;
  font-weight: 600;
}

.certificate-points i {
  color: #edbd63;

  font-size: 12px;
}

/* =========================================================
   BADGE GRID
========================================================= */

.certificate-badge-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 14px;
}

/* =========================================================
   BADGE CARD
========================================================= */

.certificate-badge-card {
  position: relative;

  min-height: 180px;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  overflow: hidden;

  padding: 23px;

  background:
    linear-gradient(145deg,
      rgba(255, 255, 255, 0.13),
      rgba(255, 255, 255, 0.055));

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 16px 35px rgba(0, 0, 0, 0.15);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  transition:
    transform 0.35s ease,
    background 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}

.certificate-badge-card::before {
  content: "";

  position: absolute;

  top: -120%;
  left: -65%;

  width: 34%;
  height: 340%;

  background: rgba(255, 255, 255, 0.08);

  transform: rotate(25deg);

  transition: left 0.75s ease;
}

.certificate-badge-card:hover {
  background:
    linear-gradient(145deg,
      rgba(189, 23, 32, 0.38),
      rgba(255, 255, 255, 0.07));

  border-color: rgba(237, 189, 99, 0.36);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.13),
    0 25px 48px rgba(0, 0, 0, 0.25);

  transform: translateY(-7px);
}

.certificate-badge-card:hover::before {
  left: 135%;
}

.certificate-badge-wide {
  grid-column: 1 / -1;

  min-height: 145px;

  display: grid;
  grid-template-columns: 55px 1fr;
  align-items: center;

  column-gap: 15px;
}

/* =========================================================
   CARD NUMBER
========================================================= */

.certificate-badge-number {
  position: absolute;

  top: 16px;
  right: 17px;

  color: rgba(255, 255, 255, 0.15);

  font-size: 21px;
  font-weight: 820;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.certificate-badge-card:hover .certificate-badge-number {
  color: rgba(255, 255, 255, 0.27);

  transform: translateY(-2px);
}

/* =========================================================
   BADGE ICON
========================================================= */

.certificate-badge-icon {
  position: relative;
  z-index: 2;

  flex: 0 0 50px;

  width: 50px;
  height: 50px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 18px;

  color: #efc16b;

  background: rgba(239, 193, 107, 0.1);

  border: 1px solid rgba(239, 193, 107, 0.16);
  border-radius: 13px;

  transition:
    color 0.35s ease,
    background 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;
}

.certificate-badge-icon i {
  font-size: 19px;
}

.certificate-badge-card:hover .certificate-badge-icon {
  color: #ffffff;

  background:
    linear-gradient(135deg,
      #df343d,
      #970b12);

  border-color: transparent;

  box-shadow:
    0 11px 24px rgba(151, 10, 18, 0.31);

  transform: rotate(-6deg) scale(1.06);
}

.certificate-badge-wide .certificate-badge-icon {
  margin-bottom: 0;
}

/* =========================================================
   BADGE COPY
========================================================= */

.certificate-badge-copy {
  position: relative;
  z-index: 2;

  display: flex;
  flex-direction: column;

  line-height: 1.3;
}

.certificate-badge-copy small {
  margin-bottom: 6px;

  color: #e8b85f;

  font-size: 8px;
  font-weight: 750;

  letter-spacing: 0.9px;

  text-transform: uppercase;
}

.certificate-badge-copy strong {
  margin-bottom: 5px;

  color: #ffffff;

  font-size: 17px;
  font-weight: 760;
}

.certificate-badge-copy span {
  color: rgba(255, 255, 255, 0.54);

  font-size: 9px;
  font-weight: 500;

  transition: color 0.3s ease;
}

.certificate-badge-card:hover .certificate-badge-copy span {
  color: rgba(255, 255, 255, 0.76);
}

/* =========================================================
   CARD ARROW
========================================================= */

.certificate-card-arrow {
  position: absolute;

  right: 15px;
  bottom: 15px;

  color: rgba(255, 255, 255, 0.2);

  font-size: 10px;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.certificate-badge-card:hover .certificate-card-arrow {
  color: #efc16b;

  transform: translate(3px, -3px);
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

  .certificate-premium-section {
    padding: 85px 0;
  }

  .certificate-premium-panel {
    gap: 35px;

    padding: 45px 38px;
  }

  .certificate-content h2 {
    font-size: 43px;
  }

  .certificate-badge-card {
    padding: 20px;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

  .certificate-premium-section {
    padding: 75px 0;
  }

  .certificate-premium-panel {
    grid-template-columns: 1fr;

    gap: 38px;

    max-width: 760px;

    margin: 0 auto;
  }

  .certificate-content {
    max-width: none;

    text-align: center;
  }

  .certificate-kicker {
    justify-content: center;
  }

  .certificate-content h2,
  .certificate-content>p {
    margin-right: auto;
    margin-left: auto;
  }

  .certificate-points {
    justify-content: center;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

  .certificate-premium-section {
    padding: 65px 0;
  }

  .certificate-premium-panel {
    padding: 35px 24px;

    border-radius: 22px;
  }

  .certificate-content h2 {
    font-size: 34px;

    letter-spacing: -1.2px;
  }

  .certificate-content>p {
    font-size: 12px;
  }

  .certificate-badge-grid {
    grid-template-columns: 1fr;
  }

  .certificate-badge-wide {
    grid-column: auto;

    min-height: 160px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .certificate-badge-wide .certificate-badge-icon {
    margin-bottom: 18px;
  }

  .certificate-badge-card {
    min-height: 160px;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .certificate-premium-section {
    padding: 55px 0;
  }

  .certificate-premium-section .container {
    padding-right: 13px;
    padding-left: 13px;
  }

  .certificate-premium-panel {
    padding: 29px 18px;
  }

  .certificate-content h2 {
    font-size: 29px;
  }

  .certificate-kicker {
    font-size: 8px;
  }

  .certificate-points {
    flex-direction: column;
    align-items: center;

    gap: 8px;
  }

  .certificate-badge-card {
    min-height: auto;

    display: grid;
    grid-template-columns: 45px 1fr;
    align-items: center;

    gap: 13px;

    padding: 18px;
  }

  .certificate-badge-icon,
  .certificate-badge-wide .certificate-badge-icon {
    width: 44px;
    height: 44px;

    margin: 0;
  }

  .certificate-badge-icon i {
    font-size: 17px;
  }

  .certificate-badge-copy strong {
    font-size: 14px;
  }

  .certificate-card-arrow {
    right: 12px;
    bottom: 11px;
  }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .certificate-premium-panel {
    padding-right: 15px;
    padding-left: 15px;
  }

  .certificate-content h2 {
    font-size: 26px;
  }

  .certificate-badge-card {
    grid-template-columns: 40px 1fr;

    gap: 10px;

    padding: 15px;
  }

  .certificate-badge-icon,
  .certificate-badge-wide .certificate-badge-icon {
    width: 39px;
    height: 39px;
  }

  .certificate-badge-copy strong {
    font-size: 13px;
  }
}

/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none),
(pointer: coarse) {

  .certificate-badge-card:hover {
    transform: none;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .certificate-premium-section *,
  .certificate-premium-section *::before,
  .certificate-premium-section *::after {
    animation: none !important;
    transition: none !important;
  }

  .certificate-badge-card:hover {
    transform: none;
  }
}


/* =========================================================
   CLIENT LOGO SLIDER
========================================================= */

.clients-slider-section {
  position: relative;
  z-index: 1;

  padding: 75px 0;

  overflow: hidden;

  background:
    radial-gradient(circle at 8% 20%,
      rgba(187, 22, 31, 0.055),
      transparent 27%),
    radial-gradient(circle at 92% 80%,
      rgba(224, 172, 76, 0.08),
      transparent 26%),
    linear-gradient(180deg,
      #ffffff 0%,
      #fff9f8 100%);
}

.clients-slider-section::before {
  content: "";

  position: absolute;
  top: 0;
  right: 0;
  left: 0;

  height: 1px;

  background:
    linear-gradient(90deg,
      transparent,
      rgba(187, 22, 31, 0.18),
      transparent);
}

/* =========================================================
   SLIDER PANEL
========================================================= */

.clients-slider-wrapper {
  position: relative;

  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  align-items: center;

  gap: 18px;

  padding: 26px;

  background:
    linear-gradient(145deg,
      rgba(255, 255, 255, 0.98),
      rgba(255, 250, 249, 0.98));

  border: 1px solid rgba(187, 22, 31, 0.09);
  border-radius: 24px;

  box-shadow:
    0 22px 55px rgba(48, 27, 24, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

/* =========================================================
   SLIDER
========================================================= */

.clients-slider {
  min-width: 0;
  width: 100%;

  overflow: hidden;

  outline: none;
}

.clients-slider:focus-visible {
  border-radius: 17px;

  box-shadow:
    0 0 0 4px rgba(187, 22, 31, 0.1);
}

.clients-slider-track {
  --clients-gap: 16px;
  --clients-visible: 5;
  --client-width: calc((100% - (var(--clients-gap) * (var(--clients-visible) - 1))) / var(--clients-visible));

  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: var(--client-width);

  gap: var(--clients-gap);

  overflow-x: auto;
  overflow-y: hidden;

  padding: 10px 4px 15px;

  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;

  cursor: grab;

  scrollbar-width: none;
  -ms-overflow-style: none;
}

.clients-slider-track::-webkit-scrollbar {
  display: none;
}

.clients-slider-track:active {
  cursor: grabbing;
}

.client-logo-slide {
  min-width: 0;

  scroll-snap-align: start;
  scroll-snap-stop: always;
}

/* =========================================================
   LOGO CARD
========================================================= */

.client-logo-card {
  position: relative;

  height: 135px;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;

  padding: 22px;

  background:
    linear-gradient(145deg,
      #ffffff,
      #fffafa);

  border: 1px solid rgba(37, 29, 27, 0.075);
  border-radius: 17px;

  box-shadow:
    0 8px 24px rgba(43, 26, 23, 0.065);

  transition:
    border-color 0.35s ease,
    background 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;
}

.client-logo-card::before {
  content: "";

  position: absolute;

  top: -120%;
  left: -60%;

  width: 35%;
  height: 340%;

  background: rgba(255, 255, 255, 0.75);

  transform: rotate(25deg);

  transition: left 0.7s ease;
}

.client-logo-card::after {
  content: "";

  position: absolute;

  right: 26%;
  bottom: 0;
  left: 26%;

  height: 3px;

  background:
    linear-gradient(90deg,
      transparent,
      #bc1720,
      #e0aa50,
      transparent);

  border-radius: 10px 10px 0 0;

  transform: scaleX(0);

  transition: transform 0.35s ease;
}

.client-logo-card:hover {
  background:
    linear-gradient(145deg,
      #ffffff,
      #fff2f0);

  border-color: rgba(187, 22, 31, 0.18);

  box-shadow:
    0 18px 38px rgba(43, 26, 23, 0.13);

  transform: translateY(-7px);
}

.client-logo-card:hover::before {
  left: 135%;
}

.client-logo-card:hover::after {
  transform: scaleX(1);
}

/* Logo */
.client-logo-card img {
  position: relative;
  z-index: 2;

  width: 100%;
  max-width: 145px;
  height: 110px;

  display: block;

  object-fit: contain;

  /* filter: grayscale(1); */
  opacity: 0.68;

  transition:
    filter 0.35s ease,
    opacity 0.35s ease,
    transform 0.35s ease;
}

.client-logo-card:hover img {
  filter: grayscale(0);
  opacity: 1;

  transform: scale(1.07);
}

/* =========================================================
   NAVIGATION BUTTONS
========================================================= */

.clients-slider-button {
  width: 48px;
  height: 48px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  color: #b81720;

  background: #ffffff;

  border: 1px solid rgba(184, 23, 32, 0.13);
  border-radius: 50%;

  box-shadow:
    0 9px 22px rgba(45, 27, 24, 0.09);

  transition:
    color 0.3s ease,
    background 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.clients-slider-button i {
  font-size: 15px;
}

.clients-slider-button:hover {
  color: #ffffff;

  background:
    linear-gradient(135deg,
      #df343d,
      #970b12);

  border-color: transparent;

  box-shadow:
    0 13px 27px rgba(167, 12, 20, 0.25);

  transform: translateY(-3px);
}

.clients-slider-button:disabled {
  color: #b8abaa;

  background: #f3eeee;

  border-color: transparent;

  box-shadow: none;

  cursor: not-allowed;
  opacity: 0.65;

  transform: none;
}

/* =========================================================
   PROGRESS LINE
========================================================= */

.clients-slider-progress {
  position: relative;

  width: min(100%, 320px);
  height: 4px;

  margin: 20px auto 0;

  overflow: hidden;

  background: #eadfdd;

  border-radius: 100px;
}

.clients-slider-progress span {
  position: absolute;

  top: 0;
  bottom: 0;
  left: 0;

  width: 0;

  background:
    linear-gradient(90deg,
      #b81720,
      #e0ad54);

  border-radius: inherit;

  transition: width 0.3s ease;
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

  .clients-slider-section {
    padding: 65px 0;
  }

  .clients-slider-track {
    --clients-visible: 4;
  }

  .client-logo-card {
    height: 125px;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

  .clients-slider-section {
    padding: 60px 0;
  }

  .clients-slider-track {
    --clients-visible: 3;
  }

  .clients-slider-wrapper {
    grid-template-columns: 44px minmax(0, 1fr) 44px;

    gap: 12px;

    padding: 21px;
  }

  .clients-slider-button {
    width: 44px;
    height: 44px;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

  .clients-slider-section {
    padding: 52px 0;
  }

  .clients-slider-wrapper {
    grid-template-columns: 1fr;

    padding: 18px;

    border-radius: 20px;
  }

  .clients-slider-track {
    --clients-visible: 2;
    --clients-gap: 12px;

    padding-bottom: 10px;
  }

  .client-logo-card {
    height: 115px;

    padding: 18px;
  }

  .client-logo-card img {
    max-width: 125px;
    height: 62px;
  }

  .clients-slider-button {
    position: absolute;
    z-index: 10;

    top: 50%;

    width: 39px;
    height: 39px;

    transform: translateY(-50%);
  }

  .clients-slider-button:hover {
    transform: translateY(calc(-50% - 2px));
  }

  .clients-slider-prev {
    left: 7px;
  }

  .clients-slider-next {
    right: 7px;
  }

  .clients-slider {
    padding-right: 22px;
    padding-left: 22px;
  }

  .clients-slider-progress {
    width: 230px;

    margin-top: 16px;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .clients-slider-section {
    padding: 45px 0;
  }

  .clients-slider-section .container {
    padding-right: 12px;
    padding-left: 12px;
  }

  .clients-slider-wrapper {
    padding: 14px 9px;
  }

  .clients-slider-track {
    --clients-visible: 2;
    --clients-gap: 9px;
  }

  .client-logo-card {
    height: 102px;

    padding: 14px;

    border-radius: 14px;
  }

  .client-logo-card img {
    max-width: 105px;
    height: 54px;
  }

  .clients-slider-button {
    width: 35px;
    height: 35px;
  }

  .clients-slider-button i {
    font-size: 12px;
  }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .clients-slider-wrapper {
    padding-right: 6px;
    padding-left: 6px;
  }

  .clients-slider {
    padding-right: 19px;
    padding-left: 19px;
  }

  .client-logo-card {
    height: 94px;
  }

  .client-logo-card img {
    max-width: 92px;
    height: 48px;
  }
}

/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none),
(pointer: coarse) {

  .client-logo-card img {
    filter: grayscale(0);
    opacity: 1;
  }

  .client-logo-card:hover {
    transform: none;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .clients-slider-track {
    scroll-behavior: auto;
  }

  .client-logo-card,
  .client-logo-card img,
  .clients-slider-button,
  .clients-slider-progress span {
    transition: none;
  }

  .client-logo-card:hover {
    transform: none;
  }
}

/* =========================================================
   PREMIUM CONTACT SECTION
========================================================= */

.contact-premium-section {
  position: relative;
  z-index: 1;

  padding: 100px 0;

  overflow: hidden;

  background:
    radial-gradient(circle at 8% 16%,
      rgba(185, 23, 32, 0.065),
      transparent 27%),
    radial-gradient(circle at 93% 84%,
      rgba(222, 169, 76, 0.09),
      transparent 26%),
    linear-gradient(135deg,
      #fffafa 0%,
      #ffffff 48%,
      #fff8f4 100%);

  isolation: isolate;
}

/* Top separator */
.contact-premium-section::before {
  content: "";

  position: absolute;

  top: 0;
  right: 0;
  left: 0;

  height: 1px;

  background:
    linear-gradient(90deg,
      transparent,
      rgba(185, 23, 32, 0.19),
      transparent);
}

/* =========================================================
   BACKGROUND DECORATIONS
========================================================= */

.contact-bg-shape {
  position: absolute;
  z-index: -1;

  display: block;

  pointer-events: none;

  border-radius: 50%;
}

.contact-bg-shape-one {
  top: 80px;
  left: -170px;

  width: 350px;
  height: 350px;

  border: 55px solid rgba(185, 23, 32, 0.032);
}

.contact-bg-shape-two {
  right: -100px;
  bottom: -120px;

  width: 280px;
  height: 280px;

  background: rgba(222, 169, 76, 0.065);

  filter: blur(3px);
}

/* =========================================================
   SECTION HEADER
========================================================= */

.contact-section-header {
  max-width: 760px;

  margin: 0 auto 45px;

  text-align: center;
}

.contact-section-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 8px;

  margin-bottom: 15px;
  padding: 8px 14px;

  color: #b81720;

  background: rgba(184, 23, 32, 0.07);

  border: 1px solid rgba(184, 23, 32, 0.11);
  border-radius: 100px;

  font-size: 9px;
  font-weight: 800;

  letter-spacing: 1.15px;

  text-transform: uppercase;
}

.contact-section-kicker i {
  font-size: 11px;
}

.contact-section-header h2 {
  margin: 0 0 16px;

  color: #28201e;

  font-size: clamp(34px, 4vw, 50px);
  font-weight: 800;

  letter-spacing: -1.7px;
  line-height: 1.08;

  text-wrap: balance;
}

.contact-section-header h2 span {
  display: block;

  color: #b81720;

  font-weight: inherit;
}

.contact-section-header p {
  max-width: 650px;

  margin: 0 auto;

  color: #756966;

  font-size: 13px;
  line-height: 1.75;

  text-wrap: balance;
}

/* =========================================================
   CONTACT INFORMATION PANEL
========================================================= */

.contact-information-panel {
  position: relative;

  height: 100%;

  overflow: hidden;

  padding: 34px;

  background:
    linear-gradient(145deg,
      #ffffff,
      #fffafa);

  border: 1px solid rgba(184, 23, 32, 0.09);
  border-radius: 24px;

  box-shadow:
    0 22px 55px rgba(47, 28, 25, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.contact-information-panel::before {
  content: "";

  position: absolute;

  top: -90px;
  right: -80px;

  width: 210px;
  height: 210px;

  background: rgba(184, 23, 32, 0.045);

  border-radius: 50%;

  pointer-events: none;
}

/* =========================================================
   INFORMATION HEADING
========================================================= */

.contact-information-heading {
  position: relative;
  z-index: 2;

  margin-bottom: 25px;
}

.contact-information-heading>span {
  display: block;

  margin-bottom: 7px;

  color: #b81720;

  font-size: 8px;
  font-weight: 800;

  letter-spacing: 1.1px;

  text-transform: uppercase;
}

.contact-information-heading h3 {
  margin: 0 0 11px;

  color: #29211f;

  font-size: 23px;
  font-weight: 770;

  letter-spacing: -0.5px;
}

.contact-information-heading p {
  margin: 0;

  color: #796d6a;

  font-size: 11px;
  line-height: 1.7;
}

/* =========================================================
   CONTACT DETAILS
========================================================= */

.contact-details-list {
  position: relative;
  z-index: 2;

  display: grid;

  gap: 11px;
}

.contact-detail-card {
  position: relative;

  min-height: 76px;

  display: flex;
  align-items: center;

  gap: 13px;

  overflow: hidden;

  padding: 13px 40px 13px 13px;

  color: #342927;

  text-decoration: none;

  background:
    linear-gradient(145deg,
      #fffafa,
      #ffffff);

  border: 1px solid rgba(184, 23, 32, 0.08);
  border-radius: 14px;

  box-shadow:
    0 7px 20px rgba(44, 27, 24, 0.055);

  transition:
    color 0.3s ease,
    background 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.contact-detail-card::before {
  content: "";

  position: absolute;

  top: 0;
  bottom: 0;
  left: 0;

  width: 3px;

  background:
    linear-gradient(to bottom,
      #e0363f,
      #980b12);

  transform: scaleY(0);
  transform-origin: bottom;

  transition: transform 0.3s ease;
}

a.contact-detail-card:hover {
  color: #342927;

  background:
    linear-gradient(145deg,
      #ffffff,
      #fff0ee);

  border-color: rgba(184, 23, 32, 0.16);

  box-shadow:
    0 13px 30px rgba(44, 27, 24, 0.11);

  transform: translateX(5px);
}

.contact-detail-card:hover::before {
  transform: scaleY(1);
}

/* Detail icon */
.contact-detail-icon {
  flex: 0 0 43px;

  width: 43px;
  height: 43px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #b81720;

  background: rgba(184, 23, 32, 0.075);

  border: 1px solid rgba(184, 23, 32, 0.09);
  border-radius: 11px;

  transition:
    color 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.contact-detail-icon i {
  font-size: 16px;
}

.contact-detail-card:hover .contact-detail-icon {
  color: #ffffff;

  background:
    linear-gradient(135deg,
      #e1363f,
      #980b12);

  box-shadow:
    0 9px 20px rgba(159, 11, 18, 0.23);

  transform: rotate(-5deg);
}

/* Detail copy */
.contact-detail-content {
  min-width: 0;

  display: flex;
  flex: 1;
  flex-direction: column;

  line-height: 1.35;
}

.contact-detail-content small {
  margin-bottom: 4px;

  color: #a18480;

  font-size: 8px;
  font-weight: 750;

  letter-spacing: 0.85px;

  text-transform: uppercase;
}

.contact-detail-content strong {
  color: #352a28;

  font-size: 10px;
  font-weight: 680;

  overflow-wrap: anywhere;
}

.contact-detail-content strong+strong {
  margin-top: 2px;
}

/* Arrow */
.contact-detail-arrow {
  position: absolute;

  top: 14px;
  right: 14px;

  color: rgba(184, 23, 32, 0.25);

  font-size: 10px;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.contact-detail-card:hover .contact-detail-arrow {
  color: #b81720;

  transform: translate(2px, -2px);
}

/* =========================================================
   SUPPORT NOTE
========================================================= */

.contact-support-note {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;

  gap: 11px;

  margin-top: 18px;
  padding: 13px;

  background:
    linear-gradient(135deg,
      #fff4f2,
      #fffafa);

  border: 1px solid rgba(184, 23, 32, 0.1);
  border-radius: 13px;
}

.contact-support-icon {
  flex: 0 0 41px;

  width: 41px;
  height: 41px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background:
    linear-gradient(135deg,
      #df343d,
      #970b12);

  border-radius: 11px;

  box-shadow:
    0 9px 20px rgba(156, 11, 18, 0.22);
}

.contact-support-note>span:last-child {
  display: flex;
  flex-direction: column;

  line-height: 1.3;
}

.contact-support-note small {
  margin-bottom: 3px;

  color: #9b817d;

  font-size: 8px;
}

.contact-support-note strong {
  color: #362a28;

  font-size: 10px;
  font-weight: 700;
}

/* =========================================================
   FORM PANEL
========================================================= */

.contact-form-panel {
  position: relative;

  height: 100%;

  overflow: hidden;

  padding: 36px;

  background:
    linear-gradient(145deg,
      #ffffff,
      #fffafa);

  border: 1px solid rgba(184, 23, 32, 0.09);
  border-radius: 24px;

  box-shadow:
    0 25px 60px rgba(47, 28, 25, 0.11),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.contact-form-panel::before {
  content: "";

  position: absolute;

  top: -100px;
  right: -85px;

  width: 230px;
  height: 230px;

  background: rgba(37, 211, 102, 0.06);

  border-radius: 50%;
}

/* =========================================================
   FORM HEADING
========================================================= */

.contact-form-heading {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: 25px;

  margin-bottom: 27px;
  padding-bottom: 23px;

  border-bottom: 1px solid #eee4e2;
}

.contact-form-kicker {
  display: block;

  margin-bottom: 7px;

  color: #b81720;

  font-size: 8px;
  font-weight: 800;

  letter-spacing: 1.05px;

  text-transform: uppercase;
}

.contact-form-heading h3 {
  margin: 0 0 8px;

  color: #2d2321;

  font-size: 23px;
  font-weight: 770;

  letter-spacing: -0.5px;
}

.contact-form-heading p {
  margin: 0;

  color: #7c6f6c;

  font-size: 10px;
  line-height: 1.6;
}

.contact-whatsapp-icon {
  flex: 0 0 54px;

  width: 54px;
  height: 54px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background:
    linear-gradient(135deg,
      #34d66d,
      #159447);

  border-radius: 15px;

  box-shadow:
    0 12px 25px rgba(22, 151, 71, 0.23);

  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.contact-form-panel:hover .contact-whatsapp-icon {
  box-shadow:
    0 16px 32px rgba(22, 151, 71, 0.3);

  transform: rotate(-5deg) scale(1.04);
}

.contact-whatsapp-icon i {
  font-size: 22px;
}

/* =========================================================
   FORM CONTROLS
========================================================= */

.contact-form-panel form {
  position: relative;
  z-index: 2;
}

.contact-form-group {
  position: relative;
}

.contact-form-group .form-label {
  margin-bottom: 7px;

  color: #493a37;

  font-size: 9px;
  font-weight: 700;
}

.contact-input-wrap {
  position: relative;
}

.contact-input-wrap>i {
  position: absolute;
  z-index: 3;

  top: 50%;
  left: 14px;

  color: #b81720;

  font-size: 13px;

  transform: translateY(-50%);

  pointer-events: none;
}

.contact-textarea-wrap>i {
  top: 16px;

  transform: none;
}

.contact-form-panel .form-control,
.contact-form-panel .form-select {
  min-height: 49px;

  padding: 11px 14px 11px 41px;

  color: #352b29;

  background-color: #fffafa;

  border: 1px solid #e9dfdd;
  border-radius: 11px;

  box-shadow: none;

  font-size: 10px;
  font-weight: 500;

  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.contact-form-panel textarea.form-control {
  min-height: 118px;

  padding-top: 13px;

  resize: vertical;
}

.contact-form-panel .form-control::placeholder {
  color: #ad9d99;

  opacity: 1;
}

.contact-form-panel .form-control:hover,
.contact-form-panel .form-select:hover {
  background-color: #ffffff;

  border-color: rgba(184, 23, 32, 0.18);
}

.contact-form-panel .form-control:focus,
.contact-form-panel .form-select:focus {
  background-color: #ffffff;

  border-color: #b81720;

  box-shadow:
    0 0 0 4px rgba(184, 23, 32, 0.09);
}

.contact-form-panel .form-control.is-invalid,
.contact-form-panel .form-select.is-invalid,
.contact-form-panel .was-validated .form-control:invalid,
.contact-form-panel .was-validated .form-select:invalid {
  border-color: #dc3545;
}

.contact-form-panel .invalid-feedback {
  margin-top: 5px;

  font-size: 8px;
}

/* =========================================================
   FORM FOOTER
========================================================= */

.contact-form-footer {
  display: flex;
  align-items: center;

  gap: 16px;

  margin-top: 4px;
}

.contact-submit-btn {
  min-height: 52px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  padding: 12px 18px;

  color: #ffffff;

  background:
    radial-gradient(circle at right top,
      rgba(255, 255, 255, 0.16),
      transparent 38%),
    linear-gradient(135deg,
      #29c866,
      #148e43);

  border: 0;
  border-radius: 12px;

  box-shadow:
    0 12px 26px rgba(20, 143, 67, 0.23);

  font-size: 10px;
  font-weight: 750;

  transition:
    color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.contact-submit-btn:hover {
  color: #ffffff;

  box-shadow:
    0 17px 34px rgba(20, 143, 67, 0.32);

  transform: translateY(-3px);
}

.contact-submit-btn i:last-child {
  transition: transform 0.3s ease;
}

.contact-submit-btn:hover i:last-child {
  transform: translateX(4px);
}

.contact-form-note {
  display: inline-flex;
  align-items: center;

  gap: 6px;

  color: #897a77;

  font-size: 8px;
  line-height: 1.45;
}

.contact-form-note i {
  flex: 0 0 auto;

  color: #b81720;

  font-size: 11px;
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

  .contact-premium-section {
    padding: 85px 0;
  }

  .contact-information-panel,
  .contact-form-panel {
    padding: 30px;
  }

  .contact-form-heading h3,
  .contact-information-heading h3 {
    font-size: 21px;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

  .contact-premium-section {
    padding: 75px 0;
  }

  .contact-section-header {
    margin-bottom: 36px;
  }

  .contact-information-panel,
  .contact-form-panel {
    max-width: 760px;

    margin: 0 auto;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

  .contact-premium-section {
    padding: 65px 0;
  }

  .contact-section-header h2 {
    font-size: 34px;

    letter-spacing: -1.2px;
  }

  .contact-section-header p {
    font-size: 12px;
  }

  .contact-information-panel,
  .contact-form-panel {
    padding: 26px 22px;

    border-radius: 20px;
  }

  .contact-form-heading {
    gap: 15px;
  }

  .contact-form-heading h3 {
    font-size: 20px;
  }

  .contact-whatsapp-icon {
    flex-basis: 47px;

    width: 47px;
    height: 47px;

    border-radius: 13px;
  }

  .contact-whatsapp-icon i {
    font-size: 19px;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .contact-premium-section {
    padding: 55px 0;
  }

  .contact-premium-section .container {
    padding-right: 13px;
    padding-left: 13px;
  }

  .contact-section-header {
    margin-bottom: 29px;
  }

  .contact-section-header h2 {
    font-size: 29px;
  }

  .contact-section-kicker {
    font-size: 8px;
  }

  .contact-information-panel,
  .contact-form-panel {
    padding: 22px 17px;
  }

  .contact-information-heading h3,
  .contact-form-heading h3 {
    font-size: 18px;
  }

  .contact-detail-card {
    min-height: 68px;

    padding: 11px 35px 11px 11px;
  }

  .contact-detail-icon {
    flex-basis: 39px;

    width: 39px;
    height: 39px;
  }

  .contact-detail-content strong {
    font-size: 9px;
  }

  .contact-form-heading {
    margin-bottom: 22px;
    padding-bottom: 19px;
  }

  .contact-form-heading p {
    font-size: 9px;
  }

  .contact-form-panel .form-control,
  .contact-form-panel .form-select {
    min-height: 47px;

    font-size: 9px;
  }

  .contact-form-footer {
    flex-direction: column;
    align-items: stretch;

    gap: 11px;
  }

  .contact-submit-btn {
    width: 100%;
  }

  .contact-form-note {
    justify-content: center;

    text-align: center;
  }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .contact-section-header h2 {
    font-size: 26px;
  }

  .contact-information-panel,
  .contact-form-panel {
    padding-right: 14px;
    padding-left: 14px;
  }

  .contact-detail-card {
    gap: 10px;
  }

  .contact-detail-icon {
    flex-basis: 36px;

    width: 36px;
    height: 36px;
  }

  .contact-whatsapp-icon {
    display: none;
  }
}

/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none),
(pointer: coarse) {

  a.contact-detail-card:hover,
  .contact-submit-btn:hover {
    transform: none;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .contact-premium-section *,
  .contact-premium-section *::before,
  .contact-premium-section *::after {
    animation: none !important;
    transition: none !important;
  }

  a.contact-detail-card:hover,
  .contact-submit-btn:hover {
    transform: none;
  }
}

/* =========================================================
   PREMIUM FOOTER
========================================================= */

.premium-footer {
  position: relative;
  z-index: 1;

  overflow: hidden;

  color: #ffffff;

  background: #170a08;
}

/* =========================================================
   MAIN FOOTER
========================================================= */

.premium-footer-main {
  position: relative;

  padding: 75px 0 60px;

  overflow: hidden;

  background:
    radial-gradient(circle at 8% 10%,
      rgba(190, 23, 32, 0.18),
      transparent 28%),
    radial-gradient(circle at 94% 88%,
      rgba(224, 171, 76, 0.1),
      transparent 25%),
    linear-gradient(135deg,
      #160906 0%,
      #29110d 48%,
      #150806 100%);

  isolation: isolate;
}

.premium-footer-main::before {
  content: "";

  position: absolute;
  z-index: -1;

  top: 0;
  right: 0;

  width: 40%;
  height: 100%;

  pointer-events: none;

  background:
    linear-gradient(135deg,
      transparent,
      rgba(255, 255, 255, 0.018));

  clip-path: polygon(35% 0,
      100% 0,
      100% 100%,
      0 100%);
}

.premium-footer-main::after {
  content: "";

  position: absolute;
  z-index: 1;

  top: 0;
  right: 0;
  left: 0;

  height: 3px;

  background:
    linear-gradient(90deg,
      transparent,
      #c91e28,
      #e3b45c,
      #c91e28,
      transparent);
}

/* =========================================================
   DECORATIONS
========================================================= */

.footer-decoration {
  position: absolute;
  z-index: -1;

  display: block;

  border-radius: 50%;

  pointer-events: none;
}

.footer-decoration-one {
  top: -180px;
  left: -170px;

  width: 380px;
  height: 380px;

  border: 60px solid rgba(255, 255, 255, 0.018);
}

.footer-decoration-two {
  right: -100px;
  bottom: -130px;

  width: 280px;
  height: 280px;

  background: rgba(190, 23, 32, 0.08);

  filter: blur(4px);
}

/* =========================================================
   FOOTER TOP STRIP
========================================================= */

.footer-top-strip {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 25px;

  overflow: hidden;

  margin-bottom: 50px;
  padding: 19px 21px;

  background:
    linear-gradient(135deg,
      rgba(255, 255, 255, 0.1),
      rgba(255, 255, 255, 0.045));

  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 17px;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 17px 38px rgba(0, 0, 0, 0.16);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.footer-top-strip::before {
  content: "";

  position: absolute;

  top: -100%;
  left: -40%;

  width: 24%;
  height: 300%;

  background: rgba(255, 255, 255, 0.055);

  transform: rotate(25deg);

  transition: left 0.8s ease;
}

.footer-top-strip:hover::before {
  left: 125%;
}

.footer-top-message {
  display: flex;
  align-items: center;

  gap: 13px;
}

.footer-top-icon {
  flex: 0 0 46px;

  width: 46px;
  height: 46px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background:
    linear-gradient(135deg,
      #df343d,
      #920a11);

  border-radius: 12px;

  box-shadow:
    0 10px 23px rgba(143, 9, 17, 0.27);
}

.footer-top-icon i {
  font-size: 17px;
}

.footer-top-message>div {
  display: flex;
  flex-direction: column;

  line-height: 1.35;
}

.footer-top-message small {
  margin-bottom: 3px;

  color: rgba(255, 255, 255, 0.51);

  font-size: 8px;
  font-weight: 600;
}

.footer-top-message strong {
  color: #ffffff;

  font-size: 11px;
  font-weight: 700;
}

.footer-enquiry-btn {
  position: relative;

  min-height: 45px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  overflow: hidden;

  padding: 11px 16px;

  color: #ffffff;

  text-decoration: none;

  background:
    linear-gradient(135deg,
      #df343d,
      #940a12);

  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 10px;

  box-shadow:
    0 10px 23px rgba(146, 10, 18, 0.25);

  font-size: 9px;
  font-weight: 750;

  white-space: nowrap;

  transition:
    color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.footer-enquiry-btn:hover {
  color: #ffffff;

  box-shadow:
    0 14px 29px rgba(146, 10, 18, 0.35);

  transform: translateY(-3px);
}

.footer-enquiry-btn i {
  font-size: 11px;

  transition: transform 0.3s ease;
}

.footer-enquiry-btn:hover i {
  transform: translateX(4px);
}

/* =========================================================
   FOOTER BRAND
========================================================= */

.footer-company {
  max-width: 390px;
}

.premium-footer-brand {
  display: inline-flex;
  align-items: center;

  gap: 12px;

  color: #ffffff;

  text-decoration: none;
}

.footer-logo-wrap {
    flex: 0 0 90px;
    width: 90px;
    height: 92px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    /* background: rgba(255, 255, 255, 0.94); */
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.19);
    transition: box-shadow 0.35s ease,
    transform 0.35s ease;
}

.footer-logo-wrap img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: contain;

  transition: transform 0.35s ease;
}

.premium-footer-brand:hover .footer-logo-wrap {
  box-shadow:
    0 15px 32px rgba(0, 0, 0, 0.25);

  transform: translateY(-3px);
}

.premium-footer-brand:hover .footer-logo-wrap img {
  transform: scale(1.05);
}

.footer-brand-copy {
  position: relative;

  display: flex;
  flex-direction: column;

  padding-left: 12px;

  line-height: 1.25;
}

.footer-brand-copy::before {
  content: "";

  position: absolute;

  top: 1px;
  bottom: 1px;
  left: 0;

  width: 2px;

  background:
    linear-gradient(to bottom,
      #df343d,
      #e4b45a);

  border-radius: 20px;
}

.footer-brand-copy strong {
  color: #ffffff;

  font-size: 14px;
  font-weight: 800;

  letter-spacing: 0.8px;
}

.footer-brand-copy small {
  margin-top: 5px;

  color: #e9bd68;

  font-family: Georgia, "Times New Roman", serif;

  font-size: 9px;
  font-weight: 650;
}

/* =========================================================
   FOOTER ABOUT
========================================================= */

.premium-footer-about {
  max-width: 360px;

  margin: 19px 0 0;

  color: rgba(255, 255, 255, 0.58);

  font-size: 10px;
  line-height: 1.75;
}

/* =========================================================
   CERTIFICATION BADGES
========================================================= */

.footer-certification-list {
  display: flex;
  flex-wrap: wrap;

  gap: 7px;

  margin-top: 19px;
}

.footer-certification-list span {
  display: inline-flex;
  align-items: center;

  gap: 6px;

  padding: 7px 9px;

  color: rgba(255, 255, 255, 0.76);

  background: rgba(255, 255, 255, 0.055);

  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 8px;

  font-size: 7px;
  font-weight: 700;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease;
}

.footer-certification-list span:hover {
  color: #ffffff;

  background: rgba(190, 23, 32, 0.3);

  border-color: rgba(232, 185, 95, 0.22);

  transform: translateY(-2px);
}

.footer-certification-list i {
  color: #e9bd68;

  font-size: 9px;
}

/* =========================================================
   FOOTER COLUMNS
========================================================= */

.footer-column h3 {
  position: relative;

  margin: 4px 0 20px;
  padding-bottom: 11px;

  color: #ffffff;

  font-size: 12px;
  font-weight: 750;

  letter-spacing: 0.15px;
}

.footer-column h3::before {
  content: "";

  position: absolute;

  bottom: 0;
  left: 0;

  width: 32px;
  height: 2px;

  background:
    linear-gradient(90deg,
      #d92f38,
      #e6b65c);

  border-radius: 10px;
}

.footer-column h3::after {
  content: "";

  position: absolute;

  bottom: 0;
  left: 37px;

  width: 5px;
  height: 2px;

  background: rgba(255, 255, 255, 0.35);

  border-radius: 10px;
}

/* =========================================================
   FOOTER LINKS
========================================================= */

.footer-link-list {
  display: grid;

  gap: 3px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.footer-link-list li {
  margin: 0;
}

.footer-link-list a {
  position: relative;

  display: inline-flex;
  align-items: center;

  gap: 7px;

  padding: 6px 0;

  color: rgba(255, 255, 255, 0.58);

  text-decoration: none;

  font-size: 9px;
  font-weight: 520;

  line-height: 1.4;

  transition:
    color 0.3s ease,
    padding-left 0.3s ease;
}

.footer-link-list a i {
  color: rgba(232, 184, 94, 0.55);

  font-size: 7px;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.footer-link-list a:hover {
  color: #ffffff;

  padding-left: 5px;
}

.footer-link-list a:hover i {
  color: #e8b85e;

  transform: translateX(2px);
}

/* =========================================================
   BUSINESS DETAILS
========================================================= */

.footer-contact-list {
  display: grid;

  gap: 11px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.footer-contact-list li {
  display: flex;
  align-items: flex-start;

  gap: 10px;
}

.footer-contact-icon {
  flex: 0 0 31px;

  width: 31px;
  height: 31px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #e8b85e;

  background: rgba(232, 184, 94, 0.075);

  border: 1px solid rgba(232, 184, 94, 0.1);
  border-radius: 8px;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.footer-contact-list li:hover .footer-contact-icon {
  color: #ffffff;

  background: #b81720;

  transform: rotate(-4deg);
}

.footer-contact-icon i {
  font-size: 11px;
}

.footer-contact-copy {
  min-width: 0;

  display: flex;
  flex: 1;
  flex-direction: column;

  padding-top: 1px;

  line-height: 1.4;
}

.footer-contact-copy small {
  margin-bottom: 3px;

  color: rgba(255, 255, 255, 0.34);

  font-size: 7px;
  font-weight: 700;

  letter-spacing: 0.65px;

  text-transform: uppercase;
}

.footer-contact-copy a,
.footer-contact-copy strong {
  color: rgba(255, 255, 255, 0.68);

  text-decoration: none;

  font-size: 8px;
  font-weight: 550;

  overflow-wrap: anywhere;

  transition: color 0.3s ease;
}

.footer-contact-copy a+a {
  margin-top: 2px;
}

.footer-contact-list li:hover .footer-contact-copy a,
.footer-contact-list li:hover .footer-contact-copy strong {
  color: #ffffff;
}

/* =========================================================
   FOOTER BOTTOM
========================================================= */

.premium-footer-bottom {
  position: relative;

  padding: 16px 0;

  background:
    linear-gradient(135deg,
      #0e0504,
      #180806);

  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 18px;
}

.footer-bottom-inner p {
  margin: 0;

  color: rgba(255, 255, 255, 0.44);

  font-size: 7px;
  line-height: 1.5;
}

.footer-bottom-inner p strong {
  color: rgba(255, 255, 255, 0.7);

  font-weight: 650;
}

.footer-bottom-separator {
  flex: 1;

  height: 1px;

  background:
    linear-gradient(90deg,
      transparent,
      rgba(255, 255, 255, 0.09),
      transparent);
}

.footer-back-home {
  flex: 0 0 auto;

  display: inline-flex;
  align-items: center;

  gap: 7px;

  color: rgba(255, 255, 255, 0.58);

  text-decoration: none;

  font-size: 7px;
  font-weight: 650;

  text-transform: uppercase;

  letter-spacing: 0.55px;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.footer-back-home i {
  color: #e8b85e;

  font-size: 8px;
}

.footer-back-home:hover {
  color: #ffffff;

  transform: translateY(-2px);
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

  .premium-footer-main {
    padding-top: 65px;
  }

  .footer-top-strip {
    margin-bottom: 42px;
  }

  .footer-logo-wrap {
    flex-basis: 68px;

    width: 68px;
    height: 63px;
  }

  .footer-brand-copy strong {
    font-size: 12px;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

  .premium-footer-main {
    padding: 60px 0 50px;
  }

  .footer-company {
    max-width: 600px;
  }

  .premium-footer-about {
    max-width: 550px;
  }

  .footer-column h3 {
    margin-top: 8px;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

  .premium-footer-main {
    padding: 52px 0 42px;
  }

  .footer-top-strip {
    flex-direction: column;
    align-items: stretch;

    gap: 16px;

    margin-bottom: 38px;
    padding: 17px;
  }

  .footer-enquiry-btn {
    width: 100%;
  }

  .footer-company {
    margin-bottom: 4px;
  }

  .footer-bottom-inner {
    flex-direction: column;

    gap: 8px;

    text-align: center;
  }

  .footer-bottom-separator {
    width: 100%;
    flex: none;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .premium-footer-main {
    padding: 45px 0 36px;
  }

  .premium-footer-main .container,
  .premium-footer-bottom .container {
    padding-right: 14px;
    padding-left: 14px;
  }

  .footer-top-strip {
    margin-bottom: 32px;
    padding: 14px;
  }

  .footer-top-icon {
    flex-basis: 41px;

    width: 41px;
    height: 41px;
  }

  .footer-top-message strong {
    font-size: 10px;
  }

  .premium-footer-brand {
    gap: 10px;
  }

  .footer-logo-wrap {
    flex-basis: 61px;

    width: 61px;
    height: 57px;
  }

  .footer-brand-copy strong {
    font-size: 11px;
  }

  .footer-brand-copy small {
    font-size: 8px;
  }

  .premium-footer-about {
    font-size: 9px;
  }

  .footer-column h3 {
    margin-bottom: 15px;

    font-size: 11px;
  }

  .footer-link-list a {
    font-size: 8px;
  }

  .footer-contact-copy a,
  .footer-contact-copy strong {
    font-size: 7px;
  }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .footer-top-message {
    align-items: flex-start;
  }

  .footer-top-icon {
    flex-basis: 37px;

    width: 37px;
    height: 37px;
  }

  .footer-brand-copy strong {
    font-size: 10px;
  }

  .footer-certification-list span {
    font-size: 6px;
  }

  .footer-contact-icon {
    flex-basis: 28px;

    width: 28px;
    height: 28px;
  }
}

/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none),
(pointer: coarse) {

  .footer-enquiry-btn:hover,
  .premium-footer-brand:hover .footer-logo-wrap,
  .footer-certification-list span:hover,
  .footer-back-home:hover {
    transform: none;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .premium-footer *,
  .premium-footer *::before,
  .premium-footer *::after {
    animation: none !important;
    transition: none !important;
  }

  .footer-enquiry-btn:hover,
  .premium-footer-brand:hover .footer-logo-wrap,
  .footer-certification-list span:hover,
  .footer-back-home:hover {
    transform: none;
  }
}

/* =========================================================
   FLOATING WHATSAPP
========================================================= */

.whatsapp-floating-wrap {
  position: fixed;
  z-index: 1090;

  right: 24px;
  bottom: 24px;
}

/* =========================================================
   WHATSAPP TRIGGER
========================================================= */

.floating-whatsapp {
  position: relative;

  min-width: 142px;
  height: 52px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 9px;

  padding: 0 18px;

  overflow: visible;

  color: #ffffff;

  background:
    linear-gradient(135deg,
      #34d66d,
      #159447);

  border: 0;
  border-radius: 100px;

  box-shadow:
    0 13px 30px rgba(18, 143, 66, 0.3);

  font-size: 11px;
  font-weight: 750;

  cursor: pointer;

  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.floating-whatsapp>i {
  font-size: 21px;
}

.floating-whatsapp:hover {
  box-shadow:
    0 18px 38px rgba(18, 143, 66, 0.4);

  transform: translateY(-4px);
}

.floating-whatsapp:focus-visible {
  outline: 0;

  box-shadow:
    0 0 0 4px rgba(37, 211, 102, 0.2),
    0 18px 38px rgba(18, 143, 66, 0.35);
}

/* Pulse effect */
.floating-whatsapp-pulse {
  position: absolute;
  z-index: -1;

  inset: 0;

  background: rgba(37, 211, 102, 0.38);

  border-radius: inherit;

  animation: whatsappPulse 2.1s ease-out infinite;
}

@keyframes whatsappPulse {
  0% {
    opacity: 0.65;
    transform: scale(1);
  }

  75%,
  100% {
    opacity: 0;
    transform: scale(1.28);
  }
}

/* =========================================================
   WHATSAPP POPUP
========================================================= */

.whatsapp-popup {
  position: absolute;

  right: 0;
  bottom: calc(100% + 15px);

  width: 330px;

  padding: 18px;

  visibility: hidden;
  opacity: 0;

  background:
    linear-gradient(145deg,
      #ffffff,
      #fffafa);

  border: 1px solid rgba(26, 19, 17, 0.09);
  border-radius: 18px;

  box-shadow:
    0 25px 65px rgba(33, 20, 17, 0.22);

  transform:
    translateY(15px) scale(0.96);

  transform-origin: right bottom;

  pointer-events: none;

  transition:
    visibility 0.3s ease,
    opacity 0.3s ease,
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.whatsapp-popup.is-open {
  visibility: visible;
  opacity: 1;

  transform:
    translateY(0) scale(1);

  pointer-events: auto;
}

/* Small popup arrow */
.whatsapp-popup::after {
  content: "";

  position: absolute;

  right: 27px;
  bottom: -8px;

  width: 16px;
  height: 16px;

  background: #fffafa;

  border-right: 1px solid rgba(26, 19, 17, 0.08);
  border-bottom: 1px solid rgba(26, 19, 17, 0.08);

  transform: rotate(45deg);
}

/* =========================================================
   CLOSE BUTTON
========================================================= */

.whatsapp-popup-close {
  position: absolute;
  z-index: 3;

  top: 10px;
  right: 10px;

  width: 30px;
  height: 30px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  color: #8a7975;

  background: #f7eeee;

  border: 0;
  border-radius: 50%;

  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    transform 0.25s ease;
}

.whatsapp-popup-close i {
  font-size: 11px;
}

.whatsapp-popup-close:hover {
  color: #ffffff;
  background: #b81720;

  transform: rotate(90deg);
}

/* =========================================================
   POPUP HEADER
========================================================= */

.whatsapp-popup-header {
  display: flex;
  align-items: center;

  gap: 12px;

  padding-right: 32px;
  padding-bottom: 15px;

  border-bottom: 1px solid #eee4e2;
}

.whatsapp-popup-logo {
  flex: 0 0 53px;

  width: 53px;
  height: 53px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;

  padding: 3px;

  background: #ffffff;

  border: 1px solid rgba(184, 23, 32, 0.1);
  border-radius: 13px;

  box-shadow:
    0 8px 20px rgba(48, 28, 25, 0.1);
}

.whatsapp-popup-logo img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: contain;
}

.whatsapp-popup-header>div {
  min-width: 0;

  display: flex;
  flex-direction: column;

  line-height: 1.35;
}

.whatsapp-popup-header strong {
  margin-bottom: 4px;

  color: #302623;

  font-size: 13px;
  font-weight: 780;
}

.whatsapp-online-status {
  display: inline-flex;
  align-items: center;

  gap: 6px;

  color: #7d6e6b;

  font-size: 8px;
  font-weight: 600;
}

.whatsapp-online-status i {
  width: 7px;
  height: 7px;

  display: inline-block;

  background: #25d366;

  border-radius: 50%;

  box-shadow:
    0 0 0 3px rgba(37, 211, 102, 0.13);
}

/* =========================================================
   MESSAGE
========================================================= */

.whatsapp-popup-message {
  display: flex;
  align-items: flex-start;

  gap: 10px;

  margin: 15px 0;
  padding: 12px;

  background:
    linear-gradient(135deg,
      #f3fff7,
      #fbfffc);

  border: 1px solid rgba(37, 211, 102, 0.13);
  border-radius: 12px;
}

.whatsapp-message-icon {
  flex: 0 0 31px;

  width: 31px;
  height: 31px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #159447;

  background: rgba(37, 211, 102, 0.11);

  border-radius: 8px;
}

.whatsapp-message-icon i {
  font-size: 12px;
}

.whatsapp-popup-message p {
  margin: 0;
  padding-top: 1px;

  color: #554744;

  font-size: 9px;
  line-height: 1.6;
}

/* =========================================================
   WHATSAPP ACTION BUTTON
========================================================= */

.whatsapp-popup-button {
  min-height: 46px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 9px;

  padding: 11px 14px;

  color: #ffffff;

  text-decoration: none;

  background:
    linear-gradient(135deg,
      #2dd269,
      #148e43);

  border-radius: 11px;

  box-shadow:
    0 10px 23px rgba(20, 143, 67, 0.22);

  font-size: 9px;
  font-weight: 750;

  transition:
    color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.whatsapp-popup-button:hover {
  color: #ffffff;

  box-shadow:
    0 15px 30px rgba(20, 143, 67, 0.31);

  transform: translateY(-3px);
}

.whatsapp-popup-button i:first-child {
  font-size: 16px;
}

.whatsapp-popup-button i:last-child {
  margin-left: auto;

  font-size: 10px;

  transition: transform 0.3s ease;
}

.whatsapp-popup-button:hover i:last-child {
  transform: translateX(4px);
}

/* =========================================================
   BACK TO TOP POSITION
========================================================= */

.back-to-top {
  position: fixed;
  z-index: 1085;

  right: 28px;
  bottom: 91px;

  width: 42px;
  height: 42px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background:
    linear-gradient(135deg,
      #d92f38,
      #930a11);

  border: 0;
  border-radius: 50%;

  box-shadow:
    0 10px 24px rgba(150, 10, 18, 0.25);
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {
  .whatsapp-floating-wrap {
    right: 15px;
    bottom: 17px;
  }

  .floating-whatsapp {
    min-width: 52px;
    width: 52px;
    height: 52px;

    padding: 0;

    border-radius: 50%;
  }

  .floating-whatsapp-text {
    display: none;
  }

  .floating-whatsapp>i {
    font-size: 23px;
  }

  .whatsapp-popup {
    position: fixed;

    right: 12px;
    bottom: 82px;
    left: 12px;

    width: auto;
    max-width: 350px;

    margin-left: auto;
  }

  .whatsapp-popup::after {
    right: 24px;
  }

  .back-to-top {
    right: 20px;
    bottom: 82px;

    width: 39px;
    height: 39px;
  }

  /* Move back-to-top above the popup trigger */
  .whatsapp-popup.is-open~.floating-whatsapp {
    transform: none;
  }
}

@media (max-width: 389.98px) {
  .whatsapp-popup {
    right: 9px;
    left: 9px;

    padding: 15px;
  }

  .whatsapp-popup-logo {
    flex-basis: 48px;

    width: 48px;
    height: 48px;
  }

  .whatsapp-popup-header strong {
    font-size: 12px;
  }
}

/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none),
(pointer: coarse) {

  .floating-whatsapp:hover,
  .whatsapp-popup-button:hover {
    transform: none;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .floating-whatsapp-pulse {
    animation: none;
  }

  .floating-whatsapp,
  .whatsapp-popup,
  .whatsapp-popup-button,
  .whatsapp-popup-close {
    transition: none;
  }
}

/* =========================================================
   RIGHT-SIDE STICKY SOCIAL MEDIA
========================================================= */

.sticky-social-media {
  position: fixed;
  z-index: 1080;

  top: 50%;
  right: 0;

  display: flex;
  flex-direction: column;

  gap: 7px;

  padding: 7px 0 7px 7px;

  transform: translateY(-50%);
}

/* Individual link */
.sticky-social-link {
  position: relative;

  width: 48px;
  height: 48px;

  display: flex;
  align-items: center;
  justify-content: flex-end;

  overflow: hidden;

  color: #ffffff;
  text-decoration: none;

  border-radius: 12px 0 0 12px;

  box-shadow:
    0 8px 22px rgba(26, 18, 16, 0.18);

  transition:
    width 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.sticky-social-link:hover {
  width: 138px;

  color: #ffffff;

  box-shadow:
    0 13px 30px rgba(26, 18, 16, 0.27);

  transform: translateX(0);
}

/* Social label */
.sticky-social-label {
  flex: 1;

  padding-left: 15px;

  visibility: hidden;
  opacity: 0;

  font-size: 10px;
  font-weight: 700;

  letter-spacing: 0.2px;

  white-space: nowrap;

  transform: translateX(12px);

  transition:
    visibility 0.3s ease,
    opacity 0.25s ease,
    transform 0.3s ease;
}

.sticky-social-link:hover .sticky-social-label {
  visibility: visible;
  opacity: 1;

  transform: translateX(0);
}

/* Social icon */
.sticky-social-icon {
  flex: 0 0 48px;

  width: 48px;
  height: 48px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: rgba(255, 255, 255, 0.08);

  transition:
    background-color 0.3s ease,
    transform 0.3s ease;
}

.sticky-social-icon i {
  font-size: 18px;
}

.sticky-social-link:hover .sticky-social-icon {
  background: rgba(255, 255, 255, 0.15);

  transform: scale(1.04);
}

/* Facebook */
.social-facebook {
  background:
    linear-gradient(135deg,
      #1877f2,
      #0b51ad);
}

/* Twitter / X */
.social-twitter {
  background:
    linear-gradient(135deg,
      #242424,
      #050505);
}

/* Instagram */
.social-instagram {
  background:
    linear-gradient(135deg,
      #833ab4,
      #e1306c,
      #f77737);
}

/* Telegram */
.social-telegram {
  background:
    linear-gradient(135deg,
      #36aee2,
      #168ac0);
}

/* Keyboard focus */
.sticky-social-link:focus-visible {
  width: 138px;

  color: #ffffff;

  outline: 3px solid rgba(255, 255, 255, 0.7);
  outline-offset: 2px;
}

.sticky-social-link:focus-visible .sticky-social-label {
  visibility: visible;
  opacity: 1;

  transform: translateX(0);
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {
  .sticky-social-link {
    width: 44px;
    height: 44px;
  }

  .sticky-social-icon {
    flex-basis: 44px;

    width: 44px;
    height: 44px;
  }

  .sticky-social-icon i {
    font-size: 16px;
  }

  .sticky-social-link:hover {
    width: 128px;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {
  .sticky-social-media {
    top: 48%;

    gap: 5px;

    padding-left: 5px;
  }

  .sticky-social-link {
    width: 39px;
    height: 39px;

    border-radius: 10px 0 0 10px;
  }

  .sticky-social-icon {
    flex-basis: 39px;

    width: 39px;
    height: 39px;
  }

  .sticky-social-icon i {
    font-size: 14px;
  }

  /* Keep only icons on mobile */
  .sticky-social-link:hover,
  .sticky-social-link:focus-visible {
    width: 39px;
  }

  .sticky-social-label,
  .sticky-social-link:hover .sticky-social-label,
  .sticky-social-link:focus-visible .sticky-social-label {
    display: none;
  }
}

/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none),
(pointer: coarse) {
  .sticky-social-link:hover {
    transform: none;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .sticky-social-link,
  .sticky-social-label,
  .sticky-social-icon {
    transition: none;
  }
}

/* =========================================================
   FINAL TYPOGRAPHY NORMALIZATION
========================================================= */

:root {
  --font-micro: clamp(10px, 0.12vw + 9.5px, 11px);
  --font-small: clamp(11px, 0.16vw + 10.5px, 13px);
  --font-body: clamp(13px, 0.2vw + 12px, 15px);
  --font-card-title: clamp(14px, 0.25vw + 13px, 17px);
}

body {
  font-size: var(--font-body);
}

/* Small labels and kickers */
.topbar-content small,
.topbar-badge small,
.quote-btn-copy small,
.products-menu-footer small,
.about-capability-card small,
.about-certified-card small,
.numbers-kicker,
.number-card-index,
.mv-kicker,
.mv-card-label,
.mv-values-heading span,
.certificate-kicker,
.certificate-badge-copy small,
.why-kicker,
.contact-section-kicker,
.contact-information-heading>span,
.contact-form-kicker,
.contact-detail-content small,
.contact-support-note small,
.footer-top-message small,
.footer-brand-copy small,
.footer-contact-copy small,
.whatsapp-online-status {
  font-size: var(--font-micro) !important;
}

/* Normal supporting text */
.dropdown-copy small,
.hero-points span,
.trust-item>div>span,
.about-feature-copy p,
.capability-strip-item small,
.number-card-copy p,
.numbers-footer-item,
.mv-main-card p,
.mv-value-content p,
.why-feature-content p,
.why-description,
.why-check-item,
.certificate-content>p,
.certificate-badge-copy span,
.certificate-points span,
.contact-section-header p,
.contact-information-heading p,
.contact-form-heading p,
.contact-detail-content strong,
.contact-support-note strong,
.contact-form-note,
.whatsapp-popup-message p,
.premium-footer-about,
.footer-link-list a,
.footer-contact-copy a,
.footer-contact-copy strong,
.footer-bottom-inner p {
  font-size: var(--font-small) !important;
}

/* Main paragraph content */
.hero-content>p,
.about-heading>p,
.numbers-heading p,
.mv-heading p {
  font-size: var(--font-body) !important;
}

/* Card titles */
.about-feature-copy h3,
.number-card-copy h3,
.clean-product-card h3,
.why-feature-content h3,
.mv-value-content strong,
.contact-information-heading h3,
.contact-form-heading h3 {
  font-size: var(--font-card-title) !important;
}

/* Forms */
.contact-form-group .form-label {
  font-size: 12px !important;
}

.contact-form-panel .form-control,
.contact-form-panel .form-select {
  font-size: 13px !important;
}

/* Navbar */
.main-navbar .navbar-nav>.nav-item>.nav-link {
  font-size: 12px;
}

.dropdown-copy strong,
.products-menu .dropdown-item {
  font-size: 12px;
}

/* Footer */
.footer-column h3 {
  font-size: 14px;
}

.footer-brand-copy strong {
  font-size: 14px;
}

/* Keep mobile text readable */
@media (max-width: 575.98px) {
  body {
    font-size: 14px;
  }

  .footer-link-list a,
  .footer-contact-copy a,
  .footer-contact-copy strong,
  .footer-bottom-inner p {
    font-size: 11px !important;
  }

  .about-feature-copy p,
  .why-feature-content p,
  .number-card-copy p,
  .mv-main-card p,
  .mv-value-content p {
    font-size: 11px !important;
  }
}

@media (max-width: 575.98px) {
  .topbar {
    padding: 5px 0;
  }

  .topbar-inner {
    display: block;
  }

  .topbar-contact {
    display: flex;
  }

  .topbar-email,
  .topbar-location,
  .topbar-badges {
    display: none !important;
  }

  .topbar-phone {
    width: 100%;
    min-height: 40px;

    justify-content: center;

    padding: 4px 10px !important;

    border: 0 !important;
  }

  .topbar-phone::after {
    display: none !important;
  }

  .topbar-phone .topbar-icon {
    flex-basis: 31px;

    width: 31px;
    height: 31px;
  }
}

/* BACK-TO-TOP */

.back-to-top {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(12px);

  transition:
    opacity 0.3s ease,
    visibility 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transform: translateY(0);
}

.back-to-top:hover {
  box-shadow:
    0 15px 30px rgba(150, 10, 18, 0.34);

  transform: translateY(-3px);
}


/* =========================================================
   ABOUT PAGE
========================================================= */

.about-page {
  --about-red: #b81720;
  --about-red-dark: #8e0b12;
  --about-red-light: #e03942;

  --about-gold: #e6b75e;

  --about-dark: #241411;
  --about-dark-2: #3d1915;

  --about-text: #2d2422;
  --about-muted: #746865;

  --about-white: #ffffff;
  --about-soft: #fff8f6;

  --about-border: rgba(184, 23, 32, 0.1);

  --about-shadow:
    0 22px 55px rgba(47, 28, 25, 0.1);
}


/* =========================================================
   PAGE HERO
========================================================= */

.about-page-hero {
  position: relative;

  min-height: 470px;

  display: flex;
  align-items: center;

  overflow: hidden;

  padding: 80px 0;

  color: #ffffff;

  background-color: #28100c;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;

  isolation: isolate;
}

.about-page-hero::before {
  content: "";

  position: absolute;
  z-index: -2;

  inset: 0;

  background:
    radial-gradient(
      circle at 15% 50%,
      rgba(196, 34, 42, 0.25),
      transparent 33%
    );
}

.about-page-hero-overlay {
  position: absolute;
  z-index: -1;

  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(14, 4, 2, 0.94) 0%,
      rgba(27, 8, 5, 0.87) 50%,
      rgba(18, 5, 3, 0.7) 100%
    ),
    linear-gradient(
      180deg,
      rgba(10, 3, 2, 0.15),
      rgba(10, 3, 2, 0.65)
    );
}

.about-page-hero-content {
  max-width: 800px;
}

.about-page-eyebrow {
  display: inline-flex;
  align-items: center;

  gap: 8px;

  margin-bottom: 16px;
  padding: 7px 13px;

  color: #f5c66e;

  background: rgba(255, 255, 255, 0.08);

  border: 1px solid rgba(245, 198, 110, 0.22);
  border-radius: 50px;

  font-size: 10px;
  font-weight: 750;

  letter-spacing: 1px;

  text-transform: uppercase;

  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.about-page-hero h1 {
  max-width: 780px;

  margin: 0 0 18px;

  color: #ffffff;

  font-family: "Montserrat", sans-serif;

  font-size: clamp(42px, 5vw, 68px);
  font-weight: 800;

  letter-spacing: -2px;
  line-height: 1.05;
}

.about-page-hero h1 span {
  display: block;

  color: var(--about-gold);
}

.about-page-hero-content > p {
  max-width: 650px;

  margin: 0;

  color: rgba(255, 255, 255, 0.75);

  font-size: 14px;
  line-height: 1.75;
}

.about-breadcrumb {
  display: flex;
  align-items: center;

  gap: 9px;

  margin-top: 26px;
}

.about-breadcrumb a,
.about-breadcrumb span {
  display: inline-flex;
  align-items: center;

  gap: 6px;

  color: rgba(255, 255, 255, 0.75);

  font-size: 10px;
  font-weight: 650;
}

.about-breadcrumb a {
  transition: color 0.25s ease;
}

.about-breadcrumb a:hover {
  color: var(--about-gold);
}

.about-breadcrumb > i {
  color: rgba(255, 255, 255, 0.35);

  font-size: 8px;
}

.about-breadcrumb span {
  color: var(--about-gold);
}

.about-hero-bottom-line {
  position: absolute;

  right: 0;
  bottom: 0;
  left: 0;

  height: 4px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--about-red),
      var(--about-gold),
      var(--about-red),
      transparent
    );
}


/* =========================================================
   REUSABLE HEADING
========================================================= */

.about-page-heading {
  max-width: 760px;

  margin-bottom: 42px;
}

.about-page-heading.text-center {
  margin-right: auto;
  margin-left: auto;
}

.about-page-kicker {
  display: inline-flex;
  align-items: center;

  gap: 7px;

  margin-bottom: 13px;
  padding: 7px 12px;

  color: var(--about-red);

  background: rgba(184, 23, 32, 0.07);

  border: 1px solid rgba(184, 23, 32, 0.11);
  border-radius: 50px;

  font-size: 9px;
  font-weight: 800;

  letter-spacing: 1px;

  text-transform: uppercase;
}

.about-page-heading h2,
.about-company-content h2 {
  margin: 0 0 15px;

  color: var(--about-text);

  font-family: "Montserrat", sans-serif;

  font-size: clamp(34px, 4vw, 50px);
  font-weight: 800;

  letter-spacing: -1.6px;
  line-height: 1.1;
}

.about-page-heading h2 span,
.about-company-content h2 span {
  display: block;

  color: var(--about-red);
}

.about-page-heading p {
  max-width: 650px;

  margin: 0;

  color: var(--about-muted);

  font-size: 13px;
  line-height: 1.75;
}

.about-page-heading.text-center p {
  margin-right: auto;
  margin-left: auto;
}

.about-page-heading.light h2 {
  color: #ffffff;
}

.about-page-heading.light h2 span {
  color: var(--about-gold);
}

.about-page-heading.light p {
  color: rgba(255, 255, 255, 0.65);
}

.about-page-heading.light .about-page-kicker {
  color: var(--about-gold);

  background: rgba(255, 255, 255, 0.07);

  border-color: rgba(230, 183, 94, 0.2);
}


/* =========================================================
   COMPANY SECTION
========================================================= */

.about-company-section {
  position: relative;

  padding: 100px 0;

  overflow: hidden;

  background:
    radial-gradient(
      circle at 8% 18%,
      rgba(184, 23, 32, 0.06),
      transparent 27%
    ),
    linear-gradient(
      135deg,
      #fffafa,
      #ffffff 52%,
      #fff8f3
    );

  isolation: isolate;
}

.about-page-shape {
  position: absolute;
  z-index: -1;

  display: block;

  border-radius: 50%;

  pointer-events: none;
}

.about-page-shape-one {
  top: 50px;
  left: -170px;

  width: 340px;
  height: 340px;

  border: 55px solid rgba(184, 23, 32, 0.03);
}

.about-page-shape-two {
  right: -110px;
  bottom: -120px;

  width: 280px;
  height: 280px;

  background: rgba(230, 183, 94, 0.07);
}


/* =========================================================
   COMPANY VISUAL
========================================================= */

.about-company-visual {
  position: relative;

  min-height: 620px;

  padding: 20px 50px 55px 0;
}

.about-company-main-image {
  position: relative;

  width: calc(100% - 38px);
  height: 565px;

  margin-left: auto;

  overflow: hidden;

  padding: 11px;

  background: #ffffff;

  border: 1px solid var(--about-border);
  border-radius: 28px;

  box-shadow:
    0 32px 75px rgba(47, 28, 25, 0.16);
}

.about-company-main-image img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  border-radius: 19px;

  transition: transform 0.7s ease;
}

.about-company-main-image:hover img {
  transform: scale(1.06);
}

.about-company-image-overlay {
  position: absolute;

  inset: 11px;

  border-radius: 19px;

  background:
    linear-gradient(
      180deg,
      transparent 50%,
      rgba(25, 8, 5, 0.7)
    );

  pointer-events: none;
}

.about-company-image-caption {
  position: absolute;

  right: 30px;
  bottom: 28px;
  left: 30px;

  display: flex;
  align-items: center;

  gap: 11px;

  padding: 12px;

  color: #ffffff;

  background: rgba(24, 8, 6, 0.68);

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.about-company-image-caption > span {
  width: 39px;
  height: 39px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 39px;

  background:
    linear-gradient(
      135deg,
      var(--about-red-light),
      var(--about-red-dark)
    );

  border-radius: 10px;
}

.about-company-image-caption > div {
  display: flex;
  flex-direction: column;
}

.about-company-image-caption small {
  color: rgba(255, 255, 255, 0.58);

  font-size: 9px;
}

.about-company-image-caption strong {
  font-size: 12px;
}


/* Small image */

.about-company-small-image {
  position: absolute;
  z-index: 5;

  left: 0;
  bottom: 0;

  width: 210px;
  height: 200px;

  overflow: hidden;

  padding: 8px;

  background: #ffffff;

  border: 1px solid var(--about-border);
  border-radius: 21px;

  box-shadow:
    0 24px 50px rgba(40, 22, 20, 0.2);

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.about-company-small-image:hover {
  transform: translateY(-7px) rotate(-2deg);

  box-shadow:
    0 30px 62px rgba(40, 22, 20, 0.26);
}

.about-company-small-image img {
  width: 100%;
  height: 100%;

  object-fit: cover;

  border-radius: 14px;
}


/* Floating cards */

.about-floating-certification,
.about-floating-madein {
  position: absolute;
  z-index: 8;

  display: flex;
  align-items: center;

  gap: 10px;

  border-radius: 13px;

  box-shadow:
    0 17px 37px rgba(34, 20, 18, 0.18);

  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.about-floating-certification {
  top: 65px;
  left: -5px;

  padding: 11px 14px 11px 9px;

  background: rgba(255, 255, 255, 0.97);

  border: 1px solid var(--about-border);
}

.about-floating-certification > span {
  width: 39px;
  height: 39px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      var(--about-red-light),
      var(--about-red-dark)
    );

  border-radius: 10px;
}

.about-floating-certification div,
.about-floating-madein span {
  display: flex;
  flex-direction: column;
}

.about-floating-certification small {
  color: var(--about-muted);

  font-size: 8px;
}

.about-floating-certification strong {
  color: var(--about-text);

  font-size: 11px;
}

.about-floating-madein {
  right: 0;
  bottom: 130px;

  padding: 11px 14px;

  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      #281411,
      #461c17
    );

  border: 1px solid rgba(255, 255, 255, 0.1);
}

.about-floating-madein > i {
  color: #f1bc61;

  font-size: 17px;
}

.about-floating-madein small {
  color: rgba(255, 255, 255, 0.5);

  font-size: 8px;
}

.about-floating-madein strong {
  color: #ffffff;

  font-size: 11px;
}

.about-floating-certification:hover {
  transform: translateY(-5px);
}

.about-floating-madein:hover {
  transform: translateX(-5px);
}


/* =========================================================
   COMPANY CONTENT
========================================================= */

.about-company-content {
  max-width: 650px;

  margin-left: auto;
}

.about-company-content > p {
  margin: 0 0 13px;

  color: var(--about-muted);

  font-size: 12px;
  line-height: 1.75;
}

.about-company-content .about-company-lead {
  color: #4b3b38;

  font-size: 14px;
  font-weight: 600;
}


/* Points */

.about-company-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 10px;

  margin-top: 24px;
}

.about-company-points > div {
  display: flex;
  align-items: center;

  gap: 9px;

  padding: 11px;

  background: #ffffff;

  border: 1px solid var(--about-border);
  border-radius: 11px;

  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.about-company-points > div:hover {
  border-color: rgba(184, 23, 32, 0.2);

  box-shadow:
    0 10px 24px rgba(47, 28, 25, 0.08);

  transform: translateY(-3px);
}

.about-company-points > div > span {
  width: 29px;
  height: 29px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 29px;

  color: #ffffff;

  background: var(--about-red);

  border-radius: 8px;

  font-size: 12px;
}

.about-company-points p {
  margin: 0;

  color: #574946;

  font-size: 10px;
  font-weight: 600;

  line-height: 1.45;
}


/* Actions */

.about-company-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 18px;

  margin-top: 26px;
}

.about-page-primary-btn {
  min-height: 52px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  padding: 12px 19px;

  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      var(--about-red-light),
      var(--about-red-dark)
    );

  border-radius: 11px;

  box-shadow:
    0 12px 26px rgba(164, 12, 20, 0.24);

  font-size: 11px;
  font-weight: 750;

  transition:
    color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.about-page-primary-btn:hover {
  color: #ffffff;

  box-shadow:
    0 17px 34px rgba(164, 12, 20, 0.32);

  transform: translateY(-3px);
}

.about-page-primary-btn i {
  transition: transform 0.3s ease;
}

.about-page-primary-btn:hover i {
  transform: translateX(4px);
}


.about-page-secondary-link {
  display: inline-flex;
  align-items: center;

  gap: 10px;
}

.about-page-secondary-link > span {
  width: 42px;
  height: 42px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: var(--about-red);

  background: #ffffff;

  border: 1px solid var(--about-border);
  border-radius: 11px;

  box-shadow:
    0 7px 17px rgba(46, 27, 24, 0.07);

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.about-page-secondary-link:hover > span {
  color: #ffffff;

  background: var(--about-red);

  transform: rotate(-5deg);
}

.about-page-secondary-link > div {
  display: flex;
  flex-direction: column;
}

.about-page-secondary-link small {
  color: #8d7b77;

  font-size: 9px;
}

.about-page-secondary-link strong {
  color: var(--about-text);

  font-size: 11px;
}


/* =========================================================
   CAPABILITY SECTION
========================================================= */

.about-capabilities-section {
  position: relative;

  padding: 95px 0;

  background: #ffffff;
}

.about-capabilities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 15px;
}

.about-capability-item {
  position: relative;

  min-height: 245px;

  overflow: hidden;

  padding: 24px;

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #fffafa
    );

  border: 1px solid var(--about-border);
  border-radius: 18px;

  box-shadow:
    0 12px 34px rgba(48, 28, 25, 0.07);

  transition:
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;
}

.about-capability-item::before {
  content: "";

  position: absolute;

  top: -120%;
  left: -60%;

  width: 32%;
  height: 330%;

  background: rgba(255, 255, 255, 0.7);

  transform: rotate(25deg);

  transition: left 0.7s ease;
}

.about-capability-item:hover {
  border-color: rgba(184, 23, 32, 0.19);

  box-shadow:
    0 22px 47px rgba(48, 28, 25, 0.13);

  transform: translateY(-8px);
}

.about-capability-item:hover::before {
  left: 135%;
}

.about-capability-number {
  position: absolute;

  top: 17px;
  right: 18px;

  color: rgba(184, 23, 32, 0.13);

  font-size: 20px;
  font-weight: 800;
}

.about-capability-icon {
  width: 50px;
  height: 50px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 19px;

  color: var(--about-red);

  background: rgba(184, 23, 32, 0.075);

  border-radius: 12px;

  font-size: 18px;

  transition:
    color 0.3s ease,
    background 0.3s ease,
    transform 0.3s ease;
}

.about-capability-item:hover .about-capability-icon {
  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      var(--about-red-light),
      var(--about-red-dark)
    );

  transform: rotate(-6deg) scale(1.06);
}

.about-capability-item h3 {
  margin: 0 0 8px;

  color: var(--about-text);

  font-size: 15px;
  font-weight: 750;
}

.about-capability-item p {
  margin: 0;

  color: var(--about-muted);

  font-size: 11px;
  line-height: 1.65;
}

.about-capability-item a {
  position: absolute;

  left: 24px;
  bottom: 21px;

  display: inline-flex;
  align-items: center;

  gap: 7px;

  color: var(--about-red);

  font-size: 10px;
  font-weight: 750;
}

.about-capability-item a i {
  transition: transform 0.3s ease;
}

.about-capability-item:hover a i {
  transform: translateX(4px);
}


/* =========================================================
   PURPOSE SECTION
========================================================= */

.about-purpose-section {
  position: relative;

  padding: 95px 0;

  overflow: hidden;

  color: #ffffff;

  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;

  isolation: isolate;
}

.about-purpose-overlay {
  position: absolute;
  z-index: -1;

  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(15, 5, 3, 0.95),
      rgba(38, 14, 9, 0.87),
      rgba(17, 5, 3, 0.9)
    );
}

.about-purpose-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 18px;

  max-width: 980px;

  margin: 0 auto;
}

.about-purpose-card {
  position: relative;

  min-height: 260px;

  overflow: hidden;

  padding: 26px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.11),
      rgba(255, 255, 255, 0.045)
    );

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;

  backdrop-filter: blur(11px);
  -webkit-backdrop-filter: blur(11px);

  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.17);

  transition:
    border-color 0.35s ease,
    background 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;
}

.about-purpose-card:hover {
  background:
    linear-gradient(
      145deg,
      rgba(184, 23, 32, 0.3),
      rgba(255, 255, 255, 0.06)
    );

  border-color: rgba(230, 183, 94, 0.32);

  box-shadow:
    0 26px 54px rgba(0, 0, 0, 0.25);

  transform: translateY(-7px);
}

.about-purpose-top {
  display: flex;
  align-items: center;
  justify-content: space-between;

  margin-bottom: 18px;
}

.about-purpose-icon {
  width: 50px;
  height: 50px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: var(--about-gold);

  background: rgba(230, 183, 94, 0.1);

  border: 1px solid rgba(230, 183, 94, 0.15);
  border-radius: 12px;

  font-size: 18px;

  transition:
    color 0.3s ease,
    background 0.3s ease,
    transform 0.3s ease;
}

.about-purpose-card:hover .about-purpose-icon {
  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      var(--about-red-light),
      var(--about-red-dark)
    );

  transform: rotate(-5deg);
}

.about-purpose-number {
  color: rgba(255, 255, 255, 0.15);

  font-size: 25px;
  font-weight: 800;
}

.about-purpose-card > small {
  display: block;

  margin-bottom: 6px;

  color: var(--about-gold);

  font-size: 9px;
  font-weight: 750;

  letter-spacing: 1px;

  text-transform: uppercase;
}

.about-purpose-card h3 {
  margin: 0 0 10px;

  color: #ffffff;

  font-size: 21px;
  font-weight: 750;
}

.about-purpose-card p {
  margin: 0;

  color: rgba(255, 255, 255, 0.63);

  font-size: 11px;
  line-height: 1.7;
}

.about-purpose-line {
  position: absolute;

  right: 22%;
  bottom: 0;
  left: 22%;

  height: 3px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--about-red),
      var(--about-gold),
      transparent
    );

  transform: scaleX(0);

  transition: transform 0.35s ease;
}

.about-purpose-card:hover .about-purpose-line {
  transform: scaleX(1);
}


/* =========================================================
   VALUES
========================================================= */

.about-values-section {
  padding: 95px 0;

  background:
    radial-gradient(
      circle at 92% 15%,
      rgba(230, 183, 94, 0.09),
      transparent 27%
    ),
    linear-gradient(
      135deg,
      #fffafa,
      #ffffff
    );
}

.about-values-intro {
  max-width: 500px;

  margin: 0;

  color: var(--about-muted);

  font-size: 12px;
  line-height: 1.75;
}

.about-values-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 13px;
}

.about-value-card {
  position: relative;

  min-height: 165px;

  display: flex;
  align-items: flex-start;

  gap: 12px;

  padding: 20px;

  background: #ffffff;

  border: 1px solid var(--about-border);
  border-radius: 16px;

  box-shadow:
    0 10px 27px rgba(44, 26, 23, 0.065);

  transition:
    background-color 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.about-value-card:hover {
  border-color: rgba(184, 23, 32, 0.18);

  background: #fff4f2;

  box-shadow:
    0 18px 38px rgba(44, 26, 23, 0.11);

  transform: translateY(-6px);
}

.about-value-icon {
  width: 45px;
  height: 45px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 45px;

  color: var(--about-red);

  background: rgba(184, 23, 32, 0.075);

  border-radius: 11px;

  font-size: 17px;

  transition:
    color 0.3s ease,
    background 0.3s ease,
    transform 0.3s ease;
}

.about-value-card:hover .about-value-icon {
  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      var(--about-red-light),
      var(--about-red-dark)
    );

  transform: rotate(-5deg);
}

.about-value-card > div > span {
  display: block;

  margin-bottom: 4px;

  color: rgba(184, 23, 32, 0.35);

  font-size: 9px;
  font-weight: 800;
}

.about-value-card h3 {
  margin: 0 0 6px;

  font-size: 13px;
  font-weight: 750;
}

.about-value-card p {
  margin: 0;

  color: var(--about-muted);

  font-size: 10px;
  line-height: 1.6;
}


/* =========================================================
   PROCESS
========================================================= */

.about-process-section {
  padding: 95px 0;

  background: #ffffff;
}

.about-process-grid {
  position: relative;

  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 14px;
}

.about-process-grid::before {
  content: "";

  position: absolute;

  top: 54px;
  right: 11%;
  left: 11%;

  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(184, 23, 32, 0.2),
      var(--about-gold),
      rgba(184, 23, 32, 0.2),
      transparent
    );
}

.about-process-card {
  position: relative;
  z-index: 2;

  min-height: 225px;

  padding: 22px;

  text-align: center;

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #fffafa
    );

  border: 1px solid var(--about-border);
  border-radius: 17px;

  box-shadow:
    0 10px 28px rgba(45, 27, 24, 0.07);

  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.about-process-card:hover {
  border-color: rgba(184, 23, 32, 0.18);

  box-shadow:
    0 20px 40px rgba(45, 27, 24, 0.12);

  transform: translateY(-7px);
}

.about-process-number {
  position: absolute;

  top: 15px;
  right: 16px;

  color: rgba(184, 23, 32, 0.15);

  font-size: 17px;
  font-weight: 800;
}

.about-process-icon {
  width: 58px;
  height: 58px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 17px;

  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      var(--about-red-light),
      var(--about-red-dark)
    );

  border: 6px solid #fff2f0;
  border-radius: 50%;

  box-shadow:
    0 9px 22px rgba(159, 11, 18, 0.2);

  font-size: 18px;

  transition: transform 0.3s ease;
}

.about-process-card:hover .about-process-icon {
  transform: rotate(-6deg) scale(1.06);
}

.about-process-card h3 {
  margin: 0 0 8px;

  font-size: 13px;
  font-weight: 750;
}

.about-process-card p {
  margin: 0;

  color: var(--about-muted);

  font-size: 10px;
  line-height: 1.65;
}


/* =========================================================
   QUALITY
========================================================= */

.about-quality-section {
  padding: 95px 0;

  background:
    linear-gradient(
      135deg,
      #fff9f7,
      #ffffff
    );
}

.about-quality-panel {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;

  gap: 45px;

  overflow: hidden;

  padding: 48px;

  color: #ffffff;

  background:
    radial-gradient(
      circle at right top,
      rgba(255, 255, 255, 0.1),
      transparent 33%
    ),
    linear-gradient(
      135deg,
      #21110e,
      #3e1915 55%,
      #220d0b
    );

  border-radius: 26px;

  box-shadow:
    0 32px 75px rgba(42, 20, 17, 0.2);
}

.about-quality-copy .about-page-kicker {
  color: var(--about-gold);

  background: rgba(255, 255, 255, 0.07);

  border-color: rgba(230, 183, 94, 0.18);
}

.about-quality-copy h2 {
  margin: 0 0 16px;

  font-family: "Montserrat", sans-serif;

  font-size: clamp(32px, 4vw, 48px);
  font-weight: 800;

  letter-spacing: -1.5px;
  line-height: 1.1;
}

.about-quality-copy h2 span {
  display: block;

  color: var(--about-gold);
}

.about-quality-copy > p {
  margin: 0;

  color: rgba(255, 255, 255, 0.64);

  font-size: 12px;
  line-height: 1.75;
}

.about-quality-points {
  display: flex;
  flex-wrap: wrap;

  gap: 9px 17px;

  margin-top: 22px;
}

.about-quality-points span {
  display: inline-flex;
  align-items: center;

  gap: 7px;

  color: rgba(255, 255, 255, 0.76);

  font-size: 10px;
}

.about-quality-points i {
  color: var(--about-gold);
}

.about-quality-cards {
  display: grid;

  gap: 11px;
}

.about-quality-cards article {
  display: flex;
  align-items: center;

  gap: 12px;

  padding: 15px;

  background: rgba(255, 255, 255, 0.08);

  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 13px;

  transition:
    background 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease;
}

.about-quality-cards article:hover {
  background: rgba(184, 23, 32, 0.3);

  border-color: rgba(230, 183, 94, 0.3);

  transform: translateX(5px);
}

.about-quality-cards article > i {
  width: 44px;
  height: 44px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  flex: 0 0 44px;

  color: var(--about-gold);

  background: rgba(230, 183, 94, 0.1);

  border-radius: 10px;

  font-size: 17px;
}

.about-quality-cards article > span {
  display: flex;
  flex-direction: column;
}

.about-quality-cards small {
  color: rgba(255, 255, 255, 0.48);

  font-size: 9px;
}

.about-quality-cards strong {
  color: #ffffff;

  font-size: 13px;
}


/* =========================================================
   FINAL CTA
========================================================= */

.about-final-cta {
  padding: 35px 0 90px;

  background: #ffffff;
}

.about-final-cta-panel {
  position: relative;

  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;

  gap: 24px;

  overflow: hidden;

  padding: 30px;

  background:
    radial-gradient(
      circle at right top,
      rgba(255, 255, 255, 0.16),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      var(--about-red-light),
      var(--about-red-dark)
    );

  border-radius: 21px;

  box-shadow:
    0 20px 48px rgba(160, 10, 18, 0.23);
}

.about-final-cta-icon {
  width: 62px;
  height: 62px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  background: rgba(255, 255, 255, 0.12);

  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 15px;

  font-size: 23px;
}

.about-final-cta-copy > span {
  display: block;

  margin-bottom: 5px;

  color: rgba(255, 255, 255, 0.65);

  font-size: 9px;
  font-weight: 750;

  letter-spacing: 0.8px;

  text-transform: uppercase;
}

.about-final-cta-copy h2 {
  margin: 0 0 6px;

  color: #ffffff;

  font-family: "Montserrat", sans-serif;

  font-size: clamp(23px, 3vw, 34px);
  font-weight: 750;

  letter-spacing: -0.8px;
}

.about-final-cta-copy h2 strong {
  color: #ffe1a5;

  font-weight: inherit;
}

.about-final-cta-copy p {
  margin: 0;

  color: rgba(255, 255, 255, 0.68);

  font-size: 10px;
}

.about-final-cta-actions {
  display: flex;
  align-items: center;

  gap: 9px;
}

.about-final-primary,
.about-final-whatsapp {
  min-height: 46px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 8px;

  padding: 10px 15px;

  border-radius: 10px;

  font-size: 10px;
  font-weight: 750;

  white-space: nowrap;

  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.about-final-primary {
  color: var(--about-red);

  background: #ffffff;

  box-shadow:
    0 9px 20px rgba(62, 4, 8, 0.17);
}

.about-final-primary:hover {
  color: var(--about-red);

  transform: translateY(-3px);
}

.about-final-whatsapp {
  color: #ffffff;

  background: #159447;

  border: 1px solid rgba(255, 255, 255, 0.13);
}

.about-final-whatsapp:hover {
  color: #ffffff;

  transform: translateY(-3px);
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

  .about-company-section,
  .about-capabilities-section,
  .about-purpose-section,
  .about-values-section,
  .about-process-section,
  .about-quality-section {
    padding: 82px 0;
  }

  .about-company-visual {
    min-height: 570px;
  }

  .about-company-main-image {
    height: 515px;
  }

  .about-capabilities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-values-grid,
  .about-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-process-grid::before {
    display: none;
  }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

  .about-page-hero {
    min-height: 420px;

    text-align: center;
  }

  .about-page-hero-content {
    margin: 0 auto;
  }

  .about-page-hero-content > p {
    margin-right: auto;
    margin-left: auto;
  }

  .about-breadcrumb {
    justify-content: center;
  }

  .about-company-visual {
    max-width: 680px;

    margin: 0 auto;
  }

  .about-company-content {
    max-width: 720px;

    margin: 15px auto 0;
  }

  .about-company-content {
    text-align: center;
  }

  .about-company-points {
    text-align: left;
  }

  .about-company-actions {
    justify-content: center;
  }

  .about-purpose-section {
    background-attachment: scroll;
  }

  .about-purpose-grid {
    grid-template-columns: 1fr;

    max-width: 700px;
  }

  .about-quality-panel {
    grid-template-columns: 1fr;

    max-width: 760px;

    margin: 0 auto;
  }

  .about-quality-copy {
    text-align: center;
  }

  .about-quality-points {
    justify-content: center;
  }

  .about-final-cta-panel {
    grid-template-columns: auto 1fr;
  }

  .about-final-cta-actions {
    grid-column: 1 / -1;

    justify-content: center;
  }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

  .about-page-hero {
    min-height: 390px;

    padding: 65px 0;
  }

  .about-page-hero h1 {
    font-size: 38px;

    letter-spacing: -1.2px;
  }

  .about-page-hero-content > p {
    font-size: 12px;
  }

  .about-company-section,
  .about-capabilities-section,
  .about-purpose-section,
  .about-values-section,
  .about-process-section,
  .about-quality-section {
    padding: 68px 0;
  }

  .about-company-visual {
    min-height: 500px;

    padding: 0 18px 55px;
  }

  .about-company-main-image {
    width: 100%;
    height: 445px;
  }

  .about-company-small-image {
    width: 160px;
    height: 155px;
  }

  .about-floating-certification {
    top: 25px;
    left: 0;
  }

  .about-floating-madein {
    right: 0;
    bottom: 80px;
  }

  .about-company-content h2,
  .about-page-heading h2 {
    font-size: 34px;
  }

  .about-capabilities-grid {
    gap: 11px;
  }

  .about-capability-item {
    min-height: 225px;

    padding: 20px;
  }

  .about-purpose-card {
    min-height: auto;

    padding: 22px;
  }

  .about-values-grid,
  .about-process-grid {
    gap: 10px;
  }

  .about-quality-panel {
    padding: 34px 24px;

    border-radius: 21px;
  }

  .about-final-cta-panel {
    grid-template-columns: 1fr;

    text-align: center;
  }

  .about-final-cta-icon {
    margin: 0 auto;
  }

  .about-final-cta-actions {
    grid-column: auto;

    flex-wrap: wrap;
  }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .about-page-hero {
    min-height: 350px;

    padding: 55px 0;
  }

  .about-page-hero .container,
  .about-company-section .container,
  .about-capabilities-section .container,
  .about-purpose-section .container,
  .about-values-section .container,
  .about-process-section .container,
  .about-quality-section .container,
  .about-final-cta .container {
    padding-right: 13px;
    padding-left: 13px;
  }

  .about-page-hero h1 {
    font-size: 30px;

    letter-spacing: -0.8px;
  }

  .about-page-eyebrow,
  .about-page-kicker {
    font-size: 8px;
  }

  .about-company-section,
  .about-capabilities-section,
  .about-purpose-section,
  .about-values-section,
  .about-process-section,
  .about-quality-section {
    padding: 56px 0;
  }

  .about-company-visual {
    min-height: 435px;

    padding-right: 7px;
    padding-left: 7px;
  }

  .about-company-main-image {
    height: 375px;

    padding: 8px;

    border-radius: 22px;
  }

  .about-company-main-image img,
  .about-company-image-overlay {
    border-radius: 15px;
  }

  .about-company-image-overlay {
    inset: 8px;
  }

  .about-company-image-caption {
    right: 17px;
    bottom: 17px;
    left: 17px;
  }

  .about-company-small-image {
    width: 125px;
    height: 120px;
  }

  .about-floating-certification {
    max-width: 175px;

    padding-right: 10px;
  }

  .about-floating-certification small,
  .about-floating-madein small {
    display: none;
  }

  .about-floating-madein {
    bottom: 70px;
  }

  .about-company-content h2,
  .about-page-heading h2 {
    font-size: 29px;

    letter-spacing: -1px;
  }

  .about-company-content > p {
    font-size: 11px;
  }

  .about-company-points {
    grid-template-columns: 1fr;
  }

  .about-company-actions {
    flex-direction: column;
  }

  .about-page-primary-btn {
    width: 100%;
  }

  .about-capabilities-grid,
  .about-values-grid,
  .about-process-grid {
    grid-template-columns: 1fr;
  }

  .about-capability-item {
    min-height: 205px;
  }

  .about-values-intro {
    font-size: 11px;
  }

  .about-value-card {
    min-height: auto;
  }

  .about-process-card {
    min-height: auto;
  }

  .about-quality-panel {
    padding: 27px 18px;
  }

  .about-quality-copy h2 {
    font-size: 29px;
  }

  .about-quality-points {
    flex-direction: column;
    align-items: center;
  }

  .about-final-cta {
    padding: 20px 0 60px;
  }

  .about-final-cta-panel {
    padding: 24px 18px;
  }

  .about-final-cta-actions {
    flex-direction: column;
  }

  .about-final-primary,
  .about-final-whatsapp {
    width: 100%;
  }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .about-page-hero h1 {
    font-size: 27px;
  }

  .about-company-visual {
    min-height: 400px;
  }

  .about-company-main-image {
    height: 345px;
  }

  .about-company-small-image {
    width: 108px;
    height: 105px;
  }

  .about-floating-certification {
    max-width: 155px;
  }

  .about-floating-certification strong,
  .about-floating-madein strong {
    font-size: 9px;
  }

  .about-company-content h2,
  .about-page-heading h2,
  .about-quality-copy h2 {
    font-size: 26px;
  }
}


/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none), (pointer: coarse) {

  .about-company-small-image:hover,
  .about-floating-certification:hover,
  .about-floating-madein:hover,
  .about-capability-item:hover,
  .about-purpose-card:hover,
  .about-value-card:hover,
  .about-process-card:hover,
  .about-quality-cards article:hover,
  .about-page-primary-btn:hover,
  .about-final-primary:hover,
  .about-final-whatsapp:hover {
    transform: none;
  }

  .about-purpose-section {
    background-attachment: scroll;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .about-page *,
  .about-page *::before,
  .about-page *::after {
    animation: none !important;

    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   ABOUT PAGE FONT SIZE IMPROVEMENT
   Add this at the END of main.css
========================================================= */

/* Hero */
.about-page-eyebrow {
  font-size: 11px;
}

.about-page-hero h1 {
  font-size: clamp(44px, 5vw, 70px);
}

.about-page-hero-content > p {
  font-size: 16px;
  line-height: 1.75;
}

.about-breadcrumb a,
.about-breadcrumb span {
  font-size: 11px;
}


/* Common section heading */
.about-page-kicker {
  font-size: 10px;
}

.about-page-heading h2,
.about-company-content h2 {
  font-size: clamp(36px, 4vw, 52px);
}

.about-page-heading p {
  font-size: 14px;
  line-height: 1.75;
}


/* Company introduction */
.about-company-content > p {
  font-size: 13px;
  line-height: 1.8;
}

.about-company-content .about-company-lead {
  font-size: 15px;
}

.about-company-points p {
  font-size: 11px;
}

.about-page-primary-btn {
  font-size: 12px;
}

.about-page-secondary-link small {
  font-size: 10px;
}

.about-page-secondary-link strong {
  font-size: 12px;
}


/* Floating cards */
.about-floating-certification small,
.about-floating-madein small {
  font-size: 9px;
}

.about-floating-certification strong,
.about-floating-madein strong {
  font-size: 12px;
}

.about-company-image-caption small {
  font-size: 10px;
}

.about-company-image-caption strong {
  font-size: 13px;
}


/* Capabilities */
.about-capability-item h3 {
  font-size: 17px;
}

.about-capability-item p {
  font-size: 12px;
  line-height: 1.7;
}

.about-capability-item a {
  font-size: 11px;
}


/* Mission and Vision */
.about-purpose-card > small {
  font-size: 10px;
}

.about-purpose-card h3 {
  font-size: 23px;
}

.about-purpose-card p {
  font-size: 12px;
  line-height: 1.75;
}


/* Values */
.about-values-intro {
  font-size: 13px;
}

.about-value-card > div > span {
  font-size: 10px;
}

.about-value-card h3 {
  font-size: 15px;
}

.about-value-card p {
  font-size: 11px;
  line-height: 1.65;
}


/* Process */
.about-process-number {
  font-size: 18px;
}

.about-process-card h3 {
  font-size: 15px;
}

.about-process-card p {
  font-size: 11px;
  line-height: 1.7;
}


/* Quality section */
.about-quality-copy h2 {
  font-size: clamp(34px, 4vw, 50px);
}

.about-quality-copy > p {
  font-size: 13px;
}

.about-quality-points span {
  font-size: 11px;
}

.about-quality-cards small {
  font-size: 10px;
}

.about-quality-cards strong {
  font-size: 14px;
}


/* Final CTA */
.about-final-cta-copy > span {
  font-size: 10px;
}

.about-final-cta-copy h2 {
  font-size: clamp(25px, 3vw, 36px);
}

.about-final-cta-copy p {
  font-size: 11px;
}

.about-final-primary,
.about-final-whatsapp {
  font-size: 11px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

  .about-page-hero h1 {
    font-size: clamp(40px, 7vw, 56px);
  }

  .about-page-hero-content > p {
    font-size: 15px;
  }

  .about-page-heading h2,
  .about-company-content h2 {
    font-size: clamp(34px, 6vw, 46px);
  }

  .about-page-heading p {
    font-size: 13px;
  }

  .about-company-content > p {
    font-size: 13px;
  }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

  .about-page-hero h1 {
    font-size: 36px;
  }

  .about-page-hero-content > p {
    font-size: 14px;
  }

  .about-page-eyebrow,
  .about-page-kicker {
    font-size: 9px;
  }

  .about-page-heading h2,
  .about-company-content h2 {
    font-size: 32px;
  }

  .about-page-heading p {
    font-size: 13px;
  }

  .about-company-content > p {
    font-size: 12px;
  }

  .about-company-content .about-company-lead {
    font-size: 14px;
  }

  .about-company-points p {
    font-size: 11px;
  }

  .about-capability-item h3 {
    font-size: 16px;
  }

  .about-capability-item p {
    font-size: 11px;
  }

  .about-purpose-card h3 {
    font-size: 21px;
  }

  .about-purpose-card p {
    font-size: 11px;
  }

  .about-value-card h3 {
    font-size: 14px;
  }

  .about-value-card p {
    font-size: 11px;
  }

  .about-process-card h3 {
    font-size: 14px;
  }

  .about-process-card p {
    font-size: 11px;
  }

  .about-quality-copy h2 {
    font-size: 32px;
  }

  .about-quality-copy > p {
    font-size: 12px;
  }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .about-page-hero h1 {
    font-size: 31px;
  }

  .about-page-hero-content > p {
    font-size: 13px;
  }

  .about-page-heading h2,
  .about-company-content h2,
  .about-quality-copy h2 {
    font-size: 28px;
  }

  .about-page-heading p {
    font-size: 12px;
  }

  .about-company-content > p {
    font-size: 12px;
  }

  .about-company-content .about-company-lead {
    font-size: 13px;
  }

  .about-company-points p {
    font-size: 10.5px;
  }

  .about-capability-item h3 {
    font-size: 15px;
  }

  .about-capability-item p {
    font-size: 11px;
  }

  .about-purpose-card h3 {
    font-size: 20px;
  }

  .about-purpose-card p {
    font-size: 11px;
  }

  .about-value-card h3 {
    font-size: 14px;
  }

  .about-value-card p {
    font-size: 10.5px;
  }

  .about-process-card h3 {
    font-size: 14px;
  }

  .about-process-card p {
    font-size: 10.5px;
  }

  .about-quality-points span {
    font-size: 10px;
  }

  .about-final-cta-copy h2 {
    font-size: 26px;
  }

  .about-final-cta-copy p {
    font-size: 10.5px;
  }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .about-page-hero h1 {
    font-size: 28px;
  }

  .about-page-heading h2,
  .about-company-content h2,
  .about-quality-copy h2 {
    font-size: 26px;
  }

  .about-page-hero-content > p,
  .about-page-heading p,
  .about-company-content > p {
    font-size: 12px;
  }
}

/* =========================================================
   ABOUT PAGE FONT SIZE - LARGER VERSION
========================================================= */

/* HERO */
.about-page-eyebrow {
  font-size: 12px;
}

.about-page-hero h1 {
  font-size: clamp(48px, 5.4vw, 76px);
}

.about-page-hero-content > p {
  font-size: 18px;
  line-height: 1.75;
}

.about-breadcrumb a,
.about-breadcrumb span {
  font-size: 12px;
}


/* COMMON SECTION TEXT */
.about-page-kicker {
  font-size: 11px;
}

.about-page-heading h2,
.about-company-content h2 {
  font-size: clamp(40px, 4.3vw, 56px);
}

.about-page-heading p {
  font-size: 16px;
  line-height: 1.8;
}


/* COMPANY CONTENT */
.about-company-content > p {
  font-size: 15px;
  line-height: 1.85;
}

.about-company-content .about-company-lead {
  font-size: 17px;
  line-height: 1.7;
}

.about-company-points p {
  font-size: 13px;
  line-height: 1.55;
}

.about-page-primary-btn {
  font-size: 13px;
}

.about-page-secondary-link small {
  font-size: 11px;
}

.about-page-secondary-link strong {
  font-size: 13px;
}


/* IMAGE FLOATING CONTENT */
.about-company-image-caption small {
  font-size: 11px;
}

.about-company-image-caption strong {
  font-size: 14px;
}

.about-floating-certification small,
.about-floating-madein small {
  font-size: 10px;
}

.about-floating-certification strong,
.about-floating-madein strong {
  font-size: 13px;
}


/* CAPABILITIES */
.about-capability-number {
  font-size: 22px;
}

.about-capability-item h3 {
  font-size: 19px;
}

.about-capability-item p {
  font-size: 14px;
  line-height: 1.7;
}

.about-capability-item a {
  font-size: 12px;
}


/* MISSION & VISION */
.about-purpose-card > small {
  font-size: 11px;
}

.about-purpose-card h3 {
  font-size: 26px;
}

.about-purpose-card p {
  font-size: 14px;
  line-height: 1.75;
}

.about-purpose-number {
  font-size: 28px;
}


/* VALUES */
.about-values-intro {
  font-size: 15px;
  line-height: 1.8;
}

.about-value-card > div > span {
  font-size: 11px;
}

.about-value-card h3 {
  font-size: 17px;
}

.about-value-card p {
  font-size: 13px;
  line-height: 1.65;
}


/* PROCESS */
.about-process-number {
  font-size: 20px;
}

.about-process-card h3 {
  font-size: 17px;
}

.about-process-card p {
  font-size: 13px;
  line-height: 1.7;
}


/* QUALITY SECTION */
.about-quality-copy h2 {
  font-size: clamp(38px, 4.2vw, 54px);
}

.about-quality-copy > p {
  font-size: 15px;
  line-height: 1.8;
}

.about-quality-points span {
  font-size: 13px;
}

.about-quality-cards small {
  font-size: 11px;
}

.about-quality-cards strong {
  font-size: 16px;
}


/* FINAL CTA */
.about-final-cta-copy > span {
  font-size: 11px;
}

.about-final-cta-copy h2 {
  font-size: clamp(28px, 3vw, 40px);
}

.about-final-cta-copy p {
  font-size: 13px;
  line-height: 1.65;
}

.about-final-primary,
.about-final-whatsapp {
  font-size: 12px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

  .about-page-hero h1 {
    font-size: 52px;
  }

  .about-page-hero-content > p {
    font-size: 17px;
  }

  .about-page-heading h2,
  .about-company-content h2 {
    font-size: 44px;
  }

  .about-page-heading p {
    font-size: 15px;
  }

  .about-company-content > p {
    font-size: 14px;
  }

  .about-company-content .about-company-lead {
    font-size: 16px;
  }

  .about-capability-item h3 {
    font-size: 18px;
  }

  .about-capability-item p {
    font-size: 13px;
  }

  .about-purpose-card h3 {
    font-size: 24px;
  }

  .about-purpose-card p {
    font-size: 13px;
  }

  .about-value-card h3 {
    font-size: 16px;
  }

  .about-value-card p {
    font-size: 12.5px;
  }

  .about-process-card h3 {
    font-size: 16px;
  }

  .about-process-card p {
    font-size: 12.5px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

  .about-page-hero h1 {
    font-size: 40px;
  }

  .about-page-hero-content > p {
    font-size: 15px;
  }

  .about-page-eyebrow,
  .about-page-kicker {
    font-size: 10px;
  }

  .about-page-heading h2,
  .about-company-content h2 {
    font-size: 36px;
  }

  .about-page-heading p {
    font-size: 14px;
  }

  .about-company-content > p {
    font-size: 13.5px;
  }

  .about-company-content .about-company-lead {
    font-size: 15px;
  }

  .about-company-points p {
    font-size: 12px;
  }

  .about-page-primary-btn {
    font-size: 12px;
  }

  .about-capability-item h3 {
    font-size: 17px;
  }

  .about-capability-item p {
    font-size: 12.5px;
  }

  .about-purpose-card h3 {
    font-size: 23px;
  }

  .about-purpose-card p {
    font-size: 12.5px;
  }

  .about-values-intro {
    font-size: 13.5px;
  }

  .about-value-card h3 {
    font-size: 16px;
  }

  .about-value-card p {
    font-size: 12px;
  }

  .about-process-card h3 {
    font-size: 16px;
  }

  .about-process-card p {
    font-size: 12px;
  }

  .about-quality-copy h2 {
    font-size: 35px;
  }

  .about-quality-copy > p {
    font-size: 13.5px;
  }

  .about-quality-points span {
    font-size: 12px;
  }

  .about-quality-cards strong {
    font-size: 15px;
  }

  .about-final-cta-copy h2 {
    font-size: 30px;
  }

  .about-final-cta-copy p {
    font-size: 12px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

  .about-page-hero h1 {
    font-size: 34px;
    line-height: 1.1;
  }

  .about-page-hero-content > p {
    font-size: 14px;
  }

  .about-page-heading h2,
  .about-company-content h2,
  .about-quality-copy h2 {
    font-size: 31px;
  }

  .about-page-heading p {
    font-size: 13px;
  }

  .about-company-content > p {
    font-size: 13px;
  }

  .about-company-content .about-company-lead {
    font-size: 14.5px;
  }

  .about-company-points p {
    font-size: 11.5px;
  }

  .about-capability-item h3 {
    font-size: 16px;
  }

  .about-capability-item p {
    font-size: 12px;
  }

  .about-purpose-card h3 {
    font-size: 21px;
  }

  .about-purpose-card p {
    font-size: 12px;
  }

  .about-value-card h3 {
    font-size: 15px;
  }

  .about-value-card p {
    font-size: 11.5px;
  }

  .about-process-card h3 {
    font-size: 15px;
  }

  .about-process-card p {
    font-size: 11.5px;
  }

  .about-quality-points span {
    font-size: 11px;
  }

  .about-final-cta-copy h2 {
    font-size: 28px;
  }

  .about-final-cta-copy p {
    font-size: 11.5px;
  }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

  .about-page-hero h1 {
    font-size: 31px;
  }

  .about-page-hero-content > p {
    font-size: 13px;
  }

  .about-page-heading h2,
  .about-company-content h2,
  .about-quality-copy h2 {
    font-size: 28px;
  }

  .about-company-content > p,
  .about-page-heading p {
    font-size: 12.5px;
  }

  .about-capability-item p,
  .about-purpose-card p,
  .about-value-card p,
  .about-process-card p {
    font-size: 11.5px;
  }
}

/* =========================================================
   ABOUT HERO - CENTER CONTENT + SOFT BACKGROUND IMAGE
========================================================= */

.about-page-hero {
    position: relative;

    min-height: 430px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 75px 0;

    overflow: hidden;

    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;

    text-align: center;

    isolation: isolate;
}


/* =========================================================
   DARK / SOFT OVERLAY
   Increase opacity here to make background image less visible
========================================================= */

.about-page-hero-overlay {
    position: absolute;
    z-index: 0;

    inset: 0;

    background:
        linear-gradient(
            135deg,
            rgba(22, 7, 5, 0.84) 0%,
            rgba(48, 15, 12, 0.80) 50%,
            rgba(23, 7, 5, 0.86) 100%
        );

    pointer-events: none;
}


/* Remove old extra overlay if existing */
.about-page-hero::before {
    content: "";

    position: absolute;
    z-index: 0;

    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(184, 23, 32, 0.10),
            transparent 55%
        );

    pointer-events: none;
}


/* =========================================================
   CONTENT CENTER
========================================================= */

.about-page-hero .container {
    position: relative;
    z-index: 2;

    width: 100%;
}

.about-page-hero-content {
    width: 100%;
    max-width: 900px;

    margin: 0 auto;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;
}


/* =========================================================
   EYEBROW
========================================================= */

.about-page-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    width: fit-content;

    margin: 0 auto 17px;

    padding: 8px 15px;

    color: #f2c36c;

    background: rgba(255, 255, 255, 0.09);

    border: 1px solid rgba(242, 195, 108, 0.25);
    border-radius: 50px;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    font-size: 12px;
    font-weight: 750;

    letter-spacing: 1px;
    line-height: 1.3;

    text-align: center;
    text-transform: uppercase;
}


/* =========================================================
   HEADING
========================================================= */

.about-page-hero h1 {
    width: 100%;
    max-width: 880px;

    margin: 0 auto 18px;

    color: #ffffff;

    font-family: "Montserrat", sans-serif;

    font-size: clamp(44px, 5vw, 68px);
    font-weight: 800;

    letter-spacing: -1.8px;
    line-height: 1.08;

    text-align: center;
    text-wrap: balance;

    text-shadow:
        0 5px 25px rgba(0, 0, 0, 0.35);
}

.about-page-hero h1 span {
    display: block;

    color: #e8b75d;

    text-align: center;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.about-page-hero-content > p {
    width: 100%;
    max-width: 680px;

    margin: 0 auto;

    color: rgba(255, 255, 255, 0.80);

    font-size: 16px;
    font-weight: 400;

    line-height: 1.75;

    text-align: center;
    text-wrap: balance;
}


/* =========================================================
   BREADCRUMB CENTER
========================================================= */

.about-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 9px;

    width: 100%;

    margin: 25px auto 0;

    text-align: center;
}

.about-breadcrumb a,
.about-breadcrumb span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 6px;

    color: rgba(255, 255, 255, 0.76);

    font-size: 12px;
    font-weight: 650;

    line-height: 1;
}

.about-breadcrumb a {
    transition: color 0.3s ease;
}

.about-breadcrumb a:hover {
    color: #efbd62;
}

.about-breadcrumb > i {
    color: rgba(255, 255, 255, 0.38);

    font-size: 9px;
}

.about-breadcrumb > span {
    color: #efbd62;
}


/* =========================================================
   BOTTOM ACCENT
========================================================= */

.about-hero-bottom-line {
    position: absolute;
    z-index: 3;

    right: 0;
    bottom: 0;
    left: 0;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            transparent 5%,
            #ae131b 30%,
            #e8b75d 50%,
            #ae131b 70%,
            transparent 95%
        );
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .about-page-hero {
        min-height: 400px;
        padding: 65px 0;
    }

    .about-page-hero-content {
        max-width: 760px;
    }

    .about-page-hero h1 {
        max-width: 700px;

        font-size: 48px;
    }

    .about-page-hero-content > p {
        max-width: 620px;

        font-size: 15px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .about-page-hero {
        min-height: 360px;

        padding: 55px 0;

        background-position: center center !important;
    }

    .about-page-hero .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .about-page-eyebrow {
        margin-bottom: 14px;

        padding: 7px 12px;

        font-size: 10px;
    }

    .about-page-hero h1 {
        max-width: 580px;

        margin-bottom: 15px;

        font-size: 38px;

        letter-spacing: -1.1px;
        line-height: 1.1;
    }

    .about-page-hero-content > p {
        max-width: 520px;

        font-size: 14px;

        line-height: 1.65;
    }

    .about-breadcrumb {
        margin-top: 21px;
    }

    .about-breadcrumb a,
    .about-breadcrumb span {
        font-size: 11px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .about-page-hero {
        min-height: 330px;

        padding: 48px 0;
    }

    .about-page-hero .container {
        padding-right: 15px;
        padding-left: 15px;
    }

    .about-page-eyebrow {
        font-size: 9px;
    }

    .about-page-hero h1 {
        max-width: 430px;

        font-size: 32px;

        letter-spacing: -0.8px;
    }

    .about-page-hero-content > p {
        max-width: 410px;

        font-size: 13px;
    }

    .about-breadcrumb {
        margin-top: 19px;
    }

    .about-breadcrumb a,
    .about-breadcrumb span {
        font-size: 10px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

    .about-page-hero {
        min-height: 315px;
    }

    .about-page-hero h1 {
        font-size: 29px;
    }

    .about-page-hero-content > p {
        font-size: 12.5px;
    }

    .about-page-eyebrow {
        padding: 6px 10px;

        font-size: 8.5px;
    }
}


/* =========================================================
   CONTACT PAGE
========================================================= */

.contact-page {
    --contact-red: #b81720;
    --contact-red-dark: #8d0a11;
    --contact-red-light: #df343d;

    --contact-gold: #e5b65e;

    --contact-dark: #21110e;
    --contact-dark-soft: #3e1915;

    --contact-text: #2b2220;
    --contact-muted: #746865;

    --contact-white: #ffffff;
    --contact-soft: #fff8f6;

    --contact-border: rgba(184, 23, 32, 0.10);

    color: var(--contact-text);
}


/* =========================================================
   HERO
========================================================= */

.contact-page-hero {
    position: relative;

    min-height: 430px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    padding: 75px 0;

    color: #ffffff;

    background-color: #210c09;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

    text-align: center;

    isolation: isolate;
}

.contact-page-hero-overlay {
    position: absolute;
    z-index: 0;

    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(184, 23, 32, 0.12),
            transparent 52%
        ),
        linear-gradient(
            135deg,
            rgba(18, 5, 3, 0.88),
            rgba(46, 14, 10, 0.82),
            rgba(19, 5, 3, 0.9)
        );
}

.contact-page-hero .container {
    z-index: 2;
}

.contact-page-hero-content {
    width: 100%;
    max-width: 900px;

    display: flex;
    flex-direction: column;
    align-items: center;

    margin: 0 auto;

    text-align: center;
}


/* Eyebrow */

.contact-page-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-bottom: 17px;
    padding: 8px 15px;

    color: #f2c46d;

    background: rgba(255,255,255,.09);

    border: 1px solid rgba(242,196,109,.25);
    border-radius: 50px;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    font-size: 12px;
    font-weight: 750;

    letter-spacing: 1px;

    text-transform: uppercase;
}


/* Heading */

.contact-page-hero h1 {
    max-width: 900px;

    margin: 0 auto 18px;

    color: #ffffff;

    font-family: "Montserrat", sans-serif;

    font-size: clamp(45px, 5vw, 68px);
    font-weight: 800;

    letter-spacing: -1.9px;
    line-height: 1.07;

    text-wrap: balance;
}

.contact-page-hero h1 span {
    display: block;

    color: var(--contact-gold);
}

.contact-page-hero-content > p {
    max-width: 700px;

    margin: 0 auto;

    color: rgba(255,255,255,.8);

    font-size: 16px;
    line-height: 1.75;

    text-wrap: balance;
}


/* Breadcrumb */

.contact-page-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    margin-top: 25px;
}

.contact-page-breadcrumb a,
.contact-page-breadcrumb span {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    color: rgba(255,255,255,.76);

    font-size: 12px;
    font-weight: 650;
}

.contact-page-breadcrumb a {
    transition: color .3s ease;
}

.contact-page-breadcrumb a:hover {
    color: var(--contact-gold);
}

.contact-page-breadcrumb > i {
    color: rgba(255,255,255,.35);

    font-size: 9px;
}

.contact-page-breadcrumb span {
    color: var(--contact-gold);
}


/* Bottom line */

.contact-page-hero-line {
    position: absolute;
    z-index: 3;

    right: 0;
    bottom: 0;
    left: 0;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--contact-red),
            var(--contact-gold),
            var(--contact-red),
            transparent
        );
}


/* =========================================================
   PREMIUM QUICK CONTACT SECTION
========================================================= */

.contact-quick-section {
    position: relative;
    z-index: 5;

    padding: 0 0 85px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fffafa 100%
        );
}


/* =========================================================
   OUTER WRAPPER
========================================================= */

.contact-quick-wrapper {
    position: relative;

    margin-top: 30px;

    padding: 27px;

    overflow: hidden;

    /* background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.99),
            rgba(255, 248, 247, 0.99)
        );

    border: 1px solid rgba(184, 23, 32, 0.10);
    border-radius: 25px;

    box-shadow:
        0 25px 65px rgba(45, 25, 22, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);

    isolation: isolate; */
}


/* Decorative background */
.contact-quick-wrapper::before {
    content: "";

    position: absolute;
    z-index: -1;

    top: -120px;
    right: -100px;

    width: 270px;
    height: 270px;

    /* background:
        radial-gradient(
            circle,
            rgba(184, 23, 32, 0.08),
            transparent 68%
        ); */

    border-radius: 50%;
}


.contact-quick-wrapper::after {
    content: "";

    position: absolute;
    z-index: -1;

    bottom: -120px;
    left: -100px;

    width: 250px;
    height: 250px;

    border: 45px solid rgba(226, 173, 79, 0.04);
    border-radius: 50%;
}


/* =========================================================
   SMALL SECTION HEADING
========================================================= */

.contact-quick-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 23px;
    padding: 2px 3px 22px;

    border-bottom: 1px solid rgba(184, 23, 32, 0.09);
}


.contact-quick-heading > div {
    min-width: 0;
}


.contact-quick-kicker {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 7px;

    color: #b81720;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.contact-quick-kicker i {
    font-size: 12px;
}


.contact-quick-heading h2 {
    margin: 0;

    color: #2d2321;

    font-family: "Montserrat", sans-serif;

    font-size: 24px;
    font-weight: 780;

    letter-spacing: -0.6px;
    line-height: 1.2;
}


.contact-quick-heading > p {
    max-width: 470px;

    margin: 0;

    color: #786a67;

    font-size: 12px;
    line-height: 1.7;

    text-align: right;
}


/* =========================================================
   CARD GRID
========================================================= */

.contact-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 14px;

    margin: 0;
}


/* =========================================================
   CONTACT CARD
========================================================= */

.contact-quick-card {
    position: relative;

    min-width: 0;
    min-height: 235px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    padding: 20px;

    color: #302624;

    text-decoration: none;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fffafa 100%
        );

    border: 1px solid rgba(184, 23, 32, 0.085);
    border-radius: 17px;

    box-shadow:
        0 9px 27px rgba(44, 26, 23, 0.07);

    transition:
        color 0.35s ease,
        border-color 0.35s ease,
        background 0.35s ease,
        box-shadow 0.35s ease,
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}


/* Shine */
.contact-quick-card::before {
    content: "";

    position: absolute;

    top: -110%;
    left: -60%;

    width: 34%;
    height: 330%;

    background: rgba(255, 255, 255, 0.72);

    transform: rotate(25deg);

    transition: left 0.75s ease;
}


.contact-quick-card:hover {
    color: #302624;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fff2f0
        );

    border-color: rgba(184, 23, 32, 0.19);

    box-shadow:
        0 22px 48px rgba(44, 26, 23, 0.14);

    transform: translateY(-7px);
}


.contact-quick-card:hover::before {
    left: 135%;
}


/* =========================================================
   CARD NUMBER
========================================================= */

.contact-quick-number {
    position: absolute;

    top: 16px;
    right: 17px;

    color: rgba(184, 23, 32, 0.10);

    font-size: 25px;
    font-weight: 850;

    letter-spacing: -1px;

    line-height: 1;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}


.contact-quick-card:hover .contact-quick-number {
    color: rgba(184, 23, 32, 0.20);

    transform: translateY(-2px);
}


/* =========================================================
   TOP
========================================================= */

.contact-quick-card-top {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 21px;
}


/* Icon */
.contact-quick-icon {
    flex: 0 0 51px;

    width: 51px;
    height: 51px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #b81720;

    background: rgba(184, 23, 32, 0.075);

    border: 1px solid rgba(184, 23, 32, 0.09);
    border-radius: 13px;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9);

    transition:
        color 0.35s ease,
        background 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        transform 0.35s ease;
}


.contact-quick-icon i {
    font-size: 19px;
}


.contact-quick-card:hover .contact-quick-icon {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #df343d,
            #920a11
        );

    border-color: transparent;

    box-shadow:
        0 11px 23px rgba(156, 10, 18, 0.25);

    transform: rotate(-5deg) scale(1.05);
}


/* =========================================================
   STATUS BADGE
========================================================= */

.contact-quick-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 26px;

    padding: 5px 9px;

    color: #9a716d;

    background: #fff3f1;

    border: 1px solid rgba(184, 23, 32, 0.08);
    border-radius: 50px;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.3px;
}


/* =========================================================
   CARD COPY
========================================================= */

.contact-quick-copy {
    position: relative;
    z-index: 2;

    min-width: 0;

    display: flex;
    flex: 1;
    flex-direction: column;

    line-height: 1.4;
}


.contact-quick-copy small {
    margin-bottom: 5px;

    color: #a1817d;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: 0.75px;

    text-transform: uppercase;
}


.contact-quick-copy strong {
    color: #312725;

    font-size: 15px;
    font-weight: 760;

    line-height: 1.4;

    overflow-wrap: anywhere;

    transition: color 0.3s ease;
}


.contact-quick-card:hover
.contact-quick-copy strong {
    color: #b81720;
}


.contact-quick-copy > span {
    margin-top: 7px;

    color: #776a67;

    font-size: 11px;
    line-height: 1.6;
}


/* Email slightly smaller to prevent wrapping badly */
.contact-quick-email
.contact-quick-copy strong {
    font-size: 13px;
}


/* =========================================================
   BOTTOM ACTION
========================================================= */

.contact-quick-action {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin-top: 19px;
    padding-top: 14px;

    color: #b81720;

    border-top: 1px solid #eee3e1;

    font-size: 10px;
    font-weight: 750;
}


.contact-quick-action i {
    width: 29px;
    height: 29px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #b81720;

    background: rgba(184, 23, 32, 0.07);

    border-radius: 50%;

    font-size: 10px;

    transition:
        color 0.3s ease,
        background-color 0.3s ease,
        transform 0.3s ease;
}


.contact-quick-card:hover
.contact-quick-action i {
    color: #ffffff;

    background: #b81720;

    transform: translate(2px, -2px);
}


/* =========================================================
   BOTTOM ACCENT
========================================================= */

.contact-quick-accent {
    position: absolute;

    right: 24%;
    bottom: 0;
    left: 24%;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #b81720,
            #e3b255,
            transparent
        );

    border-radius: 10px 10px 0 0;

    transform: scaleX(0);

    transition: transform 0.35s ease;
}


.contact-quick-card:hover
.contact-quick-accent {
    transform: scaleX(1);
}


/* =========================================================
   WHATSAPP CARD
========================================================= */

.contact-quick-whatsapp
.contact-quick-icon {
    color: #16964a;

    background: rgba(37, 211, 102, 0.09);

    border-color: rgba(37, 211, 102, 0.13);
}


.contact-quick-whatsapp:hover
.contact-quick-icon {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #2ed26a,
            #138b41
        );

    box-shadow:
        0 11px 23px rgba(19, 139, 65, 0.25);
}


.contact-quick-whatsapp
.contact-quick-status {
    color: #168745;

    background: #effcf4;

    border-color: rgba(37, 211, 102, 0.14);
}


.contact-quick-whatsapp
.contact-quick-action {
    color: #168e47;
}


.contact-quick-whatsapp
.contact-quick-action i {
    color: #168e47;

    background: rgba(37, 211, 102, 0.09);
}


.contact-quick-whatsapp:hover
.contact-quick-action i {
    color: #ffffff;

    background: #159447;
}


/* =========================================================
   TABLET / SMALL LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

    .contact-quick-section {
        padding-bottom: 75px;
    }

    .contact-quick-wrapper {
        margin-top: -48px;

        padding: 24px;
    }

    .contact-quick-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .contact-quick-card {
        min-height: 220px;
    }

    .contact-quick-email
    .contact-quick-copy strong {
        font-size: 14px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .contact-quick-heading {
        align-items: flex-start;
        flex-direction: column;

        gap: 8px;
    }

    .contact-quick-heading > p {
        max-width: 600px;

        text-align: left;
    }

    .contact-quick-heading h2 {
        font-size: 23px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .contact-quick-section {
        padding-bottom: 60px;
    }

    .contact-quick-wrapper {
        margin-top: -35px;

        padding: 20px;

        border-radius: 20px;
    }

    .contact-quick-heading {
        margin-bottom: 18px;
        padding-bottom: 17px;
    }

    .contact-quick-heading h2 {
        font-size: 21px;
    }

    .contact-quick-heading > p {
        font-size: 11px;
    }

    .contact-quick-grid {
        gap: 11px;
    }

    .contact-quick-card {
        min-height: 205px;

        padding: 18px;
    }

    .contact-quick-icon {
        flex-basis: 46px;

        width: 46px;
        height: 46px;
    }

    .contact-quick-icon i {
        font-size: 17px;
    }

    .contact-quick-copy strong {
        font-size: 14px;
    }

    .contact-quick-email
    .contact-quick-copy strong {
        font-size: 12.5px;
    }
}


/* =========================================================
   MOBILE - ONE COLUMN
========================================================= */

@media (max-width: 575.98px) {

    .contact-quick-section .container {
        padding-right: 13px;
        padding-left: 13px;
    }

    .contact-quick-wrapper {
        margin-top: -25px;

        padding: 16px;

        border-radius: 18px;
    }

    .contact-quick-heading {
        text-align: center;
    }

    .contact-quick-kicker {
        justify-content: center;

        width: 100%;

        font-size: 9px;
    }

    .contact-quick-heading h2 {
        font-size: 20px;
    }

    .contact-quick-heading > p {
        margin: 0 auto;

        font-size: 11px;

        text-align: center;
    }

    .contact-quick-grid {
        grid-template-columns: 1fr;
    }

    .contact-quick-card {
        min-height: auto;

        display: grid;
        grid-template-columns: 47px 1fr auto;

        align-items: center;

        gap: 12px;

        padding: 15px;
    }

    .contact-quick-card-top {
        display: contents;
    }

    .contact-quick-icon {
        grid-column: 1;
        grid-row: 1 / 3;

        width: 45px;
        height: 45px;

        margin: 0;
    }

    .contact-quick-status {
        position: absolute;

        top: 12px;
        right: 13px;

        min-height: 23px;

        padding: 4px 8px;

        font-size: 8px;
    }

    .contact-quick-number {
        display: none;
    }

    .contact-quick-copy {
        grid-column: 2 / 4;
        grid-row: 1;

        padding-right: 65px;
    }

    .contact-quick-copy small {
        margin-bottom: 3px;

        font-size: 9px;
    }

    .contact-quick-copy strong,
    .contact-quick-email
    .contact-quick-copy strong {
        font-size: 13px;
    }

    .contact-quick-copy > span {
        margin-top: 3px;

        font-size: 10px;
    }

    .contact-quick-action {
        grid-column: 2 / 4;
        grid-row: 2;

        margin-top: 3px;
        padding-top: 9px;

        font-size: 9px;
    }

    .contact-quick-action i {
        width: 25px;
        height: 25px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

    .contact-quick-wrapper {
        padding: 13px;
    }

    .contact-quick-heading h2 {
        font-size: 18px;
    }

    .contact-quick-card {
        grid-template-columns: 42px 1fr auto;

        gap: 10px;

        padding: 13px;
    }

    .contact-quick-icon {
        width: 41px;
        height: 41px;
    }

    .contact-quick-copy {
        padding-right: 55px;
    }

    .contact-quick-copy strong,
    .contact-quick-email
    .contact-quick-copy strong {
        font-size: 12px;
    }

    .contact-quick-copy > span {
        font-size: 9.5px;
    }
}


/* =========================================================
   TOUCH DEVICE
========================================================= */

@media (hover: none), (pointer: coarse) {

    .contact-quick-card:hover {
        transform: none;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .contact-quick-card,
    .contact-quick-card::before,
    .contact-quick-icon,
    .contact-quick-number,
    .contact-quick-action i,
    .contact-quick-accent {
        transition: none !important;
    }

    .contact-quick-card:hover {
        transform: none;
    }
}

/* Icon */

.contact-quick-icon {
    flex: 0 0 47px;

    width: 47px;
    height: 47px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--contact-red);

    background: rgba(184,23,32,.075);

    border: 1px solid rgba(184,23,32,.09);
    border-radius: 12px;

    transition:
        color .3s ease,
        background .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}

.contact-quick-icon i {
    font-size: 18px;
}

.contact-quick-card:hover .contact-quick-icon {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--contact-red-light),
            var(--contact-red-dark)
        );

    box-shadow:
        0 9px 20px rgba(157,10,18,.22);

    transform: rotate(-5deg);
}

.contact-quick-whatsapp .contact-quick-icon {
    color: #159447;

    background: rgba(37,211,102,.09);

    border-color: rgba(37,211,102,.13);
}

.contact-quick-whatsapp:hover .contact-quick-icon {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #2bd16a,
            #138d42
        );
}


/* Copy */

.contact-quick-copy {
    min-width: 0;

    display: flex;
    flex: 1;
    flex-direction: column;

    line-height: 1.35;
}

.contact-quick-copy small {
    margin-bottom: 4px;

    color: #9a817c;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .7px;

    text-transform: uppercase;
}

.contact-quick-copy strong {
    color: #2f2523;

    font-size: 14px;
    font-weight: 750;

    overflow-wrap: anywhere;
}

.contact-quick-copy > span {
    margin-top: 4px;

    color: #857571;

    font-size: 11px;
}

.contact-quick-arrow {
    position: absolute;

    top: 14px;
    right: 14px;

    color: rgba(184,23,32,.25);

    font-size: 10px;

    transition:
        color .3s ease,
        transform .3s ease;
}

.contact-quick-card:hover .contact-quick-arrow {
    color: var(--contact-red);

    transform: translate(2px,-2px);
}


/* =========================================================
   COMMON PAGE HEADING
========================================================= */

.contact-page-heading {
    max-width: 780px;

    margin: 0 auto 45px;
}

.contact-page-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    margin-bottom: 13px;
    padding: 7px 13px;

    color: var(--contact-red);

    background: rgba(184,23,32,.07);

    border: 1px solid rgba(184,23,32,.11);
    border-radius: 50px;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}

.contact-page-heading h2 {
    margin: 0 0 15px;

    color: var(--contact-text);

    font-family: "Montserrat", sans-serif;

    font-size: clamp(39px,4vw,54px);
    font-weight: 800;

    letter-spacing: -1.6px;
    line-height: 1.09;

    text-wrap: balance;
}

.contact-page-heading h2 span {
    display: block;

    color: var(--contact-red);
}

.contact-page-heading p {
    max-width: 670px;

    margin: 0 auto;

    color: var(--contact-muted);

    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   MAIN CONTACT SECTION
========================================================= */

.contact-main-section {
    position: relative;

    padding: 105px 0 95px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 7% 17%,
            rgba(184,23,32,.06),
            transparent 27%
        ),
        radial-gradient(
            circle at 94% 87%,
            rgba(229,182,94,.08),
            transparent 26%
        ),
        linear-gradient(
            135deg,
            #fffafa,
            #ffffff 50%,
            #fff8f4
        );

    isolation: isolate;
}

.contact-page-shape {
    position: absolute;

    z-index: -1;

    display: block;

    border-radius: 50%;

    pointer-events: none;
}

.contact-page-shape-one {
    top: 160px;
    left: -170px;

    width: 340px;
    height: 340px;

    border: 55px solid rgba(184,23,32,.028);
}

.contact-page-shape-two {
    right: -100px;
    bottom: -120px;

    width: 280px;
    height: 280px;

    background: rgba(229,182,94,.07);
}


/* =========================================================
   LEFT DARK PANEL
========================================================= */

.contact-detail-panel {
    position: relative;

    height: 100%;

    overflow: hidden;

    padding: 36px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at right top,
            rgba(255,255,255,.1),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #20100d,
            #401a16
        );

    border: 1px solid rgba(255,255,255,.08);
    border-radius: 24px;

    box-shadow:
        0 26px 60px rgba(42,20,17,.19);

    isolation: isolate;
}

.contact-detail-panel::before {
    content: "";

    position: absolute;
    z-index: -1;

    top: -110px;
    right: -90px;

    width: 250px;
    height: 250px;

    background: rgba(184,23,32,.22);

    border-radius: 50%;
}

.contact-detail-panel::after {
    content: "";

    position: absolute;

    right: 0;
    bottom: 0;
    left: 0;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--contact-red),
            var(--contact-gold),
            transparent
        );
}


/* Panel heading */

.contact-detail-small-title {
    display: block;

    margin-bottom: 7px;

    color: var(--contact-gold);

    font-size: 10px;
    font-weight: 750;

    letter-spacing: 1px;

    text-transform: uppercase;
}

.contact-detail-panel-head h3 {
    margin: 0 0 13px;

    color: #ffffff;

    font-family: "Montserrat", sans-serif;

    font-size: 30px;
    font-weight: 760;

    letter-spacing: -1px;
    line-height: 1.15;
}

.contact-detail-panel-head h3 span {
    display: block;

    color: var(--contact-gold);
}

.contact-detail-panel-head p {
    margin: 0;

    color: rgba(255,255,255,.64);

    font-size: 13px;
    line-height: 1.75;
}


/* Panel list */

.contact-panel-list {
    display: grid;

    gap: 10px;

    margin-top: 27px;
}

.contact-panel-item {
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 13px;

    background: rgba(255,255,255,.065);

    border: 1px solid rgba(255,255,255,.09);
    border-radius: 12px;

    transition:
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.contact-panel-item:hover {
    background: rgba(184,23,32,.24);

    border-color: rgba(229,182,94,.2);

    transform: translateX(5px);
}

.contact-panel-icon {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--contact-gold);

    background: rgba(229,182,94,.09);

    border-radius: 10px;

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}

.contact-panel-item:hover .contact-panel-icon {
    color: #ffffff;

    background: var(--contact-red);

    transform: rotate(-5deg);
}

.contact-panel-icon i {
    font-size: 15px;
}

.contact-panel-item > div {
    min-width: 0;

    display: flex;
    flex-direction: column;

    line-height: 1.4;
}

.contact-panel-item small {
    margin-bottom: 4px;

    color: rgba(255,255,255,.44);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .7px;

    text-transform: uppercase;
}

.contact-panel-item a,
.contact-panel-item strong {
    color: rgba(255,255,255,.83);

    font-size: 12px;
    font-weight: 600;

    overflow-wrap: anywhere;

    transition: color .3s ease;
}

.contact-panel-item a + a {
    margin-top: 2px;
}

.contact-panel-item a:hover {
    color: var(--contact-gold);
}


/* WhatsApp block */

.contact-panel-whatsapp {
    display: grid;
    grid-template-columns: 44px 1fr 36px;
    align-items: center;

    gap: 11px;

    margin-top: 20px;
    padding: 14px;

    background:
        linear-gradient(
            135deg,
            rgba(37,211,102,.16),
            rgba(255,255,255,.06)
        );

    border: 1px solid rgba(37,211,102,.18);
    border-radius: 13px;
}

.contact-panel-whatsapp-icon {
    width: 44px;
    height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #2dd269,
            #148e43
        );

    border-radius: 11px;

    font-size: 18px;
}

.contact-panel-whatsapp > div {
    display: flex;
    flex-direction: column;
}

.contact-panel-whatsapp small {
    color: rgba(255,255,255,.48);

    font-size: 9px;
}

.contact-panel-whatsapp strong {
    color: #ffffff;

    font-size: 12px;
}

.contact-panel-whatsapp > a {
    width: 36px;
    height: 36px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background: rgba(255,255,255,.1);

    border-radius: 50%;

    transition:
        background .3s ease,
        transform .3s ease;
}

.contact-panel-whatsapp > a:hover {
    color: #ffffff;

    background: #159447;

    transform: translateX(3px);
}


/* =========================================================
   FORM PANEL
========================================================= */

.contact-enquiry-panel {
    position: relative;

    height: 100%;

    overflow: hidden;

    padding: 38px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fffafa
        );

    border: 1px solid var(--contact-border);
    border-radius: 24px;

    box-shadow:
        0 24px 58px rgba(47,28,25,.11);
}

.contact-enquiry-panel::before {
    content: "";

    position: absolute;

    top: -110px;
    right: -100px;

    width: 250px;
    height: 250px;

    background: rgba(37,211,102,.055);

    border-radius: 50%;

    pointer-events: none;
}


/* Heading */

.contact-enquiry-heading {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 28px;
    padding-bottom: 24px;

    border-bottom: 1px solid #eee3e1;
}

.contact-enquiry-heading > div > span {
    display: block;

    margin-bottom: 6px;

    color: var(--contact-red);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .9px;

    text-transform: uppercase;
}

.contact-enquiry-heading h3 {
    margin: 0 0 8px;

    color: var(--contact-text);

    font-family: "Montserrat", sans-serif;

    font-size: 27px;
    font-weight: 760;

    letter-spacing: -.7px;
}

.contact-enquiry-heading p {
    max-width: 480px;

    margin: 0;

    color: var(--contact-muted);

    font-size: 12px;
    line-height: 1.65;
}

.contact-enquiry-heading-icon {
    flex: 0 0 52px;

    width: 52px;
    height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--contact-red-light),
            var(--contact-red-dark)
        );

    border-radius: 14px;

    box-shadow:
        0 11px 24px rgba(154,10,18,.23);
}

.contact-enquiry-heading-icon i {
    font-size: 19px;
}


/* =========================================================
   FORM
========================================================= */

.contact-enquiry-panel form {
    position: relative;
    z-index: 2;
}

.contact-page-form-group .form-label {
    margin-bottom: 8px;

    color: #493936;

    font-size: 12px;
    font-weight: 700;
}

.contact-page-form-group .form-label sup {
    color: var(--contact-red);

    font-size: 10px;
}

.contact-page-input {
    position: relative;
}

.contact-page-input > i {
    position: absolute;
    z-index: 3;

    top: 50%;
    left: 15px;

    color: var(--contact-red);

    font-size: 14px;

    transform: translateY(-50%);

    pointer-events: none;
}

.contact-page-textarea > i {
    top: 17px;

    transform: none;
}

.contact-enquiry-panel .form-control,
.contact-enquiry-panel .form-select {
    min-height: 52px;

    padding: 12px 14px 12px 43px;

    color: #382d2a;

    background: #fffafa;

    border: 1px solid #e8dddb;
    border-radius: 11px;

    box-shadow: none;

    font-size: 13px;

    transition:
        background-color .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.contact-enquiry-panel textarea.form-control {
    min-height: 135px;

    padding-top: 14px;

    resize: vertical;
}

.contact-enquiry-panel .form-control::placeholder {
    color: #a99a96;
}

.contact-enquiry-panel .form-control:hover,
.contact-enquiry-panel .form-select:hover {
    background: #ffffff;

    border-color: rgba(184,23,32,.2);
}

.contact-enquiry-panel .form-control:focus,
.contact-enquiry-panel .form-select:focus {
    background: #ffffff;

    border-color: var(--contact-red);

    box-shadow:
        0 0 0 4px rgba(184,23,32,.08);
}

.contact-enquiry-panel .invalid-feedback {
    margin-top: 5px;

    font-size: 10px;
}


/* Form footer */

.contact-page-form-footer {
    display: flex;
    align-items: center;

    gap: 16px;

    margin-top: 4px;
}

.contact-page-submit {
    min-height: 53px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 12px 19px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #2dd269,
            #148e43
        );

    border: 0;
    border-radius: 11px;

    box-shadow:
        0 12px 26px rgba(20,143,67,.23);

    font-size: 12px;
    font-weight: 750;

    transition:
        box-shadow .3s ease,
        transform .3s ease;
}

.contact-page-submit:hover {
    box-shadow:
        0 17px 34px rgba(20,143,67,.32);

    transform: translateY(-3px);
}

.contact-page-submit i:last-child {
    transition: transform .3s ease;
}

.contact-page-submit:hover i:last-child {
    transform: translateX(4px);
}

.contact-page-form-note {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    color: #81736f;

    font-size: 10px;
    line-height: 1.5;
}

.contact-page-form-note i {
    color: var(--contact-red);

    font-size: 12px;
}


/* =========================================================
   LOCATIONS
========================================================= */

.contact-location-section {
    padding: 95px 0;

    background: #ffffff;
}

.contact-location-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));

    gap: 20px;

    max-width: 1050px;

    margin: 0 auto;
}

.contact-location-card {
    position: relative;

    min-height: 300px;

    overflow: hidden;

    padding: 29px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fffafa
        );

    border: 1px solid var(--contact-border);
    border-radius: 19px;

    box-shadow:
        0 14px 38px rgba(46,27,24,.08);

    transition:
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}

.contact-location-card:hover {
    border-color: rgba(184,23,32,.2);

    box-shadow:
        0 25px 52px rgba(46,27,24,.14);

    transform: translateY(-8px);
}

.contact-location-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 21px;
}

.contact-location-icon {
    width: 52px;
    height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--contact-red);

    background: rgba(184,23,32,.075);

    border-radius: 13px;

    font-size: 19px;

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}

.contact-location-card:hover .contact-location-icon {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--contact-red-light),
            var(--contact-red-dark)
        );

    transform: rotate(-5deg);
}

.contact-location-label {
    padding: 6px 10px;

    color: var(--contact-red);

    background: #fff0ee;

    border-radius: 50px;

    font-size: 10px;
    font-weight: 750;

    text-transform: uppercase;
}

.contact-location-card h3 {
    margin: 0 0 13px;

    color: var(--contact-text);

    font-size: 21px;
    font-weight: 760;
}

.contact-location-card address {
    margin: 0;

    color: var(--contact-muted);

    font-size: 14px;
    font-style: normal;

    line-height: 1.75;
}

.contact-location-button {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-top: 22px;

    color: var(--contact-red);

    font-size: 12px;
    font-weight: 750;

    transition: color .3s ease;
}

.contact-location-button i:last-child {
    font-size: 10px;

    transition: transform .3s ease;
}

.contact-location-button:hover {
    color: var(--contact-red-dark);
}

.contact-location-button:hover i:last-child {
    transform: translate(3px,-3px);
}

.contact-location-accent {
    position: absolute;

    right: 25%;
    bottom: 0;
    left: 25%;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--contact-red),
            var(--contact-gold),
            transparent
        );

    transform: scaleX(0);

    transition: transform .35s ease;
}

.contact-location-card:hover .contact-location-accent {
    transform: scaleX(1);
}


/* =========================================================
   FINAL CTA
========================================================= */

.contact-final-section {
    padding: 20px 0 90px;

    background: #ffffff;
}

.contact-final-panel {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;

    gap: 24px;

    overflow: hidden;

    padding: 30px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at right top,
            rgba(255,255,255,.15),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            var(--contact-red-light),
            var(--contact-red-dark)
        );

    border-radius: 20px;

    box-shadow:
        0 20px 47px rgba(157,10,18,.22);
}

.contact-final-icon {
    width: 62px;
    height: 62px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background: rgba(255,255,255,.12);

    border: 1px solid rgba(255,255,255,.15);
    border-radius: 15px;

    font-size: 23px;
}

.contact-final-copy > span {
    display: block;

    margin-bottom: 5px;

    color: rgba(255,255,255,.65);

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .8px;

    text-transform: uppercase;
}

.contact-final-copy h2 {
    margin: 0 0 6px;

    color: #ffffff;

    font-family: "Montserrat",sans-serif;

    font-size: clamp(25px,3vw,36px);
    font-weight: 750;

    letter-spacing: -.8px;
}

.contact-final-copy h2 strong {
    color: #ffe0a0;

    font-weight: inherit;
}

.contact-final-copy p {
    margin: 0;

    color: rgba(255,255,255,.68);

    font-size: 12px;
}

.contact-final-actions {
    display: flex;
    align-items: center;

    gap: 9px;
}

.contact-final-call,
.contact-final-whatsapp {
    min-height: 47px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 10px 15px;

    border-radius: 10px;

    font-size: 11px;
    font-weight: 750;

    white-space: nowrap;

    transition:
        box-shadow .3s ease,
        transform .3s ease;
}

.contact-final-call {
    color: var(--contact-red);

    background: #ffffff;
}

.contact-final-call:hover {
    color: var(--contact-red);

    transform: translateY(-3px);
}

.contact-final-whatsapp {
    color: #ffffff;

    background: #159447;

    border: 1px solid rgba(255,255,255,.12);
}

.contact-final-whatsapp:hover {
    color: #ffffff;

    transform: translateY(-3px);
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width:1199.98px) {

    .contact-quick-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .contact-main-section {
        padding: 90px 0 82px;
    }

    .contact-location-section {
        padding: 82px 0;
    }

    .contact-detail-panel {
        padding: 31px;
    }

    .contact-enquiry-panel {
        padding: 32px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:991.98px) {

    .contact-page-hero {
        min-height: 400px;

        padding: 65px 0;
    }

    .contact-page-hero h1 {
        font-size: 50px;
    }

    .contact-page-hero-content > p {
        font-size: 15px;
    }

    .contact-main-section {
        padding: 80px 0 72px;
    }

    .contact-detail-panel,
    .contact-enquiry-panel {
        max-width: 760px;

        margin: 0 auto;
    }

    .contact-detail-panel {
        height: auto;
    }

    .contact-location-section {
        padding: 75px 0;
    }

    .contact-final-panel {
        grid-template-columns: auto 1fr;
    }

    .contact-final-actions {
        grid-column: 1/-1;

        justify-content: center;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767.98px) {

    .contact-page-hero {
        min-height: 365px;

        padding: 55px 0;
    }

    .contact-page-hero .container {
        padding-right: 20px;
        padding-left: 20px;
    }

    .contact-page-hero h1 {
        font-size: 39px;

        letter-spacing: -1.2px;
    }

    .contact-page-hero-content > p {
        font-size: 14px;
    }

    .contact-page-eyebrow {
        font-size: 10px;
    }

    .contact-quick-grid {
        gap: 9px;

        margin-top: -30px;
    }

    .contact-quick-card {
        min-height: 115px;

        padding: 15px;
    }

    .contact-page-heading h2 {
        font-size: 35px;
    }

    .contact-page-heading p {
        font-size: 14px;
    }

    .contact-main-section {
        padding: 70px 0 65px;
    }

    .contact-detail-panel,
    .contact-enquiry-panel {
        padding: 27px 23px;

        border-radius: 20px;
    }

    .contact-enquiry-heading h3 {
        font-size: 24px;
    }

    .contact-location-section {
        padding: 65px 0;
    }

    .contact-location-grid {
        grid-template-columns: 1fr;

        max-width: 680px;
    }

    .contact-location-card {
        min-height: auto;
    }

    .contact-final-panel {
        grid-template-columns: 1fr;

        text-align: center;
    }

    .contact-final-icon {
        margin: 0 auto;
    }

    .contact-final-actions {
        grid-column: auto;

        justify-content: center;

        flex-wrap: wrap;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:575.98px) {

    .contact-page-hero {
        min-height: 335px;

        padding: 48px 0;
    }

    .contact-page-hero .container,
    .contact-quick-section .container,
    .contact-main-section .container,
    .contact-location-section .container,
    .contact-final-section .container {
        padding-right: 13px;
        padding-left: 13px;
    }

    .contact-page-hero h1 {
        font-size: 33px;

        line-height: 1.1;
    }

    .contact-page-hero-content > p {
        font-size: 13px;
    }

    .contact-page-breadcrumb a,
    .contact-page-breadcrumb span {
        font-size: 10px;
    }

    .contact-quick-grid {
        grid-template-columns: 1fr;

        margin-top: -22px;
    }

    .contact-quick-card {
        min-height: auto;

        padding: 14px;
    }

    .contact-quick-copy strong {
        font-size: 13px;
    }

    .contact-quick-copy > span {
        font-size: 10px;
    }

    .contact-page-heading {
        margin-bottom: 32px;
    }

    .contact-page-kicker {
        font-size: 9px;
    }

    .contact-page-heading h2 {
        font-size: 30px;
    }

    .contact-page-heading p {
        font-size: 13px;
    }

    .contact-main-section {
        padding: 60px 0 55px;
    }

    .contact-detail-panel,
    .contact-enquiry-panel {
        padding: 23px 18px;
    }

    .contact-detail-panel-head h3 {
        font-size: 26px;
    }

    .contact-detail-panel-head p {
        font-size: 12px;
    }

    .contact-panel-item a,
    .contact-panel-item strong {
        font-size: 11px;
    }

    .contact-enquiry-heading {
        gap: 13px;

        margin-bottom: 23px;
        padding-bottom: 20px;
    }

    .contact-enquiry-heading h3 {
        font-size: 21px;
    }

    .contact-enquiry-heading p {
        font-size: 11px;
    }

    .contact-enquiry-heading-icon {
        flex-basis: 44px;

        width: 44px;
        height: 44px;
    }

    .contact-page-form-group .form-label {
        font-size: 11px;
    }

    .contact-enquiry-panel .form-control,
    .contact-enquiry-panel .form-select {
        min-height: 49px;

        font-size: 12px;
    }

    .contact-page-form-footer {
        flex-direction: column;
        align-items: stretch;

        gap: 10px;
    }

    .contact-page-submit {
        width: 100%;
    }

    .contact-page-form-note {
        justify-content: center;

        text-align: center;
    }

    .contact-location-section {
        padding: 55px 0;
    }

    .contact-location-card {
        padding: 23px 19px;
    }

    .contact-location-card h3 {
        font-size: 19px;
    }

    .contact-location-card address {
        font-size: 13px;
    }

    .contact-final-section {
        padding: 15px 0 60px;
    }

    .contact-final-panel {
        padding: 24px 18px;
    }

    .contact-final-copy h2 {
        font-size: 28px;
    }

    .contact-final-actions {
        flex-direction: column;
    }

    .contact-final-call,
    .contact-final-whatsapp {
        width: 100%;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:389.98px) {

    .contact-page-hero h1 {
        font-size: 29px;
    }

    .contact-page-hero-content > p {
        font-size: 12.5px;
    }

    .contact-page-heading h2 {
        font-size: 27px;
    }

    .contact-detail-panel,
    .contact-enquiry-panel {
        padding-right: 15px;
        padding-left: 15px;
    }

    .contact-detail-panel-head h3 {
        font-size: 23px;
    }

    .contact-enquiry-heading-icon {
        display: none;
    }

    .contact-panel-whatsapp {
        grid-template-columns: 39px 1fr 32px;
    }

    .contact-final-copy h2 {
        font-size: 25px;
    }
}


/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover:none), (pointer:coarse) {

    .contact-quick-card:hover,
    .contact-panel-item:hover,
    .contact-page-submit:hover,
    .contact-location-card:hover,
    .contact-final-call:hover,
    .contact-final-whatsapp:hover {
        transform: none;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce) {

    .contact-page *,
    .contact-page *::before,
    .contact-page *::after {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   CAREER PAGE
========================================================= */

.career-page {
    --career-red: #b81720;
    --career-red-dark: #8e0a11;
    --career-red-light: #df343d;

    --career-gold: #e6b75e;

    --career-dark: #21110e;
    --career-dark-soft: #401a16;

    --career-text: #2c2321;
    --career-muted: #746865;

    --career-white: #ffffff;
    --career-soft: #fff8f6;

    --career-border: rgba(184, 23, 32, .10);
}


/* =========================================================
   HERO
========================================================= */

.career-page-hero {
    position: relative;

    min-height: 430px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    padding: 75px 0;

    color: #ffffff;

    background-color: #210b08;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    text-align: center;

    isolation: isolate;
}


.career-page-hero-overlay {
    position: absolute;
    z-index: 0;

    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(184, 23, 32, .12),
            transparent 54%
        ),
        linear-gradient(
            135deg,
            rgba(17, 5, 3, .89),
            rgba(46, 14, 10, .83),
            rgba(18, 5, 3, .90)
        );
}


.career-page-hero .container {
    z-index: 2;
}


.career-page-hero-content {
    width: 100%;
    max-width: 900px;

    display: flex;
    flex-direction: column;
    align-items: center;

    margin: 0 auto;

    text-align: center;
}


.career-page-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-bottom: 17px;
    padding: 8px 15px;

    color: #f3c46d;

    background: rgba(255, 255, 255, .09);

    border: 1px solid rgba(243, 196, 109, .25);
    border-radius: 50px;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    font-size: 12px;
    font-weight: 750;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.career-page-hero h1 {
    max-width: 900px;

    margin: 0 auto 18px;

    color: #ffffff;

    font-family: "Montserrat", sans-serif;

    font-size: clamp(46px, 5vw, 70px);
    font-weight: 800;

    letter-spacing: -1.9px;
    line-height: 1.07;

    text-wrap: balance;
}


.career-page-hero h1 span {
    display: block;

    color: var(--career-gold);
}


.career-page-hero-content > p {
    max-width: 700px;

    margin: 0 auto;

    color: rgba(255, 255, 255, .80);

    font-size: 16px;
    line-height: 1.75;

    text-wrap: balance;
}


.career-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    margin-top: 25px;
}


.career-breadcrumb a,
.career-breadcrumb span {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    color: rgba(255, 255, 255, .75);

    font-size: 12px;
    font-weight: 650;
}


.career-breadcrumb a {
    transition: color .3s ease;
}


.career-breadcrumb a:hover {
    color: var(--career-gold);
}


.career-breadcrumb > i {
    color: rgba(255, 255, 255, .35);

    font-size: 9px;
}


.career-breadcrumb span {
    color: var(--career-gold);
}


.career-hero-bottom-line {
    position: absolute;
    z-index: 3;

    right: 0;
    bottom: 0;
    left: 0;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--career-red),
            var(--career-gold),
            var(--career-red),
            transparent
        );
}


/* =========================================================
   COMMON HEADINGS
========================================================= */

.career-section-heading {
    max-width: 780px;

    margin-bottom: 44px;
}


.career-section-heading.text-center {
    margin-right: auto;
    margin-left: auto;
}


.career-page-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    margin-bottom: 13px;
    padding: 7px 13px;

    color: var(--career-red);

    background: rgba(184, 23, 32, .07);

    border: 1px solid rgba(184, 23, 32, .11);
    border-radius: 50px;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.career-section-heading h2,
.career-intro-content h2 {
    margin: 0 0 15px;

    color: var(--career-text);

    font-family: "Montserrat", sans-serif;

    font-size: clamp(39px, 4vw, 54px);
    font-weight: 800;

    letter-spacing: -1.6px;
    line-height: 1.09;

    text-wrap: balance;
}


.career-section-heading h2 span,
.career-intro-content h2 span {
    display: block;

    color: var(--career-red);
}


.career-section-heading p {
    max-width: 670px;

    margin: 0;

    color: var(--career-muted);

    font-size: 15px;
    line-height: 1.8;
}


.career-section-heading.text-center p {
    margin-right: auto;
    margin-left: auto;
}


/* =========================================================
   INTRODUCTION
========================================================= */

.career-intro-section {
    position: relative;

    padding: 100px 0;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 8% 18%,
            rgba(184, 23, 32, .06),
            transparent 27%
        ),
        radial-gradient(
            circle at 92% 82%,
            rgba(230, 183, 94, .09),
            transparent 26%
        ),
        linear-gradient(
            135deg,
            #fffafa,
            #ffffff 50%,
            #fff8f3
        );

    isolation: isolate;
}


.career-bg-shape {
    position: absolute;
    z-index: -1;

    display: block;

    border-radius: 50%;

    pointer-events: none;
}


.career-bg-shape-one {
    top: 80px;
    left: -170px;

    width: 340px;
    height: 340px;

    border: 55px solid rgba(184, 23, 32, .03);
}


.career-bg-shape-two {
    right: -100px;
    bottom: -120px;

    width: 280px;
    height: 280px;

    background: rgba(230, 183, 94, .07);
}


/* Visual */

.career-intro-visual {
    position: relative;

    min-height: 590px;

    padding: 20px 45px 45px 0;
}


.career-intro-image {
    position: relative;

    width: calc(100% - 35px);
    height: 540px;

    margin-left: auto;

    overflow: hidden;

    padding: 11px;

    background: #ffffff;

    border: 1px solid var(--career-border);
    border-radius: 27px;

    box-shadow:
        0 32px 70px rgba(47, 28, 25, .16);
}


.career-intro-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    border-radius: 18px;

    transition: transform .7s ease;
}


.career-intro-image:hover img {
    transform: scale(1.06);
}


.career-intro-image-overlay {
    position: absolute;

    inset: 11px;

    border-radius: 18px;

    background:
        linear-gradient(
            180deg,
            transparent 48%,
            rgba(24, 8, 5, .72)
        );

    pointer-events: none;
}


.career-image-caption {
    position: absolute;
    z-index: 2;

    right: 30px;
    bottom: 29px;
    left: 30px;

    display: flex;
    align-items: center;

    gap: 11px;

    padding: 13px;

    color: #ffffff;

    background: rgba(24, 8, 6, .68);

    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 12px;

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}


.career-image-caption-icon {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--career-red-light),
            var(--career-red-dark)
        );

    border-radius: 10px;
}


.career-image-caption > div {
    display: flex;
    flex-direction: column;
}


.career-image-caption small {
    color: rgba(255, 255, 255, .57);

    font-size: 10px;
}


.career-image-caption strong {
    color: #ffffff;

    font-size: 14px;
}


/* Floating card */

.career-floating-card {
    position: absolute;
    z-index: 7;

    top: 65px;
    left: -5px;

    display: flex;
    align-items: center;

    gap: 10px;

    max-width: 245px;

    padding: 12px 14px 12px 10px;

    background: rgba(255, 255, 255, .97);

    border: 1px solid var(--career-border);
    border-radius: 13px;

    box-shadow:
        0 17px 38px rgba(40, 22, 20, .18);

    transition:
        box-shadow .3s ease,
        transform .3s ease;
}


.career-floating-card:hover {
    transform: translateY(-5px);
}


.career-floating-card > span {
    flex: 0 0 41px;

    width: 41px;
    height: 41px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--career-red-light),
            var(--career-red-dark)
        );

    border-radius: 10px;
}


.career-floating-card > div,
.career-floating-badge > span {
    display: flex;
    flex-direction: column;
}


.career-floating-card small,
.career-floating-badge small {
    margin-bottom: 3px;

    font-size: 9px;
}


.career-floating-card small {
    color: #8f7975;
}


.career-floating-card strong {
    color: var(--career-text);

    font-size: 12px;
}


.career-floating-badge {
    position: absolute;
    z-index: 7;

    right: 0;
    bottom: 100px;

    display: flex;
    align-items: center;

    gap: 10px;

    padding: 12px 15px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #26130f,
            #431b17
        );

    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 13px;

    box-shadow:
        0 17px 38px rgba(30, 15, 13, .22);

    transition: transform .3s ease;
}


.career-floating-badge:hover {
    transform: translateX(-5px);
}


.career-floating-badge > i {
    color: var(--career-gold);

    font-size: 18px;
}


.career-floating-badge small {
    color: rgba(255, 255, 255, .48);
}


.career-floating-badge strong {
    color: #ffffff;

    font-size: 12px;
}


/* Intro content */

.career-intro-content {
    max-width: 650px;

    margin-left: auto;
}


.career-intro-content > p {
    margin: 0 0 13px;

    color: var(--career-muted);

    font-size: 15px;
    line-height: 1.8;
}


.career-intro-content .career-intro-lead {
    color: #493a37;

    font-size: 17px;
    font-weight: 600;

    line-height: 1.7;
}


/* Points */

.career-intro-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px;

    margin-top: 24px;
}


.career-intro-points > div {
    display: flex;
    align-items: center;

    gap: 9px;

    padding: 11px;

    background: #ffffff;

    border: 1px solid var(--career-border);
    border-radius: 11px;

    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}


.career-intro-points > div:hover {
    border-color: rgba(184, 23, 32, .2);

    box-shadow:
        0 10px 24px rgba(47, 28, 25, .08);

    transform: translateY(-3px);
}


.career-intro-points > div > span {
    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background: var(--career-red);

    border-radius: 8px;
}


.career-intro-points p {
    margin: 0;

    color: #554744;

    font-size: 13px;
    font-weight: 600;

    line-height: 1.45;
}


/* Actions */

.career-intro-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 18px;

    margin-top: 27px;
}


.career-primary-btn {
    min-height: 53px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 12px 19px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--career-red-light),
            var(--career-red-dark)
        );

    border-radius: 11px;

    box-shadow:
        0 12px 27px rgba(159, 10, 18, .24);

    font-size: 13px;
    font-weight: 750;

    transition:
        color .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}


.career-primary-btn:hover {
    color: #ffffff;

    box-shadow:
        0 17px 34px rgba(159, 10, 18, .32);

    transform: translateY(-3px);
}


.career-primary-btn i {
    transition: transform .3s ease;
}


.career-primary-btn:hover i {
    transform: translateX(4px);
}


.career-secondary-link {
    display: inline-flex;
    align-items: center;

    gap: 10px;
}


.career-secondary-link > span {
    flex: 0 0 43px;

    width: 43px;
    height: 43px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--career-red);

    background: #ffffff;

    border: 1px solid var(--career-border);
    border-radius: 11px;

    box-shadow:
        0 7px 18px rgba(46, 27, 24, .07);

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}


.career-secondary-link:hover > span {
    color: #ffffff;

    background: var(--career-red);

    transform: rotate(-5deg);
}


.career-secondary-link > div {
    display: flex;
    flex-direction: column;
}


.career-secondary-link small {
    color: #8b7975;

    font-size: 10px;
}


.career-secondary-link strong {
    color: var(--career-text);

    font-size: 13px;
}


/* =========================================================
   BENEFITS
========================================================= */

.career-benefits-section {
    padding: 95px 0;

    background: #ffffff;
}


.career-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 14px;
}


.career-benefit-card {
    position: relative;

    min-height: 245px;

    overflow: hidden;

    padding: 24px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fffafa
        );

    border: 1px solid var(--career-border);
    border-radius: 18px;

    box-shadow:
        0 12px 34px rgba(48, 28, 25, .07);

    transition:
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}


.career-benefit-card:hover {
    border-color: rgba(184, 23, 32, .20);

    box-shadow:
        0 22px 48px rgba(48, 28, 25, .13);

    transform: translateY(-8px);
}


.career-benefit-number {
    position: absolute;

    top: 17px;
    right: 18px;

    color: rgba(184, 23, 32, .13);

    font-size: 22px;
    font-weight: 800;
}


.career-benefit-icon {
    width: 51px;
    height: 51px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 20px;

    color: var(--career-red);

    background: rgba(184, 23, 32, .075);

    border-radius: 13px;

    font-size: 19px;

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}


.career-benefit-card:hover .career-benefit-icon {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--career-red-light),
            var(--career-red-dark)
        );

    transform: rotate(-5deg) scale(1.05);
}


.career-benefit-card h3 {
    margin: 0 0 9px;

    color: var(--career-text);

    font-size: 18px;
    font-weight: 750;
}


.career-benefit-card p {
    margin: 0;

    color: var(--career-muted);

    font-size: 13px;
    line-height: 1.7;
}


.career-benefit-line {
    position: absolute;

    right: 25%;
    bottom: 0;
    left: 25%;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--career-red),
            var(--career-gold),
            transparent
        );

    transform: scaleX(0);

    transition: transform .35s ease;
}


.career-benefit-card:hover
.career-benefit-line {
    transform: scaleX(1);
}


/* =========================================================
   OPPORTUNITIES
========================================================= */

.career-opportunities-section {
    padding: 95px 0;

    background:
        radial-gradient(
            circle at 8% 18%,
            rgba(184, 23, 32, .055),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            #fffafa,
            #ffffff,
            #fff8f4
        );
}


.career-opportunity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 16px;
}


.career-opportunity-card {
    position: relative;

    min-height: 305px;

    overflow: hidden;

    padding: 27px;

    background: #ffffff;

    border: 1px solid var(--career-border);
    border-radius: 19px;

    box-shadow:
        0 13px 36px rgba(45, 27, 24, .075);

    transition:
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}


.career-opportunity-card:hover {
    border-color: rgba(184, 23, 32, .20);

    box-shadow:
        0 24px 52px rgba(45, 27, 24, .14);

    transform: translateY(-7px);
}


.career-opportunity-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 22px;
}


.career-opportunity-icon {
    width: 52px;
    height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--career-red);

    background: rgba(184, 23, 32, .075);

    border-radius: 13px;

    font-size: 19px;

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}


.career-opportunity-card:hover
.career-opportunity-icon {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--career-red-light),
            var(--career-red-dark)
        );

    transform: rotate(-5deg);
}


.career-opportunity-tag {
    display: inline-flex;

    padding: 6px 10px;

    color: var(--career-red);

    background: #fff0ee;

    border-radius: 50px;

    font-size: 10px;
    font-weight: 750;

    text-transform: uppercase;
}


.career-opportunity-card h3 {
    margin: 0 0 10px;

    color: var(--career-text);

    font-size: 21px;
    font-weight: 760;
}


.career-opportunity-card > p {
    margin: 0;

    color: var(--career-muted);

    font-size: 14px;
    line-height: 1.75;
}


.career-opportunity-skills {
    display: flex;
    flex-wrap: wrap;

    gap: 6px;

    margin-top: 18px;
}


.career-opportunity-skills span {
    padding: 6px 9px;

    color: #765e59;

    background: #fff7f5;

    border: 1px solid rgba(184, 23, 32, .08);
    border-radius: 7px;

    font-size: 10px;
    font-weight: 650;
}


.career-opportunity-card > a {
    position: absolute;

    left: 27px;
    bottom: 24px;

    display: inline-flex;
    align-items: center;

    gap: 7px;

    color: var(--career-red);

    font-size: 12px;
    font-weight: 750;
}


.career-opportunity-card > a i {
    transition: transform .3s ease;
}


.career-opportunity-card:hover > a i {
    transform: translate(3px, -3px);
}


/* Note */

.career-vacancy-note {
    display: flex;
    align-items: center;

    gap: 13px;

    margin-top: 20px;
    padding: 17px;

    background:
        linear-gradient(
            135deg,
            #fff4f1,
            #ffffff
        );

    border: 1px solid var(--career-border);
    border-radius: 14px;
}


.career-vacancy-note > span {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background: var(--career-red);

    border-radius: 11px;
}


.career-vacancy-note strong {
    display: block;

    margin-bottom: 3px;

    color: var(--career-text);

    font-size: 14px;
}


.career-vacancy-note p {
    margin: 0;

    color: var(--career-muted);

    font-size: 12px;
}


/* =========================================================
   APPLICATION PROCESS
========================================================= */

.career-process-section {
    padding: 95px 0;

    background: #ffffff;
}


.career-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 14px;
}


.career-process-card {
    position: relative;

    min-height: 225px;

    padding: 24px 20px;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fffafa
        );

    border: 1px solid var(--career-border);
    border-radius: 17px;

    box-shadow:
        0 10px 28px rgba(45, 27, 24, .07);

    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}


.career-process-card:hover {
    border-color: rgba(184, 23, 32, .19);

    box-shadow:
        0 20px 42px rgba(45, 27, 24, .12);

    transform: translateY(-7px);
}


.career-process-number {
    position: absolute;

    top: 15px;
    right: 16px;

    color: rgba(184, 23, 32, .15);

    font-size: 19px;
    font-weight: 800;
}


.career-process-icon {
    width: 60px;
    height: 60px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 17px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--career-red-light),
            var(--career-red-dark)
        );

    border: 6px solid #fff1ef;
    border-radius: 50%;

    box-shadow:
        0 9px 22px rgba(159, 10, 18, .20);

    font-size: 19px;

    transition: transform .3s ease;
}


.career-process-card:hover
.career-process-icon {
    transform: rotate(-5deg) scale(1.06);
}


.career-process-card h3 {
    margin: 0 0 8px;

    color: var(--career-text);

    font-size: 17px;
    font-weight: 750;
}


.career-process-card p {
    margin: 0;

    color: var(--career-muted);

    font-size: 13px;
    line-height: 1.7;
}


/* =========================================================
   APPLICATION SECTION
========================================================= */

.career-apply-section {
    position: relative;

    padding: 95px 0;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 8% 18%,
            rgba(184, 23, 32, .06),
            transparent 27%
        ),
        radial-gradient(
            circle at 93% 85%,
            rgba(230, 183, 94, .08),
            transparent 26%
        ),
        linear-gradient(
            135deg,
            #fffafa,
            #ffffff 50%,
            #fff8f4
        );

    isolation: isolate;
}


.career-apply-shape {
    position: absolute;
    z-index: -1;

    display: block;

    border-radius: 50%;
}


.career-apply-shape-one {
    top: 120px;
    left: -170px;

    width: 340px;
    height: 340px;

    border: 55px solid rgba(184, 23, 32, .03);
}


.career-apply-shape-two {
    right: -100px;
    bottom: -120px;

    width: 280px;
    height: 280px;

    background: rgba(230, 183, 94, .07);
}


/* Left panel */

.career-apply-info {
    position: relative;

    height: 100%;

    overflow: hidden;

    padding: 36px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at right top,
            rgba(255, 255, 255, .10),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #20100d,
            #401a16
        );

    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 24px;

    box-shadow:
        0 26px 60px rgba(42, 20, 17, .19);

    isolation: isolate;
}


.career-apply-info::before {
    content: "";

    position: absolute;
    z-index: -1;

    top: -110px;
    right: -90px;

    width: 250px;
    height: 250px;

    background: rgba(184, 23, 32, .22);

    border-radius: 50%;
}


.career-apply-info::after {
    content: "";

    position: absolute;

    right: 0;
    bottom: 0;
    left: 0;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--career-red),
            var(--career-gold),
            transparent
        );
}


.career-apply-small-title {
    display: block;

    margin-bottom: 7px;

    color: var(--career-gold);

    font-size: 10px;
    font-weight: 750;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.career-apply-info > h3 {
    margin: 0 0 13px;

    color: #ffffff;

    font-family: "Montserrat", sans-serif;

    font-size: 31px;
    font-weight: 760;

    letter-spacing: -1px;
    line-height: 1.15;
}


.career-apply-info > h3 span {
    display: block;

    color: var(--career-gold);
}


.career-apply-info > p {
    margin: 0;

    color: rgba(255, 255, 255, .64);

    font-size: 13px;
    line-height: 1.75;
}


.career-apply-info-list {
    display: grid;

    gap: 10px;

    margin-top: 27px;
}


.career-apply-info-list > div {
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 13px;

    background: rgba(255, 255, 255, .065);

    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 12px;
}


.career-apply-info-list > div > span {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--career-gold);

    background: rgba(230, 183, 94, .09);

    border-radius: 10px;
}


.career-apply-info-list > div > div {
    display: flex;
    flex-direction: column;
}


.career-apply-info-list small {
    margin-bottom: 3px;

    color: rgba(255, 255, 255, .43);

    font-size: 9px;
}


.career-apply-info-list strong {
    color: #ffffff;

    font-size: 12px;
}


.career-direct-contact {
    display: flex;
    align-items: center;

    gap: 11px;

    margin-top: 21px;
    padding: 14px;

    background: rgba(255, 255, 255, .07);

    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 12px;
}


.career-direct-icon {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--career-red-light),
            var(--career-red-dark)
        );

    border-radius: 10px;
}


.career-direct-contact > div {
    min-width: 0;

    display: flex;
    flex-direction: column;
}


.career-direct-contact small {
    color: rgba(255, 255, 255, .45);

    font-size: 9px;
}


.career-direct-contact a {
    color: #ffffff;

    font-size: 12px;

    overflow-wrap: anywhere;
}


/* =========================================================
   FORM
========================================================= */

.career-form-panel {
    position: relative;

    height: 100%;

    overflow: hidden;

    padding: 38px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fffafa
        );

    border: 1px solid var(--career-border);
    border-radius: 24px;

    box-shadow:
        0 24px 58px rgba(47, 28, 25, .11);
}


.career-form-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 27px;
    padding-bottom: 23px;

    border-bottom: 1px solid #eee3e1;
}


.career-form-heading > div > span {
    display: block;

    margin-bottom: 6px;

    color: var(--career-red);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .9px;

    text-transform: uppercase;
}


.career-form-heading h3 {
    margin: 0 0 8px;

    color: var(--career-text);

    font-family: "Montserrat", sans-serif;

    font-size: 27px;
    font-weight: 760;

    letter-spacing: -.7px;
}


.career-form-heading p {
    margin: 0;

    color: var(--career-muted);

    font-size: 12px;
    line-height: 1.65;
}


.career-form-heading-icon {
    flex: 0 0 52px;

    width: 52px;
    height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--career-red-light),
            var(--career-red-dark)
        );

    border-radius: 14px;

    box-shadow:
        0 11px 24px rgba(154, 10, 18, .23);
}


.career-form-heading-icon i {
    font-size: 19px;
}


.career-form-group .form-label {
    margin-bottom: 8px;

    color: #493936;

    font-size: 12px;
    font-weight: 700;
}


.career-form-group .form-label sup {
    color: var(--career-red);
}


.career-input-wrap {
    position: relative;
}


.career-input-wrap > i {
    position: absolute;
    z-index: 2;

    top: 50%;
    left: 15px;

    color: var(--career-red);

    font-size: 14px;

    transform: translateY(-50%);

    pointer-events: none;
}


.career-textarea-wrap > i {
    top: 17px;

    transform: none;
}


.career-form-panel .form-control,
.career-form-panel .form-select {
    min-height: 52px;

    padding: 12px 14px 12px 43px;

    color: #382d2a;

    background: #fffafa;

    border: 1px solid #e8dddb;
    border-radius: 11px;

    box-shadow: none;

    font-size: 13px;

    transition:
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}


.career-form-panel textarea.form-control {
    min-height: 125px;

    padding-top: 14px;

    resize: vertical;
}


.career-form-panel .form-control:focus,
.career-form-panel .form-select:focus {
    background: #ffffff;

    border-color: var(--career-red);

    box-shadow:
        0 0 0 4px rgba(184, 23, 32, .08);
}


/* Resume upload */

.career-resume-upload {
    position: relative;

    min-height: 90px;

    display: flex;
    align-items: center;

    gap: 13px;

    overflow: hidden;

    padding: 17px;

    background:
        linear-gradient(
            135deg,
            #fff6f4,
            #ffffff
        );

    border: 1px dashed rgba(184, 23, 32, .28);
    border-radius: 12px;
}


.career-resume-icon {
    flex: 0 0 45px;

    width: 45px;
    height: 45px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--career-red);

    background: rgba(184, 23, 32, .08);

    border-radius: 11px;

    font-size: 18px;
}


.career-resume-upload > div {
    display: flex;
    flex-direction: column;
}


.career-resume-upload strong {
    color: var(--career-text);

    font-size: 13px;
}


.career-resume-upload span {
    color: var(--career-muted);

    font-size: 10px;
}


.career-resume-upload input {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    opacity: 0;

    cursor: pointer;
}


/* Footer */

.career-form-footer {
    display: flex;
    align-items: center;

    gap: 15px;
}


.career-submit-btn {
    min-height: 53px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 12px 20px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--career-red-light),
            var(--career-red-dark)
        );

    border: 0;
    border-radius: 11px;

    box-shadow:
        0 12px 27px rgba(159, 10, 18, .24);

    font-size: 12px;
    font-weight: 750;

    transition:
        box-shadow .3s ease,
        transform .3s ease;
}


.career-submit-btn:hover {
    box-shadow:
        0 17px 34px rgba(159, 10, 18, .32);

    transform: translateY(-3px);
}


.career-submit-btn i {
    transition: transform .3s ease;
}


.career-submit-btn:hover i {
    transform: translateX(4px);
}


.career-form-note {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    color: #81736f;

    font-size: 10px;
    line-height: 1.5;
}


.career-form-note i {
    color: var(--career-red);
}


/* =========================================================
   FINAL CTA
========================================================= */

.career-final-section {
    padding: 25px 0 90px;

    background: #ffffff;
}


.career-final-panel {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;

    gap: 24px;

    padding: 30px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at right top,
            rgba(255, 255, 255, .15),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            var(--career-red-light),
            var(--career-red-dark)
        );

    border-radius: 20px;

    box-shadow:
        0 20px 47px rgba(157, 10, 18, .22);
}


.career-final-icon {
    width: 62px;
    height: 62px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background: rgba(255, 255, 255, .12);

    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 15px;

    font-size: 23px;
}


.career-final-copy > span {
    display: block;

    margin-bottom: 5px;

    color: rgba(255, 255, 255, .65);

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .8px;

    text-transform: uppercase;
}


.career-final-copy h2 {
    margin: 0 0 6px;

    color: #ffffff;

    font-family: "Montserrat", sans-serif;

    font-size: clamp(25px, 3vw, 36px);
    font-weight: 750;

    letter-spacing: -.8px;
}


.career-final-copy h2 strong {
    color: #ffe1a2;

    font-weight: inherit;
}


.career-final-copy p {
    margin: 0;

    color: rgba(255, 255, 255, .68);

    font-size: 12px;
}


.career-final-actions {
    display: flex;
    align-items: center;

    gap: 9px;
}


.career-final-email,
.career-final-whatsapp {
    min-height: 47px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 10px 15px;

    border-radius: 10px;

    font-size: 11px;
    font-weight: 750;

    white-space: nowrap;

    transition: transform .3s ease;
}


.career-final-email {
    color: var(--career-red);

    background: #ffffff;
}


.career-final-email:hover {
    color: var(--career-red);

    transform: translateY(-3px);
}


.career-final-whatsapp {
    color: #ffffff;

    background: #159447;
}


.career-final-whatsapp:hover {
    color: #ffffff;

    transform: translateY(-3px);
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

    .career-intro-section,
    .career-benefits-section,
    .career-opportunities-section,
    .career-process-section,
    .career-apply-section {
        padding: 82px 0;
    }

    .career-benefit-grid,
    .career-process-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .career-intro-visual {
        min-height: 545px;
    }

    .career-intro-image {
        height: 500px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .career-page-hero {
        min-height: 400px;

        padding: 65px 0;
    }

    .career-page-hero h1 {
        font-size: 50px;
    }

    .career-intro-visual {
        max-width: 680px;

        margin: 0 auto;
    }

    .career-intro-content {
        max-width: 720px;

        margin: 15px auto 0;

        text-align: center;
    }

    .career-intro-points {
        text-align: left;
    }

    .career-intro-actions {
        justify-content: center;
    }

    .career-apply-info,
    .career-form-panel {
        max-width: 760px;

        margin: 0 auto;
    }

    .career-final-panel {
        grid-template-columns: auto 1fr;
    }

    .career-final-actions {
        grid-column: 1 / -1;

        justify-content: center;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .career-page-hero {
        min-height: 365px;

        padding: 55px 0;
    }

    .career-page-hero h1 {
        font-size: 39px;
    }

    .career-page-hero-content > p {
        font-size: 14px;
    }

    .career-page-eyebrow {
        font-size: 10px;
    }

    .career-intro-section,
    .career-benefits-section,
    .career-opportunities-section,
    .career-process-section,
    .career-apply-section {
        padding: 68px 0;
    }

    .career-intro-visual {
        min-height: 480px;

        padding: 0 18px 50px;
    }

    .career-intro-image {
        width: 100%;
        height: 430px;
    }

    .career-intro-content h2,
    .career-section-heading h2 {
        font-size: 35px;
    }

    .career-opportunity-grid {
        grid-template-columns: 1fr;
    }

    .career-apply-info,
    .career-form-panel {
        padding: 27px 23px;

        border-radius: 20px;
    }

    .career-final-panel {
        grid-template-columns: 1fr;

        text-align: center;
    }

    .career-final-icon {
        margin: 0 auto;
    }

    .career-final-actions {
        grid-column: auto;

        justify-content: center;

        flex-wrap: wrap;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .career-page-hero {
        min-height: 335px;

        padding: 48px 0;
    }

    .career-page-hero .container,
    .career-intro-section .container,
    .career-benefits-section .container,
    .career-opportunities-section .container,
    .career-process-section .container,
    .career-apply-section .container,
    .career-final-section .container {
        padding-right: 13px;
        padding-left: 13px;
    }

    .career-page-hero h1 {
        font-size: 33px;
    }

    .career-page-hero-content > p {
        font-size: 13px;
    }

    .career-page-kicker {
        font-size: 9px;
    }

    .career-intro-section,
    .career-benefits-section,
    .career-opportunities-section,
    .career-process-section,
    .career-apply-section {
        padding: 56px 0;
    }

    .career-intro-visual {
        min-height: 420px;

        padding-right: 7px;
        padding-left: 7px;
    }

    .career-intro-image {
        height: 365px;

        padding: 8px;

        border-radius: 21px;
    }

    .career-intro-image-overlay {
        inset: 8px;
    }

    .career-floating-card {
        top: 25px;
        left: 0;

        max-width: 185px;
    }

    .career-floating-card small,
    .career-floating-badge small {
        display: none;
    }

    .career-floating-badge {
        right: 0;
        bottom: 70px;
    }

    .career-intro-content h2,
    .career-section-heading h2 {
        font-size: 30px;
    }

    .career-intro-content > p {
        font-size: 13px;
    }

    .career-intro-content .career-intro-lead {
        font-size: 14.5px;
    }

    .career-intro-points {
        grid-template-columns: 1fr;
    }

    .career-intro-points p {
        font-size: 12px;
    }

    .career-intro-actions {
        flex-direction: column;
    }

    .career-primary-btn {
        width: 100%;
    }

    .career-benefit-grid,
    .career-process-grid {
        grid-template-columns: 1fr;
    }

    .career-benefit-card {
        min-height: auto;
    }

    .career-opportunity-card {
        min-height: 285px;

        padding: 22px 19px;
    }

    .career-opportunity-card > a {
        left: 19px;
        bottom: 20px;
    }

    .career-vacancy-note {
        align-items: flex-start;
    }

    .career-apply-info,
    .career-form-panel {
        padding: 23px 18px;
    }

    .career-apply-info > h3 {
        font-size: 26px;
    }

    .career-form-heading h3 {
        font-size: 21px;
    }

    .career-form-heading-icon {
        flex-basis: 44px;

        width: 44px;
        height: 44px;
    }

    .career-form-panel .form-control,
    .career-form-panel .form-select {
        min-height: 49px;

        font-size: 16px;
    }

    .career-form-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .career-submit-btn {
        width: 100%;
    }

    .career-form-note {
        justify-content: center;

        text-align: center;
    }

    .career-final-section {
        padding: 15px 0 60px;
    }

    .career-final-panel {
        padding: 24px 18px;
    }

    .career-final-copy h2 {
        font-size: 28px;
    }

    .career-final-actions {
        flex-direction: column;
    }

    .career-final-email,
    .career-final-whatsapp {
        width: 100%;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

    .career-page-hero h1 {
        font-size: 29px;
    }

    .career-intro-content h2,
    .career-section-heading h2 {
        font-size: 27px;
    }

    .career-intro-image {
        height: 335px;
    }

    .career-floating-card {
        max-width: 160px;
    }

    .career-apply-info,
    .career-form-panel {
        padding-right: 15px;
        padding-left: 15px;
    }

    .career-form-heading-icon {
        display: none;
    }

    .career-final-copy h2 {
        font-size: 25px;
    }
}


/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none), (pointer: coarse) {

    .career-benefit-card:hover,
    .career-opportunity-card:hover,
    .career-process-card:hover,
    .career-primary-btn:hover,
    .career-submit-btn:hover,
    .career-final-email:hover,
    .career-final-whatsapp:hover,
    .career-floating-card:hover,
    .career-floating-badge:hover {
        transform: none;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
    .career-page *,
    .career-page *::before,
    .career-page *::after {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   PRODUCT PAGE ROOT
========================================================= */

.me-products-page {
    --me-red: #b81720;
    --me-red-light: #df343d;
    --me-red-dark: #8f0a11;

    --me-gold: #e1ad4e;
    --me-dark: #281e1c;
    --me-text: #302725;
    --me-muted: #766966;

    width: 100%;
    overflow: hidden;
}


/* =========================================================
   PAGE BANNER
========================================================= */

.product-page-banner {
    position: relative;

    min-height: 390px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    padding: 70px 0;

    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    text-align: center;

    isolation: isolate;
}


.product-page-banner-overlay {
    position: absolute;
    z-index: -1;

    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(184, 23, 32, .06),
            transparent 54%
        ),
        rgba(20, 6, 4, .69);
}


.product-page-banner-content {
    max-width: 850px;

    margin: auto;

    text-align: center;
}


.product-page-banner-kicker {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 15px;
    padding: 8px 14px;

    color: #f2c66f;

    background: rgba(255,255,255,.1);

    border: 1px solid rgba(255,255,255,.16);
    border-radius: 100px;

    font-size: 11px;
    font-weight: 750;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.product-page-banner-content h1 {
    margin: 0 0 17px;

    color: #fff;

    font-family: "Montserrat", sans-serif;

    font-size: clamp(44px, 5vw, 66px);
    font-weight: 800;

    letter-spacing: -1.8px;
    line-height: 1.07;
}


.product-page-banner-content h1 span {
    display: block;

    color: #efc36e;
}


.product-page-banner-content > p {
    max-width: 680px;

    margin: auto;

    color: rgba(255,255,255,.82);

    font-size: 15px;
    line-height: 1.7;
}


.product-page-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    margin-top: 22px;
}


.product-page-breadcrumb a,
.product-page-breadcrumb span {
    color: rgba(255,255,255,.75);

    font-size: 11px;
    font-weight: 600;
}


.product-page-breadcrumb a:hover {
    color: #efc36e;
}


.product-page-breadcrumb > i {
    color: rgba(255,255,255,.35);

    font-size: 8px;
}


.product-page-breadcrumb span {
    color: #efc36e;
}


/* =========================================================
   MAIN HEADING
========================================================= */

.product-page-intro {
    padding: 80px 0 55px;

    background: #fff;
}


.product-page-main-heading {
    max-width: 760px;

    margin: auto;

    text-align: center;
}


.product-page-main-heading > span {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-bottom: 11px;
    padding: 7px 13px;

    color: var(--me-red);

    background: rgba(184,23,32,.07);

    border: 1px solid rgba(184,23,32,.1);
    border-radius: 100px;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .9px;

    text-transform: uppercase;
}


.product-page-main-heading h2 {
    margin: 0 0 13px;

    color: var(--me-text);

    font-family: "Montserrat", sans-serif;

    font-size: clamp(38px, 4vw, 52px);
    font-weight: 800;

    letter-spacing: -1.4px;
}


.product-page-main-heading p {
    max-width: 620px;

    margin: auto;

    color: var(--me-muted);

    font-size: 13px;
    line-height: 1.75;
}


/* =========================================================
   PRODUCT CATEGORY BLOCK
========================================================= */

.product-category-block {
    position: relative;

    padding: 75px 0 90px;

    background:
        radial-gradient(
            circle at 7% 10%,
            rgba(184,23,32,.045),
            transparent 27%
        ),
        #fff;
}


.product-category-alt {
    background:
        radial-gradient(
            circle at 92% 85%,
            rgba(225,173,78,.08),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #fff9f8,
            #fffdfc
        );
}


.product-category-block + .product-category-block {
    border-top: 1px solid rgba(184,23,32,.08);
}


/* =========================================================
   CATEGORY HEADING
========================================================= */

.product-category-heading {
    display: flex;
    align-items: center;

    gap: 16px;

    margin-bottom: 35px;
    padding-bottom: 20px;

    border-bottom: 1px solid #eee5e3;
}


.product-category-number {
    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            var(--me-red-light),
            var(--me-red-dark)
        );

    border-radius: 14px;

    box-shadow:
        0 10px 24px rgba(160,10,18,.22);

    font-size: 17px;
    font-weight: 800;
}


.product-category-heading > div:last-child {
    min-width: 0;
}


.product-category-kicker {
    display: block;

    margin-bottom: 4px;

    color: #a0827d;

    font-size: 9px;
    font-weight: 750;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.product-category-heading h2 {
    margin: 0;

    color: var(--me-text);

    font-family: "Montserrat", sans-serif;

    font-size: clamp(30px, 3vw, 42px);
    font-weight: 800;

    letter-spacing: -1px;
}


/* =========================================================
   SUB CATEGORY
========================================================= */

.product-subcategory {
    margin-top: 45px;
}


.product-subcategory:first-of-type {
    margin-top: 0;
}


.product-subcategory + .product-subcategory {
    margin-top: 55px;

    padding-top: 45px;

    border-top: 1px dashed rgba(184,23,32,.15);
}


.product-subcategory-heading {
    display: flex;
    align-items: center;

    gap: 11px;

    margin-bottom: 24px;
}


.product-subcategory-heading > span {
    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--me-red);

    background: rgba(184,23,32,.075);

    border: 1px solid rgba(184,23,32,.1);
    border-radius: 10px;
}


.product-subcategory-heading > span i {
    font-size: 15px;
}


.product-subcategory-heading h3 {
    margin: 0;

    color: #392d2a;

    font-family: "Montserrat", sans-serif;

    font-size: 22px;
    font-weight: 750;
}


/* =========================================================
   PRODUCTS GRID
========================================================= */

.product-model-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 20px;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.product-model-card {
    position: relative;

    min-width: 0;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: #fff;

    border: 1px solid rgba(184,23,32,.09);
    border-radius: 18px;

    box-shadow:
        0 10px 28px rgba(45,27,24,.075);

    transition:
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}


.product-model-card:hover {
    border-color: rgba(184,23,32,.20);

    box-shadow:
        0 22px 48px rgba(45,27,24,.14);

    transform: translateY(-7px);
}


.product-model-card::after {
    content: "";

    position: absolute;

    right: 25%;
    bottom: 0;
    left: 25%;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--me-red),
            var(--me-gold),
            transparent
        );

    transform: scaleX(0);

    transition: transform .35s ease;
}


.product-model-card:hover::after {
    transform: scaleX(1);
}


/* =========================================================
   PRODUCT IMAGE
========================================================= */

.product-model-image {
    position: relative;

    width: 100%;
    height: 245px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #f8f5f4,
            #eee9e7
        );
}


.product-model-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .7s cubic-bezier(.22,1,.36,1),
        filter .4s ease;
}


.product-model-card:hover
.product-model-image img {
    transform: scale(1.07);

    filter: saturate(1.04);
}


/* =========================================================
   PRODUCT CONTENT
========================================================= */

.product-model-content {
    min-height: 135px;

    display: flex;
    flex: 1;
    flex-direction: column;

    padding: 17px;
}


.product-model-content h3 {
    min-height: 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 0 13px;

    color: #322825;

    font-size: 15px;
    font-weight: 720;

    line-height: 1.4;

    text-align: center;

    transition: color .3s ease;
}


.product-model-card:hover
.product-model-content h3 {
    color: var(--me-red);
}


/* =========================================================
   ENQUIRY BUTTON
========================================================= */

.product-model-enquiry {
    min-height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    margin-top: auto;
    padding: 10px 13px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            var(--me-red-light),
            var(--me-red-dark)
        );

    border-radius: 10px;

    box-shadow:
        0 9px 20px rgba(151,10,18,.18);

    font-size: 11px;
    font-weight: 750;

    text-decoration: none;

    transition:
        color .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}


.product-model-enquiry:hover {
    color: #fff;

    box-shadow:
        0 13px 27px rgba(151,10,18,.29);

    transform: translateY(-2px);
}


.product-model-enquiry i {
    font-size: 10px;

    transition: transform .3s ease;
}


.product-model-enquiry:hover i {
    transform: translateX(4px);
}


/* =========================================================
   TRAY / MOULD CARDS
========================================================= */

.tray-mould-grid .product-model-image {
    height: 215px;

    padding: 10px;

    background: #fffafa;
}


.tray-mould-grid .product-model-image img {
    object-fit: contain;
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

    .product-model-grid {
        grid-template-columns:
            repeat(3, minmax(0,1fr));
    }

    .product-model-image {
        height: 250px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .product-page-banner {
        min-height: 355px;
    }


    .product-category-block {
        padding: 65px 0 75px;
    }


    .product-model-grid {
        grid-template-columns:
            repeat(2, minmax(0,1fr));

        gap: 17px;
    }


    .product-model-image {
        height: 280px;
    }


    .tray-mould-grid .product-model-image {
        height: 245px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .product-page-banner {
        min-height: 330px;

        padding: 50px 0;
    }


    .product-page-banner-content h1 {
        font-size: 38px;
    }


    .product-page-banner-content > p {
        font-size: 13px;
    }


    .product-page-intro {
        padding: 60px 0 40px;
    }


    .product-page-main-heading h2 {
        font-size: 35px;
    }


    .product-category-heading {
        margin-bottom: 28px;
    }


    .product-category-number {
        flex-basis: 50px;

        width: 50px;
        height: 50px;

        border-radius: 12px;

        font-size: 14px;
    }


    .product-category-heading h2 {
        font-size: 30px;
    }


    .product-subcategory-heading h3 {
        font-size: 19px;
    }


    .product-model-image {
        height: 245px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .product-page-banner {
        min-height: 300px;
    }


    .product-page-banner .container,
    .product-page-intro .container,
    .product-category-block .container {
        padding-right: 13px;
        padding-left: 13px;
    }


    .product-page-banner-content h1 {
        font-size: 32px;
    }


    .product-page-main-heading h2 {
        font-size: 30px;
    }


    .product-category-block {
        padding: 55px 0 60px;
    }


    .product-category-heading {
        align-items: flex-start;

        gap: 11px;
    }


    .product-category-number {
        flex-basis: 44px;

        width: 44px;
        height: 44px;

        font-size: 12px;
    }


    .product-category-heading h2 {
        font-size: 26px;
    }


    .product-category-kicker {
        font-size: 8px;
    }


    .product-subcategory {
        margin-top: 35px;
    }


    .product-subcategory + .product-subcategory {
        margin-top: 38px;
        padding-top: 35px;
    }


    .product-subcategory-heading > span {
        width: 37px;
        height: 37px;
    }


    .product-subcategory-heading h3 {
        font-size: 17px;
    }


    .product-model-grid {
        grid-template-columns: 1fr;

        gap: 15px;
    }


    .product-model-card {
        width: 100%;
        max-width: 430px;

        margin: 0 auto;
    }


    .product-model-image {
        height: 290px;
    }


    .tray-mould-grid .product-model-image {
        height: 260px;
    }


    .product-model-content {
        min-height: auto;

        padding: 16px;
    }


    .product-model-content h3 {
        min-height: auto;

        font-size: 16px;
    }


    .product-model-enquiry {
        min-height: 47px;

        font-size: 11px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

    .product-page-banner-content h1 {
        font-size: 28px;
    }


    .product-category-heading h2 {
        font-size: 23px;
    }


    .product-model-image {
        height: 245px;
    }


    .tray-mould-grid .product-model-image {
        height: 225px;
    }


    .product-model-content h3 {
        font-size: 14px;
    }
}


/* =========================================================
   TOUCH DEVICE
========================================================= */

@media (hover:none), (pointer:coarse) {

    .product-model-card:hover,
    .product-model-enquiry:hover {
        transform: none;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce) {

    .product-model-card,
    .product-model-image img,
    .product-model-enquiry,
    .product-model-enquiry i {
        transition: none !important;
    }
}



/* =========================================================
   MANJU ENGINEERS - ABOUT PAGE
========================================================= */

.about-doc-page {
    --about-red: #b81720;
    --about-red-dark: #8d0b12;
    --about-gold: #e0ab51;
    --about-dark: #281d1b;
    --about-text: #342a28;
    --about-muted: #756966;
    --about-border: rgba(184, 23, 32, .10);

    width: 100%;
    overflow: hidden;
}


/* =========================================================
   HERO
========================================================= */

.about-doc-hero {
    position: relative;
    min-height: 410px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 75px 0;
    overflow: hidden;
    isolation: isolate;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.about-doc-hero-overlay {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(
            rgba(24, 7, 5, .56),
            rgba(24, 7, 5, .69)
        );
}

.about-doc-hero-content {
    width: min(100%, 900px);
    margin: auto;
    text-align: center;
}

.about-doc-hero-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-bottom: 17px;
    padding: 9px 15px;
    color: #f4c66e;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 100px;
    backdrop-filter: blur(8px);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.about-doc-hero h1 {
    max-width: 900px;
    margin: 0 auto 18px;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(42px, 5vw, 65px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1.8px;
}

.about-doc-hero h1 span {
    display: block;
    color: #f0bd5f;
}

.about-doc-hero-content > p {
    max-width: 720px;
    margin: auto;
    color: rgba(255,255,255,.86);
    font-size: 16px;
    line-height: 1.75;
}

.about-doc-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 22px;
}

.about-doc-breadcrumb a,
.about-doc-breadcrumb span {
    color: rgba(255,255,255,.78);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.about-doc-breadcrumb a:hover,
.about-doc-breadcrumb span {
    color: #f0bd5f;
}

.about-doc-breadcrumb > i {
    color: rgba(255,255,255,.38);
    font-size: 8px;
}

.about-doc-hero-line {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    background:
        linear-gradient(
            90deg,
            transparent,
            var(--about-red),
            var(--about-gold),
            var(--about-red),
            transparent
        );
}


/* =========================================================
   COMMON HEADING
========================================================= */

.about-doc-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
    color: var(--about-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.about-doc-section-heading {
    max-width: 780px;
    margin: 0 auto 45px;
}

.about-doc-section-heading h2,
.about-doc-company-content h2 {
    margin: 0 0 15px;
    color: var(--about-text);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(34px, 4vw, 45px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -1.2px;
}

.about-doc-section-heading h2 span,
.about-doc-company-content h2 span {
    display: block;
    color: var(--about-red);
}

.about-doc-section-heading > p {
    max-width: 650px;
    margin: auto;
    color: var(--about-muted);
    font-size: 15px;
    line-height: 1.75;
}


/* =========================================================
   COMPANY SECTION
========================================================= */

.about-doc-company {
    position: relative;
    padding: 105px 0;
    background:
        radial-gradient(
            circle at 3% 15%,
            rgba(184,23,32,.06),
            transparent 28%
        ),
        radial-gradient(
            circle at 94% 92%,
            rgba(224,171,81,.09),
            transparent 27%
        ),
        #fff;
}

.about-doc-shape {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
}

.about-doc-shape-one {
    top: 80px;
    left: -150px;
    width: 310px;
    height: 310px;
    border: 50px solid rgba(184,23,32,.035);
}

.about-doc-shape-two {
    right: -120px;
    bottom: -120px;
    width: 280px;
    height: 280px;
    background: rgba(224,171,81,.075);
}


/* Visual */

.about-doc-visual {
    position: relative;
    min-height: 610px;
    padding: 0 45px 45px 0;
}

.about-doc-main-image {
    position: relative;
    width: calc(100% - 35px);
    height: 565px;
    margin-left: auto;
    overflow: hidden;
    padding: 11px;
    background: #fff;
    border: 1px solid var(--about-border);
    border-radius: 28px;
    box-shadow: 0 30px 70px rgba(43,24,21,.15);
}

.about-doc-main-image > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 19px;
    transition: transform .7s ease;
}

.about-doc-main-image:hover > img {
    transform: scale(1.055);
}

.about-doc-image-overlay {
    position: absolute;
    inset: 11px;
    pointer-events: none;
    border-radius: 19px;
    background:
        linear-gradient(
            transparent 50%,
            rgba(30,10,8,.76)
        );
}

.about-doc-image-info {
    position: absolute;
    right: 28px;
    bottom: 28px;
    left: 28px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    color: #fff;
    background: rgba(25,8,6,.68);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 14px;
    backdrop-filter: blur(10px);
}

.about-doc-image-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg,#df333c,#950c13);
    border-radius: 11px;
}

.about-doc-image-info div {
    display: flex;
    flex-direction: column;
}

.about-doc-image-info small {
    margin-bottom: 3px;
    color: rgba(255,255,255,.64);
    font-size: 9px;
    text-transform: uppercase;
}

.about-doc-image-info strong {
    font-size: 13px;
}

.about-doc-small-image {
    position: absolute;
    z-index: 4;
    left: 0;
    bottom: 0;
    width: 220px;
    height: 205px;
    overflow: hidden;
    padding: 8px;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 22px 55px rgba(40,22,20,.2);
}

.about-doc-small-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 15px;
}

.about-doc-year-card {
    position: absolute;
    z-index: 5;
    top: 55px;
    left: -15px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 17px;
    background: #fff;
    border: 1px solid var(--about-border);
    border-radius: 15px;
    box-shadow: 0 17px 40px rgba(43,23,21,.16);
}

.about-doc-year-card > strong {
    color: var(--about-red);
    font-size: 26px;
    line-height: 1;
}

.about-doc-year-card span {
    display: flex;
    flex-direction: column;
}

.about-doc-year-card small,
.about-doc-location-card small {
    color: #907d79;
    font-size: 9px;
}

.about-doc-year-card b,
.about-doc-location-card strong {
    color: #302624;
    font-size: 11px;
}

.about-doc-location-card {
    position: absolute;
    z-index: 5;
    top: 265px;
    right: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    color: #fff;
    background: linear-gradient(135deg,#301815,#4a201c);
    border-radius: 13px;
    box-shadow: 0 17px 38px rgba(37,17,15,.22);
}

.about-doc-location-card > i {
    color: var(--about-gold);
    font-size: 18px;
}

.about-doc-location-card span {
    display: flex;
    flex-direction: column;
}

.about-doc-location-card small {
    color: rgba(255,255,255,.55);
}

.about-doc-location-card strong {
    color: #fff;
}


/* Company content */

.about-doc-company-content {
    max-width: 640px;
    margin-left: auto;
}

.about-doc-company-content h2 {
    margin-bottom: 22px;
}

.about-doc-company-content > p {
    margin-bottom: 14px;
    color: #706462;
    font-size: 15px;
    line-height: 1.78;
}

.about-doc-company-content .about-doc-lead {
    color: #493d3a;
    font-size: 17px;
    line-height: 1.7;
}

.about-doc-highlight {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 22px;
    padding: 17px;
    background: linear-gradient(135deg,#fff7f7,#fffdfb);
    border: 1px solid rgba(184,23,32,.11);
    border-radius: 14px;
}

.about-doc-highlight > span {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--about-red);
    background: rgba(184,23,32,.08);
    border-radius: 10px;
}

.about-doc-highlight p {
    margin: 0;
    color: #645653;
    font-size: 13px;
    line-height: 1.7;
}

.about-doc-company-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    margin-top: 27px;
}

.about-doc-primary-btn {
    min-height: 53px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 12px 20px;
    color: #fff;
    text-decoration: none;
    background: linear-gradient(135deg,#df3039,#920a11);
    border-radius: 11px;
    box-shadow: 0 11px 24px rgba(159,10,18,.22);
    font-size: 12px;
    font-weight: 750;
    transition: .3s ease;
}

.about-doc-primary-btn:hover {
    color: #fff;
    transform: translateY(-3px);
}

.about-doc-contact-link {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #332a28;
    text-decoration: none;
}

.about-doc-contact-link > span {
    width: 45px;
    height: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--about-red);
    background: #fff;
    border: 1px solid var(--about-border);
    border-radius: 11px;
    box-shadow: 0 7px 18px rgba(45,25,22,.08);
}

.about-doc-contact-link div {
    display: flex;
    flex-direction: column;
}

.about-doc-contact-link small {
    color: #897a77;
    font-size: 9px;
}

.about-doc-contact-link strong {
    font-size: 12px;
}


/* =========================================================
   BUSINESS PROFILE
========================================================= */

.about-doc-profile {
    padding: 95px 0;
    background: #fff9f8;
}

.about-doc-profile-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 20px;
}

.about-doc-profile-card {
    position: relative;
    overflow: hidden;
    padding: 25px;
    background: #fff;
    border: 1px solid var(--about-border);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(46,26,23,.07);
    transition: .35s ease;
}

.about-doc-profile-card:hover {
    border-color: rgba(184,23,32,.22);
    box-shadow: 0 20px 45px rgba(46,26,23,.13);
    transform: translateY(-7px);
}

.about-doc-profile-number {
    position: absolute;
    top: 18px;
    right: 18px;
    color: rgba(184,23,32,.13);
    font-size: 18px;
    font-weight: 850;
}

.about-doc-profile-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    color: var(--about-red);
    background: rgba(184,23,32,.075);
    border-radius: 13px;
    font-size: 19px;
}

.about-doc-profile-card h3 {
    margin: 0 0 9px;
    color: #332a28;
    font-size: 18px;
    font-weight: 750;
}

.about-doc-profile-card p {
    margin: 0;
    color: #776b68;
    font-size: 13px;
    line-height: 1.65;
}


/* =========================================================
   PRODUCTS
========================================================= */

.about-doc-products {
    padding: 100px 0;
    background: #fff;
}

.about-doc-products-intro {
    margin: 0;
    color: var(--about-muted);
    font-size: 14px;
    line-height: 1.75;
}

.about-doc-product-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
}

.about-doc-product-card {
    position: relative;
    display: grid;
    grid-template-columns: 38px 52px 1fr 22px;
    align-items: center;
    gap: 13px;
    padding: 17px;
    color: inherit;
    text-decoration: none;
    background: linear-gradient(135deg,#fff,#fffafa);
    border: 1px solid var(--about-border);
    border-radius: 16px;
    box-shadow: 0 8px 23px rgba(44,25,23,.055);
    transition: .35s ease;
}

.about-doc-product-card:hover {
    color: inherit;
    border-color: rgba(184,23,32,.23);
    box-shadow: 0 16px 36px rgba(44,25,23,.11);
    transform: translateY(-5px);
}

.about-doc-product-no {
    color: rgba(184,23,32,.24);
    font-size: 11px;
    font-weight: 850;
}

.about-doc-product-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--about-red);
    background: rgba(184,23,32,.075);
    border-radius: 12px;
    font-size: 18px;
    transition: .3s ease;
}

.about-doc-product-card:hover .about-doc-product-icon {
    color: #fff;
    background: linear-gradient(135deg,#db3039,#930b12);
}

.about-doc-product-card h3 {
    margin: 0 0 4px;
    color: #302624;
    font-size: 15px;
    font-weight: 750;
}

.about-doc-product-card p {
    margin: 0;
    color: #7b6e6b;
    font-size: 11px;
}

.about-doc-product-card > i {
    color: #b89b96;
    font-size: 12px;
}

.about-doc-product-card:hover > i {
    color: var(--about-red);
}


/* =========================================================
   ADVANTAGES
========================================================= */

.about-doc-advantages {
    padding: 25px 0 100px;
    background: #fff;
}

.about-doc-advantages-panel {
    overflow: hidden;
    padding: 55px;
    color: #fff;
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(224,171,81,.18),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #251310,
            #481a18 55%,
            #711318
        );
    border-radius: 26px;
    box-shadow: 0 28px 65px rgba(42,19,16,.2);
}

.about-doc-dark-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    color: #efbf67;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.about-doc-advantages-heading h2 {
    margin: 0 0 16px;
    color: #fff;
    font-family: "Montserrat",sans-serif;
    font-size: clamp(32px,4vw,45px);
    font-weight: 800;
    line-height: 1.12;
}

.about-doc-advantages-heading h2 span {
    display: block;
    color: #efbf67;
}

.about-doc-advantages-heading p {
    max-width: 490px;
    margin: 0;
    color: rgba(255,255,255,.67);
    font-size: 14px;
    line-height: 1.75;
}

.about-doc-light-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    padding: 12px 17px;
    color: #331915;
    background: #f0bd61;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 750;
    text-decoration: none;
}

.about-doc-light-btn:hover {
    color: #331915;
    background: #fff;
}

.about-doc-advantage-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 13px;
}

.about-doc-advantage-grid article {
    position: relative;
    min-height: 138px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 18px;
    background: rgba(255,255,255,.075);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 15px;
    backdrop-filter: blur(5px);
    transition: .3s ease;
}

.about-doc-advantage-grid article:hover {
    background: rgba(255,255,255,.12);
    transform: translateY(-4px);
}

.about-doc-advantage-grid article > span {
    position: absolute;
    top: 15px;
    right: 15px;
    color: rgba(255,255,255,.18);
    font-size: 11px;
    font-weight: 800;
}

.about-doc-advantage-grid article > i {
    margin-bottom: 11px;
    color: #efbf67;
    font-size: 22px;
}

.about-doc-advantage-grid h3 {
    margin: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.about-doc-advantage-wide {
    grid-column: 1 / -1;
}


/* =========================================================
   MISSION / VISION
========================================================= */

.about-doc-purpose {
    position: relative;
    padding: 105px 0;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    isolation: isolate;
}

.about-doc-purpose-overlay {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(
            135deg,
            rgba(28,9,7,.92),
            rgba(76,18,17,.89)
        );
}

.about-doc-light-heading h2 {
    color: #fff;
}

.about-doc-light-heading h2 span {
    color: #efbf67;
}

.about-doc-light-heading > p {
    color: rgba(255,255,255,.67);
}

.about-doc-purpose-grid {
    max-width: 1000px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 24px;
    margin: auto;
}

.about-doc-purpose-card {
    position: relative;
    overflow: hidden;
    min-height: 340px;
    padding: 30px;
    color: #fff;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.13),
            rgba(255,255,255,.055)
        );
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px;
    backdrop-filter: blur(12px);
    transition: .35s ease;
}

.about-doc-purpose-card:hover {
    background: rgba(255,255,255,.15);
    transform: translateY(-7px);
}

.about-doc-purpose-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
}

.about-doc-purpose-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2d1714;
    background: #efbf67;
    border-radius: 14px;
    font-size: 21px;
}

.about-doc-purpose-no {
    color: rgba(255,255,255,.17);
    font-size: 26px;
    font-weight: 850;
}

.about-doc-purpose-card > small {
    display: block;
    margin-bottom: 5px;
    color: #efbf67;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.about-doc-purpose-card h3 {
    margin: 0 0 14px;
    color: #fff;
    font-size: 28px;
    font-weight: 800;
}

.about-doc-purpose-card p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 14px;
    line-height: 1.8;
}

.about-doc-purpose-line {
    position: absolute;
    right: 30px;
    bottom: 0;
    left: 30px;
    height: 3px;
    background:
        linear-gradient(
            90deg,
            transparent,
            #efbf67,
            transparent
        );
}


/* =========================================================
   VALUES
========================================================= */

.about-doc-values {
    position: relative;
    padding: 105px 0;
    background:
        radial-gradient(
            circle at 90% 12%,
            rgba(184,23,32,.055),
            transparent 25%
        ),
        #fff;
}

.about-doc-values-shape {
    position: absolute;
    left: -120px;
    bottom: 50px;
    width: 260px;
    height: 260px;
    border: 45px solid rgba(224,171,81,.08);
    border-radius: 50%;
}

.about-doc-values-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
}

.about-doc-value-card {
    position: relative;
    min-height: 275px;
    overflow: hidden;
    padding: 25px;
    background: linear-gradient(145deg,#fff,#fff9f8);
    border: 1px solid var(--about-border);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(44,25,23,.065);
    transition: .35s ease;
}

.about-doc-value-card::after {
    content: "";
    position: absolute;
    right: 22%;
    bottom: 0;
    left: 22%;
    height: 3px;
    background:
        linear-gradient(
            90deg,
            transparent,
            var(--about-red),
            var(--about-gold),
            transparent
        );
    transform: scaleX(0);
    transition: transform .35s ease;
}

.about-doc-value-card:hover {
    border-color: rgba(184,23,32,.2);
    box-shadow: 0 20px 45px rgba(44,25,23,.12);
    transform: translateY(-7px);
}

.about-doc-value-card:hover::after {
    transform: scaleX(1);
}

.about-doc-value-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.about-doc-value-icon {
    width: 55px;
    height: 55px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--about-red);
    background: rgba(184,23,32,.075);
    border-radius: 13px;
    font-size: 20px;
    transition: .3s ease;
}

.about-doc-value-card:hover .about-doc-value-icon {
    color: #fff;
    background: linear-gradient(135deg,#df333c,#930a11);
}

.about-doc-value-number {
    color: rgba(184,23,32,.15);
    font-size: 18px;
    font-weight: 850;
}

.about-doc-value-card h3 {
    margin: 0 0 10px;
    color: #342a28;
    font-size: 20px;
    font-weight: 800;
}

.about-doc-value-card p {
    margin: 0;
    color: #746865;
    font-size: 13px;
    line-height: 1.72;
}


/* =========================================================
   FINAL CTA
========================================================= */

.about-doc-final {
    padding: 0 0 100px;
    background: #fff;
}

.about-doc-final-panel {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 25px;
    padding: 35px 38px;
    color: #fff;
    background:
        radial-gradient(
            circle at right top,
            rgba(255,255,255,.12),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #a90e16,
            #751016
        );
    border-radius: 22px;
    box-shadow: 0 22px 50px rgba(126,10,18,.22);
}

.about-doc-final-icon {
    width: 68px;
    height: 68px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2e1814;
    background: #efbf67;
    border-radius: 17px;
    font-size: 26px;
}

.about-doc-final-copy > span {
    display: block;
    margin-bottom: 5px;
    color: rgba(255,255,255,.64);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.about-doc-final-copy h2 {
    margin: 0 0 7px;
    color: #fff;
    font-family: "Montserrat",sans-serif;
    font-size: 27px;
    font-weight: 750;
}

.about-doc-final-copy h2 strong {
    color: #f1c46f;
}

.about-doc-final-copy p {
    margin: 0;
    color: rgba(255,255,255,.67);
    font-size: 12px;
}

.about-doc-final-actions {
    display: flex;
    gap: 10px;
}

.about-doc-final-primary,
.about-doc-final-whatsapp {
    min-height: 47px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 11px 16px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 750;
    text-decoration: none;
    white-space: nowrap;
}

.about-doc-final-primary {
    color: #2e1814;
    background: #f0bd61;
}

.about-doc-final-primary:hover {
    color: #2e1814;
    background: #fff;
}

.about-doc-final-whatsapp {
    color: #fff;
    background: #1ca950;
    border: 1px solid rgba(255,255,255,.15);
}

.about-doc-final-whatsapp:hover {
    color: #fff;
    background: #138d40;
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width:1199.98px) {

    .about-doc-company,
    .about-doc-products,
    .about-doc-values,
    .about-doc-purpose {
        padding: 90px 0;
    }

    .about-doc-profile {
        padding: 85px 0;
    }

    .about-doc-profile-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .about-doc-visual {
        min-height: 565px;
    }

    .about-doc-main-image {
        height: 520px;
    }

    .about-doc-final-panel {
        grid-template-columns: auto 1fr;
    }

    .about-doc-final-actions {
        grid-column: 2;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:991.98px) {

    .about-doc-hero {
        min-height: 370px;
    }

    .about-doc-visual {
        width: min(100%,680px);
        min-height: 640px;
        margin: auto;
        padding-right: 45px;
    }

    .about-doc-main-image {
        height: 585px;
    }

    .about-doc-company-content {
        max-width: 720px;
        margin: 15px auto 0;
    }

    .about-doc-product-grid {
        grid-template-columns: 1fr;
    }

    .about-doc-purpose {
        background-attachment: scroll;
    }

    .about-doc-values-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .about-doc-advantages-panel {
        padding: 45px;
    }

    .about-doc-final-panel {
        grid-template-columns: auto 1fr;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:767.98px) {

    .about-doc-hero {
        min-height: 345px;
        padding: 55px 0;
    }

    .about-doc-hero h1 {
        font-size: 39px;
        letter-spacing: -1px;
    }

    .about-doc-hero-content > p {
        font-size: 14px;
    }

    .about-doc-company,
    .about-doc-products,
    .about-doc-values,
    .about-doc-purpose {
        padding: 70px 0;
    }

    .about-doc-profile {
        padding: 70px 0;
    }

    .about-doc-visual {
        min-height: 525px;
        padding: 0 15px 45px;
    }

    .about-doc-main-image {
        width: 100%;
        height: 470px;
    }

    .about-doc-small-image {
        width: 165px;
        height: 150px;
    }

    .about-doc-year-card {
        top: 28px;
        left: 0;
    }

    .about-doc-location-card {
        top: auto;
        right: 0;
        bottom: 70px;
    }

    .about-doc-section-heading h2,
    .about-doc-company-content h2 {
        font-size: 34px;
    }

    .about-doc-company-content > p {
        font-size: 14px;
    }

    .about-doc-profile-grid {
        grid-template-columns: 1fr;
    }

    .about-doc-purpose-grid {
        grid-template-columns: 1fr;
    }

    .about-doc-purpose-card {
        min-height: auto;
    }

    .about-doc-values-grid {
        grid-template-columns: 1fr;
    }

    .about-doc-value-card {
        min-height: auto;
    }

    .about-doc-advantages-panel {
        padding: 35px 25px;
        border-radius: 20px;
    }

    .about-doc-final-panel {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .about-doc-final-icon {
        margin: auto;
    }

    .about-doc-final-actions {
        grid-column: auto;
        justify-content: center;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:575.98px) {

    .about-doc-hero {
        min-height: 325px;
    }

    .about-doc-hero-kicker {
        font-size: 10px;
    }

    .about-doc-hero h1 {
        font-size: 32px;
    }

    .about-doc-company,
    .about-doc-products,
    .about-doc-values,
    .about-doc-purpose,
    .about-doc-profile {
        padding: 60px 0;
    }

    .about-doc-section-heading {
        margin-bottom: 34px;
    }

    .about-doc-section-heading h2,
    .about-doc-company-content h2 {
        font-size: 30px;
    }

    .about-doc-visual {
        min-height: 460px;
        padding-right: 5px;
        padding-left: 5px;
    }

    .about-doc-main-image {
        height: 400px;
        padding: 8px;
        border-radius: 21px;
    }

    .about-doc-image-overlay {
        inset: 8px;
    }

    .about-doc-image-info {
        right: 18px;
        bottom: 18px;
        left: 18px;
    }

    .about-doc-small-image {
        width: 130px;
        height: 120px;
    }

    .about-doc-year-card {
        padding: 10px 12px;
    }

    .about-doc-year-card > strong {
        font-size: 20px;
    }

    .about-doc-product-card {
        grid-template-columns: 30px 46px 1fr 15px;
        gap: 9px;
        padding: 13px;
    }

    .about-doc-product-icon {
        width: 46px;
        height: 46px;
    }

    .about-doc-product-card h3 {
        font-size: 13px;
    }

    .about-doc-advantage-grid {
        grid-template-columns: 1fr;
    }

    .about-doc-advantage-wide {
        grid-column: auto;
    }

    .about-doc-purpose-card {
        padding: 23px;
    }

    .about-doc-purpose-card h3 {
        font-size: 24px;
    }

    .about-doc-final {
        padding-bottom: 70px;
    }

    .about-doc-final-panel {
        padding: 28px 18px;
    }

    .about-doc-final-copy h2 {
        font-size: 22px;
    }

    .about-doc-final-actions {
        width: 100%;
        flex-direction: column;
    }

    .about-doc-final-primary,
    .about-doc-final-whatsapp {
        width: 100%;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:389.98px) {

    .about-doc-hero h1 {
        font-size: 28px;
    }

    .about-doc-section-heading h2,
    .about-doc-company-content h2 {
        font-size: 27px;
    }

    .about-doc-main-image {
        height: 350px;
    }

    .about-doc-visual {
        min-height: 410px;
    }

    .about-doc-small-image {
        width: 110px;
        height: 105px;
    }

    .about-doc-location-card {
        padding: 9px 11px;
    }

    .about-doc-product-card p {
        display: none;
    }
}


/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover:none),(pointer:coarse) {

    .about-doc-profile-card:hover,
    .about-doc-product-card:hover,
    .about-doc-value-card:hover,
    .about-doc-purpose-card:hover,
    .about-doc-advantage-grid article:hover {
        transform: none;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce) {

    .about-doc-page *,
    .about-doc-page *::before,
    .about-doc-page *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   ABOUT FULL CONTENT
========================================================= */

.about-doc-company-content {
    max-width: 680px;
    margin-left: auto;
}

.about-doc-company-content > p {
    margin: 0 0 16px;
    color: #6f6461;
    font-size: 15px;
    font-weight: 450;
    line-height: 1.8;
}

.about-doc-company-content > p strong {
    color: #352a28;
    font-weight: 700;
}

.about-doc-company-content .about-doc-lead {
    margin-bottom: 18px;
    color: #493b38;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.75;
}


/* Highlight */

.about-doc-highlight {
    display: flex;
    align-items: flex-start;
    gap: 14px;

    margin-top: 24px;
    padding: 18px;

    background:
        linear-gradient(
            135deg,
            #fff4f2,
            #ffffff
        );

    border: 1px solid rgba(184, 23, 32, .12);
    border-left: 4px solid #b81720;
    border-radius: 14px;

    box-shadow:
        0 9px 25px rgba(45, 26, 23, .06);
}

.about-doc-highlight > span {
    flex: 0 0 43px;

    width: 43px;
    height: 43px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #df343d,
            #970b12
        );

    border-radius: 11px;

    box-shadow:
        0 8px 18px rgba(151, 11, 18, .22);
}

.about-doc-highlight > span i {
    font-size: 17px;
}

.about-doc-highlight > div {
    min-width: 0;
}

.about-doc-highlight strong {
    display: block;

    margin-bottom: 5px;

    color: #302624;

    font-size: 14px;
    font-weight: 750;
}

.about-doc-highlight p {
    margin: 0;

    color: #756865;

    font-size: 12px;
    line-height: 1.65;
}


/* Business Points */

.about-doc-business-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 11px;

    margin-top: 24px;
}

.about-doc-business-point {
    display: flex;
    align-items: flex-start;

    gap: 10px;

    padding: 13px;

    background: #ffffff;

    border: 1px solid rgba(184, 23, 32, .09);
    border-radius: 12px;

    box-shadow:
        0 7px 20px rgba(45, 26, 23, .05);

    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}

.about-doc-business-point:hover {
    border-color: rgba(184, 23, 32, .2);

    box-shadow:
        0 13px 28px rgba(45, 26, 23, .10);

    transform: translateY(-4px);
}

.about-doc-business-point > span {
    flex: 0 0 31px;

    width: 31px;
    height: 31px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background: #b81720;

    border-radius: 8px;
}

.about-doc-business-point > span i {
    font-size: 13px;
}

.about-doc-business-point > div {
    min-width: 0;

    display: flex;
    flex-direction: column;
}

.about-doc-business-point strong {
    margin-bottom: 3px;

    color: #342a28;

    font-size: 12px;
    font-weight: 750;
}

.about-doc-business-point small {
    color: #81736f;

    font-size: 10px;
    line-height: 1.55;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .about-doc-company-content {
        max-width: 720px;
        margin-right: auto;
        margin-left: auto;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .about-doc-company-content > p {
        font-size: 14px;
        line-height: 1.75;
    }

    .about-doc-company-content .about-doc-lead {
        font-size: 16px;
    }

    .about-doc-business-points {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .about-doc-company-content > p {
        margin-bottom: 13px;

        font-size: 13px;
        line-height: 1.7;
    }

    .about-doc-company-content .about-doc-lead {
        font-size: 15px;
    }

    .about-doc-highlight {
        padding: 14px;
    }

    .about-doc-highlight strong {
        font-size: 13px;
    }

    .about-doc-highlight p {
        font-size: 11px;
    }

    .about-doc-business-point {
        padding: 12px;
    }

    .about-doc-business-point strong {
        font-size: 11px;
    }

    .about-doc-business-point small {
        font-size: 9px;
    }
}

/* =========================================================
   MANJU ENGINEERS - GALLERY PAGE
========================================================= */

.gallery-page {
    --gallery-red: #b81720;
    --gallery-red-dark: #8d0b12;
    --gallery-gold: #e0ab51;
    --gallery-dark: #2c211f;
    --gallery-text: #382c29;
    --gallery-muted: #796b68;
    --gallery-border: rgba(184, 23, 32, .10);

    width: 100%;
    overflow: hidden;
}


/* =========================================================
   HERO
========================================================= */

.gallery-page-hero {
    position: relative;

    min-height: 420px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    padding: 75px 0;

    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    isolation: isolate;
}

.gallery-page-hero-overlay {
    position: absolute;
    z-index: -1;

    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(30, 8, 5, .26),
            rgba(25, 6, 4, .64)
        ),
        linear-gradient(
            180deg,
            rgba(18, 5, 3, .43),
            rgba(20, 5, 3, .76)
        );
}

.gallery-page-hero-content {
    width: min(100%, 920px);

    margin: auto;

    color: #ffffff;

    text-align: center;
}

.gallery-page-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    margin-bottom: 18px;
    padding: 9px 16px;

    color: #f0c36d;

    background: rgba(255, 255, 255, .10);

    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 100px;

    backdrop-filter: blur(9px);

    font-size: 12px;
    font-weight: 750;

    letter-spacing: 1.1px;

    text-transform: uppercase;
}

.gallery-page-eyebrow i {
    font-size: 14px;
}

.gallery-page-hero h1 {
    max-width: 900px;

    margin: 0 auto 18px;

    color: #ffffff;

    font-family: "Montserrat", sans-serif;

    font-size: clamp(42px, 5vw, 64px);
    font-weight: 800;

    letter-spacing: -1.8px;
    line-height: 1.08;

    text-shadow:
        0 8px 30px rgba(0, 0, 0, .28);
}

.gallery-page-hero h1 span {
    display: block;

    color: #efbd62;
}

.gallery-page-hero-content > p {
    max-width: 740px;

    margin: auto;

    color: rgba(255, 255, 255, .85);

    font-size: 16px;
    line-height: 1.75;
}

.gallery-page-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    margin-top: 23px;
}

.gallery-page-breadcrumb a,
.gallery-page-breadcrumb span {
    color: rgba(255, 255, 255, .75);

    font-size: 12px;
    font-weight: 600;

    text-decoration: none;

    transition: color .3s ease;
}

.gallery-page-breadcrumb a:hover,
.gallery-page-breadcrumb span {
    color: #efbd62;
}

.gallery-page-breadcrumb > i {
    color: rgba(255, 255, 255, .38);

    font-size: 8px;
}

.gallery-page-hero-line {
    position: absolute;

    right: 0;
    bottom: 0;
    left: 0;

    height: 4px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #b81720,
            #e0ab51,
            #b81720,
            transparent
        );
}


/* =========================================================
   SHOWCASE
========================================================= */

.gallery-showcase-section {
    position: relative;

    padding: 100px 0;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 7% 12%,
            rgba(184, 23, 32, .055),
            transparent 28%
        ),
        radial-gradient(
            circle at 94% 92%,
            rgba(224, 171, 81, .09),
            transparent 26%
        ),
        linear-gradient(
            135deg,
            #fffafa,
            #ffffff 52%,
            #fffaf6
        );

    isolation: isolate;
}

.gallery-bg-shape {
    position: absolute;
    z-index: -1;

    display: block;

    pointer-events: none;

    border-radius: 50%;
}

.gallery-bg-shape-one {
    top: 120px;
    left: -175px;

    width: 350px;
    height: 350px;

    border: 55px solid rgba(184, 23, 32, .035);
}

.gallery-bg-shape-two {
    right: -120px;
    bottom: 100px;

    width: 280px;
    height: 280px;

    background: rgba(224, 171, 81, .07);
}


/* =========================================================
   HEADING
========================================================= */

.gallery-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    align-items: end;

    gap: 50px;

    margin-bottom: 38px;
}

.gallery-section-kicker {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 12px;

    color: var(--gallery-red);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.1px;

    text-transform: uppercase;
}

.gallery-section-heading h2 {
    max-width: 690px;

    margin: 0;

    color: var(--gallery-text);

    font-family: "Montserrat", sans-serif;

    font-size: clamp(34px, 4vw, 48px);
    font-weight: 800;

    letter-spacing: -1.3px;
    line-height: 1.12;
}

.gallery-section-heading h2 span {
    display: block;

    color: var(--gallery-red);
}

.gallery-section-heading > p {
    margin: 0;

    color: var(--gallery-muted);

    font-size: 14px;
    line-height: 1.75;
}


/* =========================================================
   FILTER
========================================================= */

.gallery-filter-wrap {
    margin-bottom: 38px;
}

.gallery-filter-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 9px;

    padding: 9px;

    background: rgba(255, 255, 255, .92);

    border: 1px solid var(--gallery-border);
    border-radius: 16px;

    box-shadow:
        0 9px 27px rgba(45, 26, 23, .07);

    width: fit-content;
    max-width: 100%;
}

.gallery-filter-btn {
    min-height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 9px 14px;

    color: #665754;

    background: transparent;

    border: 1px solid transparent;
    border-radius: 10px;

    font-size: 11px;
    font-weight: 700;

    white-space: nowrap;

    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}

.gallery-filter-btn i {
    color: #b81720;

    font-size: 12px;
}

.gallery-filter-btn:hover {
    color: #b81720;

    background: #fff3f2;

    border-color: rgba(184, 23, 32, .1);

    transform: translateY(-2px);
}

.gallery-filter-btn.active {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #df333c,
            #950b12
        );

    border-color: transparent;

    box-shadow:
        0 8px 20px rgba(166, 12, 20, .22);
}

.gallery-filter-btn.active i {
    color: #ffffff;
}


/* =========================================================
   GRID
========================================================= */

.gallery-page-grid {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 22px;
}

.gallery-page-item {
    min-width: 0;

    transition:
        opacity .3s ease,
        transform .3s ease;
}

.gallery-page-item.gallery-item-hidden {
    display: none;
}


/* =========================================================
   CARD
========================================================= */

.gallery-page-card {
    position: relative;

    width: 100%;
    height: 100%;

    display: block;

    overflow: hidden;

    padding: 0;

    color: inherit;

    text-align: left;

    background: #ffffff;

    border: 1px solid var(--gallery-border);
    border-radius: 19px;

    box-shadow:
        0 12px 34px rgba(43, 25, 22, .08);

    cursor: pointer;

    transition:
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}

.gallery-page-card:hover {
    border-color: rgba(184, 23, 32, .23);

    box-shadow:
        0 24px 52px rgba(43, 25, 22, .16);

    transform: translateY(-8px);
}


/* =========================================================
   IMAGE
========================================================= */

.gallery-card-image {
    position: relative;

    height: 285px;

    display: block;

    overflow: hidden;

    background: #eee8e6;
}

.gallery-card-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .7s cubic-bezier(.22, 1, .36, 1),
        filter .5s ease;
}

.gallery-page-card:hover .gallery-card-image img {
    transform: scale(1.08);

    filter:
        saturate(1.05)
        contrast(1.02);
}

.gallery-card-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 47%,
            rgba(28, 8, 5, .12) 65%,
            rgba(28, 8, 5, .72) 100%
        );

    transition: background .35s ease;
}

.gallery-page-card:hover .gallery-card-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(184, 23, 32, .05),
            rgba(28, 8, 5, .2) 60%,
            rgba(28, 8, 5, .78)
        );
}


/* =========================================================
   CATEGORY BADGE
========================================================= */

.gallery-card-category {
    position: absolute;

    left: 16px;
    bottom: 15px;

    display: inline-flex;
    align-items: center;

    min-height: 27px;

    padding: 5px 10px;

    color: #ffffff;

    background: rgba(28, 9, 6, .64);

    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50px;

    backdrop-filter: blur(8px);

    font-size: 8px;
    font-weight: 700;

    letter-spacing: .6px;

    text-transform: uppercase;
}


/* =========================================================
   VIEW ICON
========================================================= */

.gallery-view-icon {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 51px;
    height: 51px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #df343d,
            #970b12
        );

    border: 3px solid rgba(255, 255, 255, .82);
    border-radius: 50%;

    box-shadow:
        0 12px 28px rgba(79, 5, 10, .32);

    opacity: 0;

    transform:
        translate(-50%, -45%)
        scale(.75);

    transition:
        opacity .35s ease,
        transform .35s cubic-bezier(.22, 1, .36, 1);
}

.gallery-view-icon i {
    font-size: 16px;
}

.gallery-page-card:hover .gallery-view-icon {
    opacity: 1;

    transform:
        translate(-50%, -50%)
        scale(1);
}


/* =========================================================
   CARD CONTENT
========================================================= */

.gallery-card-content {
    min-height: 84px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding: 17px 18px;

    background: #ffffff;
}

.gallery-card-content > span {
    min-width: 0;

    display: flex;
    flex-direction: column;
}

.gallery-card-content small {
    margin-bottom: 4px;

    color: #b81720;

    font-size: 8px;
    font-weight: 750;

    letter-spacing: .8px;

    text-transform: uppercase;
}

.gallery-card-content strong {
    color: #322725;

    font-size: 14px;
    font-weight: 750;

    line-height: 1.35;
}

.gallery-card-content > i {
    flex: 0 0 34px;

    width: 34px;
    height: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #b81720;

    background: rgba(184, 23, 32, .07);

    border-radius: 9px;

    font-size: 11px;

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}

.gallery-page-card:hover
.gallery-card-content > i {
    color: #ffffff;

    background: #b81720;

    transform: rotate(5deg);
}


/* =========================================================
   CTA
========================================================= */

.gallery-cta-section {
    padding: 0 0 100px;

    background:
        linear-gradient(
            180deg,
            #fffaf6,
            #ffffff
        );
}

.gallery-cta-panel {
    position: relative;

    display: grid;

    grid-template-columns: auto 1fr auto;

    align-items: center;

    gap: 26px;

    overflow: hidden;

    padding: 34px 38px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at right top,
            rgba(255, 255, 255, .14),
            transparent 33%
        ),
        linear-gradient(
            135deg,
            #9c0c13,
            #6f0d12
        );

    border-radius: 22px;

    box-shadow:
        0 22px 50px rgba(127, 10, 17, .22);
}

.gallery-cta-panel::after {
    content: "";

    position: absolute;

    right: 0;
    bottom: 0;
    left: 0;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #e7b759,
            #ffffff,
            #e7b759,
            transparent
        );
}

.gallery-cta-icon {
    width: 68px;
    height: 68px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #321815;

    background: #f0bd63;

    border-radius: 17px;

    box-shadow:
        0 10px 24px rgba(0, 0, 0, .15);

    font-size: 25px;
}

.gallery-cta-copy > span {
    display: block;

    margin-bottom: 5px;

    color: rgba(255, 255, 255, .65);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: .8px;

    text-transform: uppercase;
}

.gallery-cta-copy h2 {
    margin: 0 0 7px;

    color: #ffffff;

    font-family: "Montserrat", sans-serif;

    font-size: 27px;
    font-weight: 750;

    line-height: 1.25;
}

.gallery-cta-copy h2 strong {
    color: #f0c16b;
}

.gallery-cta-copy p {
    margin: 0;

    color: rgba(255, 255, 255, .66);

    font-size: 12px;
    line-height: 1.6;
}

.gallery-cta-actions {
    display: flex;
    align-items: center;

    gap: 9px;
}

.gallery-cta-primary,
.gallery-cta-whatsapp {
    min-height: 47px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 11px 15px;

    border-radius: 10px;

    font-size: 10px;
    font-weight: 750;

    white-space: nowrap;

    text-decoration: none;

    transition:
        color .3s ease,
        background .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}

.gallery-cta-primary {
    color: #311815;

    background: #efbd63;
}

.gallery-cta-primary:hover {
    color: #311815;

    background: #ffffff;

    transform: translateY(-3px);
}

.gallery-cta-whatsapp {
    color: #ffffff;

    background: #20ad55;

    box-shadow:
        0 9px 20px rgba(12, 113, 50, .22);
}

.gallery-cta-whatsapp:hover {
    color: #ffffff;

    background: #158b42;

    transform: translateY(-3px);
}


/* =========================================================
   IMAGE MODAL
========================================================= */

.gallery-image-modal {
    z-index: 99999;
}

.gallery-image-modal .modal-dialog {
    padding: 15px;
}

.gallery-image-modal .modal-content {
    overflow: hidden;

    background: #ffffff;

    border: 0;
    border-radius: 20px;

    box-shadow:
        0 30px 90px rgba(20, 10, 8, .35);
}

.gallery-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 17px 20px;

    border-bottom: 1px solid #eee4e2;
}

.gallery-modal-header > div {
    min-width: 0;
}

.gallery-modal-header span {
    display: block;

    margin-bottom: 3px;

    color: #b81720;

    font-size: 8px;
    font-weight: 750;

    letter-spacing: .9px;

    text-transform: uppercase;
}

.gallery-modal-header h2 {
    margin: 0;

    color: #302624;

    font-size: 17px;
    font-weight: 750;
}

.gallery-modal-close {
    flex: 0 0 39px;

    width: 39px;
    height: 39px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #876f6b;

    background: #f7eeee;

    border: 0;
    border-radius: 50%;

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}

.gallery-modal-close:hover {
    color: #ffffff;

    background: #b81720;

    transform: rotate(90deg);
}

.gallery-modal-image-wrap {
    position: relative;

    min-height: 350px;
    max-height: 68vh;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: auto;

    padding: 15px;

    background:
        linear-gradient(
            135deg,
            #f8f3f1,
            #fffafa
        );
}

.gallery-modal-image-wrap img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 65vh;

    display: block;

    object-fit: contain;

    border-radius: 12px;
}

.gallery-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    padding: 14px 20px;

    border-top: 1px solid #eee4e2;
}

.gallery-modal-footer > span {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    color: #736360;

    font-size: 9px;
    font-weight: 600;
}

.gallery-modal-footer > span i {
    color: #b81720;
}

.gallery-modal-footer a {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    padding: 9px 13px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #dc333c,
            #940a11
        );

    border-radius: 9px;

    font-size: 9px;
    font-weight: 700;

    text-decoration: none;
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

    .gallery-showcase-section {
        padding: 85px 0;
    }

    .gallery-page-grid {
        gap: 18px;
    }

    .gallery-card-image {
        height: 255px;
    }

    .gallery-cta-panel {
        grid-template-columns: auto 1fr;
    }

    .gallery-cta-actions {
        grid-column: 2;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .gallery-page-hero {
        min-height: 380px;
    }

    .gallery-showcase-section {
        padding: 75px 0;
    }

    .gallery-section-heading {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .gallery-section-heading > p {
        max-width: 650px;
    }

    .gallery-page-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gallery-filter-buttons {
        width: 100%;
    }

    .gallery-cta-panel {
        padding: 30px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .gallery-page-hero {
        min-height: 350px;

        padding: 55px 0;
    }

    .gallery-page-hero h1 {
        font-size: 39px;

        letter-spacing: -1px;
    }

    .gallery-page-hero-content > p {
        font-size: 14px;
    }

    .gallery-showcase-section {
        padding: 65px 0;
    }

    .gallery-section-heading {
        margin-bottom: 29px;

        text-align: center;
    }

    .gallery-section-heading h2 {
        font-size: 34px;
    }

    .gallery-section-heading > p {
        margin: auto;

        font-size: 13px;
    }

    .gallery-filter-buttons {
        justify-content: center;
    }

    .gallery-page-grid {
        grid-template-columns: 1fr;

        max-width: 620px;

        margin: auto;
    }

    .gallery-card-image {
        height: 330px;
    }

    .gallery-cta-panel {
        grid-template-columns: 1fr;

        text-align: center;
    }

    .gallery-cta-icon {
        margin: auto;
    }

    .gallery-cta-actions {
        grid-column: auto;

        justify-content: center;
    }

    .gallery-modal-footer {
        flex-direction: column;

        text-align: center;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .gallery-page-hero {
        min-height: 325px;
    }

    .gallery-page-eyebrow {
        padding: 8px 12px;

        font-size: 9px;
    }

    .gallery-page-hero h1 {
        font-size: 32px;
    }

    .gallery-page-hero-content > p {
        font-size: 13px;
        line-height: 1.65;
    }

    .gallery-showcase-section {
        padding: 55px 0;
    }

    .gallery-showcase-section .container,
    .gallery-cta-section .container {
        padding-right: 13px;
        padding-left: 13px;
    }

    .gallery-section-heading h2 {
        font-size: 29px;
    }

    .gallery-filter-wrap {
        overflow: hidden;
    }

    .gallery-filter-buttons {
        flex-wrap: nowrap;
        justify-content: flex-start;

        overflow-x: auto;

        padding: 7px;

        border-radius: 13px;

        scrollbar-width: none;
    }

    .gallery-filter-buttons::-webkit-scrollbar {
        display: none;
    }

    .gallery-filter-btn {
        flex: 0 0 auto;

        min-height: 39px;

        padding: 8px 11px;

        font-size: 9px;
    }

    .gallery-card-image {
        height: 270px;
    }

    .gallery-page-card {
        border-radius: 16px;
    }

    .gallery-card-content {
        min-height: 76px;

        padding: 14px;
    }

    .gallery-card-content strong {
        font-size: 13px;
    }

    .gallery-view-icon {
        width: 45px;
        height: 45px;
    }

    .gallery-cta-section {
        padding-bottom: 70px;
    }

    .gallery-cta-panel {
        padding: 26px 18px;

        border-radius: 18px;
    }

    .gallery-cta-icon {
        width: 57px;
        height: 57px;

        font-size: 21px;
    }

    .gallery-cta-copy h2 {
        font-size: 22px;
    }

    .gallery-cta-actions {
        width: 100%;

        flex-direction: column;
    }

    .gallery-cta-primary,
    .gallery-cta-whatsapp {
        width: 100%;
    }

    .gallery-image-modal .modal-dialog {
        margin: 8px;
        padding: 0;
    }

    .gallery-modal-image-wrap {
        min-height: 250px;

        padding: 8px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 389.98px) {

    .gallery-page-hero h1 {
        font-size: 28px;
    }

    .gallery-section-heading h2 {
        font-size: 26px;
    }

    .gallery-card-image {
        height: 235px;
    }

    .gallery-card-content strong {
        font-size: 12px;
    }

    .gallery-card-category {
        left: 11px;
        bottom: 11px;
    }
}


/* =========================================================
   TOUCH
========================================================= */

@media (hover: none), (pointer: coarse) {

    .gallery-page-card:hover,
    .gallery-filter-btn:hover,
    .gallery-cta-primary:hover,
    .gallery-cta-whatsapp:hover {
        transform: none;
    }

    .gallery-view-icon {
        top: 14px;
        right: 14px;
        left: auto;

        width: 40px;
        height: 40px;

        opacity: 1;

        transform: none;
    }

    .gallery-page-card:hover .gallery-view-icon {
        transform: none;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .gallery-page *,
    .gallery-page *::before,
    .gallery-page *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}