.tt-section,
.tt-contact-cta,
.tt-footer {
  position: relative;
  isolation: isolate;
}

.tt-section {
  padding: clamp(96px, 10vw, 176px) 0;
  scroll-margin-top: 84px;
}

.tt-section__inner {
  width: 100%;
  max-width: 1720px;
  min-width: 0;
  margin: 0 auto;
  padding-inline: var(--tt-page-padding);
  box-sizing: border-box;
}

.tt-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr);
  align-items: end;
  gap: clamp(48px, 7vw, 120px);
  margin-bottom: clamp(54px, 6.5vw, 104px);
}

.tt-section-heading__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
  color: var(--tt-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1;
  text-transform: uppercase;
}

.tt-section-heading__eyebrow i {
  width: 34px;
  height: 1px;
  background: currentColor;
}

.tt-section-heading h2 {
  max-width: 900px;
  margin: 0;
  color: var(--tt-navy);
  font-family: var(--tt-display-font);
  font-size: clamp(46px, 4.8vw, 82px);
  font-weight: 600;
  letter-spacing: -0.018em;
  line-height: 0.98;
  text-transform: uppercase;
}

.tt-section-heading > p {
  max-width: 520px;
  margin: 0 0 4px;
  color: var(--tt-muted);
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 1.7;
}

.tt-text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  padding: 8px 0;
  border-bottom: 1px solid var(--tt-gold-border);
  color: var(--tt-navy);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: color 220ms ease, border-color 220ms ease;
}

.tt-text-link svg,
.tt-contact-cta__secondary svg,
.tt-footer__top-link svg,
.tt-insight__footer svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  transition: transform 240ms ease;
}

.tt-text-link:hover,
.tt-text-link:focus-visible {
  color: var(--tt-gold);
  border-color: var(--tt-gold);
}

.tt-text-link:hover svg,
.tt-contact-cta__secondary:hover svg,
.tt-footer__top-link:hover svg {
  transform: translateX(4px);
}

.tt-reference-home :is(a, button):focus-visible {
  outline: 2px solid var(--tt-gold);
  outline-offset: 4px;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 760ms ease, transform 760ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.tt-header__nav a.is-active {
  color: var(--tt-gold);
}

.tt-header__nav a.is-active::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* About */
.tt-about {
  overflow: hidden;
  padding-top: clamp(118px, 12vw, 210px);
  background:
    radial-gradient(circle at 85% 45%, rgba(233, 196, 106, 0.09), transparent 30%),
    var(--tt-ivory);
}

.tt-about::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -12vw;
  left: -10%;
  width: 120%;
  height: 18vw;
  min-height: 180px;
  border-radius: 0 0 50% 50%;
  background: #fff;
  opacity: 0.72;
}

.tt-about__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(380px, 0.82fr);
  align-items: center;
  gap: clamp(70px, 10vw, 180px);
}

.tt-about .tt-section-heading {
  display: block;
  margin-bottom: 48px;
}

.tt-about .tt-section-heading > p {
  margin-top: 32px;
}

.tt-about__principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--tt-gold-border);
  list-style: none;
}

