@charset "UTF-8";
@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";

@theme {
  --font-sans: 'Inter';
  /* TYPOGRAPHY SCALE: Major Third (1.250) with 16px Base (Font size(n) = 16 * 1.25^n) */
  --text-scale-xs: 10.24px;
  --text-scale-sm: 12.8px;
  --text-scale-base: 16px;
  --text-scale-h6: 20px;
  --text-scale-h5: 25px;
  --text-scale-h4: 31.25px;
  --text-scale-h3: 39.06px;
  --text-scale-h2: 48.83px;

}





@font-face {
  font-family: 'SVN-Aguda';
  src: url('../font/SVN-Aguda%20Black.otf') format('opentype'),
    url('../font/SVN-Aguda Black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Aguda';
  src: url('../font/SVN-Aguda%20Bold.otf') format('opentype'),
    url('../font/SVN-Aguda Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Aguda';
  src: url('../font/SVN-Aguda%20Regular.otf') format('opentype'),
    url('../font/SVN-Aguda Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SVN-Aguda';
  src: url('../font/SVN-Aguda%20Light.otf') format('opentype'),
    url('../font/SVN-Aguda Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}



/* Phông chữ SVN-Aguda cho tiêu đề thương hiệu Hero và số thứ tự cam kết */
#home-commitments .commitments-number,
.commitments-number {
  font-family: 'SVN-Aguda', sans-serif;
  font-weight: 300;
}

#home-hero .hero-brand-title,
.hero-brand-title {
  font-family: 'SVN-Aguda', sans-serif;
  font-weight: 900;
}

/* Toàn bộ tất cả các section, headings, text đổi về font Inter (Loại trừ tuyệt đối các biểu tượng icon FontAwesome & SVG) */
html,
body,
h1:not(.hero-brand-title),
h2,
h3,
h4,
h5,
h6,
p,
span:not(.commitments-number):not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands),
a,
button,
input,
textarea,
select,
optgroup,
.font-inter,
.font-sans,
.homepage-section,
.homepage-section *:not(.commitments-number):not(.hero-brand-title):not(i):not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.fa-solid):not(.fa-regular):not(.fa-brands):not(svg):not(path),
#home-hero *:not(.hero-brand-title):not(i):not([class*="fa-"]):not(svg):not(path),
#home-about:not(i),
#home-about *:not(i):not([class*="fa-"]):not(svg):not(path),
#home-projects:not(i),
#home-projects *:not(i):not([class*="fa-"]):not(svg):not(path),
#home-products:not(i),
#home-products *:not(i):not([class*="fa-"]):not(svg):not(path),
#home-workflow:not(i),
#home-workflow *:not(i):not([class*="fa-"]):not(svg):not(path),
#home-commitments:not(i),
#home-commitments *:not(.commitments-number):not(i):not([class*="fa-"]):not(svg):not(path),
#home-clients:not(i),
#home-clients *:not(i):not([class*="fa-"]):not(svg):not(path),
#home-news:not(i),
#home-news *:not(i):not([class*="fa-"]):not(svg):not(path),
#home-contact:not(i),
#home-contact *:not(i):not([class*="fa-"]):not(svg):not(path),
#main-site-footer:not(i),
#main-site-footer *:not(i):not([class*="fa-"]):not(svg):not(path),
#main-site-header:not(i),
#main-site-header *:not(i):not([class*="fa-"]):not(svg):not(path) {
  font-family: 'Inter';
}

/* Khôi phục và bảo vệ toàn diện Font Awesome không bị ghi đè hay mất biểu tượng */
.fa,
.fas,
.far,
.fal,
.fad,
.fab,
.fa-solid,
.fa-regular,
.fa-brands,
i[class*="fa-"],
span[class*="fa-"],
[class^="fa-"],
[class*=" fa-"] {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "FontAwesome";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.fa-brands,
i[class*="fa-brands"],
span[class*="fa-brands"],
[class*=" fa-brands"] {
  font-family: "Font Awesome 6 Brands";
}

.fa-solid,
i[class*="fa-solid"],
span[class*="fa-solid"],
[class*=" fa-solid"] {
  font-weight: 900;
}

.fa-regular,
i[class*="fa-regular"],
span[class*="fa-regular"],
[class*=" fa-regular"] {
  font-weight: 400;
}

:root {
  --bg-page: #F6F6F6;
  --color-white: #FFFFFF;
  --figma-color-3: #EEEEEE;
  --color-black: #000000;
  --figma-color-5: #E6E6E6;
  --figma-color-6: #F8F3EC;
  --figma-color-7: #212121;
  --brand-navy: #051650;
  --figma-color-9: #FAFAFA
}

*,
*:before,
*:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-family: 'Inter'
}

body {
  font-family: 'Inter';
  color: #212121;
  background-color: #f6f6f6;
  line-height: 1.5;
  overflow-x: hidden;
  min-height: 100vh
}

p {
  font-size: 16px;
  line-height: 1.6;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%
}

input,
button,
textarea,
select,
optgroup {
  font-family: 'Inter';
  font-size: inherit
}

button {
  background: none;
  border: none;
  cursor: pointer
}

a {
  color: inherit;
  text-decoration: none;
  transition: color .15s ease
}

ul,
ol {
  list-style: none
}

html,
body,
button,
input,
textarea,
select,
optgroup {
  font-family: 'Inter'
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Inter';
  font-weight: 700;
  line-height: 1.25;
  color: #051650
}

h1 {
  font-size: 2.25rem
}

h2 {
  font-size: 1.75rem
}

h3 {
  font-size: 1.35rem
}

h4 {
  font-size: 1.15rem
}

h5 {
  font-size: 1rem
}

h6 {
  font-size: .875rem
}

p,
span,
a,
label,
li,
td,
th {
  font-family: inherit
}

p {
  line-height: 1.6;
  color: #525252
}

::-moz-selection {
  background-color: #051650;
  color: #fff
}

::selection {
  background-color: #051650;
  color: #fff
}

.branch-text {
  border-radius: 20px;
  border: 1px solid #000000;

  padding: 2px 8px;
  color: #000;
}

.typo-title,
.text-pc-title {
  font-size: 61px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0
}

.typo-h1,
.text-pc-h1 {
  font-size: 49px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0
}

.typo-h2,
.text-pc-h2 {
  font-size: 39px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0
}

.typo-h3,
.text-pc-h3 {
  font-size: 31px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0
}

.typo-h4,
.text-pc-h4 {
  font-size: 25px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0
}

.typo-h5,
.text-pc-h5 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0
}

.typo-h6,
.text-pc-h6 {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0
}

.typo-p-base,
.text-pc-base {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0
}

.typo-small,
.text-pc-small {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0
}

.typo-smaller,
.text-pc-smaller {
  font-size: 12px;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0
}

.font-regular {
  font-weight: 400
}

.btn-pill-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-family: 'Inter';
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-decoration: none;
  cursor: pointer;
  transition: all .25s ease;
  border: 1px solid transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  gap: .625rem;
  padding: .5rem 1.25rem;
  /* background-color: #051650; */
  color: #fff;
  font-size: .75rem
}

/* .btn-pill-arrow:hover {
  background-color: #0c2370;
  box-shadow: 0 4px 14px #05165040;
  transform: translateY(-1px)
} */

.btn-pill-arrow .arrow-icon,
.btn-pill-arrow>span:first-child:has(img) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.375rem;
  height: 1.375rem;

  color: #fff;
  flex-shrink: 0;
  overflow: hidden;
  transition: transform .25s cubic-bezier(.16, 1, .3, 1), background-color .2s ease;
}

.btn-pill-arrow .arrow-icon img,
.btn-pill-arrow .arrow-icon svg,
.btn-pill-arrow .arrow-svg,
.btn-pill-arrow>span:first-child img {
  width: 20px;
  height: 20px;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
  pointer-events: none;
  filter: brightness(0) invert(1);
}

.btn-pill-arrow:hover .arrow-icon,
.btn-pill-arrow:hover>span:first-child:has(img) {
  transform: translateX(3px);

}

.btn-pill-arrow.btn-pill-arrow-white {
  background-color: #fff;
  color: #000;
}

.btn-pill-arrow.btn-pill-arrow-white .arrow-icon,
.btn-pill-arrow.btn-pill-arrow-white>span:first-child:has(img) {
  /* background-color: #051650; */
  color: #fff;
}

.btn-pill-arrow.btn-pill-arrow-white:hover {
  background-color: #ffffff;
  color: #051650;
  box-shadow: 0 8px 24px rgba(5, 22, 80, 0.22);
  transform: translateY(-2px);
}

.btn-pill-arrow.btn-pill-arrow-secondary {
  background-color: #323232;
  color: #fff
}

.btn-pill-arrow.btn-pill-arrow-secondary:hover {
  background-color: #000
}

.btn-pill-arrow.btn-pill-arrow-compact {
  padding: .5rem 1rem;
  font-size: .6875rem
}

.btn-pill-arrow.btn-pill-arrow-compact .arrow-icon {
  width: 1rem;
  height: 1rem;
  font-size: .625rem
}

.btn-pill-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-family: 'Inter';
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-decoration: none;
  cursor: pointer;
  transition: all .25s ease;
  border: 1px solid transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  gap: .5rem;
  padding: .5rem 1.25rem;
  background-color: #fff;
  color: #051650;
  font-size: .75rem;
  border: 1.5px solid #051650
}

/* .btn-pill-outline:hover {
  background-color: #051650;
  color: #fff
} */

.btn-slider-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background-color: #dadada;
  border: none;
  color: #737373;
  font-size: .75rem;
  cursor: pointer;
  transition: all .15s ease
}

.btn-slider-circle:hover {
  background-color: #051650;
  color: #fff
}

.btn-slider-circle:disabled,
.btn-slider-circle.swiper-button-disabled {
  opacity: .35;
  cursor: not-allowed;
  pointer-events: none
}

.btn-compact-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-family: 'Inter';
  text-transform: uppercase;
  letter-spacing: .05em;
  text-decoration: none;
  cursor: pointer;
  transition: all .25s ease;
  border: 1px solid transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  padding: .25rem .75rem;
  font-size: .6875rem;
  font-weight: 600;
  border: 1px solid #DADADA;
  color: #212121
}

.btn-compact-outline:hover {
  border-color: #051650;
  color: #051650
}

@keyframes spinRingClockwise {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(360deg)
  }
}

@keyframes spinRingCounterClockwise {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(-360deg)
  }
}

@keyframes arrowFloatDown {

  0%,
  to {
    transform: translateY(0)
  }

  50% {
    transform: translateY(2.5px)
  }
}

@keyframes arrowFloatUp {

  0%,
  to {
    transform: rotate(180deg) translateY(0)
  }

  50% {
    transform: rotate(180deg) translateY(2.5px)
  }
}

.btn-scroll-indicator,
.btn-scroll-down {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all .25s ease
}

.btn-scroll-indicator .scroll-indicator-wrap,
.btn-scroll-down .scroll-indicator-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33px;
  height: 33px
}

.btn-scroll-indicator .icon-bottom-svg,
.btn-scroll-down .icon-bottom-svg {
  width: 33px;
  height: 33px;
  display: block;
  overflow: visible
}

.btn-scroll-indicator .icon-bottom-svg .ring-outer,
.btn-scroll-down .icon-bottom-svg .ring-outer {
  transform-origin: 16.04px 16.04px;
  animation: spinRingClockwise 8s linear infinite
}

.btn-scroll-indicator .icon-bottom-svg .ring-inner,
.btn-scroll-down .icon-bottom-svg .ring-inner {
  transform-origin: 16.04px 16.04px;
  animation: spinRingCounterClockwise 6s linear infinite
}

.btn-scroll-indicator .icon-bottom-svg .arrow-icon,
.btn-scroll-down .icon-bottom-svg .arrow-icon {
  transform-origin: 16.04px 16.04px;
  animation: arrowFloatDown 1.8s ease-in-out infinite
}

.btn-scroll-indicator .icon-bottom-svg.direction-up .arrow-icon,
.btn-scroll-down .icon-bottom-svg.direction-up .arrow-icon {
  animation: arrowFloatUp 1.8s ease-in-out infinite
}

.btn-scroll-indicator:hover,
.btn-scroll-down:hover {
  transform: scale(1.08)
}

.btn-scroll-indicator:hover .icon-bottom-svg .ring-outer,
.btn-scroll-down:hover .icon-bottom-svg .ring-outer {
  animation-duration: 3.5s
}

.btn-scroll-indicator:hover .icon-bottom-svg .ring-inner,
.btn-scroll-down:hover .icon-bottom-svg .ring-inner {
  animation-duration: 2.5s
}

.btn-scroll-indicator:active,
.btn-scroll-down:active {
  transform: scale(.96)
}

.figure-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease
}

.figure-card:hover {
  transform: translateY(-3px);
  border-color: #051650;
  box-shadow: 0 8px 24px #05165014
}

.figure-card .figure-arrow {
  transition: transform .15s ease
}

.figure-card:hover .figure-arrow {
  transform: translate(3px)
}

.category-tag {
  display: inline-flex;
  align-items: center;
  padding: .125rem .625rem;
  border-radius: 9999px;
  font-size: .6875rem;
  font-weight: 500;
  border: 1px solid #000000;
  color: #000;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.section-tag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .25rem .75rem;
  border-radius: 9999px;
  background-color: #0516500f;
  color: #051650;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em
}

.section-tag .dot {
  width: .375rem;
  height: .375rem;
  border-radius: 9999px;
  background-color: #8fa8ca
}

.product-box-compact,
.product-box-wide {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  background-color: #fff;
  border-radius: 8px;
  padding: 10px;
  border: 1px solid rgba(229, 229, 229, .9);
  box-shadow: 0 1px 2px #0000000d
}

.product-box-compact {
  padding: 8px 10px 12px 10px;
}

.product-box-compact .product-image-box,
.product-box-wide .product-image-box {
  position: relative;
  width: 100%;
  background-color: #f7f7f7;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0
}

.product-box-compact .product-image-box img,
.product-box-wide .product-image-box img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  max-width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  mix-blend-mode: multiply;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

/* Tạm ẩn nút Yêu thích và Badge sản phẩm theo yêu cầu - Đổi sang display: flex / inline-block khi cần mở lại */
.btn-wishlist {
  display: none !important;
}

.product-badge {
  display: none !important;
}

.product-box-compact .btn-wishlist,
.product-box-wide .btn-wishlist {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border-radius: 9999px;
  background-color: #051650;
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 2px #0000000d;
  transition: background-color .15s ease, transform .15s ease;
  z-index: 10
}

.product-box-compact .btn-wishlist:hover,
.product-box-wide .btn-wishlist:hover {
  background-color: #0c2370;
  transform: scale(1.08)
}

.product-box-compact .product-body,
.product-box-wide .product-body {
  padding-top: .75rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
  gap: .625rem
}

.product-box-compact .product-title-wrap,
.product-box-wide .product-title-wrap {
  min-height: 48px;
  display: flex;
  align-items: flex-start
}

.product-box-compact .product-title-wrap .product-title,
.product-box-wide .product-title-wrap .product-title {
  font-size: 1.0625rem;
  font-weight: 500;
  color: #000;
  line-height: 24px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .15s ease
}

.product-box-compact .product-title-wrap .product-title:hover,
.product-box-wide .product-title-wrap .product-title:hover {
  color: #051650
}

.product-box-compact .product-brand-row,
.product-box-wide .product-brand-row {
  height: 32px;
  display: flex;
  align-items: center;
  gap: .5rem;
  overflow: hidden;
  width: 100%
}

.product-box-compact .product-brand-row .brand-tag,
.product-box-wide .product-brand-row .brand-tag {
  display: inline-flex;
  align-items: center;
  padding: .125rem .625rem;
  border-radius: 9999px;
  border: 1px solid #000000;
  font-size: .75rem;
  font-weight: 400;
  color: #000;
  letter-spacing: -.01em;
  flex-shrink: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.product-box-compact .product-brand-row .brand-logo,
.product-box-wide .product-brand-row .brand-logo {
  height: 28px;
  max-width: 100px;
  width: auto;
  -o-object-fit: contain;
  object-fit: contain;
  flex-shrink: 0
}

.product-box-compact .product-brand-row .brand-text-fallback,
.product-box-wide .product-brand-row .brand-text-fallback {
  font-size: .75rem;
  font-weight: 700;
  color: #051650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 130px
}

.product-box-compact .product-price-wrap,
.product-box-wide .product-price-wrap {
  min-height: 28px;
  display: flex;
  align-items: baseline;
  gap: .5rem;
  flex-wrap: wrap;
  font-size: 1.25rem;
  font-weight: 500;
  color: #000;
  line-height: 1;
  padding-top: .125rem
}

.product-box-compact .product-price-wrap .price-sale,
.product-box-wide .product-price-wrap .price-sale {
  color: #dc2626
}

.product-box-compact .product-price-wrap .price-original,
.product-box-wide .product-price-wrap .price-original {
  font-size: .75rem;
  color: #a3a3a3;
  text-decoration: line-through;
  font-weight: 400
}

.product-box-compact .product-price-wrap .price-badge,
.product-box-wide .product-price-wrap .price-badge {
  font-size: .625rem;
  font-weight: 800;
  color: #991b1b;
  background-color: #fee2e2;
  padding: .125rem .375rem;
  border-radius: 9999px
}

.product-box-compact .product-actions,
.product-box-wide .product-actions {
  padding-top: .5rem;
  display: flex;
  width: 100%;
  gap: .5rem
}

.product-box-compact .product-actions .btn-action,
.product-box-wide .product-actions .btn-action {
  flex: 1;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-family: 'Inter';
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-decoration: none;
  cursor: pointer;
  transition: all .25s ease;
  border: 1px solid transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  gap: .375rem;
  padding: .5rem;
  background-color: #051650;
  color: #fff;
  font-size: .6875rem;
  white-space: nowrap;
  min-width: 0
}

.product-box-compact .product-actions .btn-action span,
.product-box-wide .product-actions .btn-action span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.product-box-compact .product-actions .btn-action:hover,
.product-box-wide .product-actions .btn-action:hover {
  background-color: #0c2370
}

.product-box-compact {
  width: 100%;
  max-width: 100%
}

.product-box-compact .product-image-box {
  height: 256px;
  padding: .875rem
}

.product-box-wide {
  width: 100%;
  max-width: 100%
}

.product-box-wide .product-image-box {
  height: 135px;
  padding: .5rem
}

@media (min-width: 480px) {
  .product-box-wide .product-image-box {
    height: 165px;
    padding: .625rem
  }
}

@media (min-width: 640px) {
  .product-box-wide .product-image-box {
    height: 220px;
    padding: .75rem
  }
}

@media (min-width: 1024px) {
  .product-box-wide .product-image-box {
    height: 284px;
    padding: 1rem
  }
}

.product-box-wide .product-title-wrap {
  min-height: 36px
}

.product-box-wide .product-title-wrap .product-title {
  font-size: 13px;
  line-height: 1.35
}

@media (min-width: 640px) {
  .product-box-wide .product-title-wrap {
    min-height: 44px
  }
  .product-box-wide .product-title-wrap .product-title {
    font-size: 1rem
  }
}

@media (min-width: 1024px) {
  .product-box-wide .product-title-wrap {
    min-height: 52px
  }
  .product-box-wide .product-title-wrap .product-title {
    font-size: 1.1875rem
  }
}

@media (max-width: 639px) {
  .product-box-wide .product-actions .btn-action,
  .product-box-wide .product-actions .btn-quote {
    padding-left: 4px;
    padding-right: 4px;
    font-size: 10px;
    letter-spacing: 0;
  }
}

#product-catalog-layout {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  gap: 20px;
}

#product-main-catalog-area {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.product-catalog-swiper {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.product-catalog-swiper .swiper-slide {
  height: auto;
  box-sizing: border-box;
}

.product-catalog-swiper .swiper-slide>.grid {
  width: 100%;
  box-sizing: border-box;
}

@media (min-width: 1024px) {
  #product-sidebar-filter {
    display: flex !important;
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
  }
}

.product-slider-component .swiper-slide {
  height: auto;
  display: flex;
}

.product-slider-component .swiper-slide>article {
  width: 100%;
  height: 100%;
}

#product-slider-prev.swiper-button-disabled,
#product-slider-next.swiper-button-disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

.product-slider-component .swiper-pagination {
  position: relative;
  margin-top: 1.25rem
}

.product-slider-component .swiper-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background-color: #9ca3af;
  opacity: .6;
  transition: all .3s ease
}

.product-slider-component .swiper-pagination .swiper-pagination-bullet-active {
  width: 24px;
  border-radius: 4px;
  background-color: #051650;
  opacity: 1
}

.post-card,
.news-card {
  position: relative;
  display: flex;
  background-color: #fff;
  border-radius: 12px;
  border: 1px solid rgba(229, 229, 229, .9);
  box-shadow: 0 1px 2px #0000000d;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  overflow: hidden
}

.post-card:hover,
.news-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px #05165014;
  border-color: #05165033
}

.post-card:hover .post-img,
.post-card:hover .news-img,
.news-card:hover .post-img,
.news-card:hover .news-img {
  transform: scale(1.05)
}

.post-card:hover .post-arrow-icon,
.news-card:hover .post-arrow-icon {
  transform: translate(3px)
}

.post-card .post-image-box,
.post-card .news-img-wrap,
.news-card .post-image-box,
.news-card .news-img-wrap {
  position: relative;
  overflow: hidden;
  background-color: #f7f7f7;
  flex-shrink: 0
}

.post-card .post-image-box .post-img,
.post-card .post-image-box .news-img,
.post-card .news-img-wrap .post-img,
.post-card .news-img-wrap .news-img,
.news-card .post-image-box .post-img,
.news-card .post-image-box .news-img,
.news-card .news-img-wrap .post-img,
.news-card .news-img-wrap .news-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1)
}

.post-card .post-meta-row,
.news-card .post-meta-row {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em
}

.post-card .post-meta-row .post-category-tag,
.news-card .post-meta-row .post-category-tag {
  color: #8fa8ca;
  transition: color .15s ease
}

.post-card .post-meta-row .post-meta-dot,
.news-card .post-meta-row .post-meta-dot {
  color: #d4d4d4
}

.post-card .post-meta-row .post-date,
.news-card .post-meta-row .post-date {
  color: #a3a3a3;
  font-weight: 500;
  text-transform: none
}

.post-card .post-title-wrap,
.news-card .post-title-wrap {
  display: flex;
  align-items: flex-start
}

.post-card .post-title-wrap .post-title,
.post-card .post-title-wrap .news-title,
.news-card .post-title-wrap .post-title,
.news-card .post-title-wrap .news-title {
  font-weight: 700;
  color: #212121;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .02em;
  transition: color .15s ease
}

.post-card .post-title-wrap .post-title:hover,
.post-card .post-title-wrap .news-title:hover,
.news-card .post-title-wrap .post-title:hover,
.news-card .post-title-wrap .news-title:hover {
  color: #051650
}

.post-card .post-excerpt,
.post-card .news-excerpt,
.news-card .post-excerpt,
.news-card .news-excerpt {
  color: #525252;
  font-size: .875rem;
  line-height: 1.6;
  font-weight: 400
}

.post-card .post-action-wrap,
.news-card .post-action-wrap {
  margin-top: auto;
  padding-top: .5rem
}

.post-card .post-action-wrap .post-read-more,
.news-card .post-action-wrap .post-read-more {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  font-style: italic;
  font-weight: 600;
  color: #212121;
  transition: color .15s ease
}

.post-card .post-action-wrap .post-read-more:hover,
.news-card .post-action-wrap .post-read-more:hover {
  color: #051650
}

.post-card .post-action-wrap .post-read-more .post-arrow-icon,
.news-card .post-action-wrap .post-read-more .post-arrow-icon {
  font-style: normal;
  font-size: .6875rem;
  transition: transform .15s ease
}

.post-card-horizontal {
  width: 100%;
  max-width: 925px;
  padding: 1.25rem;
  flex-direction: column
}

@media(min-width:768px) {
  .post-card-horizontal {
    flex-direction: row;
    align-items: center;
    gap: 1.75rem;
    padding: 1.25rem
  }
 
}

.post-card-horizontal .post-image-box {
  width: 100%;
  aspect-ratio: 507/332;
  border-radius: 4px
}

@media(min-width:768px) {
  .post-card-horizontal .post-image-box {
    width: 55%
  }
}

.post-card-horizontal .post-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding-top: 1rem;
  gap: .75rem
}

@media(min-width:768px) {
  .post-card-horizontal .post-body {
    width: 45%;
    padding-top: 0
  }
}

.post-card-horizontal .post-title {
  font-size: 1.375rem
}

@media(min-width:768px) {
  .post-card-horizontal .post-title {
    font-size: 1.5rem
  }
}

@media(min-width:1024px) {
  .post-card-horizontal .post-title {
    font-size: 1.625rem
  }
}

.post-card-horizontal .post-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden
}

.post-card-horizontal .post-excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden
}

.post-card-grid {
  width: 100%;
  max-width: 444px;
  padding: .875rem;
  flex-direction: column;
  height: 100%;
  gap: .875rem;
}

.post-card-grid .post-image-box {
  width: 100%;
  aspect-ratio: 420/281;
  border-radius: 4px;
}

.post-card-grid .post-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: .625rem
}

.post-card-grid .post-title-wrap {
  min-height: 52px
}

.post-card-grid .post-title {
  font-size: 1.125rem
}

@media(min-width:640px) {
  .post-card-grid .post-title {
    font-size: 1.25rem
  }
}

.post-card-grid .post-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden
}

.post-card-grid .post-excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden
}

.post-card-related {
  width: 100%;
  max-width: 408px;
  padding: .875rem;
  flex-direction: column;
  height: 100%
}

.post-card-related .post-image-box {
  width: 100%;
  aspect-ratio: 384/281;
  border-radius: 4px;
  margin-bottom: .75rem
}

.post-card-related .post-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: .5rem
}

.post-card-related .post-title-wrap {
  min-height: 48px
}

.post-card-related .post-title {
  font-size: 1rem
}

@media(min-width:640px) {
  .post-card-related .post-title {
    font-size: 1.125rem
  }
}

.post-card-related .post-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden
}

.post-card-related .post-excerpt {
  font-size: .8125rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden
}

.project-card {
  position: relative;
  display: flex;
  background-color: #fff;
  border-radius: 12px;
  border: 1px solid rgba(229, 229, 229, .9);
  box-shadow: 0 1px 2px #0000000d;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  overflow: hidden
}

.project-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px #0516501a;
  border-color: #05165033
}

.project-card:hover .project-img {
  transform: scale(1.05)
}

.project-card:hover .project-arrow-icon {
  transform: translate(3px)
}

.project-card .project-image-box,
.project-card .project-img-wrap {
  position: relative;
  overflow: hidden;
  background-color: #f7f7f7;
  flex-shrink: 0
}

.project-card .project-image-box .project-img,
.project-card .project-img-wrap .project-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  transition: transform .6s cubic-bezier(.16, 1, .3, 1)
}

.project-card .project-image-box .project-badge,
.project-card .project-img-wrap .project-badge {
  position: absolute;
  top: .875rem;
  left: .875rem;
  background-color: #ffffffeb;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  color: #051650;
  font-size: .6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: .25rem .75rem;
  border-radius: 9999px;
  box-shadow: 0 1px 3px #00000014;
  z-index: 10;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.project-card .project-title-wrap {
  display: flex;
  align-items: flex-start
}

.project-card .project-title-wrap .project-title {
  font-weight: 700;
  color: #212121;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .02em;
  transition: color .15s ease
}

.project-card .project-title-wrap .project-title:hover {
  color: #051650
}

.project-card .project-excerpt {
  color: #525252;
  font-size: .8125rem;
  line-height: 1.6;
  font-weight: 400;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden
}

.project-card .project-action-wrap {
  margin-top: auto;
  padding-top: .5rem
}

.project-card .project-action-wrap .project-read-more {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  font-style: italic;
  font-weight: 600;
  color: #212121;
  transition: color .15s ease
}

.project-card .project-action-wrap .project-read-more:hover {
  color: #051650
}

.project-card .project-action-wrap .project-read-more .project-arrow-icon {
  font-style: normal;
  font-size: .6875rem;
  transition: transform .15s ease
}

.project-card-grid {
  width: 100%;
  max-width: 408px;
  padding: .875rem;
  flex-direction: column;
  height: 100%
}

.project-card-grid .project-image-box {
  width: 100%;
  aspect-ratio: 384/281;
  border-radius: 4px;
  margin-bottom: .875rem
}

.project-card-grid .project-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: .5rem
}

.project-card-grid .project-title-wrap {
  min-height: 48px
}

.project-card-grid .project-title {
  font-size: 1.0625rem
}

@media(min-width:640px) {
  .project-card-grid .project-title {
    font-size: 1.1875rem
  }
}

.project-card-grid .project-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden
}

.project-card-spotlight {
  position: relative;
  width: 100%;
  aspect-ratio: 704/408;
  border-radius: 12px;
  overflow: hidden;
  background-color: #051650;
  box-shadow: 0 4px 12px #00000014;
  transition: all .35s cubic-bezier(.16, 1, .3, 1)
}

.project-card-spotlight:hover {
  box-shadow: 0 20px 40px #05165040
}

.project-card-spotlight:hover img {
  transform: scale(1.05)
}

.project-card-spotlight:hover .spotlight-arrow {
  transform: translate(4px)
}

.project-card-spotlight img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  transition: transform .7s cubic-bezier(.16, 1, .3, 1);
  opacity: .92
}

.project-card-spotlight .spotlight-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, #051650f2, #0000004d, #0003)
}

.project-card-spotlight .spotlight-badge {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  background-color: #fffffff2;
  color: #051650;
  font-size: .6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: .35rem .875rem;
  border-radius: 9999px;
  box-shadow: 0 2px 6px #0000001a;
  z-index: 10
}

.project-card-spotlight .spotlight-content {
  position: absolute;
  bottom: 1.25rem;
  left: 1.25rem;
  right: 1.25rem;
  color: #fff;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: .5rem
}

.project-card-spotlight .spotlight-content .spotlight-title {
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  line-height: 1.25
}

@media(min-width:640px) {
  .project-card-spotlight .spotlight-content .spotlight-title {
    font-size: 1.5rem
  }
}

.project-card-spotlight .spotlight-content .spotlight-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap
}

.project-card-spotlight .spotlight-content .spotlight-meta-row .spotlight-specs {
  font-size: .75rem;
  color: #fffc
}

@media(min-width:640px) {
  .project-card-spotlight .spotlight-content .spotlight-meta-row .spotlight-specs {
    font-size: .875rem
  }
}

.project-card-spotlight .spotlight-content .spotlight-meta-row .spotlight-cta {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #fbbf24;
  transition: color .15s ease
}

.project-card-spotlight .spotlight-content .spotlight-meta-row .spotlight-cta:hover {
  color: #fff
}

.project-card-spotlight .spotlight-content .spotlight-meta-row .spotlight-cta .spotlight-arrow {
  transition: transform .15s ease
}

.project-card-side {
  width: 100%;
  max-width: 480px;
  display: flex;
  flex-direction: column;
  gap: .75rem
}

.project-card-side .project-image-box {
  position: relative;
  width: 100%;
  aspect-ratio: 480/308;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 2px #0000000d
}

.project-card-side .project-image-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1)
}

.project-card-side .project-image-box:hover img {
  transform: scale(1.05)
}

.project-card-side .project-info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: .25rem
}

.project-card-side .project-info-row .project-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #212121;
  text-transform: none;
  letter-spacing: normal;
  transition: color .15s ease
}

.project-card-side .project-info-row .project-title:hover {
  color: #051650
}

.project-card-side .project-info-row .project-read-more {
  font-size: .875rem;
  font-style: italic;
  font-weight: 500;
  color: #323232;
  transition: color .15s ease
}

.project-card-side .project-info-row .project-read-more:hover {
  color: #051650
}

.project-card-showcase {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: .75rem
}

.project-card-showcase .project-image-box {
  position: relative;
  width: 100%;
  aspect-ratio: 704/408;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 2px #0000000d
}

.project-card-showcase .project-image-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.16, 1, .3, 1)
}

.project-card-showcase .project-image-box:hover img {
  transform: scale(1.05)
}

.project-card-showcase .project-info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: .25rem
}

.project-card-showcase .project-info-row .project-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #212121;
  text-transform: none;
  letter-spacing: normal;
  transition: color .15s ease
}

@media(min-width:640px) {
  .project-card-showcase .project-info-row .project-title {
    font-size: 1.25rem
  }
}

.project-card-showcase .project-info-row .project-title:hover {
  color: #051650
}

.project-card-showcase .project-info-row .project-read-more {
  font-size: .875rem;
  font-style: italic;
  font-weight: 500;
  color: #323232;
  transition: color .15s ease
}

.project-card-showcase .project-info-row .project-read-more:hover {
  color: #051650
}

.project-card-dynamic {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: .75rem
}

.project-card-dynamic .project-image-box {
  position: relative;
  width: 100%;
  aspect-ratio: 480/308;
  border-radius: 8px;
  overflow: hidden;
  background-color: #f5f5f5;
  box-shadow: 0 6px 18px #0516500f
}

.project-card-dynamic .project-image-box img,
.project-card-dynamic .project-image-box .project-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  transition: transform .6s cubic-bezier(.16, 1, .3, 1)
}

.project-card-dynamic .project-image-box:hover img,
.project-card-dynamic .project-image-box:hover .project-img {
  transform: scale(1.05)
}

.project-card-dynamic .project-image-box .project-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background-color: #fffffff2;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  color: #051650;
  font-size: .6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: .25rem .75rem;
  border-radius: 9999px;
  box-shadow: 0 1px 3px #00000014;
  z-index: 10;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.project-card-dynamic .project-info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: .25rem;
  gap: 1rem
}

.project-card-dynamic .project-info-row .project-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #000;
  text-transform: none;
  letter-spacing: normal;
  transition: color .15s ease
}

.project-card-dynamic .project-info-row .project-title a {
  text-decoration: none;
  color: inherit
}

.project-card-dynamic .project-info-row .project-title a:hover {
  color: #051650
}

.project-card-dynamic .project-info-row .project-read-more {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  font-size: .875rem;
  font-style: italic;
  font-weight: 500;
  color: #323232;
  flex-shrink: 0;
  transition: color .15s ease
}

.project-card-dynamic .project-info-row .project-read-more:hover {
  color: #051650
}

.project-card-dynamic .project-info-row .project-read-more i {
  font-size: .75rem;
  transition: transform .15s ease
}

.project-card-dynamic .project-info-row .project-read-more:hover i {
  transform: translate(3px)
}

.project-section-slider-block {
  position: relative;
  width: 100%
}

.project-section-slider-block .project-category-swiper {
  width: 100%;
  overflow: hidden;
  height: 380px;
  min-height: 380px
}

@media(min-width:640px) {
  .project-section-slider-block .project-category-swiper {
    height: 470px;
    min-height: 470px
  }
}

@media(min-width:1024px) {
  .project-section-slider-block .project-category-swiper {
    overflow: hidden;
    height: 475px;
    min-height: 475px
  }
}

.project-section-slider-block .project-category-swiper .swiper-wrapper {
  display: flex;
  align-items: flex-end;
  height: 100%;
  min-height: 100%;
  gap: 24px;
  will-change: transform
}

.project-section-slider-block .project-category-swiper .swiper-slide {
  flex-shrink: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-self: flex-end;
  cursor: pointer
}

.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item {
  width: 88vw;
  max-width: 480px
}

@media(min-width:640px) {
  .project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item {
    width: 480px;
    max-width: 480px
  }

  .project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item.swiper-slide-active,
  .project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item.is-active {
    width: 704px;
    max-width: 704px
  }
}

