.elementor-1188 .elementor-element.elementor-element-9580b56{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1188 .elementor-element.elementor-element-e0c8f50{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1188 .elementor-element.elementor-element-325faef{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1188 .elementor-element.elementor-element-c303f67{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1188 .elementor-element.elementor-element-3df2248{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1188 .elementor-element.elementor-element-81c20fd{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1188 .elementor-element.elementor-element-a5a21b0{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1188 .elementor-element.elementor-element-931f87b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1188 .elementor-element.elementor-element-4ec97b1{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-2146e04 */@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap");

/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --navy:   #0e1f38;
  --blue:   #1f5fa6;
  --orange: #d95f25;
  --orange-l:#f07030;
  --paper:  #ffffff;
  --off:    #f4f6f9;
  --line:   #dce3eb;
  --text:   #1a2535;
  --mid:    #506070;
  --soft:   #8898a8;
  --cyan:   #2a7a96;
  --bp:     rgba(31,95,166,0.055);
  --bpb:    rgba(31,95,166,0.12);
}

/* ─── RESET ──────────────────────────────────────────── */
/* Scoped reset — only affects our TTI content */
.tti-ph *, .tti-process *, .tti-svc *, .tti-stds *, .tti-cta * {
  box-sizing: border-box;
}
.tti-ph, .tti-process, .tti-svc, .tti-stds, .tti-cta {
  font-family: 'Inter', sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.tti-svc a, .tti-ph a, .tti-cta a { text-decoration: none; color: inherit; }
.tti-svc img, .tti-ph img { display: block; max-width: 100%; }
.tti-wrap { max-width:1200px; margin:0 auto; padding:0 40px; }

/* ─── BLUEPRINT GRID ─────────────────────────────────── */
.tti-bp { position:relative; }
.tti-bp::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(var(--bpb) 1px, transparent 1px),
    linear-gradient(90deg, var(--bpb) 1px, transparent 1px),
    linear-gradient(var(--bp) 1px, transparent 1px),
    linear-gradient(90deg, var(--bp) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px;
}
.tti-bp > * { position:relative; z-index:1; }

/* ─── PAGE HERO ──────────────────────────────────────── */
.tti-ph {
  padding:72px 0 60px;
  background:var(--off);
  border-bottom:1px solid var(--line);
}
.tti-ph-tag {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.14em;
  margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.tti-ph-tag::before { content:''; width:24px; height:1.5px; background:var(--orange); }
.tti-ph h1 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(32px,4vw,48px); color:var(--navy);
  margin-bottom:14px; line-height:1.1;
}
.tti-ph p { font-size:17px; color:var(--mid); max-width:620px; }

/* ─── PROCESS FLOW ───────────────────────────────────── */
.tti-process {
  padding:56px 0;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.tti-process-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.12em; margin-bottom:32px;
  display:flex; align-items:center; gap:10px;
}
.tti-process-label::before { content:''; flex:1; height:1px; background:var(--line); }
.tti-process-label::after  { content:''; flex:1; height:1px; background:var(--line); }
.tti-steps {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:0; position:relative;
}
.tti-steps::before {
  content:''; position:absolute; top:28px; left:10%; right:10%;
  height:1px; background:linear-gradient(90deg, transparent, var(--line), var(--line), transparent);
}
.tti-step { text-align:center; padding:0 12px; }
.tti-step-num {
  width:56px; height:56px; margin:0 auto 14px;
  border:2px solid var(--orange); border-radius:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:18px;
  color:var(--orange); background:#fff; position:relative; z-index:1;
}
.tti-step h4 { font-size:13.5px; font-weight:700; color:var(--navy); margin-bottom:5px; }
.tti-step p  { font-size:12px; color:var(--soft); }

/* ─── SERVICE SECTIONS ───────────────────────────────── */
.tti-svc {
  padding:80px 0;
  border-bottom:1px solid var(--line);
}
.tti-svc:nth-child(even) { background:var(--off); }
.tti-svc:nth-child(odd)  { background:#fff; }

.tti-svc-layout {
  display:grid; grid-template-columns:1fr 1fr;
  gap:72px; align-items:start;
}
.tti-svc-layout.rev { direction:rtl; }
.tti-svc-layout.rev > * { direction:ltr; }

.tti-svc-num {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.1em; margin-bottom:12px;
}
.tti-svc h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(24px,2.6vw,32px); color:var(--navy);
  margin-bottom:18px; line-height:1.15;
}
.tti-svc p { font-size:15.5px; color:var(--mid); margin-bottom:14px; line-height:1.7; }

/* Deliverables / bullet list */
.tti-dl-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--navy);
  text-transform:uppercase; letter-spacing:0.1em;
  margin:20px 0 10px; padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.tti-dl { list-style:none; margin-bottom:20px; }
.tti-dl li {
  font-size:14px; color:var(--mid); padding:8px 0;
  border-bottom:1px solid rgba(220,227,235,0.5);
  display:flex; align-items:flex-start; gap:10px;
}
.tti-dl li::before { content:'→'; color:var(--orange); flex-shrink:0; font-size:12px; margin-top:1px; }

/* Code tags */
.tti-codes { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.tti-code {
  font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--cyan);
  border:1px solid var(--line); padding:5px 11px;
  background:#fff;
}

/* Download button */
.tti-dl-btn {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:20px; padding:12px 22px;
  background:var(--navy); color:#fff;
  font-family:'IBM Plex Mono'; font-size:12px;
  text-transform:uppercase; letter-spacing:0.08em;
  transition:background .2s;
}
.tti-dl-btn:hover { background:var(--blue); }
.tti-dl-btn::before { content:'↓'; font-size:14px; }

/* External link */
.tti-ext-link {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:16px; font-family:'IBM Plex Mono'; font-size:12px;
  color:var(--blue); border-bottom:1px solid var(--line);
  padding-bottom:2px; transition:color .2s, border-color .2s;
}
.tti-ext-link:hover { color:var(--orange); border-color:var(--orange); }
.tti-ext-link::after { content:'↗'; font-size:11px; }

/* ─── DIAGRAM PANELS ─────────────────────────────────── */
.tti-diag {
  background:var(--off); border:1px solid var(--line);
  padding:4px; position:relative;
}
.tti-diag::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--bp) 1px,transparent 1px),linear-gradient(90deg,var(--bp) 1px,transparent 1px);
  background-size:24px 24px;
}
.tti-diag img { width:100%; display:block; position:relative; z-index:1; }
.tti-diag svg { width:100%; display:block; position:relative; z-index:1; }
.tti-diag-cap {
  font-family:'IBM Plex Mono'; font-size:9.5px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.08em;
  padding:10px 4px 4px; position:relative; z-index:1;
  border-top:1px solid var(--line);
}

/* Video embed */
.tti-video {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  background:var(--navy);
}
.tti-video iframe {
  position:absolute; top:0; left:0; width:100%; height:100%;
  border:none;
}

/* ─── STANDARDS BAR ──────────────────────────────────── */
.tti-stds { background:var(--navy); overflow-x:auto; }
.tti-stds-inner { display:flex; min-width:max-content; }
.tti-stds-lbl {
  background:rgba(0,0,0,0.25); padding:18px 24px;
  font-family:'IBM Plex Mono'; font-size:10px;
  color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em;
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex; align-items:center; white-space:nowrap;
}
.tti-std {
  padding:18px 22px; border-right:1px solid rgba(255,255,255,0.08);
  font-family:'IBM Plex Mono'; font-size:13px; color:#fff;
  display:flex; align-items:center; white-space:nowrap;
  transition:color .2s;
}
.tti-std:hover { color:var(--orange-l); }

/* ─── CTA STRIP ──────────────────────────────────────── */
.tti-cta { background:var(--navy); padding:64px 0; }
.tti-cta-inner {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
}
.tti-cta h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(20px,2.4vw,28px); color:#fff;
}
.tti-cta p { color:rgba(255,255,255,0.6); margin-top:6px; font-size:15px; }
.tti-btn-orange {
  background:var(--orange); color:#fff;
  padding:14px 28px; font-weight:600; font-size:14px;
  border-radius:2px; transition:background .2s; white-space:nowrap;
}
.tti-btn-orange:hover { background:var(--orange-l); }

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:900px) {
  .tti-svc-layout, .tti-svc-layout.rev { grid-template-columns:1fr; direction:ltr; }
  .tti-steps { grid-template-columns:1fr 1fr; gap:24px; }
  .tti-steps::before { display:none; }
  .tti-wrap { padding:0 20px; }
}
@media (max-width:560px) {
  .tti-steps { grid-template-columns:1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2ced1f2 */@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap");

/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --navy:   #0e1f38;
  --blue:   #1f5fa6;
  --orange: #d95f25;
  --orange-l:#f07030;
  --paper:  #ffffff;
  --off:    #f4f6f9;
  --line:   #dce3eb;
  --text:   #1a2535;
  --mid:    #506070;
  --soft:   #8898a8;
  --cyan:   #2a7a96;
  --bp:     rgba(31,95,166,0.055);
  --bpb:    rgba(31,95,166,0.12);
}

/* ─── RESET ──────────────────────────────────────────── */
/* Scoped reset — only affects our TTI content */
.tti-ph *, .tti-process *, .tti-svc *, .tti-stds *, .tti-cta * {
  box-sizing: border-box;
}
.tti-ph, .tti-process, .tti-svc, .tti-stds, .tti-cta {
  font-family: 'Inter', sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.tti-svc a, .tti-ph a, .tti-cta a { text-decoration: none; color: inherit; }
.tti-svc img, .tti-ph img { display: block; max-width: 100%; }
.tti-wrap { max-width:1200px; margin:0 auto; padding:0 40px; }

/* ─── BLUEPRINT GRID ─────────────────────────────────── */
.tti-bp { position:relative; }
.tti-bp::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(var(--bpb) 1px, transparent 1px),
    linear-gradient(90deg, var(--bpb) 1px, transparent 1px),
    linear-gradient(var(--bp) 1px, transparent 1px),
    linear-gradient(90deg, var(--bp) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px;
}
.tti-bp > * { position:relative; z-index:1; }

/* ─── PAGE HERO ──────────────────────────────────────── */
.tti-ph {
  padding:72px 0 60px;
  background:var(--off);
  border-bottom:1px solid var(--line);
}
.tti-ph-tag {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.14em;
  margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.tti-ph-tag::before { content:''; width:24px; height:1.5px; background:var(--orange); }
.tti-ph h1 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(32px,4vw,48px); color:var(--navy);
  margin-bottom:14px; line-height:1.1;
}
.tti-ph p { font-size:17px; color:var(--mid); max-width:620px; }

/* ─── PROCESS FLOW ───────────────────────────────────── */
.tti-process {
  padding:56px 0;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.tti-process-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.12em; margin-bottom:32px;
  display:flex; align-items:center; gap:10px;
}
.tti-process-label::before { content:''; flex:1; height:1px; background:var(--line); }
.tti-process-label::after  { content:''; flex:1; height:1px; background:var(--line); }
.tti-steps {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:0; position:relative;
}
.tti-steps::before {
  content:''; position:absolute; top:28px; left:10%; right:10%;
  height:1px; background:linear-gradient(90deg, transparent, var(--line), var(--line), transparent);
}
.tti-step { text-align:center; padding:0 12px; }
.tti-step-num {
  width:56px; height:56px; margin:0 auto 14px;
  border:2px solid var(--orange); border-radius:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:18px;
  color:var(--orange); background:#fff; position:relative; z-index:1;
}
.tti-step h4 { font-size:13.5px; font-weight:700; color:var(--navy); margin-bottom:5px; }
.tti-step p  { font-size:12px; color:var(--soft); }

/* ─── SERVICE SECTIONS ───────────────────────────────── */
.tti-svc {
  padding:80px 0;
  border-bottom:1px solid var(--line);
}
.tti-svc:nth-child(even) { background:var(--off); }
.tti-svc:nth-child(odd)  { background:#fff; }

.tti-svc-layout {
  display:grid; grid-template-columns:1fr 1fr;
  gap:72px; align-items:start;
}
.tti-svc-layout.rev { direction:rtl; }
.tti-svc-layout.rev > * { direction:ltr; }

.tti-svc-num {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.1em; margin-bottom:12px;
}
.tti-svc h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(24px,2.6vw,32px); color:var(--navy);
  margin-bottom:18px; line-height:1.15;
}
.tti-svc p { font-size:15.5px; color:var(--mid); margin-bottom:14px; line-height:1.7; }

/* Deliverables / bullet list */
.tti-dl-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--navy);
  text-transform:uppercase; letter-spacing:0.1em;
  margin:20px 0 10px; padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.tti-dl { list-style:none; margin-bottom:20px; }
.tti-dl li {
  font-size:14px; color:var(--mid); padding:8px 0;
  border-bottom:1px solid rgba(220,227,235,0.5);
  display:flex; align-items:flex-start; gap:10px;
}
.tti-dl li::before { content:'→'; color:var(--orange); flex-shrink:0; font-size:12px; margin-top:1px; }

/* Code tags */
.tti-codes { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.tti-code {
  font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--cyan);
  border:1px solid var(--line); padding:5px 11px;
  background:#fff;
}

/* Download button */
.tti-dl-btn {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:20px; padding:12px 22px;
  background:var(--navy); color:#fff;
  font-family:'IBM Plex Mono'; font-size:12px;
  text-transform:uppercase; letter-spacing:0.08em;
  transition:background .2s;
}
.tti-dl-btn:hover { background:var(--blue); }
.tti-dl-btn::before { content:'↓'; font-size:14px; }

/* External link */
.tti-ext-link {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:16px; font-family:'IBM Plex Mono'; font-size:12px;
  color:var(--blue); border-bottom:1px solid var(--line);
  padding-bottom:2px; transition:color .2s, border-color .2s;
}
.tti-ext-link:hover { color:var(--orange); border-color:var(--orange); }
.tti-ext-link::after { content:'↗'; font-size:11px; }

/* ─── DIAGRAM PANELS ─────────────────────────────────── */
.tti-diag {
  background:var(--off); border:1px solid var(--line);
  padding:4px; position:relative;
}
.tti-diag::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--bp) 1px,transparent 1px),linear-gradient(90deg,var(--bp) 1px,transparent 1px);
  background-size:24px 24px;
}
.tti-diag img { width:100%; display:block; position:relative; z-index:1; }
.tti-diag svg { width:100%; display:block; position:relative; z-index:1; }
.tti-diag-cap {
  font-family:'IBM Plex Mono'; font-size:9.5px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.08em;
  padding:10px 4px 4px; position:relative; z-index:1;
  border-top:1px solid var(--line);
}

