.buildpress-gjc-featured-projects {
  --gjc-featured-item-width: 400px;
  --gjc-featured-gap: 16px;
  --gjc-featured-radius: 8px;
  --gjc-featured-duration: 45s;
  --gjc-featured-ink: var(--e-global-color-primary, #050505);
  --gjc-featured-surface: var(--e-global-color-900224d, #ffffff);
  --gjc-featured-soft: color-mix(in srgb, var(--e-global-color-900224d, #fff) 94%, var(--e-global-color-primary, #050505));
  width: 100%;
  overflow: hidden;
}

.buildpress-gjc-featured-projects--full-bleed {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__viewport {
  display: grid;
  gap: var(--gjc-featured-gap);
  width: 100%;
  overflow: hidden;
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__row {
  width: 100%;
  overflow: hidden;
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__track {
  display: flex;
  width: max-content;
  will-change: transform;
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__group {
  display: flex;
  flex: 0 0 auto;
  gap: var(--gjc-featured-gap);
  padding-inline-end: var(--gjc-featured-gap);
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__item {
  flex: 0 0 var(--gjc-featured-item-width);
  width: var(--gjc-featured-item-width);
  min-width: 0;
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__link {
  position: relative;
  display: block;
  overflow: hidden;
  color: var(--gjc-featured-surface);
  border-radius: var(--gjc-featured-radius);
  text-decoration: none;
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__link:focus-visible {
  outline: 0.1875rem solid var(--e-global-color-accent, #e3185c);
  outline-offset: -0.1875rem;
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  margin: 0;
  background: var(--gjc-featured-soft);
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 320ms ease;
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__link:hover .buildpress-gjc-featured-projects__image,
.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__link:focus-visible .buildpress-gjc-featured-projects__image {
  transform: scale(1.025);
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__name {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  padding: 0.75rem 1rem;
  color: var(--gjc-featured-surface);
  background: color-mix(in srgb, var(--gjc-featured-ink) 88%, transparent);
  font-family: var(--e-global-typography-text-font-family, sans-serif);
  font-size: var(--e-global-typography-text-font-size, 1rem);
  font-weight: 600;
  line-height: var(--e-global-typography-text-line-height, 1.4);
}

.buildpress-gjc-featured-projects--autoplay .buildpress-gjc-featured-projects__track {
  animation: gjc-featured-projects-scroll var(--gjc-featured-duration) linear infinite;
}

.buildpress-gjc-featured-projects--alternate .buildpress-gjc-featured-projects__row--2 .buildpress-gjc-featured-projects__track {
  animation-direction: reverse;
}

.buildpress-gjc-featured-projects--pause:hover .buildpress-gjc-featured-projects__track,
.buildpress-gjc-featured-projects--pause:focus-within .buildpress-gjc-featured-projects__track {
  animation-play-state: paused;
}

.buildpress-gjc-featured-projects:not(.buildpress-gjc-featured-projects--autoplay) .buildpress-gjc-featured-projects__row {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__notice {
  margin: 0;
  color: color-mix(in srgb, var(--e-global-color-text, #333333) 72%, var(--e-global-color-900224d, #fff));
  font-family: var(--e-global-typography-text-font-family, sans-serif);
  font-size: var(--e-global-typography-text-font-size, 1rem);
}

.buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects__row {
  padding-inline: clamp(1rem, 5vw, 5rem);
}

.buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects__item {
  flex-basis: clamp(17rem, 33vw, 34rem);
  width: clamp(17rem, 33vw, 34rem);
}

.buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects__media {
  aspect-ratio: 4 / 3;
}

.buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects__link {
  border-radius: 0;
}

.buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects__name {
  position: static;
  color: var(--gjc-featured-ink);
  background: var(--gjc-featured-surface);
  border-block-end: 0.0625rem solid color-mix(in srgb, var(--gjc-featured-ink) 12%, transparent);
}

.buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-poster .buildpress-gjc-featured-projects__row {
  padding-inline: clamp(1rem, 6vw, 6rem);
}

.buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-poster .buildpress-gjc-featured-projects__item {
  flex-basis: clamp(10rem, 20vw, 20rem);
  width: clamp(10rem, 20vw, 20rem);
}

.buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-poster .buildpress-gjc-featured-projects__media {
  aspect-ratio: 2 / 3;
}

.buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-poster .buildpress-gjc-featured-projects__link {
  border-radius: 0.25rem;
}

.buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-poster .buildpress-gjc-featured-projects__link:hover .buildpress-gjc-featured-projects__image,
.buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-poster .buildpress-gjc-featured-projects__link:focus-visible .buildpress-gjc-featured-projects__image {
  transform: scale(1.045);
}

@keyframes gjc-featured-projects-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (max-width: 1024px) {
  .buildpress-gjc-featured-projects {
    --gjc-featured-item-width: 300px;
    --gjc-featured-gap: 14px;
  }
}

@media (max-width: 767px) {
  .buildpress-gjc-featured-projects {
    --gjc-featured-item-width: 220px;
    --gjc-featured-gap: 10px;
  }

  .buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects__item {
    flex-basis: min(78vw, 22rem);
    width: min(78vw, 22rem);
  }

  .buildpress-gjc-featured-projects.buildpress-gjc-featured-projects--preset-poster .buildpress-gjc-featured-projects__item {
    flex-basis: min(52vw, 14rem);
    width: min(52vw, 14rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__row {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  .buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__track {
    animation: none;
    transform: none;
    will-change: auto;
  }

  .buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__group[aria-hidden='true'] {
    display: none;
  }

  .buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__image {
    transition: none;
  }
}

/* Homepage Hero: an editorial project-led composition around the existing marquee. */
.home .elementor-element.elementor-element-3ff949bf {
  padding: 0 0 3.5rem;
  overflow: clip;
  background: var(--e-global-color-900224d, #ffffff);
}

.home .elementor-element.elementor-element-3ff949bf > .e-con-inner {
  max-width: none;
}

.home .elementor-element.elementor-element-14c58ebb {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(14rem, 0.55fr);
  column-gap: 5rem;
  row-gap: 1.25rem;
  width: min(100%, 80rem);
  margin-inline: auto;
  padding: 5.5rem 2rem 1.5rem;
}

.home .elementor-element.elementor-element-5c0fcda6 {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}

.home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
  max-width: 12.5ch;
  margin: 0;
  letter-spacing: 0;
  font-size: var(--e-global-typography-primary-font-size, 4.625rem);
  line-height: 1.03;
}

.home .elementor-element.elementor-element-248b0638 {
  grid-column: 1;
  grid-row: 2;
  max-width: 42rem;
  margin: 0;
}

.home .elementor-element.elementor-element-248b0638 p {
  margin: 0;
  font-size: var(--e-global-typography-text-font-size, 1.0625rem);
  line-height: 1.65;
}

.home .elementor-element.elementor-element-42e00238 {
  display: flex;
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  justify-content: flex-start;
  width: 100%;
  padding: 0;
}

.home .elementor-element.elementor-element-42e00238 .eael-creative-button-wrapper,
.home .elementor-element.elementor-element-42e00238 .eael-creative-button {
  width: 100%;
}

.home .elementor-element.elementor-element-42e00238 .eael-creative-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.375rem;
  padding: 0.875rem 1.25rem;
  border-radius: 0.375rem;
  box-shadow: none;
  letter-spacing: 0;
}

.home .elementor-element.elementor-element-821aded {
  display: flex;
  grid-column: 1 / -1;
  grid-row: 3;
  align-items: center;
  min-height: 1.5rem;
  margin-top: 1.5rem;
  padding: 0;
}

.home .elementor-element.elementor-element-821aded > .elementor-element:not(.elementor-element-4a062c3) {
  display: none;
}

.home .elementor-element.elementor-element-4a062c3 {
  margin: 0;
}

.home .elementor-element.elementor-element-4a062c3 p {
  margin: 0;
  color: var(--e-global-color-text, #52616b);
  font-size: var(--e-global-typography-accent-font-size, 0.75rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: uppercase;
}

.home .elementor-element.elementor-element-dfb06a7 {
  grid-column: 1 / -1;
  grid-row: 4;
  width: 100%;
  margin-top: 0.125rem;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects {
  --gjc-featured-gap: 0.75rem;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects__viewport {
  -webkit-mask-image: linear-gradient(to right, transparent, var(--e-global-color-primary, #050505) 4%, var(--e-global-color-primary, #050505) 96%, transparent);
  mask-image: linear-gradient(to right, transparent, var(--e-global-color-primary, #050505) 4%, var(--e-global-color-primary, #050505) 96%, transparent);
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects__row {
  padding-inline: max(2rem, calc((100vw - 80rem) / 2 + 2rem));
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects__item {
  flex-basis: clamp(17rem, 26vw, 24rem);
  width: clamp(17rem, 26vw, 24rem);
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__link {
  border-radius: 0.375rem;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__name {
  min-height: 2.75rem;
  padding: 0.625rem 0;
  font-size: var(--e-global-typography-text-font-size, 0.8125rem);
  font-weight: 800;
  letter-spacing: 0;
}

@media (max-width: 1024px) {
  .home .elementor-element.elementor-element-14c58ebb {
    column-gap: 2.5rem;
    padding: 4.5rem 1.5rem 1.25rem;
  }

  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size, 3.5rem);
  }
}

@media (max-width: 767px) {
  .home .elementor-element.elementor-element-3ff949bf {
    padding-bottom: 2.5rem;
  }

  .home .elementor-element.elementor-element-14c58ebb {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 3.75rem 1.25rem 1rem;
  }

  .home .elementor-element.elementor-element-5c0fcda6 {
    order: 1;
    width: 100%;
  }

  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    max-width: 11.5ch;
    font-size: var(--e-global-typography-primary-font-size, 2.875rem);
    line-height: 1.06;
    text-align: left;
  }

  .home .elementor-element.elementor-element-248b0638 {
    order: 2;
    width: 100%;
  }

  .home .elementor-element.elementor-element-248b0638 p {
    font-size: var(--e-global-typography-text-font-size, 1rem);
    line-height: 1.6;
    text-align: left;
  }

  .home .elementor-element.elementor-element-42e00238 {
    order: 3;
    width: 100%;
    margin-top: 0.25rem;
  }

  .home .elementor-element.elementor-element-821aded {
    order: 4;
    width: 100%;
    margin-top: 0.5rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 {
    order: 5;
    width: calc(100% + 2.5rem);
    margin: 0 0 0 -1.25rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects__viewport {
    -webkit-mask-image: linear-gradient(to right, transparent, var(--e-global-color-primary, #050505) 3%, var(--e-global-color-primary, #050505) 97%, transparent);
    mask-image: linear-gradient(to right, transparent, var(--e-global-color-primary, #050505) 3%, var(--e-global-color-primary, #050505) 97%, transparent);
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects__row {
    padding-inline: 1.25rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects__item {
    flex-basis: min(78vw, 21rem);
    width: min(78vw, 21rem);
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-editorial .buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__name {
    min-height: 2.625rem;
    padding: 0.625rem 0;
  }
}

/* Portfolio Canvas: retain native 1:1 project artwork without forced editorial crops. */
.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid {
  --gjc-featured-gap: 0.75rem;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__viewport {
  gap: var(--gjc-featured-gap);
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__row {
  padding-inline: max(2rem, calc((100vw - 80rem) / 2 + 2rem));
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
  flex-basis: clamp(9rem, 13vw, 12rem);
  width: clamp(9rem, 13vw, 12rem);
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__link {
  border-radius: 0.375rem;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__media {
  aspect-ratio: 1;
}

@media (max-width: 767px) {
  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__row {
    padding-inline: 1.25rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
    flex-basis: min(46vw, 12rem);
    width: min(46vw, 12rem);
  }
}

/* Project Ticker: a dense moving project field beneath the Hero manifesto. */
.home .elementor-element.elementor-element-3ff949bf {
  padding-bottom: 2rem;
}

.home .elementor-element.elementor-element-14c58ebb {
  padding-bottom: 0;
}

.home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
  max-width: 13.75ch;
  font-size: var(--e-global-typography-primary-font-size, 4.875rem);
  line-height: 1;
}

.home .elementor-element.elementor-element-821aded {
  margin-top: 1rem;
}

.home .elementor-element.elementor-element-dfb06a7 {
  margin-top: 0.5rem;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid {
  --gjc-featured-gap: 0.75rem;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__viewport {
  -webkit-mask-image: none;
  mask-image: none;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__row {
  padding-inline: 0;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
  flex-basis: clamp(10rem, 12.4vw, 12.25rem);
  width: clamp(10rem, 12.4vw, 12.25rem);
}

@media (max-width: 1024px) {
  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size, 3.75rem);
  }
}

@media (max-width: 767px) {
  .home .elementor-element.elementor-element-3ff949bf {
    padding-bottom: 1.5rem;
  }

  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    max-width: 12ch;
    font-size: var(--e-global-typography-primary-font-size, 3rem);
    line-height: 1.04;
  }

  .home .elementor-element.elementor-element-821aded {
    margin-top: 0.375rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 {
    margin-top: 0.25rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__row {
    padding-inline: 0;
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
    flex-basis: min(46vw, 12rem);
    width: min(46vw, 12rem);
  }
}

/* Project Ticker refinement: remove the orphan label and use a structural divider. */
.home .elementor-element.elementor-element-821aded {
  display: none;
}

.home .elementor-element.elementor-element-dfb06a7 {
  grid-row: 3;
  margin-top: 0;
}

.home .elementor-element.elementor-element-dfb06a7::before {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 1px;
  margin: 0 0 0.75rem;
  background: color-mix(in srgb, var(--e-global-color-primary, #050505) 14%, transparent);
  content: '';
}

@media (max-width: 767px) {
  .home .elementor-element.elementor-element-dfb06a7 {
    order: 4;
    margin-top: 0;
  }

  .home .elementor-element.elementor-element-dfb06a7::before {
    margin-bottom: 0.625rem;
  }
}

/* Project Ticker balance: one editorial copy column, then a calmer project field. */
.home .elementor-element.elementor-element-14c58ebb {
  grid-template-columns: minmax(0, 48rem) minmax(0, 1fr);
  column-gap: 0;
  row-gap: 1rem;
  padding-top: 4.25rem;
}

.home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
  max-width: 13.5ch;
  font-size: var(--e-global-typography-primary-font-size, 4.5rem);
  line-height: 1.04;
}

.home .elementor-element.elementor-element-42e00238 {
  grid-column: 1;
  grid-row: 3;
  justify-content: flex-start;
  width: max-content;
  max-width: 100%;
  margin-top: 0.5rem;
}

.home .elementor-element.elementor-element-42e00238 .eael-creative-button-wrapper,
.home .elementor-element.elementor-element-42e00238 .eael-creative-button {
  width: max-content;
  max-width: 100%;
}

.home .elementor-element.elementor-element-dfb06a7 {
  grid-row: 4;
  margin-top: 0.375rem;
}

.home .elementor-element.elementor-element-dfb06a7::before {
  margin-bottom: 0.875rem;
  background: color-mix(in srgb, var(--e-global-color-primary, #050505) 22%, transparent);
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
  flex-basis: clamp(8.5rem, 9.6vw, 9.75rem);
  width: clamp(8.5rem, 9.6vw, 9.75rem);
}

/* Script-driven motion keeps the loop moving on hover and permits horizontal dragging. */
.home .buildpress-gjc-featured-projects--js-motion .buildpress-gjc-featured-projects__track {
  animation: none;
}

.home .buildpress-gjc-featured-projects--js-motion .buildpress-gjc-featured-projects__row {
  cursor: grab;
  touch-action: pan-y;
}

.home .buildpress-gjc-featured-projects--js-motion.is-dragging,
.home .buildpress-gjc-featured-projects--js-motion.is-dragging .buildpress-gjc-featured-projects__row {
  cursor: grabbing;
  user-select: none;
}

@media (max-width: 1024px) {
  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size, 3.5rem);
  }
}

@media (max-width: 767px) {
  .home .elementor-element.elementor-element-14c58ebb {
    display: flex;
    padding-top: 3.25rem;
  }

  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    max-width: 12.5ch;
    font-size: var(--e-global-typography-primary-font-size, 2.75rem);
    line-height: 1.08;
  }

  .home .elementor-element.elementor-element-42e00238 {
    order: 3;
    width: max-content;
    margin-top: 0.25rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 {
    order: 4;
    margin-top: 0.125rem;
  }

  .home .elementor-element.elementor-element-dfb06a7::before {
    margin-bottom: 0.625rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
    flex-basis: min(44vw, 11rem);
    width: min(44vw, 11rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home .buildpress-gjc-featured-projects--js-motion .buildpress-gjc-featured-projects__track {
    animation: none;
  }
}

/* Centered Project Rail: a quiet Hero composition with one intentional project line. */
.home .elementor-element.elementor-element-3ff949bf {
  padding-bottom: 2.5rem;
}

.home .elementor-element.elementor-element-14c58ebb {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 80rem);
  padding: 4.5rem 2rem 0;
  gap: 1.25rem;
}

.home .elementor-element.elementor-element-5c0fcda6 {
  order: 1;
  width: 100%;
}

.home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
  max-width: 17ch;
  margin-inline: auto;
  font-size: var(--e-global-typography-primary-font-size, 4.5rem);
  line-height: 1.04;
  text-align: center;
}

.home .elementor-element.elementor-element-248b0638 {
  order: 2;
  width: 100%;
  max-width: 42rem;
}

.home .elementor-element.elementor-element-248b0638 p {
  text-align: center;
}

.home .elementor-element.elementor-element-42e00238 {
  order: 3;
  justify-content: center;
  width: max-content;
  margin-top: 0.25rem;
}

.home .elementor-element.elementor-element-dfb06a7 {
  order: 4;
  align-self: stretch;
  width: 100%;
  margin-top: 1.5rem;
}

.home .elementor-element.elementor-element-dfb06a7::before {
  display: none;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
  flex-basis: clamp(11.5rem, 12vw, 14rem);
  width: clamp(11.5rem, 12vw, 14rem);
}

@media (max-width: 1024px) {
  .home .elementor-element.elementor-element-14c58ebb {
    padding-top: 3.75rem;
  }

  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size, 3.5rem);
  }
}

@media (max-width: 767px) {
  .home .elementor-element.elementor-element-3ff949bf {
    padding-bottom: 1.75rem;
  }

  .home .elementor-element.elementor-element-14c58ebb {
    padding: 3rem 1.25rem 0;
    gap: 1rem;
  }

  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    max-width: 12.5ch;
    font-size: var(--e-global-typography-primary-font-size, 2.75rem);
    line-height: 1.08;
    text-align: center;
  }

  .home .elementor-element.elementor-element-248b0638 p {
    text-align: center;
  }

  .home .elementor-element.elementor-element-42e00238 {
    width: max-content;
    margin-top: 0.25rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 {
    width: calc(100% + 2.5rem);
    margin: 1.25rem 0 0 -1.25rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
    flex-basis: min(62vw, 16rem);
    width: min(62vw, 16rem);
  }
}

/* Asymmetric Project Hero: copy at left, live portfolio wall at right. */
.home .elementor-element.elementor-element-3ff949bf {
  padding-bottom: 4rem;
}

.home .elementor-element.elementor-element-14c58ebb {
  display: grid;
  grid-template-columns: minmax(20rem, 0.85fr) minmax(28rem, 1.15fr);
  grid-template-rows: auto auto auto;
  column-gap: 5rem;
  row-gap: 1.125rem;
  align-items: center;
  width: min(100%, 80rem);
  padding: 5rem 2rem 3rem;
}

.home .elementor-element.elementor-element-5c0fcda6 {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  width: 100%;
}

.home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
  max-width: 10.5ch;
  margin: 0;
  font-size: var(--e-global-typography-primary-font-size, 4.5rem);
  line-height: 1.02;
  text-align: left;
}

.home .elementor-element.elementor-element-248b0638 {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  max-width: 31rem;
}

.home .elementor-element.elementor-element-248b0638 p {
  text-align: left;
}

.home .elementor-element.elementor-element-42e00238 {
  grid-column: 1;
  grid-row: 3;
  justify-content: flex-start;
  width: max-content;
  margin-top: 0.5rem;
}

.home .elementor-element.elementor-element-dfb06a7 {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  width: 100%;
  margin: 0;
}

.home .elementor-element.elementor-element-dfb06a7::before {
  display: none;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid {
  --gjc-featured-gap: 0.75rem;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
  flex-basis: clamp(8rem, 10vw, 10rem);
  width: clamp(8rem, 10vw, 10rem);
}

@media (max-width: 1024px) {
  .home .elementor-element.elementor-element-14c58ebb {
    grid-template-columns: minmax(18rem, 0.8fr) minmax(22rem, 1.2fr);
    column-gap: 2.5rem;
    padding-top: 4rem;
  }

  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size, 3.5rem);
  }
}

@media (max-width: 767px) {
  .home .elementor-element.elementor-element-3ff949bf {
    padding-bottom: 2rem;
  }

  .home .elementor-element.elementor-element-14c58ebb {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 3.25rem 1.25rem 0;
    gap: 1.125rem;
  }

  .home .elementor-element.elementor-element-5c0fcda6 {
    order: 1;
  }

  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    max-width: 10.5ch;
    font-size: var(--e-global-typography-primary-font-size, 2.75rem);
    line-height: 1.06;
    text-align: left;
  }

  .home .elementor-element.elementor-element-248b0638 {
    order: 2;
    max-width: 34rem;
  }

  .home .elementor-element.elementor-element-248b0638 p {
    text-align: left;
  }

  .home .elementor-element.elementor-element-42e00238 {
    order: 3;
    width: max-content;
    margin-top: 0.25rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 {
    order: 4;
    width: calc(100% + 2.5rem);
    margin: 1.25rem 0 0 -1.25rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
    flex-basis: min(42vw, 11rem);
    width: min(42vw, 11rem);
  }
}

/* Portfolio Tunnel: one moving project journey around a centered Hero message. */
.home .elementor-element.elementor-element-3ff949bf {
  padding-bottom: 2rem;
  overflow: hidden;
}

.home .elementor-element.elementor-element-14c58ebb {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 38rem;
  width: min(100%, 80rem);
  padding: 7rem 2rem;
}

.home .elementor-element.elementor-element-5c0fcda6,
.home .elementor-element.elementor-element-248b0638,
.home .elementor-element.elementor-element-42e00238 {
  position: relative;
  z-index: 2;
}

.home .elementor-element.elementor-element-5c0fcda6 {
  order: 1;
  width: 100%;
}

.home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
  max-width: 11.5ch;
  margin-inline: auto;
  font-size: var(--e-global-typography-primary-font-size, 4.75rem);
  line-height: 1.02;
  text-align: center;
}

.home .elementor-element.elementor-element-248b0638 {
  order: 2;
  width: 100%;
  max-width: 37rem;
}

.home .elementor-element.elementor-element-248b0638 p {
  text-align: center;
}

.home .elementor-element.elementor-element-42e00238 {
  order: 3;
  justify-content: center;
  width: max-content;
  margin-top: 0.75rem;
}

.home .elementor-element.elementor-element-dfb06a7 {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  pointer-events: none;
}

.home .elementor-element.elementor-element-dfb06a7::before {
  display: none;
}

.home .elementor-element.elementor-element-dfb06a7 .elementor-widget-container,
.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects,
.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects__viewport {
  width: 100%;
  height: 100%;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects {
  overflow: visible;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects__viewport {
  position: relative;
  display: block;
  overflow: visible;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects__row {
  position: absolute;
  left: 0;
  width: min(62%, 47rem);
  overflow: hidden;
  pointer-events: auto;
  -webkit-mask-image: linear-gradient(to right, var(--e-global-color-primary, #050505) 0, var(--e-global-color-primary, #050505) calc(100% - 4rem), transparent 100%);
  mask-image: linear-gradient(to right, var(--e-global-color-primary, #050505) 0, var(--e-global-color-primary, #050505) calc(100% - 4rem), transparent 100%);
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects__row--1 {
  top: 2.25rem;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects__row--2 {
  bottom: 2.25rem;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid {
  --gjc-featured-gap: 0.75rem;
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
  flex-basis: clamp(7.5rem, 9vw, 9.5rem);
  width: clamp(7.5rem, 9vw, 9.5rem);
}

.home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__link {
  border-radius: 0.375rem;
}

@media (max-width: 1024px) {
  .home .elementor-element.elementor-element-14c58ebb {
    min-height: 34rem;
    padding-block: 5.5rem;
  }

  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size, 3.75rem);
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects__row {
    width: 66%;
  }
}

@media (max-width: 767px) {
  .home .elementor-element.elementor-element-3ff949bf {
    padding-bottom: 1.5rem;
  }

  .home .elementor-element.elementor-element-14c58ebb {
    min-height: 35rem;
    padding: 6.5rem 1.25rem;
    gap: 1rem;
  }

  .home .elementor-element.elementor-element-5c0fcda6 .elementor-heading-title {
    max-width: 10.5ch;
    font-size: var(--e-global-typography-primary-font-size, 2.875rem);
    line-height: 1.06;
    text-align: center;
  }

  .home .elementor-element.elementor-element-248b0638 {
    max-width: 30rem;
  }

  .home .elementor-element.elementor-element-248b0638 p {
    text-align: center;
  }

  .home .elementor-element.elementor-element-42e00238 {
    width: max-content;
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects__row {
    width: 78%;
    -webkit-mask-image: linear-gradient(to right, var(--e-global-color-primary, #050505) 0, var(--e-global-color-primary, #050505) calc(100% - 3rem), transparent 100%);
    mask-image: linear-gradient(to right, var(--e-global-color-primary, #050505) 0, var(--e-global-color-primary, #050505) calc(100% - 3rem), transparent 100%);
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects__row--1 {
    top: 1.25rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects__row--2 {
    bottom: 1.25rem;
  }

  .home .elementor-element.elementor-element-dfb06a7 .buildpress-gjc-featured-projects--preset-grid .buildpress-gjc-featured-projects__item {
    flex-basis: min(34vw, 9rem);
    width: min(34vw, 9rem);
  }
}

/* GJC Hero Tunnel: cards follow a single U-shaped route behind the center copy. */
.home .elementor-element.elementor-element-14c58ebb:has(.buildpress-gjc-featured-projects--preset-tunnel) {
  display: block;
  width: 100%;
  min-height: 0;
  padding: 0;
}

.home .elementor-element.elementor-element-14c58ebb:has(.buildpress-gjc-featured-projects--preset-tunnel) > .elementor-element-5c0fcda6,
.home .elementor-element.elementor-element-14c58ebb:has(.buildpress-gjc-featured-projects--preset-tunnel) > .elementor-element-248b0638,
.home .elementor-element.elementor-element-14c58ebb:has(.buildpress-gjc-featured-projects--preset-tunnel) > .elementor-element-42e00238,
.home .elementor-element.elementor-element-14c58ebb:has(.buildpress-gjc-featured-projects--preset-tunnel) > .elementor-element-821aded {
  display: none;
}

.home .elementor-element.elementor-element-dfb06a7:has(.buildpress-gjc-featured-projects--preset-tunnel) {
  position: static;
  width: 100%;
  height: auto;
  margin: 0;
  pointer-events: auto;
}

.home .elementor-element.elementor-element-dfb06a7:has(.buildpress-gjc-featured-projects--preset-tunnel) .elementor-widget-container {
  width: 100%;
}

.home .buildpress-gjc-featured-projects--preset-tunnel {
  --gjc-hero-tunnel-card: clamp(7.5rem, 9vw, 9.5rem);
  --gjc-featured-gap: 0.75rem;
  width: 100%;
  overflow: hidden;
  background: var(--e-global-color-900224d, #ffffff);
}

.home .gjc-hero-tunnel__stage {
  position: relative;
  width: min(100%, 80rem);
  height: 38rem;
  margin-inline: auto;
}

.home .gjc-hero-tunnel__track {
  position: absolute;
  inset: 0;
  z-index: 1;
  touch-action: pan-y;
  cursor: grab;
}

.home .buildpress-gjc-featured-projects--preset-tunnel.is-dragging .gjc-hero-tunnel__track {
  cursor: grabbing;
  user-select: none;
}

.home .gjc-hero-tunnel__card {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--gjc-hero-tunnel-card);
  min-width: var(--gjc-hero-tunnel-card);
  will-change: transform;
}

.home .gjc-hero-tunnel__card .buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__link,
.home .gjc-hero-tunnel__card .buildpress-gjc-featured-projects .buildpress-gjc-featured-projects__media {
  border-radius: 0.375rem;
}

.home .gjc-hero-tunnel__passage {
  position: absolute;
  z-index: 2;
  top: 22%;
  bottom: 22%;
  left: 50%;
  width: clamp(10rem, 18vw, 16rem);
  transform: translateX(-50%);
  background: var(--e-global-color-900224d, #ffffff);
  pointer-events: none;
}

.home .gjc-hero-tunnel__passage::before,
.home .gjc-hero-tunnel__passage::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: color-mix(in srgb, var(--e-global-color-primary, #050505) 10%, transparent);
  content: '';
}

.home .gjc-hero-tunnel__passage::before {
  left: 0;
  transform: skewY(-12deg);
}

.home .gjc-hero-tunnel__passage::after {
  right: 0;
  transform: skewY(-12deg);
}

.home .gjc-hero-tunnel__copy {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: min(100% - 2.5rem, 38rem);
  padding: 3rem 2rem;
  transform: translate(-50%, -50%);
  text-align: center;
  background: var(--e-global-color-900224d, #ffffff);
}

.home .gjc-hero-tunnel__heading {
  max-width: 11.5ch;
  margin: 0 auto;
  color: var(--e-global-color-primary, #050505);
  font-family: var(--e-global-typography-primary-font-family, sans-serif);
  font-size: var(--e-global-typography-primary-font-size, 4.75rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: 0;
}

.home .gjc-hero-tunnel__body {
  max-width: 34rem;
  margin: 1.25rem auto 0;
  color: var(--e-global-color-text, #52616b);
  font-family: var(--e-global-typography-text-font-family, sans-serif);
  font-size: var(--e-global-typography-text-font-size, 1.0625rem);
  line-height: 1.65;
}

.home .gjc-hero-tunnel__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-height: 3rem;
  margin-top: 1.75rem;
  padding: 0.75rem 1.125rem;
  color: var(--e-global-color-900224d, #ffffff);
  background: var(--e-global-color-primary, #050505);
  border: 0.0625rem solid var(--e-global-color-primary, #050505);
  border-radius: 0.5rem;
  box-shadow: none;
  font-family: var(--e-global-typography-01c88e1-font-family, sans-serif);
  font-size: var(--e-global-typography-01c88e1-font-size, 0.875rem);
  font-weight: var(--e-global-typography-01c88e1-font-weight, 700);
  line-height: var(--e-global-typography-01c88e1-line-height, 1.2);
  letter-spacing: var(--e-global-typography-01c88e1-letter-spacing, 0);
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.home .gjc-hero-tunnel__cta svg {
  display: block;
  flex: 0 0 auto;
  width: 1.5rem;
  height: 1.5rem;
  transition: transform 180ms ease;
}

.home .gjc-hero-tunnel__cta:hover,
.home .gjc-hero-tunnel__cta:focus-visible {
  color: var(--e-global-color-900224d, #ffffff);
  background: var(--e-global-color-accent, #e3185c);
  border-color: var(--e-global-color-accent, #e3185c);
  box-shadow: 0 0.7rem 1.5rem color-mix(in srgb, var(--e-global-color-accent, #e3185c) 30%, transparent);
  transform: translateY(-0.125rem);
}

.home .gjc-hero-tunnel__cta:hover svg,
.home .gjc-hero-tunnel__cta:focus-visible svg {
  transform: translate(0.14rem, -0.14rem);
}

.home .gjc-hero-tunnel__cta:active {
  box-shadow: none;
  transform: translateY(0);
}

.home .gjc-hero-tunnel__cta:focus-visible {
  outline: 0.125rem solid var(--e-global-color-accent, #e3185c);
  outline-offset: 0.1875rem;
}

@media (prefers-reduced-motion: reduce) {
  .home .gjc-hero-tunnel__cta,
  .home .gjc-hero-tunnel__cta svg {
    transition: none;
  }
}

@media (max-width: 1024px) {
  .home .gjc-hero-tunnel__stage {
    height: 34rem;
  }

  .home .gjc-hero-tunnel__heading {
    font-size: var(--e-global-typography-primary-font-size, 3.75rem);
  }
}

@media (max-width: 767px) {
  .home .buildpress-gjc-featured-projects--preset-tunnel {
    --gjc-hero-tunnel-card: min(34vw, 9rem);
  }

  .home .gjc-hero-tunnel__stage {
    height: 35rem;
  }

  .home .gjc-hero-tunnel__passage {
    top: 20%;
    bottom: 20%;
    width: 42vw;
  }

  .home .gjc-hero-tunnel__copy {
    width: min(100% - 2rem, 31rem);
    padding: 2.5rem 1rem;
  }

  .home .gjc-hero-tunnel__heading {
    max-width: 10.5ch;
    font-size: var(--e-global-typography-primary-font-size, 2.875rem);
    line-height: 1.06;
  }

  .home .gjc-hero-tunnel__body {
    margin-top: 1rem;
    font-size: var(--e-global-typography-text-font-size, 1rem);
    line-height: 1.6;
  }

  .home .gjc-hero-tunnel__cta {
    margin-top: 1.375rem;
  }
}