.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item.swiper-slide-active .project-card-dynamic .project-image-box,
.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item.is-active .project-card-dynamic .project-image-box {
  width: 100%;
  height: 240px;
  aspect-ratio: 704/408
}

@media(min-width:640px) {

  .project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item.swiper-slide-active .project-card-dynamic .project-image-box,
  .project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item.is-active .project-card-dynamic .project-image-box {
    height: 408px
  }
}

.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item.swiper-slide-active .project-card-dynamic .project-image-box,
.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item.is-active .project-card-dynamic .project-image-box {
  box-shadow: 0 12px 30px #05165014
}

.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item.swiper-slide-active .project-card-dynamic .project-info-row .project-title,
.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item.is-active .project-card-dynamic .project-info-row .project-title {
  font-size: 1.25rem;
  color: #000
}

.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item:not(.swiper-slide-active):not(.is-active) .project-card-dynamic .project-image-box {
  width: 100%;
  height: 200px;
  aspect-ratio: 480/308
}

@media(min-width:640px) {
  .project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item:not(.swiper-slide-active):not(.is-active) .project-card-dynamic .project-image-box {
    height: 308px
  }
}

.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item:not(.swiper-slide-active):not(.is-active) .project-card-dynamic .project-image-box {
  box-shadow: 0 6px 18px #0516500f
}

.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-item:not(.swiper-slide-active):not(.is-active) .project-card-dynamic .project-info-row .project-title {
  font-size: 1.125rem;
  color: #1f2937
}

.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-spotlight {
  width: 100%
}

@media(min-width:640px) {
  .project-section-slider-block .project-category-swiper .swiper-slide.project-slide-spotlight {
    width: 704px
  }
}

.project-section-slider-block .project-category-swiper .swiper-slide.project-slide-side {
  width: 100%
}

@media(min-width:640px) {
  .project-section-slider-block .project-category-swiper .swiper-slide.project-slide-side {
    width: 480px
  }
}

.project-section-slider-block .project-slider-controls .project-btn-prev,
.project-section-slider-block .project-slider-controls .project-btn-next {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: all .15s ease
}

.project-section-slider-block .project-slider-controls .project-btn-prev:active,
.project-section-slider-block .project-slider-controls .project-btn-next:active {
  transform: scale(.92)
}

.project-section-slider-block .project-slider-controls .project-btn-prev:disabled,
.project-section-slider-block .project-slider-controls .project-btn-prev.disabled,
.project-section-slider-block .project-slider-controls .project-btn-prev.swiper-button-disabled,
.project-section-slider-block .project-slider-controls .project-btn-next:disabled,
.project-section-slider-block .project-slider-controls .project-btn-next.disabled,
.project-section-slider-block .project-slider-controls .project-btn-next.swiper-button-disabled {
  opacity: .35;
  cursor: not-allowed;
  pointer-events: none
}

.form-input {
  width: 100%;
  height: 44px;
  padding: 0 1rem;
  border-radius: 9999px;
  border: 1px solid rgba(0, 0, 0, .12);
  background-color: #f8f3ec;
  color: #212121;
  font-size: .875rem;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease
}

.form-input::-moz-placeholder {
  color: #32323273
}

.form-input::placeholder {
  color: #32323273
}

.form-input:focus {
  border-color: #051650;
  box-shadow: 0 0 0 3px #0516501a
}

.form-textarea {
  width: 100%;
  min-height: 120px;
  padding: .875rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, .12);
  background-color: #f8f3ec;
  color: #212121;
  font-size: .875rem;
  outline: none;
  resize: vertical;
  transition: border-color .15s ease, box-shadow .15s ease
}

.form-textarea:focus {
  border-color: #051650;
  box-shadow: 0 0 0 3px #0516501a
}

.custom-dropdown {
  position: relative;
  width: 100%
}

.custom-dropdown .dropdown-trigger {
  width: 100%;
  height: 44px;
  padding: 0 1rem;
  border-radius: 8px;
  background-color: #f8f3ec;
  border: 1px solid rgba(5, 22, 80, .35);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .875rem;
  color: #212121;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: border-color .15s ease, background-color .15s ease, border-radius .15s ease
}

.custom-dropdown .dropdown-trigger:hover {
  border-color: #05165099;
  background-color: #faf6f0
}

.custom-dropdown .dropdown-trigger:focus {
  outline: none;
  border-color: #051650
}

.custom-dropdown .dropdown-trigger .dropdown-selected {
  color: #2d2d2d;
  font-weight: 500;
  flex: 1;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.custom-dropdown .dropdown-trigger .dropdown-arrow-wrapper {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  flex-shrink: 0
}

.custom-dropdown .dropdown-trigger .dropdown-arrow-wrapper .dropdown-separator {
  display: inline-block;
  width: 1px;
  height: 18px;
  background-color: #05165047
}

.custom-dropdown .dropdown-trigger .dropdown-arrow-wrapper i,
.custom-dropdown .dropdown-trigger .dropdown-arrow-wrapper .dropdown-chevron-icon {
  font-size: .75rem;
  color: #4a4a4a;
  transition: transform .38s cubic-bezier(.25, 1, .5, 1), color .25s ease
}

.custom-dropdown .dropdown-trigger>i {
  font-size: .75rem;
  color: #4a4a4a;
  transition: transform .38s cubic-bezier(.25, 1, .5, 1), color .25s ease
}

.custom-dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: #f8f3ec;
  border-radius: 0 0 8px 8px;
  border: 1px solid rgba(5, 22, 80, .35);
  border-top: none;
  box-shadow: 0 12px 28px #0516501f;
  z-index: 50;
  margin: 0;
  padding: .25rem 0;
  list-style: none;
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: max-height .38s cubic-bezier(.25, 1, .5, 1), visibility .38s ease
}

.custom-dropdown .dropdown-menu::-webkit-scrollbar {
  width: 5px
}

.custom-dropdown .dropdown-menu::-webkit-scrollbar-track {
  background: transparent
}

.custom-dropdown .dropdown-menu::-webkit-scrollbar-thumb {
  background-color: #05165033;
  border-radius: 4px
}

.custom-dropdown .dropdown-menu .dropdown-item,
.custom-dropdown .dropdown-menu li,
.custom-dropdown .dropdown-menu li[role=option] {
  padding: .65rem 1.125rem;
  font-size: .875rem;
  font-weight: 500;
  color: #2d2d2d;
  opacity: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background-color .2s ease, color .2s ease, padding-left .2s cubic-bezier(.25, 1, .5, 1)
}

.custom-dropdown .dropdown-menu .dropdown-item:hover,
.custom-dropdown .dropdown-menu li:hover,
.custom-dropdown .dropdown-menu li[role=option]:hover {
  background-color: #05165014;
  color: #051650;
  padding-left: 1.35rem
}

.custom-dropdown .dropdown-menu .dropdown-item.selected,
.custom-dropdown .dropdown-menu li.selected,
.custom-dropdown .dropdown-menu li[role=option].selected {
  background-color: #0516500f;
  color: #051650;
  font-weight: 600
}

.custom-dropdown.active .dropdown-trigger {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-color: #05165080
}

.custom-dropdown.active .dropdown-trigger .dropdown-arrow-wrapper i,
.custom-dropdown.active .dropdown-trigger .dropdown-chevron-icon,
.custom-dropdown.active .dropdown-trigger>i {
  transform: rotate(180deg);
  color: #051650
}

.custom-dropdown.active .dropdown-menu {
  max-height: 250px;
  overflow-y: auto;
  visibility: visible
}

.has-error {
  border-color: #e11d48;
  box-shadow: 0 0 0 2px #e11d4826;
  animation: fieldShake .35s ease-in-out
}

.form-field-error {
  display: flex;
  align-items: center;
  gap: .375rem;
  font-size: .75rem;
  font-weight: 500;
  color: #e11d48;
  margin-top: .35rem;
  animation: fadeInDown .25s ease-out
}

.form-field-error i {
  font-size: .6875rem;
  flex-shrink: 0
}

@keyframes fieldShake {

  0%,
  to {
    transform: translate(0)
  }

  20%,
  60% {
    transform: translate(-4px)
  }

  40%,
  80% {
    transform: translate(4px)
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-4px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.qa-item {
  border-radius: 8px;
  border: 1px solid #E5E5E5;
  background-color: #fff;
  overflow: hidden;
  transition: all .25s ease
}

.qa-item .qa-trigger {
  width: 100%;
  padding: .875rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-size: .9375rem;
  font-weight: 600;
  color: #051650;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.qa-item .qa-trigger .qa-icon i {
  transition: transform .35s cubic-bezier(.16, 1, .3, 1)
}

.qa-item .qa-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 1.25rem;
  color: #525252;
  font-size: .875rem;
  line-height: 1.6;
  transition: max-height .35s cubic-bezier(.16, 1, .3, 1), opacity .25s ease, padding .35s cubic-bezier(.16, 1, .3, 1)
}

.qa-item.active {
  border-color: #051650;
  box-shadow: 0 4px 12px #05165014
}

.qa-item.active .qa-trigger .qa-icon i {
  transform: rotate(180deg)
}

.qa-item.active .qa-content {
  max-height: 350px;
  opacity: 1;
  padding-top: .5rem;
  padding-bottom: 1.25rem;
  animation: fadeInDownShort .35s cubic-bezier(.16, 1, .3, 1) forwards
}

.faq-minimal-item {
  border-bottom: 1px solid rgba(0, 0, 0, .08);
  padding: 1.125rem 0;
  transition: all .25s ease
}

.faq-minimal-item:first-child {
  padding-top: 0
}

.faq-minimal-item:last-child {
  border-bottom: none
}

.faq-minimal-item .faq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: #111827;
  transition: color .25s cubic-bezier(.16, 1, .3, 1), transform .15s ease
}

.faq-minimal-item .faq-trigger:hover {
  color: #051650
}

.faq-minimal-item .faq-trigger:active {
  transform: scale(.995)
}

.faq-minimal-item .faq-trigger .faq-icon i {
  transition: transform .35s cubic-bezier(.16, 1, .3, 1), color .25s ease;
  font-size: .875rem;
  color: #111827
}

.faq-minimal-item .faq-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  font-size: .9375rem;
  color: #4b5563;
  line-height: 1.6;
  transition: max-height .4s cubic-bezier(.16, 1, .3, 1), opacity .3s ease, margin-top .35s ease
}

.faq-minimal-item.active .faq-trigger {
  color: #051650
}

.faq-minimal-item.active .faq-trigger .faq-icon i {
  transform: rotate(180deg);
  color: #051650
}

.faq-minimal-item.active .faq-content {
  max-height: 3500px;
  opacity: 1;
  margin-top: .625rem
}

.faq-minimal-item.active .faq-content p,
.faq-minimal-item.active .faq-content>div {
  animation: fadeInDownShort .35s cubic-bezier(.16, 1, .3, 1) forwards
}

.faq-minimal-item .faq-content h2,
.faq-minimal-item .faq-content h3 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #111827;
  margin-top: 0.75rem;
  margin-bottom: 0.35rem;
}

.faq-minimal-item .faq-content ul {
  list-style-type: disc;
  padding-left: 1.25rem;
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
}

.faq-minimal-item .faq-content li {
  margin-bottom: 0.25rem;
}

.faq-minimal-item .faq-content p {
  margin-bottom: 0.5rem;
}

/* Base Header Configuration: ONLY Homepage is FIXED with onepage adaptive coloring */
body.is-homepage .site-header,
body.is-homepage #main-site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 50 !important;
  background-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
  transition: background-color 0.28s ease, color 0.28s ease;
}

/* Light Theme (over white/light background sections): Dark logo & navy controls */
.site-header.header-light {
  background-color: transparent;
  background: transparent;
  border-bottom: none;
}

.site-header.header-light .menu-toggle-btn .hamburger span {
  background-color: #051650;
}

.site-header.header-light .menu-toggle-btn .menu-text,
.site-header.header-light .nav-contact-link {
  color: #051650;
}

.site-header.header-light .logo-white-variant {
  display: none;
}

.site-header.header-light .logo-dark-variant {
  display: block;
}

/* Transparent Theme (over dark hero banners/dark sections): White logo & white controls */
.site-header.header-transparent {
  background-color: transparent;
  background: transparent;
  border-bottom: none;
}

.site-header.header-transparent .menu-toggle-btn .hamburger span {
  background-color: #ffffff;
}

.site-header.header-transparent .menu-toggle-btn .menu-text,
.site-header.header-transparent .nav-contact-link {
  color: #ffffff;
}

.site-header.header-transparent .logo-white-variant {
  display: block;
}

.site-header.header-transparent .logo-dark-variant {
  display: none;
}

/* ==========================================================================
   ALL SUBPAGES & POSTS HEADER CONFIGURATION (POSITION: STICKY - LIKE ABOUT US)
   ========================================================================== */
body.is-subpage,
body.is-about-page {
  overflow-x: clip !important;
}

body.is-subpage .site-header,
body.is-subpage #main-site-header,
body.is-about-page .site-header,
body.is-about-page #main-site-header,
.site-header.header-about-page,
#main-site-header.header-about-page {
  position: sticky !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 50;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
  transition: background-color 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

body.is-subpage .site-header .menu-toggle-btn .hamburger span,
body.is-about-page .site-header .menu-toggle-btn .hamburger span,
.site-header.header-about-page .menu-toggle-btn .hamburger span {
  background-color: #051650 !important;
}

body.is-subpage .site-header .menu-toggle-btn .menu-text,
body.is-subpage .site-header .nav-contact-link,
body.is-about-page .site-header .menu-toggle-btn .menu-text,
body.is-about-page .site-header .nav-contact-link,
.site-header.header-about-page .menu-toggle-btn .menu-text,
.site-header.header-about-page .nav-contact-link {
  color: #051650 !important;
}

body.is-subpage .site-header .logo-white-variant,
body.is-about-page .site-header .logo-white-variant,
.site-header.header-about-page .logo-white-variant {
  display: none !important;
}

body.is-subpage .site-header .logo-dark-variant,
body.is-about-page .site-header .logo-dark-variant,
.site-header.header-about-page .logo-dark-variant {
  display: block !important;
}

/* Sticky Header on Scroll for Subpages & Posts:
   - Uses position: sticky (NO FIXED AT ALL)
   - When scrolled: background #f6f6f6
*/
body.is-subpage .site-header.is-sticky,
body.is-subpage #main-site-header.is-sticky,
body.is-about-page .site-header.is-sticky,
body.is-about-page #main-site-header.is-sticky,
.site-header.header-about-page.is-sticky,
#main-site-header.header-about-page.is-sticky {
  position: sticky !important;
  top: 0 !important;
  left: 0;
  right: 0;
  background: #f6f6f6 !important;
  background-color: #f6f6f6 !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(5, 22, 80, 0.08) !important;
  border-bottom: 1px solid rgba(5, 22, 80, 0.06) !important;
}

/* Dimensions when sticky remain 100% identical to the original menu */
body.is-subpage .site-header.is-sticky .figma-header-1440,
body.is-about-page .site-header.is-sticky .figma-header-1440,
.site-header.header-about-page.is-sticky .figma-header-1440 {
  /* Retain default responsive heights: h-[90px] md:h-[120px] lg:h-[132px] */
}

body.is-subpage .site-header.is-sticky .logo-dark-variant,
body.is-about-page .site-header.is-sticky .logo-dark-variant,
.site-header.header-about-page.is-sticky .logo-dark-variant {
  height: 60px !important;
}

.menu-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: .5rem 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  position: relative;
  z-index: 60
}

.menu-toggle-btn .hamburger {
  display: flex;
  justify-content: center;
  gap: 10px;
  width: 40px;
  height: 14px;
  position: relative;
  flex-direction: column-reverse;
}

.menu-toggle-btn .hamburger span {
  display: block;
  width: 30px;
  height: 1px;
  border-radius: 2px;
  background-color: currentColor;
  transition: transform .28s cubic-bezier(.25, 1, .5, 1), width .25s ease, opacity .25s ease;
  transform-origin: center
}

.menu-toggle-btn .hamburger span:first-child,
.menu-toggle-btn .hamburger span.line-top {
  transform: translate(0)
}

.menu-toggle-btn .hamburger span:last-child,
.menu-toggle-btn .hamburger span.line-bottom {
  transform: translate(7px)
}

.menu-toggle-btn:hover .hamburger span:first-child,
.menu-toggle-btn:hover .hamburger span.line-top {
  transform: translate(7px)
}

.menu-toggle-btn:hover .hamburger span:last-child,
.menu-toggle-btn:hover .hamburger span.line-bottom {
  transform: translate(0)
}

.menu-toggle-btn.is-active .hamburger span:first-child,
.menu-toggle-btn.is-active .hamburger span.line-top,
.menu-toggle-btn[aria-expanded=true] .hamburger span:first-child,
.menu-toggle-btn[aria-expanded=true] .hamburger span.line-top {
  transform: translateY(3.5px) rotate(45deg);
  width: 20px
}

.menu-toggle-btn.is-active .hamburger span:last-child,
.menu-toggle-btn.is-active .hamburger span.line-bottom,
.menu-toggle-btn[aria-expanded=true] .hamburger span:last-child,
.menu-toggle-btn[aria-expanded=true] .hamburger span.line-bottom {
  transform: translateY(-3.5px) rotate(-45deg);
  width: 20px
}

.menu-toggle-btn .menu-text {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: .05em;
  color: currentColor;
  transition: color .2s ease
}

.mobile-nav-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #05165073;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .35s cubic-bezier(.16, 1, .3, 1), visibility .35s cubic-bezier(.16, 1, .3, 1);
  will-change: opacity, visibility
}

.mobile-nav-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto
}

.mobile-nav-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  width: 360px;
  max-width: 88vw;
  height: 100vh;
  height: 100dvh;
  background-color: #fff;
  box-shadow: 12px 0 45px #0000001f;
  z-index: 100;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-100%, 0, 0);
  transition: transform .4s cubic-bezier(.25, 1, .5, 1), opacity .3s ease, visibility .4s cubic-bezier(.25, 1, .5, 1);
  will-change: transform, opacity, visibility;
  display: flex;
  flex-direction: column;
  padding: 2.5rem 2rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch
}

.mobile-nav-drawer.active {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
  transform: translateZ(0)
}

.mobile-nav-drawer .nav-drawer-link {
  color: #051650;
  font-weight: 500;
  transition: color .2s ease, transform .25s ease
}

.mobile-nav-drawer .nav-drawer-link:hover {
  color: #0c2370;
  transform: translate(6px)
}

.mobile-nav-drawer .btn-drawer-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .625rem;
  padding: .55rem 1.35rem;
  border-radius: 9999px;
  border: 1px solid #051650;
  color: #051650;
  font-size: .8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  background-color: transparent;
  transition: all .25s cubic-bezier(.25, 1, .5, 1);
  width: -moz-fit-content;
  width: fit-content
}

.mobile-nav-drawer .btn-drawer-outline:hover {
  background-color: #051650;
  color: #fff;
  box-shadow: 0 4px 12px #05165033;
  transform: translateY(-1px)
}

.mobile-nav-drawer .btn-drawer-outline:active {
  transform: translateY(0)
}

.site-footer {
  background-color: #051650;
  color: #fff;
  padding: 4rem 1.5rem 2rem
}

.site-footer .footer-col-title {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 1.25rem;
  color: #fff
}

.site-footer .footer-link {
  color: #ffffffbf;
  font-size: .875rem;
  transition: color .15s ease
}

.site-footer .footer-link:hover {
  color: #fff
}

.site-footer .social-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 9999px;
  background-color: #ffffff1a;
  color: #fff;
  transition: background-color .15s ease, transform .15s ease
}

.site-footer .social-icon-btn:hover {
  background-color: #ffffff40;
  transform: translateY(-2px)
}

.breadcrumb-bar {
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid #E5E5E5;
  padding: 1.25rem 1.5rem
}

.breadcrumb-bar .breadcrumb-link {
  font-size: .875rem;
  color: #737373;
  transition: color .15s ease
}

.breadcrumb-bar .breadcrumb-link:hover {
  color: #051650
}

.breadcrumb-bar .breadcrumb-current {
  font-size: .875rem;
  font-weight: 600;
  color: #051650
}

.hero-banner-box {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #051650
}

.hero-banner-box .hero-banner-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(180deg, #051650bf, #0516508c, #051650d9)
}

.hero-banner-box .hero-banner-content {
  position: relative;
  z-index: 10;
  text-align: center;
  color: #fff;
  max-width: 800px;
  padding: 0 1.5rem
}

.comment-card {
  background-color: #051650;
  border-radius: 8px;
  overflow: hidden;
  color: #fff;
  transition: transform .25s ease, box-shadow .25s ease
}

.comment-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px #05165033
}

#product-sidebar-filter {
  position: relative;
  transition: opacity .3s ease, transform .3s ease, max-height .35s ease;
}

@media(min-width:1024px) {

  #product-sidebar-filter,
  #product-sidebar-filter.is-closed,
  #product-sidebar-filter.is-open {
    display: flex !important;
    position: sticky !important;
    top: 24px !important;
    align-self: flex-start !important;
    max-height: calc(100vh - 48px) !important;
    max-width: 260px !important;
    width: 260px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    margin: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
  }

  #product-sidebar-filter::-webkit-scrollbar {
    width: 4px;
  }

  #product-sidebar-filter::-webkit-scrollbar-track {
    background: transparent;
  }

  #product-sidebar-filter::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
  }

  #product-sidebar-filter::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
  }
}

@media(max-width:1023px) {
  #product-sidebar-filter.is-closed {
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: hidden;
    transform: translateY(-12px);
  }

  #product-sidebar-filter.is-open {
    max-height: 2000px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(0);
    overflow: visible;
  }
}

.contact-modal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 120;
  background: #00000087;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .35s cubic-bezier(.16, 1, .3, 1), visibility .35s cubic-bezier(.16, 1, .3, 1)
}

.contact-modal-overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto
}

.contact-modal-overlay.active .contact-modal-box {
  transform: scale(1) translateY(0)
}

.contact-modal-overlay .contact-modal-box {
  position: relative;
  width: 100%;
  max-width: 1146px;
  max-height: 92vh;
  max-height: 92dvh;
  overflow-y: auto;
  background-color: #f8f3ec;
  border-radius: 12px;
  border: 1px solid rgba(5, 22, 80, .18);
  box-shadow: 0 25px 70px #00000059;
  padding: 2rem 1.5rem;
  transform: scale(.95) translateY(16px);
  transition: transform .35s cubic-bezier(.16, 1, .3, 1)
}

@media(min-width:640px) {
  .contact-modal-overlay .contact-modal-box {
    padding: 2.75rem 2.5rem
  }
}

@media(min-width:1024px) {
  .contact-modal-overlay .contact-modal-box {
    padding: 3.25rem 3.5rem
  }
}

.contact-modal-overlay .contact-modal-box::-webkit-scrollbar {
  width: 6px
}

.contact-modal-overlay .contact-modal-box::-webkit-scrollbar-thumb {
  background-color: #05165033;
  border-radius: 9999px
}

.contact-modal-overlay .contact-modal-close-btn {
  position: absolute;
  top: 1.5rem;
  right: 1.75rem;
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  background: none;
  border: none;
  cursor: pointer;
  color: #323232;
  font-size: .875rem;
  font-weight: 500;
  padding: .5rem;
  transition: color .15s ease;
  z-index: 10
}

@media(min-width:640px) {
  .contact-modal-overlay .contact-modal-close-btn {
    top: 1.75rem;
    right: 2.25rem
  }
}

.contact-modal-overlay .contact-modal-close-btn:hover {
  color: #051650
}

.contact-modal-overlay .contact-modal-close-btn:hover .close-line {
  width: 36px;
  background-color: #051650
}

.contact-modal-overlay .contact-modal-close-btn .close-line {
  display: inline-block;
  width: 28px;
  height: 1.5px;
  background-color: #323232;
  transition: all .25s ease
}

.contact-modal-overlay .kiet-tac-text {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400
}

.contact-modal-overlay .contact-input {
  width: 100%;
  height: 44px;
  padding: 0 .875rem;
  border-radius: 6px;
  background-color: #f8f3ec;
  border: 1px solid rgba(5, 22, 80, .35);
  color: #212121;
  font-size: .875rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease
}

.contact-modal-overlay .contact-input:focus,
.contact-modal-overlay .contact-input:focus-visible {
  outline: none;
  border-color: #051650;
  box-shadow: 0 0 0 2px #0516501f;
  background-color: #fff
}

.contact-modal-overlay .contact-input.has-error {
  border-color: #e11d48;
  background-color: #fff1f2;
  box-shadow: 0 0 0 2px #e11d4826;
  animation: fieldShake .35s ease-in-out
}

.contact-modal-overlay .contact-input::-moz-placeholder {
  color: #818181
}

.contact-modal-overlay .contact-input::placeholder {
  color: #818181
}