/* Video embed */
.tti-video {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  background:var(--navy);
}
.tti-video iframe {
  position:absolute; top:0; left:0; width:100%; height:100%;
  border:none;
}

/* ─── STANDARDS BAR ──────────────────────────────────── */
.tti-stds { background:var(--navy); overflow-x:auto; }
.tti-stds-inner { display:flex; min-width:max-content; }
.tti-stds-lbl {
  background:rgba(0,0,0,0.25); padding:18px 24px;
  font-family:'IBM Plex Mono'; font-size:10px;
  color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em;
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex; align-items:center; white-space:nowrap;
}
.tti-std {
  padding:18px 22px; border-right:1px solid rgba(255,255,255,0.08);
  font-family:'IBM Plex Mono'; font-size:13px; color:#fff;
  display:flex; align-items:center; white-space:nowrap;
  transition:color .2s;
}
.tti-std:hover { color:var(--orange-l); }

/* ─── CTA STRIP ──────────────────────────────────────── */
.tti-cta { background:var(--navy); padding:64px 0; }
.tti-cta-inner {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
}
.tti-cta h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(20px,2.4vw,28px); color:#fff;
}
.tti-cta p { color:rgba(255,255,255,0.6); margin-top:6px; font-size:15px; }
.tti-btn-orange {
  background:var(--orange); color:#fff;
  padding:14px 28px; font-weight:600; font-size:14px;
  border-radius:2px; transition:background .2s; white-space:nowrap;
}
.tti-btn-orange:hover { background:var(--orange-l); }

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:900px) {
  .tti-svc-layout, .tti-svc-layout.rev { grid-template-columns:1fr; direction:ltr; }
  .tti-steps { grid-template-columns:1fr 1fr; gap:24px; }
  .tti-steps::before { display:none; }
  .tti-wrap { padding:0 20px; }
}
@media (max-width:560px) {
  .tti-steps { grid-template-columns:1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-9aa4dc6 */@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap");

/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --navy:   #0e1f38;
  --blue:   #1f5fa6;
  --orange: #d95f25;
  --orange-l:#f07030;
  --paper:  #ffffff;
  --off:    #f4f6f9;
  --line:   #dce3eb;
  --text:   #1a2535;
  --mid:    #506070;
  --soft:   #8898a8;
  --cyan:   #2a7a96;
  --bp:     rgba(31,95,166,0.055);
  --bpb:    rgba(31,95,166,0.12);
}

/* ─── RESET ──────────────────────────────────────────── */
/* Scoped reset — only affects our TTI content */
.tti-ph *, .tti-process *, .tti-svc *, .tti-stds *, .tti-cta * {
  box-sizing: border-box;
}
.tti-ph, .tti-process, .tti-svc, .tti-stds, .tti-cta {
  font-family: 'Inter', sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.tti-svc a, .tti-ph a, .tti-cta a { text-decoration: none; color: inherit; }
.tti-svc img, .tti-ph img { display: block; max-width: 100%; }
.tti-wrap { max-width:1200px; margin:0 auto; padding:0 40px; }

/* ─── BLUEPRINT GRID ─────────────────────────────────── */
.tti-bp { position:relative; }
.tti-bp::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(var(--bpb) 1px, transparent 1px),
    linear-gradient(90deg, var(--bpb) 1px, transparent 1px),
    linear-gradient(var(--bp) 1px, transparent 1px),
    linear-gradient(90deg, var(--bp) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px;
}
.tti-bp > * { position:relative; z-index:1; }

/* ─── PAGE HERO ──────────────────────────────────────── */
.tti-ph {
  padding:72px 0 60px;
  background:var(--off);
  border-bottom:1px solid var(--line);
}
.tti-ph-tag {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.14em;
  margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.tti-ph-tag::before { content:''; width:24px; height:1.5px; background:var(--orange); }
.tti-ph h1 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(32px,4vw,48px); color:var(--navy);
  margin-bottom:14px; line-height:1.1;
}
.tti-ph p { font-size:17px; color:var(--mid); max-width:620px; }

/* ─── PROCESS FLOW ───────────────────────────────────── */
.tti-process {
  padding:56px 0;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.tti-process-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.12em; margin-bottom:32px;
  display:flex; align-items:center; gap:10px;
}
.tti-process-label::before { content:''; flex:1; height:1px; background:var(--line); }
.tti-process-label::after  { content:''; flex:1; height:1px; background:var(--line); }
.tti-steps {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:0; position:relative;
}
.tti-steps::before {
  content:''; position:absolute; top:28px; left:10%; right:10%;
  height:1px; background:linear-gradient(90deg, transparent, var(--line), var(--line), transparent);
}
.tti-step { text-align:center; padding:0 12px; }
.tti-step-num {
  width:56px; height:56px; margin:0 auto 14px;
  border:2px solid var(--orange); border-radius:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:18px;
  color:var(--orange); background:#fff; position:relative; z-index:1;
}
.tti-step h4 { font-size:13.5px; font-weight:700; color:var(--navy); margin-bottom:5px; }
.tti-step p  { font-size:12px; color:var(--soft); }

/* ─── SERVICE SECTIONS ───────────────────────────────── */
.tti-svc {
  padding:80px 0;
  border-bottom:1px solid var(--line);
}
.tti-svc:nth-child(even) { background:var(--off); }
.tti-svc:nth-child(odd)  { background:#fff; }

.tti-svc-layout {
  display:grid; grid-template-columns:1fr 1fr;
  gap:72px; align-items:start;
}
.tti-svc-layout.rev { direction:rtl; }
.tti-svc-layout.rev > * { direction:ltr; }

.tti-svc-num {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.1em; margin-bottom:12px;
}
.tti-svc h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(24px,2.6vw,32px); color:var(--navy);
  margin-bottom:18px; line-height:1.15;
}
.tti-svc p { font-size:15.5px; color:var(--mid); margin-bottom:14px; line-height:1.7; }

/* Deliverables / bullet list */
.tti-dl-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--navy);
  text-transform:uppercase; letter-spacing:0.1em;
  margin:20px 0 10px; padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.tti-dl { list-style:none; margin-bottom:20px; }
.tti-dl li {
  font-size:14px; color:var(--mid); padding:8px 0;
  border-bottom:1px solid rgba(220,227,235,0.5);
  display:flex; align-items:flex-start; gap:10px;
}
.tti-dl li::before { content:'→'; color:var(--orange); flex-shrink:0; font-size:12px; margin-top:1px; }

/* Code tags */
.tti-codes { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.tti-code {
  font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--cyan);
  border:1px solid var(--line); padding:5px 11px;
  background:#fff;
}

/* Download button */
.tti-dl-btn {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:20px; padding:12px 22px;
  background:var(--navy); color:#fff;
  font-family:'IBM Plex Mono'; font-size:12px;
  text-transform:uppercase; letter-spacing:0.08em;
  transition:background .2s;
}
.tti-dl-btn:hover { background:var(--blue); }
.tti-dl-btn::before { content:'↓'; font-size:14px; }

/* External link */
.tti-ext-link {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:16px; font-family:'IBM Plex Mono'; font-size:12px;
  color:var(--blue); border-bottom:1px solid var(--line);
  padding-bottom:2px; transition:color .2s, border-color .2s;
}
.tti-ext-link:hover { color:var(--orange); border-color:var(--orange); }
.tti-ext-link::after { content:'↗'; font-size:11px; }

/* ─── DIAGRAM PANELS ─────────────────────────────────── */
.tti-diag {
  background:var(--off); border:1px solid var(--line);
  padding:4px; position:relative;
}
.tti-diag::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--bp) 1px,transparent 1px),linear-gradient(90deg,var(--bp) 1px,transparent 1px);
  background-size:24px 24px;
}
.tti-diag img { width:100%; display:block; position:relative; z-index:1; }
.tti-diag svg { width:100%; display:block; position:relative; z-index:1; }
.tti-diag-cap {
  font-family:'IBM Plex Mono'; font-size:9.5px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.08em;
  padding:10px 4px 4px; position:relative; z-index:1;
  border-top:1px solid var(--line);
}

