/*
 * Home page
 * Section 1 — Hero / Bricks Slider (Nestable)
 */

.ttd-home-hero,
.ttd-home-hero * {
  box-sizing: border-box;
}

.ttd-home-hero {
  position: relative;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: clamp(680px, calc(100svh - 90px), 820px);
  min-height: 680px;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--ttd-surface-soft);
  overflow: hidden !important;
}

/* Native Bricks Nestable Slider (Splide). */
.ttd-home-slider {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--ttd-surface-soft) !important;
}

.ttd-home-slider .splide__track,
.ttd-home-slider .splide__list,
.ttd-home-slider .ttd-home-slide {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
}

.ttd-home-slider .splide__track {
  overflow: hidden !important;
}

.ttd-home-slider .splide__list {
  margin: 0 !important;
  padding: 0 !important;
}

/* Each slide is a real Bricks Block: 39.5% content / 60.5% media. */
.ttd-home-slider .ttd-home-slide {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 39.5% minmax(0, 60.5%);
  align-items: stretch !important;
  justify-content: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--ttd-surface-soft) !important;
  overflow: visible !important;
}

.ttd-home-slide__left {
  position: relative;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  background: var(--ttd-surface-soft);
  overflow: visible;
}

/* Media ID 29: never distorted. Cropping is allowed, stretching is not. */
.ttd-home-slide__pattern {
  position: absolute !important;
  z-index: 0;
  inset: 0;
  display: block !important;
  width: 80% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
}

.ttd-home-slide__pattern img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

.ttd-home-slide__content {
  position: relative;
  z-index: 2;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0;
  padding: 42px 24px 42px clamp(180px, 16vw, 310px);
}

.ttd-home-slide__title {
  position: relative;
  z-index: 3;
  width: clamp(620px, 36vw, 700px);
  max-width: none;
  margin: 0 !important;
  color: var(--ttd-accent);
  font-size: clamp(46px, 3.55vw, 68px);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -0.045em;
  text-align: left;
}

.ttd-home-slide__title span {
  color: var(--ttd-primary);
}

.ttd-home-slide__text {
  width: 100%;
  max-width: 350px;
  margin: 52px 0 0 !important;
  color: #3f4444;
  font-size: 16px;
  line-height: 1.72;
  text-align: left;
}

.ttd-home-slide__cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: auto !important;
  min-width: 154px;
  min-height: 54px;
  margin: 54px 0 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ttd-white) !important;
  color: var(--ttd-accent) !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: none !important;
}

.ttd-home-slide__cta .icon {
  color: var(--ttd-primary);
  font-size: 11px;
}

.ttd-home-slide__cta:hover {
  background: var(--ttd-primary) !important;
  color: var(--ttd-white) !important;
}

.ttd-home-slide__cta:hover .icon {
  color: var(--ttd-white);
}

/* Media ID 28: occupies the entire right panel without affecting total width. */
.ttd-home-slide__right {
  position: relative;
  z-index: 1;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}

.ttd-home-slide__right img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

/* Real Splide pagination, styled as 01 / 02 / 03. */
.ttd-home-slider .splide__pagination {
  position: absolute !important;
  z-index: 10 !important;
  left: 42px !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 38px !important;
  width: 102px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  transform: translateY(-50%) !important;
  pointer-events: auto;
}