.contact-modal-overlay .contact-custom-dropdown {
  position: relative;
  width: 100%
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger {
  width: 100%;
  height: 44px;
  padding: 0 1rem;
  border-radius: 6px;
  background-color: #f8f3ec;
  border: 1px solid rgba(5, 22, 80, .35);
  color: #2d2d2d;
  font-size: .875rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: border-color .2s ease, background-color .2s ease, border-radius .2s ease
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger:hover {
  border-color: #05165099;
  background-color: #faf6f0
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger:focus,
.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger:focus-visible {
  outline: none;
  border-color: #051650;
  box-shadow: 0 0 0 2px #0516501f
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger .dropdown-selected {
  color: #2d2d2d;
  font-weight: 500;
  flex: 1;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger .dropdown-arrow-wrapper {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  flex-shrink: 0
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger .dropdown-arrow-wrapper .dropdown-separator {
  display: inline-block;
  width: 1px;
  height: 18px;
  background-color: #05165047
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger .dropdown-arrow-wrapper .dropdown-chevron-icon,
.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger .dropdown-arrow-wrapper i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  color: #4a4a4a;
  transition: transform .5s cubic-bezier(.25, 1, .5, 1), color .5s ease
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger>.dropdown-chevron-icon,
.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger>i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: #4a4a4a;
  transition: transform .5s cubic-bezier(.25, 1, .5, 1), color .5s ease
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger>.dropdown-chevron-icon i,
.contact-modal-overlay .contact-custom-dropdown .dropdown-trigger>i i {
  transition: transform .5s cubic-bezier(.25, 1, .5, 1)
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: #f8f3ec;
  border-radius: 0 0 6px 6px;
  border: 1px solid rgba(5, 22, 80, .35);
  border-top: none;
  box-shadow: none;
  z-index: 50;
  margin: 0;
  padding: .25rem 0 .5rem;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .5s cubic-bezier(.25, 1, .5, 1), visibility .5s ease
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-menu .dropdown-item,
.contact-modal-overlay .contact-custom-dropdown .dropdown-menu li,
.contact-modal-overlay .contact-custom-dropdown .dropdown-menu li[role=option] {
  position: relative;
  padding: .45rem 1rem;
  font-size: .875rem;
  font-weight: 400;
  color: #818181;
  opacity: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-color: transparent;
  transition: color .2s ease, background-color .2s ease
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-menu .dropdown-item:hover,
.contact-modal-overlay .contact-custom-dropdown .dropdown-menu li:hover,
.contact-modal-overlay .contact-custom-dropdown .dropdown-menu li[role=option]:hover {
  background-color: #0516500d;
  color: #051650
}

.contact-modal-overlay .contact-custom-dropdown .dropdown-menu .dropdown-item.selected,
.contact-modal-overlay .contact-custom-dropdown .dropdown-menu li.selected,
.contact-modal-overlay .contact-custom-dropdown .dropdown-menu li[role=option].selected {
  color: #2d2d2d;
  font-weight: 500
}

.contact-modal-overlay .contact-custom-dropdown.active .dropdown-trigger {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: none;
  border-color: #05165059;
  background-color: #f8f3ec;
  box-shadow: none
}

.contact-modal-overlay .contact-custom-dropdown.active .dropdown-trigger .dropdown-arrow-wrapper i,
.contact-modal-overlay .contact-custom-dropdown.active .dropdown-trigger .dropdown-chevron-icon,
.contact-modal-overlay .contact-custom-dropdown.active .dropdown-trigger>i {
  transform: rotate(180deg);
  color: #051650
}

.contact-modal-overlay .contact-custom-dropdown.active .dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto
}

.contact-modal-overlay #modal-image-slider {
  position: relative;
  overflow: hidden
}

.contact-modal-overlay #modal-image-slider .modal-slide-img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 0;
  transition: opacity .5s cubic-bezier(.4, 0, .2, 1)
}

.contact-modal-overlay #modal-image-slider .modal-slide-img.active {
  opacity: 1
}

.contact-modal-overlay .contact-textarea {
  width: 100%;
  height: 110px;
  min-height: 110px;
  max-height: 110px;
  padding: .75rem .875rem;
  border-radius: 6px;
  background-color: #f8f3ec;
  border: 1px solid rgba(5, 22, 80, .35);
  color: #212121;
  font-size: .875rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease
}

.contact-modal-overlay .contact-textarea:focus,
.contact-modal-overlay .contact-textarea:focus-visible {
  outline: none;
  border-color: #051650;
  box-shadow: 0 0 0 2px #0516501f;
  background-color: #fff
}

.contact-modal-overlay .contact-textarea.has-error {
  border-color: #e11d48;
  background-color: #fff1f2;
  box-shadow: 0 0 0 2px #e11d4826;
  animation: fieldShake .35s ease-in-out
}

.contact-modal-overlay .contact-textarea::-moz-placeholder {
  color: #818181
}

.contact-modal-overlay .contact-textarea::placeholder {
  color: #818181
}

.contact-modal-overlay .contact-checkbox {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 1.5px solid #1a1a1a;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  position: relative;
  background-color: transparent;
  transition: border-color .15s ease, box-shadow .15s ease;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center
}

.contact-modal-overlay .contact-checkbox:after {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #1a1a1a;
  transform: scale(0);
  opacity: 0;
  transition: transform .22s cubic-bezier(.25, 1, .5, 1), opacity .22s ease
}

.contact-modal-overlay .contact-checkbox:checked {
  background-color: transparent;
  border-color: #1a1a1a
}

.contact-modal-overlay .contact-checkbox:checked:after {
  transform: scale(1);
  opacity: 1
}

.contact-modal-overlay .contact-checkbox:hover {
  border-color: #000;
  box-shadow: 0 0 0 3px #0000000d
}

.contact-modal-overlay .contact-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .625rem;
  height: 38px;
  padding: 0 1.625rem;
  border-radius: 9999px;
  background-color: #fff;
  color: #1a1a1a;
  border: 1px solid rgba(0, 0, 0, .18);
  font-size: .8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  box-shadow: 0 2px 5px #0000000d;
  transition: border-color .25s ease, box-shadow .25s ease, transform .2s ease;
  cursor: pointer;
  overflow: hidden
}

.contact-modal-overlay .contact-submit-btn .submit-arrow-box {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  overflow: hidden
}

.contact-modal-overlay .contact-submit-btn .submit-arrow-box .arrow-primary,
.contact-modal-overlay .contact-submit-btn .submit-arrow-box .arrow-secondary {
  position: absolute;
  font-size: 1.1rem;
  line-height: 1;
  color: #1a1a1a;
  transition: transform .35s cubic-bezier(.25, 1, .5, 1)
}

.contact-modal-overlay .contact-submit-btn .submit-arrow-box .arrow-primary {
  transform: translate(0)
}

.contact-modal-overlay .contact-submit-btn .submit-arrow-box .arrow-secondary {
  transform: translate(-24px)
}

.contact-modal-overlay .contact-submit-btn .submit-btn-text {
  color: #1a1a1a;
  font-weight: 700;
  white-space: nowrap
}

.contact-modal-overlay .contact-submit-btn .submit-arrow {
  font-size: 1.1rem;
  line-height: 1;
  color: #1a1a1a;
  transition: transform .35s cubic-bezier(.25, 1, .5, 1)
}

.contact-modal-overlay .contact-submit-btn:hover {
  background-color: #fff;
  color: #1a1a1a;
  border-color: #1a1a1a;
  box-shadow: 0 4px 12px #0000001a;
  transform: translateY(-1px)
}

.contact-modal-overlay .contact-submit-btn:hover .submit-arrow-box .arrow-primary {
  transform: translate(24px)
}

.contact-modal-overlay .contact-submit-btn:hover .submit-arrow-box .arrow-secondary {
  transform: translate(0)
}

.contact-modal-overlay .contact-submit-btn:hover .submit-arrow {
  transform: translate(4px)
}

.contact-modal-overlay .contact-submit-btn:active {
  transform: translateY(0);
  box-shadow: 0 1px 3px #0000000f
}

.contact-modal-overlay.theme-inbetween .contact-modal-box {
  background-color: #f6f4f4;
  border-color: #1313131f;
  font-family: 'Inter'
}

.contact-modal-overlay.theme-inbetween .contact-modal-close-btn:hover {
  color: #ec460b
}

.contact-modal-overlay.theme-inbetween .contact-modal-close-btn:hover .close-line {
  background-color: #ec460b
}

.contact-modal-overlay.theme-inbetween .kiet-tac-text {
  font-style: normal;
  font-family: 'Inter';
  color: #ec460b
}

.contact-modal-overlay.theme-inbetween .contact-input:focus,
.contact-modal-overlay.theme-inbetween .contact-input:focus-visible,
.contact-modal-overlay.theme-inbetween .contact-textarea:focus,
.contact-modal-overlay.theme-inbetween .contact-textarea:focus-visible {
  border-color: #ec460b;
  box-shadow: 0 0 0 2px #ec460b26
}

.contact-modal-overlay.theme-inbetween .contact-custom-dropdown .dropdown-trigger:hover {
  border-color: #ec460b80
}

.contact-modal-overlay.theme-inbetween .contact-custom-dropdown .dropdown-trigger:focus,
.contact-modal-overlay.theme-inbetween .contact-custom-dropdown .dropdown-trigger:focus-visible {
  border-color: #ec460b;
  box-shadow: 0 0 0 2px #ec460b26
}

.contact-modal-overlay.theme-inbetween .contact-custom-dropdown .dropdown-menu .dropdown-item:hover {
  background-color: #ec460b14;
  color: #ec460b
}

.contact-modal-overlay.theme-inbetween .contact-custom-dropdown.active .dropdown-trigger {
  border-color: #ec460b
}

.contact-modal-overlay.theme-inbetween .contact-custom-dropdown.active .dropdown-trigger .dropdown-chevron-icon i,
.contact-modal-overlay.theme-inbetween .contact-custom-dropdown.active .dropdown-trigger .dropdown-arrow-wrapper i {
  color: #ec460b
}

.contact-modal-overlay.theme-inbetween .contact-checkbox {
  border-color: #131313
}

.contact-modal-overlay.theme-inbetween .contact-checkbox:after {
  background-color: #ec460b
}

.contact-modal-overlay.theme-inbetween .contact-checkbox:checked {
  border-color: #ec460b
}

.contact-modal-overlay.theme-inbetween .contact-checkbox:hover {
  border-color: #ec460b;
  box-shadow: 0 0 0 3px #ec460b1f
}

.contact-modal-overlay.theme-inbetween .contact-submit-btn {
  background-color: #131313;
  color: #fff;
  border-color: #131313
}

.contact-modal-overlay.theme-inbetween .contact-submit-btn .submit-arrow-box .arrow-primary,
.contact-modal-overlay.theme-inbetween .contact-submit-btn .submit-arrow-box .arrow-secondary,
.contact-modal-overlay.theme-inbetween .contact-submit-btn .submit-btn-text {
  color: #fff
}

.contact-modal-overlay.theme-inbetween .contact-submit-btn:hover {
  background-color: #ec460b;
  border-color: #ec460b;
  box-shadow: 0 4px 14px #ec460b59
}

.contact-modal-overlay.theme-inbetween .contact-submit-btn:hover .submit-arrow-box .arrow-primary,
.contact-modal-overlay.theme-inbetween .contact-submit-btn:hover .submit-arrow-box .arrow-secondary {
  color: #fff
}

@keyframes contactDropdownFadeIn {
  0% {
    opacity: 0;
    transform: translateY(-6px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.side-menu-hp {
  width: 174px;
  transition: opacity .35s cubic-bezier(.16, 1, .3, 1), transform .35s cubic-bezier(.16, 1, .3, 1)
}

@media(max-width:1279px) {
  .side-menu-hp {
    display: none
  }
}

.side-menu-hp .side-menu-container {
  width: 174px
}

.side-menu-hp .side-menu-line-top,
.side-menu-hp .side-menu-line-bottom {
  background-color: transparent;
}

.side-menu-hp .side-menu-line-svg {
  display: block;
}

.side-menu-hp .side-menu-line-svg path {
  fill: currentColor;
  transition: fill 0.3s ease;
}

.side-menu-hp .side-menu-track {
  background-color: #81818140
}

.side-menu-hp .side-menu-item {
  cursor: pointer;
  transition: all .25s ease
}

.side-menu-hp .side-menu-item.clicked-pulse {
  animation: none;
  box-shadow: none
}

.side-menu-hp .side-menu-item .side-menu-link {
  cursor: pointer;
  text-decoration: none;
  outline: none;
  -webkit-tap-highlight-color: transparent
}

.side-menu-hp .side-menu-item .side-menu-link:focus {
  outline: none
}

.side-menu-hp .side-menu-item .side-menu-link:focus-visible {
  outline: 2px solid rgba(5, 22, 80, .4);
  outline-offset: 3px;
  border-radius: 4px
}

.side-menu-hp .side-menu-item .side-menu-dot-wrap .side-menu-dot-svg {
  width: 18px;
  height: 18px;
  display: block;
  overflow: visible
}

.side-menu-hp .side-menu-item .side-menu-dot-wrap .side-menu-dot-svg .ring-outer {
  transform-origin: 16.04px 16.04px;
  animation: spinRingClockwise 10s linear infinite;
  opacity: .45;
  transition: opacity .3s ease
}

.side-menu-hp .side-menu-item .side-menu-dot-wrap .side-menu-dot-svg .ring-inner {
  transform-origin: 16.04px 16.04px;
  animation: spinRingCounterClockwise 8s linear infinite;
  opacity: .35;
  transition: opacity .3s ease
}

.side-menu-hp .side-menu-item .side-menu-dot-wrap .side-menu-dot-svg .dot-core {
  transition: transform .3s cubic-bezier(.16, 1, .3, 1), fill .3s ease;
  transform-origin: 16.04px 16.04px
}

.side-menu-hp .side-menu-item .side-menu-label {
  color: #323232;
  opacity: .85;
  font-size: .75rem;
  letter-spacing: .16em;
  transition: all .35s cubic-bezier(.16, 1, .3, 1);
  transform: translate(0);
  font-weight: 300;
}

.side-menu-hp .side-menu-item:hover .side-menu-dot-wrap {
  color: #051650
}

.side-menu-hp .side-menu-item:hover .side-menu-dot-wrap .side-menu-dot-svg .ring-outer {
  opacity: .9;
  animation-duration: 4s
}

.side-menu-hp .side-menu-item:hover .side-menu-dot-wrap .side-menu-dot-svg .ring-inner {
  opacity: .8;
  animation-duration: 3s
}

.side-menu-hp .side-menu-item:hover .side-menu-dot-wrap .side-menu-dot-svg .dot-core {
  transform: scale(1.25)
}

.side-menu-hp .side-menu-item:hover .side-menu-label {
  color: #051650;
  opacity: 1;
  font-weight: 700;
  transform: translate(4px)
}

.side-menu-hp .side-menu-item.active .side-menu-dot-wrap {
  color: #051650
}

.side-menu-hp .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .ring-outer {
  opacity: 1;
  animation-duration: 3s
}

.side-menu-hp .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .ring-inner {
  opacity: 1;
  animation-duration: 2.2s
}

.side-menu-hp .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .dot-core {
  transform: scale(1.4);
  filter: drop-shadow(0 0 5px rgba(5, 22, 80, .45))
}

.side-menu-hp .side-menu-item.active .side-menu-label {
  color: #051650;
  opacity: 1;
  font-weight: 800;
  transform: translate(4px)
}

.side-menu-hp.side-menu-light .side-menu-line-top,
.side-menu-hp.side-menu-light .side-menu-line-bottom {
  background-color: #818181
}

.side-menu-hp.side-menu-light .side-menu-track {
  background-color: #81818159
}

.side-menu-hp.side-menu-light .side-menu-item .side-menu-dot-wrap,
.side-menu-hp.side-menu-light .side-menu-item .side-menu-label {
  color: #818181
}

.side-menu-hp.side-menu-light .side-menu-item:hover .side-menu-dot-wrap,
.side-menu-hp.side-menu-light .side-menu-item:hover .side-menu-label,
.side-menu-hp.side-menu-light .side-menu-item.active .side-menu-dot-wrap {
  color: #051650;
  font-size: 12px;
}

.side-menu-hp.side-menu-light .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .ring-outer,
.side-menu-hp.side-menu-light .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .ring-inner {
  opacity: 1
}

.side-menu-hp.side-menu-light .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .dot-core {
  filter: drop-shadow(0 0 5px rgba(5, 22, 80, .4))
}

.side-menu-hp.side-menu-light .side-menu-item.active .side-menu-label {
  color: #051650;
  font-weight: 800;
  text-shadow: none
}

.side-menu-hp.side-menu-dark .side-menu-line-top,
.side-menu-hp.side-menu-dark .side-menu-line-bottom {
  background-color: #ffffff8c
}

.side-menu-hp.side-menu-dark .side-menu-track {
  background-color: #fff3
}

.side-menu-hp.side-menu-dark .side-menu-item .side-menu-dot-wrap,
.side-menu-hp.side-menu-dark .side-menu-item .side-menu-label {
  color: #ffffffbf
}

.side-menu-hp.side-menu-dark .side-menu-item:hover .side-menu-dot-wrap {
  color: #fff
}

.side-menu-hp.side-menu-dark .side-menu-item:hover .side-menu-dot-wrap .side-menu-dot-svg .ring-outer {
  opacity: .95
}

.side-menu-hp.side-menu-dark .side-menu-item:hover .side-menu-dot-wrap .side-menu-dot-svg .ring-inner {
  opacity: .9
}

.side-menu-hp.side-menu-dark .side-menu-item:hover .side-menu-label {
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .5)
}

.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-dot-wrap {
  color: #fff
}

.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .ring-outer,
.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .ring-inner {
  opacity: 1
}

.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .dot-core {
  filter: drop-shadow(0 0 7px rgba(255, 255, 255, .9))
}

.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-label {
  color: #fff;
  font-weight: 800;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .6)
}

.side-menu-hp.side-menu-adaptive {
  mix-blend-mode: exclusion;
  color: #fff;
  isolation: auto
}

.side-menu-hp.side-menu-adaptive .side-menu-line-top,
.side-menu-hp.side-menu-adaptive .side-menu-line-bottom {
  background-color: #818181
}

.side-menu-hp.side-menu-adaptive .side-menu-track {
  background-color: #81818166
}

.side-menu-hp.side-menu-adaptive .side-menu-item .side-menu-dot-wrap {
  color: #818181;
  transition: color .25s ease
}

.side-menu-hp.side-menu-adaptive .side-menu-item .side-menu-dot-wrap .side-menu-dot-svg .ring-outer {
  opacity: .6
}

.side-menu-hp.side-menu-adaptive .side-menu-item .side-menu-dot-wrap .side-menu-dot-svg .ring-inner {
  opacity: .5
}

.side-menu-hp.side-menu-adaptive .side-menu-item .side-menu-dot-wrap .side-menu-dot-svg .dot-core {
  opacity: .9
}

.side-menu-hp.side-menu-adaptive .side-menu-item .side-menu-label {
  color: #818181;
  font-weight: 700;
  transition: all .35s cubic-bezier(.16, 1, .3, 1)
}

.side-menu-hp.side-menu-adaptive .side-menu-item:hover .side-menu-dot-wrap {
  color: #fff
}

.side-menu-hp.side-menu-adaptive .side-menu-item:hover .side-menu-dot-wrap .side-menu-dot-svg .ring-outer {
  opacity: .95
}

.side-menu-hp.side-menu-adaptive .side-menu-item:hover .side-menu-dot-wrap .side-menu-dot-svg .ring-inner {
  opacity: .85
}

.side-menu-hp.side-menu-adaptive .side-menu-item:hover .side-menu-dot-wrap .side-menu-dot-svg .dot-core {
  opacity: 1;
  transform: scale(1.25)
}

.side-menu-hp.side-menu-adaptive .side-menu-item:hover .side-menu-label {
  color: #fff;
  transform: translate(4px)
}

.side-menu-hp.side-menu-adaptive .side-menu-item.active .side-menu-dot-wrap {
  color: #fff
}

.side-menu-hp.side-menu-adaptive .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .ring-outer,
.side-menu-hp.side-menu-adaptive .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .ring-inner {
  opacity: 1
}

.side-menu-hp.side-menu-adaptive .side-menu-item.active .side-menu-dot-wrap .side-menu-dot-svg .dot-core {
  opacity: 1;
  transform: scale(1.4)
}

.side-menu-hp.side-menu-adaptive .side-menu-item.active .side-menu-label {
  color: #fff;
  font-weight: 800;
  transform: translate(4px)
}

.onepage-viewport-wrapper {
  position: relative;
  width: 100vw;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f6f6f6
}

@media(max-width:1023px) {
  .onepage-viewport-wrapper {
    overflow-y: auto;
    overflow-x: hidden;
    height: auto;
    min-height: 100vh;
    max-height: none;
    display: block;
    background-color: #f6f6f6
  }
}

.onepage-fit-frame {
  position: relative;
  width: 1440px;
  height: 900px;
  flex-shrink: 0;
  transform-origin: center center;
  transition: transform .1s cubic-bezier(.16, 1, .3, 1);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-font-smoothing: subpixel-antialiased
}

@media(max-width:1023px) {
  .onepage-fit-frame {
    width: 100%;
    height: auto;
    transform: none;
    padding: 90px 1rem 3rem
  }
}

.tri-panel-section {
  background-color: #0a0c10;
  background-image: radial-gradient(circle at 50% 10%, rgba(197, 168, 128, .05) 0%, transparent 60%), linear-gradient(180deg, #0a0c10, #12151b);
  color: #f5f3ef
}

.tri-gallery__desktop {
  display: none
}

@media(min-width:900px) {
  .tri-gallery__desktop {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    margin: 0 auto
  }
}

.tri-teaser {
  position: relative;
  aspect-ratio: 120/451;
  overflow: hidden;
  cursor: pointer;
  background-color: #080a0e;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  flex: 0 0 clamp(85px, 9vw, 120px);
  z-index: 5;
  transition: transform .4s cubic-bezier(.2, .8, .2, 1), opacity .3s ease
}

.tri-teaser:hover {
  opacity: .95;
  transform: translateY(-2px)
}

.tri-teaser:hover .tri-teaser__cue {
  background: #c5a880;
  color: #0a0c10;
  box-shadow: 0 0 16px #c5a88080
}

.tri-teaser--left {
  border-radius: 0 8px 8px 0;
  margin-left: -24px
}

.tri-teaser--left .tri-teaser__cue {
  left: 14px
}

.tri-teaser--right {
  border-radius: 8px 0 0 8px;
  margin-right: -24px
}

.tri-teaser--right .tri-teaser__cue {
  right: 14px
}

.tri-teaser__track {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden
}

.tri-teaser .tri-slide--teaser {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 922px;
  aspect-ratio: 922/565;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity
}

.tri-teaser .tri-slide--teaser img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  pointer-events: none
}

.tri-teaser--left .tri-slide--teaser {
  right: 0;
  left: auto
}

.tri-teaser--right .tri-slide--teaser {
  left: 0;
  right: auto
}

.tri-teaser__overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  z-index: 4;
  transition: opacity .3s ease
}

.tri-teaser--left .tri-teaser__overlay {
  background: linear-gradient(to right, rgba(10, 12, 16, .75) 0%, transparent 100%)
}

.tri-teaser--right .tri-teaser__overlay {
  background: linear-gradient(to left, rgba(10, 12, 16, .75) 0%, transparent 100%)
}

.tri-teaser__cue {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #0a0c10bf;
  border: 1px solid rgba(255, 255, 255, .15);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #f5f3ef;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  pointer-events: none;
  z-index: 5;
  transition: all .3s ease
}

.tri-stage {
  position: relative;
  flex: 1 1 922px;
  max-width: 922px;
  aspect-ratio: 922/565;
  border-radius: 8px;
  overflow: hidden;
  background-color: #08090b;
  box-shadow: 0 25px 60px -15px #000000bf;
  border: 1px solid rgba(255, 255, 255, .08);
  z-index: 10;
  cursor: pointer
}

.tri-stage__viewport {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden
}

.tri-stage .tri-slide--main {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  z-index: 1
}

.tri-stage .tri-slide--main.active {
  opacity: 1;
  pointer-events: auto;
  z-index: 2
}

.tri-stage .tri-slide--main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transform-origin: center center;
  will-change: transform
}

.tri-stage .filter-blur {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #14181e59;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  transition: opacity .5s ease
}

.tri-stage .open-gallery--icon {
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 10
}

.button--g-i {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f7f5f0;
  color: #0a0c10;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow: 0 8px 24px #00000073;
  transition: transform .3s cubic-bezier(.2, .8, .2, 1), background-color .3s ease
}

.button--g-i:hover {
  transform: scale(1.08);
  background: #c5a880;
  color: #0a0c10
}

.button-state-1,
.button-state-2 {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: transform .38s cubic-bezier(.22, 1, .36, 1), opacity .3s ease
}

.button-state-1 {
  transform: translate(0);
  opacity: 1
}

.button-state-2 {
  transform: translate(-100%);
  opacity: 0
}

.button--g-i:hover .button-state-1,
.gallery--button:hover .button-state-1 {
  transform: translate(100%);
  opacity: 0
}

.button--g-i:hover .button-state-2,
.gallery--button:hover .button-state-2 {
  transform: translate(0);
  opacity: 1
}

.gallery--button {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #ffffff0f;
  border: 1px solid rgba(255, 255, 255, .15);
  color: #f5f3ef;
  cursor: pointer;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .3s ease
}

.gallery--button:hover {
  background: #c5a880;
  border-color: #c5a880;
  color: #0a0c10;
  box-shadow: 0 0 16px #c5a88066
}

.gallery--button--prev .button-state-2 {
  transform: translate(100%)
}

.gallery--button--prev:hover .button-state-1 {
  transform: translate(-100%)
}

.gallery--button--prev:hover .button-state-2 {
  transform: translate(0)
}

.tri-gallery__footer {
  display: none
}

@media(min-width:900px) {
  .tri-gallery__footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    max-width: 922px;
    margin: 18px auto 0;
    padding: 0 4px;
    gap: 24px
  }
}

.tri-gallery__footer .caption-container {
  flex: 1;
  min-height: 48px
}

.tri-gallery__footer .caption-title {
  font-family: 'Inter';
  font-size: 22px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #f5f3ef;
  line-height: 1.25;
  margin-bottom: 4px
}

.tri-gallery__footer .caption-desc {
  font-family: 'Inter';
  font-size: 13px;
  color: #9ba3af;
  line-height: 1.45
}

.tri-gallery__footer .caption-specs {
  font-family: 'Inter';
  font-size: 11px;
  letter-spacing: .08em;
  color: #c5a880;
  margin-top: 4px;
  text-transform: uppercase
}

.tri-gallery__footer .controls-container {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-top: 4px
}

.tri-gallery__footer .counter-display {
  font-family: 'Inter';
  font-size: 14px;
  color: #9ba3af;
  letter-spacing: .08em;
  white-space: nowrap
}

.tri-gallery__footer .counter-display .current-index {
  color: #f5f3ef;
  font-weight: 700;
  font-size: 16px
}

.tri-gallery__mobile {
  display: block;
  width: 100%;
  margin: 12px 0
}

@media(min-width:900px) {
  .tri-gallery__mobile {
    display: none
  }
}

.tri-gallery__mobile .tri-mobile__track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: 8px 16px 16px;
  margin: 0 -16px;
  scrollbar-width: none
}

.tri-gallery__mobile .tri-mobile__track::-webkit-scrollbar {
  display: none
}

.tri-gallery__mobile .tri-mobile__card {
  flex: 0 0 82vw;
  max-width: 380px;
  aspect-ratio: 1/1;
  border-radius: 12px;
  overflow: hidden;
  scroll-snap-align: center;
  background-color: #12151b;
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 16px 36px -10px #0009;
  position: relative
}

.tri-gallery__mobile .tri-mobile__card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.tri-gallery__mobile .tri-mobile__card .card-zoom-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #0a0c10b3;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 11px
}

.tri-gallery__mobile .mobile-controller-bar {
  width: 100%;
  height: 2px;
  background: #ffffff26;
  border-radius: 1px;
  overflow: hidden;
  margin-top: 14px;
  position: relative
}

.tri-gallery__mobile .mobile-controller-bar .mobile-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 20%;
  background: #c5a880;
  transition: width .35s ease;
  box-shadow: 0 0 8px #c5a880
}

.tri-gallery__mobile .mobile-meta-bar {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-top: 12px
}

.tri-gallery__mobile .mobile-meta-bar .mobile-counter {
  font-family: 'Inter';
  font-size: 13px;
  color: #9ba3af
}

.tri-gallery__mobile .mobile-meta-bar .mobile-counter .current {
  color: #f5f3ef;
  font-weight: 700;
  font-size: 15px
}

.tri-gallery__mobile .mobile-caption {
  margin-top: 8px
}

.tri-gallery__mobile .mobile-caption h4 {
  font-family: 'Inter';
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #f5f3ef;
  line-height: 1.25;
  margin-bottom: 4px
}

.tri-gallery__mobile .mobile-caption p {
  font-family: 'Inter';
  font-size: 12px;
  color: #9ba3af;
  line-height: 1.4
}

.tri-lightbox {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99999;
  display: none;
  flex-direction: column;
  justify-content: space-between;
  background: #080a0ef5;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  opacity: 0;
  transition: opacity .35s ease
}

.tri-lightbox.active {
  display: flex;
  opacity: 1
}

.tri-lightbox__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 28px;
  border-bottom: 1px solid rgba(255, 255, 255, .08)
}

.tri-lightbox__header .lightbox-brand {
  font-family: 'Inter';
  font-size: 18px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #c5a880
}

.tri-lightbox__header .lightbox-counter {
  font-family: 'Inter';
  font-size: 13px;
  color: #9ba3af
}

.tri-lightbox__header .lightbox-close-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff0f;
  border: 1px solid rgba(255, 255, 255, .12);
  color: #f5f3ef;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
  transition: all .25s ease
}

.tri-lightbox__header .lightbox-close-btn:hover {
  background: #c5a880;
  color: #0a0c10;
  transform: rotate(90deg)
}

.tri-lightbox__body {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 60px;
  overflow: hidden
}

.tri-lightbox__body img {
  max-width: 100%;
  max-height: 72vh;
  -o-object-fit: contain;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: 0 30px 80px #000000d9;
  transition: transform .4s ease
}

.tri-lightbox__body .lightbox-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ffffff14;
  border: 1px solid rgba(255, 255, 255, .15);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
  transition: all .25s ease
}

.tri-lightbox__body .lightbox-nav-btn:hover {
  background: #c5a880;
  color: #0a0c10;
  transform: translateY(-50%) scale(1.08)
}

.tri-lightbox__body .lightbox-nav-btn--prev {
  left: 20px
}

.tri-lightbox__body .lightbox-nav-btn--next {
  right: 20px
}

.tri-lightbox__footer {
  padding: 16px 28px 24px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px
}

.tri-lightbox__footer .lightbox-caption-text {
  text-align: center
}

.tri-lightbox__footer .lightbox-caption-text h4 {
  font-family: 'Inter';
  font-size: 20px;
  color: #f5f3ef;
  text-transform: uppercase;
  margin-bottom: 2px
}

.tri-lightbox__footer .lightbox-caption-text p {
  font-family: 'Inter';
  font-size: 13px;
  color: #9ba3af
}

.tri-lightbox__footer .lightbox-thumbnails {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  max-width: 100%;
  padding: 4px 0
}

.tri-lightbox__footer .lightbox-thumbnails .thumb-item {
  flex: 0 0 64px;
  height: 44px;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  opacity: .45;
  border: 2px solid transparent;
  transition: all .25s ease
}

.tri-lightbox__footer .lightbox-thumbnails .thumb-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.tri-lightbox__footer .lightbox-thumbnails .thumb-item.active,
.tri-lightbox__footer .lightbox-thumbnails .thumb-item:hover {
  opacity: 1;
  border-color: #c5a880;
  transform: translateY(-2px)
}

#home-projects.proj-section {
  background-color: #f6f6f6;
  color: #051650
}

.proj-outer {
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative
}

.proj-divider {
  display: none;
}

@media(min-width: 1024px) {
  .proj-divider {
    display: block;
    width: 1px;
    height: 60vh;
    max-height: 480px;
    background-color: #3232327a;
    align-self: center;
    flex-shrink: 0;
    pointer-events: none;
  }
}

.proj-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: center;
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
}

@media(min-width:1024px) {
  .proj-body {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: clamp(32px, 4vw, 56px);
    display: flex;
    padding-top: 0;
    padding-bottom: 0;
  }
}

.proj-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 36px;
}

@media(min-width:1024px) {
  .proj-left {
    flex: 1 1 0%;
    max-width: 520px;
    gap: 36px;
  }
}

.proj-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #818181
}

@media(min-width:768px) {
  .proj-eyebrow {
    font-size: 12px
  }
}

.proj-title {
  font-size: 31px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #051650;
  text-transform: uppercase;
  margin: 0
}

.proj-desc {
  font-size: 16px;
  line-height: 1.75;
  color: #333;
  max-width: 360px;
  margin: 0
}

@media(min-width:768px) {
  .proj-desc {
    font-size: 16px
  }
}

.proj-cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 700;
  font-style: italic;
  color: #051650;
  text-decoration: none;
  transition: opacity .15s ease, gap .15s ease
}

.proj-cta:hover {
  opacity: .65;
  gap: 8px
}

.proj-cta .proj-cta__arrow {
  font-style: normal;
  transition: transform .15s ease
}

.proj-cta:hover .proj-cta__arrow {
  transform: translate(4px)
}

.proj-right {
  display: flex;
  align-items: center;
  justify-content: center
}

@media(min-width:1024px) {
  .proj-right {
    flex: 1 1 0%;
    width: 580px;
    padding-left: 0;
    justify-content: flex-end;
    align-items: center;
  }
}

.proj-card {
  width: 580px;
  display: flex;
  flex-direction: column;
  gap: 16px
}

@media(min-width:1024px) {
  .proj-card {
    gap: 20px
  }
}

.proj-card__img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 593/350;
  border-radius: 12px;
  overflow: hidden;
  background-color: #e5e5e5;
  box-shadow: 0 8px 32px #0516501a
}

@media(max-width:1023px) {
  .proj-card__img-wrap {
    width: 100%;
    aspect-ratio: 593 / 350;
    min-height: 220px;
    max-height: 340px;
    position: relative;
    display: block;
  }
}

@media(min-width:1024px) {
  .proj-card__img-wrap {
    max-height: 380px;
    aspect-ratio: 593/350;
  }
}

.proj-card__img-slide {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: opacity .5s ease;
  pointer-events: none
}

.proj-card__img-slide.active {
  opacity: 1;
  pointer-events: auto
}

.proj-card__img-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block
}

.proj-card__info {
  display: flex;
  flex-direction: column;
  gap: 10px
}

@media(min-width:1024px) {
  .proj-card__info {
    gap: 12px
  }
}

.proj-card__info-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  height: 56px;
  min-height: 56px;
  max-height: 56px;
  overflow: hidden;
}

@media(min-width:1024px) {
  .proj-card__info-header {
    height: 64px;
    min-height: 64px;
    max-height: 64px;
  }
}

.proj-card__title {
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 500;
  color: #051650;
  letter-spacing: .02em;
  line-height: 1.3;
  margin: 0;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 2.6em;
  min-height: 2.6em;
  max-height: 2.6em;
}

.proj-card__nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-top: 2px;
}

.proj-nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background-color: #dadada;
  color: #051650;
  font-size: 11px;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, transform .15s ease;
  outline: none
}

.proj-nav-btn:focus {
  outline: none
}

.proj-nav-btn:focus-visible {
  outline: 2px solid rgba(5, 22, 80, .4);
  outline-offset: 2px
}

.proj-nav-btn:hover {
  background-color: #051650;
  color: #fff;
  transform: scale(1.08)
}

.proj-nav-btn:active {
  transform: scale(.95)
}

.proj-card__desc {
  font-size: 15px;
  line-height: 1.6;
  color: #444;
  margin: 0;
  max-width: 560px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 48px;
  min-height: 48px;
  max-height: 48px;
}

@media(min-width:768px) {
  .proj-card__desc {
    font-size: 16px;
    line-height: 1.6;
    height: 52px;
    min-height: 52px;
    max-height: 52px;
  }
}

.proj-card__specs {
  position: relative;
  height: 144px;
  min-height: 144px;
  max-height: 144px;
  overflow: hidden;
}

.proj-specs-set {
  display: none;
  flex-direction: column;
  height: 144px;
  min-height: 144px;
  max-height: 144px;
  justify-content: space-between;
}

.proj-specs-set.active {
  display: flex;
}

.proj-spec-row {
  display: grid;
  grid-template-columns: 165px 1fr;
  align-items: center;
  gap: 14px;
  height: 35px;
  min-height: 35px;
  max-height: 35px;
  padding: 0;
  border-bottom: 1px solid rgba(5, 22, 80, .1);
  font-size: 13px;
  overflow: hidden;
  box-sizing: border-box;
}

.proj-spec-row:last-child {
  border-bottom: none;
}

@media(max-width: 480px) {
  .proj-spec-row {
    grid-template-columns: 145px 1fr;
    gap: 10px;
  }
}

@media(min-width: 1024px) {
  .proj-spec-row {
    grid-template-columns: 180px 1fr;
    gap: 16px;
    font-size: 14.5px;
    height: 36px;
    min-height: 36px;
    max-height: 36px;
  }
}

.proj-spec-label {
  font-weight: 500;
  color: #051650;
  letter-spacing: .02em;
  font-size: 12.5px;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media(max-width: 480px) {
  .proj-spec-label {
    font-size: 11.5px;
  }
}

@media(min-width: 1024px) {
  .proj-spec-label {
    font-size: 13.5px;
  }
}

.proj-spec-value {
  min-width: 0;
  color: #333;
  font-weight: 400;
  font-size: 13.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media(min-width: 1024px) {
  .proj-spec-value {
    font-size: 14.5px;
  }
}

.proj-card__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 24px;
  min-height: 24px;
  max-height: 24px;
  margin-top: 2px;
}

.proj-card__counter {
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-size: 12px;
  color: #818181
}

.proj-counter__cur {
  font-size: 14px;
  font-weight: 700;
  color: #051650
}

.proj-counter__sep {
  color: #c4c4c4
}

.proj-counter__tot {
  color: #818181
}

.proj-viewmore {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 700;
  font-style: italic;
  color: #051650;
  text-decoration: none;
  transition: opacity .15s ease, gap .15s ease
}

.proj-viewmore:hover {
  opacity: .65;
  gap: 8px
}

.proj-viewmore span {
  font-style: normal;
  transition: transform .15s ease
}

.proj-viewmore:hover span {
  transform: translate(4px)
}

.proj-card__title,
.proj-card__desc {
  transition: opacity .2s ease, transform .2s ease
}

html {
  scroll-behavior: smooth
}

@media(min-width:1024px) {
  html {
    scroll-snap-type: y mandatory
  }
}

.homepage-section {
  position: relative;
  width: 100%;
  box-sizing: border-box
}

@media(min-width:1024px) {
  .homepage-section {
    height: auto;
    min-height: 100vh;
    max-height: 100vh;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
    overflow: hidden
  }
}

@media(max-width:1023px) {
  .homepage-section {
    min-height: auto;
    height: auto;
    padding-top: 48px;
    padding-bottom: 48px
  }
}

.side-menu-hp {
  transition: opacity .3s ease, transform .3s ease
}

.side-menu-hp.side-menu-dark .side-menu-line-top,
.side-menu-hp.side-menu-dark .side-menu-line-bottom {
  background-color: #fff6
}

.side-menu-hp.side-menu-dark .side-menu-track {
  background-color: #ffffff26
}

.side-menu-hp.side-menu-dark .side-menu-item .side-menu-dot-wrap,
.side-menu-hp.side-menu-dark .side-menu-item .side-menu-label {
  color: #ffffff80
}

.side-menu-hp.side-menu-dark .side-menu-item:hover .side-menu-dot-wrap,
.side-menu-hp.side-menu-dark .side-menu-item:hover .side-menu-label {
  color: #fff
}

.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-dot-wrap,
.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-label {
  color: #fff;
  font-weight: 800
}

.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-dot-svg {
  transform: scale(1.15)
}

.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-dot-svg .ring-outer {
  opacity: 1;
  transform-origin: center
}

.side-menu-hp.side-menu-light .side-menu-line-top,
.side-menu-hp.side-menu-light .side-menu-line-bottom {
  background-color: #05165066
}

.side-menu-hp.side-menu-light .side-menu-track {
  background-color: #05165026
}

.side-menu-hp.side-menu-light .side-menu-item .side-menu-dot-wrap,
.side-menu-hp.side-menu-light .side-menu-item .side-menu-label {
  color: #323232;
  opacity: .6;
  font-size: 10px;
}

.side-menu-hp.side-menu-light .side-menu-item:hover .side-menu-dot-wrap,
.side-menu-hp.side-menu-light .side-menu-item:hover .side-menu-label {
  color: #051650;
  opacity: 1
}

.side-menu-hp.side-menu-light .side-menu-item.active .side-menu-dot-wrap,
.side-menu-hp.side-menu-light .side-menu-item.active .side-menu-label {
  color: #051650;
  opacity: 1;
  font-weight: 800
}

.side-menu-hp.side-menu-light .side-menu-item.active .side-menu-dot-svg {
  transform: scale(1.2);
  color: #051650
}

.btn-scroll-indicator {
  cursor: pointer;
  outline: none;
  transition: transform .25s ease, opacity .25s ease
}

.btn-scroll-indicator:hover {
  transform: translateY(2px)
}

.btn-scroll-indicator .scroll-indicator-wrap {
  transition: transform .3s ease
}

.btn-scroll-indicator:hover .scroll-indicator-wrap {
  transform: scale(1.1)
}

.btn-scroll-indicator svg.icon-bottom-svg.direction-up {
  transform: rotate(180deg)
}

#home-workflow .workflow-header,
#home-workflow .workflow-step,
#home-workflow .workflow-cta-col {
  opacity: 0;
  transform: translateY(22px);
  will-change: opacity, transform;
}

#home-workflow .workflow-step .workflow-step-num,
#home-workflow .workflow-step .workflow-step-title {
  color: #fff;
  font-weight: normal;
}

#home-workflow .workflow-step .workflow-step-desc {
  color: #d4d4d4;
}

#home-workflow .workflow-step .workflow-step-line-wrap {
  overflow: hidden;
}

#home-workflow .workflow-step .workflow-step-line-fill {
  transform-origin: left center;
  transform: scaleX(0);
  will-change: transform;
}

.workflow-steps-wrap {
  gap: 80px !important;
}

#home-workflow .workflow-step.is-active .workflow-step-num {
  color: #fff;
  font-weight: 800;
}

#home-workflow .workflow-step.is-active .workflow-step-title,
#home-workflow .workflow-step.is-active .workflow-step-desc {
  color: #fff;
}

#home-workflow .workflow-step.is-active .workflow-step-line-fill {
  transform: scaleX(1);
}

#home-workflow .workflow-step:hover .workflow-step-num,
#home-workflow .workflow-step:hover .workflow-step-title,
#home-workflow .workflow-step:hover .workflow-step-desc {
  color: #fff;

}

/* Sequential Reveal when .workflow-revealed class is activated - Fast & Crisp */
#home-workflow.workflow-revealed .workflow-header {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .3s ease, transform .3s cubic-bezier(.16, 1, .3, 1);
}

#home-workflow.workflow-revealed .workflow-step {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .25s ease, transform .25s cubic-bezier(.16, 1, .3, 1);
}

#home-workflow.workflow-revealed .workflow-step[data-step="1"] {
  transition-delay: .04s;
}

#home-workflow.workflow-revealed .workflow-step[data-step="1"] .workflow-step-line-fill {
  transform: scaleX(1);
  transition: transform .25s cubic-bezier(.16, 1, .3, 1) .08s;
}

#home-workflow.workflow-revealed .workflow-step[data-step="2"] {
  transition-delay: .1s;
}

#home-workflow.workflow-revealed .workflow-step[data-step="2"] .workflow-step-line-fill {
  transform: scaleX(1);
  transition: transform .25s cubic-bezier(.16, 1, .3, 1) .14s;
}

#home-workflow.workflow-revealed .workflow-step[data-step="3"] {
  transition-delay: .16s;
}

#home-workflow.workflow-revealed .workflow-step[data-step="3"] .workflow-step-line-fill {
  transform: scaleX(1);
  transition: transform .25s cubic-bezier(.16, 1, .3, 1) .2s;
}

#home-workflow.workflow-revealed .workflow-step[data-step="4"] {
  transition-delay: .22s;
}

#home-workflow.workflow-revealed .workflow-step[data-step="4"] .workflow-step-line-fill {
  transform: scaleX(1);
  transition: transform .25s cubic-bezier(.16, 1, .3, 1) .26s;
}

#home-workflow.workflow-revealed .workflow-step[data-step="5"] {
  transition-delay: .28s;
}

#home-workflow.workflow-revealed .workflow-step[data-step="5"] .workflow-step-line-fill {
  transform: scaleX(1);
  transition: transform .25s cubic-bezier(.16, 1, .3, 1) .32s;
}

#home-workflow.workflow-revealed .workflow-cta-col {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .3s ease .35s, transform .3s cubic-bezier(.16, 1, .3, 1) .35s;
}

#home-workflow .workflow-cta-btn {
  box-shadow: none
}

#home-workflow .workflow-cta-btn:hover {
  transform: none;
  box-shadow: none;
  filter: none
}

#home-clients .mosaic-card {
  transition: transform .4s cubic-bezier(.16, 1, .3, 1), box-shadow .4s ease
}

#home-clients .mosaic-card:hover {
  transform: translateY(-6px) scale(1.03);
  box-shadow: 0 16px 32px #0516501f;
  z-index: 10
}

