.architect-flickity-row {
  display: block;
  width: calc(100% - 144px);
  max-width: 1680px;
  margin: clamp(72px, 7vw, 118px) auto clamp(54px, 6vw, 96px);
  color: #f7f4ec;
  text-align: left;
  padding-left: 72px;
}
.architect-showcase-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}
.architect-showcase-head h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(34px, 4vw, 64px);
  line-height: .95;
  font-weight: 600;
  letter-spacing: 0;
}
.architect-showcase-head p {
  margin: 10px 0 0;
  color: rgba(247, 244, 236, .68);
  font-family: 'Instrument Sans', Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 600;
}
.architect-showcase-head a {
  color: #f7f4ec;
  border-bottom: 1px solid rgba(247, 244, 236, .75);
  font-family: 'Instrument Sans', Inter, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 700;
  white-space: nowrap;
}
.architect-carousel {
  position: relative;
  overflow: visible;
  --architect-gap: 15px;
  --architect-columns: 4;
}
.architect-carousel .flickity-viewport { overflow: hidden; width: 100%; touch-action: pan-y; }
.architect-carousel .flickity-slider {
  display: flex;
  gap: var(--architect-gap);
  transition: transform .75s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
  cursor: grab;
  user-select: none;
}
.architect-carousel.is-pointer-down .flickity-slider { cursor: grabbing; transition: none; }
.architect-carousel .cell {
  flex: 0 0 calc((100% - (var(--architect-columns) - 1) * var(--architect-gap)) / var(--architect-columns));
  min-width: 0;
}
.architect-carousel .nectar-fancy-box { position: relative; color: #f7f4ec; }
.architect-carousel .image-wrap { overflow: hidden; aspect-ratio: 4 / 5; background: #191b1c; }
.architect-carousel .box-bg {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  filter: saturate(.95) contrast(1.02);
  transform: scale(1.001);
}
.architect-carousel .text { padding-top: 24px; }
.architect-carousel h4 {
  margin: 0;
  color: #f7f4ec;
  font-family: 'Instrument Sans', Inter, Arial, sans-serif;
  font-size: clamp(21px, 1.55vw, 28px);
  line-height: 1.16;
  font-weight: 700;
  letter-spacing: 0;
}
.architect-carousel p {
  max-width: 32ch;
  margin: 11px 0 0;
  color: rgba(247, 244, 236, .64);
  font-family: 'Instrument Sans', Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 500;
}
.architect-carousel .box-link { position: absolute; inset: 0; z-index: 2; }
.architect-carousel .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.architect-carousel .flickity-page-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 30px 0 0;
  margin: 0;
  list-style: none;
}
.architect-carousel .dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(247, 244, 236, .32);
  cursor: pointer;
}
.architect-carousel .dot.is-selected { background: #a51f20; }
@media (max-width: 1199px) { .architect-carousel { --architect-columns: 3; } }
@media (max-width: 959px) { .architect-carousel { --architect-columns: 2; } }
@media (max-width: 569px) {
  .architect-flickity-row { width: calc(100% - 64px); margin-top: 56px; margin-bottom: 56px;
  padding-left: 0;
}
  .architect-showcase-head { display: block; margin-bottom: 24px; }
  .architect-showcase-head a { display: inline-block; margin-top: 14px; }
  .architect-showcase-head h2 { font-size: 36px; }
  .architect-carousel { --architect-columns: 1; }
  .architect-carousel .text { padding-top: 18px; }
  .architect-carousel h4 { font-size: 22px; }
}

/* mobile original outro visibility fix */
@media (max-width: 569px) {
  #section-unique-0,
  #row-unique-2,
  #row-unique-2 .row-parent,
  #row-unique-2 .wpb_row,
  #row-unique-2 .wpb_column,
  #row-unique-2 .uncol,
  #row-unique-2 .uncoltable,
  #row-unique-2 .uncell,
  #row-unique-2 .uncont,
  #row-unique-2 .vc_custom_heading_wrap,
  #row-unique-2 .heading-text,
  #bigtext-id1,
  #bigtext-id1 .bigtext-line0 {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
  }

  #section-unique-0,
  #row-unique-2,
  #row-unique-2 .row-parent {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  #row-unique-2,
  #row-unique-2 .row-parent,
  #row-unique-2 .wpb_row,
  #row-unique-2 .wpb_column,
  #row-unique-2 .uncol,
  #row-unique-2 .uncoltable,
  #row-unique-2 .uncell,
  #row-unique-2 .uncont {
    transform: none !important;
  }

  #bigtext-id1 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 0 !important;
    line-height: .86 !important;
    white-space: nowrap !important;
  }

  #bigtext-id1 .bigtext-line0 {
    display: block !important;
    transform: none !important;
    white-space: nowrap !important;
  }
}
/* end mobile original outro visibility fix */