/* Video embed */
.tti-video {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  background:var(--navy);
}
.tti-video iframe {
  position:absolute; top:0; left:0; width:100%; height:100%;
  border:none;
}

/* ─── STANDARDS BAR ──────────────────────────────────── */
.tti-stds { background:var(--navy); overflow-x:auto; }
.tti-stds-inner { display:flex; min-width:max-content; }
.tti-stds-lbl {
  background:rgba(0,0,0,0.25); padding:18px 24px;
  font-family:'IBM Plex Mono'; font-size:10px;
  color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em;
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex; align-items:center; white-space:nowrap;
}
.tti-std {
  padding:18px 22px; border-right:1px solid rgba(255,255,255,0.08);
  font-family:'IBM Plex Mono'; font-size:13px; color:#fff;
  display:flex; align-items:center; white-space:nowrap;
  transition:color .2s;
}
.tti-std:hover { color:var(--orange-l); }

/* ─── CTA STRIP ──────────────────────────────────────── */
.tti-cta { background:var(--navy); padding:64px 0; }
.tti-cta-inner {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
}
.tti-cta h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(20px,2.4vw,28px); color:#fff;
}
.tti-cta p { color:rgba(255,255,255,0.6); margin-top:6px; font-size:15px; }
.tti-btn-orange {
  background:var(--orange); color:#fff;
  padding:14px 28px; font-weight:600; font-size:14px;
  border-radius:2px; transition:background .2s; white-space:nowrap;
}
.tti-btn-orange:hover { background:var(--orange-l); }

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:900px) {
  .tti-svc-layout, .tti-svc-layout.rev { grid-template-columns:1fr; direction:ltr; }
  .tti-steps { grid-template-columns:1fr 1fr; gap:24px; }
  .tti-steps::before { display:none; }
  .tti-wrap { padding:0 20px; }
}
@media (max-width:560px) {
  .tti-steps { grid-template-columns:1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1d89032 */@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap");

/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --navy:   #0e1f38;
  --blue:   #1f5fa6;
  --orange: #d95f25;
  --orange-l:#f07030;
  --paper:  #ffffff;
  --off:    #f4f6f9;
  --line:   #dce3eb;
  --text:   #1a2535;
  --mid:    #506070;
  --soft:   #8898a8;
  --cyan:   #2a7a96;
  --bp:     rgba(31,95,166,0.055);
  --bpb:    rgba(31,95,166,0.12);
}

/* ─── RESET ──────────────────────────────────────────── */
/* Scoped reset — only affects our TTI content */
.tti-ph *, .tti-process *, .tti-svc *, .tti-stds *, .tti-cta * {
  box-sizing: border-box;
}
.tti-ph, .tti-process, .tti-svc, .tti-stds, .tti-cta {
  font-family: 'Inter', sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.tti-svc a, .tti-ph a, .tti-cta a { text-decoration: none; color: inherit; }
.tti-svc img, .tti-ph img { display: block; max-width: 100%; }
.tti-wrap { max-width:1200px; margin:0 auto; padding:0 40px; }

/* ─── BLUEPRINT GRID ─────────────────────────────────── */
.tti-bp { position:relative; }
.tti-bp::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(var(--bpb) 1px, transparent 1px),
    linear-gradient(90deg, var(--bpb) 1px, transparent 1px),
    linear-gradient(var(--bp) 1px, transparent 1px),
    linear-gradient(90deg, var(--bp) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px;
}
.tti-bp > * { position:relative; z-index:1; }

/* ─── PAGE HERO ──────────────────────────────────────── */
.tti-ph {
  padding:72px 0 60px;
  background:var(--off);
  border-bottom:1px solid var(--line);
}
.tti-ph-tag {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.14em;
  margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.tti-ph-tag::before { content:''; width:24px; height:1.5px; background:var(--orange); }
.tti-ph h1 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(32px,4vw,48px); color:var(--navy);
  margin-bottom:14px; line-height:1.1;
}
.tti-ph p { font-size:17px; color:var(--mid); max-width:620px; }

/* ─── PROCESS FLOW ───────────────────────────────────── */
.tti-process {
  padding:56px 0;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.tti-process-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.12em; margin-bottom:32px;
  display:flex; align-items:center; gap:10px;
}
.tti-process-label::before { content:''; flex:1; height:1px; background:var(--line); }
.tti-process-label::after  { content:''; flex:1; height:1px; background:var(--line); }
.tti-steps {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:0; position:relative;
}
.tti-steps::before {
  content:''; position:absolute; top:28px; left:10%; right:10%;
  height:1px; background:linear-gradient(90deg, transparent, var(--line), var(--line), transparent);
}
.tti-step { text-align:center; padding:0 12px; }
.tti-step-num {
  width:56px; height:56px; margin:0 auto 14px;
  border:2px solid var(--orange); border-radius:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:18px;
  color:var(--orange); background:#fff; position:relative; z-index:1;
}
.tti-step h4 { font-size:13.5px; font-weight:700; color:var(--navy); margin-bottom:5px; }
.tti-step p  { font-size:12px; color:var(--soft); }

/* ─── SERVICE SECTIONS ───────────────────────────────── */
.tti-svc {
  padding:80px 0;
  border-bottom:1px solid var(--line);
}
.tti-svc:nth-child(even) { background:var(--off); }
.tti-svc:nth-child(odd)  { background:#fff; }

.tti-svc-layout {
  display:grid; grid-template-columns:1fr 1fr;
  gap:72px; align-items:start;
}
.tti-svc-layout.rev { direction:rtl; }
.tti-svc-layout.rev > * { direction:ltr; }

.tti-svc-num {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.1em; margin-bottom:12px;
}
.tti-svc h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(24px,2.6vw,32px); color:var(--navy);
  margin-bottom:18px; line-height:1.15;
}
.tti-svc p { font-size:15.5px; color:var(--mid); margin-bottom:14px; line-height:1.7; }

/* Deliverables / bullet list */
.tti-dl-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--navy);
  text-transform:uppercase; letter-spacing:0.1em;
  margin:20px 0 10px; padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.tti-dl { list-style:none; margin-bottom:20px; }
.tti-dl li {
  font-size:14px; color:var(--mid); padding:8px 0;
  border-bottom:1px solid rgba(220,227,235,0.5);
  display:flex; align-items:flex-start; gap:10px;
}
.tti-dl li::before { content:'→'; color:var(--orange); flex-shrink:0; font-size:12px; margin-top:1px; }

/* Code tags */
.tti-codes { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.tti-code {
  font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--cyan);
  border:1px solid var(--line); padding:5px 11px;
  background:#fff;
}

/* Download button */
.tti-dl-btn {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:20px; padding:12px 22px;
  background:var(--navy); color:#fff;
  font-family:'IBM Plex Mono'; font-size:12px;
  text-transform:uppercase; letter-spacing:0.08em;
  transition:background .2s;
}
.tti-dl-btn:hover { background:var(--blue); }
.tti-dl-btn::before { content:'↓'; font-size:14px; }

/* External link */
.tti-ext-link {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:16px; font-family:'IBM Plex Mono'; font-size:12px;
  color:var(--blue); border-bottom:1px solid var(--line);
  padding-bottom:2px; transition:color .2s, border-color .2s;
}
.tti-ext-link:hover { color:var(--orange); border-color:var(--orange); }
.tti-ext-link::after { content:'↗'; font-size:11px; }

/* ─── DIAGRAM PANELS ─────────────────────────────────── */
.tti-diag {
  background:var(--off); border:1px solid var(--line);
  padding:4px; position:relative;
}
.tti-diag::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--bp) 1px,transparent 1px),linear-gradient(90deg,var(--bp) 1px,transparent 1px);
  background-size:24px 24px;
}
.tti-diag img { width:100%; display:block; position:relative; z-index:1; }
.tti-diag svg { width:100%; display:block; position:relative; z-index:1; }
.tti-diag-cap {
  font-family:'IBM Plex Mono'; font-size:9.5px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.08em;
  padding:10px 4px 4px; position:relative; z-index:1;
  border-top:1px solid var(--line);
}