@media(min-width:1024px)and (max-height:820px) {

  section.homepage-section,
  #home-hero,
  #home-about,
  #home-projects,
  #home-products,
  #home-workflow,
  #home-commitments,
  #home-news,
  #home-contact {
    padding-top: clamp(60px, 8.8vh, 76px);
    padding-bottom: clamp(6px, 1.5vh, 16px)
  }

  #main-site-header .container {
    height: 72px
  }

  #main-site-header .logo-white-variant,
  #main-site-header .logo-dark-variant {
    height: 60px;
  }

  .side-menu-hp .side-menu-line-top,
  .side-menu-hp .side-menu-line-bottom {
    height: 22px
  }

  .side-menu-hp .side-menu-list>li+li {
    margin-top: 8px
  }

  .side-menu-hp .side-menu-label {
    font-size: 10px
  }

  .btn-scroll-indicator .scroll-indicator-wrap,
  .btn-scroll-indicator .icon-bottom-svg,
  .btn-scroll-down .scroll-indicator-wrap,
  .btn-scroll-down .icon-bottom-svg {
    width: 28px;
    height: 28px
  }

  #home-hero #hero-center-text {
    margin-top: clamp(8px, 2vh, 20px)
  }


  #home-hero #hero-center-text div {
    font-size: 20px;
    margin-top: 6px
  }

  #home-hero #hero-bottom-row {
    padding-bottom: clamp(4px, 1vh, 10px)
  }

  #home-hero #hero-bottom-row p {
    font-size: 13px;
    line-height: 1.45;
    max-width: 420px
  }

  #home-hero #hero-bottom-row .btn-pill-arrow {
    padding: 6px 16px;
    font-size: 14.5px
  }

  #home-hero #hero-bottom-row .bg-white.rounded-2xl {
    padding: 15px;
    min-width: 200px;
    align-items: self-start;
  }

  #home-about .about-showcase-box,
  #home-about .aspect-\[1110\/555\] {
    max-height: min(555px, 100vh - 225px);
    width: 100%;
    aspect-ratio: 1110/555;
    margin-top: auto;
    margin-bottom: auto
  }

  #home-about h2 {
    font-size: clamp(18px, 3.2vh, 28px)
  }

  #home-about p {
    font-size: 15px;
    line-height: 1.45
  }

  #home-about .btn-link-italic {
    font-size: 13px
  }

  #home-projects .proj-body {
    gap: clamp(12px, 2.4vh, 24px)
  }

  #home-projects .proj-left {
    gap: clamp(8px, 1.8vh, 18px)
  }

  #home-projects .proj-left .proj-title {
    font-size: clamp(20px, 3.6vh, 34px);
    line-height: 1.12
  }

  #home-projects .proj-left .proj-desc {
    font-size: 15px;
    line-height: 1.45;
    max-width: 380px
  }

  #home-projects .proj-card {
    gap: clamp(6px, 1.2vh, 14px)
  }

  #home-projects .proj-card__img-wrap {
    max-height: 100%
  }

  #home-projects .proj-card__info {
    gap: clamp(3px, .8vh, 6px)
  }

  #home-projects .proj-card__title {
    font-size: clamp(15px, 2.2vh, 18px)
  }

  #home-projects .proj-card__desc {
    font-size: 14.5px;
    line-height: 1.35
  }

  #home-projects .proj-spec-row {
    padding: clamp(2px, .5vh, 4px) 0;
    font-size: 13.5px
  }

  #home-projects .proj-card__footer {
    padding-top: clamp(2px, .5vh, 6px);
    font-size: 14px
  }

  #home-products h2 {
    font-size: 28px
  }

  #home-products .home-products-swiper {
    width: 100%
  }

  #home-products .product-box-compact {
    width: 100%;
    height: 100%
  }

  #home-products .product-box-compact div[class*="aspect-[236/240]"] {
    width: 100%;
    aspect-ratio: 236/240;
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: clamp(130px, 24vh, 200px);
  }

  #home-products .product-box-compact div[class*="aspect-[236/240]"] img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
  }

  #home-products .product-box-compact .product-title,
  #home-products .product-box-compact h3 {
    font-size: 20px;
    line-height: 1.35
  }

  #home-workflow h2 {
    font-size: clamp(20px, 3.5vh, 32px)
  }

  #home-workflow p {
    font-size: 15px;
    line-height: 1.4
  }

  #home-workflow .space-y-8,
  #home-workflow .sm\:space-y-12 {
    margin-top: auto;
    margin-bottom: auto;
    padding-top: 4px;
    gap: clamp(6px, 1.5vh, 14px)
  }

  #home-workflow .grid.grid-cols-1.md\:grid-cols-3 {
    gap: clamp(8px, 1.5vh, 16px)
  }

  #home-workflow h3 {
    font-size: clamp(15px, 2.2vh, 18px)
  }

  #home-commitments div[class*="text-[32px]"] {
    font-size: clamp(22px, 3.8vh, 32px)
  }

  #home-commitments .grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3 {
    gap-x: clamp(16px, 2.5vw, 28px);
    gap-y: clamp(6px, 1.2vh, 14px);
    margin-top: auto;
    margin-bottom: auto;
    padding-top: 4px
  }

  #home-commitments div[class*="text-[#CCAC8D]"] {
    font-size: clamp(22px, 3.4vh, 30px)
  }

  #home-commitments h3 {
    font-size: clamp(14.5px, 2vh, 16px)
  }

  #home-commitments p {
    font-size: 14.5px;
    line-height: 1.35
  }

  #home-news h2 {
    font-size: clamp(20px, 3.2vh, 30px);
  }
}

#home-news .swiper-slide {
  position: relative;
  transition: opacity 0.35s ease;
}

#home-news .swiper-slide:not(.swiper-slide-active) {
  opacity: 0.82;
}

#home-news .swiper-slide.swiper-slide-active {
  opacity: 1;
}

#home-news.homepage-section-safe {
  padding-top: clamp(65px, 8.5vh, 85px);
  padding-bottom: clamp(10px, 1.8vh, 20px);
  box-sizing: border-box;
  justify-content: space-between;
}

#home-news .news-figma-frame {
  justify-content: center;
  align-items: center;
  gap: clamp(12px, 2vh, 22px);
}

#home-news .news-body {
  width: 100%;
  max-width: 1110px;
}

#home-news .home-news-nav {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

#home-news .home-news-swiper {
  overflow: hidden;
  width: 100%;
}

#home-news .home-news-swiper .swiper-wrapper {
  align-items: flex-start;
}

#home-news .home-news-swiper .swiper-slide {
  width: 70%;
  height: auto;
  transition: opacity 0.35s ease;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  #home-news .home-news-swiper .swiper-slide {
    width: 80vw;
  }
}

@media (max-width: 480px) {
  #home-news .home-news-swiper .swiper-slide {
    width: 85vw;
  }
}

/* Ensure ALL news images have ONE exact uniform height across every slide (~300px) */
#home-news .home-news-swiper .news-card-image-wrap {
  width: 100%;
  height: clamp(200px, 51vh, 430px);
  aspect-ratio: unset;
  border-radius: 12px;
  overflow: hidden;
  flex-shrink: 0;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
}

#home-news .home-news-swiper .news-card-image-wrap a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#home-news .home-news-swiper .news-card-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* News card content transition */
#home-news .home-news-swiper .news-slide-content {
  display: flex;
  flex-direction: column;
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
}

.headline-text-contact {
  font-weight: 700;
  font-size: var(--text-scale-h2);
}

#home-news .home-news-swiper .news-slide-content h3 {
  max-width: calc(100% - 90px);
  width: auto;
  flex: 1;
}

#home-news .home-news-swiper .news-slide-content p {
  max-width: 85%;
  width: auto;
}

@media (max-width: 639px) {

  #home-news .home-news-swiper .news-slide-content h3,
  #home-news .home-news-swiper .news-slide-content p {
    max-width: 100%;
  }
}

/* Slide 1 (Active): 70% width, full scale, prominent, full opacity */
#home-news .home-news-swiper .swiper-slide.swiper-slide-active {
  opacity: 1;
  cursor: default;
  z-index: 2;
  width: 70%;
}

@media (max-width: 768px) {
  #home-news .home-news-swiper .swiper-slide.swiper-slide-active {
    width: 80vw;
  }
}

@media (max-width: 480px) {
  #home-news .home-news-swiper .swiper-slide.swiper-slide-active {
    width: 85vw;
  }
}

#home-news .home-news-swiper .swiper-slide.swiper-slide-active .news-card-image-wrap {
  transform: scale(1);
  transform-origin: left center;
}

#home-news .home-news-swiper .swiper-slide.swiper-slide-active .news-slide-content {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* Slide 2 (Inactive / Next): ALWAYS SMALLER image than active slider (~85% scale) */
#home-news .home-news-swiper .swiper-slide:not(.swiper-slide-active) {
  opacity: 0.85;
  cursor: pointer;
  z-index: 1;
}

#home-news .home-news-swiper .swiper-slide:not(.swiper-slide-active) .news-card-image-wrap {
  transform: scale(0.854);
  transform-origin: left center;
}

/* Khi chưa active: ẩn hoàn toàn phần nội dung (tiêu đề, tóm tắt, xem thêm) */
#home-news .home-news-swiper .swiper-slide:not(.swiper-slide-active) .news-slide-content {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
}

#home-news .home-news-swiper .swiper-slide:not(.swiper-slide-active) .home-news-nav {
  opacity: 0;
  pointer-events: none;
}

#home-contact h2,
#home-contact .headline-text-contact {
  font-size: 49px;
  line-height: 1.1;
}

#home-contact #contact-panel-company {
  gap: 40px;
}

#home-contact .grid.grid-cols-1.md\:grid-cols-12 {
  gap: clamp(8px, 1.4vh, 16px);
  font-size: 15px
}

.contact-social-link {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #171717;
  text-decoration: none;
  transition: all 0.2s ease;
}

.contact-social-link:hover {
  color: #051650;
  transform: scale(1.1);
}

.contact-social-link i,
.contact-social-link i.fa-brands,
.contact-social-link i.fa-solid {
  font-size: 20px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.contact-social-link svg,
.contact-social-link img {
  width: 20px;
  height: 20px;
}

#home-contact .reveal-delay-4 {
  padding-top: clamp(2px, .5vh, 6px);
}

#about {
  padding-top: clamp(60px, 8.8vh, 76px);
  padding-bottom: clamp(8px, 1.8vh, 16px)
}

#about .aspect-\[1110\/555\] {
  max-height: clamp(180px, 35vh, 320px)
}

#about h1 {
  font-size: clamp(20px, 3.5vh, 28px)
}

#about p {
  font-size: 15px
}


@media(max-height:500px) {
  html {
    scroll-snap-type: none
  }

  .homepage-section {
    height: auto;
    min-height: 100vh;
    max-height: none;
    overflow-y: visible;
    padding-top: 70px;
    padding-bottom: 24px
  }
}

.toast-notification {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 999;
  padding: .75rem 1.5rem;
  border-radius: 9999px;
  background-color: #051650;
  color: #fff;
  font-size: .875rem;
  font-weight: 700;
  box-shadow: 0 10px 25px #05165059;
  transform: translateY(100px);
  opacity: 0;
  transition: all .35s cubic-bezier(.16, 1, .3, 1);
  pointer-events: none
}

.toast-notification.show {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px
}

::-webkit-scrollbar-track {
  background: #f1f1f1
}

::-webkit-scrollbar-thumb {
  background: #c5c5c5;
  border-radius: 4px
}

::-webkit-scrollbar-thumb:hover {
  background: #051650
}

.custom-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: rgba(5, 22, 80, .25) transparent
}

.custom-scrollbar::-webkit-scrollbar {
  width: 5px
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: transparent
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background: #05165033;
  border-radius: 9999px
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #051650
}

@keyframes pulseGlow {

  0%,
  to {
    opacity: 1;
    transform: scale(1)
  }

  50% {
    opacity: .8;
    transform: scale(1.03)
  }
}

@keyframes bounceSoft {

  0%,
  to {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-6px)
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -18px, 0)
  }

  to {
    opacity: 1;
    transform: translateZ(0)
  }
}

@keyframes fadeInDownShort {
  0% {
    opacity: 0;
    transform: translate3d(0, -10px, 0)
  }

  to {
    opacity: 1;
    transform: translateZ(0)
  }
}

@keyframes clickRipple {
  0% {
    box-shadow: 0 0 #05165040;
    transform: scale(.97)
  }

  50% {
    transform: scale(1.02)
  }

  70% {
    box-shadow: 0 0 0 8px #05165000;
    transform: scale(1)
  }

  to {
    box-shadow: 0 0 #05165000;
    transform: scale(1)
  }
}

.animate-pulse-glow {
  animation: pulseGlow 2.5s infinite ease-in-out
}

.animate-bounce-soft {
  animation: bounceSoft 2s infinite ease-in-out
}

.animate-fade-in-down {
  animation: fadeInDown .4s cubic-bezier(.16, 1, .3, 1) forwards
}

.animate-fade-in-down-short {
  animation: fadeInDownShort .3s cubic-bezier(.16, 1, .3, 1) forwards
}

.clicked-pulse {
  animation: clickRipple .45s ease-out
}

.contact-interactive-item {
  position: relative;
  border-radius: 8px;
  transition: all .25s cubic-bezier(.16, 1, .3, 1);
  cursor: pointer
}

.contact-interactive-item:hover {
  background-color: #0516500a;
  transform: translate(4px)
}

.contact-interactive-item:active {
  transform: scale(.98)
}

.contact-card-box {
  transition: all .25s cubic-bezier(.16, 1, .3, 1)
}

.contact-card-box:hover {
  box-shadow: 0 8px 24px #05165014;
  transform: translateY(-2px)
}

.contact-card-box:active {
  transform: scale(.99)
}

#home-hero,
#home-about,
#home-projects,
#home-products,
#home-workflow,
#home-commitments,
#home-news,
#home-contact,
.site-header,
.site-footer,
.mobile-nav-drawer,
.contact-modal,
.side-menu-hp,
.proj-section,
.homepage-section {
  font-family: 'Inter'
}

.inbetween-scroll-container {
  height: 100vh;
  max-height: 100vh;
  overflow-y: scroll;
  overflow-x: hidden;
  scroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none
}

.inbetween-scroll-container::-webkit-scrollbar {
  display: none
}

.inbetween-onepage-section {
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  overflow: hidden;
  position: relative;
  box-sizing: border-box
}

.inbetween-onepage-section .inbetween-anim-up {
  opacity: .2;
  transform: translateY(16px);
  transition: opacity .6s cubic-bezier(.16, 1, .3, 1), transform .6s cubic-bezier(.16, 1, .3, 1)
}

.inbetween-onepage-section.inbetween-section-active .inbetween-anim-up {
  opacity: 1;
  transform: translateY(0)
}

@media(max-width:1023px) {
  .inbetween-onepage-section {
    height: auto;
    min-height: 100vh;
    max-height: none;
    scroll-snap-align: none;
    scroll-snap-stop: normal
  }

  .inbetween-onepage-section .inbetween-anim-up {
    opacity: 1;
    transform: none
  }
}

.inbetween-container-1440 {
  width: 100%;
  max-width: 1440px;
  height: 100%;
  min-height: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 24px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

@media(min-width:640px) {
  .inbetween-container-1440 {
    padding: 28px 32px
  }
}

@media(min-width:1024px) {
  .inbetween-container-1440 {
    padding: 40px 72px
  }
}

.inbetween-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: color .35s ease, background-color .35s ease
}

.inbetween-header .inbetween-container-1440 {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  height: auto;
  min-height: 0
}

.inbetween-header .inbetween-logo {
  display: inline-flex;
  align-items: center;
  width: 210px;
  height: 32px;
  flex-shrink: 0;
  transition: opacity .2s ease
}

.inbetween-header .inbetween-logo:hover {
  opacity: .85
}

.inbetween-header .inbetween-logo .inbetween-logo-white,
.inbetween-header .inbetween-logo .inbetween-logo-dark {
  width: 210px;
  height: 32px;
  max-width: 210px;
  max-height: 32px;
  -o-object-fit: contain;
  object-fit: contain
}

.inbetween-header.theme-dark {
  color: #fff
}

.inbetween-header.theme-dark .inbetween-logo .inbetween-logo-white {
  display: block
}

.inbetween-header.theme-dark .inbetween-logo .inbetween-logo-dark {
  display: none
}

.inbetween-header.theme-dark .inbetween-connect-link {
  color: #fff;
  gap: 10px
}

.inbetween-header.theme-dark .inbetween-connect-link:hover {
  color: #fde68a
}

.inbetween-header.theme-light {
  color: #111
}

.inbetween-header.theme-light .inbetween-logo .inbetween-logo-white {
  display: none
}

.inbetween-header.theme-light .inbetween-logo .inbetween-logo-dark {
  display: block
}

.inbetween-header.theme-light .inbetween-connect-link {
  color: #111
}

.inbetween-header.theme-light .inbetween-connect-link:hover {
  color: #ea580c
}

.inbetween-header .inbetween-menu-toggle {
  position: fixed;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 50;
  cursor: pointer;
  font-family: 'Inter';
  transition: color .25s ease, transform .25s ease;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  padding: .5rem .75rem .5rem 1rem
}

@media(min-width:640px) {
  .inbetween-header .inbetween-menu-toggle {
    padding-left: 1.5rem
  }
}

@media(min-width:1024px) {
  .inbetween-header .inbetween-menu-toggle {
    padding-left: 2rem
  }
}

.inbetween-header .inbetween-menu-toggle .menu-text {
  font-family: 'Inter';
  font-weight: 700;
  letter-spacing: .06em;
  transition: color .2s ease
}

.inbetween-header .inbetween-menu-toggle:hover {
  color: #ec460b
}

.inbetween-header .inbetween-menu-toggle:hover .hamburger span {
  background-color: #ec460b
}

.inbetween-header .inbetween-menu-toggle:hover .menu-text {
  color: #ec460b
}

.mobile-nav-overlay.theme-inbetween-overlay {
  background: #131313a6;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px)
}

.mobile-nav-drawer.theme-inbetween-drawer {
  font-family: 'Inter';
  background-color: #f8f3ec;
  color: #131313;
  width: 380px;
  max-width: 90vw;
  box-shadow: 16px 0 50px #00000038;
  border-right: 1px solid rgba(19, 19, 19, .08)
}

.mobile-nav-drawer.theme-inbetween-drawer #close-drawer-btn {
  color: #131313;
  font-family: 'Inter'
}

.mobile-nav-drawer.theme-inbetween-drawer #close-drawer-btn span:first-child {
  background-color: #131313
}

.mobile-nav-drawer.theme-inbetween-drawer #close-drawer-btn:hover {
  color: #ec460b
}

.mobile-nav-drawer.theme-inbetween-drawer #close-drawer-btn:hover span:first-child {
  background-color: #ec460b
}

.mobile-nav-drawer.theme-inbetween-drawer .nav-drawer-link {
  color: #131313;
  font-family: 'Inter';
  font-weight: 600;
  letter-spacing: .04em;
  transition: all .25s cubic-bezier(.16, 1, .3, 1)
}

.mobile-nav-drawer.theme-inbetween-drawer .nav-drawer-link:hover {
  color: #ec460b;
  transform: translate(8px)
}

.mobile-nav-drawer.theme-inbetween-drawer .btn-drawer-inbetween {
  border-color: #131313;
  color: #131313;
  font-family: 'Inter';
  font-weight: 700;
  letter-spacing: .05em
}

.mobile-nav-drawer.theme-inbetween-drawer .btn-drawer-inbetween:hover {
  background-color: #ec460b;
  border-color: #ec460b;
  color: #fff;
  box-shadow: 0 6px 20px #ec460b59;
  transform: translateY(-2px)
}

.mobile-nav-drawer.theme-inbetween-drawer .inbetween-drawer-footer {
  border-top: 1px solid rgba(19, 19, 19, .12)
}

.mobile-nav-drawer.theme-inbetween-drawer .inbetween-drawer-footer .contact-label {
  color: #8c8484;
  font-family: 'Inter'
}

.mobile-nav-drawer.theme-inbetween-drawer .inbetween-drawer-footer .contact-item {
  color: #3e3939
}

.mobile-nav-drawer.theme-inbetween-drawer .inbetween-drawer-footer .contact-item i {
  color: #ec460b
}

.mobile-nav-drawer.theme-inbetween-drawer .inbetween-drawer-footer .contact-item a {
  color: inherit;
  transition: color .2s ease
}

.mobile-nav-drawer.theme-inbetween-drawer .inbetween-drawer-footer .contact-item a:hover {
  color: #ec460b
}

#inbetween-nav-dots {
  color: #111;
  transition: color .35s ease, opacity .3s ease
}

#inbetween-nav-dots.dots-theme-dark,
#inbetween-nav-dots.dots-theme-dark .inbetween-dots-counter {
  color: #fff
}

#inbetween-nav-dots.dots-theme-dark .inbetween-dots-counter .current-num {
  color: #fdba74
}

#inbetween-nav-dots.dots-theme-dark .inbetween-dot.active {
  color: #fdba74
}

#inbetween-nav-dots.dots-theme-dark .inbetween-dot.active .dot-ring {
  border-color: #fdba74
}

#inbetween-nav-dots.dots-theme-dark .inbetween-dot.active .dot-point {
  background-color: #fdba74
}

#inbetween-nav-dots.dots-theme-dark button:hover {
  color: #fdba74
}

#inbetween-nav-dots .inbetween-dots-counter {
  font-variant-numeric: tabular-nums;
  transition: color .35s ease
}

#inbetween-nav-dots .inbetween-dot {
  color: inherit;
  cursor: pointer
}

#inbetween-nav-dots .inbetween-dot .dot-ring {
  border-color: currentColor
}

#inbetween-nav-dots .inbetween-dot .dot-point {
  background-color: currentColor
}

#inbetween-nav-dots .inbetween-dot.active {
  color: #ea580c
}

#inbetween-nav-dots .inbetween-dot.active .dot-ring {
  opacity: 1;
  transform: scale(1.65);
  border-color: #ea580c
}

#inbetween-nav-dots .inbetween-dot.active .dot-point {
  background-color: #ea580c;
  transform: scale(1.25)
}

@media(max-width:639px) {
  #inbetween-nav-dots {
    right: 12px;
    gap: 8px
  }

  #inbetween-nav-dots .inbetween-dots-counter,
  #inbetween-nav-dots .inbetween-nav-prev,
  #inbetween-nav-dots .inbetween-nav-next {
    display: none
  }
}

#inbetween-app {
  font-family: 'Inter';
  color: #111
}

#inbetween-app .inbetween-card {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  cursor: pointer;
  box-sizing: border-box;
  will-change: flex-grow;
  transition: flex .55s cubic-bezier(.25, 1, .5, 1), transform .3s ease, box-shadow .3s ease
}

@media(max-width:1023px) {
  #inbetween-app .inbetween-card {
    border-radius: 20px;
    transition: min-height .45s ease
  }
}

#inbetween-app .inbetween-card .inbetween-card-bg-sand,
#inbetween-app .inbetween-card .inbetween-card-bg-active {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  pointer-events: none;
  transition: opacity .55s cubic-bezier(.25, 1, .5, 1), transform .6s cubic-bezier(.25, 1, .5, 1)
}

#inbetween-app .inbetween-card .inbetween-card-active-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: clamp(24px, 3.5vh, 40px) clamp(28px, 2.8vw, 44px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .4s cubic-bezier(.25, 1, .5, 1) .08s, visibility .4s ease .08s
}

@media(max-width:1023px) {
  #inbetween-app .inbetween-card .inbetween-card-active-content {
    padding: 24px
  }
}

#inbetween-app .inbetween-card .inbetween-card-collapsed-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .35s cubic-bezier(.25, 1, .5, 1), visibility .35s ease
}

#inbetween-app .inbetween-card .inbetween-card-collapsed-content .inbetween-vertical-title {
  display: inline-block;
  white-space: nowrap;
  transform: rotate(-90deg);
  letter-spacing: .2em;
  font-family: 'Inter';
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

#inbetween-app .inbetween-card.inbetween-card-active {
  flex: 3.5;
  cursor: default
}

@media(max-width:1023px) {
  #inbetween-app .inbetween-card.inbetween-card-active {
    flex: none;
    min-height: 380px
  }
}

#inbetween-app .inbetween-card.inbetween-card-active .inbetween-card-bg-sand {
  opacity: 0
}

#inbetween-app .inbetween-card.inbetween-card-active .inbetween-card-bg-active {
  opacity: 1;
  transform: scale(1)
}

#inbetween-app .inbetween-card.inbetween-card-active .inbetween-card-active-content {
  opacity: 1;
  visibility: visible;
  pointer-events: auto
}

#inbetween-app .inbetween-card.inbetween-card-active .inbetween-card-collapsed-content {
  opacity: 0;
  visibility: hidden;
  pointer-events: none
}

#inbetween-app .inbetween-card.inbetween-card-collapsed {
  flex: 1;
  cursor: pointer
}

@media(max-width:1023px) {
  #inbetween-app .inbetween-card.inbetween-card-collapsed {
    flex: none;
    min-height: 110px
  }
}

#inbetween-app .inbetween-card.inbetween-card-collapsed .inbetween-card-bg-sand {
  opacity: 1
}

#inbetween-app .inbetween-card.inbetween-card-collapsed .inbetween-card-bg-active {
  opacity: 0;
  transform: scale(1.04)
}

#inbetween-app .inbetween-card.inbetween-card-collapsed .inbetween-card-active-content {
  opacity: 0;
  visibility: hidden;
  pointer-events: none
}

#inbetween-app .inbetween-card.inbetween-card-collapsed .inbetween-card-collapsed-content {
  opacity: 1;
  visibility: visible;
  pointer-events: auto
}

#inbetween-app .inbetween-card.inbetween-card-collapsed:hover .inbetween-card-bg-sand {
  transform: scale(1.03)
}

#inbetween-app .inbetween-btn-pill {
  transition: all .3s cubic-bezier(.16, 1, .3, 1);
  padding: 8px 6px 8px 16px;
  width: 50%
}

#inbetween-app .inbetween-btn-pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px #11111140
}

#inbetween-app .inbetween-btn-pill:active {
  transform: translateY(0)
}

#inbetween-app #inbetween-what-we-do .inbetween-container-1440 {
  padding-top: 72px;
  justify-content: flex-start
}

#inbetween-app #inbetween-what-we-do .inbetween-accordion-container {
  height: clamp(340px, 57.8vh, 520px);
  margin-top: clamp(20px, 4.4vh, 40px);
  margin-bottom: auto
}

@media(min-width:1024px)and (max-height:820px) {
  #inbetween-app #inbetween-what-we-do .inbetween-container-1440 {
    padding-top: 54px
  }

  #inbetween-app #inbetween-what-we-do .inbetween-accordion-container {
    height: clamp(280px, 52vh, 440px);
    margin-top: 60px
  }
}

@media(min-width:1024px)and (max-height:720px) {
  #inbetween-app #inbetween-what-we-do .inbetween-container-1440 {
    padding-top: 44px
  }

  #inbetween-app #inbetween-what-we-do .inbetween-accordion-container {
    height: clamp(240px, 48vh, 370px);
    margin-top: 16px
  }
}

#inbetween-app #inbetween-where-we-focus .inbetween-container-1440 {
  padding: 40px 72px
}

#inbetween-app #inbetween-where-we-focus .inbetween-sector-card {
  height: clamp(155px, 40vh, 300px);
  max-height: 264px;
  padding: clamp(14px, 1.8vh, 24px) clamp(16px, 1.8vw, 28px);
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, .08);
  background-color: #f4f5f7
}

@media(min-width:1024px) {
  #inbetween-app #inbetween-where-we-focus h2 {
    font-size: clamp(30px, 8.4vh, 49px);
    line-height: 120%;
    letter-spacing: 0;
    font-weight: 600
  }
}

#inbetween-app #inbetween-where-we-focus .inbetween-tag-pill {
  font-size: 11.5px;
  line-height: 1.25;
  padding: .25rem .65rem;
  border: .5px solid #D1D5DB;
  background-color: #fff;
  color: #374151
}

@media(min-width:1024px)and (max-height:820px) {
  #inbetween-app #inbetween-where-we-focus .inbetween-sector-card {
    height: clamp(155px, 40vh, 500px);
    padding: clamp(10px, 1.4vh, 18px) clamp(14px, 1.4vw, 22px)
  }

  #inbetween-app #inbetween-where-we-focus .inbetween-tag-pill {
    padding: 2px 10px;
    font-size: 12px
  }
}

@media(min-width:1024px)and (max-height:720px) {
  #inbetween-app #inbetween-where-we-focus .inbetween-sector-card {
    height: clamp(140px, 24.5vh, 182px);
    border-radius: 12px;
    padding: 8px 14px
  }

  #inbetween-app #inbetween-where-we-focus .inbetween-tag-pill {
    padding: .15rem .45rem;
    font-size: 10px
  }
}

#inbetween-app #inbetween-founder {
  position: relative
}

#inbetween-app #inbetween-founder .inbetween-container-1440 {
  height: 100%;
  min-height: 100%;
  padding-bottom: 0;
  position: relative
}

#inbetween-app #inbetween-founder .founder-stage {
  width: 100%;
  box-sizing: border-box;
  transition: all .4s ease
}

@media(min-width:1024px) {
  #inbetween-app #inbetween-founder .founder-stage.state-overview {
    height: 100%;
    min-height: 100%;
    display: flex;
    align-items: stretch
  }

  #inbetween-app #inbetween-founder .founder-stage.state-overview .founder-grid {
    height: 100%;
    min-height: 100%;
    width: 100%;
    align-items: stretch
  }

  #inbetween-app #inbetween-founder .founder-stage.state-overview .founder-col-left {
    position: relative;
    height: 100%;
    min-height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start
  }

  #inbetween-app #inbetween-founder .founder-stage.state-overview .founder-portrait-card {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: 555px;
    height: 100%;
    max-height: 100%;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    border: none;
    overflow: hidden;
    z-index: 10
  }

  #inbetween-app #inbetween-founder .founder-stage.state-overview .founder-portrait-card img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top center;
    object-position: top center;
    display: block
  }

  #inbetween-app #inbetween-founder .founder-stage.state-overview .founder-col-right {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: clamp(40px, 13vh, 130px);
    padding-bottom: clamp(35px, 8vh, 75px);
    padding-left: clamp(16px, 3vw, 48px)
  }
}

@media(max-width:1023px) {
  #inbetween-app #inbetween-founder .founder-stage.state-overview .founder-portrait-card {
    width: 100%;
    max-width: 360px;
    height: clamp(280px, 45vh, 420px);
    margin: 0 auto
  }

  #inbetween-app #inbetween-founder .founder-stage.state-overview .founder-portrait-card img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top center;
    object-position: top center
  }
}

@media(min-width:1024px) {
  #inbetween-app #inbetween-founder .founder-stage.state-expanded {
    height: 100%;
    min-height: 100%
  }

  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-grid {
    height: 100%;
    align-items: flex-start
  }

  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-col-left {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding-left: clamp(8px, 2.5vw, 64px)
  }

  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-header-block {
    margin-bottom: 0
  }

  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-portrait-card {
    position: relative;
    width: 100%;
    max-width: 382px;
    height: clamp(480px, 100vh - 210px, 621px);
    aspect-ratio: 382/621;
    border-radius: 24px;
    box-shadow: 0 16px 36px #00000014;
    overflow: hidden;
    margin-top: 16px;
    flex-shrink: 0
  }

  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-portrait-card img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top center;
    object-position: top center;
    display: block
  }

  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-col-right {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-left: 1.5rem
  }

  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-top-line,
  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-bottom-line {
    display: block
  }

  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-scroll-detail {
    display: block;
    flex: 1 1 auto;
    max-height: clamp(340px, 100vh - 280px, 576px);
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    outline: none
  }

  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-scroll-detail:focus {
    outline: none
  }
}

@media(max-width:1023px) {
  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-portrait-card {
    width: 100%;
    max-width: 382px;
    aspect-ratio: 382/540;
    border-radius: 20px;
    overflow: hidden;
    margin: 16px auto 20px
  }

  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-portrait-card img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top center;
    object-position: top center
  }

  #inbetween-app #inbetween-founder .founder-stage.state-expanded .founder-scroll-detail {
    display: block;
    max-height: 480px;
    overflow-y: auto
  }
}

#inbetween-app #inbetween-founder .founder-stage-img {
  width: 100%;
  max-width: 600px;
  aspect-ratio: 600/346;
  border-radius: 12px;
  overflow: hidden
}

#inbetween-app #inbetween-founder .founder-stage-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  display: block
}

#inbetween-app #inbetween-founder .founder-media-img {
  width: 100%;
  max-width: 600px;
  aspect-ratio: 600/320;
  border-radius: 12px;
  overflow: hidden
}

#inbetween-app #inbetween-founder .founder-media-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  display: block
}

#inbetween-app #inbetween-founder .founder-name-trigger {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  display: inline-flex;
  align-items: center;
  gap: 12px
}

#inbetween-app #inbetween-founder .founder-name-trigger:focus-visible {
  outline: 2px solid #EC460B;
  outline-offset: 4px;
  border-radius: 6px
}

#inbetween-app #inbetween-founder .founder-name-trigger .founder-name {
  transition: color .25s ease, transform .25s ease
}

#inbetween-app #inbetween-founder .inbetween-btn-plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: transform .3s cubic-bezier(.16, 1, .3, 1), background-color .2s ease, border-color .2s ease
}

#inbetween-app #inbetween-founder .inbetween-btn-plus span {
  display: inline-block;
  line-height: 1;
  transition: transform .4s cubic-bezier(.34, 1.56, .64, 1)
}

#inbetween-app #inbetween-founder .inbetween-btn-plus:hover {
  transform: scale(1.15)
}

#inbetween-app #inbetween-founder .custom-founder-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: rgba(236, 70, 11, .4) transparent
}

#inbetween-app #inbetween-founder .custom-founder-scrollbar::-webkit-scrollbar {
  width: 5px
}

#inbetween-app #inbetween-founder .custom-founder-scrollbar::-webkit-scrollbar-track {
  background: #00000008;
  border-radius: 4px
}

#inbetween-app #inbetween-founder .custom-founder-scrollbar::-webkit-scrollbar-thumb {
  background: #ec460b59;
  border-radius: 4px;
  -webkit-transition: background-color .2s ease;
  transition: background-color .2s ease
}

#inbetween-app #inbetween-founder .custom-founder-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #ec460bbf
}

@media(min-width:1024px)and (max-height:820px) {
  #inbetween-app #inbetween-founder .inbetween-container-1440 {
    padding-top: 48px
  }

  #inbetween-app #inbetween-founder .founder-stage.state-overview .founder-col-right {
    padding-top: clamp(28px, 10vh, 85px);
    padding-bottom: clamp(24px, 6vh, 55px)
  }
}

@media(min-width:1024px)and (max-height:720px) {
  #inbetween-app #inbetween-founder .inbetween-container-1440 {
    padding-top: 40px
  }

  #inbetween-app #inbetween-founder .founder-stage.state-overview .founder-col-right {
    padding-top: clamp(20px, 8vh, 60px);
    padding-bottom: clamp(16px, 4vh, 35px)
  }
}

@keyframes founderFadeIn {
  0% {
    opacity: 0;
    transform: translateY(10px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

#inbetween-our-clients {
  background-color: #131313;
  color: #fff;
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  overflow: hidden
}

#inbetween-our-clients .our-clients-stage {
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
  z-index: 10
}

#inbetween-our-clients .our-clients-col-title {
  background-color: #131313;
  transition: padding .3s ease
}

#inbetween-our-clients .our-clients-col-title .our-clients-heading {
  font-family: 'Inter';
  letter-spacing: 0
}

#inbetween-our-clients .our-clients-col-title .our-clients-heading .our-clients-word-our {
  font-family: 'Inter';
  font-size: 61px;
  font-weight: 600;
  color: #f6f4f4;
  line-height: 1;
  letter-spacing: 0
}

#inbetween-our-clients .our-clients-col-title .our-clients-heading .our-clients-word-clients {
  font-family: 'Inter';
  font-size: 61px;
  font-weight: 600;
  color: #ec460b;
  line-height: 1;
  letter-spacing: 0;
  padding-top: 19px
}

#inbetween-our-clients .our-clients-grid {
  flex: 1 1 0;
  height: 100%;
  display: flex
}

#inbetween-our-clients .our-clients-grid:hover .our-clients-card:not(:hover) .clients-card-bg {
  filter: brightness(.85)
}

#inbetween-our-clients .our-clients-grid:hover .our-clients-card:not(:hover) .clients-card-overlay {
  background-color: #13131340
}