.tt-about__principles li {
  min-height: 112px;
  padding: 24px 24px 18px 0;
  color: var(--tt-navy);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.tt-about__principles li:not(:last-child) {
  border-right: 1px solid rgba(7, 20, 38, 0.08);
}

.tt-about__principles li:not(:first-child) {
  padding-left: 24px;
}

.tt-about__principles span {
  display: block;
  margin-bottom: 18px;
  color: var(--tt-gold);
  font-size: 11px;
  letter-spacing: 0.16em;
}

.tt-about__visual {
  position: relative;
  aspect-ratio: 1;
  max-width: 620px;
  border: 1px solid rgba(201, 147, 33, 0.15);
  border-radius: 50%;
  background: radial-gradient(circle at 46% 42%, #fff 0, rgba(255,255,255,.86) 30%, rgba(248,246,240,.5) 63%, transparent 64%);
}

.tt-about__orbit {
  position: absolute;
  inset: 10%;
  border: 1px dashed rgba(201, 147, 33, 0.28);
  border-radius: 50%;
}

.tt-about__orbit--inner {
  inset: 24%;
  border-style: solid;
  border-color: rgba(7, 20, 38, 0.1);
}

.tt-about__node {
  position: absolute;
  width: 10px;
  height: 10px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--tt-gold);
  box-shadow: 0 0 0 7px rgba(201,147,33,.1), 0 0 24px rgba(201,147,33,.45);
}

.tt-about__node--one { top: 14%; left: 33%; }
.tt-about__node--two { top: 47%; right: 9%; }
.tt-about__node--three { bottom: 15%; left: 24%; }

.tt-about__form {
  position: absolute;
  top: 29%;
  left: 31%;
  width: 38%;
  aspect-ratio: 1;
  filter: drop-shadow(0 26px 24px rgba(85,58,7,.16));
  transform: rotate(-3deg);
}

.tt-about__form img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.tt-about__visual > p {
  position: absolute;
  right: -2%;
  bottom: 4%;
  width: min(310px, 58%);
  margin: 0;
  padding: 22px 24px;
  border: 1px solid var(--tt-gold-border);
  background: rgba(252,251,248,.88);
  box-shadow: 0 18px 50px rgba(7,20,38,.08);
  backdrop-filter: blur(12px);
}

.tt-about__visual > p strong,
.tt-about__visual > p span { display: block; }
.tt-about__visual > p strong { margin-bottom: 7px; font-size: 14px; text-transform: uppercase; }
.tt-about__visual > p span { color: var(--tt-muted); font-size: 13px; line-height: 1.5; }

/* About — idle motion (skipped entirely for reduced-motion users) */
@media (prefers-reduced-motion: no-preference) {
  .tt-about__visual.is-visible .tt-about__orbit--outer {
    animation: tt-about-orbit-spin 42s linear infinite;
  }

  .tt-about__orbit--inner::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 50%;
    opacity: 0;
    background: conic-gradient(from 0deg,
      rgba(201, 147, 33, 0) 0deg,
      rgba(233, 196, 106, .95) 14deg,
      rgba(201, 147, 33, .35) 32deg,
      rgba(201, 147, 33, 0) 58deg 360deg);
    -webkit-mask: radial-gradient(circle farthest-side, transparent calc(100% - 2.4px), #000 calc(100% - 2.4px));
    mask: radial-gradient(circle farthest-side, transparent calc(100% - 2.4px), #000 calc(100% - 2.4px));
    transition: opacity 640ms ease 120ms;
  }

  .tt-about__visual.is-visible .tt-about__orbit--inner::before {
    opacity: 1;
    animation: tt-about-arc-sweep 6.5s linear infinite;
  }

  .tt-about__visual.is-visible .tt-about__node {
    animation: tt-about-node-drift 7s ease-in-out infinite, tt-about-node-glow 3.4s ease-in-out infinite;
  }

  .tt-about__visual.is-visible .tt-about__node--one { animation-delay: 0s, .2s; }
  .tt-about__visual.is-visible .tt-about__node--two { animation-delay: -2.3s, 1.1s; }
  .tt-about__visual.is-visible .tt-about__node--three { animation-delay: -4.6s, 2.1s; }

  .tt-about__visual.is-visible .tt-about__form {
    animation: tt-about-form-wobble 8s ease-in-out infinite;
  }

  .tt-about__visual.is-visible .tt-about__form img {
    filter: url(#tt-liquid-gold);
  }

  .tt-about__form::after {
    content: "";
    position: absolute;
    inset: -8%;
    background: linear-gradient(115deg, transparent 42%, rgba(255, 255, 255, .6) 50%, transparent 58%);
    mix-blend-mode: soft-light;
    opacity: 0;
    pointer-events: none;
  }

  .tt-about__visual.is-visible .tt-about__form::after {
    animation: tt-about-form-sheen 6.5s ease-in-out infinite;
  }

  .tt-about__visual:hover .tt-about__orbit--inner::before {
    animation-duration: 3.4s;
  }
}

@keyframes tt-about-orbit-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes tt-about-arc-sweep {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes tt-about-node-drift {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(5px, -7px, 0) scale(1.08); }
}

@keyframes tt-about-node-glow {
  0%, 100% { box-shadow: 0 0 0 7px rgba(201, 147, 33, .1), 0 0 24px rgba(201, 147, 33, .45); }
  50% { box-shadow: 0 0 0 11px rgba(201, 147, 33, .18), 0 0 36px rgba(201, 147, 33, .75); }
}

@keyframes tt-about-form-wobble {
  0%, 100% { transform: rotate(-3deg) skew(0deg, 0deg) scale3d(1, 1, 1); }
  22% { transform: rotate(-1.2deg) skew(-2.6deg, -1.2deg) scale3d(1.016, 0.987, 1); }
  48% { transform: rotate(1.6deg) skew(2.1deg, 0.95deg) scale3d(0.99, 1.014, 1); }
  74% { transform: rotate(-0.9deg) skew(-1.1deg, -0.5deg) scale3d(1.006, 0.996, 1); }
}

@keyframes tt-about-form-sheen {
  0%, 12% { transform: translateX(-70%); opacity: 0; }
  20% { opacity: .85; }
  46%, 100% { transform: translateX(70%); opacity: 0; }
}

/* Services */
.tt-services {
  background: #f5f2ea;
}

.tt-services::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -12vw;
  bottom: -20vw;
  width: 50vw;
  height: 50vw;
  border: 1px solid rgba(201,147,33,.1);
  border-radius: 50%;
}

.tt-services__layout {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: clamp(70px, 10vw, 180px);
}

.tt-services__intro {
  position: sticky;
  top: 128px;
}

.tt-services__intro .tt-section-heading {
  display: block;
  margin-bottom: 38px;
}

.tt-services__intro .tt-section-heading > p { margin-top: 28px; }

.tt-services__list {
  border-top: 1px solid rgba(7,20,38,.12);
}

.tt-service-row {
  position: relative;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 52px;
  align-items: center;
  gap: 18px;
  min-height: 154px;
  padding: 30px 0;
  border-bottom: 1px solid rgba(7,20,38,.12);
}

.tt-service-row::before {
  content: "";
  position: absolute;
  inset: 0 -28px;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255,255,255,.72), rgba(248,231,180,.2));
  opacity: 0;
  transform: scaleX(.96);
  transition: opacity 320ms ease, transform 420ms cubic-bezier(.2,.8,.2,1);
}

.tt-service-row:hover::before,
.tt-service-row:focus-visible::before { opacity: 1; transform: scaleX(1); }

