/* November 2026 marketing refresh. Components live alongside the export. */
@font-face {
  font-family:Gellix;
  src:url('../fonts/Gellix-Medium.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
:root {
  --tm-blue:#1748c7;
  --tm-ink:#101218;
  --tm-text:#555d6d;
  --tm-line:#dfe3ec;
  --tm-soft:#f3f5fa;
  --tm-mono:ui-monospace,SFMono-Regular,Consolas,monospace;
}
html {
  scroll-padding-top:100px;
}
body {
  color:var(--tm-ink);
}
.tm-wrap {
  width:min(1240px,calc(100% - 80px));
  margin-inline:auto;
}
.tm-section {
  padding-block:100px;
}
.tm-section h2 {
  font:500 clamp(2.3rem,4.3vw,3.6rem)/1.08 Gellix,Arial,sans-serif;
  letter-spacing:-.035em;
  text-transform:none;
  margin:0;
}
.tm-section h3 {
  font-family:Gellix,Arial,sans-serif;
  text-transform:none;
}
.tm-eyebrow {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--tm-blue);
  font:500 .68rem/1.6 var(--tm-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:22px;
}
.tm-eyebrow:before {
  content:'';
  width:24px;
  height:2px;
  background:currentColor;
}
.tm-lead {
  font-size:1.1rem;
  line-height:1.7;
  color:var(--tm-text);
  max-width:540px;
  margin:22px 0 0;
}
.tm-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  padding:15px 23px;
  border:1px solid transparent;
  border-radius:6px;
  min-height:50px;
  background:var(--tm-blue);
  color:#fff;
  text-decoration:none;
  font:500 .92rem/1.5 Gellix,Arial,sans-serif;
  transition:background .2s,transform .2s;
}
.tm-btn:hover {
  color:#fff;
  background:#123aa6;
  transform:translateY(-2px);
}
.tm-btn-quiet {
  background:transparent;
  color:var(--tm-ink);
  border-color:#bfc7d7;
}
.tm-btn-quiet:hover {
  color:var(--tm-ink);
  background:#edf1fa;
}
.tm-text-link {
  display:inline-flex;
  align-items:center;
  gap:20px;
  color:var(--tm-blue);
  font-size:.92rem;
  font-weight:500;
  text-decoration:none;
  min-height:44px;
}
.tm-text-link:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.tm-arrow {
  font-size:1.4rem;
  font-family:Arial,sans-serif;
}
.tm-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}
.tm-skip {
  position:fixed;
  left:20px;
  top:-100px;
  padding:12px 20px;
  background:#fff;
  z-index:10001;
}
.tm-skip:focus {
  top:10px;
}
.tm-topline {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:50px;
  margin-bottom:40px;
}
.tm-topline>p {
  color:var(--tm-text);
  font-size:1rem;
  line-height:1.7;
  max-width:360px;
  margin:0;
}
.tm-home h1 {
  font:500 clamp(3.1rem,5.5vw,5.2rem)/1.04 Gellix,Arial,sans-serif;
  letter-spacing:-.045em;
  color:var(--tm-ink);
  text-transform:none;
  margin:0;
}
.tm-home h1 span {
  color:var(--tm-blue);
}
.tm-home-hero {
  padding-block:70px 54px;
}
.tm-hero-grid {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:64px;
  align-items:center;
}
.tm-hero-note {
  font-size:.78rem;
  color:var(--tm-text);
  margin:22px 0 0;
  line-height:1.7;
}
.tm-art {
  position:relative;
  overflow:hidden;
  background:#08090d;
  border:1px solid #252b37;
  border-radius:14px;
  isolation:isolate;
}
.tm-art video {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.tm-home-art {
  aspect-ratio:1/1.05;
}
.tm-art-heading {
  position:absolute;
  z-index:2;
  top:22px;
  left:24px;
  color:#d3dbef;
  font:.65rem/1.6 var(--tm-mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.tm-art-bottom {
  position:absolute;
  z-index:2;
  bottom:0;
  left:0;
  right:0;
  padding:32px 24px 22px;
  background:linear-gradient(transparent,#08090df2);
  color:#fff;
  display:flex;
  gap:16px;
  justify-content:space-between;
  align-items:end;
}
.tm-art-bottom p {
  font:500 1.15rem/1.3 Gellix,Arial,sans-serif;
  margin:0;
}
.tm-art-bottom small {
  color:#aeb8ce;
  font:.65rem/1.6 var(--tm-mono);
}
.tm-motion-control {
  position:absolute;
  right:16px;
  top:16px;
  z-index:3;
  background:#111725e6;
  color:#dce4f6;
  border:1px solid #5a6273;
  border-radius:4px;
  padding:7px 10px;
  min-height:36px;
  font:500 .65rem/1.5 var(--tm-mono);
  cursor:pointer;
}
.tm-motion-control[hidden] {
  display:none;
}
.tm-proof-strip {
  margin-top:42px;
  border-top:1px solid var(--tm-line);
  padding-top:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.tm-proof-label {
  font:.65rem/1.6 var(--tm-mono);
  letter-spacing:.07em;
  color:var(--tm-text);
  text-transform:uppercase;
}
.tm-proof-links {
  display:flex;
  align-items:center;
  gap:38px;
  flex-wrap:wrap;
}
.tm-proof-links a {
  font-size:.83rem;
  color:var(--tm-text);
  display:flex;
  align-items:center;
  gap:8px;
}
.tm-proof-links a:hover {
  color:var(--tm-blue);
}
.tm-proof-links strong {
  color:var(--tm-ink);
  font-weight:600;
}
.tm-hero-credential {
  font:.66rem/1.5 var(--tm-mono);
  color:var(--tm-text);
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}
.tm-hero-credential:before {
  content:'';
  width:7px;
  height:7px;
  background:var(--tm-blue);
  border-radius:50%;
}
.tm-services {
  background:var(--tm-soft);
}
.tm-services-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.tm-service-card {
  background:#fff;
  border:1px solid var(--tm-line);
  border-radius:10px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  transition:box-shadow .2s,transform .2s;
}
.tm-service-card:hover {
  box-shadow:0 12px 26px #15284b0b;
  transform:translateY(-3px);
}
.tm-card-art {
  height:135px;
  position:relative;
  overflow:hidden;
  background:#0a0a0a;
}
.tm-card-art img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.tm-card-number {
  position:absolute;
  top:16px;
  left:20px;
  font:.68rem var(--tm-mono);
  color:#fff;
}
.tm-card-body {
  padding:28px;
  display:flex;
  flex:1;
  flex-direction:column;
}
.tm-service-card .tm-card-label {
  font:.65rem/1.5 var(--tm-mono);
  color:var(--tm-blue);
  letter-spacing:.07em;
  text-transform:uppercase;
  margin:0 0 15px;
}
.tm-service-card h3 {
  font-size:1.6rem;
  line-height:1.15;
  font-weight:500;
  letter-spacing:-.025em;
  margin:0 0 15px;
}
.tm-service-card p {
  font-size:.94rem;
  line-height:1.7;
  color:var(--tm-text);
  margin:0 0 20px;
}
.tm-card-body .tm-text-link {
  margin-top:auto;
}
.tm-reviews {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:20px;
}
.tm-review {
  padding:27px 28px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px 20px;
  border:1px solid #ccd7f1;
  border-radius:10px;
  background:#e9effc;
}
.tm-review h3 {
  font-weight:500;
  font-size:1.28rem;
  line-height:1.3;
  margin:0;
}
.tm-review p {
  font-size:.88rem;
  color:#505d79;
  line-height:1.6;
  margin:0;
  grid-column:1;
}
.tm-review .tm-text-link {
  grid-column:2;
  grid-row:1/3;
  align-self:center;
}
.tm-free {
  display:inline-block;
  background:var(--tm-blue);
  color:#fff;
  border-radius:3px;
  padding:3px 7px;
  font:.6rem/1.5 var(--tm-mono);
  letter-spacing:.05em;
  text-transform:uppercase;
  vertical-align:middle;
  margin-right:10px;
}
.tm-services-foot {
  margin-top:24px;
  color:var(--tm-text);
  font-size:.85rem;
  display:flex;
  gap:25px;
  justify-content:space-between;
  align-items:center;
}
.tm-services-foot p {
  margin:0;
}
.tm-work-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:24px;
}
.tm-work-feature {
  padding:32px;
  background:var(--tm-ink);
  color:white;
  border-radius:12px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.tm-work-feature .tm-eyebrow {
  color:#afc3ff;
  font-size:.6rem;
}
.tm-work-feature h3 {
  font-size:2rem;
  line-height:1.12;
  margin:0 0 16px;
  font-weight:500;
  letter-spacing:-.03em;
  max-width:420px;
}
.tm-work-feature>p {
  font-size:.95rem;
  line-height:1.7;
  color:#c1c9d9;
  max-width:440px;
  margin:0;
}
.tm-work-feature .tm-text-link {
  color:#c3d2ff;
  margin-top:15px;
}
.tm-work-illustration {
  width:100%;
  height:180px;
  object-fit:contain;
  margin-top:auto;
  opacity:.95;
}
.tm-work-others {
  display:flex;
  flex-direction:column;
  gap:24px;
}
.tm-work-story {
  border:1px solid var(--tm-line);
  border-radius:12px;
  padding:30px;
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:start;
  position:relative;
}
.tm-work-story img {
  height:26px;
  max-width:140px;
  object-fit:contain;
  object-position:left;
  margin-bottom:22px;
}
.tm-work-story h3 {
  font-size:1.35rem;
  line-height:1.3;
  font-weight:500;
  margin:0 0 12px;
  letter-spacing:-.02em;
}
.tm-work-story p {
  font-size:.88rem;
  line-height:1.7;
  color:var(--tm-text);
  margin:0;
}
.tm-work-story .tm-text-link {
  margin-top:16px;
}
.tm-work-feature:hover,.tm-work-story:hover {
  outline:1px solid #6e8bd8;
  outline-offset:2px;
}
.tm-approach {
  background:#101218;
  color:#fff;
}
.tm-approach .tm-eyebrow {
  color:#acbfff;
}
.tm-approach-grid {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:90px;
}
.tm-approach h2 {
  color:#fff;
}
.tm-approach .tm-lead {
  color:#b7c1d5;
}
.tm-approach-list {
  list-style:none;
  padding:0;
  margin:0;
}
.tm-approach-list li {
  padding:22px 0;
  border-top:1px solid #3b4352;
  display:grid;
  grid-template-columns:40px 1fr;
  gap:20px;
}
.tm-approach-list li:last-child {
  border-bottom:1px solid #3b4352;
}
.tm-approach-list .tm-count {
  font:.68rem var(--tm-mono);
  color:#aabfff;
  margin-top:5px;
}
.tm-approach-list h3 {
  font-size:1.4rem;
  line-height:1.25;
  color:white;
  margin:0;
  font-weight:500;
}
.tm-approach-list p {
  font-size:.92rem;
  color:#b7c1d5;
  line-height:1.6;
  margin:8px 0 0;
}
.tm-owned {
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid #3b4352;
  padding:16px 18px;
  border-radius:6px;
  margin-top:28px;
  font-size:.85rem;
  color:#ced6e5;
}
.tm-owned svg {
  color:#aabfff;
  flex-shrink:0;
}
.tm-process-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:36px;
  margin-top:42px;
}
.tm-process-step {
  padding-top:22px;
  border-top:1px solid var(--tm-line);
}
.tm-process-step>span {
  font:.65rem var(--tm-mono);
  letter-spacing:.08em;
  color:var(--tm-blue);
}
.tm-process-step h3 {
  font-size:1.4rem;
  line-height:1.2;
  font-weight:500;
  margin:20px 0 14px;
  letter-spacing:-.02em;
}
.tm-process-step p {
  font-size:.92rem;
  line-height:1.7;
  color:var(--tm-text);
  margin:0;
}
.tm-faq {
  background:var(--tm-soft);
}
.tm-faq-grid {
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:85px;
}
.tm-faq .faq__wrapper {
  border-bottom:1px solid #cbd2df;
  margin:0;
  border-radius:0;
  box-shadow:none;
  background:none;
  padding:0;
}
.tm-faq .faq__wrapper:first-child {
  border-top:1px solid #cbd2df;
}
.tm-faq .faq-question,.tm-faq .faq__question-wrapper {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:24px 0;
  gap:25px;
  background:none;
  border:0;
  text-align:left;
  font-size:1rem;
}
.tm-faq .faq__q-text {
  font-weight:500;
  font-size:1rem;
  line-height:1.5;
}
.tm-faq .faq__answer-text {
  font-size:.93rem;
  line-height:1.7;
  color:var(--tm-text);
  padding:0 28px 24px 0;
  margin:0;
}
.tm-faq .icon-wrapper {
  font-size:24px;
  font-weight:400;
  color:var(--tm-blue);
}
.tm-faq .faq-answer[hidden] {
  display:none;
}
.tm-insights-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.tm-insight {
  display:block;
  border-top:1px solid var(--tm-line);
  padding-top:20px;
  color:var(--tm-ink);
}
.tm-insight small {
  font:.65rem/1.6 var(--tm-mono);
  letter-spacing:.07em;
  color:var(--tm-blue);
  text-transform:uppercase;
}
.tm-insight h3 {
  font-size:1.25rem;
  font-weight:500;
  line-height:1.35;
  margin:16px 0 18px;
  letter-spacing:-.02em;
}
.tm-insight:hover h3 {
  color:var(--tm-blue);
}
.tm-closing {
  background:#e9effc;
}
.tm-closing-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:50px;
  align-items:center;
}
.tm-closing .tm-lead {
  max-width:600px;
}
.tm-closing img {
  max-height:260px;
  object-fit:contain;
  width:100%;
}
.tm-closing .tm-hero-note {
  margin-top:14px;
}
/* Service pages use the same visual and editorial hierarchy as Home. */
.tm-service-hero {
  padding:64px 0 0;
}
.tm-service-hero h1 {
  font:500 clamp(2.7rem,4.8vw,4.4rem)/1.08 Gellix,Arial,sans-serif;
  letter-spacing:-.04em;
  text-transform:none;
  margin:0;
}
.tm-service-hero .tm-hero-grid {
  gap:65px;
  align-items:center;
}
.tm-service-hero .tm-art {
  aspect-ratio:1.1;
}
.tm-service-hero .tm-lead {
  font-size:1.04rem;
  line-height:1.7;
}
.tm-service-hero .tm-art video {
  position:absolute;
  inset:0;
}
.tm-service-hero .tm-art-bottom p {
  max-width:290px;
}
.tm-deliverables {
  margin-top:46px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:35px;
  border-block:1px solid var(--tm-line);
  padding-block:26px;
}
.tm-deliverable {
  display:flex;
  align-items:start;
  gap:15px;
}
.tm-deliverable>span {
  font:.65rem var(--tm-mono);
  color:var(--tm-blue);
  padding-top:4px;
}
.tm-deliverable strong {
  font-size:.94rem;
  font-weight:500;
  line-height:1.4;
  display:block;
}
.tm-deliverable p {
  font-size:.79rem;
  line-height:1.6;
  color:var(--tm-text);
  margin:7px 0 0;
}
.tm-service-hero + .tm-services {
  margin-top:60px;
}
.tm-service-nav {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:20px;
  padding-bottom:18px;
  font-size:.8rem;
  color:var(--tm-text);
}
.tm-service-nav a {
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.tm-service-nav a:hover {
  color:var(--tm-blue);
}
/* Shared export repairs: calmer spacing, readable case, and useful endings. */
body .heading-style-h1,body .heading-style-h2,body .heading-style-h3,body .hero_p,body .blue-dot_text {
  text-transform:none;
}
body .heading-style-h1 {
  line-height:1.12;
  letter-spacing:-.035em;
}
body .heading-style-h2 {
  line-height:1.15;
  letter-spacing:-.025em;
}
body .hero_p {
  line-height:1.65;
}
body .navbar .available-wrapper {
  display:none;
}
body .navbar .button.is-nav {
  background:var(--tm-blue);
  border-color:var(--tm-blue);
  border-radius:6px;
}
body .navbar .button.is-nav:hover {
  background:#123aa6;
  color:#fff;
}
body .section_navbar {
  border-bottom:1px solid var(--tm-line);
}
body .navbar-wrapper {
  min-height:80px;
}
body .nav-link {
  font-size:.88rem;
}
body .main-logo-img.is-navbar {
  width:112px;
}
body .section_cta-wrapper {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  align-items:center;
  gap:55px;
}
body .section_cta-left,body .section_cta-right {
  min-width:0;
  width:auto;
  max-width:none;
}
body .section_cta-right {
  position:relative;
}
body .cta-text-wrapper {
  display:flex;
  flex-direction:column;
  align-items:start;
  gap:22px;
  width:auto;
  min-width:0;
}
body .section_cta .heading-style-h2 {
  font-size:clamp(2.3rem,4vw,3.5rem);
}
body .section_cta .blue-dot_text,body .section_cta .cta_p {
  text-transform:none;
}
body .section_cta .cta_p {
  font-size:1rem;
  line-height:1.6;
  color:#555d6d;
}
body .section_cta .button {
  background:var(--tm-blue);
  color:#fff;
}
body .section_cta .blue-dot_text {
  color:#fff;
}
body .section_cta-right img {
  width:100%;
  height:auto;
  max-height:320px;
  object-fit:contain;
}
body .main-wrapper>.section_facts>.padding-global>.container-large>.spacer-xhuge,body .main-wrapper>.section_path>.padding-global>.container-large>.spacer-xhuge {
  height:5rem;
}
body .section_footer .footer_cta-text {
  font-size:.82rem;
  line-height:1.7;
}
body .footer_credits-wrapper {
  gap:20px;
  flex-wrap:wrap;
}
body .footer_cta .cta-email-icon {
  display:none;
}
body .footer-content-wrapper>.spacer-xhuge {
  height:4rem;
}
body .footer_partnerships {
  border-top:1px solid var(--tm-line);
  padding-top:24px;
}
.tm-footer-services {
  display:flex;
  gap:14px 28px;
  flex-wrap:wrap;
  padding:24px 0;
  border-top:1px solid var(--tm-line);
  margin-top:30px;
}
.tm-footer-services a {
  font-size:.78rem;
  color:var(--tm-text);
  min-height:32px;
  display:flex;
  align-items:center;
}
.tm-footer-services a:hover {
  color:var(--tm-blue);
}
.tm-platforms {
  display:flex;
  gap:20px 35px;
  flex-wrap:wrap;
  align-items:center;
}
.tm-platforms span {
  font:500 .9rem Gellix,Arial,sans-serif;
  color:#555d6d;
}
.tm-platforms a {
  font-size:.9rem;
  color:var(--tm-blue);
}
body .privacy-panel {
  bottom:20px;
  right:20px;
  border-radius:10px;
  max-width:440px;
  padding:18px;
  box-shadow:0 8px 32px #0002;
}
body .privacy-panel h2 {
  font-size:1rem;
}
body .privacy-panel p {
  font-size:.78rem;
  line-height:1.6;
}
body .privacy-actions button {
  font-size:.78rem;
  padding:10px;
  min-height:42px;
  flex-basis:150px;
  border-radius:5px;
}
.tm-jump {
  color:var(--tm-blue);
  font-size:.8rem;
}
.tm-scope-note {
  padding:20px;
  border:1px solid var(--tm-line);
  border-radius:8px;
  font-size:.9rem;
  line-height:1.7;
  color:var(--tm-text);
}
@media(max-width:1100px) {
  .tm-hero-grid,.tm-service-hero .tm-hero-grid {
    gap:35px;
  }
  .tm-home h1 {
    font-size:4rem;
  }
  .tm-hero-credential {
    display:none;
  }
  .tm-proof-links {
    gap:22px;
  }
  .tm-review {
    grid-template-columns:1fr;
  }
  .tm-review .tm-text-link {
    grid-column:1;
    grid-row:auto;
    justify-self:start;
  }
  .tm-card-body {
    padding:24px;
  }
  .tm-approach-grid {
    gap:50px;
  }
  .tm-home-hero {
    padding-top:55px;
  }
  .tm-wrap {
    width:calc(100% - 64px);
  }
}
@media(max-width:800px) {
  .tm-wrap {
    width:calc(100% - 40px);
  }
  .tm-section {
    padding-block:65px;
  }
  .tm-home-hero {
    padding-block:45px 35px;
  }
  .tm-hero-grid,.tm-service-hero .tm-hero-grid {
    grid-template-columns:1fr;
    gap:35px;
  }
  .tm-home h1 {
    font-size:clamp(3rem,8.5vw,4.7rem);
    max-width:650px;
  }
  .tm-home-art {
    aspect-ratio:1.5;
    max-width:620px;
    width:100%;
  }
  .tm-hero-grid .tm-lead {
    max-width:580px;
  }
  .tm-proof-strip {
    align-items:start;
    flex-direction:column;
    gap:18px;
    margin-top:28px;
  }
  .tm-proof-links {
    gap:16px 28px;
  }
  .tm-topline {
    display:block;
    margin-bottom:30px;
  }
  .tm-topline>p {
    margin-top:20px;
    max-width:550px;
  }
  .tm-services-grid {
    grid-template-columns:1fr;
  }
  .tm-service-card {
    display:grid;
    grid-template-columns:.5fr 1fr;
  }
  .tm-card-art {
    height:100%;
    min-height:210px;
  }
  .tm-service-card .tm-card-label {
    margin-bottom:12px;
  }
  .tm-service-card h3 {
    font-size:1.6rem;
  }
  .tm-reviews {
    gap:16px;
  }
  .tm-review {
    padding:24px;
  }
  .tm-review h3 {
    font-size:1.2rem;
    line-height:1.4;
  }
  .tm-free {
    display:table;
    margin-bottom:12px;
  }
  .tm-services-foot {
    align-items:start;
    flex-direction:column;
    gap:8px;
  }
  .tm-work-grid {
    grid-template-columns:1fr;
  }
  .tm-work-feature {
    min-height:450px;
  }
  .tm-work-others {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
  .tm-work-story {
    padding:24px;
  }
  .tm-approach-grid,.tm-faq-grid {
    grid-template-columns:1fr;
    gap:35px;
  }
  .tm-process-grid {
    gap:25px;
  }
  .tm-insights-grid {
    gap:25px;
  }
  .tm-closing-grid {
    grid-template-columns:1.4fr 1fr;
    gap:20px;
  }
  .tm-closing img {
    max-height:230px;
  }
  .tm-service-hero {
    padding-top:40px;
  }
  .tm-service-hero h1 {
    max-width:650px;
  }
  .tm-service-hero .tm-art {
    aspect-ratio:1.6;
    max-width:620px;
    width:100%;
  }
  .tm-deliverables {
    gap:20px;
    margin-top:30px;
  }
  .tm-deliverable {
    gap:10px;
  }
  .tm-deliverable strong {
    font-size:.86rem;
  }
  body .section_cta-wrapper {
    gap:25px;
  }
  .tm-footer-services {
    gap:12px 24px;
  }
  body .main-wrapper>.section_facts>.padding-global>.container-large>.spacer-xhuge,body .main-wrapper>.section_path>.padding-global>.container-large>.spacer-xhuge {
    height:3.5rem;
  }
}
@media(max-width:540px) {
  .tm-home h1 {
    font-size:clamp(2.8rem,11vw,3.8rem);
  }
  .tm-eyebrow {
    font-size:.6rem;
    letter-spacing:.07em;
  }
  .tm-lead {
    font-size:1rem;
    line-height:1.65;
  }
  .tm-actions {
    gap:10px;
  }
  .tm-btn {
    padding:13px 18px;
    gap:20px;
    font-size:.84rem;
  }
  .tm-actions .tm-btn {
    flex:1 1 auto;
  }
  .tm-home-art {
    aspect-ratio:1.12;
  }
  .tm-art-heading {
    font-size:.55rem;
    left:18px;
    top:20px;
    max-width:180px;
  }
  .tm-motion-control {
    right:12px;
    top:12px;
    font-size:.55rem;
    padding:7px;
  }
  .tm-art-bottom {
    padding:40px 18px 20px;
  }
  .tm-art-bottom p {
    font-size:1rem;
  }
  .tm-art-bottom small {
    font-size:.55rem;
  }
  .tm-proof-links {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 24px;
  }
  .tm-proof-links a {
    font-size:.75rem;
  }
  .tm-section h2 {
    font-size:2.25rem;
  }
  .tm-service-card {
    display:flex;
  }
  .tm-card-art {
    height:100px;
    min-height:0;
  }
  .tm-service-card h3 {
    font-size:1.6rem;
  }
  .tm-card-body {
    padding:24px;
  }
  .tm-service-card p {
    font-size:.9rem;
  }
  .tm-reviews {
    grid-template-columns:1fr;
  }
  .tm-review {
    display:block;
  }
  .tm-free {
    display:inline-block;
    margin-bottom:0;
  }
  .tm-review p {
    margin:12px 0;
  }
  .tm-work-others {
    grid-template-columns:1fr;
  }
  .tm-work-feature {
    padding:26px;
    min-height:440px;
  }
  .tm-work-feature h3 {
    font-size:1.7rem;
  }
  .tm-work-story {
    padding:26px;
  }
  .tm-process-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  .tm-process-step h3 {
    margin-top:16px;
  }
  .tm-insights-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  .tm-closing-grid {
    grid-template-columns:1fr;
  }
  .tm-closing img {
    max-height:200px;
    order:-1;
    object-position:left;
  }
  .tm-service-hero h1 {
    font-size:2.7rem;
  }
  .tm-service-hero .tm-art {
    aspect-ratio:1.2;
  }
  .tm-deliverables {
    grid-template-columns:1fr;
    padding-block:22px;
    gap:20px;
  }
  .tm-deliverable>span {
    width:25px;
    flex-shrink:0;
  }
  .tm-deliverable strong {
    font-size:.95rem;
  }
  .tm-deliverable p {
    margin-top:4px;
    font-size:.82rem;
  }
  .tm-service-nav {
    gap:12px 20px;
  }
  body .section_cta-wrapper {
    grid-template-columns:1fr;
  }
  body .section_cta-right {
    max-width:320px;
    width:100%;
  }
  body .privacy-panel {
    right:12px;
    bottom:12px;
    width:calc(100% - 24px);
  }
  body .navbar-wrapper {
    min-height:72px;
  }
  .tm-proof-label {
    font-size:.6rem;
  }
  .tm-faq .faq-question {
    padding-block:21px;
  }
  .tm-footer-services {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .tm-platforms {
    gap:20px;
  }
  body .section_cta-left {
    width:100%;
  }
}
@media(prefers-reduced-motion:reduce) {
  .tm-service-card:hover,.tm-btn:hover {
    transform:none;
  }
  html {
    scroll-behavior:auto;
  }
}
/* Theme paragraphs carry a fixed dark colour: reset artwork captions explicitly. */
.tm-art-bottom p {
  color:#fff;
}
.tm-art-heading {
  max-width:calc(100% - 145px);
}
.tm-faq .faq-question[aria-expanded="true"] .icon-wrapper {
  font-size:0;
}
.tm-faq .faq-question[aria-expanded="true"] .icon-wrapper:after {
  content:'−';
  font-size:24px;
}
.tm-home h1,.tm-section h2,.tm-section h3,.tm-service-hero h1 {
  overflow-wrap:anywhere;
}
.tm-contact-hero {
  padding-bottom:35px;
}
.tm-contact-hero h1 {
  max-width:850px;
}
.tm-contact-hero .tm-lead {
  max-width:720px;
}
.tm-contact-hero .tm-service-nav {
  margin-top:25px;
}
.tm-work-index .tm-work-grid {
  margin-top:45px;
}
.tm-work-more {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:24px;
}
.tm-work-more .tm-work-story {
  height:100%;
}
.tm-work-index .tm-topline {
  margin-bottom:0;
}
.tm-work-index .tm-work-feature {
  min-height:480px;
}
.tm-about-hero .tm-home-art {
  aspect-ratio:1.2;
}
@media(max-width:800px) {
  .tm-work-more {
    grid-template-columns:1fr 1fr;
  }
  .tm-work-more .tm-work-story:last-child {
    grid-column:1/-1;
  }
  .tm-contact-hero {
    padding-bottom:20px;
  }
}
@media(max-width:540px) {
  .tm-art-heading {
    max-width:calc(100% - 125px);
  }
  .tm-work-more {
    grid-template-columns:1fr;
  }
  .tm-work-more .tm-work-story:last-child {
    grid-column:auto;
  }
}
body .navbar {
  padding-block:0;
}
body:has(.sticky-cta-bar) .privacy-panel {
  bottom:88px;
}
.tm-about-hero {
  padding-bottom:50px;
}
.tm-about-hero h1 {
  font-size:clamp(2.8rem,5.2vw,4.6rem);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.04em;
  margin:0;
}
.tm-about-hero .tm-art {
  aspect-ratio:1.2;
}
.tm-contact-hero .hero_p.is-home {
  text-align: left;
  font-size: 1rem;
  margin-left: 0;
}
.tm-client {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 22px;
  color: var(--tm-ink);
  font: 500 1rem/1.5 Gellix, Arial, sans-serif;
}
.tm-work-story .tm-client img {
  width: 30px;
  height: 30px;
  margin-bottom: 0;
}
.tm-work-illustration {
  height: auto;
  min-height: 170px;
  margin-top: auto;
  padding-top: 25px;
}
.tm-services-foot p {
  font-size: .8rem;
  line-height: 1.6;
}
.tm-services-foot .tm-text-link {
  flex-shrink: 0;
  white-space: nowrap;
}
.tm-insight {
  text-decoration: none;
}
.tm-faq .icon-wrapper {
  background: none;
  width: 22px;
  min-width: 22px;
  height: auto;
  border-radius: 0;
  padding: 0;
}
/* Focused service journeys: useful outputs first, long-form detail on demand. */
.tm-service-page { overflow: visible; }
.tm-service-page .tm-service-hero { padding-top: 44px; }
.tm-service-page .tm-hero-grid { align-items: start; gap: 48px; }
.tm-service-page .tm-deliverables { margin-top: 22px; padding-block: 18px; gap: 16px; }
.tm-service-page .tm-deliverable { gap: 8px; }
.tm-service-page .tm-deliverable strong { font-size: .82rem; }
.tm-service-page .tm-deliverable p { font-size: .73rem; line-height: 1.5; }
.tm-service-page .tm-hero-note { margin-top: 16px; }
.tm-service-page .tm-actions { margin-top: 24px; }
.tm-service-page .tm-lead { font-size: 1rem; line-height: 1.6; margin-top: 18px; }
.tm-service-visual { margin: 0; min-width: 0; }
.tm-service-visual img { display: block; width: 100%; height: auto; border-radius: 12px; }
.tm-service-visual figcaption { color: var(--tm-text); font-size: .72rem; line-height: 1.6; margin-top: 12px; }
.tm-page-nav { display: flex; gap: 24px; flex-wrap: wrap; padding-block: 18px; font-size: .8rem; color: var(--tm-blue); border-bottom: 1px solid var(--tm-line); }
.tm-page-nav a { display: flex; align-items: center; min-height: 36px; text-decoration: none; }
.tm-page-nav a:hover { text-decoration: underline; }
.tm-service-section { padding-block: 64px; scroll-margin-top: 20px; }
.tm-service-section h2 { font: 500 clamp(2rem,3.4vw,3rem)/1.1 Gellix,Arial,sans-serif; letter-spacing: -.03em; text-transform: none; margin: 0; }
.tm-service-section .tm-process-grid { margin-top: 30px; }
.tm-detail-section { background: #f5f7fb; }
.tm-detail-intro { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 30px; }
.tm-detail-intro > p { max-width: 430px; font-size: .9rem; line-height: 1.7; color: var(--tm-text); margin: 0; }
.tm-references { border-top: 1px solid #cbd3e3; }
.tm-reference { border-bottom: 1px solid #cbd3e3; }
.tm-reference > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; padding: 20px 0; font: 500 1.03rem/1.45 Gellix,Arial,sans-serif; }
.tm-reference > summary::-webkit-details-marker { display: none; }
.tm-reference > summary > span { color: var(--tm-blue); font-size: 24px; min-width: 22px; }
.tm-reference[open] > summary > span { font-size: 0; }
.tm-reference[open] > summary > span::after { content: '−'; font-size: 24px; }
.tm-reference-body { background: #fff; border: 1px solid var(--tm-line); border-radius: 8px; padding: 28px; margin-bottom: 20px; }
.tm-reference-body p, .tm-reference-body .path_p, .tm-reference-body .memebership_p, .tm-reference-body .membership_card-p { font-size: .93rem; line-height: 1.65; text-transform: none; color: var(--tm-text); margin: 0 0 16px; }
.tm-reference-body h3, .tm-reference-body .heading-style-h3 { font-size: 1.3rem; line-height: 1.3; text-transform: none; margin-bottom: 12px; }
.tm-reference-body .max-width-61, .tm-reference-body .max-width-870, .tm-reference-body .max-width-724 { max-width: none; width: 100%; }
.tm-reference-body .memebership-title-wrapper { display: none; }
.tm-reference-body .memebership_card { min-height: 0; padding: 22px; justify-content: start; }
.tm-reference-body .memebership_card.is-blue p { color: #fff; }
.tm-reference-body .solutions_card { min-height: 0; }
.tm-reference-body .solutions_card img { max-height: 120px; object-fit: contain; }
.tm-reference-body .membership-cards_top { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.tm-reference-body .fx-stack { border: 1px solid var(--tm-line); border-radius: 8px; overflow: hidden; }
.tm-reference-body .fx-stack_head, .tm-reference-body .fx-stack_foot { padding: 18px 22px; font-size: 1rem; line-height: 1.6; background: #edf2fd; }
.tm-reference-body .fx-stack_row { display: flex; gap: 14px; padding: 16px 22px; border-top: 1px solid var(--tm-line); font-size: .95rem; line-height: 1.6; align-items: start; }
.tm-reference-body .fx-check { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 3px; }
.tm-reference-body .week-table { display: grid; grid-template-columns: 150px minmax(0,1fr); }
.tm-reference-body .week-table_cell { padding: 15px 18px; border-bottom: 1px solid var(--tm-line); font-size: .95rem; line-height: 1.65; }
.tm-reference-body .week-table_cell.is-week { color: var(--tm-blue); font-weight: 500; }
.tm-reference-body .pillar-grid, .tm-reference-body .waste-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.tm-reference-body .pillar-card, .tm-reference-body .waste-card { padding: 20px; background: #f4f6fb; border-radius: 8px; }
.tm-reference-body .pillar-card_num { font-size: .7rem; color: var(--tm-blue); margin-bottom: 12px; }
.tm-reference-body .pillar-card_name { font-size: 1rem; margin-bottom: 12px; font-weight: 500; }
.tm-service-closing { background: #e9effc; }
.tm-service-closing .tm-wrap { display: flex; justify-content: space-between; gap: 40px; align-items: center; }
.tm-service-closing p { max-width: 620px; color: var(--tm-text); font-size: .95rem; line-height: 1.65; margin: 18px 0 0; }
.tm-service-closing .tm-btn { flex-shrink: 0; }
.tm-service-page + .section_footer .footer-content-wrapper > .spacer-xhuge { height: 3rem; }
.tm-service-page ~ .privacy-panel { bottom: 88px; }
@media(max-width:800px) {
  .tm-service-page .tm-hero-grid { gap: 24px; }
  .tm-service-page .tm-service-visual { max-width: 620px; }
  .tm-service-section { padding-block: 48px; }
  .tm-detail-intro { align-items: start; flex-direction: column; gap: 18px; }
  .tm-reference-body .membership-cards_top, .tm-reference-body .pillar-grid, .tm-reference-body .waste-grid { grid-template-columns: 1fr 1fr; }
  .tm-service-closing .tm-wrap { flex-direction: column; align-items: start; gap: 24px; }
}
@media(max-width:540px) {
  .tm-service-page .tm-service-hero { padding-top: 30px; }
  .tm-service-page .tm-service-hero h1 { font-size: 2.25rem; }
  .tm-service-page .tm-deliverables { grid-template-columns: 1fr; gap: 12px; margin-top: 18px; }
  .tm-service-page .tm-deliverable > span { flex-basis: 22px; width: 22px; padding-top: 3px; }
  .tm-service-page .tm-deliverable strong { font-size: .88rem; }
  .tm-service-page .tm-deliverable p { font-size: .78rem; margin-top: 3px; }
  .tm-service-visual figcaption { font-size: .7rem; }
  .tm-page-nav { gap: 12px 20px; font-size: .75rem; }
  .tm-service-section h2 { font-size: 2rem; }
  .tm-service-section { padding-block: 40px; }
  .tm-service-section .tm-process-grid { gap: 22px; }
  .tm-service-section .tm-process-step h3 { margin: 12px 0 9px; font-size: 1.25rem; }
  .tm-service-section .tm-process-step p { font-size: .88rem; }
  .tm-reference > summary { font-size: .96rem; padding-block: 18px; }
  .tm-reference-body { padding: 18px; }
  .tm-reference-body .membership-cards_top, .tm-reference-body .pillar-grid, .tm-reference-body .waste-grid { grid-template-columns: 1fr; }
  .tm-reference-body .week-table { grid-template-columns: minmax(0,1fr); }
  .tm-reference-body .week-table_cell.is-week { border-bottom: 0; padding-bottom: 0; }
  .tm-reference-body .fx-stack_row, .tm-reference-body .fx-stack_head, .tm-reference-body .fx-stack_foot { padding: 14px; }
}
/* Case studies lead with context and substance, rather than template chrome. */
.tm-case-hero { padding-block: 44px 32px; }
.tm-case-back { display: inline-flex; align-items: center; min-height: 44px; font-size: .8rem; color: var(--tm-blue); text-decoration: none; margin-bottom: 20px; }
.tm-case-hero h1 { font: 500 clamp(2.5rem,5vw,4.5rem)/1.08 Gellix,Arial,sans-serif; letter-spacing: -.04em; margin: 0; text-transform: none; text-align: left; overflow-wrap: anywhere; }
.tm-case-subtitle { max-width: 800px; font: 400 clamp(1.2rem,2.4vw,1.8rem)/1.4 Gellix,Arial,sans-serif; color: var(--tm-text); margin: 16px 0 24px; text-transform: none; }
.tm-case-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tm-case-tags span { padding: 6px 10px; border: 1px solid var(--tm-line); border-radius: 4px; font-size: .7rem; line-height: 1.5; color: var(--tm-text); }
.tm-case-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--tm-line); }
.tm-case-summary article { min-width: 0; }
.tm-case-summary h2 { font: 500 1.15rem/1.3 Gellix,Arial,sans-serif; color: var(--tm-blue); text-transform: none; margin: 0 0 12px; }
.tm-case-summary p { font-size: .94rem; line-height: 1.7; color: var(--tm-text); margin: 0; }
.tm-case-hero .tm-text-link { margin-top: 22px; }
.tm-case-page .section_desc { padding-top: 0; scroll-margin-top: 20px; }
.tm-case-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; background: #f3f5fa; padding: 24px; border-radius: 8px; margin: 0; }
.tm-case-facts dt { font: .65rem/1.6 var(--tm-mono); text-transform: uppercase; color: var(--tm-text); margin-bottom: 8px; }
.tm-case-facts dd { margin: 0; font-size: .95rem; line-height: 1.6; }
.tm-case-page .project_h2, .tm-case-page .desc_about-h2, .tm-case-page .desc_title-h2, .tm-case-page .problem_h3 { text-transform: none; }
.tm-case-page .desc_about-wrapper { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 40px; }
.tm-case-page .desc_about-left, .tm-case-page .desc_about-right { width: auto; min-width: 0; }
.tm-case-page .desc_about-p, .tm-case-page .desc_p, .tm-case-page .problem_p { font-size: 1rem; line-height: 1.75; }
.tm-case-page .desc_about-h2 { font-size: 1.6rem; line-height: 1.25; }
.tm-case-page .desc_title-h2 { font-size: 2rem; line-height: 1.2; }
.tm-case-page .techno_list { display: flex; gap: 12px; flex-wrap: wrap; }
.tm-case-page .techno_item { max-width: 100%; }
.tm-case-page .spacer-huge, .tm-case-page .spacer-xhuge { height: 3.5rem; }
.tm-case-page .desc_problem-solution-wrapper { gap: 35px; }
.tm-case-page .desc_problem-wrapper, .tm-case-page .desc_solution-wrapper { min-width: 0; }
/* Service sticky actions retain the same placement after removing old inline styles. */
.tm-service-page .sticky-cta-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 90; background: #101218; display: flex; align-items: center; justify-content: center; gap: 20px; padding: 12px 20px; transform: translateY(100%); transition: transform .2s; }
.tm-service-page .sticky-cta-bar.is-visible { transform: translateY(0); }
.tm-service-page .sticky-cta-bar_text { color: #fff; font-size: .85rem; }
@media(max-width:800px) {
  .tm-case-summary { gap: 20px; }
  .tm-case-page .desc_about-wrapper { grid-template-columns: minmax(0,1fr); gap: 26px; }
}
@media(max-width:540px) {
  .tm-case-hero { padding-top: 24px; }
  .tm-case-back { margin-bottom: 14px; }
  .tm-case-hero .tm-eyebrow { margin-bottom: 14px; }
  .tm-case-subtitle { font-size: 1.2rem; margin-block: 12px 18px; }
  .tm-case-tags { gap: 6px; }
  .tm-case-tags span { font-size: .65rem; padding: 5px 8px; }
  .tm-case-summary { grid-template-columns: 1fr; gap: 20px; margin-top: 24px; padding-top: 22px; }
  .tm-case-summary h2 { font-size: 1rem; margin-bottom: 8px; }
  .tm-case-summary p { font-size: .9rem; line-height: 1.65; }
  .tm-case-facts { grid-template-columns: 1fr; padding: 20px; }
  .tm-case-page .spacer-huge, .tm-case-page .spacer-xhuge { height: 2.5rem; }
  .tm-case-page .desc_problem-solution-wrapper { flex-direction: column; }
  .tm-case-page .desc_problem-wrapper, .tm-case-page .desc_solution-wrapper { width: 100%; }
  .tm-service-page .sticky-cta-bar_text { display: none; }
}
.tm-request-note { max-width: 650px; font-size: .78rem; line-height: 1.6; color: var(--tm-text); margin-top: 16px; }
.tm-contact-hero .tm-service-nav { margin-top: 16px; }
.tm-contact-hero + .section_facts > .padding-global > .container-large > .spacer-xlarge { height: 1.5rem; }
@media(max-width:540px) {
  .tm-contact-hero { padding-top: 28px; padding-bottom: 0; }
  .tm-contact-hero h1 { font-size: 2rem; }
  .tm-contact-hero .hero_p.is-home { font-size: .95rem; line-height: 1.6; margin-top: 18px; }
  .tm-contact-hero .tm-service-nav { gap: 8px 20px; padding-bottom: 8px; }
  .tm-request-note { font-size: .75rem; margin-top: 14px; }
}
.tm-service-page .tm-deliverable > span { white-space: nowrap; flex-basis: 30px; width: 30px; }
.tm-service-visual picture { display: block; }
.tm-service-page .tm-service-hero h1 { font-size: clamp(2.25rem, 4vw, 3.6rem); }

/* Consulting: visible substance, clear engineering story. */
.tm-consulting-rich .tm-service-hero {background:linear-gradient(120deg,#f3f6ff 0%,#fff 65%);padding-top:70px}
.tm-consulting-rich .tm-service-hero h1 {font-size:clamp(2.8rem,5.4vw,5rem);letter-spacing:-.055em;line-height:1.02}
.tm-consulting-rich .tm-service-visual {background:transparent;border:0;box-shadow:none}
.tm-consulting-rich .tm-service-visual img {border-radius:20px;box-shadow:0 24px 65px #173b8026}
.tm-consulting-rich .tm-service-section {padding:88px 0}
.ai-section-heading {display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:end;margin-bottom:42px}
.tm-consulting-rich h2 {font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.08;letter-spacing:-.04em;margin:0 0 20px}
.ai-section-heading p,.ai-fit p,.ai-experience p,.ai-engineering p {font-size:18px;line-height:1.65;color:#555d6d;max-width:620px}
.ai-usecase-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #cbd3e2;border-bottom:1px solid #cbd3e2}
.ai-usecase-grid article {padding:32px 30px 28px 0}
.ai-usecase-grid article+article {border-left:1px solid #cbd3e2;padding-left:30px}
.ai-index,.ai-output-grid article>span,.ai-timeline li>span {font-size:12px;letter-spacing:.09em;color:#1748c7;font-weight:600}
.ai-usecase-grid h3 {font-size:28px;line-height:1.12;letter-spacing:-.025em;margin:28px 0 18px}
.ai-usecase-grid p,.ai-output-grid p,.ai-timeline p {font-size:17px;line-height:1.6;color:#555d6d}
.ai-example {font-size:12px;color:#53627e;padding-top:24px}
.ai-caption {font-size:13px!important;line-height:1.5!important;color:#657083!important;margin-top:20px}
.ai-engineering {background:#101a32;color:white}
.ai-engineering-grid {display:grid;grid-template-columns:1fr 1fr;gap:90px}
.ai-engineering .tm-eyebrow {color:#93b8ff}
.ai-engineering h2,.ai-engineering h3 {color:white}
.ai-engineering p {color:#c0cce1}
.ai-boundaries article {display:flex;gap:24px;border-top:1px solid #ffffff30;padding:24px 0}
.ai-boundaries article>span {color:#8fb4ff;font-size:14px;padding-top:4px}
.ai-boundaries h3 {font-size:23px;margin:0 0 10px}
.ai-boundaries p {font-size:16px;margin:0}
.ai-output-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ai-output-grid article {background:#f1f4fb;border:1px solid #e0e7f3;border-radius:12px;padding:36px}
.ai-output-grid h3 {font-size:27px;letter-spacing:-.025em;margin:28px 0 16px}
.ai-output-grid p {margin:0;max-width:480px}
.ai-timeline-section {background:#f6f7fa}
.ai-timeline {list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:0;margin:55px 0 0;counter-reset:stages}
.ai-timeline li {border-top:2px solid #1748c7;padding-top:22px}
.ai-timeline h3 {font-size:23px;margin:24px 0 14px}
.ai-fit-grid {display:grid;grid-template-columns:1fr 1fr;gap:100px}
.ai-fit .tm-btn {margin-top:20px}
.ai-terms {border-left:1px solid #cbd3e2;padding-left:45px}
.ai-terms h3 {font-size:28px;margin:0 0 24px}
.ai-terms p {font-size:16px}
.ai-terms strong {color:#101a32}
.ai-experience {background:#eaf0ff}
.ai-experience-inner {display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}
.ai-case-link {display:flex;flex-direction:column;gap:24px;border-radius:16px;padding:40px;background:#1748c7;color:white;text-decoration:none;min-height:250px;justify-content:center}
.ai-case-link:hover {background:#11399f;color:white}
.ai-case-link>span {font-size:14px;line-height:1.5}
.ai-case-link strong {font-size:46px;letter-spacing:-.04em;font-weight:500}
@media(max-width:991px){.ai-section-heading,.ai-engineering-grid,.ai-fit-grid,.ai-experience-inner {gap:35px}.ai-timeline {grid-template-columns:1fr 1fr}.ai-usecase-grid h3 {font-size:24px}.ai-usecase-grid article {padding-right:20px}.ai-usecase-grid article+article {padding-left:20px}}
@media(max-width:640px){.tm-consulting-rich .tm-service-hero {padding-top:36px}.tm-consulting-rich .tm-service-hero h1 {font-size:3rem}.tm-consulting-rich .tm-service-section {padding:52px 0}.ai-section-heading,.ai-engineering-grid,.ai-fit-grid,.ai-experience-inner {grid-template-columns:1fr;gap:20px}.ai-section-heading {margin-bottom:28px}.ai-usecase-grid,.ai-output-grid,.ai-timeline {grid-template-columns:1fr}.ai-usecase-grid article,.ai-usecase-grid article+article {border-left:0;padding:28px 0}.ai-usecase-grid article+article {border-top:1px solid #cbd3e2}.ai-usecase-grid h3 {margin-top:18px}.ai-output-grid article {padding:26px}.ai-output-grid h3 {font-size:25px}.ai-timeline {margin-top:30px;gap:24px}.ai-timeline h3 {margin-top:14px}.ai-terms {border-left:0;border-top:1px solid #cbd3e2;padding:30px 0 0}.ai-case-link {padding:30px;min-height:210px}}

.tm-consulting-rich .sticky-cta-bar {display:none!important}
/* Full consulting capability narrative. */
.ai-architecture {background:#edf2fc}
.ai-stack {background:#13213d;border-radius:18px;padding:12px 40px;color:white;box-shadow:0 24px 60px #152c5b1a}
.ai-stack-row {display:grid;grid-template-columns:160px 1fr 1.4fr;gap:30px;align-items:center;padding:32px 0;border-bottom:1px solid #ffffff25}
.ai-stack-row:last-child {border:0}
.ai-stack-row>span {font-size:12px;letter-spacing:.06em;color:#9fbeff}
.ai-stack-row h3 {color:white;font-size:26px;letter-spacing:-.02em;margin:0}
.ai-stack-row p {font-size:16px;line-height:1.65;color:#c6d3e8;margin:0}
.ai-deep-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.ai-deep-grid article {border-top:3px solid #1748c7;padding-top:28px}
.ai-deep-grid h3,.ai-threat-grid h3,.ai-entry-grid h3 {font-size:26px;line-height:1.15;letter-spacing:-.025em;margin:0 0 20px}
.ai-deep-grid p,.ai-deep-grid li,.ai-threat-grid p,.ai-entry-grid p,.ai-operating-list p,.ai-operations-layout>div>p,.ai-eval-note p {font-size:17px;line-height:1.65;color:#555d6d}
.ai-deep-grid ul {padding-left:20px;margin:24px 0 0}
.ai-deep-grid li {padding:5px 0}
.ai-evaluation {background:#f5f7fb}
.ai-evaluation-board {border:1px solid #ccd6e7;border-radius:14px;overflow:hidden;background:white}
.ai-board-heading {display:flex;justify-content:space-between;gap:20px;background:#1748c7;color:white;padding:22px 30px;font-size:12px;letter-spacing:.06em}
.ai-eval-row {display:grid;grid-template-columns:.8fr 1fr 1.7fr;gap:35px;padding:28px 30px;border-bottom:1px solid #dce3ef;align-items:start}
.ai-eval-row:last-child {border:0}
.ai-eval-row h3 {font-size:22px;margin:0;color:#1748c7}
.ai-eval-row p {font-size:16px;line-height:1.6;margin:0;color:#555d6d}
.ai-eval-row p:first-of-type {color:#101a32;font-weight:500}
.ai-eval-note {display:grid;grid-template-columns:1fr 2fr;gap:45px;border-left:3px solid #1748c7;margin-top:32px;padding-left:26px}
.ai-eval-note h3 {font-size:23px;margin:0}
.ai-eval-note p {margin:0}
.ai-threat-grid {display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #ccd6e7}
.ai-threat-grid article {padding:35px 40px 35px 0;border-bottom:1px solid #ccd6e7}
.ai-threat-grid article:nth-child(even) {border-left:1px solid #ccd6e7;padding-left:40px}
.ai-threat-grid article>span {font-size:12px;letter-spacing:.08em;color:#1748c7;display:block;margin-bottom:22px}
.ai-threat-grid p {margin-bottom:0}
.ai-operations {background:#101a32;color:white}
.ai-operations-layout {display:grid;grid-template-columns:1fr 1fr;gap:85px}
.ai-operations h2,.ai-operations h3 {color:white}
.ai-operations .tm-eyebrow {color:#a4c2ff}
.ai-operations-layout>div>p,.ai-operating-list p {color:#c6d3e8}
.ai-operating-list article {padding:0 0 23px;margin-bottom:23px;border-bottom:1px solid #ffffff25}
.ai-operating-list article:last-child {margin-bottom:0;padding-bottom:0;border:0}
.ai-operating-list h3 {font-size:23px;margin:0 0 12px}
.ai-operating-list p {margin:0;font-size:16px}
.ai-entry {background:#edf2fc}
.ai-entry-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ai-entry-grid article {background:white;padding:32px;border-radius:12px;display:flex;flex-direction:column}
.ai-entry-grid article>span {color:#1748c7;font-size:12px;letter-spacing:.08em;margin-bottom:30px}
.ai-entry-grid .ai-entry-output {margin-top:auto;border-top:1px solid #dce3ef;padding-top:22px;font-size:14px;color:#1748c7}
@media(max-width:991px){.ai-stack-row {grid-template-columns:120px 1fr;gap:20px}.ai-stack-row p {grid-column:2}.ai-deep-grid {gap:24px}.ai-deep-grid h3,.ai-entry-grid h3 {font-size:23px}.ai-entry-grid article {padding:24px}.ai-operations-layout {gap:35px}}
@media(max-width:640px){.ai-stack {padding:4px 24px}.ai-stack-row {grid-template-columns:1fr;gap:16px;padding:28px 0}.ai-stack-row p {grid-column:auto}.ai-stack-row h3 {font-size:25px}.ai-deep-grid,.ai-entry-grid,.ai-operations-layout {grid-template-columns:1fr;gap:30px}.ai-board-heading {flex-direction:column;padding:22px;gap:12px}.ai-eval-row {grid-template-columns:1fr;gap:14px;padding:26px 22px}.ai-eval-note {grid-template-columns:1fr;gap:14px}.ai-threat-grid {grid-template-columns:1fr}.ai-threat-grid article,.ai-threat-grid article:nth-child(even) {padding:28px 0;border-left:0}.ai-entry-grid article {padding:28px}.ai-entry-grid .ai-entry-output {margin-top:16px}}
/* Expanded service pages: service-specific scope in the main reading flow. */
.tm-service-expanded .tm-service-hero {background:linear-gradient(120deg,#eef3ff,#fff 75%);padding-top:70px}
.tm-service-expanded .tm-service-hero h1 {font-size:clamp(2.8rem,4.8vw,4.4rem);line-height:1.05;letter-spacing:-.05em}
.tm-service-expanded .tm-service-section {padding:88px 0}
.tm-service-expanded h2 {font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.1;letter-spacing:-.04em;margin:0 0 20px}
.tm-service-expanded .ai-section-heading p,.sx-experience p {font-size:18px;line-height:1.65;color:#555d6d}
.tm-service-expanded .sticky-cta-bar {display:none!important}
.sx-roadmap {display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.sx-roadmap article {border-top:2px solid #1748c7;padding-top:22px}
.sx-roadmap article>span,.sx-scope-grid article>span {font-size:12px;color:#1748c7;letter-spacing:.07em;display:block;margin-bottom:24px}
.sx-roadmap h3 {font-size:23px;line-height:1.2;letter-spacing:-.02em;margin:0 0 16px}
.sx-roadmap p,.sx-scope-grid p,.sx-depth-grid p,.sx-ready-grid p {font-size:17px;line-height:1.65;color:#555d6d;margin:0}
.sx-scope {background:#f1f4fb}
.sx-scope-grid {display:grid;grid-template-columns:1fr 1fr;gap:24px}
.sx-scope-grid article {background:white;border:1px solid #dce3ef;border-radius:12px;padding:36px}
.sx-scope-grid h3 {font-size:29px;line-height:1.14;letter-spacing:-.03em;margin:0 0 20px}
.sx-system .ai-stack-row {grid-template-columns:140px 1fr 1.3fr}
.sx-depth {background:#101a32;color:white}
.sx-depth h2,.sx-depth h3 {color:white}
.sx-depth .tm-eyebrow {color:#9fbeff}
.sx-depth .ai-section-heading p,.sx-depth-grid p {color:#c6d3e8}
.sx-depth-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.sx-depth-grid article {border-top:1px solid #ffffff40;padding-top:28px}
.sx-depth-grid h3,.sx-ready-grid h3 {font-size:25px;line-height:1.2;letter-spacing:-.02em;margin:0 0 18px}
.sx-ready-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.sx-ready-grid article {border-top:2px solid #1748c7;padding-top:28px}
.sx-experience {background:#eaf0ff}
.sx-review-link {background:#f5f7fb}
@media(max-width:991px){.sx-roadmap {grid-template-columns:1fr 1fr}.sx-depth-grid,.sx-ready-grid {gap:24px}.sx-system .ai-stack-row {grid-template-columns:120px 1fr}.sx-system .ai-stack-row p {grid-column:2}}
@media(max-width:640px){.tm-service-expanded .tm-service-hero {padding-top:36px}.tm-service-expanded .tm-service-hero h1 {font-size:2.8rem}.tm-service-expanded .tm-service-section {padding:52px 0}.sx-roadmap,.sx-scope-grid,.sx-depth-grid,.sx-ready-grid {grid-template-columns:1fr;gap:28px}.sx-scope-grid article {padding:26px}.sx-scope-grid h3 {font-size:26px}.sx-system .ai-stack-row {grid-template-columns:1fr}.sx-system .ai-stack-row p {grid-column:auto}}
.tm-service-expanded .tm-service-visual {border:0;background:transparent;box-shadow:none}
.tm-service-expanded .tm-service-visual img {border-radius:18px;box-shadow:0 24px 60px #152c5b25}
.tm-service-expanded .ai-section-heading>* {min-width:0}
.tm-service-expanded h1,.tm-service-expanded h2,.tm-service-expanded h3 {overflow-wrap:anywhere}