#inbetween-our-clients .our-clients-card {
  flex: 1 1 0;
  height: 100%;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-left: 1px solid rgba(255, 255, 255, .08)
}

@media(max-width:1023px) {
  #inbetween-our-clients .our-clients-card {
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, .08);
    min-height: 260px
  }
}

#inbetween-our-clients .our-clients-card .clients-card-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  transition: transform .8s cubic-bezier(.2, .8, .2, 1), filter .5s ease;
  will-change: transform
}

#inbetween-our-clients .our-clients-card:hover .clients-card-bg {
  transform: scale(1.045)
}

#inbetween-our-clients .our-clients-card .clients-card-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: radial-gradient(ellipse 95% 75% at 50% 50%, #1313131a, #13131380 65%, #131313e6), linear-gradient(180deg, #131313cc, #13131326 25%, #13131333 60%, #131313eb);
  pointer-events: none;
  transition: background-color .4s ease
}

#inbetween-our-clients .our-clients-card .clients-card-top {
  position: relative;
  z-index: 10;
  padding-top: 104px;
  padding-left: 28px;
  padding-right: 28px
}

#inbetween-our-clients .our-clients-card .clients-card-top .clients-card-title {
  font-family: 'Inter';
  font-size: 31px;
  font-weight: 500;
  color: #ec460b;
  line-height: 1.15;
  letter-spacing: 0;
  transition: transform .3s ease
}

#inbetween-our-clients .our-clients-card:hover .clients-card-top .clients-card-title {
  transform: translateY(-2px)
}

#inbetween-our-clients .our-clients-card .clients-card-bottom {
  position: relative;
  z-index: 10;
  padding-bottom: 94px;
  padding-left: 28px;
  padding-right: 28px
}

#inbetween-our-clients .our-clients-card .clients-card-bottom .clients-card-desc {
  font-family: 'Inter';
  font-size: 20px;
  font-weight: 400;
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0;
  max-width: 280px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .4)
}

@media(min-width:1024px)and (max-height:820px) {

  #inbetween-our-clients .our-clients-col-title .our-clients-heading .our-clients-word-our,
  #inbetween-our-clients .our-clients-col-title .our-clients-heading .our-clients-word-clients {
    font-size: clamp(38px, 6vh, 52px)
  }

  #inbetween-our-clients .our-clients-col-title .our-clients-heading .our-clients-word-clients {
    padding-top: clamp(10px, 1.8vh, 16px)
  }

  #inbetween-our-clients .our-clients-card .clients-card-top {
    padding-top: clamp(64px, 10vh, 88px);
    padding-left: clamp(20px, 2vw, 28px);
    padding-right: clamp(20px, 2vw, 28px)
  }

  #inbetween-our-clients .our-clients-card .clients-card-top .clients-card-title {
    font-size: clamp(22px, 3.4vh, 28px)
  }

  #inbetween-our-clients .our-clients-card .clients-card-bottom {
    padding-bottom: clamp(52px, 8.5vh, 76px);
    padding-left: clamp(20px, 2vw, 28px);
    padding-right: clamp(20px, 2vw, 28px)
  }

  #inbetween-our-clients .our-clients-card .clients-card-bottom .clients-card-desc {
    font-size: clamp(15px, 2.2vh, 18px);
    line-height: 1.35
  }
}

@media(min-width:1024px)and (max-height:720px) {

  #inbetween-our-clients .our-clients-col-title .our-clients-heading .our-clients-word-our,
  #inbetween-our-clients .our-clients-col-title .our-clients-heading .our-clients-word-clients {
    font-size: clamp(32px, 5.2vh, 42px)
  }

  #inbetween-our-clients .our-clients-col-title .our-clients-heading .our-clients-word-clients {
    padding-top: clamp(8px, 1.4vh, 12px)
  }

  #inbetween-our-clients .our-clients-card .clients-card-top {
    padding-top: clamp(52px, 8vh, 68px)
  }

  #inbetween-our-clients .our-clients-card .clients-card-top .clients-card-title {
    font-size: clamp(20px, 3vh, 24px)
  }

  #inbetween-our-clients .our-clients-card .clients-card-bottom {
    padding-bottom: clamp(40px, 6.5vh, 56px)
  }

  #inbetween-our-clients .our-clients-card .clients-card-bottom .clients-card-desc {
    font-size: clamp(14.5px, 2vh, 16px);
    line-height: 1.3
  }
}

#inbetween-business.inbetween-section-business {
  background-color: #f6f4f4;
  color: #131313;
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  overflow: hidden
}

#inbetween-business.inbetween-section-business .business-intro-text {
  will-change: opacity, transform
}

#inbetween-business.inbetween-section-business .business-pull-stage {
  will-change: transform
}

#inbetween-business.inbetween-section-business .business-stage-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform-origin: center top;
  transform: scale(var(--biz-scale, 1));
  will-change: transform
}

#inbetween-business.inbetween-section-business .business-btn-talk {
  width: 295px;
  min-width: 295px;
  height: 48px;
  border-radius: 24px;
  background-color: #131313;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px 0 28px;
  box-sizing: border-box;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s ease, transform .2s ease
}

#inbetween-business.inbetween-section-business .business-btn-talk:hover {
  background-color: #2b2b2b
}

#inbetween-business.inbetween-section-business .business-ellipse-stage {
  position: relative;
  width: 100%;
  height: 500px
}

#inbetween-business.inbetween-section-business .business-phone-mask-overlay {
  display: none
}

#inbetween-business.inbetween-section-business .business-ellipse-card {
  position: absolute;
  left: 50%;
  top: 2px;
  width: 400px;
  height: 400px;
  border-radius: 24px;
  overflow: hidden;
  box-sizing: border-box;
  transform-origin: center center;
  box-shadow: 0 12px 32px #0000001f;
  will-change: transform, opacity
}

#inbetween-business.inbetween-section-business .business-ellipse-card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  display: block;
  pointer-events: none
}

#inbetween-business.inbetween-section-business .business-ellipse-card .business-card-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  transition: opacity .25s ease
}

#inbetween-business.inbetween-section-business .business-slider-container {
  position: absolute;
  left: 50%;
  top: 440px;
  transform: translate(-50%);
  z-index: 30;
  will-change: opacity, transform
}

#inbetween-business.inbetween-section-business .business-slider-track-wrap {
  position: relative;
  width: 217px;
  height: 24px;
  display: flex;
  align-items: center;
  cursor: pointer
}

#inbetween-business.inbetween-section-business .business-slider-line {
  width: 217px;
  height: 1.5px;
  background-color: #3e3939;
  border-radius: 9999px
}

#inbetween-business.inbetween-section-business .business-slider-thumb {
  position: absolute;
  top: var(--thumb-top, 50%);
  transform: translateY(var(--thumb-y, -50%));
  left: var(--thumb-x, 0px);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #ec460b;
  cursor: grab;
  touch-action: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: transform .15s ease
}

#inbetween-business.inbetween-section-business .business-slider-thumb:hover {
  transform: translateY(var(--thumb-y, -50%)) scale(1.25)
}

#inbetween-business.inbetween-section-business .business-slider-thumb:active,
#inbetween-business.inbetween-section-business .business-slider-thumb.cursor-grabbing {
  cursor: grabbing;
  transform: translateY(var(--thumb-y, -50%)) scale(1.25)
}

#inbetween-hero,
#inbetween-intro {
  scroll-snap-align: none;
  position: relative;
  background-color: #131313;
  color: #fff;
  overflow: hidden
}

#inbetween-hero #hero-bg-layer,
#inbetween-hero #hero-content-stage,
#inbetween-hero #act-wecanhelp-container,
#inbetween-hero #hero-white-transition,
#inbetween-intro #hero-bg-layer,
#inbetween-intro #hero-content-stage,
#inbetween-intro #act-wecanhelp-container,
#inbetween-intro #hero-white-transition {
  pointer-events: none
}

#inbetween-hero #hero-preloader,
#inbetween-intro #hero-preloader {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 60;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #131313;
  pointer-events: auto;
  will-change: opacity, visibility;
  transition: opacity .4s ease, visibility .4s ease
}

#inbetween-hero #hero-preloader .hero-loader-bar,
#inbetween-intro #hero-preloader .hero-loader-bar {
  animation: heroPreloaderSlide 1.25s cubic-bezier(.4, 0, .2, 1) infinite
}

@keyframes heroPreloaderSlide {
  0% {
    transform: translate(-100%)
  }

  to {
    transform: translate(100%)
  }
}

#inbetween-hero:not(.hero-ready) #act-question-container,
#inbetween-intro:not(.hero-ready) #act-question-container {
  opacity: 0;
  pointer-events: none
}

#inbetween-hero .intro-title-gradient,
#inbetween-intro .intro-title-gradient {
  color: #fff;
  background-image: linear-gradient(180deg, #FFFFFF var(--grad-top, 100%), #EC310B var(--grad-bottom, 100%), #F1791C 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
  filter: none;
  text-shadow: none;
  box-shadow: none;
  will-change: --grad-top, --grad-bottom, letter-spacing
}

#inbetween-hero #hero-bg-layer,
#inbetween-intro #hero-bg-layer {
  will-change: opacity
}

#inbetween-hero #hero-content-stage,
#inbetween-intro #hero-content-stage {
  will-change: opacity, transform
}

#inbetween-hero #hero-content-stage.stage-active,
#inbetween-intro #hero-content-stage.stage-active,
#inbetween-hero #hero-content-stage.stage-active *,
#inbetween-intro #hero-content-stage.stage-active * {
  pointer-events: auto
}

#inbetween-hero .floating-word,
#inbetween-intro .floating-word {
  position: absolute;
  will-change: transform, opacity;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: default;
  transition: color .35s ease, text-shadow .35s ease
}

#inbetween-hero .floating-word .floating-word-inner,
#inbetween-intro .floating-word .floating-word-inner {
  display: inline-block;
  will-change: transform;
  pointer-events: auto
}

#inbetween-hero .floating-word:hover,
#inbetween-intro .floating-word:hover {
  color: #ec460b
}

#inbetween-hero .floating-word.word-sucking,
#inbetween-intro .floating-word.word-sucking {
  color: #ec460b;
  text-shadow: 0 0 14px rgba(236, 70, 11, .85)
}

#inbetween-hero #act-wecanhelp-container h2#wecanhelp-text,
#inbetween-intro #act-wecanhelp-container h2#wecanhelp-text {
  will-change: transform, letter-spacing
}

#inbetween-hero #hero-white-transition,
#inbetween-hero #white-transition-screen,
#inbetween-intro #hero-white-transition,
#inbetween-intro #white-transition-screen {
  will-change: opacity
}

*,
:before,
:after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / .5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style:
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / .5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style:
}

*,
:before,
:after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb
}

:before,
:after {
  --tw-content: ""
}

html,
:host {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  font-family: 'Inter';
  font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-tap-highlight-color: transparent
}

body {
  margin: 0;
  line-height: inherit
}

hr {
  height: 0;
  color: inherit;
  border-top-width: 1px
}

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit
}

a {
  color: inherit;
  text-decoration: inherit
}

b,
strong {
  font-weight: bolder
}

code,
kbd,
samp,
pre {
  font-family: 'Inter';
  font-feature-settings: normal;
  font-variation-settings: normal;
  font-size: 1em
}

small {
  font-size: 80%
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0
}

button,
select {
  text-transform: none
}

button,
input:where([type=button]),
input:where([type=reset]),
input:where([type=submit]) {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none
}

:-moz-focusring {
  outline: auto
}

:-moz-ui-invalid {
  box-shadow: none
}

progress {
  vertical-align: baseline
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

summary {
  display: list-item
}

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0
}

fieldset {
  margin: 0;
  padding: 0
}

legend {
  padding: 0
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0
}

dialog {
  padding: 0
}

textarea {
  resize: vertical
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1;
  color: #9ca3af
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #9ca3af
}

button,
[role=button] {
  cursor: pointer
}

:disabled {
  cursor: default
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  vertical-align: middle
}

img,
video {
  max-width: 100%;
  height: auto
}

[hidden]:where(:not([hidden=until-found])) {
  display: none
}

.\!container {
  width: 100%
}

.container {
  width: 100%
}

@media(min-width:480px) {
  .\!container {
    max-width: 480px
  }

  .container {
    max-width: 480px
  }
}

@media(min-width:640px) {
  .\!container {
    max-width: 640px
  }

  .container {
    max-width: 640px
  }
}

@media(min-width:768px) {
  .\!container {
    max-width: 768px
  }

  .container {
    max-width: 768px
  }
}

@media(min-width:1024px) {
  .\!container {
    max-width: 1024px
  }

  .container {
    max-width: 1024px
  }
}

@media(min-width:1280px) {
  .\!container {
    max-width: 1280px
  }

  .container {
    max-width: 1280px
  }
}

@media(min-width:1536px) {
  .\!container {
    max-width: 1536px
  }

  .container {
    max-width: 1536px
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0
}

.pointer-events-none {
  pointer-events: none
}

.pointer-events-auto {
  pointer-events: auto
}

.invisible {
  visibility: hidden
}

.fixed {
  position: fixed
}

.absolute {
  position: absolute
}

.relative {
  position: relative
}

.sticky {
  position: sticky
}

.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0
}

.-left-\[27px\] {
  left: -27px
}

.-left-\[30px\] {
  left: -30px
}

.bottom-0 {
  bottom: 0
}

.bottom-3 {
  bottom: .75rem
}

.bottom-4 {
  bottom: 1rem
}

.bottom-6 {
  bottom: 1.5rem
}

.bottom-\[105px\] {
  bottom: 105px
}

.bottom-\[46px\] {
  bottom: 46px
}

.left-0 {
  left: 0
}

.left-1\.5 {
  left: .375rem
}

.left-1\/2 {
  left: 50%
}

.left-3 {
  left: .75rem
}

.left-4 {
  left: 1rem
}

.left-\[8\.2px\] {
  left: 8.2px
}

.right-0 {
  right: 0
}

.right-1\.5 {
  right: .375rem
}

.right-2 {
  right: .5rem
}

.right-2\.5 {
  right: .625rem
}

.right-3 {
  right: .75rem
}

.right-3\.5 {
  right: .875rem
}

.right-6 {
  right: 1.5rem
}

.top-0 {
  top: 0
}

.top-1 {
  top: .25rem
}

.top-1\.5 {
  top: .375rem
}

.top-1\/2 {
  top: 50%
}

.top-2 {
  top: .5rem
}

.top-2\.5 {
  top: .625rem
}

.top-4 {
  top: 1rem
}

.top-\[2px\] {
  top: 2px
}

.top-\[440px\] {
  top: 440px
}

.top-\[46px\] {
  top: 46px
}

.top-\[60px\] {
  top: 60px
}

.z-0 {
  z-index: 0
}

.z-10 {
  z-index: 10
}

.z-20 {
  z-index: 20
}

.z-30 {
  z-index: 30
}

.z-40 {
  z-index: 40
}

.z-50 {
  z-index: 50
}

.z-\[60\] {
  z-index: 60
}

.col-span-2 {
  grid-column: span 2 / span 2
}

.mx-1 {
  margin-left: .25rem;
  margin-right: .25rem
}

.mx-3 {
  margin-left: .75rem;
  margin-right: .75rem
}

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem
}

.mx-auto {
  margin-left: auto;
  margin-right: auto
}

.my-1 {
  margin-top: .25rem;
  margin-bottom: .25rem
}

.my-2 {
  margin-top: .5rem;
  margin-bottom: .5rem
}

.my-3 {
  margin-top: .75rem;
  margin-bottom: .75rem
}

.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem
}

.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem
}

.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem
}

.my-auto {
  margin-top: auto;
  margin-bottom: auto
}

.-mb-\[1px\] {
  margin-bottom: -1px
}

.-ml-1\.5 {
  margin-left: -.375rem
}

.-mt-14 {
  margin-top: -3.5rem
}

.-mt-\[1px\] {
  margin-top: -1px
}

.mb-0\.5 {
  margin-bottom: .125rem
}

.mb-1 {
  margin-bottom: .25rem
}

.mb-1\.5 {
  margin-bottom: .375rem
}

.mb-12 {
  margin-bottom: 3rem
}

.mb-2 {
  margin-bottom: .5rem
}

.mb-3 {
  margin-bottom: .75rem
}

.mb-4 {
  margin-bottom: 1rem
}

.mb-5 {
  margin-bottom: 1.25rem
}

.mb-6 {
  margin-bottom: 1.5rem
}

.mb-8 {
  margin-bottom: 2rem
}

.mb-\[33px\] {
  margin-bottom: 33px
}

.mb-auto {
  margin-bottom: auto
}

.ml-0 {
  margin-left: 0
}

.ml-1 {
  margin-left: .25rem
}

.ml-1\.5 {
  margin-left: .375rem
}

.ml-2 {
  margin-left: .5rem
}

.ml-4 {
  margin-left: 1rem
}

.ml-\[8\.2px\] {
  margin-left: 8.2px
}

.ml-auto {
  margin-left: auto
}

.mr-0 {
  margin-right: 0
}

.mr-1 {
  margin-right: .25rem
}

.mr-2 {
  margin-right: .5rem
}

.mt-0\.5 {
  margin-top: .125rem
}

.mt-1 {
  margin-top: .25rem
}

.mt-1\.5 {
  margin-top: .375rem
}

.mt-10 {
  margin-top: 2.5rem
}

.mt-2\.5 {
  margin-top: .625rem
}

.mt-3 {
  margin-top: .75rem
}

.mt-4 {
  margin-top: 1rem
}

.mt-5 {
  margin-top: 1.25rem
}

.mt-6 {
  margin-top: 1.5rem
}

.mt-8 {
  margin-top: 2rem
}

.mt-\[40px\] {
  margin-top: 40px
}

.mt-auto {
  margin-top: auto
}

.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1
}

.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2
}

.block {
  display: block
}

.inline-block {
  display: inline-block
}

.inline {
  display: inline
}

.flex {
  display: flex
}

.inline-flex {
  display: inline-flex
}

.table {
  display: table
}

.\!grid {
  display: grid
}

.grid {
  display: grid
}

.contents {
  display: contents
}

.hidden {
  display: none
}

.aspect-\[1110\/555\] {
  aspect-ratio: 1110/555
}

.aspect-\[1296\/574\] {
  aspect-ratio: 1296/574
}

.aspect-\[148\/177\] {
  aspect-ratio: 148/177
}

.aspect-\[16\/10\] {
  aspect-ratio: 16/10
}

.aspect-\[236\/240\] {
  aspect-ratio: 236/240
}

.aspect-\[297\/165\] {
  aspect-ratio: 297/165
}

.aspect-\[444\/334\] {
  aspect-ratio: 444/334
}

.aspect-\[480\/420\] {
  aspect-ratio: 480/420
}

.aspect-\[600\/320\] {
  aspect-ratio: 600/320
}

.aspect-\[600\/346\] {
  aspect-ratio: 600/346
}

.aspect-\[636\/380\] {
  aspect-ratio: 636/380
}

.aspect-\[704\/408\] {
  aspect-ratio: 704/408
}

.aspect-\[704\/420\] {
  aspect-ratio: 704/420
}

.aspect-\[888\/666\] {
  aspect-ratio: 888/666
}

.aspect-\[925\/444\] {
  aspect-ratio: 925/444
}

.h-1\.5 {
  height: .375rem
}

.h-10 {
  height: 2.5rem
}

.h-16 {
  height: 4rem
}

.h-2 {
  height: .5rem
}

.h-2\.5 {
  height: .625rem
}

.h-20 {
  height: 5rem
}

.h-3 {
  height: .75rem
}

.h-3\.5 {
  height: .875rem
}

.h-4 {
  height: 1rem
}

.h-5 {
  height: 1.25rem
}

.h-6 {
  height: 1.5rem
}

.h-7 {
  height: 1.75rem
}

.h-8 {
  height: 2rem
}

.h-9 {
  height: 2.25rem
}

.h-\[0\.5px\] {
  height: .5px
}

.h-\[1\.5px\] {
  height: 1.5px
}

.h-\[12px\] {
  height: 12px
}

.h-\[150px\] {
  height: 150px
}

.h-\[160px\] {
  height: 160px
}

.h-\[177px\] {
  height: 177px
}

.h-\[18px\] {
  height: 18px
}

.h-\[1px\] {
  height: 1px
}

.h-\[2\.5px\] {
  height: 2.5px
}

.h-\[220px\] {
  height: 220px
}

.h-\[24px\] {
  height: 24px
}

.h-\[2px\] {
  height: 2px
}

.h-\[32px\] {
  height: 32px
}

.h-\[33px\] {
  height: 33px
}

.h-\[38px\] {
  height: 38px
}

.h-\[3px\] {
  height: 3px
}

.h-\[400px\] {
  height: 400px
}

.h-\[40px\] {
  height: 40px
}

.h-\[42px\] {
  height: 42px
}

.h-\[43px\] {
  height: 43px
}

.h-\[44px\] {
  height: 44px
}

.h-\[48px\] {
  height: 48px
}

.h-\[500px\] {
  height: 500px
}

.h-\[520px\] {
  height: 520px
}

.h-\[90px\] {
  height: 90px
}

.h-auto {
  height: auto
}

.h-full {
  height: 100%
}

.h-screen {
  height: 100vh
}

.max-h-0 {
  max-height: 0px
}

.max-h-\[300px\] {
  max-height: 300px
}

.max-h-\[380px\] {
  max-height: 380px
}

.max-h-\[440px\] {
  max-height: 440px
}

.max-h-\[70vh\] {
  max-height: 70vh
}

.max-h-\[calc\(100vh-48px\)\] {
  max-height: calc(100vh - 48px)
}

.max-h-\[clamp\(320px\,55vh\,575px\)\] {
  max-height: clamp(320px, 55vh, 575px)
}

.max-h-\[min\(555px\,calc\(100vh-225px\)\)\] {
  max-height: min(555px, calc(100vh - 225px))
}

.max-h-full {
  max-height: 100%
}

.max-h-screen {
  max-height: 100vh
}

.min-h-\[24px\] {
  min-height: 24px
}

.min-h-\[34px\] {
  min-height: 34px
}

.min-h-\[36px\] {
  min-height: 36px
}

.min-h-\[380px\] {
  min-height: 380px
}

.min-h-\[40px\] {
  min-height: 40px
}

.min-h-\[420px\] {
  min-height: 420px
}

.min-h-\[460px\] {
  min-height: 460px
}

.min-h-\[560px\] {
  min-height: 560px
}

.min-h-\[70px\] {
  min-height: 70px
}

.min-h-screen {
  min-height: 100vh
}

.w-1 {
  width: .25rem
}

.w-1\.5 {
  width: .375rem
}

.w-1\/3 {
  width: 33.333333%
}

.w-10 {
  width: 2.5rem
}

.w-16 {
  width: 4rem
}

.w-2 {
  width: .5rem
}

.w-2\.5 {
  width: .625rem
}

.w-20 {
  width: 5rem
}

.w-28 {
  width: 7rem
}

.w-3 {
  width: .75rem
}

.w-3\.5 {
  width: .875rem
}

.w-32 {
  width: 8rem
}

.w-4 {
  width: 1rem
}

.w-5 {
  width: 1.25rem
}

.w-6 {
  width: 1.5rem
}

.w-7 {
  width: 1.75rem
}

.w-8 {
  width: 2rem
}

.w-9 {
  width: 2.25rem
}

.w-\[0\.5px\] {
  width: .5px
}

.w-\[1\.5px\] {
  width: 1.5px
}

.w-\[110px\] {
  width: 110px
}

.w-\[117px\] {
  width: 117px
}

.w-\[12px\] {
  width: 12px
}

.w-\[147px\] {
  width: 147px
}

.w-\[148\.5px\] {
  width: 148.5px
}

.w-\[174px\] {
  width: 174px
}

.w-\[180px\] {
  width: 180px
}

.w-\[18px\] {
  width: 18px
}

.w-\[190px\] {
  width: 190px
}

.w-\[1px\] {
  width: 1px
}

.w-\[210px\] {
  width: 210px
}

.w-\[217px\] {
  width: 217px
}

.w-\[220px\] {
  width: 220px
}

.w-\[240px\] {
  width: 240px
}

.w-\[295px\] {
  width: 295px
}

.w-\[300px\] {
  width: 300px
}

.w-\[30px\] {
  width: 30px
}

.w-\[33px\] {
  width: 33px
}

.w-\[400px\] {
  width: 400px
}

.w-\[43px\] {
  width: 43px
}

.w-\[48px\] {
  width: 48px
}

.w-\[60\%\] {
  width: 60%
}

.w-\[65\%\] {
  width: 65%
}

.w-auto {
  width: auto
}

.w-full {
  width: 100%
}

.min-w-0 {
  min-width: 0px
}

.min-w-\[220px\] {
  min-width: 220px
}

.max-w-2xl {
  max-width: 42rem
}

.max-w-4xl {
  max-width: 56rem
}

.max-w-6xl {
  max-width: 72rem
}

.max-w-\[100px\] {
  max-width: 100px
}

.max-w-\[110px\] {
  max-width: 110px
}

.max-w-\[1110px\] {
  max-width: 1110px
}

.max-w-\[1140px\] {
  max-width: 1140px
}

.max-w-\[120px\] {
  max-width: 120px
}

.max-w-\[1296px\] {
  max-width: 1296px
}

.max-w-\[130px\] {
  max-width: 130px
}

.max-w-\[1331px\] {
  max-width: 1331px
}

.max-w-\[140px\] {
  max-width: 140px
}

.max-w-\[1440px\] {
  max-width: 1440px
}

.max-w-\[280px\] {
  max-width: 280px
}

.max-w-\[285px\] {
  max-width: 285px
}

.max-w-\[380px\] {
  max-width: 380px
}

.max-w-\[420px\] {
  max-width: 420px
}

.max-w-\[440px\] {
  max-width: 440px
}

.max-w-\[460px\] {
  max-width: 460px
}

.max-w-\[500px\] {
  max-width: 500px
}

.max-w-\[520px\] {
  max-width: 520px
}

.max-w-\[540px\] {
  max-width: 540px
}

.max-w-\[560px\] {
  max-width: 560px
}

.max-w-\[600px\] {
  max-width: 600px
}

.max-w-\[620px\] {
  max-width: 620px
}

.max-w-\[648px\] {
  max-width: 648px
}

.max-w-\[650px\] {
  max-width: 650px
}

.max-w-\[65px\] {
  max-width: 65px
}

.max-w-\[700px\] {
  max-width: 700px
}

.max-w-\[70px\] {
  max-width: 70px
}

.max-w-\[75px\] {
  max-width: 75px
}

.max-w-\[800px\] {
  max-width: 800px
}

.max-w-\[85px\] {
  max-width: 85px
}

.max-w-\[888px\] {
  max-width: 888px
}

.max-w-\[925px\] {
  max-width: 925px
}

.max-w-\[958px\] {
  max-width: 958px
}

.max-w-full {
  max-width: 100%
}

.max-w-md {
  max-width: 28rem
}

.max-w-xl {
  max-width: 36rem
}

.flex-1 {
  flex: 1 1 0%
}

.shrink-0 {
  flex-shrink: 0
}

.flex-grow,
.grow {
  flex-grow: 1
}

.origin-bottom-right {
  transform-origin: bottom right
}

.origin-left {
  transform-origin: left
}

.-translate-x-1 {
  --tw-translate-x: -.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-y-2 {
  --tw-translate-y: -.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-1\/4 {
  --tw-translate-y: 25%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-2 {
  --tw-translate-y: .5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-4 {
  --tw-translate-y: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-rotate-45 {
  --tw-rotate: -45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.scale-125 {
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.scale-50 {
  --tw-scale-x: .5;
  --tw-scale-y: .5;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.scale-x-0 {
  --tw-scale-x: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.scale-x-\[-1\] {
  --tw-scale-x: -1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

@keyframes bounce {

  0%,
  to {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(.8, 0, 1, 1)
  }

  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0, 0, .2, 1)
  }
}

.animate-bounce {
  animation: bounce 1s infinite
}

@keyframes ping {

  75%,
  to {
    transform: scale(2);
    opacity: 0
  }
}

.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, .2, 1) infinite
}

@keyframes pulse {
  50% {
    opacity: .5
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite
}

.cursor-default {
  cursor: default
}

.cursor-grab {
  cursor: grab
}

.cursor-grabbing {
  cursor: grabbing
}

.cursor-pointer {
  cursor: pointer
}

.cursor-zoom-in {
  cursor: zoom-in
}

.select-none {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.resize {
  resize: both
}

.list-inside {
  list-style-position: inside
}

.list-decimal {
  list-style-type: decimal
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr))
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr))
}

.flex-col {
  flex-direction: column
}

.flex-col-reverse {
  flex-direction: column-reverse
}

.flex-wrap {
  flex-wrap: wrap
}

.items-start {
  align-items: flex-start
}

.items-end {
  align-items: flex-end
}

.items-center {
  align-items: center
}

.items-baseline {
  align-items: baseline
}

.items-stretch {
  align-items: stretch
}

.justify-start {
  justify-content: flex-start
}

.justify-end {
  justify-content: flex-end
}

.justify-center {
  justify-content: center
}

.justify-between {
  justify-content: space-between
}

.justify-around {
  justify-content: space-around
}

.gap-0\.5 {
  gap: .125rem
}

.gap-1 {
  gap: .25rem
}

.gap-1\.5 {
  gap: .375rem
}

.gap-10 {
  gap: 2.5rem
}

.gap-2 {
  gap: .5rem
}

.gap-2\.5 {
  gap: .625rem
}

.gap-3 {
  gap: .75rem
}

.gap-3\.5 {
  gap: .875rem
}

.gap-4 {
  gap: 1rem
}

.gap-5 {
  gap: 1.25rem
}

.gap-6 {
  gap: 1.5rem
}

.gap-8 {
  gap: 2rem
}

.gap-x-10 {
  -moz-column-gap: 2.5rem;
  column-gap: 2.5rem
}

.gap-x-4 {
  -moz-column-gap: 1rem;
  column-gap: 1rem
}

.gap-x-6 {
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem
}

.gap-y-2 {
  row-gap: .5rem
}

.gap-y-2\.5 {
  row-gap: .625rem
}

.gap-y-3\.5 {
  row-gap: .875rem
}

.gap-y-7 {
  row-gap: 1.75rem
}

.space-x-2>:not([hidden])~:not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(.5rem * var(--tw-space-x-reverse));
  margin-left: calc(.5rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-y-0>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse))
}

.space-y-0\.5>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.125rem * var(--tw-space-y-reverse))
}

.space-y-1>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.25rem * var(--tw-space-y-reverse))
}

.space-y-1\.5>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.375rem * var(--tw-space-y-reverse))
}

.space-y-10>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse))
}

.space-y-12>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse))
}

.space-y-16>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(4rem * var(--tw-space-y-reverse))
}

.space-y-2>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.5rem * var(--tw-space-y-reverse))
}

.space-y-2\.5>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.625rem * var(--tw-space-y-reverse))
}

.space-y-3>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.75rem * var(--tw-space-y-reverse))
}

.space-y-3\.5>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.875rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.875rem * var(--tw-space-y-reverse))
}

.space-y-4>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse))
}

.space-y-5>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse))
}

.space-y-6>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse))
}

.space-y-8>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse))
}

.space-y-\[13px\]>:not([hidden])~:not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(13px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(13px * var(--tw-space-y-reverse))
}

.divide-y>:not([hidden])~:not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse))
}

.divide-neutral-200>:not([hidden])~:not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-divide-opacity, 1))
}

.divide-neutral-200\/80>:not([hidden])~:not([hidden]) {
  border-color: #e5e5e5cc
}

.self-start {
  align-self: flex-start
}

.overflow-hidden {
  overflow: hidden
}

.overflow-visible {
  overflow: visible
}

.overflow-x-auto {
  overflow-x: auto
}

.overflow-y-auto {
  overflow-y: auto
}

.overflow-x-hidden {
  overflow-x: hidden
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.whitespace-nowrap {
  white-space: nowrap
}

.rounded {
  border-radius: .25rem
}

.rounded-2xl {
  border-radius: .75rem
}

.rounded-3xl {
  border-radius: 1.5rem
}

.rounded-\[1\.75px\] {
  border-radius: 1.75px
}

.rounded-\[12px\] {
  border-radius: 12px
}

.rounded-\[14px\] {
  border-radius: 14px
}

.rounded-\[16px\] {
  border-radius: 16px
}

.rounded-\[19px\] {
  border-radius: 19px
}

.rounded-\[24px\] {
  border-radius: 24px
}

.rounded-\[4px\] {
  border-radius: 4px
}

.rounded-\[8px\] {
  border-radius: 8px
}

.rounded-full {
  border-radius: 9999px
}

.rounded-lg {
  border-radius: .5rem
}

.rounded-md {
  border-radius: .375rem
}

.rounded-xl {
  border-radius: .75rem
}

.border {
  border-width: 1px
}

.border-2 {
  border-width: 2px
}

.border-b {
  border-bottom-width: 1px
}

.border-b-2 {
  border-bottom-width: 2px
}

.border-l {
  border-left-width: 1px
}

.border-l-2 {
  border-left-width: 2px
}

.border-t {
  border-top-width: 1px
}

.border-none {
  border-style: none
}

.border-\[\#051650\] {
  --tw-border-opacity: 1;
  border-color: rgb(5 22 80 / var(--tw-border-opacity, 1))
}

.border-\[\#131313\] {
  --tw-border-opacity: 1;
  border-color: rgb(19 19 19 / var(--tw-border-opacity, 1))
}

.border-\[\#323232\]\/60 {
  border-color: #32323299
}

.border-\[\#38bdf8\] {
  --tw-border-opacity: 1;
  border-color: rgb(56 189 248 / var(--tw-border-opacity, 1))
}

.border-\[\#818181\] {
  --tw-border-opacity: 1;
  border-color: rgb(129 129 129 / var(--tw-border-opacity, 1))
}

.border-\[\#818181\]\/40 {
  border-color: #81818166
}

.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1))
}

.border-amber-200\/80 {
  border-color: #fde68acc
}

.border-black {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1))
}

.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1))
}

.border-blue-500\/30 {
  border-color: #3b82f64d
}

.border-brand-navy {
  --tw-border-opacity: 1;
  border-color: rgb(5 22 80 / var(--tw-border-opacity, 1))
}

.border-current {
  border-color: currentColor
}

.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1))
}

.border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1))
}

.border-neutral-100 {
  --tw-border-opacity: 1;
  border-color: rgb(245 245 245 / var(--tw-border-opacity, 1))
}

.border-neutral-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity, 1))
}

.border-neutral-200\/60 {
  border-color: #e5e5e599
}

.border-neutral-200\/70 {
  border-color: #e5e5e5b3
}

.border-neutral-200\/80 {
  border-color: #e5e5e5cc
}

.border-neutral-200\/90 {
  border-color: #e5e5e5e6
}

.border-neutral-300 {
  --tw-border-opacity: 1;
  border-color: rgb(212 212 212 / var(--tw-border-opacity, 1))
}

.border-neutral-300\/80 {
  border-color: #d4d4d4cc
}

.border-neutral-400 {
  --tw-border-opacity: 1;
  border-color: rgb(163 163 163 / var(--tw-border-opacity, 1))
}

.border-neutral-800\/30 {
  border-color: #2626264d
}

.border-neutral-900 {
  --tw-border-opacity: 1;
  border-color: rgb(23 23 23 / var(--tw-border-opacity, 1))
}

.border-orange-500\/30 {
  border-color: #f973164d
}

.border-sky-200 {
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity, 1))
}

.border-transparent {
  border-color: transparent
}

.border-white\/10 {
  border-color: #ffffff1a
}

.border-white\/20 {
  border-color: #fff3
}

.border-white\/40 {
  border-color: #fff6
}