/* Video embed */
.tti-video {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  background:var(--navy);
}
.tti-video iframe {
  position:absolute; top:0; left:0; width:100%; height:100%;
  border:none;
}

/* ─── STANDARDS BAR ──────────────────────────────────── */
.tti-stds { background:var(--navy); overflow-x:auto; }
.tti-stds-inner { display:flex; min-width:max-content; }
.tti-stds-lbl {
  background:rgba(0,0,0,0.25); padding:18px 24px;
  font-family:'IBM Plex Mono'; font-size:10px;
  color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em;
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex; align-items:center; white-space:nowrap;
}
.tti-std {
  padding:18px 22px; border-right:1px solid rgba(255,255,255,0.08);
  font-family:'IBM Plex Mono'; font-size:13px; color:#fff;
  display:flex; align-items:center; white-space:nowrap;
  transition:color .2s;
}
.tti-std:hover { color:var(--orange-l); }

/* ─── CTA STRIP ──────────────────────────────────────── */
.tti-cta { background:var(--navy); padding:64px 0; }
.tti-cta-inner {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
}
.tti-cta h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(20px,2.4vw,28px); color:#fff;
}
.tti-cta p { color:rgba(255,255,255,0.6); margin-top:6px; font-size:15px; }
.tti-btn-orange {
  background:var(--orange); color:#fff;
  padding:14px 28px; font-weight:600; font-size:14px;
  border-radius:2px; transition:background .2s; white-space:nowrap;
}
.tti-btn-orange:hover { background:var(--orange-l); }

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:900px) {
  .tti-svc-layout, .tti-svc-layout.rev { grid-template-columns:1fr; direction:ltr; }
  .tti-steps { grid-template-columns:1fr 1fr; gap:24px; }
  .tti-steps::before { display:none; }
  .tti-wrap { padding:0 20px; }
}
@media (max-width:560px) {
  .tti-steps { grid-template-columns:1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-19dd662 */@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap");

/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --navy:   #0e1f38;
  --blue:   #1f5fa6;
  --orange: #d95f25;
  --orange-l:#f07030;
  --paper:  #ffffff;
  --off:    #f4f6f9;
  --line:   #dce3eb;
  --text:   #1a2535;
  --mid:    #506070;
  --soft:   #8898a8;
  --cyan:   #2a7a96;
  --bp:     rgba(31,95,166,0.055);
  --bpb:    rgba(31,95,166,0.12);
}

/* ─── RESET ──────────────────────────────────────────── */
/* Scoped reset — only affects our TTI content */
.tti-ph *, .tti-process *, .tti-svc *, .tti-stds *, .tti-cta * {
  box-sizing: border-box;
}
.tti-ph, .tti-process, .tti-svc, .tti-stds, .tti-cta {
  font-family: 'Inter', sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.tti-svc a, .tti-ph a, .tti-cta a { text-decoration: none; color: inherit; }
.tti-svc img, .tti-ph img { display: block; max-width: 100%; }
.tti-wrap { max-width:1200px; margin:0 auto; padding:0 40px; }

/* ─── BLUEPRINT GRID ─────────────────────────────────── */
.tti-bp { position:relative; }
.tti-bp::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(var(--bpb) 1px, transparent 1px),
    linear-gradient(90deg, var(--bpb) 1px, transparent 1px),
    linear-gradient(var(--bp) 1px, transparent 1px),
    linear-gradient(90deg, var(--bp) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px;
}
.tti-bp > * { position:relative; z-index:1; }

/* ─── PAGE HERO ──────────────────────────────────────── */
.tti-ph {
  padding:72px 0 60px;
  background:var(--off);
  border-bottom:1px solid var(--line);
}
.tti-ph-tag {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.14em;
  margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.tti-ph-tag::before { content:''; width:24px; height:1.5px; background:var(--orange); }
.tti-ph h1 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(32px,4vw,48px); color:var(--navy);
  margin-bottom:14px; line-height:1.1;
}
.tti-ph p { font-size:17px; color:var(--mid); max-width:620px; }

/* ─── PROCESS FLOW ───────────────────────────────────── */
.tti-process {
  padding:56px 0;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.tti-process-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.12em; margin-bottom:32px;
  display:flex; align-items:center; gap:10px;
}
.tti-process-label::before { content:''; flex:1; height:1px; background:var(--line); }
.tti-process-label::after  { content:''; flex:1; height:1px; background:var(--line); }
.tti-steps {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:0; position:relative;
}
.tti-steps::before {
  content:''; position:absolute; top:28px; left:10%; right:10%;
  height:1px; background:linear-gradient(90deg, transparent, var(--line), var(--line), transparent);
}
.tti-step { text-align:center; padding:0 12px; }
.tti-step-num {
  width:56px; height:56px; margin:0 auto 14px;
  border:2px solid var(--orange); border-radius:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:18px;
  color:var(--orange); background:#fff; position:relative; z-index:1;
}
.tti-step h4 { font-size:13.5px; font-weight:700; color:var(--navy); margin-bottom:5px; }
.tti-step p  { font-size:12px; color:var(--soft); }

/* ─── SERVICE SECTIONS ───────────────────────────────── */
.tti-svc {
  padding:80px 0;
  border-bottom:1px solid var(--line);
}
.tti-svc:nth-child(even) { background:var(--off); }
.tti-svc:nth-child(odd)  { background:#fff; }

.tti-svc-layout {
  display:grid; grid-template-columns:1fr 1fr;
  gap:72px; align-items:start;
}
.tti-svc-layout.rev { direction:rtl; }
.tti-svc-layout.rev > * { direction:ltr; }

.tti-svc-num {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.1em; margin-bottom:12px;
}
.tti-svc h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(24px,2.6vw,32px); color:var(--navy);
  margin-bottom:18px; line-height:1.15;
}
.tti-svc p { font-size:15.5px; color:var(--mid); margin-bottom:14px; line-height:1.7; }

/* Deliverables / bullet list */
.tti-dl-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--navy);
  text-transform:uppercase; letter-spacing:0.1em;
  margin:20px 0 10px; padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.tti-dl { list-style:none; margin-bottom:20px; }
.tti-dl li {
  font-size:14px; color:var(--mid); padding:8px 0;
  border-bottom:1px solid rgba(220,227,235,0.5);
  display:flex; align-items:flex-start; gap:10px;
}
.tti-dl li::before { content:'→'; color:var(--orange); flex-shrink:0; font-size:12px; margin-top:1px; }

/* Code tags */
.tti-codes { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.tti-code {
  font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--cyan);
  border:1px solid var(--line); padding:5px 11px;
  background:#fff;
}

/* Download button */
.tti-dl-btn {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:20px; padding:12px 22px;
  background:var(--navy); color:#fff;
  font-family:'IBM Plex Mono'; font-size:12px;
  text-transform:uppercase; letter-spacing:0.08em;
  transition:background .2s;
}
.tti-dl-btn:hover { background:var(--blue); }
.tti-dl-btn::before { content:'↓'; font-size:14px; }

/* External link */
.tti-ext-link {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:16px; font-family:'IBM Plex Mono'; font-size:12px;
  color:var(--blue); border-bottom:1px solid var(--line);
  padding-bottom:2px; transition:color .2s, border-color .2s;
}
.tti-ext-link:hover { color:var(--orange); border-color:var(--orange); }
.tti-ext-link::after { content:'↗'; font-size:11px; }

/* ─── DIAGRAM PANELS ─────────────────────────────────── */
.tti-diag {
  background:var(--off); border:1px solid var(--line);
  padding:4px; position:relative;
}
.tti-diag::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--bp) 1px,transparent 1px),linear-gradient(90deg,var(--bp) 1px,transparent 1px);
  background-size:24px 24px;
}
.tti-diag img { width:100%; display:block; position:relative; z-index:1; }
.tti-diag svg { width:100%; display:block; position:relative; z-index:1; }
.tti-diag-cap {
  font-family:'IBM Plex Mono'; font-size:9.5px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.08em;
  padding:10px 4px 4px; position:relative; z-index:1;
  border-top:1px solid var(--line);
}