.tt-service-row__number {
  align-self: start;
  padding-top: 7px;
  color: var(--tt-gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
}

.tt-service-row__body strong {
  display: block;
  margin-bottom: 10px;
  font-family: var(--tt-display-font);
  font-size: clamp(28px, 2.25vw, 39px);
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1;
  text-transform: uppercase;
}

.tt-service-row__body > span {
  display: block;
  max-width: 560px;
  color: var(--tt-muted);
  font-size: 15px;
  line-height: 1.6;
}

.tt-service-row__arrow {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid var(--tt-gold-border);
  border-radius: 50%;
  color: var(--tt-gold);
  transition: background 250ms ease, color 250ms ease, transform 250ms ease;
}

.tt-service-row__arrow svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.tt-service-row:hover .tt-service-row__arrow { background: var(--tt-gold); color: #fff; transform: translateX(4px); }

/* Work */
.tt-work { background: var(--tt-ivory); }
.tt-work__list { display: grid; gap: clamp(90px, 11vw, 170px); }

.tt-project {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  align-items: center;
  gap: clamp(56px, 8vw, 138px);
}

.tt-project--reverse .tt-project__visual { order: 2; }
.tt-project--reverse .tt-project__content { order: 1; }

.tt-project__visual {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.25;
  padding: clamp(34px, 4vw, 70px);
  border: 1px solid rgba(201,147,33,.17);
  background: #071426;
}

.tt-project__visual::before,
.tt-project__visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.tt-project__visual::before {
  top: -45%;
  right: -24%;
  width: 75%;
  aspect-ratio: 1;
  border: 1px solid rgba(233,196,106,.28);
}

.tt-project__visual::after {
  right: 15%;
  bottom: -35%;
  width: 55%;
  aspect-ratio: 1;
  background: radial-gradient(circle, rgba(201,147,33,.24), transparent 68%);
}

.tt-project__visual--marketplace { background: #e8e4da; }
.tt-project__visual--operations { background: #132238; }
.tt-project__visual--impact { background: #102b38; }
.tt-project__visual--family { background: #eee6df; }
.tt-project__visual--healthcare { background: #15332f; }

.tt-project-ui {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 13% 1fr;
  grid-template-rows: 46px 1fr;
  width: 100%;
  height: 100%;
  min-height: 330px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 12px;
  background: rgba(250,249,246,.96);
  box-shadow: 0 32px 65px rgba(0,0,0,.25);
  color: var(--tt-navy);
  transform: perspective(1200px) rotateX(2deg) rotateY(-4deg);
  transition: transform 700ms cubic-bezier(.2,.8,.2,1);
}

.tt-project:hover .tt-project-ui { transform: perspective(1200px) rotateX(0) rotateY(0) scale(1.025); }

.tt-project-ui__bar {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  border-bottom: 1px solid rgba(7,20,38,.09);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.tt-project-ui__bar i { width: 7px; height: 7px; border-radius: 50%; background: var(--tt-gold); }
.tt-project-ui__rail { display: grid; align-content: start; justify-content: center; gap: 14px; padding-top: 24px; border-right: 1px solid rgba(7,20,38,.08); }
.tt-project-ui__rail i { width: 14px; height: 3px; background: rgba(7,20,38,.2); }
.tt-project-ui__rail i:first-child { background: var(--tt-gold); }
.tt-project-ui__canvas { padding: clamp(24px, 3vw, 46px); }
.tt-project-ui__label { color: var(--tt-gold); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.tt-project-ui__canvas > strong { display: block; margin-top: 10px; font-family: var(--tt-display-font); font-size: clamp(28px,3vw,50px); line-height: 1; text-transform: uppercase; }
.tt-project-ui__metric { display: flex; align-items: end; gap: 8px; height: 84px; margin: 24px 0; padding: 14px 16px 0; border: 1px solid rgba(7,20,38,.08); }
.tt-project-ui__metric i { flex: 1; height: 35%; background: rgba(201,147,33,.24); }
.tt-project-ui__metric i:nth-child(2) { height: 56%; }
.tt-project-ui__metric i:nth-child(3) { height: 44%; }
.tt-project-ui__metric i:nth-child(4) { height: 78%; background: linear-gradient(#e9c46a,#c99321); }
.tt-project-ui__panels { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 10px; }
.tt-project-ui__panels i { height: 45px; border-radius: 5px; background: rgba(7,20,38,.07); }
.tt-project__visual--marketplace .tt-project-ui { transform: perspective(1200px) rotateX(2deg) rotateY(4deg); }
.tt-project__visual--marketplace .tt-project-ui__canvas { background: radial-gradient(circle at 70% 18%, rgba(233,196,106,.22), transparent 24%); }
.tt-project__visual--operations .tt-project-ui__panels i:first-child { background: rgba(201,147,33,.2); }
.tt-project__visual--impact .tt-project-ui__canvas { background: radial-gradient(circle at 78% 16%, rgba(70,144,151,.18), transparent 27%); }
.tt-project__visual--impact .tt-project-ui__metric i { background: rgba(36,112,123,.2); }
.tt-project__visual--impact .tt-project-ui__metric i:nth-child(4) { background: linear-gradient(#e9c46a,#c99321); }
.tt-project__visual--family .tt-project-ui { transform: perspective(1200px) rotateX(2deg) rotateY(4deg); }
.tt-project__visual--family .tt-project-ui__canvas { background: radial-gradient(circle at 76% 18%, rgba(210,156,137,.2), transparent 28%); }
.tt-project__visual--family .tt-project-ui__panels i:first-child { background: rgba(210,156,137,.22); }
.tt-project__visual--healthcare .tt-project-ui__canvas { background: radial-gradient(circle at 76% 18%, rgba(52,132,112,.17), transparent 28%); }
.tt-project__visual--healthcare .tt-project-ui__panels i:first-child { background: rgba(52,132,112,.2); }

.tt-project__index {
  position: absolute;
  z-index: 3;
  right: 18px;
  bottom: 12px;
  color: rgba(255,255,255,.54);
  font-family: var(--tt-display-font);
  font-size: 38px;
  font-weight: 500;
}

.tt-project__visual--marketplace .tt-project__index,
.tt-project__visual--family .tt-project__index { color: rgba(7,20,38,.38); }
.tt-project__meta { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--tt-gold-border); color: var(--tt-gold); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.tt-project__content h3 { margin: 30px 0 20px; font-family: var(--tt-display-font); font-size: clamp(46px, 4.6vw, 78px); font-weight: 600; line-height: .95; text-transform: uppercase; }
.tt-project__content > p { margin: 0; color: var(--tt-muted); font-size: 17px; line-height: 1.65; }
.tt-project__content ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; padding: 0; list-style: none; }
.tt-project__content li { padding: 7px 11px; border: 1px solid rgba(7,20,38,.1); border-radius: 999px; color: #495469; font-size: 12px; }
.tt-project__outcome { margin: 30px 0 23px; padding: 18px 0; border-block: 1px solid rgba(7,20,38,.09); }
.tt-project__outcome span { display: block; margin-bottom: 7px; color: var(--tt-gold); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.tt-project__outcome strong { font-size: 14px; font-weight: 500; line-height: 1.5; }
.tt-project__status { color: #7b8290; font-size: 12px; font-style: italic; }
.tt-work__footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: clamp(75px, 9vw, 140px); padding-top: 28px; border-top: 1px solid var(--tt-gold-border); }
.tt-work__footer p { margin: 0; color: var(--tt-muted); }

/* Process */
.tt-process { overflow: hidden; background: var(--tt-navy); color: #fff; }
.tt-process::before { content: ""; position: absolute; top: -22vw; right: -12vw; width: 54vw; height: 54vw; border: 1px solid rgba(233,196,106,.12); border-radius: 50%; }
.tt-process .tt-section-heading h2 { color: #fff; }
.tt-process .tt-section-heading > p { color: rgba(255,255,255,.58); }
.tt-process__timeline { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(28px,4vw,70px); margin: 0; padding: 0; list-style: none; }
.tt-process__timeline::before { content: ""; position: absolute; top: 15px; right: 0; left: 0; height: 1px; background: rgba(233,196,106,.22); }
.tt-process__progress { position: absolute; top: 15px; left: 0; width: var(--process-progress, 0%); height: 1px; background: linear-gradient(90deg,var(--tt-gold),var(--tt-gold-light)); box-shadow: 0 0 14px rgba(233,196,106,.5); transition: width 160ms linear; }
.tt-process__timeline li { position: relative; padding-top: 62px; }
.tt-process__node { position: absolute; z-index: 2; top: 7px; left: 0; display: grid; place-items: center; width: 17px; height: 17px; border: 1px solid rgba(233,196,106,.7); border-radius: 50%; background: var(--tt-navy); }
.tt-process__node i { width: 5px; height: 5px; border-radius: 50%; background: var(--tt-gold-light); box-shadow: 0 0 12px var(--tt-gold); }
.tt-process__number { color: var(--tt-gold-light); font-size: 11px; font-weight: 700; letter-spacing: .15em; }
.tt-process h3 { margin: 18px 0 16px; font-family: var(--tt-display-font); font-size: clamp(28px,2.35vw,40px); font-weight: 500; line-height: 1; text-transform: uppercase; }
.tt-process li p { margin: 0; color: rgba(255,255,255,.58); font-size: 15px; line-height: 1.65; }

/* Capabilities */
.tt-capabilities { background: #f7f5ef; }
.tt-capabilities__matrix { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(7,20,38,.12); border-left: 1px solid rgba(7,20,38,.12); }
.tt-capabilities__matrix article { min-height: 270px; padding: clamp(28px,3.2vw,54px); border-right: 1px solid rgba(7,20,38,.12); border-bottom: 1px solid rgba(7,20,38,.12); transition: background 300ms ease; }
.tt-capabilities__matrix article:hover { background: rgba(255,255,255,.68); }
.tt-capabilities__matrix article > span { color: var(--tt-gold); font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.tt-capabilities__matrix h3 { max-width: 250px; margin: 50px 0 28px; font-family: var(--tt-display-font); font-size: clamp(24px,2vw,34px); font-weight: 600; line-height: 1.05; text-transform: uppercase; }
.tt-capabilities__matrix ul { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0; padding: 0; list-style: none; }
.tt-capabilities__matrix li { color: var(--tt-muted); font-size: 13px; }
.tt-capabilities__matrix li:not(:last-child)::after { content: " /"; margin-left: 14px; color: rgba(201,147,33,.58); }

/* Impact */
.tt-impact { overflow: hidden; background: #fff; }
.tt-impact__inner { position: relative; z-index: 2; }
.tt-impact__geometry { position: absolute; top: 50%; right: -8vw; width: min(42vw,700px); aspect-ratio: 1; transform: translateY(-50%); }
.tt-impact__geometry i { position: absolute; inset: 0; border: 1px solid rgba(201,147,33,.13); border-radius: 50%; }
.tt-impact__geometry i:nth-child(2) { inset: 17%; }
.tt-impact__geometry i:nth-child(3) { inset: 34%; }
.tt-impact__geometry span { position: absolute; inset: 40%; filter: drop-shadow(0 22px 40px rgba(167,101,9,.28)); transform: rotate(26deg); }
.tt-impact__geometry span img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tt-impact .tt-section-heading { position: relative; z-index: 2; }
.tt-impact__grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: min(76%, 1000px); border-top: 1px solid var(--tt-gold-border); }
.tt-impact__grid article { padding: 34px clamp(28px,3.5vw,62px) 38px 0; border-bottom: 1px solid var(--tt-gold-border); }
.tt-impact__grid article:nth-child(odd) { border-right: 1px solid var(--tt-gold-border); }
.tt-impact__grid article:nth-child(even) { padding-left: clamp(28px,3.5vw,62px); }
.tt-impact__grid span { color: var(--tt-gold); font-size: 11px; letter-spacing: .15em; }
.tt-impact__grid h3 { margin: 20px 0 12px; font-family: var(--tt-display-font); font-size: clamp(26px,2.3vw,38px); font-weight: 600; line-height: 1; text-transform: uppercase; }
.tt-impact__grid p { margin: 0; color: var(--tt-muted); font-size: 14px; line-height: 1.6; }

/* Testimonials */
.tt-testimonials {
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 22%, rgba(233,196,106,.12), transparent 26%),
    #f4f0e6;
}
.tt-testimonials::after { content: ""; position: absolute; right: -12vw; bottom: -26vw; width: 48vw; aspect-ratio: 1; border: 1px solid rgba(201,147,33,.1); border-radius: 50%; }
.tt-testimonial-carousel { position: relative; z-index: 2; overflow: hidden; border: 1px solid rgba(201,147,33,.2); background: rgba(255,255,255,.74); box-shadow: 0 30px 90px rgba(7,20,38,.07); --tt-slide-enter: 44px; --tt-slide-exit: -44px; }
.tt-testimonial-carousel::before { content: ""; position: absolute; z-index: 3; top: -1px; left: -1px; width: 34%; height: 2px; background: linear-gradient(90deg,var(--tt-gold),transparent); }
.tt-testimonial-carousel.tt-dir-prev { --tt-slide-enter: -44px; --tt-slide-exit: 44px; }
.tt-testimonial-carousel__viewport { position: relative; min-height: clamp(460px,39vw,600px); }
.tt-testimonial-slide { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); opacity: 0; visibility: hidden; transform: translateX(var(--tt-slide-enter,44px)); transition: opacity 420ms ease, transform 620ms cubic-bezier(.16,.84,.2,1), visibility 0s 620ms; }
.tt-testimonial-slide.is-active { position: relative; opacity: 1; visibility: visible; transform: translateX(0); transition-delay: 0s; }
.tt-testimonial-slide.is-leaving { transform: translateX(var(--tt-slide-exit,-44px)); }
.tt-testimonial-slide::after { content: ""; position: absolute; z-index: 4; top: 0; bottom: 0; left: 0; width: 2px; opacity: 0; background: linear-gradient(180deg,transparent,var(--tt-gold-light),var(--tt-gold),transparent); box-shadow: 0 0 26px 2px rgba(233,196,106,.6); pointer-events: none; }
.tt-testimonial-slide.is-active::after { animation: tt-slide-scanline 680ms cubic-bezier(.16,.84,.2,1); }
.tt-testimonial-carousel.tt-dir-prev .tt-testimonial-slide.is-active::after { animation-name: tt-slide-scanline-reverse; }
.tt-testimonial-slide__portrait { position: relative; overflow: hidden; display: grid; place-items: center; min-height: 460px; background: var(--tt-navy); }
.tt-testimonial-slide__portrait::before,
.tt-testimonial-slide__portrait::after { content: ""; position: absolute; border: 1px solid rgba(233,196,106,.18); border-radius: 50%; }
.tt-testimonial-slide__portrait::before { width: 88%; aspect-ratio: 1; }
.tt-testimonial-slide__portrait::after { width: 54%; aspect-ratio: 1; }
.tt-testimonial-slide__portrait > span { position: absolute; top: 14%; right: 12%; width: 8px; height: 8px; border-radius: 50%; background: var(--tt-gold-light); box-shadow: 0 0 18px rgba(233,196,106,.7); }
.tt-testimonial-slide__initials { position: relative; z-index: 2; display: grid; place-items: center; width: clamp(150px,15vw,224px); height: clamp(150px,15vw,224px); border: 2px solid rgba(233,196,106,.7); border-radius: 50%; background: radial-gradient(circle at 32% 28%,#1d304a 0,#0b192c 62%,#071426 100%); color: var(--tt-gold-light); font-family: var(--tt-display-font); font-size: clamp(54px,6vw,86px); font-weight: 600; letter-spacing: .04em; line-height: 1; box-shadow: 0 24px 60px rgba(0,0,0,.32), inset 0 0 0 10px rgba(233,196,106,.035); }
.tt-testimonial-slide__content { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; padding: clamp(42px,5vw,78px); }
.tt-testimonial-slide__topline { display: flex; align-items: center; justify-content: space-between; gap: 28px; color: var(--tt-gold); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.tt-testimonial-rating { position: relative; display: inline-flex; color: rgba(201,147,33,.22); font-size: 17px; letter-spacing: .08em; line-height: 1; }
.tt-testimonial-rating i { position: relative; overflow: hidden; display: inline-block; width: 6.1em; color: transparent; font-style: normal; white-space: nowrap; }
.tt-testimonial-rating i::before { content: "\2605\2605\2605\2605\2605"; position: absolute; inset: 0 auto 0 0; width: var(--rating); overflow: hidden; color: var(--tt-gold); }
.tt-testimonial-rating i::after { content: "\2605\2605\2605\2605\2605"; position: absolute; inset: 0; z-index: -1; color: rgba(201,147,33,.22); }
.tt-testimonial-slide blockquote { max-width: 840px; margin: clamp(48px,5vw,72px) 0; color: var(--tt-navy); font-family: var(--tt-body-font); font-size: clamp(27px,2.2vw,38px); font-weight: 500; letter-spacing: -.018em; line-height: 1.35; text-transform: none; }
.tt-testimonial-slide blockquote [data-decode],
.tt-testimonial-slide footer strong [data-decode] { transition: color 180ms ease; }
.tt-testimonial-slide footer { display: flex; align-items: center; gap: 18px; }
.tt-testimonial-slide footer > span { width: 42px; height: 2px; background: linear-gradient(90deg,var(--tt-gold),var(--tt-gold-light)); }
.tt-testimonial-slide footer strong,
.tt-testimonial-slide footer small { display: block; }
.tt-testimonial-slide footer strong { color: var(--tt-navy); font-family: var(--tt-display-font); font-size: 22px; font-weight: 600; line-height: 1; text-transform: uppercase; }
.tt-testimonial-slide footer small { margin-top: 7px; color: var(--tt-muted); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.tt-testimonial-slide blockquote [data-decode].is-decoding,
.tt-testimonial-slide footer strong [data-decode].is-decoding { color: var(--tt-gold); font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; }
.tt-testimonial-carousel__controls { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 86px; padding: 14px clamp(24px,3vw,46px); border-top: 1px solid rgba(7,20,38,.1); }
.tt-testimonial-carousel__counter { display: flex; align-items: center; gap: 12px; color: var(--tt-muted); font-family: var(--tt-display-font); font-size: 17px; }
.tt-testimonial-carousel__counter b { color: var(--tt-gold); font-size: 26px; font-weight: 600; }
.tt-testimonial-carousel__counter i { width: 42px; height: 1px; background: var(--tt-gold-border); }
.tt-testimonial-carousel__counter span { font-size: 14px; }
.tt-testimonial-carousel__controls > div { display: flex; gap: 10px; }
.tt-testimonial-carousel__controls button { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--tt-gold-border); border-radius: 50%; background: transparent; color: var(--tt-gold); cursor: pointer; transition: background 220ms ease, color 220ms ease, transform 220ms ease; }
.tt-testimonial-carousel__controls button:hover { background: var(--tt-gold); color: #fff; transform: translateY(-2px); }
.tt-testimonial-carousel__controls svg { width: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }

@keyframes tt-slide-scanline {
  0% { left: 0; opacity: 0; }
  10% { opacity: 1; }
  85% { opacity: .7; }
  100% { left: 100%; opacity: 0; }
}

@keyframes tt-slide-scanline-reverse {
  0% { left: 100%; opacity: 0; }
  10% { opacity: 1; }
  85% { opacity: .7; }
  100% { left: 0; opacity: 0; }
}

/* Insights */
.tt-insights { background: var(--tt-ivory); }
.tt-insights__grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 28px; }
.tt-insight { display: grid; grid-template-columns: 42% 1fr; min-height: 290px; border: 1px solid rgba(7,20,38,.1); background: #fff; }
.tt-insight--featured { grid-row: span 2; grid-template-columns: 1fr; }
.tt-insight__visual { position: relative; overflow: hidden; min-height: 220px; background: var(--tt-navy); }
.tt-insight--featured .tt-insight__visual { min-height: 390px; }
.tt-insight__visual span,
.tt-insight__visual i { position: absolute; border: 1px solid rgba(233,196,106,.3); border-radius: 50%; transition: transform 700ms cubic-bezier(.2,.8,.2,1); }
.tt-insight__visual span { inset: 17%; }
.tt-insight__visual i:nth-child(2) { inset: 31%; }
.tt-insight__visual i:nth-child(3) { top: 22%; right: 18%; width: 12px; height: 12px; border: 0; background: var(--tt-gold-light); box-shadow: 0 0 18px rgba(233,196,106,.65); }
.tt-insight__visual i:nth-child(4) { right: 25%; bottom: -25%; width: 60%; aspect-ratio: 1; background: radial-gradient(circle,rgba(201,147,33,.3),transparent 68%); }
.tt-insight__visual--behaviour { background: #d9d4c8; }
.tt-insight__visual--behaviour span,
.tt-insight__visual--behaviour i { border-color: rgba(7,20,38,.2); }
.tt-insight__visual--automation { background: #17263c; }
.tt-insight:hover .tt-insight__visual span { transform: scale(1.04) rotate(4deg); }
.tt-insight__body { display: flex; flex-direction: column; padding: clamp(28px,3vw,48px); }
.tt-insight__meta { display: flex; justify-content: space-between; gap: 18px; color: var(--tt-gold); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.tt-insight h3 { margin: 34px 0 15px; font-family: var(--tt-display-font); font-size: clamp(27px,2.2vw,38px); font-weight: 600; line-height: 1.02; text-transform: uppercase; }
.tt-insight--featured h3 { font-size: clamp(36px,3.3vw,58px); }
.tt-insight__body > p { margin: 0; color: var(--tt-muted); font-size: 14px; line-height: 1.6; }
.tt-insight__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: auto; padding-top: 26px; color: #7b8290; font-size: 11px; }
.tt-insight__footer a { color: var(--tt-gold); }
.tt-insight__soon { color: var(--tt-gold); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

/* FAQ */
.tt-faq { background: #f6f3ec; }
.tt-faq__grid { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); gap: clamp(70px,10vw,180px); align-items: start; }
.tt-faq__intro { position: sticky; top: 128px; }
.tt-faq__intro .tt-section-heading { display: block; margin-bottom: 38px; }
.tt-faq__intro .tt-section-heading > p { margin-top: 28px; }
.tt-faq__items { border-top: 1px solid rgba(7,20,38,.14); }
.tt-faq__item { border-bottom: 1px solid rgba(7,20,38,.14); }
.tt-faq__item h3 { margin: 0; }
.tt-faq__item button { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; min-height: 100px; padding: 25px 0; border: 0; background: transparent; color: var(--tt-navy); font: 500 18px/1.4 var(--tt-body-font); text-align: left; cursor: pointer; }
.tt-faq__item button > span { display: flex; align-items: baseline; gap: 22px; }
.tt-faq__item button i { color: var(--tt-gold); font-size: 10px; font-style: normal; font-weight: 700; letter-spacing: .14em; }
.tt-faq__item button b { position: relative; flex: 0 0 auto; width: 22px; height: 22px; border: 1px solid var(--tt-gold-border); border-radius: 50%; }
.tt-faq__item button b::before,
.tt-faq__item button b::after { content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 1px; background: var(--tt-gold); transform: translate(-50%,-50%); transition: transform 300ms ease; }
.tt-faq__item button b::after { transform: translate(-50%,-50%) rotate(90deg); }
.tt-faq__item.is-open button b::after { transform: translate(-50%,-50%) rotate(0); }
.tt-faq__answer { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 420ms cubic-bezier(.2,.8,.2,1), opacity 260ms ease; }
.tt-faq__answer > div { overflow: hidden; }
.tt-faq__answer p { max-width: 660px; margin: 0; padding: 0 48px 30px 38px; color: var(--tt-muted); font-size: 15px; line-height: 1.7; }
.tt-faq__item.is-open .tt-faq__answer { grid-template-rows: 1fr; opacity: 1; }

/* CTA */
.tt-contact-cta { overflow: hidden; padding: clamp(110px,12vw,190px) 0; scroll-margin-top: 84px; background: #061222; color: #fff; }
.tt-contact-cta__inner { position: relative; z-index: 2; }
.tt-contact-cta .tt-section-heading { grid-template-columns: minmax(0,1.3fr) minmax(260px,.55fr); margin-bottom: 50px; }
.tt-section-heading--dark h2 { color: #fff; max-width: 980px; }
.tt-section-heading--dark > p { color: rgba(255,255,255,.62); }
.tt-contact-cta__actions { display: flex; align-items: center; gap: 34px; }
.tt-contact-cta .tt-primary-button { margin-top: 0; }
.tt-contact-cta__secondary { display: inline-flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid rgba(233,196,106,.42); color: #fff; font-size: 14px; font-weight: 600; text-transform: uppercase; }
.tt-contact-cta__network { position: absolute; right: -5vw; bottom: -22vw; width: 60vw; height: 60vw; min-width: 620px; min-height: 620px; border: 1px solid rgba(233,196,106,.15); border-radius: 50%; }
.tt-contact-cta__network::before,
.tt-contact-cta__network::after { content: ""; position: absolute; border: 1px solid rgba(233,196,106,.12); border-radius: 50%; }
.tt-contact-cta__network::before { inset: 17%; }
.tt-contact-cta__network::after { inset: 34%; }
.tt-contact-cta__network i { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--tt-gold-light); box-shadow: 0 0 18px rgba(233,196,106,.7); }
.tt-contact-cta__network i:nth-child(1) { top: 7%; left: 38%; }
.tt-contact-cta__network i:nth-child(2) { top: 38%; left: 0; }
.tt-contact-cta__network i:nth-child(3) { top: 20%; right: 12%; }
.tt-contact-cta__network i:nth-child(4) { bottom: 26%; left: 18%; }
.tt-contact-cta__network span { position: absolute; inset: 41%; filter: drop-shadow(0 0 40px rgba(233,196,106,.35)); transform: rotate(28deg); }
.tt-contact-cta__network span img { display: block; width: 100%; height: 100%; object-fit: contain; }

/* Footer */
.tt-footer { overflow: hidden; padding: 90px 0 30px; border-top: 1px solid rgba(233,196,106,.13); background: #040e1b; color: #fff; }
.tt-footer__top { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(70px,10vw,170px); padding-bottom: 80px; }
.tt-footer__brand > a { display: inline-flex; width: 180px; padding: 0; background: transparent; }
.tt-footer__brand img { width: 100%; height: auto; background: transparent; }
.tt-footer__tagline { display: block; margin-top: 22px; color: var(--tt-gold-light); font-family: var(--tt-display-font); font-size: 18px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.tt-footer__brand p { max-width: 370px; margin: 34px 0 0; color: rgba(255,255,255,.58); font-size: 16px; line-height: 1.65; }
.tt-footer__links { display: grid; grid-template-columns: .8fr 1fr 1.2fr; gap: 50px; }
.tt-footer__links nav,
.tt-footer__links address { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; margin: 0; font-style: normal; }
.tt-footer__links nav > span,
.tt-footer__links address > span { margin-bottom: 12px; color: var(--tt-gold-light); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.tt-footer__links a,
.tt-footer__links address p { margin: 0; color: rgba(255,255,255,.64); font-size: 14px; transition: color 220ms ease; }
.tt-footer__links a:hover { color: var(--tt-gold-light); }
.tt-footer__links address small { color: rgba(255,255,255,.35); font-size: 11px; }
.tt-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.42); font-size: 12px; }
.tt-footer__bottom p { margin: 0; }
.tt-footer__bottom > div { display: flex; gap: 24px; }
.tt-footer__top-link { display: inline-flex; align-items: center; gap: 10px; color: rgba(255,255,255,.72); text-transform: uppercase; }
.tt-footer__top-link:hover svg { transform: translateY(-3px); }
.tt-footer__network { position: absolute; right: -8%; bottom: -40%; width: 42vw; height: 42vw; border: 1px solid rgba(233,196,106,.06); border-radius: 50%; }

@media (max-width: 1199.98px) {
  .tt-section-heading h2 { font-size: clamp(46px,6vw,70px); }
  .tt-about__grid { grid-template-columns: minmax(0,1fr) minmax(340px,.72fr); gap: 70px; }
  .tt-services__layout,
  .tt-faq__grid { gap: 70px; }
  .tt-project { gap: 60px; }
  .tt-project__visual { padding: 40px; }
  .tt-project-ui { min-height: 280px; }
  .tt-testimonial-slide { grid-template-columns: minmax(250px,.62fr) minmax(0,1.38fr); }
}

@media (max-width: 899.98px) {
  .tt-section { padding-block: 104px; }
  .tt-section-heading { grid-template-columns: 1fr; align-items: start; gap: 28px; margin-bottom: 58px; }
  .tt-section-heading > p { max-width: 640px; }
  .tt-about__grid,
  .tt-services__layout,
  .tt-faq__grid,
  .tt-testimonial-slide { grid-template-columns: 1fr; }
  .tt-about__content { max-width: 720px; }
  .tt-about__visual { width: min(88vw,600px); margin: 0 auto; }
  .tt-services__intro,
  .tt-faq__intro { position: static; }
  .tt-services__intro .tt-section-heading,
  .tt-faq__intro .tt-section-heading { max-width: 720px; }
  .tt-project,
  .tt-project--reverse { grid-template-columns: 1fr; gap: 42px; }
  .tt-project--reverse .tt-project__visual,
  .tt-project--reverse .tt-project__content { order: initial; }
  .tt-project__content { max-width: 680px; }
  .tt-process__timeline { grid-template-columns: repeat(2,1fr); row-gap: 64px; }
  .tt-process__timeline::before,
  .tt-process__progress { display: none; }
  .tt-process__timeline li { padding-top: 46px; }
  .tt-capabilities__matrix { grid-template-columns: repeat(2,1fr); }
  .tt-impact__grid { width: 100%; }
  .tt-impact__geometry { opacity: .34; }
  .tt-insights__grid { grid-template-columns: 1fr; }
  .tt-insight--featured { grid-row: auto; }
  .tt-insight--featured .tt-insight__visual { min-height: 320px; }
  .tt-contact-cta .tt-section-heading { grid-template-columns: 1fr; }
  .tt-footer__top { grid-template-columns: 1fr; }
}

@media (max-width: 719.98px) {
  .tt-section { padding-block: 76px; scroll-margin-top: 72px; }
  .tt-section-heading { margin-bottom: 44px; }
  .tt-section-heading__eyebrow { margin-bottom: 18px; }
  .tt-section-heading h2 { max-width: 100%; font-size: clamp(34px,10vw,44px); line-height: .98; overflow-wrap: anywhere; }
  .tt-section-heading > p { font-size: 16px; line-height: 1.62; }
  .tt-about { padding-top: 86px; }
  .tt-about__grid { gap: 52px; }
  .tt-about .tt-section-heading { margin-bottom: 34px; }
  .tt-about__principles { grid-template-columns: 1fr; }
  .tt-about__principles li { display: grid; grid-template-columns: 44px 1fr; align-items: center; min-height: 66px; padding: 16px 0; border-right: 0 !important; border-bottom: 1px solid rgba(7,20,38,.08); }
  .tt-about__principles li:not(:first-child) { padding-left: 0; }
  .tt-about__principles span { margin: 0; }
  .tt-about__visual { width: min(100%,440px); }
  .tt-about__visual > p { right: 0; bottom: -18px; width: min(86%,300px); }
  .tt-services__layout,
  .tt-faq__grid { gap: 58px; }
  .tt-services__list { min-width: 0; }
  .tt-service-row { grid-template-columns: 36px minmax(0,1fr) 40px; min-height: 130px; gap: 10px; }
  .tt-service-row::before { inset-inline: -14px; }
  .tt-service-row__arrow { width: 38px; height: 38px; }
  .tt-service-row__body strong { font-size: 28px; }
  .tt-service-row__body > span { font-size: 14px; }
  .tt-project__visual { aspect-ratio: 1.05; padding: 22px; }
  .tt-project-ui { min-height: 300px; grid-template-columns: 14% 1fr; }
  .tt-project-ui__canvas { padding: 24px 18px; }
  .tt-project-ui__canvas > strong { font-size: 34px; }
  .tt-project__content h3 { font-size: clamp(38px,12vw,48px); overflow-wrap: anywhere; }
  .tt-work__footer { align-items: flex-start; flex-direction: column; }
  .tt-process__timeline { grid-template-columns: 1fr; gap: 0; padding-left: 28px; }
  .tt-process__timeline::before { display: block; top: 8px; bottom: 0; left: 7px; width: 1px; height: auto; }
  .tt-process__timeline li { padding: 0 0 54px 24px; }
  .tt-process__timeline li:last-of-type { padding-bottom: 0; }
  .tt-process__node { top: 0; left: -28px; }
  .tt-capabilities__matrix { grid-template-columns: 1fr; }
  .tt-capabilities__matrix article { min-height: auto; padding: 30px; }
  .tt-capabilities__matrix h3 { margin: 30px 0 20px; }
  .tt-impact__grid { grid-template-columns: 1fr; }
  .tt-impact__grid article,
  .tt-impact__grid article:nth-child(even) { padding: 28px 0; border-right: 0; }
  .tt-impact__geometry { top: 28%; right: -30vw; width: 90vw; }
  .tt-testimonial-carousel__viewport { min-height: 650px; }
  .tt-testimonial-slide { grid-template-columns: 1fr; }
  .tt-testimonial-slide__portrait { min-height: 250px; }
  .tt-testimonial-slide__initials { width: 148px; height: 148px; font-size: 58px; }
  .tt-testimonial-slide__content { padding: 34px 26px 42px; }
  .tt-testimonial-slide__topline { align-items: flex-start; flex-direction: column; gap: 16px; }
  .tt-testimonial-slide blockquote { margin: 34px 0 38px; font-size: clamp(23px,6.4vw,29px); line-height: 1.4; overflow-wrap: anywhere; }
  .tt-insight,
  .tt-insight--featured { grid-template-columns: 1fr; }
  .tt-insight__visual,
  .tt-insight--featured .tt-insight__visual { min-height: 240px; }
  .tt-faq__item button { min-height: 88px; font-size: 16px; }
  .tt-faq__item button > span { gap: 12px; }
  .tt-faq__answer p { padding-left: 28px; padding-right: 10px; }
  .tt-contact-cta { padding-block: 95px; }
  .tt-contact-cta__actions { align-items: flex-start; flex-direction: column; gap: 22px; }
  .tt-contact-cta__network { right: -90vw; opacity: .7; }
  .tt-footer { padding-top: 72px; }
  .tt-footer__top { gap: 62px; padding-bottom: 58px; }
  .tt-footer__links { grid-template-columns: repeat(2,1fr); gap: 50px 30px; }
  .tt-footer__links address { grid-column: 1 / -1; }
  .tt-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 379.98px) {
  .tt-section-heading h2 { font-size: 32px; }
  .tt-about__visual { width: 100%; }
  .tt-about__visual > p { width: 82%; padding: 16px; }
  .tt-service-row { grid-template-columns: 30px minmax(0,1fr); }
  .tt-service-row__arrow { display: none; }
  .tt-project__visual { padding: 14px; }
  .tt-project-ui { min-height: 285px; }
  .tt-footer__links { grid-template-columns: 1fr; }
  .tt-footer__links address { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  .tt-project-ui,
  .tt-insight__visual span,
  .tt-insight__visual i,
  .tt-faq__answer { transition: none; }
  .tt-testimonial-slide,
  .tt-testimonial-slide.is-active,
  .tt-testimonial-slide.is-leaving { transform: none; transition: opacity 200ms ease; }
  .tt-testimonial-slide.is-active::after { animation: none; }
}