.border-white\/60 {
  border-color: #fff9
}

.border-white\/80 {
  border-color: #fffc
}

.bg-\[\#0284c7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1))
}

.bg-\[\#051650\] {
  --tw-bg-opacity: 1;
  background-color: rgb(5 22 80 / var(--tw-bg-opacity, 1))
}

.bg-\[\#0E131F\] {
  --tw-bg-opacity: 1;
  background-color: rgb(14 19 31 / var(--tw-bg-opacity, 1))
}

.bg-\[\#131313\] {
  --tw-bg-opacity: 1;
  background-color: rgb(19 19 19 / var(--tw-bg-opacity, 1))
}

.bg-\[\#212121\] {
  --tw-bg-opacity: 1;
  background-color: rgb(33 33 33 / var(--tw-bg-opacity, 1))
}

.bg-\[\#323232\]\/20 {
  background-color: #32323233
}

.bg-\[\#323232\]\/40 {
  background-color: #32323266
}

.bg-\[\#323232\]\/80 {
  background-color: #323232cc
}

.bg-\[\#3E3939\] {
  --tw-bg-opacity: 1;
  background-color: rgb(62 57 57 / var(--tw-bg-opacity, 1))
}

.bg-\[\#818181\] {
  --tw-bg-opacity: 1;
  background-color: rgb(129 129 129 / var(--tw-bg-opacity, 1))
}

.bg-\[\#818181\]\/30 {
  background-color: #8181814d
}

.bg-\[\#DADADA\] {
  --tw-bg-opacity: 1;
  background-color: rgb(218 218 218 / var(--tw-bg-opacity, 1))
}

.bg-\[\#E0E0E0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(224 224 224 / var(--tw-bg-opacity, 1))
}

.bg-\[\#EC460B\] {
  --tw-bg-opacity: 1;
  background-color: rgb(236 70 11 / var(--tw-bg-opacity, 1))
}

.bg-\[\#EEEEEE\] {
  --tw-bg-opacity: 1;
  background-color: rgb(238 238 238 / var(--tw-bg-opacity, 1))
}

.bg-\[\#F6F4F4\] {
  --tw-bg-opacity: 1;
  background-color: rgb(246 244 244 / var(--tw-bg-opacity, 1))
}

.bg-\[\#F6F6F6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(246 246 246 / var(--tw-bg-opacity, 1))
}

.bg-\[\#F7F7F7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(247 247 247 / var(--tw-bg-opacity, 1))
}

.bg-\[\#F8F3EC\] {
  --tw-bg-opacity: 1;
  background-color: rgb(248 243 236 / var(--tw-bg-opacity, 1))
}

.bg-\[\#FBFBFB\] {
  --tw-bg-opacity: 1;
  background-color: rgb(251 251 251 / var(--tw-bg-opacity, 1))
}

.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1))
}

.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1))
}

.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1))
}

.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1))
}

.bg-amber-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1))
}

.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1))
}

.bg-black\/20 {
  background-color: #0003
}

.bg-black\/40 {
  background-color: #0006
}

.bg-black\/85 {
  background-color: #000000d9
}

.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1))
}

.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1))
}

.bg-blue-500\/20 {
  background-color: #3b82f633
}

.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1))
}

.bg-brand-navy {
  --tw-bg-opacity: 1;
  background-color: rgb(5 22 80 / var(--tw-bg-opacity, 1))
}

.bg-brand-navy\/10 {
  background-color: #0516501a
}

.bg-brand-navy\/5 {
  background-color: #0516500d
}

.bg-current {
  background-color: currentColor
}

.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1))
}

.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1))
}

.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1))
}

.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1))
}

.bg-emerald-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1))
}

.bg-emerald-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1))
}

.bg-neutral-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1))
}

.bg-neutral-100\/70 {
  background-color: #f5f5f5b3
}

.bg-neutral-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 229 229 / var(--tw-bg-opacity, 1))
}

.bg-neutral-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(212 212 212 / var(--tw-bg-opacity, 1))
}

.bg-neutral-300\/80 {
  background-color: #d4d4d4cc
}

.bg-neutral-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(163 163 163 / var(--tw-bg-opacity, 1))
}

.bg-neutral-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1))
}

.bg-neutral-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1))
}

.bg-neutral-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(23 23 23 / var(--tw-bg-opacity, 1))
}

.bg-neutral-900\/80 {
  background-color: #171717cc
}

.bg-orange-500\/20 {
  background-color: #f9731633
}

.bg-orange-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1))
}

.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1))
}

.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1))
}

.bg-rose-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1))
}

.bg-sky-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1))
}

.bg-sky-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1))
}

.bg-transparent {
  background-color: transparent
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.bg-white\/0 {
  background-color: #fff0
}

.bg-white\/10 {
  background-color: #ffffff1a
}

.bg-white\/20 {
  background-color: #fff3
}

.bg-white\/30 {
  background-color: #ffffff4d
}

.bg-white\/40 {
  background-color: #fff6
}

.bg-white\/5 {
  background-color: #ffffff0d
}

.bg-white\/70 {
  background-color: #ffffffb3
}

.bg-white\/80 {
  background-color: #fffc
}

.bg-white\/90 {
  background-color: #ffffffe6
}

.bg-white\/95 {
  background-color: #fffffff2
}

.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops))
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops))
}

.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops))
}

.bg-gradient-to-tr {
  background-image: linear-gradient(to top right, var(--tw-gradient-stops))
}

.from-\[\#051650\]\/40 {
  --tw-gradient-from: rgb(5 22 80 / .4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 22 80 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-\[\#051650\]\/85 {
  --tw-gradient-from: rgb(5 22 80 / .85) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 22 80 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-\[\#38bdf8\] {
  --tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-black\/75 {
  --tw-gradient-from: rgb(0 0 0 / .75) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-blue-600 {
  --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-brand-navy\/90 {
  --tw-gradient-from: rgb(5 22 80 / .9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 22 80 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-neutral-100 {
  --tw-gradient-from: #f5f5f5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 245 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.via-\[\#051650\]\/65 {
  --tw-gradient-to: rgb(5 22 80 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(5 22 80 / .65) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-\[\#EC460B\] {
  --tw-gradient-to: rgb(236 70 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #EC460B var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-black\/30 {
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-neutral-200 {
  --tw-gradient-to: rgb(229 229 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #e5e5e5 var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-white {
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.to-\[\#0284c7\] {
  --tw-gradient-to: #0284c7 var(--tw-gradient-to-position)
}

.to-\[\#051650\]\/65 {
  --tw-gradient-to: rgb(5 22 80 / .65) var(--tw-gradient-to-position)
}

.to-\[\#051650\]\/95 {
  --tw-gradient-to: rgb(5 22 80 / .95) var(--tw-gradient-to-position)
}

.to-amber-500 {
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position)
}

.to-black\/40 {
  --tw-gradient-to: rgb(0 0 0 / .4) var(--tw-gradient-to-position)
}

.to-neutral-100 {
  --tw-gradient-to: #f5f5f5 var(--tw-gradient-to-position)
}

.to-neutral-400 {
  --tw-gradient-to: #a3a3a3 var(--tw-gradient-to-position)
}

.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position)
}

.bg-cover {
  background-size: cover
}

.bg-clip-text {
  -webkit-background-clip: text;
  background-clip: text
}

.bg-center {
  background-position: center
}

.bg-left {
  background-position: left
}

.bg-right {
  background-position: right
}

.bg-no-repeat {
  background-repeat: no-repeat
}

.fill-none {
  fill: none
}

.fill-white {
  fill: #fff
}

.stroke-current {
  stroke: currentColor
}

.stroke-2 {
  stroke-width: 2
}

.object-contain {
  -o-object-fit: contain;
  object-fit: contain
}

.object-cover {
  -o-object-fit: cover;
  object-fit: cover
}

.object-center {
  -o-object-position: center;
  object-position: center
}

.object-top {
  -o-object-position: top;
  object-position: top
}

.p-0 {
  padding: 0
}

.p-0\.5 {
  padding: .125rem
}

.p-1 {
  padding: .25rem
}

.p-1\.5 {
  padding: .375rem
}

.p-2 {
  padding: .5rem
}

.p-2\.5 {
  padding: .625rem
}

.p-3 {
  padding: .75rem
}

.p-3\.5 {
  padding: .875rem
}

.p-4 {
  padding: 1rem
}

.p-5 {
  padding: 1.25rem
}

.p-6 {
  padding: 1.5rem
}

.p-8 {
  padding: 2rem
}

.px-1 {
  padding-left: .25rem;
  padding-right: .25rem
}

.px-1\.5 {
  padding-left: .375rem;
  padding-right: .375rem
}

.px-2 {
  padding-left: .5rem;
  padding-right: .5rem
}

.px-2\.5 {
  padding-left: .625rem;
  padding-right: .625rem
}

.px-3 {
  padding-left: .75rem;
  padding-right: .75rem
}

.px-3\.5 {
  padding-left: .875rem;
  padding-right: .875rem
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem
}

.py-0\.5 {
  padding-top: .125rem;
  padding-bottom: .125rem
}

.py-1 {
  padding-top: .25rem;
  padding-bottom: .25rem
}

.py-1\.5 {
  padding-top: .375rem;
  padding-bottom: .375rem
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem
}

.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem
}

.py-2 {
  padding-top: .5rem;
  padding-bottom: .5rem
}

.py-2\.5 {
  padding-top: .625rem;
  padding-bottom: .625rem
}

.py-3 {
  padding-top: .75rem;
  padding-bottom: .75rem
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem
}

.pb-0 {
  padding-bottom: 0
}

.pb-0\.5 {
  padding-bottom: .125rem
}

.pb-1 {
  padding-bottom: .25rem
}

.pb-10 {
  padding-bottom: 2.5rem
}

.pb-12 {
  padding-bottom: 3rem
}

.pb-14 {
  padding-bottom: 3.5rem
}

.pb-16 {
  padding-bottom: 4rem
}

.pb-2 {
  padding-bottom: .5rem
}

.pb-2\.5 {
  padding-bottom: .625rem
}

.pb-3 {
  padding-bottom: .75rem
}

.pb-4 {
  padding-bottom: 1rem
}

.pb-5 {
  padding-bottom: 1.25rem
}

.pb-6 {
  padding-bottom: 1.5rem
}

.pb-8 {
  padding-bottom: 2rem
}

.pb-\[28px\] {
  padding-bottom: 28px
}

.pb-\[clamp\(16px\,3\.5vh\,40px\)\] {
  padding-bottom: clamp(16px, 3.5vh, 40px)
}

.pl-2 {
  padding-left: .5rem
}

.pl-4 {
  padding-left: 1rem
}

.pl-5 {
  padding-left: 1.25rem
}

.pl-6 {
  padding-left: 1.5rem
}

.pl-7 {
  padding-left: 1.75rem
}

.pr-2 {
  padding-right: .5rem
}

.pr-3 {
  padding-right: .75rem
}

.pr-4 {
  padding-right: 1rem
}

.pt-0 {
  padding-top: 0
}

.pt-0\.5 {
  padding-top: .125rem
}

.pt-1 {
  padding-top: .25rem
}

.pt-1\.5 {
  padding-top: .375rem
}

.pt-10 {
  padding-top: 2.5rem
}

.pt-12 {
  padding-top: 3rem
}

.pt-16 {
  padding-top: 4rem
}

.pt-2 {
  padding-top: .5rem
}

.pt-2\.5 {
  padding-top: .625rem
}

.pt-20 {
  padding-top: 5rem
}

.pt-3 {
  padding-top: .75rem
}

.pt-4 {
  padding-top: 1rem
}

.pt-5 {
  padding-top: 1.25rem
}

.pt-6 {
  padding-top: 1.5rem
}

.pt-8 {
  padding-top: 2rem
}

.pt-\[100px\] {
  padding-top: 100px
}

.pt-\[24px\] {
  padding-top: 24px
}

.pt-\[369px\] {
  padding-top: 369px
}

.pt-\[52px\] {
  padding-top: 52px
}

.pt-\[72px\] {
  padding-top: 72px
}

.pt-\[80px\] {
  padding-top: 80px
}

.pt-\[85px\] {
  padding-top: 85px
}

.pt-\[90px\] {
  padding-top: 90px
}

.pt-\[clamp\(80px\,9\.5vh\,125px\)\] {
  padding-top: clamp(80px, 9.5vh, 125px)
}

.text-left {
  text-align: left
}

.text-center {
  text-align: center
}

.text-justify {
  text-align: justify
}

.font-mono,
.font-sans {
  font-family: 'Inter'
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem
}

.text-\[10\.5px\] {
  font-size: 10.5px
}

.text-\[10px\] {
  font-size: 10px
}

.text-\[11px\] {
  font-size: 11px
}

.text-\[12\.5px\] {
  font-size: 12.5px
}

.text-\[12px\] {
  font-size: 12px
}

.text-\[13\.5px\] {
  font-size: 13.5px
}

.text-\[13px\] {
  font-size: 13px
}

.text-\[14px\] {
  font-size: 14px
}

.text-\[15px\] {
  font-size: 15px
}

.text-\[16px\] {
  font-size: 16px
}

.text-\[17px\] {
  font-size: 17px
}

.text-\[18px\] {
  font-size: 18px
}

.text-\[18vw\] {
  font-size: 18vw
}

.text-\[20px\] {
  font-size: 20px
}

.text-\[22px\] {
  font-size: 22px
}

.text-\[24px\] {
  font-size: 24px
}

.text-\[26px\] {
  font-size: 26px
}

.text-\[28px\] {
  font-size: 28px
}

.text-\[30px\] {
  font-size: 30px
}

.text-\[32px\] {
  font-size: 32px
}

.text-\[34px\] {
  font-size: 34px
}

.text-\[36px\] {
  font-size: 36px
}

.text-\[40px\] {
  font-size: 40px
}

.text-\[48px\] {
  font-size: 48px
}

.text-\[60px\] {
  font-size: 60px
}

.text-\[70px\] {
  font-size: 70px
}

.text-\[86\.86px\] {
  font-size: 86.86px
}

.text-\[8px\] {
  font-size: 8px
}

.text-\[9px\] {
  font-size: 9px
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem
}

.text-pc-h6 {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0;
  font-weight: 400
}

.text-sm {
  font-size: .875rem;
  line-height: 1.25rem
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem
}

.text-xs {
  font-size: .75rem;
  line-height: 1rem
}

.font-black {
  font-weight: 900
}

.font-bold {
  font-weight: 700
}

.font-extrabold {
  font-weight: 800
}

.font-light {
  font-weight: 300
}

.font-medium {
  font-weight: 500
}

.font-normal {
  font-weight: 400
}

.font-semibold {
  font-weight: 600
}

.uppercase {
  text-transform: uppercase
}

.lowercase {
  text-transform: lowercase
}

.italic {
  font-style: italic
}

.not-italic {
  font-style: normal
}

.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)
}

.leading-\[0\.92\] {
  line-height: .92
}

.leading-\[1\.06\] {
  line-height: 1.06
}

.leading-\[1\.08\] {
  line-height: 1.08
}

.leading-\[1\.15\] {
  line-height: 1.15
}

.leading-\[1\.18\] {
  line-height: 1.18
}

.leading-\[1\.1\] {
  line-height: 1.1
}

.leading-\[1\.25\] {
  line-height: 1.25
}

.leading-\[1\.2\] {
  line-height: 1.2
}

.leading-\[1\.35\] {
  line-height: 1.35
}

.leading-\[1\.4\] {
  line-height: 1.4
}

.leading-\[18px\] {
  line-height: 18px
}

.leading-\[20px\] {
  line-height: 20px
}

.leading-none {
  line-height: 1
}

.leading-normal {
  line-height: 1.5
}

.leading-relaxed {
  line-height: 1.625
}

.leading-snug {
  line-height: 1.375
}

.leading-tight {
  line-height: 1.25
}

.tracking-\[0\.05em\] {
  letter-spacing: .05em
}

.tracking-\[0\.16em\] {
  letter-spacing: .16em
}

.tracking-\[0\.22em\] {
  letter-spacing: .22em
}

.tracking-\[0\.25em\] {
  letter-spacing: .25em
}

.tracking-\[0\.2em\] {
  letter-spacing: .2em
}

.tracking-normal {
  letter-spacing: 0em
}

.tracking-tight {
  letter-spacing: -.025em
}

.tracking-tighter {
  letter-spacing: -.05em
}

.tracking-wide {
  letter-spacing: .025em
}

.tracking-wider {
  letter-spacing: .05em
}

.tracking-widest {
  letter-spacing: .1em
}

.text-\[\#0284c7\] {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1))
}

.text-\[\#051650\] {
  --tw-text-opacity: 1;
  color: rgb(5 22 80 / var(--tw-text-opacity, 1))
}

.text-\[\#0ea5e9\] {
  --tw-text-opacity: 1;
  color: rgb(14 165 233 / var(--tw-text-opacity, 1))
}

.text-\[\#111111\] {
  --tw-text-opacity: 1;
  color: rgb(17 17 17 / var(--tw-text-opacity, 1))
}

.text-\[\#131313\] {
  --tw-text-opacity: 1;
  color: rgb(19 19 19 / var(--tw-text-opacity, 1))
}

.text-\[\#1DA538\] {
  --tw-text-opacity: 1;
  color: rgb(29 165 56 / var(--tw-text-opacity, 1))
}

.text-\[\#3E3939\] {
  --tw-text-opacity: 1;
  color: rgb(62 57 57 / var(--tw-text-opacity, 1))
}

.text-\[\#818181\] {
  --tw-text-opacity: 1;
  color: rgb(129 129 129 / var(--tw-text-opacity, 1))
}

.text-\[\#CCAC8D\] {
  --tw-text-opacity: 1;
  color: rgb(204 172 141 / var(--tw-text-opacity, 1))
}

.text-\[\#EA580C\] {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1))
}

.text-\[\#EC460B\] {
  --tw-text-opacity: 1;
  color: rgb(236 70 11 / var(--tw-text-opacity, 1))
}

.text-\[\#F6F4F4\] {
  --tw-text-opacity: 1;
  color: rgb(246 244 244 / var(--tw-text-opacity, 1))
}

.text-\[\#F6F4F4\]\/90 {
  color: #f6f4f4e6
}

.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1))
}

.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1))
}

.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1))
}

.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1))
}

.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1))
}

.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1))
}

.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1))
}

.text-brand-light {
  --tw-text-opacity: 1;
  color: rgb(143 168 202 / var(--tw-text-opacity, 1))
}

.text-brand-navy {
  --tw-text-opacity: 1;
  color: rgb(5 22 80 / var(--tw-text-opacity, 1))
}

.text-brand-navy\/20 {
  color: #05165033
}

.text-brand-navy\/70 {
  color: #051650b3
}

.text-brand-navy\/80 {
  color: #051650cc
}

.text-current {
  color: currentColor
}

.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1))
}

.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1))
}

.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1))
}

.text-emerald-800 {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1))
}

.text-neutral-200 {
  --tw-text-opacity: 1;
  color: rgb(229 229 229 / var(--tw-text-opacity, 1))
}

.text-neutral-300 {
  --tw-text-opacity: 1;
  color: rgb(212 212 212 / var(--tw-text-opacity, 1))
}

.text-neutral-400 {
  --tw-text-opacity: 1;
  color: rgb(163 163 163 / var(--tw-text-opacity, 1))
}

.text-neutral-500 {
  --tw-text-opacity: 1;
  color: rgb(115 115 115 / var(--tw-text-opacity, 1))
}

.text-neutral-600 {
  --tw-text-opacity: 1;
  color: rgb(82 82 82 / var(--tw-text-opacity, 1))
}

.text-neutral-700 {
  --tw-text-opacity: 1;
  color: rgb(64 64 64 / var(--tw-text-opacity, 1))
}

.text-neutral-800 {
  --tw-text-opacity: 1;
  color: rgb(38 38 38 / var(--tw-text-opacity, 1))
}

.text-neutral-900 {
  --tw-text-opacity: 1;
  color: rgb(23 23 23 / var(--tw-text-opacity, 1))
}

.text-orange-400 {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1))
}

.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1))
}

.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1))
}

.text-rose-500 {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1))
}

.text-sky-200 {
  --tw-text-opacity: 1;
  color: rgb(186 230 253 / var(--tw-text-opacity, 1))
}

.text-sky-300 {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1))
}

.text-transparent {
  color: transparent
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.text-white\/60 {
  color: #fff9
}

.text-white\/70 {
  color: #ffffffb3
}

.text-white\/80 {
  color: #fffc
}

.text-white\/95 {
  color: #fffffff2
}

.line-through {
  text-decoration-line: line-through
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.placeholder-neutral-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(163 163 163 / var(--tw-placeholder-opacity, 1))
}

.placeholder-neutral-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(163 163 163 / var(--tw-placeholder-opacity, 1))
}

.accent-brand-navy {
  accent-color: #051650
}

.opacity-0 {
  opacity: 0
}

.opacity-100 {
  opacity: 1
}

.opacity-30 {
  opacity: .3
}

.opacity-40 {
  opacity: .4
}

.opacity-45 {
  opacity: .45
}

.opacity-60 {
  opacity: .6
}

.opacity-70 {
  opacity: .7
}

.opacity-75 {
  opacity: .75
}

.opacity-80 {
  opacity: .8
}

.opacity-85 {
  opacity: .85
}

.opacity-90 {
  opacity: .9
}

.opacity-\[0\.035\] {
  opacity: .035
}

.mix-blend-multiply {
  mix-blend-mode: multiply
}

.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_0_8px_rgba\(255\,255\,255\,0\.7\)\] {
  --tw-shadow: 0 0 8px rgba(255, 255, 255, .7);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_12px_32px_rgba\(5\,22\,80\,0\.18\)\] {
  --tw-shadow: 0 12px 32px rgba(5, 22, 80, .18);
  --tw-shadow-colored: 0 12px 32px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.03\)\] {
  --tw-shadow: 0 1px 2px rgba(0, 0, 0, .03);
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_4px_24px_rgba\(0\,0\,0\,0\.03\)\] {
  --tw-shadow: 0 4px 24px rgba(0, 0, 0, .03);
  --tw-shadow-colored: 0 4px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-blue-500\/20 {
  --tw-shadow-color: rgb(59 130 246 / .2);
  --tw-shadow: var(--tw-shadow-colored)
}

.shadow-blue-600\/30 {
  --tw-shadow-color: rgb(37 99 235 / .3);
  --tw-shadow: var(--tw-shadow-colored)
}

.shadow-orange-600\/30 {
  --tw-shadow-color: rgb(234 88 12 / .3);
  --tw-shadow: var(--tw-shadow-colored)
}

.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.ring-4 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.ring-brand-navy\/10 {
  --tw-ring-color: rgb(5 22 80 / .1)
}

.ring-sky-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(125 211 252 / var(--tw-ring-opacity, 1))
}

.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1))
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.brightness-105 {
  --tw-brightness: brightness(1.05);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.brightness-90 {
  --tw-brightness: brightness(.9);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.brightness-95 {
  --tw-brightness: brightness(.95);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.brightness-\[0\.98\] {
  --tw-brightness: brightness(.98);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.drop-shadow-\[0_2px_4px_rgba\(0\,0\,0\,0\.6\)\] {
  --tw-drop-shadow: drop-shadow(0 2px 4px rgba(0, 0, 0, .6));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.drop-shadow-\[0_2px_4px_rgba\(0\,0\,0\,0\.7\)\] {
  --tw-drop-shadow: drop-shadow(0 2px 4px rgba(0, 0, 0, .7));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.drop-shadow-\[0_4px_16px_rgba\(5\,22\,80\,0\.5\)\] {
  --tw-drop-shadow: drop-shadow(0 4px 16px rgba(5, 22, 80, .5));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.drop-shadow-md {
  --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.drop-shadow-sm {
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.grayscale {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s
}

.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s
}

.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .15s
}

.duration-150 {
  transition-duration: .15s
}

.duration-200 {
  transition-duration: .2s
}

.duration-300 {
  transition-duration: .3s
}

.duration-500 {
  transition-duration: .5s
}

.duration-700 {
  transition-duration: .7s
}

.ease-in-out {
  transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, .2, 1)
}

.will-change-transform {
  will-change: transform
}

.\[appearance\:textfield\] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield
}

.selection\:bg-\[\#EC460B\] *::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(236 70 11 / var(--tw-bg-opacity, 1))
}

.selection\:bg-\[\#EC460B\] *::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(236 70 11 / var(--tw-bg-opacity, 1))
}

.selection\:bg-amber-500 *::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1))
}

.selection\:bg-amber-500 *::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1))
}

.selection\:bg-brand-navy *::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(5 22 80 / var(--tw-bg-opacity, 1))
}

.selection\:bg-brand-navy *::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(5 22 80 / var(--tw-bg-opacity, 1))
}

.selection\:text-black *::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.selection\:text-black *::selection {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.selection\:text-white *::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.selection\:text-white *::selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.selection\:bg-\[\#EC460B\]::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(236 70 11 / var(--tw-bg-opacity, 1))
}

.selection\:bg-\[\#EC460B\]::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(236 70 11 / var(--tw-bg-opacity, 1))
}

.selection\:bg-amber-500::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1))
}

.selection\:bg-amber-500::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1))
}

.selection\:bg-brand-navy::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(5 22 80 / var(--tw-bg-opacity, 1))
}

.selection\:bg-brand-navy::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(5 22 80 / var(--tw-bg-opacity, 1))
}

.selection\:text-black::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.selection\:text-black::selection {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.selection\:text-white::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.selection\:text-white::selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.hover\:-translate-y-1:hover {
  --tw-translate-y: -.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:translate-x-1\.5:hover {
  --tw-translate-x: .375rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:scale-125:hover {
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:scale-\[1\.02\]:hover {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:border-\[\#EC460B\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(236 70 11 / var(--tw-border-opacity, 1))
}

.hover\:border-black:hover {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1))
}

.hover\:border-blue-500\/50:hover {
  border-color: #3b82f680
}

.hover\:border-brand-navy:hover {
  --tw-border-opacity: 1;
  border-color: rgb(5 22 80 / var(--tw-border-opacity, 1))
}

.hover\:border-brand-navy\/30:hover {
  border-color: #0516504d
}

.hover\:border-current:hover {
  border-color: currentColor
}

.hover\:border-neutral-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(163 163 163 / var(--tw-border-opacity, 1))
}

.hover\:border-orange-500\/50:hover {
  border-color: #f9731680
}

.hover\:bg-\[\#0284c7\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#0c2370\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(12 35 112 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#2B2B2B\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(43 43 43 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#3E3939\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(62 57 57 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#EC460B\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 70 11 / var(--tw-bg-opacity, 1))
}

.hover\:bg-amber-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1))
}

.hover\:bg-blue-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1))
}

.hover\:bg-brand-navy:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(5 22 80 / var(--tw-bg-opacity, 1))
}

.hover\:bg-brand-navy\/10:hover {
  background-color: #0516501a
}

.hover\:bg-neutral-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 245 / var(--tw-bg-opacity, 1))
}

.hover\:bg-neutral-200\/50:hover {
  background-color: #e5e5e580
}

.hover\:bg-neutral-300:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(212 212 212 / var(--tw-bg-opacity, 1))
}

.hover\:bg-neutral-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1))
}

.hover\:bg-neutral-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1))
}

.hover\:bg-orange-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1))
}

.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.hover\:text-\[\#0284c7\]:hover {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1))
}

.hover\:text-\[\#051650\]:hover {
  --tw-text-opacity: 1;
  color: rgb(5 22 80 / var(--tw-text-opacity, 1))
}

.hover\:text-\[\#EC460B\]:hover {
  --tw-text-opacity: 1;
  color: rgb(236 70 11 / var(--tw-text-opacity, 1))
}

.hover\:text-amber-300:hover {
  --tw-text-opacity: 1;
  color: #FFF;
}

.hover\:text-amber-500:hover {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1))
}

.hover\:text-amber-600:hover {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1))
}