/* real Flickity overflow behavior */
.architect-flickity-row {
  overflow: visible;
  padding-left: 72px;
}

.architect-carousel.flickity-enabled {
  overflow: visible;
  margin-left: clamp(-112px, -5.8vw, -48px);
  width: calc(100% + clamp(160px, 11.6vw, 224px));
}

.architect-carousel .flickity-viewport {
  overflow: visible !important;
  width: 100%;
  touch-action: pan-y;
}

.architect-carousel .flickity-slider {
  display: block;
  gap: 0;
  cursor: grab;
  user-select: none;
}

.architect-carousel.is-pointer-down .flickity-slider,
.architect-carousel.is-draggable .flickity-viewport {
  cursor: grab;
}

.architect-carousel.is-pointer-down .flickity-viewport,
.architect-carousel.is-dragging .flickity-viewport {
  cursor: grabbing;
}

.architect-carousel .cell {
  width: calc((100% - 45px) / 4);
  min-width: 0;
  padding-right: 15px;
}

.architect-carousel .flickity-page-dots {
  position: static;
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 30px 0 0;
  margin: 0;
  list-style: none;
}

.architect-carousel .flickity-page-dots .dot {
  width: 8px;
  height: 8px;
  margin: 0;
  border-radius: 999px;
  background: rgba(247, 244, 236, .32);
  opacity: 1;
  cursor: pointer;
}

.architect-carousel .flickity-page-dots .dot.is-selected {
  background: #a51f20;
}

@media (max-width: 1199px) {
  .architect-carousel .cell { width: calc((100% - 30px) / 3); }
}

@media (max-width: 959px) {
  .architect-carousel .cell { width: calc((100% - 15px) / 2); }
}

@media (max-width: 569px) {
  .architect-carousel.flickity-enabled {
    margin-left: -24px;
    width: calc(100% + 72px);
  }

  .architect-carousel .cell {
    width: 82%;
    padding-right: 15px;
  }
}
/* end real Flickity overflow behavior */

/* slider left alignment override */
.architect-flickity-row {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding-left: 72px;
  padding-right: 0;
}

.architect-carousel.flickity-enabled {
  margin-left: 0;
  width: calc(100% + 112px);
}

@media (max-width: 569px) {
  .architect-flickity-row {
    width: 100%;
    padding-left: 32px;
    padding-right: 0;
  }

  .architect-carousel.flickity-enabled {
    margin-left: 0;
    width: calc(100% + 48px);
  }
}
/* end slider left alignment override */

/* showcase head right alignment override */
.architect-showcase-head {
  padding-right: 72px;
}

@media (max-width: 569px) {
  .architect-showcase-head {
    padding-right: 32px;
  }
}
/* end showcase head right alignment override */

/* desktop four and half visible slides */
@media (min-width: 1200px) {
  .architect-carousel .cell {
    box-sizing: border-box;
    width: 22.2222%;
    padding-right: 15px;
  }
}
/* end desktop four and half visible slides */

/* architect drag cursor and no dots */
.architect-carousel .flickity-page-dots {
  display: none !important;
}

.architect-carousel .flickity-viewport,
.architect-carousel .box-link {
  cursor: none;
}

.architect-drag-cursor {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 8;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #ff5149;
  color: #fff;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.72);
  transition: opacity .22s ease, transform .22s cubic-bezier(.22, 1, .36, 1);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
}