/* Video embed */
.tti-video {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  background:var(--navy);
}
.tti-video iframe {
  position:absolute; top:0; left:0; width:100%; height:100%;
  border:none;
}

/* ─── STANDARDS BAR ──────────────────────────────────── */
.tti-stds { background:var(--navy); overflow-x:auto; }
.tti-stds-inner { display:flex; min-width:max-content; }
.tti-stds-lbl {
  background:rgba(0,0,0,0.25); padding:18px 24px;
  font-family:'IBM Plex Mono'; font-size:10px;
  color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em;
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex; align-items:center; white-space:nowrap;
}
.tti-std {
  padding:18px 22px; border-right:1px solid rgba(255,255,255,0.08);
  font-family:'IBM Plex Mono'; font-size:13px; color:#fff;
  display:flex; align-items:center; white-space:nowrap;
  transition:color .2s;
}
.tti-std:hover { color:var(--orange-l); }

/* ─── CTA STRIP ──────────────────────────────────────── */
.tti-cta { background:var(--navy); padding:64px 0; }
.tti-cta-inner {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
}
.tti-cta h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(20px,2.4vw,28px); color:#fff;
}
.tti-cta p { color:rgba(255,255,255,0.6); margin-top:6px; font-size:15px; }
.tti-btn-orange {
  background:var(--orange); color:#fff;
  padding:14px 28px; font-weight:600; font-size:14px;
  border-radius:2px; transition:background .2s; white-space:nowrap;
}
.tti-btn-orange:hover { background:var(--orange-l); }

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:900px) {
  .tti-svc-layout, .tti-svc-layout.rev { grid-template-columns:1fr; direction:ltr; }
  .tti-steps { grid-template-columns:1fr 1fr; gap:24px; }
  .tti-steps::before { display:none; }
  .tti-wrap { padding:0 20px; }
}
@media (max-width:560px) {
  .tti-steps { grid-template-columns:1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c764269 */@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap");

/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --navy:   #0e1f38;
  --blue:   #1f5fa6;
  --orange: #d95f25;
  --orange-l:#f07030;
  --paper:  #ffffff;
  --off:    #f4f6f9;
  --line:   #dce3eb;
  --text:   #1a2535;
  --mid:    #506070;
  --soft:   #8898a8;
  --cyan:   #2a7a96;
  --bp:     rgba(31,95,166,0.055);
  --bpb:    rgba(31,95,166,0.12);
}

/* ─── RESET ──────────────────────────────────────────── */
/* Scoped reset — only affects our TTI content */
.tti-ph *, .tti-process *, .tti-svc *, .tti-stds *, .tti-cta * {
  box-sizing: border-box;
}
.tti-ph, .tti-process, .tti-svc, .tti-stds, .tti-cta {
  font-family: 'Inter', sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.tti-svc a, .tti-ph a, .tti-cta a { text-decoration: none; color: inherit; }
.tti-svc img, .tti-ph img { display: block; max-width: 100%; }
.tti-wrap { max-width:1200px; margin:0 auto; padding:0 40px; }

/* ─── BLUEPRINT GRID ─────────────────────────────────── */
.tti-bp { position:relative; }
.tti-bp::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(var(--bpb) 1px, transparent 1px),
    linear-gradient(90deg, var(--bpb) 1px, transparent 1px),
    linear-gradient(var(--bp) 1px, transparent 1px),
    linear-gradient(90deg, var(--bp) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px;
}
.tti-bp > * { position:relative; z-index:1; }

/* ─── PAGE HERO ──────────────────────────────────────── */
.tti-ph {
  padding:72px 0 60px;
  background:var(--off);
  border-bottom:1px solid var(--line);
}
.tti-ph-tag {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.14em;
  margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.tti-ph-tag::before { content:''; width:24px; height:1.5px; background:var(--orange); }
.tti-ph h1 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(32px,4vw,48px); color:var(--navy);
  margin-bottom:14px; line-height:1.1;
}
.tti-ph p { font-size:17px; color:var(--mid); max-width:620px; }

/* ─── PROCESS FLOW ───────────────────────────────────── */
.tti-process {
  padding:56px 0;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.tti-process-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.12em; margin-bottom:32px;
  display:flex; align-items:center; gap:10px;
}
.tti-process-label::before { content:''; flex:1; height:1px; background:var(--line); }
.tti-process-label::after  { content:''; flex:1; height:1px; background:var(--line); }
.tti-steps {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:0; position:relative;
}
.tti-steps::before {
  content:''; position:absolute; top:28px; left:10%; right:10%;
  height:1px; background:linear-gradient(90deg, transparent, var(--line), var(--line), transparent);
}
.tti-step { text-align:center; padding:0 12px; }
.tti-step-num {
  width:56px; height:56px; margin:0 auto 14px;
  border:2px solid var(--orange); border-radius:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:18px;
  color:var(--orange); background:#fff; position:relative; z-index:1;
}
.tti-step h4 { font-size:13.5px; font-weight:700; color:var(--navy); margin-bottom:5px; }
.tti-step p  { font-size:12px; color:var(--soft); }

/* ─── SERVICE SECTIONS ───────────────────────────────── */
.tti-svc {
  padding:80px 0;
  border-bottom:1px solid var(--line);
}
.tti-svc:nth-child(even) { background:var(--off); }
.tti-svc:nth-child(odd)  { background:#fff; }

.tti-svc-layout {
  display:grid; grid-template-columns:1fr 1fr;
  gap:72px; align-items:start;
}
.tti-svc-layout.rev { direction:rtl; }
.tti-svc-layout.rev > * { direction:ltr; }

.tti-svc-num {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.1em; margin-bottom:12px;
}
.tti-svc h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(24px,2.6vw,32px); color:var(--navy);
  margin-bottom:18px; line-height:1.15;
}
.tti-svc p { font-size:15.5px; color:var(--mid); margin-bottom:14px; line-height:1.7; }

/* Deliverables / bullet list */
.tti-dl-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--navy);
  text-transform:uppercase; letter-spacing:0.1em;
  margin:20px 0 10px; padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.tti-dl { list-style:none; margin-bottom:20px; }
.tti-dl li {
  font-size:14px; color:var(--mid); padding:8px 0;
  border-bottom:1px solid rgba(220,227,235,0.5);
  display:flex; align-items:flex-start; gap:10px;
}
.tti-dl li::before { content:'→'; color:var(--orange); flex-shrink:0; font-size:12px; margin-top:1px; }

/* Code tags */
.tti-codes { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.tti-code {
  font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--cyan);
  border:1px solid var(--line); padding:5px 11px;
  background:#fff;
}

/* Download button */
.tti-dl-btn {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:20px; padding:12px 22px;
  background:var(--navy); color:#fff;
  font-family:'IBM Plex Mono'; font-size:12px;
  text-transform:uppercase; letter-spacing:0.08em;
  transition:background .2s;
}
.tti-dl-btn:hover { background:var(--blue); }
.tti-dl-btn::before { content:'↓'; font-size:14px; }

/* External link */
.tti-ext-link {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:16px; font-family:'IBM Plex Mono'; font-size:12px;
  color:var(--blue); border-bottom:1px solid var(--line);
  padding-bottom:2px; transition:color .2s, border-color .2s;
}
.tti-ext-link:hover { color:var(--orange); border-color:var(--orange); }
.tti-ext-link::after { content:'↗'; font-size:11px; }

/* ─── DIAGRAM PANELS ─────────────────────────────────── */
.tti-diag {
  background:var(--off); border:1px solid var(--line);
  padding:4px; position:relative;
}
.tti-diag::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--bp) 1px,transparent 1px),linear-gradient(90deg,var(--bp) 1px,transparent 1px);
  background-size:24px 24px;
}
.tti-diag img { width:100%; display:block; position:relative; z-index:1; }
.tti-diag svg { width:100%; display:block; position:relative; z-index:1; }
.tti-diag-cap {
  font-family:'IBM Plex Mono'; font-size:9.5px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.08em;
  padding:10px 4px 4px; position:relative; z-index:1;
  border-top:1px solid var(--line);
}