.hover\:text-black:hover {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.hover\:text-brand-navy:hover {
  --tw-text-opacity: 1;
  color: rgb(5 22 80 / var(--tw-text-opacity, 1))
}

.hover\:text-neutral-600:hover {
  --tw-text-opacity: 1;
  color: rgb(82 82 82 / var(--tw-text-opacity, 1))
}

.hover\:text-neutral-700:hover {
  --tw-text-opacity: 1;
  color: rgb(64 64 64 / var(--tw-text-opacity, 1))
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.hover\:underline:hover {
  text-decoration-line: underline
}

.hover\:opacity-100:hover {
  opacity: 1
}

.hover\:opacity-70:hover {
  opacity: .7
}

.hover\:opacity-80:hover {
  opacity: .8
}

.hover\:opacity-85:hover {
  opacity: .85
}

.hover\:shadow-2xl:hover {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.hover\:shadow-xl:hover {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.hover\:shadow-blue-500\/10:hover {
  --tw-shadow-color: rgb(59 130 246 / .1);
  --tw-shadow: var(--tw-shadow-colored)
}

.hover\:shadow-orange-500\/10:hover {
  --tw-shadow-color: rgb(249 115 22 / .1);
  --tw-shadow: var(--tw-shadow-colored)
}

.hover\:grayscale-0:hover {
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.focus\:border-brand-navy:focus {
  --tw-border-opacity: 1;
  border-color: rgb(5 22 80 / var(--tw-border-opacity, 1))
}

.focus\:underline:focus {
  text-decoration-line: underline
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px
}

.focus\:ring-0:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus\:ring-1:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus\:ring-brand-navy:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(5 22 80 / var(--tw-ring-opacity, 1))
}

.focus-visible\:ring-2:focus-visible {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus-visible\:ring-\[\#EC460B\]:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(236 70 11 / var(--tw-ring-opacity, 1))
}

.active\:scale-95:active {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.active\:cursor-grabbing:active {
  cursor: grabbing
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed
}

.disabled\:opacity-30:disabled {
  opacity: .3
}

.disabled\:opacity-40:disabled {
  opacity: .4
}

.group:hover .group-hover\:w-8 {
  width: 2rem
}

.group\/link:hover .group-hover\/link\:translate-x-1 {
  --tw-translate-x: .25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:translate-x-1 {
  --tw-translate-x: .25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:translate-x-1\.5 {
  --tw-translate-x: .375rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:translate-y-\[-1px\] {
  --tw-translate-y: -1px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:rotate-0 {
  --tw-rotate: 0deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:scale-125 {
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:border-\[\#EC460B\] {
  --tw-border-opacity: 1;
  border-color: rgb(236 70 11 / var(--tw-border-opacity, 1))
}

.group:hover .group-hover\:border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1))
}

.group:hover .group-hover\:bg-\[\#EC460B\] {
  --tw-bg-opacity: 1;
  background-color: rgb(236 70 11 / var(--tw-bg-opacity, 1))
}

.group:hover .group-hover\:bg-amber-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity, 1))
}

.group:hover .group-hover\:bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1))
}

.group:hover .group-hover\:bg-black\/30 {
  background-color: #0000004d
}

.group:hover .group-hover\:bg-brand-navy {
  --tw-bg-opacity: 1;
  background-color: rgb(5 22 80 / var(--tw-bg-opacity, 1))
}

.group:hover .group-hover\:bg-white\/20 {
  background-color: #fff3
}

.group:hover .group-hover\:text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-brand-navy {
  --tw-text-opacity: 1;
  color: rgb(5 22 80 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-neutral-300 {
  --tw-text-opacity: 1;
  color: rgb(212 212 212 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-orange-400 {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1
}

.group:hover .group-hover\:opacity-60 {
  opacity: .6
}

.has-\[\:checked\]\:border-brand-navy:has(:checked) {
  --tw-border-opacity: 1;
  border-color: rgb(5 22 80 / var(--tw-border-opacity, 1))
}

.has-\[\:checked\]\:bg-brand-navy:has(:checked) {
  --tw-bg-opacity: 1;
  background-color: rgb(5 22 80 / var(--tw-bg-opacity, 1))
}

.has-\[\:checked\]\:text-white:has(:checked) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

@media(min-width:480px) {
  .xs\:h-\[180px\] {
    height: 180px
  }

  .xs\:h-\[190px\] {
    height: 190px
  }

  .xs\:text-\[13px\] {
    font-size: 13px
  }

  .xs\:text-\[14px\] {
    font-size: 14px
  }

  .xs\:text-\[15px\] {
    font-size: 15px
  }

  .xs\:leading-\[20px\] {
    line-height: 20px
  }
}

@media(min-width:640px) {
  .sm\:bottom-6 {
    bottom: 1.5rem
  }

  .sm\:left-2 {
    left: .5rem
  }

  .sm\:left-5 {
    left: 1.25rem
  }

  .sm\:left-6 {
    left: 1.5rem
  }

  .sm\:right-2 {
    right: .5rem
  }

  .sm\:right-6 {
    right: 1.5rem
  }

  .sm\:top-2 {
    top: .5rem
  }

  .sm\:top-5 {
    top: 1.25rem
  }

  .sm\:mx-4 {
    margin-left: 1rem;
    margin-right: 1rem
  }

  .sm\:mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem
  }

  .sm\:mb-10 {
    margin-bottom: 2.5rem
  }

  .sm\:mb-2 {
    margin-bottom: .5rem
  }

  .sm\:mb-2\.5 {
    margin-bottom: .625rem
  }

  .sm\:mb-4 {
    margin-bottom: 1rem
  }

  .sm\:mb-5 {
    margin-bottom: 1.25rem
  }

  .sm\:mb-6 {
    margin-bottom: 1.5rem
  }

  .sm\:mb-8 {
    margin-bottom: 2rem
  }

  .sm\:ml-auto {
    margin-left: auto
  }

  .sm\:mr-auto {
    margin-right: auto
  }

  .sm\:mt-1\.5 {
    margin-top: .375rem
  }

  .sm\:mt-3 {
    margin-top: .75rem
  }

  .sm\:mt-\[60px\] {
    margin-top: 60px
  }

  .sm\:inline {
    display: inline
  }

  .sm\:flex {
    display: flex
  }

  .sm\:aspect-\[7\/4\] {
    aspect-ratio: 7/4
  }

  .sm\:h-10 {
    height: 2.5rem
  }

  .sm\:h-11 {
    height: 3rem
  }

  .sm\:h-12 {
    height: 3rem
  }

  .sm\:h-20 {
    height: 5rem
  }

  .sm\:h-3 {
    height: .75rem
  }

  .sm\:h-3\.5 {
    height: .875rem
  }

  .sm\:h-4 {
    height: 1rem
  }

  .sm\:h-5 {
    height: 1.25rem
  }

  .sm\:h-6 {
    height: 1.5rem
  }

  .sm\:h-7 {
    height: 1.75rem
  }

  .sm\:h-8 {
    height: 2rem
  }

  .sm\:h-9 {
    height: 2.25rem
  }

  .sm\:h-\[100px\] {
    height: 100px
  }

  .sm\:h-\[210px\] {
    height: 210px
  }

  .sm\:h-\[220px\] {
    height: 220px
  }

  .sm\:h-\[26px\] {
    height: 26px
  }

  .sm\:max-h-\[440px\] {
    max-height: 440px
  }

  .sm\:min-h-\[28px\] {
    min-height: 28px
  }

  .sm\:min-h-\[40px\] {
    min-height: 40px
  }

  .sm\:min-h-\[44px\] {
    min-height: 44px
  }

  .sm\:min-h-\[460px\] {
    min-height: 460px
  }

  .sm\:min-h-\[640px\] {
    min-height: 640px
  }

  .sm\:w-10 {
    width: 2.5rem
  }

  .sm\:w-20 {
    width: 5rem
  }

  .sm\:w-3 {
    width: .75rem
  }

  .sm\:w-3\.5 {
    width: .875rem
  }

  .sm\:w-32 {
    width: 8rem
  }

  .sm\:w-36 {
    width: 9rem
  }

  .sm\:w-4 {
    width: 1rem
  }

  .sm\:w-48 {
    width: 12rem
  }

  .sm\:w-5 {
    width: 1.25rem
  }

  .sm\:w-7 {
    width: 1.75rem
  }

  .sm\:w-8 {
    width: 2rem
  }

  .sm\:w-\[100px\] {
    width: 100px
  }

  .sm\:w-\[130px\] {
    width: 130px
  }

  .sm\:w-\[210px\] {
    width: 210px
  }

  .sm\:w-\[220px\] {
    width: 220px
  }

  .sm\:w-\[280px\] {
    width: 280px
  }

  .sm\:w-\[340px\] {
    width: 340px
  }

  .sm\:w-\[34px\] {
    width: 34px
  }

  .sm\:w-\[70\%\] {
    width: 70%
  }

  .sm\:w-auto {
    width: auto
  }

  .sm\:min-w-\[250px\] {
    min-width: 250px
  }

  .sm\:max-w-\[100px\] {
    max-width: 100px
  }

  .sm\:max-w-\[120px\] {
    max-width: 120px
  }

  .sm\:max-w-\[160px\] {
    max-width: 160px
  }

  .sm\:max-w-\[270px\] {
    max-width: 270px
  }

  .sm\:max-w-\[310px\] {
    max-width: 310px
  }

  .sm\:max-w-\[80px\] {
    max-width: 80px
  }

  .sm\:max-w-\[90px\] {
    max-width: 90px
  }

  .sm\:max-w-none {
    max-width: none
  }

  .sm\:-translate-y-4 {
    --tw-translate-y: -1rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
  }

  .sm\:translate-y-4 {
    --tw-translate-y: 1rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .sm\:flex-row {
    flex-direction: row
  }

  .sm\:flex-col {
    flex-direction: column
  }

  .sm\:items-start {
    align-items: flex-start
  }

  .sm\:items-center {
    align-items: center
  }

  .sm\:gap-1\.5 {
    gap: .375rem
  }

  .sm\:gap-10 {
    gap: 2.5rem
  }

  .sm\:gap-12 {
    gap: 3rem
  }

  .sm\:gap-2 {
    gap: .5rem
  }

  .sm\:gap-2\.5 {
    gap: .625rem
  }

  .sm\:gap-3 {
    gap: .75rem
  }

  .sm\:gap-3\.5 {
    gap: .875rem
  }

  .sm\:gap-4 {
    gap: 1rem
  }

  .sm\:gap-5 {
    gap: 1.25rem
  }

  .sm\:gap-6 {
    gap: 1.5rem
  }

  .sm\:gap-7 {
    gap: 1.75rem
  }

  .sm\:gap-8 {
    gap: 2rem
  }

  .sm\:gap-y-9 {
    row-gap: 2.25rem
  }

  .sm\:space-y-1\.5>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.375rem * var(--tw-space-y-reverse))
  }

  .sm\:space-y-10>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse))
  }

  .sm\:space-y-14>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3.5rem * var(--tw-space-y-reverse))
  }

  .sm\:space-y-16>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(4rem * var(--tw-space-y-reverse))
  }

  .sm\:space-y-2\.5>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.625rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.625rem * var(--tw-space-y-reverse))
  }

  .sm\:space-y-3>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.75rem * var(--tw-space-y-reverse))
  }

  .sm\:space-y-3\.5>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.875rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.875rem * var(--tw-space-y-reverse))
  }

  .sm\:space-y-6>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse))
  }

  .sm\:space-y-7>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.75rem * var(--tw-space-y-reverse))
  }

  .sm\:space-y-8>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse))
  }

  .sm\:overflow-visible {
    overflow: visible
  }

  .sm\:rounded-2xl {
    border-radius: 1rem
  }

  .sm\:p-10 {
    padding: 2.5rem
  }

  .sm\:p-2\.5 {
    padding: .625rem
  }

  .sm\:p-3 {
    padding: .75rem
  }

  .sm\:p-3\.5 {
    padding: .875rem
  }

  .sm\:p-6 {
    padding: 1.5rem
  }

  .sm\:p-7 {
    padding: 1.75rem
  }

  .sm\:p-8 {
    padding: 2rem
  }

  .sm\:px-0 {
    padding-left: 0;
    padding-right: 0
  }

  .sm\:px-1\.5 {
    padding-left: .375rem;
    padding-right: .375rem
  }

  .sm\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem
  }

  .sm\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem
  }

  .sm\:px-2 {
    padding-left: .5rem;
    padding-right: .5rem
  }

  .sm\:px-2\.5 {
    padding-left: .625rem;
    padding-right: .625rem
  }

  .sm\:px-3 {
    padding-left: .75rem;
    padding-right: .75rem
  }

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem
  }

  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
  }

  .sm\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem
  }

  .sm\:py-1 {
    padding-top: .25rem;
    padding-bottom: .25rem
  }

  .sm\:py-2 {
    padding-top: .5rem;
    padding-bottom: .5rem
  }

  .sm\:py-3\.5 {
    padding-top: .875rem;
    padding-bottom: .875rem
  }

  .sm\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem
  }

  .sm\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
  }

  .sm\:pb-0 {
    padding-bottom: 0
  }

  .sm\:pb-16 {
    padding-bottom: 4rem
  }

  .sm\:pb-2 {
    padding-bottom: .5rem
  }

  .sm\:pb-3 {
    padding-bottom: .75rem
  }

  .sm\:pb-6 {
    padding-bottom: 1.5rem
  }

  .sm\:pb-7 {
    padding-bottom: 1.75rem
  }

  .sm\:pb-\[48px\] {
    padding-bottom: 48px
  }

  .sm\:pl-10 {
    padding-left: 2.5rem
  }

  .sm\:pl-6 {
    padding-left: 1.5rem
  }

  .sm\:pr-4 {
    padding-right: 1rem
  }

  .sm\:pr-8 {
    padding-right: 2rem
  }

  .sm\:pt-10 {
    padding-top: 2.5rem
  }

  .sm\:pt-24 {
    padding-top: 6rem
  }

  .sm\:pt-3 {
    padding-top: .75rem
  }

  .sm\:pt-4 {
    padding-top: 1rem
  }

  .sm\:pt-6 {
    padding-top: 1.5rem
  }

  .sm\:pt-8 {
    padding-top: 2rem
  }

  .sm\:pt-\[40px\] {
    padding-top: 40px
  }

  .sm\:pt-\[56px\] {
    padding-top: 56px
  }

  .sm\:text-left {
    text-align: left
  }

  .sm\:text-center {
    text-align: center
  }

  .sm\:text-right {
    text-align: right
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
  }

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
  }

  .sm\:text-\[10px\] {
    font-size: 10px
  }

  .sm\:text-\[110px\] {
    font-size: 110px
  }

  .sm\:text-\[11px\] {
    font-size: 11px
  }

  .sm\:text-\[12px\] {
    font-size: 12px
  }

  .sm\:text-\[13\.5px\] {
    font-size: 13.5px
  }

  .sm\:text-\[13px\] {
    font-size: 13px
  }

  .sm\:text-\[14\.5px\] {
    font-size: 14.5px
  }

  .sm\:text-\[14px\] {
    font-size: 14px
  }

  .sm\:text-\[15px\] {
    font-size: 15px
  }

  .sm\:text-\[16px\] {
    font-size: 16px
  }

  .sm\:text-\[17px\] {
    font-size: 17px
  }

  .sm\:text-\[18px\] {
    font-size: 18px
  }

  .sm\:text-\[19px\] {
    font-size: 19px
  }

  .sm\:text-\[20px\] {
    font-size: 20px
  }

  .sm\:text-\[22px\] {
    font-size: 22px
  }

  .sm\:text-\[24px\] {
    font-size: 24px
  }

  .sm\:text-\[25px\] {
    font-size: 25px
  }

  .sm\:text-\[26px\] {
    font-size: 26px
  }

  .sm\:text-\[28px\] {
    font-size: 28px
  }

  .sm\:text-\[30px\] {
    font-size: 30px
  }

  .sm\:text-\[32px\] {
    font-size: 32px
  }

  .sm\:text-\[34px\] {
    font-size: 34px
  }

  .sm\:text-\[36px\] {
    font-size: 36px
  }

  .sm\:text-\[38px\] {
    font-size: 38px
  }

  .sm\:text-\[40px\] {
    font-size: 40px
  }

  .sm\:text-\[42px\] {
    font-size: 42px
  }

  .sm\:text-\[44px\] {
    font-size: 44px
  }

  .sm\:text-\[46px\] {
    font-size: 46px
  }

  .sm\:text-\[48px\] {
    font-size: 48px
  }

  .sm\:text-\[56px\] {
    font-size: 56px
  }

  .sm\:text-\[60px\] {
    font-size: 60px
  }

  .sm\:text-\[80px\] {
    font-size: 80px
  }

  .sm\:text-\[90px\] {
    font-size: 90px
  }

  .sm\:text-\[9px\] {
    font-size: 9px
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem
  }

  .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
  }

  .sm\:text-sm {
    font-size: .875rem;
    line-height: 1.25rem
  }

  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
  }

  .sm\:text-xs {
    font-size: .75rem;
    line-height: 1rem
  }

  .sm\:leading-\[22px\] {
    line-height: 22px
  }

  .sm\:opacity-75 {
    opacity: .75
  }
}

@media(min-width:768px) {
  .md\:bottom-8 {
    bottom: 2rem
  }

  .md\:left-8 {
    left: 2rem
  }

  .md\:right-\[10px\] {
    right: 10px
  }

  .md\:top-\[10px\] {
    top: 10px
  }

  .md\:col-span-1 {
    grid-column: span 1 / span 1
  }

  .md\:col-span-3 {
    grid-column: span 3 / span 3
  }

  .md\:col-span-4 {
    grid-column: span 4 / span 4
  }

  .md\:col-span-5 {
    grid-column: span 5 / span 5
  }

  .md\:col-span-7 {
    grid-column: span 7 / span 7
  }

  .md\:col-span-9 {
    grid-column: span 9 / span 9
  }

  .md\:mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem
  }

  .md\:mt-4 {
    margin-top: 1rem
  }

  .md\:mt-\[75px\] {
    margin-top: 75px
  }

  .md\:inline-block {
    display: inline-block
  }

  .md\:flex {
    display: flex
  }

  .md\:h-12 {
    height: 3rem
  }

  .md\:h-7 {
    height: 1.75rem
  }

  .md\:h-8 {
    height: 2rem
  }

  .md\:h-\[120px\] {
    height: 120px
  }

  .md\:h-\[230px\] {
    height: 230px
  }

  .md\:h-\[250px\] {
    height: 250px
  }

  .md\:h-\[280px\] {
    height: 280px
  }

  .md\:h-\[600px\] {
    height: 600px
  }

  .md\:h-\[640px\] {
    height: 640px
  }

  .md\:min-h-\[100px\] {
    min-height: 100px
  }

  .md\:min-h-\[48px\] {
    min-height: 48px
  }

  .md\:min-h-\[52px\] {
    min-height: 52px
  }

  .md\:min-h-\[700px\] {
    min-height: 700px
  }

  .md\:w-8 {
    width: 2rem
  }

  .md\:w-\[148px\] {
    width: 148px
  }

  .md\:w-\[220px\] {
    width: 220px
  }

  .md\:w-\[258px\] {
    width: 258px
  }

  .md\:w-auto {
    width: auto
  }

  .md\:max-w-\[100px\] {
    max-width: 100px
  }

  .md\:max-w-\[110px\] {
    max-width: 110px
  }

  .md\:max-w-\[130px\] {
    max-width: 130px
  }

  .md\:max-w-\[150px\] {
    max-width: 150px
  }

  .md\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .md\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr))
  }

  .md\:flex-row {
    flex-direction: row
  }

  .md\:items-start {
    align-items: flex-start
  }

  .md\:items-end {
    align-items: flex-end
  }

  .md\:items-center {
    align-items: center
  }

  .md\:justify-start {
    justify-content: flex-start
  }

  .md\:gap-0 {
    gap: 0px
  }

  .md\:gap-10 {
    gap: 2.5rem
  }

  .md\:gap-14 {
    gap: 3.5rem
  }

  .md\:gap-2 {
    gap: .5rem
  }

  .md\:gap-4 {
    gap: 1rem
  }

  .md\:gap-6 {
    gap: 1.5rem
  }

  .md\:gap-8 {
    gap: 2rem
  }

  .md\:gap-\[32px\] {
    gap: 32px
  }

  .md\:gap-\[37px\] {
    gap: 37px
  }

  .md\:space-x-3>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(.75rem * var(--tw-space-x-reverse));
    margin-left: calc(.75rem * calc(1 - var(--tw-space-x-reverse)))
  }

  .md\:space-y-10>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse))
  }

  .md\:space-y-14>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3.5rem * var(--tw-space-y-reverse))
  }

  .md\:space-y-24>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(6rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(6rem * var(--tw-space-y-reverse))
  }

  .md\:self-auto {
    align-self: auto
  }

  .md\:rounded-3xl {
    border-radius: 1.5rem
  }

  .md\:border-x {
    border-left-width: 1px;
    border-right-width: 1px
  }

  .md\:border-\[\#818181\]\/40 {
    border-color: #81818166
  }

  .md\:p-12 {
    padding: 3rem
  }

  .md\:p-3\.5 {
    padding: .875rem
  }

  .md\:p-4 {
    padding: 1rem
  }

  .md\:p-\[10px\] {
    padding: 10px
  }

  .md\:px-2\.5 {
    padding-left: .625rem;
    padding-right: .625rem
  }

  .md\:px-3 {
    padding-left: .75rem;
    padding-right: .75rem
  }

  .md\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem
  }

  .md\:py-0 {
    padding-top: 0;
    padding-bottom: 0
  }

  .md\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem
  }

  .md\:py-14 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem
  }

  .md\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem
  }

  .md\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem
  }

  .md\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
  }

  .md\:pb-12 {
    padding-bottom: 3rem
  }

  .md\:pb-16 {
    padding-bottom: 4rem
  }

  .md\:pb-20 {
    padding-bottom: 5rem
  }

  .md\:pb-24 {
    padding-bottom: 6rem
  }

  .md\:pb-5 {
    padding-bottom: 1.25rem
  }

  .md\:pb-6 {
    padding-bottom: 1.5rem
  }

  .md\:pb-7 {
    padding-bottom: 1.75rem
  }

  .md\:pb-8 {
    padding-bottom: 2rem
  }

  .md\:pl-4 {
    padding-left: 1rem
  }

  .md\:pl-8 {
    padding-left: 2rem
  }

  .md\:pr-8 {
    padding-right: 2rem
  }

  .md\:pt-12 {
    padding-top: 3rem
  }

  .md\:pt-14 {
    padding-top: 3.5rem
  }

  .md\:pt-16 {
    padding-top: 4rem
  }

  .md\:pt-20 {
    padding-top: 5rem
  }

  .md\:pt-8 {
    padding-top: 2rem
  }

  .md\:pt-\[100px\] {
    padding-top: 100px
  }

  .md\:pt-\[105px\] {
    padding-top: 105px
  }

  .md\:pt-\[125px\] {
    padding-top: 125px
  }

  .md\:pt-\[95px\] {
    padding-top: 95px
  }

  .md\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
  }

  .md\:text-\[110px\] {
    font-size: 110px
  }

  .md\:text-\[11px\] {
    font-size: 11px
  }

  .md\:text-\[12px\] {
    font-size: 12px
  }

  .md\:text-\[14px\] {
    font-size: 14px
  }

  .md\:text-\[15\.5px\] {
    font-size: 15.5px
  }

  .md\:text-\[15px\] {
    font-size: 15px
  }

  .md\:text-\[16px\] {
    font-size: 16px;
  }

  .md\:text-\[17px\] {
    font-size: 17px
  }

  .md\:text-\[18px\] {
    font-size: 18px
  }

  .md\:text-\[19px\] {
    font-size: 19px
  }

  .md\:text-\[20px\] {
    font-size: 20px
  }

  .md\:text-\[22px\] {
    font-size: 22px
  }

  .md\:text-\[24px\] {
    font-size: 24px
  }

  .md\:text-\[28px\] {
    font-size: 28px
  }

  .md\:text-\[31px\] {
    font-size: 31px
  }

  .md\:text-\[32px\] {
    font-size: 32px
  }

  .md\:text-\[34px\] {
    font-size: 34px
  }

  .md\:text-\[36px\] {
    font-size: 36px
  }

  .md\:text-\[38px\] {
    font-size: 38px
  }

  .md\:text-\[40px\] {
    font-size: 40px
  }

  .md\:text-\[42px\] {
    font-size: 42px
  }

  .md\:text-\[44px\] {
    font-size: 44px
  }

  .md\:text-\[46px\] {
    font-size: 46px
  }

  .md\:text-\[48px\] {
    font-size: 48px
  }

  .md\:text-\[54px\] {
    font-size: 54px
  }

  .md\:text-\[80px\] {
    font-size: 80px
  }

  .md\:text-sm {
    font-size: .875rem;
    line-height: 1.25rem
  }

  .md\:leading-\[24px\] {
    line-height: 24px
  }
}

@media(min-width:1024px) {
  .lg\:sticky {
    position: sticky
  }

  .lg\:right-8 {
    right: 2rem
  }

  .lg\:top-6 {
    top: 1.5rem
  }

  .lg\:top-\[90px\] {
    top: 90px
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2
  }

  .lg\:col-span-3 {
    grid-column: span 3 / span 3
  }

  .lg\:col-span-4 {
    grid-column: span 4 / span 4
  }

  .lg\:col-span-5 {
    grid-column: span 5 / span 5
  }

  .lg\:col-span-6 {
    grid-column: span 6 / span 6
  }

  .lg\:col-span-7 {
    grid-column: span 7 / span 7
  }

  .lg\:col-span-8 {
    grid-column: span 8 / span 8
  }

  .lg\:mb-12 {
    margin-bottom: 3rem
  }

  .lg\:mt-0 {
    margin-top: 0
  }

  .lg\:mt-8 {
    margin-top: 2rem
  }

  .lg\:block {
    display: block
  }

  .lg\:flex {
    display: flex
  }

  .lg\:hidden {
    display: none
  }

  .lg\:aspect-\[922\/565\] {
    aspect-ratio: 922/565
  }

  .lg\:h-5 {
    height: 1.25rem
  }

  .lg\:h-\[115px\] {
    height: 115px
  }

  .lg\:h-\[132px\] {
    height: 132px
  }

  .lg\:h-\[256px\] {
    height: 256px
  }

  .lg\:h-\[284px\] {
    height: 284px
  }

  .lg\:h-\[312px\] {
    height: 312px
  }

  .lg\:h-full {
    height: 100%
  }

  .lg\:max-h-\[480px\] {
    max-height: 480px
  }

  .lg\:min-h-\[500px\] {
    min-height: 500px
  }

  .lg\:w-\[115px\] {
    width: 115px
  }

  .lg\:w-\[260px\] {
    width: 260px
  }

  .lg\:w-\[36px\] {
    width: 36px
  }

  .lg\:w-\[405px\] {
    width: 405px
  }

  .lg\:w-auto {
    width: auto
  }

  .lg\:min-w-\[405px\] {
    min-width: 405px
  }

  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr))
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .lg\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr))
  }

  .lg\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr))
  }

  .lg\:grid-cols-\[519fr_741fr\] {
    grid-template-columns: 519fr 741fr
  }

  .lg\:grid-cols-\[741fr_519fr\] {
    grid-template-columns: 741fr 519fr
  }

  .lg\:flex-row {
    flex-direction: row
  }

  .lg\:items-start {
    align-items: flex-start
  }

  .lg\:items-end {
    align-items: flex-end
  }

  .lg\:gap-10 {
    gap: 2.5rem
  }

  .lg\:gap-12 {
    gap: 3rem
  }

  .lg\:gap-14 {
    gap: 3.5rem
  }

  .lg\:gap-16 {
    gap: 4rem
  }

  .lg\:gap-5 {
    gap: 1.25rem
  }

  .lg\:gap-6 {
    gap: 1.5rem
  }

  .lg\:gap-8 {
    gap: 2rem
  }

  .lg\:gap-\[32px\] {
    gap: 32px
  }

  .lg\:gap-\[38px\] {
    gap: 38px
  }

  .lg\:gap-\[clamp\(16px\,2\.5vw\,40px\)\] {
    gap: clamp(16px, 2.5vw, 40px)
  }

  .lg\:gap-\[clamp\(35px\,2\.7vw\,40px\)\] {
    gap: clamp(35px, 2.7vw, 40px)
  }

  .lg\:space-y-8>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse))
  }

  .lg\:border-l {
    border-left-width: 1px
  }

  .lg\:border-t-0 {
    border-top-width: 0px
  }

  .lg\:p-10 {
    padding: 2.5rem
  }

  .lg\:p-12 {
    padding: 3rem
  }

  .lg\:p-8 {
    padding: 2rem
  }

  .lg\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem
  }

  .lg\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem
  }

  .lg\:px-\[28px\] {
    padding-left: 28px;
    padding-right: 28px
  }

  .lg\:px-\[72px\] {
    padding-left: 72px;
    padding-right: 72px
  }

  .lg\:pb-0 {
    padding-bottom: 0
  }

  .lg\:pb-\[24px\] {
    padding-bottom: 24px
  }

  .lg\:pb-\[94px\] {
    padding-bottom: 94px
  }

  .lg\:pl-6 {
    padding-left: 1.5rem
  }

  .lg\:pl-\[72px\] {
    padding-left: 72px
  }

  .lg\:pr-\[120px\] {
    padding-right: 120px
  }

  .lg\:pt-0 {
    padding-top: 0
  }

  .lg\:pt-12 {
    padding-top: 3rem
  }

  .lg\:pt-\[104px\] {
    padding-top: 104px
  }

  .lg\:pt-\[19px\] {
    padding-top: 19px
  }

  .lg\:pt-\[54px\] {
    padding-top: 54px
  }

  .lg\:pt-\[62px\] {
    padding-top: 62px
  }

  .lg\:text-\[120px\] {
    font-size: 120px
  }

  .lg\:text-\[130px\] {
    font-size: 130px
  }

  .lg\:text-\[14\.5px\] {
    font-size: 14.5px
  }

  .lg\:text-\[150px\] {
    font-size: 150px
  }

  .lg\:text-\[15px\] {
    font-size: 15px
  }

  .lg\:text-\[16px\] {
    font-size: 16px
  }

  .lg\:text-\[17px\] {
    font-size: 17px
  }

  .lg\:text-\[19px\] {
    font-size: 19px
  }

  .lg\:text-\[20px\] {
    font-size: 20px
  }

  .lg\:text-\[25px\] {
    font-size: 25px
  }

  .lg\:text-\[31px\] {
    font-size: 31px
  }

  .lg\:text-\[34px\] {
    font-size: 34px
  }

  .lg\:text-\[36px\] {
    font-size: 36px
  }

  .lg\:text-\[38px\] {
    font-size: 38px
  }

  .lg\:text-\[39px\] {
    font-size: 39px
  }

  .lg\:text-\[42px\] {
    font-size: 42px
  }

  .lg\:text-\[44px\] {
    font-size: 44px
  }

  .lg\:text-\[48px\] {
    font-size: 48px
  }

  .lg\:text-\[49px\] {
    font-size: 49px
  }

  .lg\:text-\[61px\] {
    font-size: 61px
  }

  .lg\:text-\[62px\] {
    font-size: 62px
  }

  .lg\:text-\[96px\] {
    font-size: 96px
  }
}

@media(min-width:1280px) {
  .xl\:col-span-5 {
    grid-column: span 5 / span 5
  }

  .xl\:col-span-6 {
    grid-column: span 6 / span 6
  }

  .xl\:col-span-7 {
    grid-column: span 7 / span 7
  }

  .xl\:ml-2 {
    margin-left: .5rem
  }

  .xl\:ml-\[160px\] {
    margin-left: 160px
  }

  .xl\:mr-2 {
    margin-right: .5rem
  }

  .xl\:inline {
    display: inline
  }

  .xl\:flex {
    display: flex
  }

  .xl\:h-screen {
    height: 100vh
  }

  .xl\:max-h-screen {
    max-height: 100vh
  }

  .xl\:max-w-\[285px\] {
    max-width: 285px
  }

  .xl\:max-w-\[330px\] {
    max-width: 330px
  }

  .xl\:items-end {
    align-items: flex-end
  }

  .xl\:gap-12 {
    gap: 3rem
  }

  .xl\:gap-\[30px\] {
    gap: 30px
  }

  .xl\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem
  }

  .xl\:pl-\[220px\] {
    padding-left: 220px
  }

  .xl\:pl-\[221px\] {
    padding-left: 221px
  }

  .xl\:pr-0 {
    padding-right: 0
  }

  .xl\:pr-10 {
    padding-right: 2.5rem
  }

  .xl\:pr-6 {
    padding-right: 1.5rem
  }

  .xl\:text-\[150px\] {
    font-size: 140px
  }

  .xl\:text-\[20px\] {
    font-size: 20px
  }

  .xl\:text-\[32px\] {
    font-size: 32px
  }

  .xl\:text-\[40px\] {
    font-size: 40px
  }
}

@media(min-width:1536px) {
  .\32xl\:ml-\[180px\] {
    margin-left: 180px
  }

  .\32xl\:px-24 {
    padding-left: 6rem;
    padding-right: 6rem
  }
}

.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

/* CKEditor & Rich Text Defensive Layout Protection */
.page-main-content {
  display: block;
  width: 100%;
  clear: both;
}

.page-main-content::before,
.page-main-content::after {
  content: "";
  display: table;
  clear: both;
}

.page-main-content * {
  box-sizing: border-box;
}

.page-main-content img,
.page-main-content figure,
.page-main-content video,
.page-main-content iframe {
  max-width: 100%;
  height: auto;
}

@media (min-width: 768px) {


  .page-main-content [style*="float:left"],
  .page-main-content [style*="float: left"] {
    float: left;
    width: calc(50% - 14px);
    max-width: calc(50% - 14px);
    margin-left: 0;
    margin-right: 14px;
    margin-top: 0;
    margin-bottom: 1.5rem;
    box-sizing: border-box;
  }

  .page-main-content [style*="float:right"],
  .page-main-content [style*="float: right"] {
    float: right;
    width: calc(50% - 14px);
    max-width: calc(50% - 14px);
    margin-right: 0;
    margin-left: 14px;
    margin-top: 0;
    margin-bottom: 1.5rem;
    box-sizing: border-box;
  }

  .page-main-content div[style*="float:left"]:not(:first-of-type),
  .page-main-content div[style*="float: left"]:not(:first-of-type) {
    clear: both;
  }
}

@media (max-width: 767px) {

  .page-main-content [style*="float:left"],
  .page-main-content [style*="float: left"],
  .page-main-content [style*="float:right"],
  .page-main-content [style*="float: right"] {
    float: none;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 1.25rem;
    clear: both;
    box-sizing: border-box;
  }
}

.page-main-content p:empty,
.page-main-content p:has(br:only-child) {
  clear: both;
  margin: 0;
  padding: 0;
  height: 0;
  line-height: 0;
}

.page-main-content figure.table {
  margin: 1.5rem 0;
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.page-main-content table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #d1d5db;
  background-color: #ffffff;
  margin: 0;
  word-break: break-word;
}

.page-main-content table th,
.page-main-content table td {
  border: 1px solid #e5e7eb;
  padding: 0.625rem 0.875rem;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.5;
  vertical-align: top;
  word-break: break-word;
}

.page-main-content table th {
  background-color: #f3f4f6;
  font-weight: 700;
  color: #111827;
}

.page-main-content table tr:nth-child(even) td {
  background-color: #fafafa;
}

.page-main-content h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111827;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  line-height: 1.35;
}

.page-main-content h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #111827;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
  line-height: 1.35;
}

.page-main-content p {
  margin-bottom: 1.25rem;
  line-height: 1.75;
}

/* ==========================================================================
   VIEWPORT 1440PX CENTERING & FIGMA BALANCING SYSTEM
   ========================================================================== */
.self-center {
  align-self: center;
}

/* ==========================================================================
   HOMEPAGE SECTION SYSTEM:
   - Desktop (>= 1024px): 100svh Center-Center Onepage Presentation
   - Mobile (< 1024px): Chiều cao tự nhiên (Natural Height), cuộn mượt mà
   ========================================================================== */

/* 1. DESKTOP (>= 1024px): Onepage 100svh Presentation với hệ thống tự co giãn theo Viewport Height (Laptop Macbook 13", 1440x900, 1280x800) */
@media (min-width: 1024px) {
  .homepage-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100svh;
    min-height: 100svh;
    max-height: 100svh;
    box-sizing: border-box;
    position: relative;
    padding-left: 0;
    padding-right: 0;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }


  .clients-section-safe {
    box-sizing: border-box;
    padding-top: clamp(60px, 8vh, 90px);
    padding-bottom: clamp(16px, 4vh, 32px);
    padding-left: 0;
    padding-right: 0;
  }
}

/* ==========================================================================
   LAPTOP & COMPACT HEIGHT SYSTEM (Macbook 13", 1440x900, 1280x800, Chiều cao <= 860px)
   Khắc phục hoàn toàn tình trạng vỡ giao diện, tràn chữ, đè nút cuộn trên laptop
   ========================================================================== */
@media (min-width: 1024px) and (max-height: 860px) {



  /* Thu nhỏ nhẹ nhàng nút scroll indicator để không chèn lên nội dung */
  .btn-scroll-indicator {
    padding-bottom: 2px;
  }

  .scroll-indicator-wrap {
    width: 26px;
    height: 26px;
  }

  .scroll-indicator-wrap svg {
    width: 26px;
    height: 26px;
  }

  /* Section 1: Hero Banner */
  #home-hero #hero-center-text {
    gap: clamp(6px, 1.5vh, 12px);
    padding-top: 0;
  }



  #home-hero #hero-bottom-row {
    padding-bottom: 4px;
  }

  #home-hero .hero-bottom-left-col {
    max-width: 370px;
    gap: 8px;
  }

  #home-hero .hero-bottom-left-col .text-\[16px\] {
    font-size: 16px;
    line-height: normal;
    letter-spacing: 0%;
  }

  /* Section 2: About Us */
  #home-about .about-figma-frame {
    gap: 35px;
  }

  #home-about .about-showcase-box {
    max-height: min(400px, calc(100vh - 290px));
    margin-top: 0px;
    margin-bottom: 0px;
  }


  #home-about h2 {
    font-size: clamp(20px, 3vh, 26px);
  }

  #home-about .about-content-row {
    gap: clamp(12px, 2vw, 24px);
  }

  #home-about .text-neutral-700 {
    font-size: 13px;
    line-height: 1.45;
  }

  /* Section 3: Projects */
  #home-projects .proj-body {
    gap: clamp(16px, 2.8vw, 36px);
  }

  #home-projects .proj-card__img-wrap {
    aspect-ratio: 593 / 340;
    max-height: clamp(210px, 30vh, 270px);
    min-height: 190px;
  }

  #home-projects .proj-title {
    font-size: 31px;
    line-height: 1.15;
  }

  #home-projects .proj-desc {
    font-size: 16px;
    line-height: 1.45;
  }

  #home-projects .proj-left {
    gap: clamp(14px, 2.2vh, 22px);
  }

  /* Section 4: Products */
  #home-products .products-body {
    gap: clamp(8px, 1.4vh, 14px);
  }

  #home-products h2 {
    font-size: clamp(20px, 3vh, 26px);
  }

  #home-products .product-box-compact {
    padding: 8px 10px;
  }

  #home-products .product-box-compact .aspect-\[236\/240\] {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    max-height: clamp(125px, 44vh, 266px);
  }

  #home-products .product-box-compact h3 {
    font-size: 20px;
    min-height: 34px;
    line-height: 17px;
  }

  /* Section 5: Workflow */
  #home-workflow .workflow-figma-frame {
    gap: clamp(14px, 2.5vh, 24px);
  }

  #home-workflow .workflow-header {
    gap: 4px;
  }

  #home-workflow .workflow-title {
    font-size: clamp(22px, 3.4vh, 30px);
  }

  #home-workflow .workflow-desc {
    font-size: 16px;
    line-height: 1.35;
  }

  #home-workflow .workflow-steps-wrap {
    gap: clamp(12px, 2.2vh, 20px);
  }

  #home-workflow .workflow-steps-wrap .grid {
    gap: clamp(12px, 2vw, 22px);
  }

  #home-workflow .workflow-step {
    gap: 3px;
  }

  #home-workflow .workflow-step-title {
    font-size: 15px;
  }

  #home-workflow .workflow-step-desc {
    font-size: 12.5px;
    line-height: 1.35;
  }

  /* Section 6: Commitments (Vì sao chọn chúng tôi - Tránh hoàn toàn đè nút cuộn) */
  #home-commitments .commitments-body {
    gap: clamp(12px, 2.2vh, 22px);
  }

  #home-commitments .text-\[49px\] {
    font-size: clamp(24px, 3.5vh, 32px);
    line-height: 1;
  }

  #home-commitments .text-\[16px\] {
    font-size: 12px;
  }

  #home-commitments .commitments-body .grid {
    row-gap: clamp(10px, 1.8vh, 18px);
    column-gap: clamp(20px, 3.5vw, 48px);
  }

  #home-commitments .commitments-number {
    font-size: clamp(28px, 4vh, 36px);
    line-height: 1;
  }

  #home-commitments .commitments-item-title {
    font-size: clamp(14px, 1.9vh, 16.5px);
  }

  #home-commitments .commitments-item-desc {
    font-size: clamp(16px, 1.6vh, 16px);
    line-height: 1.38;
  }

  /* Section 7: Clients Showcase */
  .clients-section-safe {
    padding-top: clamp(38px, 5.5vh, 55px);
    padding-bottom: clamp(12px, 2.5vh, 20px);
  }

  .clients-wall-grid {
    height: clamp(155px, 22vh, 195px);
    column-gap: 6px;
    row-gap: 6px;
  }

  .client-tile {
    max-height: clamp(80px, 11.5vh, 110px);
    border-radius: 6px;
  }



  /* Section 8: News (Fit height chuẩn trên Laptop <= 860px) */
  #home-news.homepage-section-safe {
    padding-top: clamp(55px, 7.5vh, 70px);
    padding-bottom: clamp(6px, 1.5vh, 14px);
  }

  #home-news .news-body {
    gap: clamp(8px, 1.5vh, 14px);
  }

  #home-news h2 {
    font-size: clamp(20px, 2.8vh, 26px);
  }

  #home-news .home-news-swiper .swiper-slide {
    width: 70%;
  }

  #home-news .home-news-swiper .news-card-image-wrap {
    height: 400px;
  }

  #home-news .news-slide-content h3 {
    font-size: clamp(14px, 1.8vh, 17px);
  }

  #home-news .news-slide-content p {
    font-size: clamp(12.5px, 1.5vh, 14px);
    line-height: 1.35;
  }

  /* Section 9: Contact (Fit height toàn diện trên Laptop và màn hình < 860px) */
  #home-contact .figma-frame-1440 {
    gap: clamp(8px, 5.4vh, 20px);
  }

  #home-contact #contact-panel-company {
    gap: clamp(8px, 1.3vh, 14px);
  }

  #home-contact h2 {
    font-size: clamp(24px, 3.6vh, 38px);
    line-height: 1.1;
  }

  #home-contact #contact-panel-company .grid {
    gap: clamp(8px, 1.5vw, 18px);
    padding-top: 0;
  }

  #home-contact .md\:col-span-5,
  #home-contact .md\:col-span-4,
  #home-contact .md\:col-span-3 {
    gap: clamp(3px, 0.6vh, 6px);
  }

  #home-contact .md\:col-span-5 p,
  #home-contact .md\:col-span-4 div,
  #home-contact .md\:col-span-4 a {
    line-height: 1.35;
  }

  #home-contact a[aria-label] {
    width: clamp(26px, 3.4vh, 30px);
    height: clamp(26px, 3.4vh, 30px);
  }

  #home-contact .reveal-delay-4 {
    padding-top: 0;
    gap: clamp(3px, 0.5vh, 6px);
  }

  #home-contact h3 {
    font-size: clamp(12px, 1.6vh, 14px);
  }

  #home-contact .group\/partner-swiper {
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  #home-contact .swiper-slide {
    height: clamp(44px, 5.5vh, 60px);
  }

  #home-contact .swiper-slide img {
    height: clamp(34px, 4.5vh, 48px);
    max-height: clamp(34px, 4.5vh, 48px);
    max-width: clamp(130px, 14vw, 180px);
  }
}