.architect-carousel.architect-cursor-visible .architect-drag-cursor {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.architect-carousel.architect-cursor-dragging .architect-drag-cursor {
  transform: translate(-50%, -50%) scale(.92);
}

.architect-drag-cursor::after {
  content: "Drag";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, 15px);
  font-family: 'Instrument Sans', Inter, Arial, sans-serif;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.architect-drag-cursor-icon,
.architect-drag-cursor-icon::before,
.architect-drag-cursor-icon::after {
  position: absolute;
  display: block;
}

.architect-drag-cursor-icon {
  left: 50%;
  top: 50%;
  width: 26px;
  height: 2px;
  background: currentColor;
  transform: translate(-50%, -9px);
}

.architect-drag-cursor-icon::before,
.architect-drag-cursor-icon::after {
  content: "";
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}

.architect-drag-cursor-icon::before {
  left: -1px;
  transform: translateY(-50%) rotate(-135deg);
}

.architect-drag-cursor-icon::after {
  right: -1px;
  transform: translateY(-50%) rotate(45deg);
}


/* end architect drag cursor and no dots */

/* drag cursor desktop visibility fix */
.architect-drag-cursor {
  display: block !important;
}

@media (max-width: 569px) {
  .architect-carousel .flickity-viewport,
  .architect-carousel .box-link {
    cursor: grab;
  }

  .architect-drag-cursor {
    display: none !important;
  }
}
/* end drag cursor desktop visibility fix */

/* pinterest reference thumbnail card style */
.architect-carousel .nectar-fancy-box {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 22px;
  background: #111;
  color: #fff;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .22);
}

.architect-carousel .image-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  aspect-ratio: auto;
  background: #151515;
}

.architect-carousel .box-bg {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  filter: saturate(.98) contrast(1.04);
  transform: scale(1.012);
  transition: transform .8s cubic-bezier(.22, 1, .36, 1), filter .8s cubic-bezier(.22, 1, .36, 1);
}

.architect-carousel .nectar-fancy-box::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, .28) 0%, rgba(0, 0, 0, .03) 38%, rgba(0, 0, 0, .38) 100%);
  pointer-events: none;
}

.architect-carousel .nectar-fancy-box::after {
  content: "NEW";
  position: absolute;
  top: 76px;
  right: 14px;
  z-index: 3;
  padding: 7px 12px 6px;
  border-radius: 999px;
  background: rgba(10, 10, 10, .92);
  color: #fff;
  font-family: 'Instrument Sans', Inter, Arial, sans-serif;
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0;
}

.architect-carousel .text {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px 18px 18px;
  pointer-events: none;
}

.architect-carousel .text::before {
  content: "PREMIUM";
  align-self: flex-start;
  order: 2;
  margin-top: 9px;
  padding: 5px 10px 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .24);
  color: rgba(255, 255, 255, .92);
  font-family: 'Instrument Sans', Inter, Arial, sans-serif;
  font-size: 9px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0;
  backdrop-filter: blur(10px);
}

.architect-carousel h4 {
  order: 1;
  max-width: 88%;
  margin: 0;
  color: #fff;
  font-family: 'Instrument Sans', Inter, Arial, sans-serif;
  font-size: clamp(24px, 1.75vw, 34px);
  line-height: 1.03;
  font-weight: 500;
  letter-spacing: 0;
  text-shadow: 0 12px 28px rgba(0, 0, 0, .22);
}

.architect-carousel p {
  order: 3;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 40px;
  margin: auto 0 0;
  padding: 13px 92px 12px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .86);
  color: rgba(20, 20, 20, .82);
  font-family: 'Instrument Sans', Inter, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  backdrop-filter: blur(12px);
}

.architect-carousel .text p::after {
  content: "+";
  position: absolute;
  right: 34px;
  bottom: 31px;
  color: #111;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
}

.architect-carousel .box-link {
  position: absolute;
  inset: 0;
  z-index: 4;
  border-radius: 22px;
}

.architect-carousel .nectar-fancy-box:hover .box-bg {
  transform: scale(1.06);
  filter: saturate(1.08) contrast(1.06);
}

@media (max-width: 959px) {
  .architect-carousel h4 {
    font-size: 30px;
  }
}

@media (max-width: 569px) {
  .architect-carousel .nectar-fancy-box {
    border-radius: 20px;
  }

  .architect-carousel .text {
    padding: 22px 14px 14px;
  }

  .architect-carousel h4 {
    font-size: 27px;
  }

  .architect-carousel p {
    min-height: 38px;
    padding: 12px 78px 11px 15px;
    font-size: 11px;
  }

  .architect-carousel .text p::after {
    right: 28px;
    bottom: 27px;
  }
}
/* end pinterest reference thumbnail card style */

/* reference badge and bottom action alignment */
.architect-carousel .nectar-fancy-box::after {
  top: 70px;
  right: 12px;
  padding: 8px 12px 7px;
  border-radius: 999px;
  background: rgba(8, 8, 8, .94);
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
}

.architect-carousel p {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 42px;
  padding-top: 0;
  padding-bottom: 0;
}

.architect-carousel .text p::after {
  top: 50%;
  right: 18px;
  bottom: auto;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  height: 1em;
  line-height: 1;
}