/* Video embed */
.tti-video {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  background:var(--navy);
}
.tti-video iframe {
  position:absolute; top:0; left:0; width:100%; height:100%;
  border:none;
}

/* ─── STANDARDS BAR ──────────────────────────────────── */
.tti-stds { background:var(--navy); overflow-x:auto; }
.tti-stds-inner { display:flex; min-width:max-content; }
.tti-stds-lbl {
  background:rgba(0,0,0,0.25); padding:18px 24px;
  font-family:'IBM Plex Mono'; font-size:10px;
  color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em;
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex; align-items:center; white-space:nowrap;
}
.tti-std {
  padding:18px 22px; border-right:1px solid rgba(255,255,255,0.08);
  font-family:'IBM Plex Mono'; font-size:13px; color:#fff;
  display:flex; align-items:center; white-space:nowrap;
  transition:color .2s;
}
.tti-std:hover { color:var(--orange-l); }

/* ─── CTA STRIP ──────────────────────────────────────── */
.tti-cta { background:var(--navy); padding:64px 0; }
.tti-cta-inner {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
}
.tti-cta h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(20px,2.4vw,28px); color:#fff;
}
.tti-cta p { color:rgba(255,255,255,0.6); margin-top:6px; font-size:15px; }
.tti-btn-orange {
  background:var(--orange); color:#fff;
  padding:14px 28px; font-weight:600; font-size:14px;
  border-radius:2px; transition:background .2s; white-space:nowrap;
}
.tti-btn-orange:hover { background:var(--orange-l); }

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:900px) {
  .tti-svc-layout, .tti-svc-layout.rev { grid-template-columns:1fr; direction:ltr; }
  .tti-steps { grid-template-columns:1fr 1fr; gap:24px; }
  .tti-steps::before { display:none; }
  .tti-wrap { padding:0 20px; }
}
@media (max-width:560px) {
  .tti-steps { grid-template-columns:1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6a98fd4 */@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap");

/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --navy:   #0e1f38;
  --blue:   #1f5fa6;
  --orange: #d95f25;
  --orange-l:#f07030;
  --paper:  #ffffff;
  --off:    #f4f6f9;
  --line:   #dce3eb;
  --text:   #1a2535;
  --mid:    #506070;
  --soft:   #8898a8;
  --cyan:   #2a7a96;
  --bp:     rgba(31,95,166,0.055);
  --bpb:    rgba(31,95,166,0.12);
}

/* ─── RESET ──────────────────────────────────────────── */
/* Scoped reset — only affects our TTI content */
.tti-ph *, .tti-process *, .tti-svc *, .tti-stds *, .tti-cta * {
  box-sizing: border-box;
}
.tti-ph, .tti-process, .tti-svc, .tti-stds, .tti-cta {
  font-family: 'Inter', sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.tti-svc a, .tti-ph a, .tti-cta a { text-decoration: none; color: inherit; }
.tti-svc img, .tti-ph img { display: block; max-width: 100%; }
.tti-wrap { max-width:1200px; margin:0 auto; padding:0 40px; }

/* ─── BLUEPRINT GRID ─────────────────────────────────── */
.tti-bp { position:relative; }
.tti-bp::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(var(--bpb) 1px, transparent 1px),
    linear-gradient(90deg, var(--bpb) 1px, transparent 1px),
    linear-gradient(var(--bp) 1px, transparent 1px),
    linear-gradient(90deg, var(--bp) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px;
}
.tti-bp > * { position:relative; z-index:1; }

/* ─── PAGE HERO ──────────────────────────────────────── */
.tti-ph {
  padding:72px 0 60px;
  background:var(--off);
  border-bottom:1px solid var(--line);
}
.tti-ph-tag {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.14em;
  margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.tti-ph-tag::before { content:''; width:24px; height:1.5px; background:var(--orange); }
.tti-ph h1 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(32px,4vw,48px); color:var(--navy);
  margin-bottom:14px; line-height:1.1;
}
.tti-ph p { font-size:17px; color:var(--mid); max-width:620px; }

/* ─── PROCESS FLOW ───────────────────────────────────── */
.tti-process {
  padding:56px 0;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.tti-process-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.12em; margin-bottom:32px;
  display:flex; align-items:center; gap:10px;
}
.tti-process-label::before { content:''; flex:1; height:1px; background:var(--line); }
.tti-process-label::after  { content:''; flex:1; height:1px; background:var(--line); }
.tti-steps {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:0; position:relative;
}
.tti-steps::before {
  content:''; position:absolute; top:28px; left:10%; right:10%;
  height:1px; background:linear-gradient(90deg, transparent, var(--line), var(--line), transparent);
}
.tti-step { text-align:center; padding:0 12px; }
.tti-step-num {
  width:56px; height:56px; margin:0 auto 14px;
  border:2px solid var(--orange); border-radius:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:18px;
  color:var(--orange); background:#fff; position:relative; z-index:1;
}
.tti-step h4 { font-size:13.5px; font-weight:700; color:var(--navy); margin-bottom:5px; }
.tti-step p  { font-size:12px; color:var(--soft); }

/* ─── SERVICE SECTIONS ───────────────────────────────── */
.tti-svc {
  padding:80px 0;
  border-bottom:1px solid var(--line);
}
.tti-svc:nth-child(even) { background:var(--off); }
.tti-svc:nth-child(odd)  { background:#fff; }

.tti-svc-layout {
  display:grid; grid-template-columns:1fr 1fr;
  gap:72px; align-items:start;
}
.tti-svc-layout.rev { direction:rtl; }
.tti-svc-layout.rev > * { direction:ltr; }

.tti-svc-num {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.1em; margin-bottom:12px;
}
.tti-svc h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(24px,2.6vw,32px); color:var(--navy);
  margin-bottom:18px; line-height:1.15;
}
.tti-svc p { font-size:15.5px; color:var(--mid); margin-bottom:14px; line-height:1.7; }

/* Deliverables / bullet list */
.tti-dl-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--navy);
  text-transform:uppercase; letter-spacing:0.1em;
  margin:20px 0 10px; padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.tti-dl { list-style:none; margin-bottom:20px; }
.tti-dl li {
  font-size:14px; color:var(--mid); padding:8px 0;
  border-bottom:1px solid rgba(220,227,235,0.5);
  display:flex; align-items:flex-start; gap:10px;
}
.tti-dl li::before { content:'→'; color:var(--orange); flex-shrink:0; font-size:12px; margin-top:1px; }

/* Code tags */
.tti-codes { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.tti-code {
  font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--cyan);
  border:1px solid var(--line); padding:5px 11px;
  background:#fff;
}

/* Download button */
.tti-dl-btn {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:20px; padding:12px 22px;
  background:var(--navy); color:#fff;
  font-family:'IBM Plex Mono'; font-size:12px;
  text-transform:uppercase; letter-spacing:0.08em;
  transition:background .2s;
}
.tti-dl-btn:hover { background:var(--blue); }
.tti-dl-btn::before { content:'↓'; font-size:14px; }

/* External link */
.tti-ext-link {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:16px; font-family:'IBM Plex Mono'; font-size:12px;
  color:var(--blue); border-bottom:1px solid var(--line);
  padding-bottom:2px; transition:color .2s, border-color .2s;
}
.tti-ext-link:hover { color:var(--orange); border-color:var(--orange); }
.tti-ext-link::after { content:'↗'; font-size:11px; }

/* ─── DIAGRAM PANELS ─────────────────────────────────── */
.tti-diag {
  background:var(--off); border:1px solid var(--line);
  padding:4px; position:relative;
}
.tti-diag::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--bp) 1px,transparent 1px),linear-gradient(90deg,var(--bp) 1px,transparent 1px);
  background-size:24px 24px;
}
.tti-diag img { width:100%; display:block; position:relative; z-index:1; }
.tti-diag svg { width:100%; display:block; position:relative; z-index:1; }
.tti-diag-cap {
  font-family:'IBM Plex Mono'; font-size:9.5px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.08em;
  padding:10px 4px 4px; position:relative; z-index:1;
  border-top:1px solid var(--line);
}

/* Video embed */
.tti-video {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  background:var(--navy);
}
.tti-video iframe {
  position:absolute; top:0; left:0; width:100%; height:100%;
  border:none;
}