/* Fallback an toàn tuyệt đối: Khi màn hình hoặc zoom trình duyệt quá nhỏ (chiều cao < 620px), cho phép cuộn tự nhiên mượt mà */
@media (min-width: 1024px) and (max-height: 620px) {
  .homepage-section {
    height: auto;
    min-height: 100svh;
    max-height: none;
    overflow-y: auto;
    scroll-snap-align: start;
  }
}

/* 2. MOBILE & TABLET (< 1024px): Chiều cao tự nhiên, không tràn vỡ, không khoảng trống vô lý */
@media (max-width: 1023px) {

  html,
  body {
    scroll-snap-type: none;
    scroll-behavior: smooth;
  }

  .homepage-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: auto;
    height: auto;
    max-height: none;
    box-sizing: border-box;
    position: relative;
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
    overflow-x: clip;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
  }

  /* Hero Banner màn đầu tiên trên mobile: Tăng chiều cao lên đủ màn hình, không bị cắt nội dung */
  #home-hero.homepage-section {
    min-height: 100svh;
    min-height: 100dvh;
    height: auto;
    justify-content: space-between;
    overflow: visible;
  }

  /* Padding các section trên mobile: Gọn gàng, loại bỏ khoảng trắng trống trải 200px */
  .homepage-section-safe {
    box-sizing: border-box;
    padding-top: clamp(120px, 8vh, 95px);
    padding-bottom: clamp(45px, 7vh, 80px);
    padding-left: 0;
    padding-right: 0;
  }

  #home-hero.homepage-section-safe {
    padding-top: clamp(76px, 12vh, 92px);
    padding-bottom: clamp(20px, 4vh, 32px);
    padding-left: 16px;
    padding-right: 16px;
  }

  .clients-section-safe {
    box-sizing: border-box;
    padding-top: clamp(40px, 6vh, 60px);
    padding-bottom: clamp(40px, 6vh, 60px);
    padding-left: 16px;
    padding-right: 16px;
    height: auto;
    min-height: auto;
    max-height: none;
  }

  /* Ẩn nút mũi tên scroll indicator ở dưới cùng trên mobile */
  .btn-scroll-indicator {
    display: none;
  }

  /* Section 9: Contact Heading trên Mobile: Fit chuẩn 32px */
  #home-contact h2,
  #home-contact .headline-text-contact {
    font-size: 32px;
    line-height: 1.1;
  }

  /* Typography Hero trên mobile: Cân đối, không bị gãy chữ */
  #hero-center-text h1 {
    font-size: clamp(34px, 11vw, 56px);
    letter-spacing: 0.02em;
    line-height: 1;
  }

  #hero-center-text .inline-flex {
    font-size: 13px;
    letter-spacing: 1.5px;
    gap: 8px;
  }

  /* Hình ảnh villa phần Giới Thiệu trên mobile: Tỉ lệ 16:9 sắc nét, không bị bóp ngắn */
  .about-showcase-box {
    aspect-ratio: 16 / 9;
    max-height: none;
  }

  /* Khung ảnh Dự Án (Projects) trên mobile: Giữ tỉ lệ chuẩn 593/350, không bị sụp chiều cao 0px */
  .proj-card__img-wrap {
    width: 100%;
    aspect-ratio: 593 / 350;
    min-height: 220px;
    max-height: 340px;
    position: relative;
    display: block;
    border-radius: 12px;
    overflow: hidden;
    background-color: #e5e5e5;
  }

  .proj-card__img-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .proj-card__img-slide.active {
    opacity: 1;
    z-index: 2;
    pointer-events: auto;
  }

  .proj-card__img-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
}

/* FIGMA 1440PX FRAME: Chuẩn hoá container 1440px căn giữa, padding 72px 2 bên */
.figma-frame-1440 {
  width: 100%;
  max-width: 1440px;
  box-sizing: border-box;
  padding-left: 16px;
  padding-right: 16px;
  margin-left: auto;
  margin-right: auto;
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@media (min-width: 640px) {
  .figma-frame-1440 {
    padding-left: 32px;
    padding-right: 32px;
  }


}

@media (min-width: 1024px) {
  .figma-frame-1440 {
    padding-left: 72px;
    padding-right: 72px;
  }
}

/* FIGMA 1440PX LAYOUT WITH SIDE MENU:
   Trong khung 1440px căn giữa:
   - Side menu chiếm khoảng trống bên trái (x = 38px đến 210px)
   - Nội dung chính bắt đầu từ x = 258px đến x = 1368px (rộng 1110px)
   - Lề phải khung là 72px (1440 - 1368 = 72px)
   Tổng: 258px (Left for Side Menu) + 1110px (Content) + 72px (Right) = 1440px chuẩn tuyệt đối theo Figma.
*/
@media (min-width: 1280px) {
  .figma-frame-1440.has-side-menu {
    padding-left: 258px;
    padding-right: 72px;
  }
}

/* FIGMA 1440PX HEADER: 66px Left (Hamburger start) + Center Logo + 72px Right (Contact link end) */
.figma-header-1440 {
  width: 100%;
  max-width: 1440px;
  box-sizing: border-box;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  .figma-header-1440 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (min-width: 1280px) {
  .figma-header-1440 {
    padding-left: 72px;
    padding-right: 72px;
  }
}

/* Showcase Villa Card Aspect Ratio & Alignment from Figma (1110 x 495) */
.about-showcase-box {
  aspect-ratio: 1110 / 495;
  max-height: min(495px, calc(100vh - 240px));
}

/* Onepage Side Menu positioning:
   Trên màn hình >= 1440px, khung 1440px căn giữa tại (100vw - 1440px) / 2.
   Side menu nằm tại x = 38px bên trong khung, do đó toạ độ màn hình là:
   left: calc((100vw - 1440px) / 2 + 38px);
   Trên màn hình 1280px - 1439px, căn theo tỉ lệ responsive.
*/
@media (min-width: 1280px) and (max-width: 1439px) {
  .side-menu-hp {
    left: clamp(16px, 2.5vw, 38px);
  }
}

@media (min-width: 1440px) {
  .side-menu-hp {
    left: calc((100vw - 1440px) / 2 + 38px);
  }
}

/* Scroll Indicator UP direction */
.icon-bottom-svg.direction-up {
  transform: rotate(180deg);
}

/* Onepage Side Menu Theme: Light Background Mode (About, Projects, Products, Commitments, News, Contact) */
.side-menu-hp.side-menu-light .side-menu-label {
  color: #737373;
}

.side-menu-hp.side-menu-light .side-menu-item:hover .side-menu-label,
.side-menu-hp.side-menu-light .side-menu-item.active .side-menu-label {
  color: #051650;
  font-weight: 300;
  font-size: 10px;
}

.side-menu-hp.side-menu-light .side-menu-dot-wrap {
  color: #9CA3AF;
}

.side-menu-hp.side-menu-light .side-menu-item:hover .side-menu-dot-wrap,
.side-menu-hp.side-menu-light .side-menu-item.active .side-menu-dot-wrap {
  color: #051650;
}

.side-menu-hp.side-menu-light .side-menu-line-top,
.side-menu-hp.side-menu-light .side-menu-line-bottom {
  background-color: transparent;
  color: #818181;
  opacity: 0.8;
}

.side-menu-hp.side-menu-light .side-menu-track {
  background-color: #D1D5DB;
  opacity: 0.9;
}

.side-menu-hp.side-menu-dark .side-menu-item:hover .side-menu-label,
.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-label {
  color: #FFFFFF;
  font-weight: 800;
}

.side-menu-hp.side-menu-dark .side-menu-item:hover .side-menu-dot-wrap,
.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-dot-wrap {
  color: #FFFFFF;
}

.side-menu-hp.side-menu-dark .side-menu-line-top,
.side-menu-hp.side-menu-dark .side-menu-line-bottom {
  background-color: transparent;
  color: #FFFFFF;
  opacity: 0.8;
}

.side-menu-hp.side-menu-dark .side-menu-track {
  background-color: rgba(255, 255, 255, 0.4);
  opacity: 0.8;
}




/* Dai Phuc 68 Clients Showcase: 9-Column Curved Gallery Wall (Figma 158:5464) */
.clients-section-safe {
  padding-top: clamp(85px, 11vh, 120px);
  padding-bottom: clamp(16px, 3.5vh, 32px);
}

.clients-wall-container {
  width: 100%;
  max-width: 1400px;
  position: relative;
}

/* Section 7: Clients 100% Figma Architectural Stage */
#home-clients {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-top: clamp(60px, 8.5vh, 80px);
  box-sizing: border-box;
}

#clients-canvas-stage {
  width: 100%;
  max-width: 1440px;
  height: 900px;
  max-height: 100%;
  box-sizing: border-box;
}

/* Header Light: transparent background per client request */
.site-header.header-light {
  background-color: transparent;
  background: transparent;
}

/* ----------------------------------------------------
 * CLIENTS SECTION: 9-COLUMN ARCHITECTURAL GRID
 * Chia thành 9 cột và định vị khoảng cách dọc bằng margin.
 * ---------------------------------------------------- */
#clients-canvas-stage .clients-grid-9 {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  column-gap: 8px;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 10;
  box-sizing: border-box;
}

#clients-canvas-stage .client-stage-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

#clients-canvas-stage .client-tile-item {
  width: 148.5px;
  max-width: 100%;
  height: 177px;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* Margin dọc cho từng cột & thẻ theo spec hiện tại */
#clients-canvas-stage .client-col-1 .item-0 {
  margin-top: -35px;
}

#clients-canvas-stage .client-col-1 .item-1 {
  margin-top: -22px;
}

#clients-canvas-stage .client-col-1 .item-2 {
  margin-top: 1px;
}

#clients-canvas-stage .client-col-2 .item-0 {
  margin-top: 55px;
}

#clients-canvas-stage .client-col-2 .item-1 {
  margin-top: 4px;
}

#clients-canvas-stage .client-col-3 .item-0 {
  margin-top: 5px;
}

#clients-canvas-stage .client-col-3 .item-1 {
  margin-top: -17px;
}

#clients-canvas-stage .client-col-4 .item-0 {
  margin-top: -50px;
}

#clients-canvas-stage .client-col-4 .item-1 {
  margin-top: -39px;
}

#clients-canvas-stage .client-col-5 .item-0 {
  margin-top: 5px;
}

#clients-canvas-stage .client-col-5 .item-1 {
  margin-top: -44px;
}

#clients-canvas-stage .client-col-6 .item-0 {
  margin-top: 58px;
}

#clients-canvas-stage .client-col-7 .item-0 {
  margin-top: 5px;
}

#clients-canvas-stage .client-col-7 .item-1 {
  margin-top: -17px;
}

#clients-canvas-stage .client-col-8 .item-0 {
  margin-top: -50px;
}

#clients-canvas-stage .client-col-8 .item-1 {
  margin-top: -39px;
}

#clients-canvas-stage .client-col-8 .item-2 {
  margin-top: 5px;
}

#clients-canvas-stage .client-col-9 .item-0 {
  margin-top: 5px;
}

#clients-canvas-stage .client-col-9 .item-1 {
  margin-top: -17px;
}

#clients-canvas-stage .client-col-9 .item-2 {
  margin-top: 6px;
}



/* Mobile layout (< 768px): 2-Column Staggered Masonry Grid matching User Spec */
@media (max-width: 767px) {
  .clients-section-safe {
    padding-top: clamp(68px, 9.5vh, 80px);
    padding-bottom: clamp(6px, 1.5vh, 12px);
    height: 50svh;
    max-height: 100svh;
  }

  .clients-wall-container {
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
    height: 100%;
    gap: 6px;
  }

  .clients-wall-grid {
    display: none;
  }

  /* Mobile 2-Column Staggered Masonry Grid */
  .clients-mobile-masonry {
    display: flex;
    flex-direction: row;
    gap: 10px;
    width: 100%;
    max-width: 440px;
    height: clamp(210px, 30vh, 260px);
    max-height: clamp(210px, 30vh, 260px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 4px 12px;
    scrollbar-width: thin;
    scrollbar-color: rgba(5, 22, 80, 0.25) transparent;
    flex-shrink: 0;
  }

  .clients-mobile-masonry::-webkit-scrollbar {
    width: 3px;
  }

  .clients-mobile-masonry::-webkit-scrollbar-thumb {
    background: rgba(5, 22, 80, 0.25);
    border-radius: 9999px;
  }

  .clients-masonry-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 0%;
    min-width: 0;
  }

  .clients-masonry-col .client-tile {
    width: 100%;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    background-color: #EAEAEA;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  }

  .clients-masonry-col .client-tile.tile-compact {
    height: 105px;
    min-height: 105px;
  }

  .clients-masonry-col .client-tile.tile-tall {
    height: 160px;
    min-height: 160px;
  }

  .clients-masonry-col .client-tile.tile-short {
    height: 80px;
    min-height: 80px;
  }

  .clients-masonry-col .client-tile.client-interactive.is-active-client {
    outline: 2.5px solid #051650;
    outline-offset: 2px;
    box-shadow: 0 6px 16px rgba(5, 22, 80, 0.22);
    transform: scale(1.02);
    z-index: 5;
  }

  .clients-headline-block {
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    gap: 2px;
    flex-shrink: 0;
  }

  .client-testimonial-box {
    width: 100%;
    max-width: 380px;
    text-align: center;
    align-items: center;
    padding-top: 0.15rem;
    padding-left: 1rem;
    padding-right: 1rem;
    flex-shrink: 0;
  }

  .client-testimonial-name {
    font-size: 0.875rem;
    font-weight: 700;
  }

  .client-testimonial-role {
    font-size: 0.71875rem;
  }

  .client-testimonial-quote {
    font-size: 0.71875rem;
    line-height: 1.4;
    min-height: 32px;
    max-height: 48px;
    padding-top: 0.15rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* Small heights viewport optimization (< 820px) */
@media (max-height: 820px) and (min-width: 1024px) {
  .clients-section-safe {
    padding-top: 80px;
    padding-bottom: 12px;
  }

  .client-tile {
    max-height: 135px;
  }

  .clients-wall-grid {
    height: 205px;
  }
}

/* Onepage Side Menu Styles */
.side-menu-hp {
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
}

.side-menu-hp.side-menu-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-50%) translateX(-24px);
}

@media (max-width: 1024px) {
  .side-menu-hp {
    display: none;
  }
}

/* ==========================================================================
   ONEPAGE SIDE MENU - Responsive Desktop & Laptop (1025px+)
   Hiển thị đầy đủ nhãn (label) trực tiếp ra ngoài không cần hover, font-size co giãn linh hoạt
   ========================================================================== */
@media (min-width: 1025px) {
  .side-menu-hp {
    display: block;
    width: auto;
    max-width: 185px;
    z-index: 40;
    pointer-events: auto;
  }

  .side-menu-hp .side-menu-container {
    width: auto;
    max-width: 185px;
  }

  .side-menu-hp .side-menu-item .side-menu-link {
    display: flex;
    align-items: center;
    gap: clamp(6px, 0.6vw, 10px);
    padding: 8px 0;
  }

  .side-menu-hp .side-menu-item .side-menu-label {
    display: inline-block;
    opacity: 0.75;
    visibility: visible;
    position: static;
    transform: none;
    font-size: clamp(9px, 0.7vw, 10.5px);
    font-weight: 500;
    letter-spacing: clamp(0.06em, 0.08vw, 0.12em);
    line-height: 1;
    white-space: nowrap;
    pointer-events: auto;
    background: transparent;
    box-shadow: none;
    padding: 0;
    color: inherit;
    transition: opacity 0.25s ease, font-weight 0.25s ease, color 0.25s ease, transform 0.25s ease;
  }

  .side-menu-hp .side-menu-item:hover .side-menu-label,
  .side-menu-hp .side-menu-item.active .side-menu-label {
    opacity: 1;
    font-weight: 700;
    transform: translateX(2px);
  }
}

/* Định vị Side Menu trên màn hình Laptop (1025px - 1439px) */
@media (min-width: 1025px) and (max-width: 1439px) {
  .side-menu-hp {
    left: clamp(14px, 1.8vw, 28px);
  }
}

@media (min-width: 1440px) {
  .core_value {
  padding: 0 257px;
}
  .side-menu-hp {
    left: calc((100vw - 1440px) / 2 + 38px);
  }
}

/* Khoảng trống an toàn chống va chạm nội dung trên Laptop (1025px - 1439px) */
@media (min-width: 1025px) and (max-width: 1439px) {

  #home-commitments .commitments-body,
  #home-products .products-body,
  #home-workflow .workflow-steps-wrap,
  #home-news .max-w-\[1110px\] {
    max-width: min(1110px, calc(100vw - 215px));
    align-self: flex-end;
  }

  #home-commitments .commitments-body>div.grid {
    column-gap: clamp(20px, 3vw, 48px);
  }
}

.side-menu-hp .side-menu-dot-svg {
  display: block;
  overflow: visible;
}

.side-menu-hp .side-menu-dot-svg .side-ring-outer,
.side-menu-hp .side-menu-dot-svg .side-ring-inner {
  transition: stroke 0.25s ease, opacity 0.25s ease;
}

.side-menu-hp .side-menu-dot-svg .side-dot-core {
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
  transform-origin: 9px 9px;
  transform: scale(0.35);
}

.side-menu-hp .side-menu-item.active .side-menu-dot-svg .side-dot-core,
.side-menu-hp .side-menu-item:hover .side-menu-dot-svg .side-dot-core {
  opacity: 1;
  transform: scale(1);
}

/* Light Mode (White background sections: About, Projects, Products, Commitments, Clients, News, Contact) */
.side-menu-hp.side-menu-light .side-menu-label {
  color: #818181;
}



.side-menu-hp.side-menu-light .side-menu-dot-wrap {
  color: #818181;
}

.side-menu-hp.side-menu-light .side-menu-item:hover .side-menu-dot-wrap,
.side-menu-hp.side-menu-light .side-menu-item.active .side-menu-dot-wrap {
  color: #051650;
}

.side-menu-hp.side-menu-light .side-menu-track {
  background-color: #818181;
  opacity: 0.3;
}

.side-menu-hp.side-menu-light .side-menu-line-top,
.side-menu-hp.side-menu-light .side-menu-line-bottom {
  background-color: transparent;
  color: #818181;
  opacity: 0.6;
}

/* Dark Mode (Dark background sections: Hero, Workflow) */
.side-menu-hp.side-menu-dark .side-menu-label {
  color: #818181;
}

.side-menu-hp.side-menu-dark .side-menu-item:hover .side-menu-label,
.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-label {
  color: #FFFFFF;
  font-weight: 800;
}

.side-menu-hp.side-menu-dark .side-menu-dot-wrap {
  color: #818181;
}

.side-menu-hp.side-menu-dark .side-menu-item:hover .side-menu-dot-wrap,
.side-menu-hp.side-menu-dark .side-menu-item.active .side-menu-dot-wrap {
  color: #FFFFFF;
}

.side-menu-hp.side-menu-dark .side-menu-track {
  background-color: rgba(255, 255, 255, 0.4);
  opacity: 0.5;
}

.side-menu-hp.side-menu-dark .side-menu-line-top,
.side-menu-hp.side-menu-dark .side-menu-line-bottom {
  background-color: transparent;
  color: #FFFFFF;
  opacity: 0.8;
}

#detail-viewed-products-slider {
  padding-left: 120px;
  padding-right: 120px;
}

/* Home Partners Swiper */
.home-partners-swiper {
  width: 100%;
  overflow: hidden;
  user-select: none;
  padding: 6px 0;
}

.home-partners-swiper .swiper-wrapper {
  display: flex;
  align-items: center;
}

.home-partners-swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.home-partners-swiper .swiper-slide img {
  pointer-events: auto;
  user-select: none;
  -webkit-user-drag: none;
  height: clamp(38px, 4.8vh, 52px);
  max-height: 52px;
  width: auto;
  max-width: 180px;
}

/* ==========================================================================
   WORKFLOW SECTION FIGMA 1:1 LINE BRIDGING & CTA BUTTON ALIGNMENT
   ========================================================================== */
#home-workflow .workflow-step {
  overflow: hidden;
}

#home-workflow .workflow-step .workflow-step-line-wrap {
  overflow: hidden;
  margin-right: 0 !important;
}

/* CTA column & button: start flush at column 3, vertically centered on line */
#home-workflow .workflow-cta-col {
  padding-left: 0;
}

#home-workflow .workflow-cta-btn {
  background-color: #FFFFFF;
  color: #051650;
  transform: none;
}

#home-workflow .workflow-cta-btn,
#home-workflow .workflow-cta-btn * {
  color: #051650;
}

#home-workflow .workflow-cta-btn:hover {
  background-color: #f5f5f5;
  transform: scale(1.02);
}

.workflow-cta-btn {
  padding: 6px 20px;
}

#home-workflow .workflow-cta-btn:active {
  transform: scale(0.98);
}

/* ========================================================
   HERO 3-FRAME INTRO ANIMATION (Desktop - 3 -> 2 -> 1)
   Total sequence: ~3 seconds automatic transition (No GSAP)
   ======================================================== */

.hero-sky-backdrop {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #4b8cd1 0%, #6ba4e2 35%, #8ebfef 70%, #b8dafc 100%);
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1);
}

#home-hero #hero-villa-img {
  transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.3s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: opacity, transform;
}

#home-hero #hero-center-text {
  transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: transform, opacity;
}

#home-hero #hero-bottom-row {
  transition: opacity 0.9s cubic-bezier(0.25, 1, 0.5, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform, opacity;
}

#home-hero .hero-bottom-left-col {
  transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform, opacity;
}

#home-hero .hero-bottom-right-col {
  transition: opacity 0.9s cubic-bezier(0.25, 1, 0.5, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform, opacity;
}

/* FRAME 1: Desktop - 3 (Khởi tạo - Bầu trời tĩnh lặng) */
#home-hero.hero-intro-f1 .hero-sky-backdrop {
  opacity: 1;
}

#home-hero.hero-intro-f1 #hero-villa-img {
  opacity: 0;
  transform: scale(1.06) translateY(20px);
}

#home-hero.hero-intro-f1 #hero-center-text {
  opacity: 0;
  transform: translateY(clamp(110px, 20vh, 222px)) scale(0.96);
}

#home-hero.hero-intro-f1 #hero-bottom-row {
  opacity: 0;
  pointer-events: none;
}

#home-hero.hero-intro-f1 .hero-bottom-left-col {
  opacity: 0;
  transform: translateY(24px);
}

#home-hero.hero-intro-f1 .hero-bottom-right-col {
  opacity: 0;
  transform: translateX(45px);
}

/* FRAME 2: Desktop - 2 (Reveal chữ & Slogan chính giữa) */
#home-hero.hero-intro-f2 .hero-sky-backdrop {
  opacity: 1;
}

#home-hero.hero-intro-f2 #hero-villa-img {
  opacity: 0;
  transform: scale(1.04) translateY(12px);
}

#home-hero.hero-intro-f2 #hero-center-text {
  opacity: 1;
  transform: translateY(clamp(110px, 20vh, 222px)) scale(1);
}

#home-hero.hero-intro-f2 #hero-bottom-row {
  opacity: 0;
  pointer-events: none;
}

#home-hero.hero-intro-f2 .hero-bottom-left-col {
  opacity: 0;
  transform: translateY(24px);
}

#home-hero.hero-intro-f2 .hero-bottom-right-col {
  opacity: 0;
  transform: translateX(45px);
}

/* FRAME 3: Desktop - 1 (Hoàn tất định vị Hero chính thức) */
#home-hero.hero-intro-f3 .hero-sky-backdrop {
  opacity: 0;
}

#home-hero.hero-intro-f3 #hero-villa-img {
  opacity: 1;
  transform: scale(1) translateY(0);
}

#home-hero.hero-intro-f3 #hero-center-text {
  opacity: 1;
  transform: translateY(0) scale(1);
}

#home-hero.hero-intro-f3 #hero-bottom-row {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

#home-hero.hero-intro-f3 .hero-bottom-left-col {
  opacity: 1;
  transform: translateY(0);
}

#home-hero.hero-intro-f3 .hero-bottom-right-col {
  opacity: 1;
  transform: translateX(0);
}

/* Fast-track when intro is complete (trạng thái tĩnh ổn định) */
#home-hero.hero-intro-settled .hero-sky-backdrop {
  display: none;
}

#home-hero.hero-intro-settled #hero-villa-img,
#home-hero.hero-intro-settled #hero-center-text,
#home-hero.hero-intro-settled #hero-bottom-row,
#home-hero.hero-intro-settled .hero-bottom-left-col,
#home-hero.hero-intro-settled .hero-bottom-right-col {
  transition: none;
  transform: none;
  opacity: 1;
}

/* ========================================================
   ABOUT PAGE NATURAL SCROLLING (Figma 200:7676, 1440x4152)
   Strictly Zero-Margin Implementation
   ======================================================== */
html:has(.about-page-main),
body:has(.about-page-main) {
  scroll-snap-type: none;
}

.about-page-main .homepage-section {
  height: auto;
  min-height: auto;
  max-height: none;
  scroll-snap-align: none;
  overflow: visible;
}

/* 1. Hero Section in Laptop Grid */
.about-page-main #home-hero {
  min-height: 100vh;
  min-height: 100svh;
  height: 100vh;
  max-height: none;
  overflow: hidden;
  border-radius: 12px;
}

@media (min-width: 1024px) {
  .about-page-main #home-hero {
    height: 100vh;
    width: 68.75%;

    min-height: 850px;
  }
}

@media (min-width: 1024px) {
  #home-hero .hero-content-frame {
    height: 100%;
    box-sizing: border-box;
    justify-content: space-between;
    padding-top: clamp(80px, 12vh, 120px);
    padding-bottom: clamp(16px, 3vh, 32px);
    gap: 35vh;
  }
}

@media (max-width: 1023px) {
  #home-hero .hero-content-frame {
    height: auto;
    flex: 1 1 auto;
    box-sizing: border-box;
    justify-content: space-between;
    padding-top: 10px;
    padding-bottom: 12px;
    gap: clamp(16px, 3vh, 28px);
  }
}

/* 2. About Overview Grid Layout (1440px with 258px padding left/right) */
#about-overview .about-overview-grid-container {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;

  padding: 80px 258px;
}

@media (max-width: 1279px) {
  #about-overview .about-overview-grid-container {
    padding-left: 48px;
    padding-right: 48px;
  }
}

@media (max-width: 639px) {
  #home-hero .hero-content-frame {
    justify-content: center;
  }

  #about-overview .about-overview-grid-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}



/* 3. Core Values (GIÁ TRỊ CỐT LÕI) Grid */
/* .about-values-heading {
  width: 258px  ;
  max-width: 258px  ;
  box-sizing: border-box  ;
} */

@media (max-width: 1023px) {
  .commitments-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 75px;
    row-gap: 45px;
  }

  .commitments-values-grid>.reveal-item {
    text-align: justify;

  }
}

.reveal-item {
  gap: 2.5rem;
}

@media (max-width: 639px) {
  .commitments-values-grid {
    grid-template-columns: 1fr;
    row-gap: 45px;

  }
}

/* 4. Projects Ellipse Showcase: Full Page inside 1440px Frame */
.proj-ellipse-section {
  position: relative;
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
  background-color: #f6f6f6;
  color: #051650;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-sizing: border-box;
}

@media (min-width: 1024px) {

  .proj-ellipse-section,
  .about-page-main #projects-showcase-section {

    height: auto;
    min-height: 0;
    max-height: none;
    /* padding-top: 48px;
    padding-bottom: 32px; */

    overflow: hidden;
    box-sizing: border-box;
  }
}

@media (max-width: 1023px) {

  .proj-ellipse-section,
  .about-page-main #projects-showcase-section {
    min-height: auto;
    padding-top: 36px;
    padding-bottom: 32px;
    padding-left: 0;
    padding-right: 0;
  }
}

.proj-ellipse-inner-container {
  height: 100%;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  padding-left: 0;
  padding-right: 0;
}

.proj-ellipse-title-wrapper {
  position: relative;
  z-index: 30;
  transform: translateY(36px);
}

@media (max-width: 1023px) {
  .proj-ellipse-title-wrapper {
    transform: translateY(20px);
  }
}

p.proj-ellipse-subtitle {
  margin-top: 0;
}

@media (min-width: 1024px) {
  p.proj-ellipse-subtitle {
    margin-top: -80px;
  }
}

.proj-ellipse-title {
  font-family: 'Inter';
  font-size: clamp(20px, 2.2vw, 32px);
  font-weight: 500;
  color: #051650;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: -0.01em;
  line-height: 1.25;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.proj-ellipse-title-line {
  display: block;
}

.proj-ellipse-title-line--1 {
  font-weight: 500;
  letter-spacing: 0.02em;
}

.proj-ellipse-title-line--2 {
  font-weight: 500;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

@media (max-width: 639px) {
  .proj-ellipse-title-line--2 {
    white-space: normal;
  }
}

.proj-ellipse-subtitle-wrapper {
  position: relative;
  z-index: 30;
  transform: translateY(-48px);
}

@media (max-width: 1023px) {
  .proj-ellipse-subtitle-wrapper {
    transform: translateY(-28px);
  }
}

.proj-ellipse-subtitle {
  font-family: 'Inter';
  font-size: clamp(13px, 1.1vw, 16px);
  font-weight: 400;
  color: #051650;
  text-align: center;
  line-height: 1.5;
  max-width: 520px;
}

.proj-ellipse-viewport-wrapper {
  position: relative;
  width: 100%;
  max-width: 100%;
  flex: none;
  margin-top: 0;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-top: -60px;
}

.proj-ellipse-viewport {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: clamp(420px, 54vh, 580px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  clip-path: url(#projects-ellipse-mask);
  -webkit-clip-path: url(#projects-ellipse-mask);
}

@media (min-width: 1024px) {
  .proj-ellipse-viewport {
    height: clamp(580px, 72vh, 760px);
  }
}

@media (max-width: 1023px) {
  .proj-ellipse-viewport {
    min-height: 380px;
    height: 480px;
  }
}

.proj-ellipse-viewport.swiper {
  display: block;
}

.proj-ellipse-track.swiper-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  height: 100%;
  margin: 0;
  gap: 0;
  box-sizing: border-box;
  transition-property: transform;
}

/* All slides have equal layout and uniform gap */
.proj-ellipse-card.swiper-slide {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  background-color: #e5e5e5;
  box-sizing: border-box;
  height: 100%;
  transform: none !important;
  opacity: 1;
}

.proj-ellipse-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.proj-ellipse-card:hover {
  transform: scale(1.02);
}

.proj-ellipse-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(5, 22, 80, 0.12);
  color: #051650;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 25;
  transition: all 0.25s ease;
  box-shadow: 0 4px 16px rgba(5, 22, 80, 0.1);
}

.proj-ellipse-nav-btn:hover {
  background: #051650;
  color: #ffffff;
  transform: translateY(-50%) scale(1.08);
}

.proj-ellipse-nav-btn--prev {
  left: 20px;
}

.proj-ellipse-nav-btn--next {
  right: 20px;
}

/* ==========================================================================
   DAIPHUC68 SECTION & INNER ELEMENT STAGGERED ENTRANCE REVEAL SYSTEM (GSAP + FALLBACK)
   ========================================================================== */
html.reveal-ready .reveal-item {
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

html.reveal-ready .reveal-fade {
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

html.reveal-ready .reveal-scale {
  opacity: 0;
  transform: scale(0.96) translateY(-25px);
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

/* When GSAP is active, let GSAP control transitions without CSS conflicts */
html.gsap-active .reveal-item,
html.gsap-active .reveal-fade,
html.gsap-active .reveal-scale {
  transition: none !important;
}

/* Stagger delays for CSS fallback */
html.reveal-ready .reveal-delay-1 {
  transition-delay: 80ms;
}

html.reveal-ready .reveal-delay-2 {
  transition-delay: 160ms;
}

html.reveal-ready .reveal-delay-3 {
  transition-delay: 240ms;
}

html.reveal-ready .reveal-delay-4 {
  transition-delay: 320ms;
}

html.reveal-ready .reveal-delay-5 {
  transition-delay: 400ms;
}

html.reveal-ready .reveal-delay-6 {
  transition-delay: 480ms;
}

html.reveal-ready .reveal-delay-7 {
  transition-delay: 560ms;
}

html.reveal-ready .reveal-delay-8 {
  transition-delay: 640ms;
}

/* Active revealed state */
html.reveal-ready .section-revealed .reveal-item,
html.reveal-ready .section-revealed .reveal-fade,
html.reveal-ready .section-revealed .reveal-scale,
html.reveal-ready .is-revealed.reveal-item,
html.reveal-ready .is-revealed.reveal-fade,
html.reveal-ready .is-revealed.reveal-scale,
html.reveal-ready .is-revealed .reveal-item,
html.reveal-ready .is-revealed .reveal-fade,
html.reveal-ready .is-revealed .reveal-scale {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Workflow steps CSS fallback */
#home-workflow .reveal-item {
  opacity: unset;
  transform: unset;
  transition: none;
}

#hero-bottom-row>.gap-hero {
  gap: 80px;
}

/* Desktop Full Section Scroll Snapping */
@media (min-width: 1024px) {

  html.is-homepage-snap,
  html.is-homepage-snap body {
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
  }

  html.is-homepage-snap section.homepage-section {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}

/* Reduced Motion fallback */
@media (prefers-reduced-motion: reduce) {

  html.reveal-ready .reveal-item,
  html.reveal-ready .reveal-fade,
  html.reveal-ready .reveal-scale {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Quy chuẩn toàn bộ thẻ p lên 16px */
p,
.homepage-section p,
.figma-frame-1440 p,
.has-side-menu p,
.post-excerpt,
.project-excerpt,
.proj-card__desc {
  font-size: 16px;
}

.homepage-section {
  display: flex;
  justify-items: center;
  align-items: center;
}

.aboutus-section-commitments {
  padding: 48px 16px;
}

@media (min-width: 640px) {
  .aboutus-section-commitments {
    padding: 64px 32px;
  }
}

@media (min-width: 1024px) {
  .aboutus-section-commitments {
    padding: 96px 48px;
  }
}

@media (min-width: 1280px) {
  .aboutus-section-commitments {
    padding: 120px 85px;
  }
}

.grid-layout-footer {
  padding: 0;
}

@media (min-width: 1024px) {
  .grid-layout-footer {
    padding: 0 32px;
  }
}

@media (min-width: 1280px) {
  .grid-layout-footer {
    padding: 0 75px;
  }
}

.commitments-values-grid {
  row-gap: 28px;
  column-gap: 24px;
}

@media (min-width: 768px) {
  .commitments-values-grid {
    row-gap: 36px;
    column-gap: 40px;
  }
}

@media (min-width: 1280px) {
  .commitments-values-grid {
    row-gap: 40px;
    column-gap: 75px;
  }
}

#about-values {
  padding: 48px 0;
}

@media (min-width: 768px) {
  #about-values {
    padding: 80px 0;
  }
}

@media (min-width: 1024px) {
  #about-values {
    padding: 120px 0;
  }
}