.site-header {
position: fixed;
  width: 100%;
  top: 0;
  z-index: 50;
  background-color: rgba(18, 20, 21, 0.8);
  border-bottom: 1px solid currentColor;
  border-color: #54433f;
  height: 80px;
}

.site-container {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 16px;
  padding-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-logo {
display: flex;
  align-items: center;
}

.site-logo__image {
height: 32px;
}

.site-nav {
display: none;
  align-items: center;
  font-size: 14px;
  line-height: 20px;
  color: #dac1bc;
  font-weight: 500;
  text-transform: uppercase;
}

.site-nav > :not([hidden]) ~ :not([hidden]) {
margin-left: 24px;
}

.nav-link:hover {
color: #c26d5c;
}

.nav-link {
transition: all 0.2s ease;
}

.nav-link-primary {
display: none;
  border: 1px solid currentColor;
  border-color: #c26d5c;
  color: #c26d5c;
  transition: all 0.2s ease;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  border-radius: 2px;
  text-transform: uppercase;
}

.nav-link-primary:hover {
background-color: #c26d5c;
  color: #fff;
}

.site-menu-button {
display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(218, 193, 188, 0.24);
  border-radius: 8px;
  color: #e2e2e3;
  background-color: rgba(18, 20, 21, 0.72);
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.site-menu-button:hover,
.site-menu-button.is-menu-open {
  color: #c26d5c;
  border-color: rgba(194, 109, 92, 0.72);
  background-color: rgba(194, 109, 92, 0.12);
}

.site-menu-button__icon {
width: 24px;
  height: 24px;
}

.site-mobile-menu {
position: fixed;
  top: 80px;
  left: 0;
  right: 0;
  z-index: 45;
  padding: 12px 16px 16px;
  background-color: rgba(18, 20, 21, 0.96);
  border-bottom: 1px solid rgba(84, 67, 63, 0.9);
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.34);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
  pointer-events: none;
  transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
}

.site-mobile-menu.is-menu-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.site-mobile-menu__inner {
display: grid;
  gap: 12px;
  width: min(100%, 448px);
  margin: 0 auto;
}

.site-mobile-menu__nav {
display: grid;
  gap: 4px;
}

.site-mobile-menu__nav .nav-link {
display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 12px 14px;
  border-radius: 8px;
  color: #dac1bc;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  text-transform: uppercase;
}

.site-mobile-menu__nav .nav-link:hover,
.site-mobile-menu__nav .nav-link--active {
  color: #fff;
  background-color: rgba(194, 109, 92, 0.16);
}

.site-mobile-menu__cta {
display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
}

.site-mobile-backdrop {
position: fixed;
  inset: 80px 0 0;
  z-index: 40;
  background-color: rgba(0, 0, 0, 0.42);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.24s ease, visibility 0.24s ease;
}

.site-mobile-backdrop.is-menu-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.is-mobile-menu-open {
  overflow: hidden;
}

.home-hero__section {
position: relative;
  width: 100%;
  height: 480px;
  min-height: 0;
  background-color: #333536;
  overflow: hidden;
  display: flex;
  align-items: center;
  background-image: linear-gradient(rgba(18, 20, 21, 0.3), rgba(18, 20, 21, 0.3)), url("../images/image-038.jpg");
  background-size: cover;
  background-position: center center;
}

.home-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.home-gradient-overlay__group {
position: absolute;
  inset: 0;
  background-image: linear-gradient(to right, rgba(18, 20, 21, 0.8), transparent);
}

.home-gradient-overlay__group-secondary {
width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  position: relative;
  z-index: 10;
  color: #e2e2e3;
  margin-top: 64px;
}

.home-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0;
  text-align: center;
}

.home-hero__eyebrow {
  margin-bottom: 12px;
  color: #fff;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  text-transform: uppercase;
}

.home-hero__title {
  /* max-width: 720px; */
  margin-bottom: 16px;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  font-size: 45px;
  line-height: 64px;
  font-weight: 800;
  text-transform: uppercase;
}

.home-hero__title span {
  display: block;
  color: #c26d5c;
}