@media (max-width: 569px) {
  .architect-carousel .nectar-fancy-box::after {
    top: 66px;
    right: 10px;
    padding: 7px 11px 6px;
  }

  .architect-carousel p {
    min-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
  }

  .architect-carousel .text p::after {
    right: 16px;
    bottom: auto;
  }
}
/* end reference badge and bottom action alignment */

/* exact reference new badge override */
.architect-carousel .nectar-fancy-box::after {
  content: "NEW" !important;
  position: absolute !important;
  top: 78px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 6 !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #080808 !important;
  color: #ffffff !important;
  font-family: 'Instrument Sans', Inter, Arial, sans-serif !important;
  font-size: 9px !important;
  line-height: 24px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;
  clip-path: none !important;
  overflow: visible !important;
}

@media (max-width: 569px) {
  .architect-carousel .nectar-fancy-box::after {
    top: 70px !important;
    right: 10px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;
    border-radius: 12px !important;
    font-size: 9px !important;
    line-height: 23px !important;
  }
}
/* end exact reference new badge override */

/* remove new badge */
.architect-carousel .nectar-fancy-box::after {
  content: none !important;
  display: none !important;
}
/* end remove new badge */

/* premium new best badge row */
.architect-carousel .text::before {
  content: none !important;
  display: none !important;
}

.architect-carousel .architect-badges {
  order: 2;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 9px;
}

.architect-carousel .architect-badges span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 22px;
  padding: 0 9px;
  border-radius: 999px;
  color: #fff;
  font-family: 'Instrument Sans', Inter, Arial, sans-serif;
  font-size: 9px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0;
  white-space: nowrap;
}

.architect-carousel .badge-premium { background: rgba(255, 255, 255, .24); }
.architect-carousel .badge-new { background: #080808; }
.architect-carousel .badge-best { background: #ff5149; }

@media (max-width: 569px) {
  .architect-carousel .architect-badges {
    gap: 5px;
  }

  .architect-carousel .architect-badges span {
    height: 21px;
    padding: 0 8px;
    font-size: 8px;
  }
}
/* end premium new best badge row */

/* mobile carousel layout repair */
@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .architect-flickity-row {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 48px !important;
    margin-bottom: 48px !important;
    padding-left: 24px !important;
    padding-right: 0 !important;
    overflow: hidden !important;
  }

  .architect-showcase-head {
    display: block !important;
    margin-bottom: 22px !important;
    padding-right: 24px !important;
  }

  .architect-showcase-head h2 {
    font-size: clamp(32px, 9vw, 42px) !important;
    line-height: 1 !important;
  }

  .architect-showcase-head p {
    font-size: 14px !important;
  }

  .architect-carousel,
  .architect-carousel.flickity-enabled {
    width: calc(100% + 28px) !important;
    max-width: none !important;
    margin-left: 0 !important;
    overflow: visible !important;
  }

  .architect-carousel .flickity-viewport {
    overflow: visible !important;
    width: 100% !important;
  }

  .architect-carousel .cell {
    box-sizing: border-box !important;
    width: min(78vw, 320px) !important;
    min-width: 0 !important;
    padding-right: 14px !important;
  }

  .architect-carousel .nectar-fancy-box {
    aspect-ratio: 4 / 5 !important;
    min-height: 0 !important;
    max-height: 520px !important;
    border-radius: 20px !important;
  }

  .architect-carousel .image-wrap {
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
  }

  .architect-carousel h4 {
    max-width: 92% !important;
    font-size: clamp(22px, 6.6vw, 28px) !important;
    line-height: 1.05 !important;
  }

  .architect-carousel .text {
    padding: 22px 14px 14px !important;
  }

  .architect-carousel .architect-badges {
    gap: 5px !important;
    margin-top: 8px !important;
  }

  .architect-carousel .architect-badges span {
    height: 19px !important;
    padding: 0 7px !important;
    font-size: 7px !important;
  }

  .architect-carousel p {
    min-height: 36px !important;
    padding-left: 14px !important;
    padding-right: 42px !important;
    font-size: 10px !important;
  }

  .architect-carousel .text p::after {
    right: 17px !important;
  }
}

@media (max-width: 420px) {
  .architect-flickity-row {
    padding-left: 20px !important;
  }

  .architect-showcase-head {
    padding-right: 20px !important;
  }

  .architect-carousel,
  .architect-carousel.flickity-enabled {
    width: calc(100% + 22px) !important;
  }

  .architect-carousel .cell {
    width: min(82vw, 306px) !important;
    padding-right: 12px !important;
  }
}
/* end mobile carousel layout repair */