/* ─── STANDARDS BAR ──────────────────────────────────── */
.tti-stds { background:var(--navy); overflow-x:auto; }
.tti-stds-inner { display:flex; min-width:max-content; }
.tti-stds-lbl {
  background:rgba(0,0,0,0.25); padding:18px 24px;
  font-family:'IBM Plex Mono'; font-size:10px;
  color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em;
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex; align-items:center; white-space:nowrap;
}
.tti-std {
  padding:18px 22px; border-right:1px solid rgba(255,255,255,0.08);
  font-family:'IBM Plex Mono'; font-size:13px; color:#fff;
  display:flex; align-items:center; white-space:nowrap;
  transition:color .2s;
}
.tti-std:hover { color:var(--orange-l); }

/* ─── CTA STRIP ──────────────────────────────────────── */
.tti-cta { background:var(--navy); padding:64px 0; }
.tti-cta-inner {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
}
.tti-cta h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(20px,2.4vw,28px); color:#fff;
}
.tti-cta p { color:rgba(255,255,255,0.6); margin-top:6px; font-size:15px; }
.tti-btn-orange {
  background:var(--orange); color:#fff;
  padding:14px 28px; font-weight:600; font-size:14px;
  border-radius:2px; transition:background .2s; white-space:nowrap;
}
.tti-btn-orange:hover { background:var(--orange-l); }

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:900px) {
  .tti-svc-layout, .tti-svc-layout.rev { grid-template-columns:1fr; direction:ltr; }
  .tti-steps { grid-template-columns:1fr 1fr; gap:24px; }
  .tti-steps::before { display:none; }
  .tti-wrap { padding:0 20px; }
}
@media (max-width:560px) {
  .tti-steps { grid-template-columns:1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-572f10b */@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap");

/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --navy:   #0e1f38;
  --blue:   #1f5fa6;
  --orange: #d95f25;
  --orange-l:#f07030;
  --paper:  #ffffff;
  --off:    #f4f6f9;
  --line:   #dce3eb;
  --text:   #1a2535;
  --mid:    #506070;
  --soft:   #8898a8;
  --cyan:   #2a7a96;
  --bp:     rgba(31,95,166,0.055);
  --bpb:    rgba(31,95,166,0.12);
}

/* ─── RESET ──────────────────────────────────────────── */
/* Scoped reset — only affects our TTI content */
.tti-ph *, .tti-process *, .tti-svc *, .tti-stds *, .tti-cta * {
  box-sizing: border-box;
}
.tti-ph, .tti-process, .tti-svc, .tti-stds, .tti-cta {
  font-family: 'Inter', sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.tti-svc a, .tti-ph a, .tti-cta a { text-decoration: none; color: inherit; }
.tti-svc img, .tti-ph img { display: block; max-width: 100%; }
.tti-wrap { max-width:1200px; margin:0 auto; padding:0 40px; }

/* ─── BLUEPRINT GRID ─────────────────────────────────── */
.tti-bp { position:relative; }
.tti-bp::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(var(--bpb) 1px, transparent 1px),
    linear-gradient(90deg, var(--bpb) 1px, transparent 1px),
    linear-gradient(var(--bp) 1px, transparent 1px),
    linear-gradient(90deg, var(--bp) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px;
}
.tti-bp > * { position:relative; z-index:1; }

/* ─── PAGE HERO ──────────────────────────────────────── */
.tti-ph {
  padding:72px 0 60px;
  background:var(--off);
  border-bottom:1px solid var(--line);
}
.tti-ph-tag {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.14em;
  margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.tti-ph-tag::before { content:''; width:24px; height:1.5px; background:var(--orange); }
.tti-ph h1 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(32px,4vw,48px); color:var(--navy);
  margin-bottom:14px; line-height:1.1;
}
.tti-ph p { font-size:17px; color:var(--mid); max-width:620px; }

/* ─── PROCESS FLOW ───────────────────────────────────── */
.tti-process {
  padding:56px 0;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.tti-process-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.12em; margin-bottom:32px;
  display:flex; align-items:center; gap:10px;
}
.tti-process-label::before { content:''; flex:1; height:1px; background:var(--line); }
.tti-process-label::after  { content:''; flex:1; height:1px; background:var(--line); }
.tti-steps {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:0; position:relative;
}
.tti-steps::before {
  content:''; position:absolute; top:28px; left:10%; right:10%;
  height:1px; background:linear-gradient(90deg, transparent, var(--line), var(--line), transparent);
}
.tti-step { text-align:center; padding:0 12px; }
.tti-step-num {
  width:56px; height:56px; margin:0 auto 14px;
  border:2px solid var(--orange); border-radius:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:18px;
  color:var(--orange); background:#fff; position:relative; z-index:1;
}
.tti-step h4 { font-size:13.5px; font-weight:700; color:var(--navy); margin-bottom:5px; }
.tti-step p  { font-size:12px; color:var(--soft); }

/* ─── SERVICE SECTIONS ───────────────────────────────── */
.tti-svc {
  padding:80px 0;
  border-bottom:1px solid var(--line);
}
.tti-svc:nth-child(even) { background:var(--off); }
.tti-svc:nth-child(odd)  { background:#fff; }

.tti-svc-layout {
  display:grid; grid-template-columns:1fr 1fr;
  gap:72px; align-items:start;
}
.tti-svc-layout.rev { direction:rtl; }
.tti-svc-layout.rev > * { direction:ltr; }

.tti-svc-num {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.1em; margin-bottom:12px;
}
.tti-svc h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(24px,2.6vw,32px); color:var(--navy);
  margin-bottom:18px; line-height:1.15;
}
.tti-svc p { font-size:15.5px; color:var(--mid); margin-bottom:14px; line-height:1.7; }

/* Deliverables / bullet list */
.tti-dl-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--navy);
  text-transform:uppercase; letter-spacing:0.1em;
  margin:20px 0 10px; padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.tti-dl { list-style:none; margin-bottom:20px; }
.tti-dl li {
  font-size:14px; color:var(--mid); padding:8px 0;
  border-bottom:1px solid rgba(220,227,235,0.5);
  display:flex; align-items:flex-start; gap:10px;
}
.tti-dl li::before { content:'→'; color:var(--orange); flex-shrink:0; font-size:12px; margin-top:1px; }

/* Code tags */
.tti-codes { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.tti-code {
  font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--cyan);
  border:1px solid var(--line); padding:5px 11px;
  background:#fff;
}

/* Download button */
.tti-dl-btn {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:20px; padding:12px 22px;
  background:var(--navy); color:#ffffff !important;
  font-family:'IBM Plex Mono'; font-size:12px;
  text-transform:uppercase; letter-spacing:0.08em;
  transition:background .2s, color .2s;
  text-decoration:none;
}
.tti-dl-btn:hover {
  background:var(--blue) !important;
  color:#f07030 !important;
}
.tti-dl-btn:hover { background:var(--blue); }
.tti-dl-btn::before { content:'↓'; font-size:14px; }

/* External link */
.tti-ext-link {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:16px; font-family:'IBM Plex Mono'; font-size:12px;
  color:var(--blue); border-bottom:1px solid var(--line);
  padding-bottom:2px; transition:color .2s, border-color .2s;
}
.tti-ext-link:hover { color:var(--orange); border-color:var(--orange); }
.tti-ext-link::after { content:'↗'; font-size:11px; }

/* ─── DIAGRAM PANELS ─────────────────────────────────── */
.tti-diag {
  background:var(--off); border:1px solid var(--line);
  padding:4px; position:relative;
}
.tti-diag::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--bp) 1px,transparent 1px),linear-gradient(90deg,var(--bp) 1px,transparent 1px);
  background-size:24px 24px;
}
.tti-diag img { width:100%; display:block; position:relative; z-index:1; }
.tti-diag svg { width:100%; display:block; position:relative; z-index:1; }
.tti-diag-cap {
  font-family:'IBM Plex Mono'; font-size:9.5px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.08em;
  padding:10px 4px 4px; position:relative; z-index:1;
  border-top:1px solid var(--line);
}

/* Video embed */
.tti-video {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  background:var(--navy);
}
.tti-video iframe {
  position:absolute; top:0; left:0; width:100%; height:100%;
  border:none;
}

/* ─── STANDARDS BAR ──────────────────────────────────── */
.tti-stds { background:var(--navy); overflow-x:auto; }
.tti-stds-inner { display:flex; min-width:max-content; }
.tti-stds-lbl {
  background:rgba(0,0,0,0.25); padding:18px 24px;
  font-family:'IBM Plex Mono'; font-size:10px;
  color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em;
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex; align-items:center; white-space:nowrap;
}
.tti-std {
  padding:18px 22px; border-right:1px solid rgba(255,255,255,0.08);
  font-family:'IBM Plex Mono'; font-size:13px; color:#fff;
  display:flex; align-items:center; white-space:nowrap;
  transition:color .2s;
}
.tti-std:hover { color:var(--orange-l); }