.home-hero__description {
  margin-bottom: 28px;
  color: #e2e2e3;
  font-size: 18px;
  line-height: 28px;
  font-weight: 500;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.home-hero__button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 20px;
  border: 1px solid transparent;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.home-hero__button svg {
  width: 16px;
  height: 16px;
}

.home-hero__button--primary {
  background-color: #c26d5c;
}

.home-hero__button--primary:hover {
  background-color: #a95648;
}

.home-hero__button--secondary {
  border-color: rgba(255, 255, 255, 0.7);
}

.home-hero__button--secondary:hover {
  border-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
}

.section-panel {
padding-top: 64px;
  padding-bottom: 64px;
  background-color: #121415;
}

.site-container-tertiary {
width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

.layout-row-between {
display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 40px;
}

.section-heading-center {
  align-items: center;
  text-align: center;
}

.section-kicker-secondary {
color: #c26d5c;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
  display: block;
}

.heading-title {
font-size: 30px;
  line-height: 36px;
  font-weight: 700;
  color: #e2e2e3;
  text-transform: uppercase;
}

.nav-link-muted {
border: 1px solid currentColor;
  border-color: #54433f;
  color: #dac1bc;
  transition: all 0.2s ease;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  border-radius: 2px;
  text-transform: uppercase;
  margin-top: 16px;
  display: flex;
  align-items: center;
}

.nav-link-muted:hover {
border-color: #c26d5c;
  color: #c26d5c;
}

.sized-element {
width: 16px;
  height: 16px;
  margin-left: 8px;
}

.home-filters__group {
display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
  justify-content: center;
}

.home-filters__button-all {
background-color: #c26d5c;
  color: #fff;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 8px;
  padding-bottom: 8px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.pill-button-primary {
background-color: #1e2021;
  color: #dac1bc;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 8px;
  padding-bottom: 8px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.pill-button-primary:hover {
background-color: #282a2b;
}

.home-project-grid__group > :not([hidden]) ~ :not([hidden]) {
margin-top: 48px;
}

.search-box {
position: relative;
}

.responsive-card-grid {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
}

.projects-grid {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
}

.home-swiper {
  overflow: hidden;
  padding-bottom: 36px;
}

.home-swiper--tall {
  margin-top: 24px;
}

.home-project-pagination {
  bottom: 0 !important;
}

.home-project-pagination .swiper-pagination-bullet {
  background-color: #dac1bc;
  opacity: 0.45;
}

.home-project-pagination .swiper-pagination-bullet-active {
  background-color: #c26d5c;
  opacity: 1;
}

.home-project-grid {
  display: flex;
}

.home-project-grid.swiper-wrapper > * {
  flex: none;
}
.home-project-grid.swiper-wrapper {
  align-items: stretch;
}
.home-swiper .home-project-grid.swiper-wrapper {
  transition-timing-function: linear;
}
.home-project-grid .image-card-primary.swiper-slide {
  height: 250px;
  min-height: 250px;
  max-height: 250px;
}

.home-project-grid .image-card-primary--tall.swiper-slide {
  height: 420px;
  min-height: 420px;
  max-height: 420px;
}
.home-diary__section {
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: #121415;
  color: #e2e2e3;
}

.home-diary-swiper {
  overflow: hidden;
  padding-bottom: 36px;
}

.home-diary-grid {
  display: flex;
  align-items: stretch;
}

.home-diary-grid.swiper-wrapper > * {
  flex: none;
}

.home-diary-card {
  position: relative;
  display: block;
  aspect-ratio: 9 / 16;
  border: 1px solid #54433f;
  border-radius: 8px;
  overflow: hidden;
  color: inherit;
  background-color: #1a1c1d;
}

.home-diary-card .media-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-diary-card:hover .media-cover,
.home-diary-card:focus-visible .media-cover {
  transform: scale(1.04);
}

.home-diary-pagination {
  position: static !important;
  transform: none !important;
  margin-top: 14px;
}

.home-diary-pagination .swiper-pagination-bullet {
  background-color: #dac1bc;
  opacity: 0.45;
}

.home-diary-pagination .swiper-pagination-bullet-active {
  background-color: #c26d5c;
  opacity: 1;
}

.image-card-primary {
position: relative;
  display: block;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  height: 250px;
  border: 1px solid currentColor;
  border-color: #54433f;
  color: inherit;
}

.media-cover {
display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.2s ease;
  transition-duration: 700ms;
}

.image-card-primary:hover .media-cover,
.image-card-primary:focus-visible .media-cover,
.image-card-secondary:hover .media-cover,
.image-card-secondary:focus-visible .media-cover,
.image-card-supporting:hover .media-cover,
.image-card-supporting:focus-visible .media-cover {
transform: scale(1.05);
}

.card-gradient-overlay-primary {
position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  background-image: linear-gradient(to top, #121415, rgba(18, 20, 21, 0.4), transparent);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 0.24s ease, transform 0.24s ease;
}

.image-card-primary:hover .card-gradient-overlay-primary,
.image-card-primary:focus-visible .card-gradient-overlay-primary,
.image-card-secondary:hover .card-gradient-overlay-primary,
.image-card-secondary:focus-visible .card-gradient-overlay-primary,
.image-card-supporting:hover .card-gradient-overlay-primary,
.image-card-supporting:focus-visible .card-gradient-overlay-primary {
  opacity: 1;
  transform: translateY(0);
}

.card-title {
color: #e2e2e3;
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.card-label {
color: #dac1bc;
  font-size: 14px;
  line-height: 20px;
}

.section-kicker-tertiary {
color: #c26d5c;
  font-size: 12px;
  line-height: 16px;
  margin-top: 8px;
  text-transform: uppercase;
  font-weight: 600;
}

.carousel-button-prev {
position: absolute;
  left: 2px;
  top: 44%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  background-color: rgba(30, 32, 33, 0.8);
  border: 1px solid currentColor;
  border-color: #54433f;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e2e2e3;
  transition: all 0.2s ease;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  display: none;
}

.carousel-button-prev:hover {
border-color: #c26d5c;
  color: #c26d5c;
}

.carousel-button-prev:disabled,
.carousel-button-next:disabled,
.carousel-button-prev.swiper-button-disabled,
.carousel-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.carousel-button-next {
position: absolute;
  right: 2px;
  top: 44%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  background-color: rgba(30, 32, 33, 0.8);
  border: 1px solid currentColor;
  border-color: #54433f;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e2e2e3;
  transition: all 0.2s ease;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  display: none;
}

.carousel-button-next:hover {
border-color: #c26d5c;
  color: #c26d5c;
}

.image-card-secondary {
position: relative;
  display: block;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  aspect-ratio: 3/4;
  height: auto;
  border: 1px solid currentColor;
  border-color: #54433f;
  color: inherit;
}

.home-construction-videos__section {
padding-top: 64px;
  padding-bottom: 64px;
  background-color: #1a1c1d;
  color: #e2e2e3;
  border-top: 1px solid currentColor;
  border-color: #54433f;
}

.construction-video__title {
font-size: 30px;
  line-height: 36px;
  font-weight: 700;
  text-transform: uppercase;
}

.construction-video__description {
color: #dac1bc;
  margin-top: 8px;
}

.home-video-swiper {
  overflow: hidden;
  padding-bottom: 36px;
}

.home-video-item-one__group {
  display: flex;
}

.home-video-item-one__group.swiper-wrapper {
  align-items: stretch;
}

.home-video-page,
.home-video-page.swiper-slide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 16px;
  align-items: start;
}

.home-video-page .image-card-tertiary {
  width: 100%;
}

.home-video-pagination {
  position: static !important;
  transform: none !important;
  margin-top: 14px;
}

.home-video-pagination .swiper-pagination-bullet {
  background-color: #dac1bc;
  opacity: 0.45;
}

.home-video-pagination .swiper-pagination-bullet-active {
  background-color: #c26d5c;
  opacity: 1;
}

.home-video-item-one__group .image-card-tertiary,
.home-video-card__media {
  -webkit-user-drag: none;
}

.home-video-card__media {
  pointer-events: none;
}

.home-video-lightbox {
  width: min(92vw, 1100px);
}

.home-video-lightbox video {
  display: block;
  width: 100%;
  max-height: 80vh;
  background: #000;
}

.image-card-tertiary {
width: 100%;
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  border: 1px solid currentColor;
  border-color: #54433f;
  aspect-ratio: 3/4;
}

.layout-row-center {
position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.35);
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.layout-row-center:hover {
background-color: rgba(0, 0, 0, 0.55);
}

.sized-element-primary {
width: 48px;
  height: 48px;
  color: #fff;
  opacity: 0.8;
  transition: all 0.2s ease;
}

.sized-element-primary:hover {
opacity: 1;
  transform: scale(1.1);
}

.position-context {
padding-top: 64px;
  padding-bottom: 64px;
  position: relative;
  background-color: #0c0e0f;
}

.site-container-alternate {
width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  margin-bottom: 48px;
  position: relative;
  z-index: 10;
  text-align: center;
}

.heading-title-primary {
font-size: 30px;
  line-height: 36px;
  font-weight: 700;
  color: #e2e2e3;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.construction-capacity__description {
color: #dac1bc;
  max-width: 2xl;
  margin-left: auto;
  margin-right: auto;
}

.site-container-compact {
width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  position: relative;
  z-index: 10;
}

.layout-grid {
display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.mobile-reveal-actions {
display: none;
  justify-content: center;
  margin-top: 18px;
}

.mobile-reveal-toggle {
display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 16px;
  border: 1px solid #54433f;
  border-radius: 9999px;
  background-color: rgba(30, 32, 33, 0.88);
  color: #e2e2e3;
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.mobile-reveal-toggle:hover {
  border-color: #c26d5c;
  color: #c26d5c;
  background-color: rgba(30, 32, 33, 1);
}
.layout-row-center-primary {
display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
border-radius: 5px;
  
  border: 1px solid rgb(84, 67, 63);
}

.layout-row-center-secondary {
display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
    padding:10px;
}

.sized-element-secondary {
width: 24px;
  height: 24px;
  color: #c26d5c;
}

.heading-label {
font-weight: 600;
  color: #e2e2e3;
  font-size: 14px;
  line-height: 20px;
}

.media-cover-frame {
width: 100%;
  height: 160px;
  object-fit: cover;
      border-top-left-radius: 5px;
    border-top-right-radius: 5px;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
  border-color: #54433f;
}

.layout-row {
display: flex;
  justify-content: center;
  margin-top: 48px;
}

.section-kicker {
background-color: #c26d5c;
  color: #fff;
  padding-left: 32px;
  padding-right: 32px;
  padding-top: 14px;
  padding-bottom: 14px;
  border-radius: 2px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.content-element {
margin-left: 8px;
}

.content-element-primary {
margin-bottom: 64px;
  text-align: center;
}

.site-container-tertiary-tertiary {
max-width: 896px;
  margin-left: auto;
  margin-right: auto;
}

.site-container-tertiary-tertiary > :not([hidden]) ~ :not([hidden]) {
margin-top: 16px;
}

.media-frame {
border: 1px solid currentColor;
  border-color: #54433f;
  border-radius: 4px;
  overflow: hidden;
  background-color: #1a1c1d;
}

.layout-row-between-primary {
width: 100%;
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  transition: all 0.2s ease;
}

.layout-row-between-primary:hover {
background-color: #1e2021;
}

.layout-row-center-tertiary {
display: flex;
  align-items: center;
  gap: 16px;
}

.heading-title-secondary {
display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border: 1px solid rgba(194, 109, 92, 0.65);
  border-radius: 50%;
  background-color: rgba(194, 109, 92, 0.08);
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  color: #c26d5c;
  transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}

.is-accordion-trigger-open .heading-title-secondary {
  border-color: #c26d5c;
  background-color: #c26d5c;
  color: #121415;
}

.heading-title-tertiary {
font-size: 18px;
  line-height: 28px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: #e2e2e3;
}

.nav-link-tertiary {
color: #dac1bc;
  transition: color 0.2s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.layout-row-between-primary.is-accordion-trigger-open .nav-link-tertiary {
  color: #c26d5c;
  transform: rotate(180deg);
}

.nav-link-tertiary:hover {
color: #c26d5c;
}

.bordered-element {
padding: 24px;
  padding-top: 0;
  border-top: 1px solid currentColor;
  border-color: rgba(84, 67, 63, 0.3);
}

.home-accordion-item-one__list {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 16px;
  color: #dac1bc;
  margin-top: 16px;
}

.layout-row-center-supporting {
display: flex;
  align-items: center;
  gap: 8px;
}

.sized-element-tertiary {
width: 6px;
  height: 6px;
  border-radius: 9999px;
  background-color: #c26d5c;
}

.bordered-element-primary {
  padding: 24px;
  padding-top: 0;
  border-top: 1px solid currentColor;
  border-color: rgba(84, 67, 63, 0.3);
}

[data-accordion-panel] {
  display: grid;
  grid-template-rows: 0fr;
  padding-top: 0;
  padding-bottom: 0;
  border-top-color: transparent;
  opacity: 0;
  visibility: hidden;
  transition:
    grid-template-rows 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    padding 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.3s ease,
    opacity 0.25s ease,
    visibility 0.4s ease;
}

[data-accordion-panel] > * {
  min-height: 0;
  margin-top: 0;
  overflow: hidden;
}

[data-accordion-panel].is-accordion-open {
  grid-template-rows: 1fr;
  padding-top: 24px;
  padding-bottom: 24px;
  border-top-color: rgba(84, 67, 63, 0.3);
  opacity: 1;
  visibility: visible;
}

.layout-grid-primary {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 16px;
  color: #dac1bc;
}

.home-contact-form__section {
padding-top: 64px;
  padding-bottom: 64px;
  background-color: #333536;
  color: #e2e2e3;
  position: relative;
  overflow: hidden;
  border-top: 1px solid currentColor;
  border-color: #54433f;
  background-image: linear-gradient(rgba(18, 20, 21, 0.7), rgba(18, 20, 21, 0.7)), url("../images/image-048.jpg");
  background-size: cover;
  background-position: center center;
}

.site-container-compact-secondary {
display: flex;
  flex-direction: column;
  gap: 48px;
}

.home-contact-form__heading-trao-doi-ve-project-cua-ban {
font-size: 24px;
  line-height: 32px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 16px;
  line-height: 1.25;
}

.contact-cta__description {
color: #dac1bc;
  font-size: 18px;
  line-height: 28px;
}

.sidebar-list > :not([hidden]) ~ :not([hidden]) {
margin-top: 16px;
}

.layout-grid-secondary {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 16px;
}

.section-panel-primary {
width: 100%;
  background-color: #121415;
  border: 1px solid currentColor;
  border-color: #54433f;
  border-radius: 2px;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 12px;
  padding-bottom: 12px;
  color: #e2e2e3;
  transition: all 0.2s ease;
}

.section-panel-primary:focus {
outline: 2px solid transparent;
  border-color: #c26d5c;
}

.site-container-compact-compact {
position: relative;
  display: flex;
  align-items: center;
  background-color: #121415;
  border: 1px solid currentColor;
  border-color: #54433f;
  border-radius: 2px;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.site-container-compact-compact:focus-within,
.site-container-compact-compact.has-file {
  border-color: #c26d5c;
}

.upload-field__label {
color: #dac1bc;
  flex-grow: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upload-field__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.home-contact-form__button-chon-file {
background-color: transparent;
  flex-shrink: 0;
  border: 1px solid currentColor;
  border-color: #54433f;
  color: #dac1bc;
  font-size: 12px;
  line-height: 16px;
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 4px;
  padding-bottom: 4px;
  border-radius: 2px;
  transition: all 0.2s ease;
}

.home-contact-form__button-chon-file:hover {
color: #e2e2e3;
  border-color: #e2e2e3;
}

.home-contact-form__button-gui-yeu-cau-tu-van {
width: 100%;
  background-color: #c26d5c;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  padding-top: 16px;
  padding-bottom: 16px;
  border-radius: 2px;
  transition: all 0.2s ease;
  margin-top: 16px;
}

.footer-link {
background-color: #0c0e0f;
  color: #dac1bc;
  padding-top: 64px;
  padding-bottom: 64px;
  border-top: 1px solid currentColor;
  border-color: #54433f;
}

.footer-link-primary {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 32px;
  margin-bottom: 48px;
}

.footer-link-tertiary {
display: flex;
  align-items: center;
  margin-bottom: 24px;
}

.footer-link-supporting {
height: 40px;
}

.footer-link-alternate {
font-size: 14px;
  line-height: 20px;
  margin-bottom: 24px;
}

.footer-link-compact {
display: grid;
grid-template-columns: repeat(3,1fr);
}

.footer-link-compact > :not([hidden]) ~ :not([hidden]) {
margin-left: 16px;
}

.nav-link-secondary {
width: 32px;
  height: 32px;
  border-radius: 9999px;
  border: 1px solid currentColor;
  border-color: #54433f;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.nav-link-secondary:hover {
color: #c26d5c;
  border-color: #c26d5c;
}

.footer-link-wide {
width: 16px;
  height: 16px;
  display: block;
  object-fit: contain;
}

.heading-label-primary {
color: #e2e2e3;
  font-weight: 600;
  margin-bottom: 16px;
  text-transform: uppercase;
  font-size: 14px;
  line-height: 20px;
}

.footer-link-list > :not([hidden]) ~ :not([hidden]) {
margin-top: 8px;
}

.footer-link-list {
font-size: 14px;
  line-height: 20px;
}

.footer-social-list > :not([hidden]) ~ :not([hidden]) {
margin-top: 16px;
}

.footer-social-list {
font-size: 14px;
  line-height: 20px;
}

.layout-row-primary {
display: flex;
  align-items: flex-start;
}

.sized-element-supporting {
width: 20px;
  height: 20px;
  margin-right: 12px;
  margin-top: 2px;
  flex-shrink: 0;
}

.sized-element-alternate {
width: 20px;
  height: 20px;
  margin-right: 12px;
  flex-shrink: 0;
}

.media-frame-primary {
border-radius: 4px;
  overflow: hidden;
  border: 1px solid currentColor;
  border-color: #54433f;
  height: 192px;
}

.bordered-element-secondary {
border: 0px;
}

.layout-row-between-secondary {
border-top: 1px solid currentColor;
  border-color: #54433f;
  padding-top: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  line-height: 16px;
}

.about-mobile-menu-toggle__main {
padding-top: 80px;
}

.page-hero {
position: relative;
  height: 614px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.page-hero__media {
position: absolute;
  inset: 0;
  z-index: 0;
}

.page-hero__image {
width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.page-hero__image--construction {
width: 100%;
  height: 100%;
  background-image: url('../images/image-049.jpg');
}

.page-hero__overlay {
position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.55);
}

.page-hero__content {
position: relative;
  z-index: 10;
  padding-left: 16px;
  padding-right: 16px;
  text-align: center;
}

.page-hero__title {
font-family: Montserrat, sans-serif;
  font-size: 40px;
  line-height: 48px;
  color: #fff;
  margin-bottom: 16px;
  text-transform: uppercase;
}

.breadcrumb {
display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-family: var(--font-primary);
  font-size: 12px;
  line-height: 16px;
  color: rgba(255, 180, 165, 0.8);
}

.breadcrumb__link:hover {
color: #ffb4a5;
}

.breadcrumb__link {
transition: all 0.2s ease;
}

.breadcrumb__icon {
font-size: 14px;
}

.breadcrumb__current {
color: #fff;
  text-transform: uppercase;
}

.layout-grid-tertiary {
padding-top: 80px;
  padding-bottom: 80px;
  padding-left: 24px;
  padding-right: 24px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 64px;
  align-items: center;
}

.position-overlay-primary {
position: absolute;
  width: 96px;
  height: 96px;
  border-top-width: 8px;
  border-left-width: 8px;
  border-color: #ffb4a5;
  opacity: 0.5;
}

.bordered-element-tertiary {
aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid currentColor;
  border-color: #333536;
}

.position-overlay-secondary {
position: absolute;
  width: 96px;
  height: 96px;
  border-bottom-width: 8px;
  border-right-width: 8px;
  border-color: #ffb4a5;
  opacity: 0.5;
}

.about-mobile-menu-toggle__heading-about-doanh-nghiep {
font-family: var(--font-primary);
  font-size: 12px;
  line-height: 16px;
  color: #ffb4a5;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.section-lead-heading {
font-family: Montserrat, sans-serif;
  font-size: 32px;
  line-height: 40px;
  color: #e2e2e3;
  margin-bottom: 24px;
}

.rich-text-stack > :not([hidden]) ~ :not([hidden]) {
margin-top: 24px;
}

.rich-text-stack {
color: #dac1bc;
  font-family: Montserrat, sans-serif;
}

.section-panel-secondary {
padding-top: 80px;
  padding-bottom: 80px;
  background-color: #1a1c1d;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  border-color: #333536;
}

.layout-grid-supporting {
padding-left: 24px;
  padding-right: 24px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 48px;
}

.layout-row-secondary {
display: flex;
  gap: 24px;
  align-items: flex-start;
}

.layout-row-center-alternate {
padding: 16px;
  border: 1px solid currentColor;
  border-color: rgba(255, 180, 165, 0.3);
  background-color: #1e2021;
  display: flex;
  align-items: center;
  justify-content: center;
}

.value-card__icon {
color: #ffb4a5;
  font-size: 40px;
  width: 56px;
  height: 56px;
}

.value-card__title {
font-family: Montserrat, sans-serif;
  font-size: 24px;
  line-height: 32px;
  color: #ffb4a5;
  margin-bottom: 12px;
}

.value-card__description {
color: #dac1bc;
}

.site-container-primary {
padding: 40px 28px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.heading-title-supporting {
font-size: 24px;
  line-height: 32px;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.sized-element-featured {
width: 48px;
  height: 4px;
  background-color: #ffb4a5;
  margin-left: auto;
  margin-right: auto;
}

.layout-grid-alternate {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 32px;
}

.section-panel-tertiary {
padding: 32px;
  border: 1px solid currentColor;
  border-color: #333536;
  background-color: #1e2021;
  transition: all 0.2s ease;
}

.section-panel-tertiary:hover {
border-color: #ffb4a5;
}

.content-element-secondary {
margin-bottom: 24px;
}

.service-card__icon {
color: #ffb4a5;
  font-size: 48px;
  transition: all 0.2s ease;
}

.about-core-values-grid .service-card__icon {
  width: 56px;
  height: 56px;
}

.service-card__icon:hover {
transform: scale(1.1);
}

.service-card__title {
font-family: Montserrat, sans-serif;
  font-size: 24px;
  line-height: 32px;
  color: #e2e2e3;
  margin-bottom: 16px;
}

.service-card__description {
color: #dac1bc;
  font-family: Montserrat, sans-serif;
}

.service-card__description {
color: #dac1bc;
  font-family: Montserrat, sans-serif;
}

.service-card__description {
color: #dac1bc;
  font-family: Montserrat, sans-serif;
}

.service-card__description-muted {
color: #dac1bc;
  font-family: Montserrat, sans-serif;
}

.section-panel-supporting {
padding-top: 30px;
  padding-bottom: 40px;
  background-color: #0c0e0f;
}

.site-container-secondary {
padding-left: 24px;
  padding-right: 24px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.layout-grid-featured {
display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.team-member-card {
min-width: 0;
}

.position-context-primary {
aspect-ratio: 3/4;
  overflow: hidden;
  margin-bottom: 16px;
  border: 1px solid currentColor;
  border-color: #333536;
  background-color: #1e2021;
  position: relative;
}

.media-cover-primary {
width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.2s ease;
  transition-duration: 500ms;
}

.media-cover-primary:hover {
transform: scale(1.05);
}

.content-element-tertiary {
font-family: Montserrat, sans-serif;
  font-weight: 700;
  color: #e2e2e3;
}

.team-card__role {
font-family: var(--font-primary);
  color: #ffb4a5;
  text-transform: uppercase;
}

.section-panel-alternate {
padding-top: 40px;
  padding-bottom: 80px;
  overflow: hidden;
  border-top: 1px solid currentColor;
  border-color: #333536;
  background-color: #1a1c1d;
}

.layout-grid-muted {
display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: center;
  justify-items: center;
}

.layout-row-center-featured {
background-color: #fff;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 132px;
  padding: 12px;
  border-radius: 4px;
  text-align: center;
}

.content-element-supporting {
width: auto;
  transition: all 0.2s ease;
  width: 100%;
}

.content-element-supporting:hover {
transform: scale(1.1);
}

.partner-wordmark {
  color: #e2e2e3;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.partner-logo {
  display: block;
  max-width: 78%;
  max-height: 58px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.partner-service {
  color: #54433f;
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
}

.layout-row-tertiary {
display: flex;
  justify-content: center;
  margin-top: 64px;
}

.page-main {
flex-grow: 1;
  padding-top: 72px;
}

.media-background {
width: 100%;
  height: 100%;
  background-image: url('../images/image-050.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.projects-content__title {
font-family: Montserrat, sans-serif;
  font-size: 40px;
  line-height: 48px;
  color: #fff;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: -0.025em;
}

.projects-content__navigation {
display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-family: var(--font-primary);
  font-size: 12px;
  line-height: 16px;
  color: rgba(255, 180, 165, 0.8);
  text-transform: uppercase;
}

.projects-filters__group {
display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-bottom: 64px;
}

.projects-filters__button-control {
background-color: #c26d5c;
  color: #fff;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 8px;
  padding-bottom: 8px;
  border-radius: 9999px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  font-family: Montserrat, sans-serif;
}

.pill-button-secondary {
background-color: #1e2021;
  color: #dac1bc;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 8px;
  padding-bottom: 8px;
  border-radius: 9999px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  transition: all 0.2s ease;
  font-family: Montserrat, sans-serif;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pill-button-secondary:hover {
background-color: #282a2b;
}

.inline-button__icon {
font-size: 18px;
}

.projects-pagination__group {
display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 64px;
}

.layout-row-center-muted {
width: 40px;
  height: 40px;
  border-radius: 2px;
  border: 1px solid currentColor;
  border-color: #333536;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #dac1bc;
  transition: all 0.2s ease;
}

.layout-row-center-muted:hover {
border-color: #a28c88;
  color: #e2e2e3;
}

.pagination__button--active {
background-color: #c26d5c;
  color: #fff;
  border-color: #c26d5c;
  font-family: var(--font-primary);
}

.sized-element-muted {
width: 40px;
  height: 40px;
  border-radius: 2px;
  border: 1px solid currentColor;
  border-color: #333536;
  color: #dac1bc;
  transition: all 0.2s ease;
  font-family: var(--font-primary);
}

.sized-element-muted:hover {
border-color: #a28c88;
  color: #e2e2e3;
}

.pagination__ellipsis {
color: #dac1bc;
  padding-left: 8px;
  padding-right: 8px;
}

.footer-link-featured {
background-color: #0c0e0f;
  color: #dac1bc;
  padding-top: 64px;
  padding-bottom: 64px;
  border-top: 1px solid currentColor;
  border-color: #54433f;
  margin-top: auto;
}

.project-detail-main__main {
flex-grow: 1;
  padding-top: 80px;
}

.section-block {
max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 80px;
  padding-bottom: 80px;
}

.project-detail-project-overview__section {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 128px;
}

.project-overview__title {
font-family: Montserrat, sans-serif;
  font-size: 30px;
  line-height: 36px;
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.project-overview__description {
font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #dac1bc;
  margin-bottom: 16px;
}

.project-overview__description-muted {
font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #dac1bc;
}

.project-detail-project-overview__group {
background-color: #1e2021;
  border-radius: 4px;
  border: 1px solid currentColor;
  border-color: #333536;
  padding: 32px;
}

.recent-post-list > :not([hidden]) ~ :not([hidden]) {
margin-top: 24px;
}

.layout-row-supporting {
display: flex;
  align-items: flex-start;
  gap: 16px;
  border-bottom: 1px solid currentColor;
  border-color: #333536;
  padding-bottom: 16px;
}

.project-fact__icon {
color: #ffb4a5;
}

.layout-row-between-tertiary {
flex-grow: 1;
  display: flex;
  justify-content: space-between;
}

.field-label {
font-family: var(--font-primary);
  font-size: 12px;
  line-height: 16px;
  color: #dac1bc;
  text-transform: uppercase;
}

.heading-label-secondary {
font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
}

.layout-row-alternate {
display: flex;
  align-items: flex-start;
  gap: 16px;
}

.project-status {
font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #ffb4a5;
}

.content-element-alternate {
margin-bottom: 128px;
}

.content-section__title {
font-family: Montserrat, sans-serif;
  font-size: 30px;
  line-height: 36px;
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 32px;
  text-align: center;
}

.media-frame-secondary {
  position: relative;
  display: block;
  height: 96;
  border-radius: 4px;
  overflow: hidden;
}

.position-overlay-tertiary {
position: absolute;
  inset: 0;
  background-color: rgba(18, 20, 21, 0.2);
  transition: all 0.2s ease;
}

.position-overlay-tertiary:hover {
background-color: rgba(18, 20, 21, 0);
}

.layout-grid-accent {
display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  height: 96;
}

.media-frame-tertiary {
  position: relative;
  display: block;
  height: 192px;
  border-radius: 4px;
  overflow: hidden;
}

.media-frame-supporting {
position: relative;
  height: 192px;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
}

.media-cover-alternate {
width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.2s ease;
  transition-duration: 700ms;
  opacity: 0.6;
}

.media-cover-alternate:hover {
transform: scale(1.05);
}

.layout-row-center-accent {
position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(18, 20, 21, 0.6);
}

.project-detail-image-gallery__label-seven {
font-family: Montserrat, sans-serif;
  font-size: 32px;
  line-height: 40px;
  color: #fff;
}

.project-detail-video__group {
position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background-color: #1e2021;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid currentColor;
  border-color: #333536;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.project-detail-video__group-secondary {
position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.2s ease;
  transition-duration: 700ms;
}

.project-detail-video__group-secondary:hover {
transform: scale(1.05);
}

.project-detail-video__group-tertiary {
position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
  transition: all 0.2s ease;
  transition-duration: 300ms;
}

.project-detail-video__group-tertiary:hover {
background-color: rgba(0, 0, 0, 0.6);
}

.project-detail-video__group-supporting {
position: relative;
  z-index: 10;
  width: 96px;
  height: 96px;
  border-radius: 9999px;
  background-color: #fff;
  border: 1px solid currentColor;
  border-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  transition-duration: 300ms;
}

.project-detail-video__group-supporting:hover {
transform: scale(1.1);
}

.project-detail-video__group-alternate {
width: 48px;
  height: 48px;
  color: #121415;
}

.layout-row-center-compact {
background-color: #1e2021;
  border: 1px solid currentColor;
  border-color: #333536;
  border-radius: 4px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.2s ease;
}

.layout-row-center-compact:hover {
border-color: rgba(255, 180, 165, 0.5);
}

.work-scope-card__icon {
font-size: 36px;
  line-height: 40px;
  color: #ffb4a5;
  margin-bottom: 16px;
}

.work-scope-card__title {
font-family: var(--font-primary);
  font-size: 12px;
  line-height: 16px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.work-scope-card__description {
font-family: Montserrat, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #dac1bc;
}

.construction-category__description {
font-family: Montserrat, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #dac1bc;
}

.construction-category__description {
font-family: Montserrat, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #dac1bc;
}

.project-detail-project-card-one__group {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
}

.image-card-supporting {
position: relative;
  display: block;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  height: 250px;
  border: 1px solid currentColor;
  border-color: #54433f;
  color: inherit;
}

.nav-link--active {
color: #c26d5c;
  transition: all 0.2s ease;
}

.page-hero__image--news {
width: 100%;
  height: 100%;
  background-image: url('../images/image-051.jpg');
}

.page-hero__image--contact {
width: 100%;
  height: 100%;
  background-image: url("../images/image-052.jpg");
}

.content-container {
max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 48px;
  padding-bottom: 48px;
}

.blog-list-main-content-area__group {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 15px;
}

.layout-grid-compact {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 15px;
}

.bordered-element-supporting {
background-color: #1a1c1d;
  border: 1px solid currentColor;
  border-color: #333536;
  overflow: hidden;
}

.position-context-secondary {
position: relative;
  height: 192px;
  overflow: hidden;
}

.media-cover-secondary {
width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.2s ease;
  transition-duration: 500ms;
}

.media-cover-secondary:hover {
transform: scale(1.1);
}

.content-element-featured {
padding: 24px;
}

.content-element-featured > :not([hidden]) ~ :not([hidden]) {
margin-top: 8px;
}

.layout-row-between-supporting {
display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.post-card__category {
color: #c26d5c;
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.supporting-copy {
color: #dac1bc;
  font-size: 12px;
  line-height: 16px;
}

.post-card__title {
color: #fff;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  transition: all 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-card__title:hover {
color: #c26d5c;
}

.post-card__excerpt {
color: #dac1bc;
  font-size: 14px;
  line-height: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-card__title {
color: #fff;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  transition: all 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-card__title:hover {
color: #c26d5c;
}

.post-card__title {
color: #fff;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  transition: all 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-card__title:hover {
color: #c26d5c;
}

.post-card__excerpt {
color: #dac1bc;
  font-size: 14px;
  line-height: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-card__excerpt {
color: #dac1bc;
  font-size: 14px;
  line-height: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-card__title {
color: #fff;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  transition: all 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-card__title:hover {
color: #c26d5c;
}

.post-card__title {
color: #fff;
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  transition: all 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-card__title:hover {
color: #c26d5c;
}

.post-card__excerpt {
color: #dac1bc;
  font-size: 14px;
  line-height: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-list-pagination__group {
display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 64px;
}

.pagination__button {
width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-color: #333536;
  color: #dac1bc;
  transition: all 0.2s ease;
  background-color: #1e2021;
}

.pagination__button:hover {
border-color: #c26d5c;
  color: #c26d5c;
}

.pagination__button.pagination__button--active {
background-color: #c26d5c;
  color: #fff;
  border-color: #c26d5c;
}

.blog-list-pagination__icon-chevron-right {
font-size: 20px;
}

.blog-detail-search__icon-search,
.blog-list-search__icon-search,
.home-navigation-buttons-row-one__icon-chevron-left,
.home-navigation-buttons-row-one__icon-chevron-right,
.home-navigation-buttons-row-two__icon-chevron-left,
.home-navigation-buttons-row-two__icon-chevron-right,
.construction-card-one__element,
.construction-card-two__element,
.construction-card-three__element,
.construction-card-four__element,
.construction-card-five__element,
.construction-cta__icon-icon-secondary {
width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.sidebar-stack > :not([hidden]) ~ :not([hidden]) {
margin-top: 40px;
}

.search-box__input {
width: 100%;
  background-color: #282a2b;
  border: 1px solid currentColor;
  border-color: #333536;
  color: #fff;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 16px;
  padding-bottom: 16px;
  outline: 2px solid transparent;
  font-family: var(--font-primary);
}

.search-box__input:focus {
border-color: #c26d5c;
}

.search-box__button {
position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #c26d5c;
}

.sidebar-panel {
background-color: #1a1c1d;
  padding: 24px;
  border: 1px solid currentColor;
  border-color: #333536;
}

.section-kicker-primary {
font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 24px;
  position: relative;
  border-left-width: 16px;
  border-color: #c26d5c;
  text-transform: uppercase;
}

.post-card__media-link {
  display: block;
  color: inherit;
}

.post-card__title-link {
  color: inherit;
}

.sidebar-list__item {
display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.sidebar-list__label {
display: flex;
  align-items: center;
  gap: 12px;
}

.sidebar-list__count {
color: #dac1bc;
  font-family: var(--font-primary);
}

.recent-post-card {
display: flex;
  gap: 16px;
}

.recent-post-card__media {
width: 80px;
  height: 80px;
  flex-shrink: 0;
  overflow: hidden;
}

.recent-post-card__date {
color: #dac1bc;
  font-size: 11px;
  display: block;
  margin-bottom: 4px;
}

.recent-post-card__title {
font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #fff;
  transition: all 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.recent-post-card__title:hover {
color: #c26d5c;
}

.recent-post-card__title {
font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #fff;
  transition: all 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.recent-post-card__title:hover {
color: #c26d5c;
}

.recent-post-card__title {
font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #fff;
  transition: all 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.recent-post-card__title:hover {
color: #c26d5c;
}

.blog-detail-main-content-area__group {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
}

.article-meta {
display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.article-category {
color: #c26d5c;
  font-family: var(--font-primary);
  font-size: 12px;
  line-height: 16px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.blog-detail-left-column-article-content__label-date {
color: #dac1bc;
  font-family: var(--font-primary);
  font-size: 12px;
  line-height: 16px;
}

.blog-detail-left-column-article-content__title {
font-family: Montserrat, sans-serif;
  font-size: 32px;
  line-height: 40px;
  color: #e2e2e3;
  margin-bottom: 32px;
}

.article-body {
max-width: none;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #dac1bc;
}

.article-body > :not([hidden]) ~ :not([hidden]) {
margin-top: 24px;
}

.article-lead {
font-family: Montserrat, sans-serif;
  font-size: 18px;
  line-height: 28px;
  color: #e2e2e3;
}

.article-section-title {
font-family: Montserrat, sans-serif;
  font-size: 24px;
  line-height: 32px;
  color: #e2e2e3;
  margin-top: 40px;
  margin-bottom: 16px;
}

.article-image {
width: 100%;
  height: auto;
  border-radius: 2px;
  margin-top: 32px;
  margin-bottom: 32px;
  object-fit: cover;
  border: 1px solid currentColor;
  border-color: #54433f;
}

.article-quote {
background-color: #1e2021;
  padding: 24px;
  border-radius: 2px;
  border-left-width: 16px;
  border-color: #c26d5c;
  margin-top: 32px;
  margin-bottom: 32px;
}

.article-quote__text {
font-style: italic;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  line-height: 28px;
  color: #e2e2e3;
}

.recent-post-card__title {
font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #fff;
  transition: all 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.recent-post-card__title:hover {
color: #c26d5c;
}

.recent-post-card__title {
font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #fff;
  transition: all 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.recent-post-card__title:hover {
color: #c26d5c;
}

.section-panel-featured {
padding-top: 80px;
  padding-bottom: 80px;
  background-color: #121415;
}

.content-element-muted {
max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

.construction-intro__layout {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 48px;
  align-items: center;
}

.construction-intro__heading-kien-tao-project-span {
font-size: 36px;
  line-height: 40px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 24px;
  line-height: 1.25;
  font-family: Montserrat, sans-serif;
}

.construction-intro__description {
color: #dac1bc;
  margin-bottom: 32px;
  line-height: 1.625;
}

.construction-intro__features {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 16px;
}

.stat-card__icon {
color: #c26d5c;
  font-size: 20px;
  line-height: 28px;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.content-element-accent {
font-weight: 500;
  color: #fff;
}

.media-frame-featured {
position: relative;
  border-radius: 8px;
  overflow: hidden;
  height: 400px;
  border: 1px solid currentColor;
  border-color: #54433f;
}

.media-cover-tertiary {
width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-panel-muted {
padding-top: 80px;
  padding-bottom: 80px;
  background-color: #1e2021;
}

.heading-title-alternate {
font-size: 30px;
  line-height: 36px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.service-area-grid, .benefit-grid, .construction-gallery-grid {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
}

.image-card {
position: relative;
  border-radius: 8px;
  overflow: hidden;
  background-color: #38393a;
  aspect-ratio: 3/4;
  cursor: pointer;
  border: 1px solid currentColor;
  border-color: #54433f;
}

.media-cover-supporting {
width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.6;
  transition: all 0.2s ease;
  transition-duration: 300ms;
}

.media-cover-supporting:hover {
opacity: 0.4;
}

.card-gradient-overlay {
position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 24px;
  background-image: linear-gradient(to top, #000, transparent);
}

.process-step__icon {
font-size: 36px;
  line-height: 40px;
  margin-bottom: 12px;
  color: #c26d5c;
}

.construction-card-one__heading-construction-apartment {
font-weight: 700;
  margin-bottom: 8px;
  text-transform: uppercase;
  color: #fff;
  font-size: 14px;
  line-height: 20px;
  white-space: nowrap;
}

.nav-link-wide {
font-size: 14px;
  line-height: 20px;
  color: #dac1bc;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
}

.nav-link-wide:hover {
color: #c26d5c;
}

.heading-title-featured {
font-weight: 700;
  margin-bottom: 8px;
  text-transform: uppercase;
  color: #fff;
  font-size: 14px;
  line-height: 20px;
}

.process-step__description {
color: #dac1bc;
  max-width: 2xl;
  margin-left: auto;
  margin-right: auto;
}

.nav-link-featured {
background-color: #121415;
  padding: 24px;
  border-radius: 8px;
  border: 1px solid currentColor;
  border-color: #54433f;
  transition: all 0.2s ease;
  text-align: center;
}

.nav-link-featured:hover {
border-color: #c26d5c;
}

.benefit-card__icon {
font-size: 36px;
  line-height: 40px;
  color: #c26d5c;
  margin-bottom: 16px;
  margin-left: auto;
  margin-right: auto;
  width: 36px;
  height: 36px;
}

.content-element-compact {
margin-bottom: 32px;
  text-align: center;
}

.construction-main-large-image__group {
border-radius: 8px;
  overflow: hidden;
  border: 1px solid currentColor;
  border-color: #54433f;
}

.media-frame-muted {
border-radius: 8px;
  overflow: hidden;
  height: 192px;
  border: 1px solid currentColor;
  border-color: #54433f;
}

.construction-see-more-overlay__group {
position: relative;
  display: block;
  border-radius: 8px;
  overflow: hidden;
  height: 192px;
  cursor: pointer;
  border: 1px solid currentColor;
  border-color: #54433f;
}

.gallery-hidden-link {
display: none;
}

.construction-see-more-overlay__group-secondary {
position: absolute;
  inset: 0;
  background-color: #000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.construction-see-more-overlay__group-secondary:hover {
background-color: rgba(194, 109, 92, 0.8);
}

.construction-see-more-overlay__label-twenty-eight {
font-size: 36px;
  line-height: 40px;
  font-weight: 700;
  color: #fff;
}

.construction-see-more-overlay__label-xem-them-anh {
font-size: 14px;
  line-height: 20px;
  color: #fff;
}

.video-frame {
position: relative;
  display: block;
  border-radius: 8px;
  overflow: hidden;
  background-color: #000;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
  border: 1px solid currentColor;
  border-color: #54433f;
}

.video-frame[data-fancybox] {
cursor: pointer;
}

.video-frame[data-fancybox]::after {
content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.5) 100%);
  pointer-events: none;
}

.video-frame[data-fancybox]::before {
content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 0;
  height: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 28px solid #fff;
  transform: translate(-40%, -50%);
  pointer-events: none;
}

.construction-video-grid {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
}

.construction-video-list {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
}

.construction-video__video {
width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  pointer-events: none;
}

.construction-video__image-video-thumbnail {
width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.6;
  transition: all 0.2s ease;
}

.construction-video__image-video-thumbnail:hover {
opacity: 0.4;
}

.video-frame__overlay {
position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.layout-row-center-spacious {
width: 80px;
  height: 80px;
  background-color: #fff;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-color: #fff;
  transition: all 0.2s ease;
}

.layout-row-center-spacious:hover {
transform: scale(1.1);
}

.construction-video__icon-icon {
width: 36px;
  height: 36px;
  color: #fff;
  margin-left: 8px;
}

.construction-cta__section {
padding-top: 48px;
  padding-bottom: 48px;
  background-color: #121415;
}

.construction-cta__panel {
background-color: #38393a;
  border-radius: 8px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  border: 1px solid currentColor;
  border-color: #54433f;
  box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
}

.construction-cta__content {
display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
}

.construction-cta__icon-box {
background-color: rgba(194, 109, 92, 0.2);
  padding: 16px;
  border-radius: 4px;
}

.construction-cta__icon-icon {
font-size: 36px;
  line-height: 40px;
  color: #c26d5c;
  width: 36px;
  height: 36px;
}

.construction-cta__title {
font-size: 24px;
  line-height: 32px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #fff;
}

.construction-cta__link-contact {
background-color: #c26d5c;
  color: #fff;
  padding-left: 32px;
  padding-right: 32px;
  padding-top: 12px;
  padding-bottom: 12px;
  border-radius: 6px;
  font-weight: 700;
  text-transform: uppercase;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.construction-cta__link-contact:hover {
background-color: rgba(194, 109, 92, 0.9);
}

.contact-hero__section {
position: relative;
  height: 614px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-bottom: 1px solid currentColor;
  border-color: #54433f;
}

.contact-hero__title {
font-family: Montserrat, sans-serif;
  font-size: 40px;
  line-height: 48px;
  color: #fff;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: -0.05em;
}

.contact-hero__navigation {
display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-family: var(--font-primary);
  font-size: 12px;
  line-height: 16px;
  color: rgba(255, 180, 165, 0.8);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Shared banner geometry and typography across every page. */
.page-hero,
.contact-hero__section {
  height: 100vh;
  min-height: 0;
}

.home-hero__section {
  height: 100vh;
}

.page-hero__content {
  width: 100%;
  max-width: 960px;
}

.page-hero__title,
.projects-content__title,
.contact-hero__title {
  font-family: Montserrat, sans-serif;
  font-size: 40px;
  line-height: 48px;
  letter-spacing: 0;
  margin-bottom: 16px;
}

@media (max-width: 767px) {
  .page-hero,
  .contact-hero__section {
    height: 100svh;
  }

  .home-hero__section {
    height: 100svh;
  }

  .page-hero__title,
  .projects-content__title,
  .contact-hero__title {
    font-size: 32px;
    line-height: 40px;
  }

  .home-hero__eyebrow {
    font-size: 12px;
    line-height: 16px;
  }

  .home-hero__title {
    font-size: 24px;
    line-height: 42px;
  }

  .home-hero__description {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 24px;
  }

  .home-hero__actions {
    width: 100%;
  }

  .home-hero__button {
    width: 100%;
  }
}

.contact-main-content-layout__section {
max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 40px;
  padding-bottom: 80px;
}

.contact-main-content-layout__group {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
  align-items: flex-start;
}

.contact-left-column-contact-info__group {
display: flex;
  flex-direction: column;
  gap: 48px;
}

.contact-info__title {
font-family: Montserrat, sans-serif;
  font-size: 24px;
  line-height: 40px;
  color: #ffb4a5;
  margin-bottom: 16px;
}

.contact-intro__description {
font-family: Montserrat, sans-serif;
  font-size: 15px;
  line-height: 28px;
  color: #dac1bc;
  margin-bottom: 32px;
  max-width: 448px;
}

.contact-left-column-contact-info__list {
display: flex;
  flex-direction: column;
  gap: 24px;
  font-family: var(--font-primary);
  font-size: 12px;
  line-height: 16px;
  color: #e2e2e3;
}

.contact-info__icon {
color: #ffb4a5;
  margin-top: 2px;
  font-variation-settings: 'FILL' 1;
}

.layout-row-featured {
display: flex;
  flex-direction: column;
  gap: 4px;
}

.contact-info__label {
color: #dac1bc;
  text-transform: uppercase;
}

.contact-info__value {
font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 24px;
}

.experience-stat__label {
font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
}

.contact-right-column-consultation-form__group {
position: relative;
  border: 1px solid currentColor;
  border-color: #54433f;
  background-color: #1a1c1d;
  overflow: hidden;
  padding: 16px;
}

.contact-background-image-integration__group {
position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.2;
  background-image: url("../images/image-052.jpg");
}

.contact-background-image-integration__group-secondary {
position: absolute;
  inset: 0;
  z-index: 0;
  background-image: linear-gradient(to bottom, rgba(12, 14, 15, 0.9), rgba(30, 32, 33, 0.9));
}

.contact-background-image-integration__group-tertiary {
position: relative;
  z-index: 10;
}

.contact-form__title {
font-family: Montserrat, sans-serif;
  font-size: 24px;
  line-height: 32px;
  color: #e2e2e3;
  margin-bottom: 32px;
  border-bottom: 1px solid currentColor;
  border-color: #54433f;
  padding-bottom: 16px;
}

.contact-background-image-integration__form {
display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact-background-image-integration__group-supporting {
display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
}

.layout-row-muted {
display: flex;
  flex-direction: column;
  gap: 8px;
}

.section-panel-accent {
width: 100%;
  background-color: #333536;
  border: 1px solid currentColor;
  border-color: #54433f;
  color: #e2e2e3;
  font-family: Montserrat, sans-serif;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 12px;
  padding-bottom: 12px;
  transition: all 0.2s ease;
}

.section-panel-accent:focus {
outline: 2px solid transparent;
  border-color: #ffb4a5;
}

.contact-background-image-integration__field-message {
width: 100%;
  background-color: #333536;
  border: 1px solid currentColor;
  border-color: #54433f;
  color: #e2e2e3;
  font-family: Montserrat, sans-serif;
  padding-left: 16px;
  padding-right: 16px;
  padding-top: 12px;
  padding-bottom: 12px;
  transition: all 0.2s ease;
  resize: none;
}

.contact-background-image-integration__field-message:focus {
outline: 2px solid transparent;
  border-color: #ffb4a5;
}

.contact-background-image-integration__button-control {
margin-top: 16px;
  background-color: #ffb4a5;
  color: #591c11;
  font-family: var(--font-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 32px;
  padding-right: 32px;
  width: 100%;
  transition: all 0.2s ease;
}

.contact-background-image-integration__button-control:hover {
background-color: #ffb4a6;
}

.contact-map__section {
width: 100%;
  border-top: 1px solid currentColor;
  border-color: #54433f;
  background-color: #0c0e0f;
  height: 96;
}

.contact-map__group {
width: 100%;
  height: 100%;
  background-color: #1e2021;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

@media (min-width: 1024px) {
  .home-video-swiper {
    overflow: hidden;
    padding-bottom: 0;
  }

  .home-video-swiper.is-video-static .home-video-item-one__group.swiper-wrapper {
    display: block;
    transform: none !important;
  }

  .home-video-swiper.is-video-static .home-video-pagination {
    display: none;
    overflow: hidden;
    padding-bottom: 36px;
  }

  .home-video-page,
  .home-video-page.swiper-slide {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
  }

}
@media (min-width: 768px) {
  .home-swiper {
    padding-bottom: 0;
  }

  .home-project-pagination {
    display: none;
  }
}

.site-mobile-menu li, .site-header li{
  list-style: none;
}
.bg-dark{
  background-color: #121415;
}
/* .df-app{
  margin-top: 80px;
} */
.a-social{
  display: flex;
  gap: 5px;
  align-items: center;
}
.socials{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.about-team-swiper {
overflow: hidden;
  padding-bottom: 36px;
}

.about-team-grid.swiper-wrapper {
display: flex;
  gap: 0;
  grid-template-columns: none;
  align-items: stretch;
}

.about-team-grid.swiper-wrapper > * {
flex: 0 0 auto;
}
.about-team-pagination {
bottom: 0 !important;
  position: static !important;
  transform: none !important;
  margin-top: 14px;
}

.about-team-pagination .swiper-pagination-bullet {
background-color: #dac1bc;
  opacity: 0.45;
}

.about-team-pagination .swiper-pagination-bullet-active {
background-color: #c26d5c;
  opacity: 1;
}
@media (min-width: 1024px) {
  .about-team-grid:not(.swiper-wrapper) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  }

.heading-title-supporting{
  font-size: 30px;
}
@media screen and (max-width: 575px){
  footer .layout-row-between-secondary{
    text-align: center;
  }
  .heading-title,
  .construction-video__title,
  .heading-title-primary,
  .heading-title-supporting,
  .section-lead-heading,
  .heading-title-alternate,
  .construction-intro__heading-kien-tao-project-span,
  .content-section__title,
  .project-overview__title
  {
    font-size: 22px;
  }
  .heading-title-tertiary{
    font-size: 14px;
  }
  .contact-cta__description{
    font-size: 16px;
  }
  .home-contact-form__heading-trao-doi-ve-project-cua-ban, .contact-cta__description{
    text-align: center;
  }
  .section-lead-heading{
    line-height: 30px;
  }
  .rich-text-stack {
    text-align: justify;
    line-height: 25px;
  }
  .layout-row-secondary{
    gap: 15px;
  }
  .layout-row-center-alternate{
    display: none;
  }
  .value-card__description{
    text-align: justify;
  }
  .service-card__description{
    text-align: center;
    font-size: 11px;
  }
  .about-core-values-grid .service-card__icon{
    width: 30px;
    height: 30px;
    margin: 0 auto;
  }
  .content-element-secondary{
    margin-bottom: 5px;
  }
    .service-card__title {
      font-size: 13px;
      line-height: 25px;
      color: #e2e2e3;
      margin-bottom: 0px;
      text-align:center;
  }
  .section-panel-tertiary{
    padding: 15px 10px;
  }
  .layout-grid-alternate{
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .content-element-primary{
    margin-bottom: 30px;
  }
  .construction-intro__heading-kien-tao-project-span{
    margin-bottom: 15px;
  }
  .construction-intro__description{
    text-align: justify;
  }
  .media-frame-featured{
    height: 200px;
  }
  .section-panel-muted{
    padding-top: 40px;
  }
  .media-frame-tertiary, .media-frame-supporting{
    height: 100px;
  }
  .construction-cta__icon-box{
    display: none;
  }
  .construction-cta__title{
    font-size: 20px;
    line-height: 25px;
  }
  .construction-cta__panel{
    padding: 20px;
    text-align: center;
  }
  .projects-grid{
    gap: 10px;
        grid-template-columns: 1fr 1fr;
  }
  .site-container-primary{
    padding: 25px 10px;
  }
  .projects-grid .image-card-primary{
    height: 125px;
    border: none;
  }
  .projects-filters__group{
    margin-bottom: 30px;
  }
  .project-detail-project-card-one__group .card-title, .projects-grid .card-title{
    font-size: 13px;
  }
  .project-detail-project-card-one__group .card-label, .projects-grid .card-label{
    font-size: 11px;
  }
  .section-block{
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .project-detail-project-card-one__group{
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .project-detail-project-card-one__group .image-card-supporting{
    height: 125px;
  }
  .card-gradient-overlay-primary{
    padding: 10px;
  }
  .service-area-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .service-area-grid .card-gradient-overlay{
    padding: 10px;
    text-align: center;
  }
  .service-area-grid .heading-title-featured, .service-area-grid .construction-card-one__heading-construction-apartment{
    font-size: 12px;
  }
  .benefit-grid{
        grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .benefit-grid .nav-link-featured{
    padding: 10px;
  }
  .section-panel{
    padding: 30px 0px;
  }
}

.hidden-fields-container,.screen-reader-response{
  display: none !important;
}
  .carousel-button-prev,
  .carousel-button-next {
    display: none !important;
  }
@media (max-width: 767px) {
  .carousel-button-prev,
  .carousel-button-next {
    display: flex !important;
  }
}

// single.php
.page-article-template {
    background: #f7f4ef;
    padding: 72px 0 88px;
}
.page-article-template *{
    color: #0c0e0f;
}
.page-article-template__inner {
    width: min(920px, calc(100% - 40px));
    margin: 0 auto;
    background: #fff;
    border: 1px solid rgba(84, 67, 63, 0.14);
    padding: 30px;
    border-radius: 5px;
    margin-top: 30px;
}

.page-article-template__inner > *:first-child {
    margin-top: 0;
}

.page-article-template__inner > *:last-child {
    margin-bottom: 0;
}

.page-article-template h2 {
    margin: 0 0 20px;
    color: #211c1a;
    font-size: 32px;
    line-height: 1.28;
    font-weight: 800;
}

.page-article-template h3 {
    margin: 36px 0 16px;
    color: #211c1a;
    font-size: 24px;
    line-height: 1.35;
    font-weight: 800;
}

.page-article-template p {
    margin: 0 0 5px;
    font-size: 16px;
    line-height: 1.85;
    text-align: justify;
}

.page-article-template .page-article-template__lead {
    margin-bottom: 28px;
    color: #3b3431;
    font-size: 19px;
    line-height: 1.75;
    font-weight: 500;
}

.page-article-template img {
    display: block;
    width: 100%;
    height: auto;
    margin: 15px 0;
    object-fit: cover;
    border-radius: 5px;
}

.page-article-template ul {
    display: grid;
    gap: 12px;
    margin: 22px 0 30px;
    padding: 0;
    list-style: none;
}

.page-article-template li {
    position: relative;
    padding-left: 28px;
    font-size: 16px;
    line-height: 1.75;
}

.page-article-template li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 8px;
    height: 8px;
    background: #54433f;
}

.page-article-template__highlight {
    margin: 34px 0;
    padding: 28px;
    background: #211c1a;
    color: #fff;
}

.page-article-template__highlight p {
    margin: 0;
    color: #fff;
    font-size: 20px;
    line-height: 1.6;
    font-weight: 600;
}

.page-article-template a {
    color: #54433f;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.page-article-template strong {
    color: #211c1a;
    font-weight: 800;
}

.page-article-template figure {
    margin: 32px 0;
}

.page-article-template figure img {
    margin: 0;
}

.page-article-template figcaption {
    margin-top: 10px;
    color: #77706b;
    font-size: 13px;
    line-height: 1.6;
}

@media (max-width: 1023px) {
    .page-article-template__inner {
        width: min(100% - 32px, 1180px);
    }
}

@media (max-width: 767px) {
    .page-article-template {
        padding: 44px 0 56px;
    }

    .page-article-template__inner {
        width: min(100% - 28px, 1180px);
        padding: 28px 20px;
    }

    .page-article-template h2 {
        font-size: 24px;
    }

    .page-article-template h3 {
        font-size: 21px;
    }

    .page-article-template .page-article-template__lead,
    .page-article-template__highlight p {
        font-size: 18px;
    }
}
.page-article-template h1{
  font-size: 24px;
  margin: 0px 0px 5px;
}
.page-article-template h2{
  font-size: 22px;
  margin: 0px 0px 5px;
}
.page-article-template h3{
  font-size: 20px;
  margin: 0px 0px 5px;
}
.page-article-template h4{
  font-size: 18px;
  margin: 0px 0px 5px;
}
.page-article-template h5{
  font-size: 16px;
  margin: 0px 0px 5px;
}
.page-article-template h6{
  font-size: 14px;
  margin: 0px 0px 5px;
}

@media screen and (max-width: 575px){
    .mobile-reveal-grid[data-mobile-reveal-count="6"]:not(.is-mobile-reveal-open) > :nth-child(-n+6) {
    display: block;
  }

  .mobile-reveal-grid[data-mobile-reveal-count="6"]:not(.is-mobile-reveal-open) > :nth-child(n+7) {
    display: none;
  }

  .service-area-grid.mobile-reveal-grid:not(.is-mobile-reveal-open) > :nth-child(-n+6) {
    display: block;
  }

}