.ttd-home-slider .splide__pagination > li {
  display: block !important;
  width: 102px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.ttd-home-slider .splide__pagination__page {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  width: 102px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
  color: rgba(0, 0, 0, 0.28) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  transform: none !important;
  cursor: pointer;
}

.ttd-home-slider
  .splide__pagination
  > li:nth-child(1)
  .splide__pagination__page::before {
  content: "01";
}

.ttd-home-slider
  .splide__pagination
  > li:nth-child(2)
  .splide__pagination__page::before {
  content: "02";
}

.ttd-home-slider
  .splide__pagination
  > li:nth-child(3)
  .splide__pagination__page::before {
  content: "03";
}

.ttd-home-slider .splide__pagination__page::before {
  color: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.ttd-home-slider .splide__pagination__page.is-active {
  color: var(--ttd-primary) !important;
  transform: none !important;
}

.ttd-home-slider .splide__pagination__page.is-active::after {
  content: "";
  position: absolute;
  left: 60px;
  top: 50%;
  width: 34px;
  height: 2px;
  background: var(--ttd-primary);
  transform: translateY(-50%);
}

/* Native Bricks/Splide arrows placed on the media edge like the reference. */
.ttd-home-slider {
  --ttd-home-arrow-size: clamp(70px, 4.8vw, 88px);
}

.ttd-home-slider .splide__arrows.custom {
  position: static !important;
}

.ttd-home-slider .splide__arrow {
  position: absolute !important;
  z-index: 12 !important;
  top: auto !important;
  bottom: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: var(--ttd-home-arrow-size) !important;
  height: var(--ttd-home-arrow-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ttd-secondary) !important;
  color: var(--ttd-white) !important;
  opacity: 1 !important;
  transform: none !important;
  box-shadow: none !important;
}

.ttd-home-slider .splide__arrow:hover {
  background: var(--ttd-primary) !important;
}

.ttd-home-slider .splide__arrow > * {
  color: inherit !important;
  font-size: 17px !important;
}

.ttd-home-slider .splide__arrow--prev {
  left: 39.5% !important;
  right: auto !important;
}

.ttd-home-slider .splide__arrow--next {
  left: calc(39.5% + var(--ttd-home-arrow-size)) !important;
  right: auto !important;
}

@media (max-width: 1199px) {
  .ttd-home-slider .ttd-home-slide {
    grid-template-columns: 44% minmax(0, 56%);
  }

  .ttd-home-slide__content {
    padding-left: clamp(120px, 14vw, 190px);
    padding-right: 34px;
  }

  .ttd-home-slide__title {
    width: clamp(540px, 52vw, 620px);
    font-size: clamp(42px, 4.6vw, 58px);
  }

  .ttd-home-slider .splide__pagination {
    left: 28px !important;
    width: 74px !important;
  }

  .ttd-home-slider .splide__pagination > li,
  .ttd-home-slider .splide__pagination__page {
    width: 74px !important;
  }

  .ttd-home-slider .splide__pagination__page.is-active::after {
    left: 44px;
    width: 24px;
  }
}

@media (max-width: 991px) {
  .ttd-home-hero {
    height: 820px;
    min-height: 760px;
  }

  .ttd-home-slider .ttd-home-slide {
    grid-template-columns: 1fr;
    grid-template-rows: 56% 44%;
    overflow: hidden !important;
  }

  .ttd-home-slide__left,
  .ttd-home-slide__right {
    height: 100% !important;
  }

  .ttd-home-slide__content {
    padding: 64px 46px 48px 104px;
  }

  .ttd-home-slide__left {
    overflow: hidden;
  }

  .ttd-home-slide__title {
    width: 100%;
    max-width: 620px;
  }

  .ttd-home-slide__text {
    max-width: 520px;
    margin-top: 30px !important;
  }

  .ttd-home-slide__cta {
    margin-top: 34px !important;
  }

  .ttd-home-slider .splide__pagination {
    left: 24px !important;
    top: 28% !important;
  }

  .ttd-home-slider {
    --ttd-home-arrow-size: 64px;
  }

  .ttd-home-slider .splide__arrow--prev {
    left: auto !important;
    right: var(--ttd-home-arrow-size) !important;
  }

  .ttd-home-slider .splide__arrow--next {
    left: auto !important;
    right: 0 !important;
  }
}

@media (max-width: 767px) {
  .ttd-home-hero {
    height: 760px;
    min-height: 700px;
  }

  .ttd-home-slider .ttd-home-slide {
    grid-template-rows: 60% 40%;
  }

  .ttd-home-slide__content {
    justify-content: flex-start;
    padding: 76px var(--ttd-gutter) 30px;
  }

  .ttd-home-slide__title {
    max-width: 100%;
    font-size: clamp(40px, 12vw, 54px);
  }

  .ttd-home-slide__text {
    max-width: 100%;
    margin-top: 25px !important;
    font-size: 14px;
    line-height: 1.65;
  }

  .ttd-home-slide__cta {
    min-height: 50px;
    margin-top: 28px !important;
  }

  .ttd-home-slider .splide__pagination {
    left: var(--ttd-gutter) !important;
    top: 24px !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 22px !important;
    width: auto !important;
    transform: none !important;
  }

  .ttd-home-slider .splide__pagination > li,
  .ttd-home-slider .splide__pagination__page {
    width: 34px !important;
    height: 22px !important;
  }

  .ttd-home-slider .splide__pagination__page.is-active::after {
    left: 0;
    top: auto;
    bottom: -7px;
    width: 24px;
    transform: none;
  }

  .ttd-home-slider {
    --ttd-home-arrow-size: 56px;
  }
}

/*
 * Section 2 — Intro / image + copy + stats
 */
.ttd-home-intro,
.ttd-home-intro * {
  box-sizing: border-box;
}

.ttd-home-intro {
  width: 100%;
  margin: 0;
  padding: var(--ttd-section-space) 0;
  background: var(--ttd-white);
}

.ttd-home-intro__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(420px, 1fr);
  align-items: center !important;
  gap: clamp(36px, 3vw, 48px);
  width: min(100% - (var(--ttd-gutter) * 2), var(--ttd-shell)) !important;
  max-width: var(--ttd-shell) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.ttd-home-intro__media {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.ttd-home-intro__image {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 1.56 / 1;
  margin: 0 !important;
  overflow: hidden;
}

.ttd-home-intro__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.ttd-home-intro__content {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.ttd-home-intro__title {
  width: 100%;
  max-width: 560px;
  margin: 0 !important;
  color: var(--ttd-accent);
  font-size: clamp(32px, 2.45vw, 42px);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.ttd-home-intro__text {
  width: 100%;
  max-width: 560px;
  margin: 34px 0 0 !important;
  color: var(--ttd-text);
  font-size: 15px;
  line-height: 1.9;
}

.ttd-home-intro__stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  max-width: 560px;
  margin: 46px 0 0 !important;
  padding: 0;
}

.ttd-home-intro__stat {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  margin: 0;
  padding: 0 26px 0 0;
}

.ttd-home-intro__stat + .ttd-home-intro__stat {
  padding: 0 0 0 32px;
}

.ttd-home-intro__stat + .ttd-home-intro__stat::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--ttd-border);
}

.ttd-home-intro__stat-icon {
  color: var(--ttd-primary);
  font-size: 28px;
  line-height: 1;
}

.ttd-home-intro__stat-value {
  margin: 18px 0 0 !important;
  color: var(--ttd-accent);
  font-size: clamp(36px, 2.55vw, 42px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.ttd-home-intro__stat-label {
  margin: 10px 0 0 !important;
  color: var(--ttd-accent);
  font-size: 14px;
  line-height: 1.4;
}

@media (max-width: 991px) {
  .ttd-home-intro {
    padding: var(--ttd-section-space-mobile) 0;
  }

  .ttd-home-intro__inner {
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.9fr);
    gap: 28px;
  }

  .ttd-home-intro__title {
    font-size: clamp(30px, 3.8vw, 38px);
  }

  .ttd-home-intro__text {
    margin-top: 24px !important;
    font-size: 14px;
    line-height: 1.75;
  }

  .ttd-home-intro__stats {
    margin-top: 32px !important;
  }

  .ttd-home-intro__stat {
    padding-right: 22px;
  }

  .ttd-home-intro__stat + .ttd-home-intro__stat {
    padding-left: 26px;
  }

  .ttd-home-intro__stat-value {
    font-size: clamp(30px, 4vw, 36px);
    white-space: normal;
  }
}

@media (max-width: 767px) {
  .ttd-home-intro__inner {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .ttd-home-intro__image {
    aspect-ratio: 1.35 / 1;
  }

  .ttd-home-intro__title,
  .ttd-home-intro__text,
  .ttd-home-intro__stats {
    max-width: 100%;
  }

  .ttd-home-intro__title {
    font-size: clamp(30px, 9vw, 38px);
  }

  .ttd-home-intro__stats {
    margin-top: 34px !important;
  }

  .ttd-home-intro__stat-value {
    font-size: clamp(34px, 9vw, 42px);
  }
}

/*
 * Section 3 — Features / numbered grid + large media
 */
.ttd-home-features,
.ttd-home-features * {
  box-sizing: border-box;
}

.ttd-home-features {
  width: 100%;
  margin: 0;
  padding: var(--ttd-section-space) 0;
  background: var(--ttd-white);
  overflow: hidden;
}

.ttd-home-features__inner {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 46%) minmax(0, 54%);
  grid-template-rows: auto minmax(0, 1fr);
  align-items: stretch !important;
  width: min(100% - (var(--ttd-gutter) * 2), var(--ttd-shell)) !important;
  max-width: var(--ttd-shell) !important;
  min-height: clamp(650px, 45vw, 760px);
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible;
}

.ttd-home-features__eyebrow {
  position: absolute !important;
  z-index: 2;
  top: 8px;
  left: -58px;
  align-self: start;
  width: 22px;
  margin: 0 !important;
  padding: 0 0 34px;
  color: var(--ttd-text-muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.16em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.ttd-home-features__eyebrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 2px;
  height: 24px;
  background: var(--ttd-primary);
  transform: translateX(-50%);
}

.ttd-home-features__title {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  width: 100%;
  max-width: 600px;
  margin: 0 !important;
  padding: 0 44px 58px 0;
  color: var(--ttd-secondary);
  font-size: clamp(42px, 3.65vw, 62px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.ttd-home-features__panel {
  position: relative;
  grid-column: 1;
  grid-row: 2;
  display: flex !important;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  margin: 0 !important;
  padding: clamp(54px, 4.8vw, 82px) clamp(38px, 4.2vw, 72px) !important;
  background: var(--ttd-surface-soft);
  overflow: hidden;
}

.ttd-home-features__panel::before {
  content: "";
  position: absolute;
  top: -90px;
  right: -30px;
  width: 70%;
  height: 78%;
  opacity: 0.42;
  pointer-events: none;
  background: repeating-linear-gradient(
    48deg,
    transparent 0,
    transparent 26px,
    rgba(24, 99, 103, 0.11) 27px,
    transparent 29px
  );
}

.ttd-home-features__grid {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  width: 100%;
  min-width: 0;
  gap: clamp(42px, 4vw, 66px) clamp(34px, 4vw, 64px);
}

.ttd-home-features__item {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.ttd-home-features__number {
  margin: 0 !important;
  color: var(--ttd-primary);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}

.ttd-home-features__text {
  max-width: 235px;
  margin: 18px 0 0 !important;
  color: var(--ttd-accent);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
}

.ttd-home-features__image {
  position: relative;
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: stretch;
  display: block !important;
  width: calc(100% + max(var(--ttd-gutter), calc((100vw - var(--ttd-shell)) / 2))) !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0;
  margin: 0 !important;
  overflow: hidden;
}

.ttd-home-features__image img {
  position: absolute !important;
  inset: 0;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 1400px) {
  .ttd-home-features__eyebrow {
    left: -34px;
  }
}

@media (max-width: 1199px) {
  .ttd-home-features__inner {
    grid-template-columns: minmax(0, 47%) minmax(0, 53%);
  }

  .ttd-home-features__title {
    padding-right: 32px;
    font-size: clamp(38px, 4vw, 52px);
  }

  .ttd-home-features__panel {
    padding: 48px 36px !important;
  }

  .ttd-home-features__grid {
    column-gap: 30px;
    row-gap: 38px;
  }
}

@media (max-width: 991px) {
  .ttd-home-features {
    padding: var(--ttd-section-space-mobile) 0;
  }

  .ttd-home-features__inner {
    grid-template-columns: minmax(0, 48%) minmax(0, 52%);
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 600px;
  }

  .ttd-home-features__eyebrow {
    left: -22px;
  }

  .ttd-home-features__title {
    padding-bottom: 40px;
    font-size: clamp(34px, 4.7vw, 44px);
  }

  .ttd-home-features__panel {
    min-height: 0;
    padding: 38px 26px !important;
  }

  .ttd-home-features__grid {
    gap: 30px 24px;
  }

  .ttd-home-features__text {
    margin-top: 12px !important;
    font-size: 13px;
  }

  .ttd-home-features__image {
    min-height: 0;
  }
}

@media (max-width: 767px) {
  .ttd-home-features__inner {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: 0;
  }

  .ttd-home-features__eyebrow {
    position: relative !important;
    grid-column: 1;
    grid-row: 1;
    top: auto;
    left: auto;
    justify-self: start;
    display: flex !important;
    align-items: center;
    gap: 12px;
    width: auto;
    margin: 0 0 18px !important;
    padding: 0 0 0 38px;
    font-size: 10px;
    writing-mode: horizontal-tb;
    transform: none;
  }

  .ttd-home-features__eyebrow::after {
    left: 0;
    top: 50%;
    bottom: auto;
    width: 26px;
    height: 2px;
    transform: translateY(-50%);
  }

  .ttd-home-features__title {
    grid-column: 1;
    grid-row: 2;
    max-width: 100%;
    padding: 0 0 34px;
    font-size: clamp(32px, 9vw, 42px);
  }

  .ttd-home-features__image {
    grid-column: 1;
    grid-row: 3;
    width: calc(100% + (var(--ttd-gutter) * 2)) !important;
    height: auto !important;
    min-height: 0;
    margin: 0 0 0 calc(-1 * var(--ttd-gutter)) !important;
    aspect-ratio: 1.2 / 1;
  }

  .ttd-home-features__panel {
    grid-column: 1;
    grid-row: 4;
    min-height: 0;
    padding: 42px var(--ttd-gutter) !important;
  }

  .ttd-home-features__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 26px;
  }

  .ttd-home-features__text {
    max-width: none;
  }
}

@media (max-width: 479px) {
  .ttd-home-features__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .ttd-home-features__panel {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }
}

/* Sections 4–6: Products / Projects / News. */
.ttd-home-products,.ttd-home-products *,.ttd-home-projects,.ttd-home-projects *,.ttd-home-news,.ttd-home-news *{box-sizing:border-box}
.ttd-home-products,.ttd-home-projects,.ttd-home-news{width:100%;margin:0;padding:var(--ttd-section-space) 0;overflow:hidden}
.ttd-home-products,.ttd-home-news{background:var(--ttd-white)}
.ttd-home-projects{background:#fbfdfd}
.ttd-home-products__inner,.ttd-home-projects__inner,.ttd-home-news__inner{position:relative;width:min(100% - (var(--ttd-gutter) * 2),var(--ttd-shell))!important;max-width:var(--ttd-shell)!important;margin:0 auto!important;padding:0!important}
.ttd-home-products__eyebrow,.ttd-home-projects__eyebrow,.ttd-home-news__eyebrow{position:absolute!important;top:8px;left:-58px;width:22px;margin:0!important;padding:0 0 34px;color:var(--ttd-text-muted);font-size:11px;font-weight:600;line-height:1;letter-spacing:.16em;writing-mode:vertical-rl;transform:rotate(180deg)}
.ttd-home-products__eyebrow::after,.ttd-home-projects__eyebrow::after,.ttd-home-news__eyebrow::after{content:"";position:absolute;left:50%;bottom:0;width:2px;height:24px;background:var(--ttd-primary);transform:translateX(-50%)}
.ttd-home-products__title,.ttd-home-projects__title,.ttd-home-news__title{max-width:660px;margin:0!important;color:var(--ttd-secondary);font-size:clamp(42px,3.65vw,62px);font-weight:400;line-height:1.08;letter-spacing:-.035em}

/* Product tabs + slider */
.ttd-home-products__tabs,.ttd-home-products__tab-content.tab-content,.ttd-home-products__pane.tab-pane,.ttd-home-products__slider{width:100%!important;margin:0!important;padding:0!important}
.ttd-home-products__tabs,.ttd-home-products__slider{display:block!important}
.ttd-home-products__tab-menu.tab-menu{display:flex!important;flex-direction:row!important;align-items:stretch;justify-content:flex-end;width:max-content!important;max-width:100%;margin:-54px 0 72px auto!important;padding:0!important;border:1px solid var(--ttd-border);background:var(--ttd-white)}
.ttd-home-products__tab-title.tab-title{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:50px;margin:0!important;padding:0 23px!important;border:0!important;border-right:1px solid var(--ttd-border)!important;background:transparent!important;color:var(--ttd-text);font-size:12px;font-weight:500;text-align:center;cursor:pointer}
.ttd-home-products__tab-title.tab-title:last-child{border-right:0!important}
.ttd-home-products__tab-title.tab-title::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent}
.ttd-home-products__tab-title.tab-title.brx-open,.ttd-home-products__tab-title.tab-title:hover{color:var(--ttd-accent);background:#fbfdfd!important}
.ttd-home-products__tab-title.tab-title.brx-open::after{background:var(--ttd-primary)}
.ttd-home-products__slider{position:relative;max-width:100%!important}
.ttd-home-products__slider .splide__track{overflow:hidden!important}
.ttd-home-products__slider .splide__list{align-items:stretch}
.ttd-home-product-card{display:flex!important;flex-direction:column;min-width:0;height:auto!important;margin:0!important;padding:0!important;border:1px solid rgba(29,104,109,.12);background:var(--ttd-white);overflow:hidden;transition:transform .24s ease,box-shadow .24s ease}
.ttd-home-product-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(21,47,48,.08)}
.ttd-home-product-card__image{display:block!important;width:100%!important;max-width:none!important;aspect-ratio:1.06/1;margin:0!important;padding:16px!important;background:var(--ttd-surface-soft);overflow:hidden}
.ttd-home-product-card__image a,.ttd-home-product-card__image img{display:block!important;width:100%!important;height:100%!important}
.ttd-home-product-card__image img{max-width:none!important;object-fit:cover!important;object-position:center!important;transition:transform .4s ease}
.ttd-home-product-card:hover .ttd-home-product-card__image img{transform:scale(1.025)}
.ttd-home-product-card__body{display:flex!important;flex:1;flex-direction:column;align-items:flex-start;width:100%;min-height:132px;margin:0!important;padding:22px 20px 24px!important}
.ttd-home-product-card__title{margin:0!important;color:var(--ttd-secondary);font-size:15px;font-weight:600;line-height:1.48}
.ttd-home-product-card__title a,.ttd-home-project-slide__title a,.ttd-home-news-card__title a{color:inherit}
.ttd-home-product-card__title a:hover,.ttd-home-project-slide__title a:hover,.ttd-home-news-card__title a:hover{color:var(--ttd-primary)}
.ttd-home-product-card__price{width:100%;margin:auto 0 0!important;padding-top:16px}
.ttd-home-product-card__price .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin:0!important;color:var(--ttd-primary);font-size:16px;font-weight:700}
.ttd-home-product-card__price .price del{color:var(--ttd-text-muted);font-size:12px;font-weight:400}
.ttd-home-product-card__price .price ins{color:var(--ttd-primary);text-decoration:none}
.ttd-home-products__slider .splide__arrow{position:absolute!important;z-index:5;top:50%!important;display:flex!important;align-items:center;justify-content:center;width:48px!important;height:48px!important;margin:0!important;padding:0!important;border:1px solid var(--ttd-border)!important;border-radius:0!important;background:var(--ttd-white)!important;color:var(--ttd-secondary)!important;opacity:1!important;transform:translateY(-50%)!important;box-shadow:0 10px 30px rgba(21,47,48,.08)}
.ttd-home-products__slider .splide__arrow:hover{border-color:var(--ttd-primary)!important;background:var(--ttd-primary)!important;color:var(--ttd-white)!important}
.ttd-home-products__slider .splide__arrow--prev{left:10px!important}
.ttd-home-products__slider .splide__arrow--next{right:10px!important}

/* Projects */
.ttd-home-projects__inner,.ttd-home-news__inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end!important}
.ttd-home-projects__title,.ttd-home-news__title{grid-column:1;grid-row:1}
.ttd-home-projects__all,.ttd-home-news__all{display:inline-flex!important;align-items:center;justify-content:center;gap:12px;width:auto!important;min-height:48px;margin:0 0 5px!important;padding:0 20px!important;border:1px solid var(--ttd-border)!important;border-radius:0!important;background:transparent!important;color:var(--ttd-secondary)!important;font-size:11px;font-weight:700;text-transform:uppercase}
.ttd-home-projects__all:hover,.ttd-home-news__all:hover{border-color:var(--ttd-primary)!important;background:var(--ttd-primary)!important;color:var(--ttd-white)!important}
.ttd-home-projects__slider{position:relative;grid-column:1/-1;width:100%!important;margin:68px 0 0!important;padding:0!important;overflow:visible!important}
.ttd-home-projects__slider .splide__track{overflow:visible!important}
.ttd-home-projects__slider .splide__pagination{display:none!important}
.ttd-home-project-slide{position:relative;display:grid!important;grid-template-columns:minmax(0,48%) minmax(0,52%);align-items:center!important;width:100%!important;min-width:0;min-height:520px;margin:0!important;padding:58px 72px 58px 0!important;background:var(--ttd-surface-soft);overflow:visible!important}
.ttd-home-project-slide::after{content:"";position:absolute;top:0;right:0;width:43%;height:100%;opacity:.48;pointer-events:none;background:repeating-linear-gradient(45deg,transparent 0,transparent 27px,rgba(29,104,109,.08) 28px,transparent 30px)}
.ttd-home-project-slide__image{position:relative;z-index:2;display:block!important;width:calc(100% + 72px)!important;max-width:none!important;aspect-ratio:1.42/1;margin:0 0 0 -72px!important;padding:0!important;overflow:hidden;box-shadow:0 18px 48px rgba(21,47,48,.11)}
.ttd-home-project-slide__image a,.ttd-home-project-slide__image img{display:block!important;width:100%!important;height:100%!important}
.ttd-home-project-slide__image img{max-width:none!important;object-fit:cover!important;object-position:center!important}
.ttd-home-project-slide__content{position:relative;z-index:2;display:flex!important;flex-direction:column;align-items:flex-start;width:100%;min-width:0;margin:0!important;padding:20px 0 20px clamp(52px,5vw,82px)!important}
.ttd-home-project-slide__title{max-width:520px;margin:0!important;color:var(--ttd-secondary);font-size:clamp(30px,2.8vw,44px);font-weight:500;line-height:1.16;letter-spacing:-.025em}
.ttd-home-project-slide__text{display:-webkit-box!important;max-width:560px;margin:28px 0 0!important;overflow:hidden;color:var(--ttd-text);font-size:15px;line-height:1.85;-webkit-box-orient:vertical;-webkit-line-clamp:5}
.ttd-home-project-slide__cta{display:inline-flex!important;align-items:center;justify-content:center;gap:12px;width:auto!important;min-height:52px;margin:34px 0 0!important;padding:0 24px!important;border:0!important;border-radius:0!important;background:var(--ttd-primary)!important;color:var(--ttd-white)!important;font-size:11px;font-weight:700;text-transform:uppercase}
.ttd-home-project-slide__cta:hover{background:var(--ttd-primary-hover)!important}
.ttd-home-projects__slider .splide__arrow{position:absolute!important;z-index:8;top:auto!important;bottom:0!important;display:flex!important;align-items:center;justify-content:center;width:66px!important;height:58px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:var(--ttd-white)!important;color:var(--ttd-accent)!important;opacity:1!important;transform:none!important}
.ttd-home-projects__slider .splide__arrow:hover{background:var(--ttd-primary)!important;color:var(--ttd-white)!important}
.ttd-home-projects__slider .splide__arrow--prev{left:calc(48% - 66px)!important}
.ttd-home-projects__slider .splide__arrow--next{left:48%!important;right:auto!important}

/* News */
.ttd-home-news__grid{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(26px,3vw,42px);width:100%;margin:68px 0 0!important;padding:0 0 26px!important}
.ttd-home-news-card{position:relative;display:block!important;width:100%;min-width:0;margin:0!important;padding:0!important}
.ttd-home-news-card__image{display:block!important;width:100%!important;max-width:none!important;aspect-ratio:.86/1;margin:0!important;padding:0!important;overflow:hidden;background:var(--ttd-surface-soft)}
.ttd-home-news-card__image a,.ttd-home-news-card__image img{display:block!important;width:100%!important;height:100%!important}
.ttd-home-news-card__image img{max-width:none!important;object-fit:cover!important;object-position:center!important;transition:transform .45s ease}
.ttd-home-news-card:hover .ttd-home-news-card__image img{transform:scale(1.03)}
.ttd-home-news-card__body{position:relative;z-index:2;display:flex!important;flex-direction:column;align-items:flex-start;width:calc(100% - 46px);min-height:176px;margin:-104px 0 0 30px!important;padding:38px 28px 30px!important;background:var(--ttd-white);box-shadow:0 20px 44px rgba(21,47,48,.09)}
.ttd-home-news-card__category{position:absolute!important;top:-31px;left:28px;display:inline-flex!important;align-items:center;min-height:31px;max-width:calc(100% - 56px);margin:0!important;padding:0 14px!important;overflow:hidden;background:var(--ttd-primary);color:var(--ttd-white);font-size:10px;font-weight:700;line-height:1;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis}
.ttd-home-news-card__meta{display:flex!important;align-items:center;flex-wrap:wrap;gap:8px 20px;width:100%;margin:0!important;color:var(--ttd-text);font-size:11px;line-height:1.4}
.ttd-home-news-card__date,.ttd-home-news-card__author{position:relative;margin:0!important;padding-left:14px}
.ttd-home-news-card__date::before,.ttd-home-news-card__author::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;border:1px solid var(--ttd-primary);border-radius:50%;transform:translateY(-50%)}
.ttd-home-news-card__title{margin:14px 0 0!important;color:var(--ttd-accent);font-size:clamp(17px,1.5vw,21px);font-weight:600;line-height:1.42}

@media(max-width:1400px){
.ttd-home-products__eyebrow,.ttd-home-projects__eyebrow,.ttd-home-news__eyebrow{left:-34px}
}

@media(max-width:1199px){
.ttd-home-products__tab-menu.tab-menu{max-width:640px;margin-top:-50px!important}
.ttd-home-project-slide{grid-template-columns:minmax(0,47%) minmax(0,53%);min-height:470px;padding-right:46px!important}
.ttd-home-project-slide__image{width:calc(100% + 44px)!important;margin-left:-44px!important}
.ttd-home-project-slide__content{padding-left:44px!important}
.ttd-home-projects__slider .splide__arrow--prev{left:calc(47% - 66px)!important}
.ttd-home-projects__slider .splide__arrow--next{left:47%!important}
}

@media(max-width:991px){
.ttd-home-products,.ttd-home-projects,.ttd-home-news{padding:var(--ttd-section-space-mobile) 0}
.ttd-home-products__eyebrow,.ttd-home-projects__eyebrow,.ttd-home-news__eyebrow{left:-22px}
.ttd-home-products__tab-menu.tab-menu{max-width:560px;margin-top:-44px!important;margin-bottom:54px!important}
.ttd-home-project-slide{grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:430px;padding:42px 34px 42px 0!important}
.ttd-home-project-slide__image{width:calc(100% + 30px)!important;margin-left:-30px!important}
.ttd-home-project-slide__content{padding-left:34px!important}
.ttd-home-projects__slider .splide__arrow--prev{left:calc(46% - 58px)!important}
.ttd-home-projects__slider .splide__arrow--next{left:46%!important}
.ttd-home-projects__slider .splide__arrow{width:58px!important;height:52px!important}
.ttd-home-news__grid{gap:24px}
.ttd-home-news-card__body{width:calc(100% - 26px);margin-left:18px!important;padding-inline:20px!important}
}

@media(max-width:767px){
.ttd-home-products__eyebrow,.ttd-home-projects__eyebrow,.ttd-home-news__eyebrow{position:relative!important;top:auto;left:auto;display:flex!important;align-items:center;width:auto;margin:0 0 18px!important;padding:0 0 0 38px;font-size:10px;writing-mode:horizontal-tb;transform:none}
.ttd-home-products__eyebrow::after,.ttd-home-projects__eyebrow::after,.ttd-home-news__eyebrow::after{left:0;top:50%;bottom:auto;width:26px;height:2px;transform:translateY(-50%)}
.ttd-home-products__title,.ttd-home-projects__title,.ttd-home-news__title{max-width:100%;font-size:clamp(32px,9vw,42px)}
.ttd-home-products__tab-menu.tab-menu{justify-content:flex-start;width:100%!important;max-width:100%;margin:34px 0 42px!important;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.ttd-home-products__tab-menu.tab-menu::-webkit-scrollbar{display:none}
.ttd-home-products__tab-title.tab-title{flex:0 0 auto;min-width:132px;padding-inline:14px!important}
.ttd-home-projects__inner,.ttd-home-news__inner{display:block!important}
.ttd-home-projects__all,.ttd-home-news__all{margin-top:26px!important}
.ttd-home-projects__slider{margin-top:42px!important}
.ttd-home-projects__slider .splide__track{overflow:hidden!important}
.ttd-home-project-slide{grid-template-columns:1fr;min-height:0;padding:0 0 30px!important;overflow:hidden!important}
.ttd-home-project-slide::after{width:100%;height:55%}
.ttd-home-project-slide__image{width:100%!important;aspect-ratio:1.34/1;margin:0!important;box-shadow:none}
.ttd-home-project-slide__content{padding:36px var(--ttd-gutter) 72px!important}
.ttd-home-projects__slider .splide__arrow{bottom:0!important;width:54px!important;height:52px!important}
.ttd-home-projects__slider .splide__arrow--prev{left:0!important}
.ttd-home-projects__slider .splide__arrow--next{left:54px!important}
.ttd-home-news__grid{grid-template-columns:1fr;gap:42px;margin-top:42px!important}
.ttd-home-news-card__image{aspect-ratio:1.42/1}
.ttd-home-news-card__body{width:calc(100% - 22px);min-height:156px;margin:-58px 0 0 22px!important}
}

@media(max-width:479px){
.ttd-home-project-slide__content{padding-inline:20px!important}
.ttd-home-news-card__image{aspect-ratio:1.18/1}
.ttd-home-news-card__body{width:calc(100% - 14px);margin-left:14px!important;padding:34px 18px 24px!important}
}

/* Section 4–5 polish: preserve Splide spacing and keep navigation compact. */
.ttd-home-products__slider .ttd-home-product-card {
  /* Splide calculates slide width with a 24px gap and applies the gap as
     slide margin. The earlier margin reset removed that visual spacing. */
  margin: 0 24px 0 0 !important;
}

.ttd-home-products__slider .splide__arrow {
  width: 44px !important;
  height: 44px !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 22px rgba(21,47,48,.08) !important;
}

.ttd-home-products__slider .splide__arrow--prev {
  left: 12px !important;
}

.ttd-home-products__slider .splide__arrow--next {
  right: 12px !important;
}

.ttd-home-products__slider .splide__arrow > i,
.ttd-home-products__slider .splide__arrow > svg,
.ttd-home-projects__slider .splide__arrow > i,
.ttd-home-projects__slider .splide__arrow > svg {
  display: block !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  line-height: 16px !important;
  transform: none !important;
}

/* Keep one project slide fully contained instead of bleeding the next slide
   into the current viewport. */
.ttd-home-projects__slider {
  overflow: hidden !important;
}

.ttd-home-projects__slider .splide__track {
  overflow: hidden !important;
}

.ttd-home-project-slide {
  grid-template-columns: minmax(0, 46%) minmax(0, 1fr) !important;
  column-gap: clamp(34px, 4vw, 58px) !important;
  min-height: 500px;
  padding: 28px !important;
  border: 1px solid rgba(29,104,109,.1);
  overflow: hidden !important;
}

.ttd-home-project-slide__image {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-shadow: 0 14px 34px rgba(21,47,48,.09);
}

.ttd-home-project-slide__content {
  padding: 20px clamp(16px, 2vw, 30px) 82px 0 !important;
}

.ttd-home-projects__slider .splide__arrow {
  bottom: 28px !important;
  width: 46px !important;
  height: 46px !important;
  border: 1px solid var(--ttd-border) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 22px rgba(21,47,48,.08) !important;
}

.ttd-home-projects__slider .splide__arrow--prev {
  left: calc(46% + 28px) !important;
  right: auto !important;
}

.ttd-home-projects__slider .splide__arrow--next {
  left: calc(46% + 82px) !important;
  right: auto !important;
}

@media (max-width: 1199px) {
  .ttd-home-project-slide {
    grid-template-columns: minmax(0, 44%) minmax(0, 1fr) !important;
    column-gap: 34px !important;
    min-height: 460px;
    padding: 24px !important;
  }

  .ttd-home-project-slide__image {
    width: 100% !important;
    margin: 0 !important;
  }

  .ttd-home-project-slide__content {
    padding: 18px 18px 78px 0 !important;
  }

  .ttd-home-projects__slider .splide__arrow {
    bottom: 24px !important;
  }

  .ttd-home-projects__slider .splide__arrow--prev {
    left: calc(44% + 24px) !important;
  }

  .ttd-home-projects__slider .splide__arrow--next {
    left: calc(44% + 78px) !important;
  }
}

@media (max-width: 991px) {
  .ttd-home-project-slide {
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr) !important;
    column-gap: 26px !important;
    min-height: 420px;
    padding: 22px !important;
  }

  .ttd-home-project-slide__image {
    width: 100% !important;
    margin: 0 !important;
  }

  .ttd-home-project-slide__content {
    padding: 16px 10px 76px 0 !important;
  }

  .ttd-home-projects__slider .splide__arrow {
    bottom: 22px !important;
    width: 44px !important;
    height: 44px !important;
  }

  .ttd-home-projects__slider .splide__arrow--prev {
    left: calc(42% + 22px) !important;
  }

  .ttd-home-projects__slider .splide__arrow--next {
    left: calc(42% + 74px) !important;
  }
}

@media (max-width: 767px) {
  .ttd-home-project-slide {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    min-height: 0;
    padding: 0 0 24px !important;
  }

  .ttd-home-project-slide__image {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-shadow: none;
  }

  .ttd-home-project-slide__content {
    padding: 32px var(--ttd-gutter) 82px !important;
  }

  .ttd-home-projects__slider .splide__arrow {
    bottom: 24px !important;
    width: 44px !important;
    height: 44px !important;
  }

  .ttd-home-projects__slider .splide__arrow--prev {
    left: var(--ttd-gutter) !important;
  }

  .ttd-home-projects__slider .splide__arrow--next {
    left: calc(var(--ttd-gutter) + 52px) !important;
  }
}

/*
 * Home motion — restrained layer animation inspired by Spacey.
 * Animate opacity/transform only: no layout shift and no Builder data changes.
 */
:root {
  --ttd-motion-ease: cubic-bezier(.22, 1, .36, 1);
  --ttd-motion-base: 720ms;
  --ttd-motion-slow: 980ms;
}

/* Hero: stagger the content and soften the media change on every active slide. */
html.ttd-motion-ready .ttd-home-slider .ttd-home-slide .ttd-home-slide__title,
html.ttd-motion-ready .ttd-home-slider .ttd-home-slide .ttd-home-slide__text,
html.ttd-motion-ready .ttd-home-slider .ttd-home-slide .ttd-home-slide__cta {
  opacity: 0;
}

html.ttd-motion-ready .ttd-home-slider .ttd-home-slide.is-active .ttd-home-slide__title {
  animation: ttd-home-rise var(--ttd-motion-base) var(--ttd-motion-ease) 90ms both;
}

html.ttd-motion-ready .ttd-home-slider .ttd-home-slide.is-active .ttd-home-slide__text {
  animation: ttd-home-rise var(--ttd-motion-base) var(--ttd-motion-ease) 220ms both;
}

html.ttd-motion-ready .ttd-home-slider .ttd-home-slide.is-active .ttd-home-slide__cta {
  animation: ttd-home-rise var(--ttd-motion-base) var(--ttd-motion-ease) 350ms both;
}

html.ttd-motion-ready .ttd-home-slider .ttd-home-slide.is-active .ttd-home-slide__right {
  animation: ttd-home-hero-media 1.1s var(--ttd-motion-ease) both;
}

html.ttd-motion-ready .ttd-home-slider .ttd-home-slide.is-active .ttd-home-slide__pattern {
  animation: ttd-home-pattern 900ms var(--ttd-motion-ease) 70ms both;
}

@keyframes ttd-home-rise {
  from { opacity: 0; transform: translate3d(0, 34px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes ttd-home-hero-media {
  from { opacity: .72; transform: scale(1.045); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes ttd-home-pattern {
  from { opacity: 0; transform: translate3d(-18px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Below the fold: JS adds only .ttd-motion-watch and .ttd-motion-in. */
html.ttd-motion-ready .ttd-motion-watch .ttd-home-intro__media,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-intro__title,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-intro__text,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-intro__stats,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-features__eyebrow,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-features__title,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-features__panel,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-features__image,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-products__eyebrow,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-products__title,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-products__tab-menu,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-product-card,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-projects__eyebrow,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-projects__title,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-projects__all,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-projects__slider,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-news__eyebrow,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-news__title,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-news__all,
html.ttd-motion-ready .ttd-motion-watch .ttd-home-news-card {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition:
    opacity var(--ttd-motion-base) var(--ttd-motion-ease),
    transform var(--ttd-motion-base) var(--ttd-motion-ease);
  will-change: opacity, transform;
}

html.ttd-motion-ready .ttd-motion-watch .ttd-home-intro__media {
  transform: translate3d(-42px, 0, 0);
}

html.ttd-motion-ready .ttd-motion-watch .ttd-home-features__image {
  transform: translate3d(46px, 0, 0);
}

html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-intro__media,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-intro__title,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-intro__text,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-intro__stats,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-features__eyebrow,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-features__title,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-features__panel,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-features__image,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-products__eyebrow,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-products__title,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-products__tab-menu,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-product-card,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-projects__eyebrow,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-projects__title,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-projects__all,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-projects__slider,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-news__eyebrow,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-news__title,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-news__all,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-news-card {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Delays create the same measured layer sequence as the reference. */
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-intro__title,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-features__title,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-products__title,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-projects__title,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-news__title {
  transition-delay: 80ms;
}

html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-intro__text,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-features__panel,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-products__tab-menu,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-projects__all,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-news__all {
  transition-delay: 170ms;
}

html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-intro__stats,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-features__image,
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-projects__slider {
  transition-delay: 250ms;
}

html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-product-card:nth-child(1),
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-news-card:nth-child(1) { transition-delay: 150ms; }
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-product-card:nth-child(2),
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-news-card:nth-child(2) { transition-delay: 220ms; }
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-product-card:nth-child(3),
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-news-card:nth-child(3) { transition-delay: 290ms; }
html.ttd-motion-ready .ttd-motion-watch.ttd-motion-in .ttd-home-product-card:nth-child(4) { transition-delay: 360ms; }

/* Project slider: active media and copy get a short layer transition. */
html.ttd-motion-ready .ttd-home-projects__slider .ttd-home-project-slide.is-active .ttd-home-project-slide__image {
  animation: ttd-home-project-media 760ms var(--ttd-motion-ease) both;
}

html.ttd-motion-ready .ttd-home-projects__slider .ttd-home-project-slide.is-active .ttd-home-project-slide__content {
  animation: ttd-home-project-copy 720ms var(--ttd-motion-ease) 100ms both;
}

@keyframes ttd-home-project-media {
  from { opacity: .45; transform: translate3d(-28px, 0, 0) scale(1.015); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes ttd-home-project-copy {
  from { opacity: 0; transform: translate3d(28px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Micro-interaction for the arrow buttons. */
.ttd-home-slide__cta .icon,
.ttd-home-projects__all .icon,
.ttd-home-project-slide__cta .icon,
.ttd-home-news__all .icon {
  transition: transform 260ms var(--ttd-motion-ease);
}

.ttd-home-slide__cta:hover .icon,
.ttd-home-projects__all:hover .icon,
.ttd-home-project-slide__cta:hover .icon,
.ttd-home-news__all:hover .icon {
  transform: translate3d(5px, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  html.ttd-motion-ready .ttd-home-slider .ttd-home-slide *,
  html.ttd-motion-ready .ttd-motion-watch *,
  html.ttd-motion-ready .ttd-home-projects__slider .ttd-home-project-slide * {
    animation: none !important;
    transition-duration: .01ms !important;
    transition-delay: 0ms !important;
  }

  html.ttd-motion-ready .ttd-home-slider .ttd-home-slide .ttd-home-slide__title,
  html.ttd-motion-ready .ttd-home-slider .ttd-home-slide .ttd-home-slide__text,
  html.ttd-motion-ready .ttd-home-slider .ttd-home-slide .ttd-home-slide__cta,
  html.ttd-motion-ready .ttd-motion-watch * {
    opacity: 1 !important;
    transform: none !important;
  }
}