/* ─── CTA STRIP ──────────────────────────────────────── */
.tti-cta { background:var(--navy); padding:64px 0; }
.tti-cta-inner {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
}
.tti-cta h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(20px,2.4vw,28px); color:#fff;
}
.tti-cta p { color:rgba(255,255,255,0.6); margin-top:6px; font-size:15px; }
.tti-btn-orange {
  background:var(--orange); color:#fff;
  padding:14px 28px; font-weight:600; font-size:14px;
  border-radius:2px; transition:background .2s; white-space:nowrap;
}
.tti-btn-orange:hover { background:var(--orange-l); }

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:900px) {
  .tti-svc-layout, .tti-svc-layout.rev { grid-template-columns:1fr; direction:ltr; }
  .tti-steps { grid-template-columns:1fr 1fr; gap:24px; }
  .tti-steps::before { display:none; }
  .tti-wrap { padding:0 20px; }
}
@media (max-width:560px) {
  .tti-steps { grid-template-columns:1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bf95121 */@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap");

/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --navy:   #0e1f38;
  --blue:   #1f5fa6;
  --orange: #d95f25;
  --orange-l:#f07030;
  --paper:  #ffffff;
  --off:    #f4f6f9;
  --line:   #dce3eb;
  --text:   #1a2535;
  --mid:    #506070;
  --soft:   #8898a8;
  --cyan:   #2a7a96;
  --bp:     rgba(31,95,166,0.055);
  --bpb:    rgba(31,95,166,0.12);
}

/* ─── RESET ──────────────────────────────────────────── */
/* Scoped reset — only affects our TTI content */
.tti-ph *, .tti-process *, .tti-svc *, .tti-stds *, .tti-cta * {
  box-sizing: border-box;
}
.tti-ph, .tti-process, .tti-svc, .tti-stds, .tti-cta {
  font-family: 'Inter', sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.tti-svc a, .tti-ph a, .tti-cta a { text-decoration: none; color: inherit; }
.tti-svc img, .tti-ph img { display: block; max-width: 100%; }
.tti-wrap { max-width:1200px; margin:0 auto; padding:0 40px; }

/* ─── BLUEPRINT GRID ─────────────────────────────────── */
.tti-bp { position:relative; }
.tti-bp::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(var(--bpb) 1px, transparent 1px),
    linear-gradient(90deg, var(--bpb) 1px, transparent 1px),
    linear-gradient(var(--bp) 1px, transparent 1px),
    linear-gradient(90deg, var(--bp) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px, 16px 16px, 16px 16px;
}
.tti-bp > * { position:relative; z-index:1; }

/* ─── PAGE HERO ──────────────────────────────────────── */
.tti-ph {
  padding:72px 0 60px;
  background:var(--off);
  border-bottom:1px solid var(--line);
}
.tti-ph-tag {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.14em;
  margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.tti-ph-tag::before { content:''; width:24px; height:1.5px; background:var(--orange); }
.tti-ph h1 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(32px,4vw,48px); color:var(--navy);
  margin-bottom:14px; line-height:1.1;
}
.tti-ph p { font-size:17px; color:var(--mid); max-width:620px; }

/* ─── PROCESS FLOW ───────────────────────────────────── */
.tti-process {
  padding:56px 0;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.tti-process-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.12em; margin-bottom:32px;
  display:flex; align-items:center; gap:10px;
}
.tti-process-label::before { content:''; flex:1; height:1px; background:var(--line); }
.tti-process-label::after  { content:''; flex:1; height:1px; background:var(--line); }
.tti-steps {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:0; position:relative;
}
.tti-steps::before {
  content:''; position:absolute; top:28px; left:10%; right:10%;
  height:1px; background:linear-gradient(90deg, transparent, var(--line), var(--line), transparent);
}
.tti-step { text-align:center; padding:0 12px; }
.tti-step-num {
  width:56px; height:56px; margin:0 auto 14px;
  border:2px solid var(--orange); border-radius:0;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:18px;
  color:var(--orange); background:#fff; position:relative; z-index:1;
}
.tti-step h4 { font-size:13.5px; font-weight:700; color:var(--navy); margin-bottom:5px; }
.tti-step p  { font-size:12px; color:var(--soft); }

/* ─── SERVICE SECTIONS ───────────────────────────────── */
.tti-svc {
  padding:80px 0;
  border-bottom:1px solid var(--line);
}
.tti-svc:nth-child(even) { background:var(--off); }
.tti-svc:nth-child(odd)  { background:#fff; }

.tti-svc-layout {
  display:grid; grid-template-columns:1fr 1fr;
  gap:72px; align-items:start;
}
.tti-svc-layout.rev { direction:rtl; }
.tti-svc-layout.rev > * { direction:ltr; }

.tti-svc-num {
  font-family:'IBM Plex Mono'; font-size:11px; color:var(--orange);
  text-transform:uppercase; letter-spacing:0.1em; margin-bottom:12px;
}
.tti-svc h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(24px,2.6vw,32px); color:var(--navy);
  margin-bottom:18px; line-height:1.15;
}
.tti-svc p { font-size:15.5px; color:var(--mid); margin-bottom:14px; line-height:1.7; }

/* Deliverables / bullet list */
.tti-dl-label {
  font-family:'IBM Plex Mono'; font-size:10px; color:var(--navy);
  text-transform:uppercase; letter-spacing:0.1em;
  margin:20px 0 10px; padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.tti-dl { list-style:none; margin-bottom:20px; }
.tti-dl li {
  font-size:14px; color:var(--mid); padding:8px 0;
  border-bottom:1px solid rgba(220,227,235,0.5);
  display:flex; align-items:flex-start; gap:10px;
}
.tti-dl li::before { content:'→'; color:var(--orange); flex-shrink:0; font-size:12px; margin-top:1px; }

/* Code tags */
.tti-codes { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.tti-code {
  font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--cyan);
  border:1px solid var(--line); padding:5px 11px;
  background:#fff;
}

/* Download button */
.tti-dl-btn {
  display:inline-flex; align-items:center; gap:8px;
  margin-top:20px; padding:12px 22px;
  background:var(--navy); color:#fff;
  font-family:'IBM Plex Mono'; font-size:12px;
  text-transform:uppercase; letter-spacing:0.08em;
  transition:background .2s;
}
.tti-dl-btn:hover { background:var(--blue); }
.tti-dl-btn::before { content:'↓'; font-size:14px; }

/* External link */
.tti-ext-link {
  display:inline-flex; align-items:center; gap:6px;
  margin-top:16px; font-family:'IBM Plex Mono'; font-size:12px;
  color:var(--blue); border-bottom:1px solid var(--line);
  padding-bottom:2px; transition:color .2s, border-color .2s;
}
.tti-ext-link:hover { color:var(--orange); border-color:var(--orange); }
.tti-ext-link::after { content:'↗'; font-size:11px; }

/* ─── DIAGRAM PANELS ─────────────────────────────────── */
.tti-diag {
  background:var(--off); border:1px solid var(--line);
  padding:4px; position:relative;
}
.tti-diag::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--bp) 1px,transparent 1px),linear-gradient(90deg,var(--bp) 1px,transparent 1px);
  background-size:24px 24px;
}
.tti-diag img { width:100%; display:block; position:relative; z-index:1; }
.tti-diag svg { width:100%; display:block; position:relative; z-index:1; }
.tti-diag-cap {
  font-family:'IBM Plex Mono'; font-size:9.5px; color:var(--soft);
  text-transform:uppercase; letter-spacing:0.08em;
  padding:10px 4px 4px; position:relative; z-index:1;
  border-top:1px solid var(--line);
}

/* Video embed */
.tti-video {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  background:var(--navy);
}
.tti-video iframe {
  position:absolute; top:0; left:0; width:100%; height:100%;
  border:none;
}

/* ─── STANDARDS BAR ──────────────────────────────────── */
.tti-stds { background:var(--navy); overflow-x:auto; }
.tti-stds-inner { display:flex; min-width:max-content; }
.tti-stds-lbl {
  background:rgba(0,0,0,0.25); padding:18px 24px;
  font-family:'IBM Plex Mono'; font-size:10px;
  color:rgba(255,255,255,0.35); text-transform:uppercase; letter-spacing:0.1em;
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex; align-items:center; white-space:nowrap;
}
.tti-std {
  padding:18px 22px; border-right:1px solid rgba(255,255,255,0.08);
  font-family:'IBM Plex Mono'; font-size:13px; color:#fff;
  display:flex; align-items:center; white-space:nowrap;
  transition:color .2s;
}
.tti-std:hover { color:var(--orange-l); }

/* ─── CTA STRIP ──────────────────────────────────────── */
.tti-cta { background:var(--navy); padding:64px 0; }
.tti-cta-inner {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
}
.tti-cta h2 {
  font-family:'Source Serif 4',serif; font-weight:700;
  font-size:clamp(20px,2.4vw,28px); color:#fff;
}
.tti-cta p { color:rgba(255,255,255,0.6); margin-top:6px; font-size:15px; }
.tti-btn-orange {
  background:var(--orange); color:#fff;
  padding:14px 28px; font-weight:600; font-size:14px;
  border-radius:2px; transition:background .2s; white-space:nowrap;
}
.tti-btn-orange:hover { background:var(--orange-l); }

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media (max-width:900px) {
  .tti-svc-layout, .tti-svc-layout.rev { grid-template-columns:1fr; direction:ltr; }
  .tti-steps { grid-template-columns:1fr 1fr; gap:24px; }
  .tti-steps::before { display:none; }
  .tti-wrap { padding:0 20px; }
}
@media (max-width:560px) {
  .tti-steps { grid-template-columns:1fr; }
}/* End custom CSS */