@font-face {
  font-family:Manrope;
  src:url('./fonts/manrope.ttf') format('truetype');
  font-weight:200 800;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:Geist;
  src:url('./fonts/geist.ttf') format('truetype');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
:root {
  --blue:#025ebc;
  --ink:#071728;
  --text:#212934;
  --muted:#606873;
  --paper:#f9f9fb;
  --line:#dce1e6;
  --optical:#9bdeff;
  --radius:20px;
  --nav-height:82px;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--nav-height) + 28px);
}
body.tf-site {
  margin:0;
  background:var(--paper);
  color:var(--text);
  font-family:Geist,system-ui,-apple-system,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,p,figure {
  margin:0;
}
h1,h2,h3 {
  color:inherit;
  font-family:inherit;
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.025em;
  text-wrap:balance;
}
h1 {
  font-size:clamp(36px,5vw,60px);
}
h2 {
  font-size:clamp(30px,3.65vw,44px);
}
h3 {
  font-size:24px;
  letter-spacing:-.015em;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input,textarea,select {
  font:inherit;
}
button,a,input,textarea {
  touch-action:manipulation;
}
button {
  cursor:pointer;
}
img {
  max-width:100%;
  display:block;
  height:auto;
}
a,button {
  -webkit-tap-highlight-color:transparent;
}
:focus-visible {
  outline:3px solid var(--blue);
  outline-offset:5px;
}
::selection {
  background:#c2e1ff;
  color:var(--ink);
}
.container {
  width:min(100% - 128px,1072px);
  margin-inline:auto;
  padding-inline:0;
  overflow:visible;
}
.section {
  padding-block:104px;
}
.eyebrow {
  font-size:13px;
  font-weight:500;
  letter-spacing:.07em;
  text-transform:uppercase;
  line-height:1.4;
  color:var(--blue);
  margin-bottom:24px;
}
.section-intro {
  font-size:18px;
  line-height:1.6;
  color:var(--muted);
  max-width:800px;
  margin-top:24px;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:12px;
  background:var(--blue);
  color:white;
  padding:16px 24px;
  font-family:Manrope,Geist,sans-serif;
  font-weight:600;
  font-size:16px;
  line-height:1.2;
  transition:background-color .18s ease,opacity .18s ease;
  white-space:nowrap;
}
.button:hover,.button:focus-visible {
  background:#1a6ec4;
  opacity:.85;
}
.text-action {
  font-size:15px;
  font-weight:600;
  color:var(--blue);
  display:inline-flex;
  gap:10px;
  align-items:center;
}
.text-action:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.screen-reader-text,.skip-link:not(:focus) {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.skip-link:focus {
  position:fixed;
  z-index:1000;
  top:12px;
  left:12px;
  padding:12px 24px;
  background:#fff;
  color:var(--blue);
}
.site-header {
  position:fixed;
  inset:0 0 auto;
  z-index:100;
  transition:background-color .2s,box-shadow .2s;
}
.site-header.is-scrolled,.tf-interior .site-header {
  background:#fff;
  box-shadow:0 4px 20px #2129341a;
}
.nav-inner {
  width:min(100% - 160px,1248px);
  margin:auto;
  min-height:var(--nav-height);
  display:flex;
  align-items:center;
  gap:24px;
  padding-block:12px;
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.brand-mark {
  position:relative;
  display:block;
  width:42px;
  height:40px;
  overflow:hidden;
  filter:drop-shadow(0 1px 3px #025ebc45);
}
.brand-mark::before {
  content:'';
  display:block;
  width:166px;
  height:40px;
  background:var(--blue);
  mask:url('./images/brand.webp') 0 0/166px 40px no-repeat;
  -webkit-mask:url('./images/brand.webp') 0 0/166px 40px no-repeat;
}
.brand-copy {
  display:flex;
  flex-direction:column;
}
.brand-name {
  font-size:23px;
  line-height:1.1;
  font-weight:650;
  letter-spacing:-.04em;
  color:#111;
}
.brand-name>span {
  color:var(--blue);
}
.brand-descriptor {
  font-size:9px;
  line-height:1.5;
  letter-spacing:.01em;
  margin-top:5px;
  color:var(--text);
}
.site-header nav {
  margin-left:auto;
}
.nav-links {
  list-style:none;
  display:flex;
  align-items:center;
  gap:2px;
  margin:0;
  padding:0;
}
.nav-links a {
  display:block;
  padding:10px 14px;
  font-size:14px;
  font-weight:500;
  border-radius:10px;
  transition:color .18s,background-color .18s;
  white-space:nowrap;
}
.nav-links a:hover,.nav-links a:focus-visible,.nav-links .current-menu-item>a {
  color:#fff;
  background:var(--blue);
}
.nav-links li {
  position:relative;
}
.nav-links .sub-menu {
  display:none;
  position:absolute;
  top:100%;
  left:0;
  background:white;
  list-style:none;
  min-width:220px;
  padding:8px;
  border-radius:8px;
  box-shadow:0 15px 40px #07172820;
}
.nav-links li:hover>.sub-menu,.nav-links li:focus-within>.sub-menu {
  display:block;
}
.nav-contact {
  font-size:16px;
}
.admin-bar .site-header {
  top:32px;
}
.hero {
  position:relative;
  isolation:isolate;
  min-height:100svh;
  padding:168px 48px 56px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:48px;
  overflow:hidden;
}
.hero-backdrop,.hero-overlay {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:-2;
  object-fit:cover;
}
.hero-overlay {
  z-index:-1;
  background:linear-gradient(180deg,rgba(249,249,251,.62) 0%,rgba(249,249,251,.40) 26%,rgba(7,23,40,.30) 50%,rgba(7,23,40,.70) 74%,rgba(7,23,40,.90) 90%,rgba(7,23,40,.94) 100%);
}
.hero-statement {
  max-width:1060px;
  text-align:center;
}
.hero h1 {
  line-height:1.05;
  letter-spacing:-.03em;
}
.hero h1 span {
  color:var(--blue);
}
.hero-statement>p {
  font-size:22px;
  line-height:1.5;
  letter-spacing:-.01em;
  margin-top:20px;
  color:var(--text);
}
.division-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:40px;
  width:100%;
  max-width:1080px;
}
.division-card {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:340px;
  border-radius:20px;
  padding:28px;
  display:flex;
  align-items:end;
  background:var(--ink);
  color:white;
  box-shadow:0 18px 36px -12px #08182859;
  transition:transform .35s cubic-bezier(.2,.75,.3,1),box-shadow .35s;
}
.division-card:hover,.division-card:focus-visible {
  transform:translateY(-10px) scale(1.02);
  box-shadow:0 0 22px 2px #025ebc8c;
}
.division-photo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-3;
  filter:saturate(.7) brightness(.82);
}
.division-card:first-child .division-photo {
  object-position:center 35%;
}
.division-card::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,#07172814 0%,#07172899 50%,#071728e0 100%);
}
.division-content {
  display:flex;
  flex-direction:column;
  gap:10px;
}
.division-content .eyebrow {
  color:#e5edf4;
  margin:0;
}
.division-content h2 {
  color:#fff;
  font-size:24px;
  letter-spacing:-.015em;
  line-height:1.25;
}
.division-content>p:not(.eyebrow) {
  color:#e2e7ed;
  font-size:15px;
}
.division-content .text-action {
  color:#fff;
}
.hero-proof {
  font-size:13px;
  line-height:1.4;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:white;
  text-align:center;
}
.news-band {
  background:var(--ink);
  color:#fff;
}
.news-band>a {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding-block:22px;
  font-size:14px;
}
.news-label {
  border:1px solid #9bdeff55;
  border-radius:999px;
  padding:4px 12px;
  color:var(--optical);
  white-space:nowrap;
  font-size:12px;
}
.news-cta {
  white-space:nowrap;
  color:var(--optical);
}
.news-band a:hover .news-cta {
  text-decoration:underline;
  text-underline-offset:4px;
}
.figures {
  padding-bottom:96px;
}
.figures h2 {
  max-width:760px;
}
.figures-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px;
  margin-top:40px;
}
.figure {
  padding-top:26px;
  border-top:1px solid var(--line);
}
.statistic {
  font-size:80px;
  letter-spacing:-.03em;
  line-height:1;
  color:var(--blue);
  font-weight:600;
  margin-bottom:14px;
}
.figure h3 {
  margin-bottom:8px;
}
.figure>p:last-child {
  font-size:15px;
  color:var(--muted);
}
.clients {
  padding-bottom:88px;
}
.client-logos {
  display:flex;
  gap:18px 36px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
}
.client-logos img {
  width:calc((100% - 180px)/6);
  height:62px;
  object-fit:contain;
}
.industries {
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:88px;
  padding-top:16px;
  padding-bottom:120px;
}
.industry-list>div {
  padding:24px 0;
  border-top:1px solid var(--line);
}
.industry-list h3 {
  margin-bottom:6px;
}
.industry-list p {
  font-size:15px;
  color:var(--muted);
}
.approach {
  background:var(--ink);
  color:#fff;
  padding-block:128px;
}
.approach .eyebrow {
  color:var(--optical);
}
.approach h2 {
  max-width:850px;
}
.stages {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:40px;
  margin-top:48px;
}
.stages>div {
  border-top:1px solid #ffffff26;
  padding-top:24px;
}
.stage-number {
  color:var(--optical);
  font-size:16px;
}
.stages h3 {
  font-size:19px;
  margin:10px 0;
}
.stages p {
  font-size:16px;
  color:#d5dce3;
}
.testimonials {
  padding-block:112px;
}
.quote-panel {
  margin:0 0 40px;
}
.quote-panel blockquote {
  margin:0;
  font-size:clamp(22px,2.8vw,32px);
  line-height:1.5;
  letter-spacing:-.01em;
  max-width:1000px;
}
.quote-panel figcaption {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 20px;
  border-top:1px solid var(--line);
  padding-top:26px;
  margin-top:34px;
  font-size:15px;
}
.quote-panel figcaption img {
  width:132px;
  height:50px;
  object-fit:contain;
}
.quote-sector {
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
}
.quote-project {
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--blue);
}
.quote-tabs {
  display:none;
  gap:12px;
}
.is-enhanced .quote-tabs {
  display:flex;
}
.quote-tabs button {
  width:110px;
  height:52px;
  padding:6px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  opacity:.45;
  transition:opacity .2s,background-color .2s;
}
.quote-tabs button img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.quote-tabs button[aria-pressed=true] {
  opacity:1;
  background:#fff;
  border-color:var(--line);
}
.quote-tabs button:hover {
  opacity:1;
}
.quote-panel[hidden] {
  display:none;
}
.technology {
  padding-block:64px;
}
.logo-window {
  margin:38px 0;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
.logo-track {
  display:flex;
  width:max-content;
  animation:logos 28s linear infinite;
}
.logo-group {
  display:flex;
  flex-shrink:0;
  gap:20px;
  padding-right:20px;
}
.logo-group>div {
  width:230px;
  height:138px;
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.logo-group img {
  max-width:182px;
  max-height:90px;
  object-fit:contain;
}
.logo-window:hover .logo-track,.logo-window:focus-within .logo-track {
  animation-play-state:paused;
}
.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:40px;
}
.section-heading .text-action {
  white-space:nowrap;
}
.article-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.article-card {
  border-radius:16px;
  overflow:hidden;
  background:white;
  box-shadow:0 3px 16px #07172805;
  transition:transform .25s,box-shadow .25s;
  min-width:0;
}
.article-card:hover {
  transform:translateY(-5px);
  box-shadow:0 16px 32px #07172812;
}
.article-card>a {
  height:100%;
  display:flex;
  flex-direction:column;
}
.article-cover {
  aspect-ratio:3/2;
  background:linear-gradient(135deg,#071728,#0c4e80);
  overflow:hidden;
  position:relative;
}
.article-cover img {
  height:100%;
  width:100%;
  object-fit:cover;
  transition:transform .5s;
}
.article-card:hover .article-cover img {
  transform:scale(1.04);
}
.cover-monogram {
  position:absolute;
  inset:20px 28px;
  font-weight:600;
  color:#ffffff25;
  font-size:clamp(70px,10vw,140px);
  letter-spacing:-.1em;
  line-height:1;
}
.cover-monogram>span {
  position:absolute;
  bottom:0;
  right:0;
  font-size:50px;
  color:#9bdeff;
}
.article-card-body {
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1;
  gap:16px;
}
.article-card .eyebrow {
  font-size:11px;
  margin:0;
}
.article-card h3 {
  font-size:23px;
  line-height:1.25;
}
.article-excerpt {
  font-size:15px;
  color:var(--muted);
  line-height:1.55;
}
.article-card-meta {
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  padding-top:12px;
  color:var(--muted);
}
.article-card-meta>span {
  color:var(--blue);
  font-weight:500;
}
.insights {
  padding-block:88px;
}
.site-footer {
  background:var(--ink);
  color:#fff;
  padding:48px 0 40px;
}
.footer-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding-bottom:48px;
  border-bottom:1px solid #ffffff26;
}
.footer-cta .eyebrow {
  color:var(--optical);
  margin-bottom:14px;
}
.footer-cta h2 {
  font-size:36px;
  margin-bottom:16px;
}
.footer-cta p:not(.eyebrow) {
  color:#d3dbe4;
  font-size:18px;
}
.footer-grid {
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:38px;
  padding-block:48px;
}
.footer-grid h3 {
  font-size:16px;
  letter-spacing:0;
  margin-bottom:18px;
}
.footer-brand h3 {
  font-size:28px;
  letter-spacing:-.04em;
  display:flex;
  align-items:center;
  gap:11px;
}
.footer-brand h3 .brand-mark {
  width:36px;
  height:34px;
  filter:none;
}
.footer-brand h3 .brand-mark::before {
  width:141px;
  height:34px;
  background:#85bdff;
  mask-size:141px 34px;
  -webkit-mask-size:141px 34px;
}
.footer-brand p {
  font-size:15px;
  color:#b7c2ce;
  max-width:300px;
}
.footer-grid ul {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:12px;
}
.footer-grid li {
  font-size:14px;
  color:#c4ced8;
}
.footer-grid a:hover,.legal a:hover {
  color:var(--optical);
  text-decoration:underline;
  text-underline-offset:4px;
}
.footer-grid .socials {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:24px;
}
.socials small {
  display:block;
  font-size:10px;
  color:#9facbc;
}
.footer-subheading {
  margin-top:32px;
}
.legal {
  border-top:1px solid #ffffff26;
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:#a5b2c0;
  font-size:13px;
}
.blog-index,.single-main,.page-main {
  padding-top:calc(var(--nav-height) + 76px);
  padding-bottom:96px;
}
.blog-heading {
  max-width:850px;
  margin-bottom:60px;
}
.blog-heading h1 {
  font-size:clamp(42px,5vw,64px);
  line-height:1.06;
  max-width:840px;
}
.blog-heading>p:not(.eyebrow) {
  font-size:20px;
  color:var(--muted);
  margin-top:22px;
  max-width:650px;
}
.blog-tools {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-block:1px solid var(--line);
  padding:20px 0;
  margin-bottom:40px;
}
.category-tabs {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.category-tabs a {
  padding:8px 14px;
  font-size:13px;
  border-radius:999px;
  transition:background-color .18s,color .18s;
}
.category-tabs a:hover {
  background:#e8eff7;
}
.category-tabs a[aria-current=page] {
  background:var(--ink);
  color:#fff;
}
.blog-search {
  display:flex;
  align-items:center;
  min-width:210px;
  border-bottom:1px solid #a9b3be;
}
.blog-search input {
  width:100%;
  min-width:0;
  border:0;
  padding:8px 2px;
  background:transparent;
  font-size:14px;
  color:var(--text);
}
.blog-search button {
  border:0;
  background:none;
  color:var(--blue);
  padding:8px 12px;
  font-size:22px;
}
.blog-grid .article-card:first-child {
  grid-column:span 2;
}
.blog-grid .article-card:first-child .article-cover {
  aspect-ratio:2.6/1;
}
.blog-grid .article-card:first-child h3 {
  font-size:30px;
  max-width:660px;
}
.blog-grid .article-card:first-child .article-card-body {
  padding:28px;
}
.pagination,.nav-links.pagination,.navigation.pagination .nav-links {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:48px;
}
.page-numbers {
  padding:8px 14px;
  border-radius:6px;
  background:#fff;
  font-size:14px;
}
.page-numbers.current {
  background:var(--blue);
  color:white;
}
.empty-state {
  padding:60px 0;
  grid-column:1/-1;
}
.empty-state p {
  margin:18px 0 24px;
}
.page-main.empty-state {
  padding-top:180px;
}
.article-heading {
  max-width:900px;
  margin:0 auto 48px;
  text-align:center;
}
.back-link {
  margin-bottom:32px;
}
.article-categories {
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:18px;
}
.article-heading h1 {
  font-size:clamp(34px,4.7vw,56px);
  line-height:1.1;
}
.article-byline {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 24px;
  font-size:13px;
  color:var(--muted);
  margin-top:28px;
}
.article-hero-image {
  border-radius:20px;
  overflow:hidden;
  max-height:600px;
  margin-bottom:64px;
}
.article-hero-image img {
  width:100%;
  height:auto;
  max-height:600px;
  object-fit:cover;
}
.reading-layout {
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:72px;
  align-items:start;
}
.article-sidebar {
  position:sticky;
  top:calc(var(--nav-height) + 35px);
  font-size:14px;
  max-height:calc(100vh - 150px);
  overflow:auto;
}
.article-sidebar .eyebrow {
  font-size:11px;
  margin-bottom:14px;
}
.article-sidebar ol {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
.article-sidebar li a {
  display:block;
  color:var(--muted);
  line-height:1.45;
}
.article-sidebar li a:hover {
  color:var(--blue);
}
.share-links {
  border-top:1px solid var(--line);
  padding-top:24px;
  margin-top:32px;
  display:grid;
  gap:10px;
}
.share-links a,.share-links button {
  color:var(--blue);
  text-align:left;
  font-size:13px;
}
.share-links button {
  padding:0;
  background:none;
  border:0;
}
.share-links .eyebrow {
  margin:0 0 6px;
}
.article-prose {
  font-size:18px;
  line-height:1.85;
  max-width:760px;
  min-width:0;
  color:#394552;
  overflow-wrap:break-word;
}
.article-prose>*+* {
  margin-top:24px;
}
.article-prose h2 {
  font-size:32px;
  margin-top:48px;
  color:var(--text);
  scroll-margin-top:120px;
}
.article-prose h3 {
  font-size:25px;
  margin-top:32px;
  color:var(--text);
}
.article-prose h4 {
  font-size:20px;
}
.article-prose a {
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:3px;
}
.article-prose blockquote {
  border-left:3px solid var(--blue);
  padding:8px 0 8px 28px;
  margin-inline:0;
  color:var(--ink);
  font-size:24px;
  line-height:1.5;
}
.article-prose pre {
  overflow:auto;
  padding:24px;
  background:var(--ink);
  color:#edf5ff;
  border-radius:12px;
  font-size:14px;
  max-width:100%;
}
.article-prose code {
  font-size:.88em;
}
.article-prose figure {
  max-width:100%;
}
.article-prose img {
  height:auto;
  border-radius:10px;
}
.article-prose iframe {
  max-width:100%;
}
.article-prose table {
  border-collapse:collapse;
  width:100%;
  font-size:15px;
}
.article-prose td,.article-prose th {
  border:1px solid var(--line);
  padding:12px;
  text-align:left;
}
.article-prose .wp-block-table {
  overflow:auto;
}
.article-prose ul,.article-prose ol {
  padding-left:24px;
}
.article-prose li+li {
  margin-top:8px;
}
.article-prose .alignwide {
  width:100%;
}
.article-prose .aligncenter {
  margin-inline:auto;
}
.article-tags {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:48px;
}
.article-tags a {
  background:#e9eef5;
  border-radius:999px;
  padding:5px 14px;
  font-size:13px;
  color:var(--blue);
}
.page-prose {
  margin-inline:auto;
}
.related h2 {
  margin-bottom:36px;
}
.reading-progress {
  position:fixed;
  top:var(--nav-height);
  left:0;
  height:2px;
  width:100%;
  transform:scaleX(0);
  transform-origin:left;
  background:var(--blue);
  z-index:101;
}
.comments-area {
  margin:64px auto;
}
.comments-area textarea,.comments-area input:not([type=checkbox]) {
  border:1px solid var(--line);
  padding:12px;
  max-width:100%;
  background:white;
}
.comments-area textarea {
  width:100%;
}
.comments-area label {
  display:block;
}
.comments-area .submit {
  background:var(--blue)!important;
  color:white;
  border-radius:6px;
}
.comments-area .comment-list {
  list-style:none;
  padding:0;
}
.comment-body {
  border-bottom:1px solid var(--line);
  padding-block:24px;
}
.comment-author {
  display:flex;
  align-items:center;
  gap:12px;
}
.comment-meta {
  font-size:13px;
}
.comments-area form p {
  margin-bottom:18px;
}
[data-reveal].reveal-ready {
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s,transform .6s;
}
[data-reveal].reveal-ready.is-visible {
  opacity:1;
  transform:none;
}
@keyframes logos {
  to {
    transform:translateX(-50%);
  }
}
@media(min-width:1600px) {
  .container {
    width:min(100% - 160px,1280px);
  }
  .hero-statement {
    max-width:1200px;
  }
  .division-grid {
    max-width:1120px;
  }
}
@media(max-width:1199px) {
  .nav-inner {
    width:calc(100% - 80px);
    gap:16px;
  }
  .nav-links a {
    padding:10px 9px;
    font-size:13px;
  }
  .nav-contact {
    display:none;
  }
  .hero h1 {
    font-size:48px;
  }
  .container {
    width:calc(100% - 80px);
  }
  .client-logos {
    justify-content:center;
  }
  .client-logos img {
    width:calc((100% - 72px)/3);
  }
  .footer-grid {
    grid-template-columns:1.4fr 1fr;
    gap:40px;
  }
  .industries {
    gap:48px;
  }
  .reading-layout {
    gap:40px;
    grid-template-columns:170px minmax(0,1fr);
  }
}
@media(max-width:809px) {
  :root {
    --nav-height:116px;
  }
  .container {
    width:calc(100% - 48px);
  }
  .nav-inner {
    width:100%;
    padding:12px 24px;
    flex-wrap:wrap;
    gap:8px;
    min-height:116px;
  }
  .brand-mark {
    height:36px;
    width:38px;
  }
  .brand-mark::before {
    transform:scale(.9);
    transform-origin:top left;
  }
  .brand-name {
    font-size:22px;
  }
  .brand-descriptor {
    font-size:8px;
  }
  .site-header nav {
    width:100%;
    margin:0;
  }
  .nav-links {
    justify-content:flex-start;
    gap:0;
  }
  .nav-links a {
    font-size:12px;
    padding:8px;
  }
  .hero {
    padding:164px 24px 40px;
    gap:32px;
    min-height:100svh;
  }
  .hero h1 {
    font-size:36px;
    line-height:1.08;
    letter-spacing:-.025em;
  }
  .hero-statement>p {
    font-size:18px;
    line-height:1.55;
    margin-top:20px;
  }
  .division-grid {
    gap:20px;
    grid-template-columns:1fr;
  }
  .division-card {
    min-height:260px;
    padding:24px;
  }
  .division-content h2 {
    font-size:22px;
  }
  .division-content>p:not(.eyebrow) {
    font-size:14px;
  }
  .hero-proof {
    font-size:11px;
    max-width:350px;
  }
  .news-band>a {
    flex-direction:column;
    text-align:center;
    gap:12px;
    padding-block:24px;
  }
  .section {
    padding-block:64px;
  }
  .figures-grid {
    gap:24px;
  }
  .statistic {
    font-size:52px;
  }
  .figure h3 {
    font-size:20px;
  }
  .figure>p:last-child {
    font-size:14px;
  }
  .clients {
    padding-bottom:64px;
  }
  .client-logos {
    gap:14px 20px;
  }
  .client-logos img {
    width:calc((100% - 40px)/3);
    height:52px;
  }
  .industries {
    grid-template-columns:1fr;
    gap:32px;
    padding-top:0;
  }
  .section-intro {
    font-size:16px;
  }
  .stages {
    grid-template-columns:1fr;
    gap:28px;
    margin-top:32px;
  }
  .stages h3 {
    font-size:20px;
  }
  .approach h2 {
    max-width:550px;
  }
  .quote-panel blockquote {
    font-size:22px;
  }
  .quote-panel figcaption {
    gap:12px;
    font-size:14px;
  }
  .quote-panel figcaption img {
    width:104px;
    height:42px;
  }
  .quote-project {
    width:100%;
  }
  .logo-group>div {
    width:180px;
    height:110px;
    padding:20px;
  }
  .logo-group img {
    max-width:140px;
    max-height:70px;
  }
  .section-heading {
    align-items:start;
    flex-direction:column;
    gap:20px;
    margin-bottom:28px;
  }
  .article-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }
  .insights .article-grid {
    grid-template-columns:1fr;
  }
  .article-card h3 {
    font-size:23px;
  }
  .footer-cta {
    flex-direction:column;
    align-items:start;
    gap:28px;
  }
  .footer-cta h2 {
    font-size:30px;
  }
  .footer-cta p:not(.eyebrow) {
    font-size:16px;
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:32px 24px;
  }
  .footer-brand {
    grid-column:1/-1;
  }
  .footer-brand p {
    max-width:430px;
  }
  .legal {
    flex-direction:column;
    font-size:12px;
  }
  .blog-index,.single-main,.page-main {
    padding-top:164px;
    padding-bottom:64px;
  }
  .blog-heading {
    margin-bottom:36px;
  }
  .blog-heading h1 {
    font-size:42px;
  }
  .blog-heading>p:not(.eyebrow) {
    font-size:18px;
  }
  .blog-tools {
    align-items:stretch;
    flex-direction:column;
    gap:18px;
  }
  .blog-grid .article-card:first-child {
    grid-column:1/-1;
  }
  .blog-grid .article-card:first-child .article-cover {
    aspect-ratio:2/1;
  }
  .blog-grid .article-card:first-child h3 {
    font-size:27px;
  }
  .article-card-body {
    padding:20px;
  }
  .article-heading h1 {
    font-size:36px;
  }
  .article-heading {
    text-align:left;
    margin-bottom:32px;
  }
  .article-byline {
    justify-content:flex-start;
    gap:10px 16px;
  }
  .article-hero-image {
    border-radius:12px;
    margin-bottom:36px;
  }
  .reading-layout {
    grid-template-columns:1fr;
    gap:32px;
  }
  .article-sidebar {
    position:static;
    max-height:none;
    border-block:1px solid var(--line);
    padding-block:20px;
  }
  .share-links {
    margin-top:20px;
    padding-top:16px;
    display:flex;
    flex-wrap:wrap;
    gap:16px;
  }
  .share-links .eyebrow {
    width:100%;
  }
  .article-prose {
    font-size:17px;
    line-height:1.8;
  }
  .article-prose h2 {
    font-size:28px;
  }
  .article-prose blockquote {
    font-size:21px;
  }
  .admin-bar .site-header {
    top:46px;
  }
}
@media(max-width:480px) {
  .article-grid {
    grid-template-columns:1fr;
  }
  .figures-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  .figure {
    padding-top:20px;
  }
  .hero h1 {
    font-size:34px;
  }
  .blog-grid .article-card:first-child h3 {
    font-size:25px;
  }
  .blog-grid .article-card:first-child .article-cover {
    aspect-ratio:3/2;
  }
  .blog-grid .article-card:first-child .article-card-body {
    padding:20px;
  }
  .article-heading h1 {
    font-size:32px;
  }
  .footer-grid {
    font-size:14px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
  }
  [data-reveal].reveal-ready {
    opacity:1;
    transform:none;
  }
  .division-card:hover,.article-card:hover {
    transform:none;
  }
  .logo-track {
    width:100%;
  }
  .logo-group {
    width:100%;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
    padding:0;
  }
  .logo-group>div {
    width:calc(50% - 10px);
  }
  .logo-group[aria-hidden=true] {
    display:none;
  }
}
.admin-bar .site-header {
  top:var(--admin-offset,32px);
}
.admin-bar .reading-progress {
  top:calc(var(--nav-height) + var(--admin-offset,32px));
}
.division-scene {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:-3;
  overflow:hidden;
}
.division-scene image {
  filter:saturate(.7) brightness(.82);
}
.scene-pulse {
  fill:none;
  stroke:#c8f4ff;
  stroke-width:3;
  stroke-linecap:round;
  stroke-dasharray:5 95;
  animation:traced-pulse 3.6s linear infinite;
  filter:drop-shadow(0 0 4px #59cfff);
  opacity:.8;
}
.scene-optics .scene-pulse {
  stroke-width:4;
  stroke-dasharray:3 97;
  animation-duration:6s;
  opacity:.7;
}
.is-offscreen .scene-pulse {
  animation-play-state:paused;
}
@keyframes traced-pulse {
  from {
    stroke-dashoffset:100;
  }
  to {
    stroke-dashoffset:0;
  }
}
@media(prefers-reduced-motion:reduce) {
  .scene-pulses {
    display:none;
  }
}

/* Native form previews use the site's typography and spacing, with no builder CSS. */
.tf-form-preview { margin-block:32px; padding:clamp(24px,4vw,44px); border-radius:24px; background:#fff; }
.tf-form-preview fieldset { border:0; padding:0; margin:0; min-width:0; }
.tf-form-preview .form-notice { color:var(--muted); font-size:15px; margin-bottom:24px; }
.tf-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-bottom:24px; }
.tf-form-grid label { display:grid; gap:8px; font-size:15px; color:var(--ink); }
.tf-form-grid input,.tf-form-grid select,.tf-form-grid textarea { width:100%; min-width:0; padding:12px 14px; color:var(--text); background:var(--paper); border:1px solid var(--line); border-radius:10px; opacity:1; }
.tf-form-wide { grid-column:1/-1; }
.tf-form-preview button:disabled { opacity:.6; cursor:default; }
.page-prose img { max-height:480px; object-fit:contain; margin:24px auto; }
.page-prose .migrated-action { display:inline-flex; color:#fff; text-decoration:none; }
@media(max-width:600px) { .tf-form-grid { grid-template-columns:1fr; } }

.article-engagement { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin:48px 0 24px; padding-block:24px; border-block:1px solid var(--line); font-size:15px; }
.article-like { display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border:1px solid var(--line); border-radius:999px; color:var(--ink); background:#fff; transition:background .18s,color .18s,border-color .18s; }
.article-like svg { fill:none; stroke:currentColor; stroke-width:1.7; }
.article-like:hover:not(:disabled),.article-like[aria-pressed=true] { color:var(--blue); background:#e7f2ff; border-color:#b5d7fa; }
.article-like[aria-pressed=true] svg { fill:currentColor; }
.article-like:disabled { cursor:default; opacity:.65; }
[data-like-count] { font-variant-numeric:tabular-nums; min-width:1ch; }
.article-reply-link { color:var(--blue); }
.engagement-status { flex-basis:100%; color:var(--muted); font-size:14px; }
.engagement-status:empty { display:none; }
.article-cta { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:clamp(28px,4vw,48px); margin:40px 0; border-radius:24px; background:var(--ink); color:#fff; }
.article-cta .eyebrow { color:var(--optical); margin-bottom:12px; }
.article-cta h2 { font-size:clamp(28px,3vw,38px); margin-bottom:16px; }
.article-cta p:not(.eyebrow) { color:#d8e3ee; max-width:620px; }
.article-cta .action { flex-shrink:0; white-space:nowrap; }
.comment-list .children { margin:20px 0 0; padding-left:24px; list-style:none; border-left:2px solid var(--line); }
.comment-reply-link,#cancel-comment-reply-link { display:inline-block; color:var(--blue); font-weight:500; margin-top:12px; }
.comment-awaiting-moderation { color:var(--muted); }
@media(max-width:700px) { .article-cta { align-items:flex-start; flex-direction:column; } .article-engagement { align-items:flex-start; flex-direction:column; } .comment-list .children { padding-left:14px; } }

/* Landing page 0.2: clear chapters, image-led capabilities and industry routes. */
.tf-front .container { width:min(100% - 112px,1280px); }
.tf-front .landing-section { padding-block:100px; scroll-margin-top:0; }
.tf-front .chapter-heading { display:grid; grid-template-columns:220px minmax(0,1fr); gap:48px; margin-bottom:48px; }
.tf-front .chapter-label { display:flex; align-items:center; gap:12px; color:var(--blue); font-family:Manrope,sans-serif; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding-top:10px; }
.chapter-label>span { display:grid; place-items:center; width:28px; height:28px; border:1px solid currentColor; border-radius:50%; font-size:10px; letter-spacing:0; flex-shrink:0; }
.tf-front .chapter-heading h2 { font-family:Geist,sans-serif; font-size:clamp(36px,4.2vw,60px); font-weight:550; line-height:1.06; letter-spacing:-.045em; max-width:900px; }
.tf-front .chapter-intro { font-size:18px; line-height:1.6; color:#596674; margin-top:24px; max-width:730px; }
.tf-front .chapter-heading .text-action { margin-top:24px; }
.tf-front .trust-strip { background:white; border-bottom:1px solid var(--line); padding:30px 0; }
.trust-strip>.container { display:flex; align-items:center; gap:44px; }
.trust-strip p { font-size:12px; line-height:1.5; flex-shrink:0; color:var(--muted); }
.trust-strip strong { color:var(--ink); font-weight:600; }
.trust-logos { display:flex; align-items:center; justify-content:space-between; gap:32px; width:100%; }
.trust-logos img { max-width:115px; width:12%; height:40px; object-fit:contain; filter:grayscale(1); opacity:.8; }
.capability-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.capability-panel { background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 16px 48px #07172808; }
.capability-network { margin-top:80px; background:#eaf0f5; }
.capability-image { height:270px; position:relative; overflow:hidden; }
.capability-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.capability-panel:hover .capability-image img { transform:scale(1.035); }
.capability-index { position:absolute; top:24px; left:24px; background:#071728c9; color:#e2f5ff; border:1px solid #ffffff40; border-radius:30px; font-size:11px; letter-spacing:.09em; padding:6px 12px; }
.capability-copy { padding:32px 36px 0; }
.capability-copy .eyebrow { margin-bottom:16px; font-size:12px; font-weight:650; }
.capability-copy h3 { font-size:clamp(28px,2.5vw,36px); letter-spacing:-.035em; line-height:1.12; margin-bottom:20px; }
.capability-copy>p:not(.eyebrow) { font-size:16px; color:#596674; line-height:1.6; }
.capability-copy ul { list-style:none; padding:0; margin:24px 0; }
.capability-copy li { display:flex; gap:12px; padding:10px 0; border-bottom:1px solid #07172812; font-size:14px; }
.capability-copy li>span { color:var(--blue); }
.capability-link { display:flex; justify-content:space-between; align-items:center; min-height:74px; font:650 15px Manrope,sans-serif; color:var(--blue); gap:20px; }
.capability-link>span { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--blue); color:white; transition:transform .2s; }
.capability-link:hover>span { transform:translate(2px,-2px); }
.work-section { background:#eef2f5; }
.work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.work-card { background:white; border-radius:20px; padding:30px; display:flex; flex-direction:column; }
.work-card-top { display:flex; align-items:center; gap:20px; justify-content:space-between; margin-bottom:36px; }
.work-card-top img { width:100px; height:52px; object-fit:contain; }
.work-card-top>span { text-transform:uppercase; font:600 9px/1.4 Manrope,sans-serif; letter-spacing:.07em; max-width:100px; color:var(--muted); text-align:right; }
.work-card h3 { font-size:26px; font-weight:550; line-height:1.18; letter-spacing:-.025em; }
.work-card blockquote { margin:24px 0 0; padding-top:24px; border-top:1px solid var(--line); color:#596674; font-size:14px; line-height:1.65; }
.work-card blockquote footer { margin-top:18px; font-size:11px; font-weight:600; color:var(--blue); }
.work-link { margin-top:30px; }
.sectors-section { background:#081b2b; color:white; position:relative; }
.tf-front .sectors-section .chapter-label { color:#8ad4ff; }
.tf-front .sectors-section .chapter-intro { color:#b4c8d8; }
.sector-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.sector-card { min-height:390px; border-radius:20px; padding:32px; display:flex; flex-direction:column; position:relative; overflow:hidden; isolation:isolate; background:#163044; transition:transform .25s,box-shadow .25s; }
.sector-card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .7s; }
.sector-card::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,#06182808 5%,#06182815 25%,#061828c9 62%,#061828fa 100%); }
.sector-card:hover { transform:translateY(-4px); box-shadow:0 15px 50px #019aff16; }
.sector-card:hover>img { transform:scale(1.045); }
.sector-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:auto; }
.sector-top>span:last-child { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#ffffffed; color:#071728; font-size:23px; }
.sector-kicker { font:600 10px Manrope,sans-serif; text-transform:uppercase; letter-spacing:.13em; background:#071728ba; padding:7px 12px; border-radius:20px; }
.sector-card h3 { margin-top:85px; font-size:32px; color:#fff; letter-spacing:-.025em; }
.sector-card p { color:#deebf6; max-width:400px; font-size:15px; line-height:1.5; margin-top:12px; }
.sector-action { color:#8ad4ff; margin-top:18px; font-size:12px; font-weight:600; }
.process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:40px; }
.process-grid>li { border-top:1px solid #afc5d7; padding-top:24px; position:relative; }
.process-grid>li::before { content:''; position:absolute; width:9px; height:9px; background:var(--blue); border-radius:50%; top:-5px; left:0; }
.process-number { color:#b1c5d9; font-size:64px; font-weight:400; letter-spacing:-.06em; line-height:1; display:block; margin-bottom:24px; }
.process-grid h3 { font-size:24px; margin-bottom:14px; }
.process-grid p { color:#596674; font-size:16px; }
.ecosystem-panel { margin-top:76px; display:grid; grid-template-columns:1fr 1.5fr; gap:48px; align-items:center; background:#fff; padding:40px; border-radius:20px; }
.ecosystem-panel .eyebrow { font-size:11px; margin-bottom:12px; }
.ecosystem-panel h3 { font-size:26px; margin-bottom:12px; }
.ecosystem-panel p:not(.eyebrow) { color:#596674; font-size:14px; }
.ecosystem-panel .logo-window { margin:0; min-width:0; }
.ecosystem-panel .logo-group>div { width:160px; height:100px; padding:20px; }
.ecosystem-panel .logo-group img { max-width:120px; max-height:60px; }
.editorial-section { border-top:1px solid var(--line); background:white; }
.editorial-section .article-card { box-shadow:none; border-radius:16px; background:#f4f6f8; }
.editorial-section .article-card h3 { font-size:24px; line-height:1.22; }
.editorial-section .article-excerpt { display:none; }
.tf-front .footer-cta h2 { font-size:clamp(36px,4.2vw,58px); letter-spacing:-.04em; }
.nav-links a[aria-current=location] { background:var(--blue); color:white; }
.nav-toggle { display:none; }
@media(min-width:1101px) { .nav-inner { width:min(100% - 112px,1392px); gap:20px; } .nav-links a { padding:10px; } .nav-contact { display:inline-flex; font-size:13px; padding:13px 18px; } }
@media(max-width:1100px) {
 :root { --nav-height:76px; }
 .nav-inner { width:calc(100% - 48px); min-height:76px; padding:10px 0; flex-wrap:wrap; gap:0; }
 .site-header nav { width:100%; margin:0; order:4; }
 .nav-links { flex-wrap:wrap; padding-top:8px; justify-content:flex-start; }
 .nav-links a { font-size:14px; padding:12px; }
 .has-nav-js .site-header nav { display:none; }
 .has-nav-js .site-header.is-open nav { display:block; padding:12px 0 18px; }
 .has-nav-js .nav-toggle { display:flex; align-items:center; gap:10px; margin-left:auto; color:var(--ink); background:#ffffffcc; border:1px solid #07172820; padding:9px 12px; border-radius:10px; font-size:13px; }
 .site-header.is-open { background:#fff; box-shadow:0 10px 30px #07172815; }
 .nav-contact { display:none; }
 .tf-front .chapter-heading { grid-template-columns:160px minmax(0,1fr); gap:28px; }
 .tf-front .container { width:calc(100% - 64px); }
 .work-card { padding:24px; }
 .work-card h3 { font-size:22px; }
 .trust-logos { gap:18px; }
}
@media(max-width:700px) {
 .tf-front .container { width:calc(100% - 40px); }
 .tf-front .landing-section { padding-block:64px; }
 .tf-front .chapter-heading { display:block; margin-bottom:32px; }
 .tf-front .chapter-label { margin-bottom:24px; padding:0; }
 .tf-front .chapter-heading h2 { font-size:36px; line-height:1.08; }
 .tf-front .chapter-intro { font-size:16px; margin-top:18px; }
 .trust-strip>.container { display:block; }
 .trust-strip p br { display:none; }
 .trust-strip p { margin-bottom:20px; }
 .trust-logos { flex-wrap:wrap; gap:20px 28px; justify-content:flex-start; }
 .trust-logos img { width:calc((100% - 56px)/3); max-width:none; height:30px; }
 .capability-grid,.sector-grid,.work-grid,.process-grid,.ecosystem-panel { grid-template-columns:1fr; }
 .capability-network { margin-top:0; }
 .capability-copy { padding:24px 24px 0; }
 .capability-image { height:220px; }
 .capability-copy h3 { font-size:28px; }
 .capability-copy>p:not(.eyebrow) { font-size:15px; }
 .work-card-top { margin-bottom:24px; }
 .sector-card { min-height:360px; padding:26px; }
 .sector-card h3 { font-size:28px; }
 .process-grid { gap:28px; }
 .process-grid>li { display:grid; grid-template-columns:54px 1fr; gap:8px 20px; }
 .process-number { font-size:44px; grid-row:1/3; margin:0; }
 .process-grid h3 { font-size:24px; margin:0; }
 .process-grid p { grid-column:2; font-size:15px; }
 .ecosystem-panel { padding:28px; gap:24px; margin-top:48px; }
 .nav-links { display:grid; grid-template-columns:1fr 1fr; }
 .brand-name { font-size:22px; }
 .hero { padding-top:128px; }
}
@media(prefers-reduced-motion:reduce) { .capability-image img,.sector-card,.sector-card>img { transition:none; } .sector-card:hover,.sector-card:hover>img,.capability-panel:hover .capability-image img { transform:none; } }
.work-quote { margin-top:auto; padding-top:28px; }
.work-quote summary { cursor:pointer; display:flex; justify-content:space-between; gap:16px; padding-top:20px; border-top:1px solid var(--line); color:var(--blue); font-size:12px; font-weight:600; list-style:none; }
.work-quote summary::-webkit-details-marker { display:none; }
.work-quote[open] summary>span { transform:rotate(45deg); }
.work-card .work-quote blockquote { border:0; padding:0; margin-top:20px; }

/* Parent gateway: two routes, shared credentials and company context only. */
.gateway-about { display:grid; grid-template-columns:220px minmax(0,1fr); gap:48px; padding-block:72px; }
.gateway-about .eyebrow { padding-top:8px; font-size:12px; }
.gateway-about h2 { font-size:clamp(30px,3.2vw,46px); letter-spacing:-.035em; }
.gateway-about p:not(.eyebrow) { font-size:18px; color:var(--muted); max-width:760px; margin-top:22px; }
.gateway-about .text-action { margin-top:24px; }
.tf-front .site-footer { padding-top:48px; }
.tf-front .footer-grid { grid-template-columns:1.6fr 1fr 1fr; }
.nav-links a[aria-current=page] { color:#fff; background:var(--blue); }
.vertical-industries { padding-block:64px; }
.vertical-industries>h2 { margin-bottom:30px; }
.vertical-industries .sector-card { color:white; }
@media(max-width:700px) { .gateway-about { grid-template-columns:1fr; gap:12px; padding-block:48px; } .gateway-about h2 { font-size:32px; } .gateway-about p:not(.eyebrow) { font-size:16px; } .tf-front .footer-grid { grid-template-columns:1fr; gap:28px; } }

/* Blue-hour hero proposal: quiet background, clear type, two dominant routes. */
.tf-front .hero { background:#071728; padding:144px 48px 48px; gap:36px; }
.tf-front .hero-backdrop { object-position:center center; animation:hero-settle 16s ease-out both; }
.tf-front .hero-overlay { background:linear-gradient(180deg,#04152bcc 0%,#051a3470 30%,#06192b25 54%,#0415269c 82%,#061726e6 100%); }
.tf-front .hero-statement { max-width:1120px; }
.tf-front .hero h1 { color:#fff; font-size:clamp(28px,3vw,44px); font-weight:500; letter-spacing:-.035em; line-height:1.15; }
.tf-front .hero h1 br { display:none; }
.tf-front .hero h1 span { display:block; margin-top:12px; font-size:clamp(40px,4.5vw,64px); font-weight:600; line-height:1.08; color:#9bceff; letter-spacing:-.04em; }
.tf-front .hero-statement>p { font-size:clamp(18px,1.6vw,22px); color:#e3edf8; margin-top:24px; text-shadow:0 2px 12px #00122566; }
.tf-front .division-grid { max-width:960px; gap:28px; }
.tf-front .division-card { min-height:290px; padding:28px; background:#061626; box-shadow:0 12px 40px #0005; }
.tf-front .division-card::after { background:linear-gradient(180deg,#0411220a 0%,#04112266 40%,#041122ed 100%); }
.tf-front .division-card:hover,.tf-front .division-card:focus-visible { transform:translateY(-6px) scale(1.008); box-shadow:0 0 32px #3898ff70,0 18px 50px #0006; }
.tf-front .division-content .eyebrow { font-size:11px; font-weight:600; letter-spacing:.1em; color:#bedaff; }
.tf-front .division-content h2 { font-size:26px; letter-spacing:-.025em; }
.tf-front .division-content>p:not(.eyebrow) { font-size:14px; color:#dce5ef; }
.tf-front .division-content .text-action { margin-top:5px; font-size:14px; }
.tf-front .scene-pulses { opacity:.55; }
.tf-front .hero-proof { font-size:11px; color:#d7e4ef; letter-spacing:.07em; }
.tf-front .site-header:not(.is-scrolled):not(.is-open) .brand-name { color:#fff; }
.tf-front .site-header:not(.is-scrolled):not(.is-open) .brand-name>span { color:#85bdff; }
.tf-front .site-header:not(.is-scrolled):not(.is-open) .brand-mark::before { background:#85bdff; }
.tf-front .site-header:not(.is-scrolled):not(.is-open) .brand-descriptor { color:#d7e4ef; }
.tf-front .site-header:not(.is-scrolled):not(.is-open) .nav-links a { color:#edf5ff; }
.tf-front .site-header:not(.is-scrolled):not(.is-open) .nav-links a[aria-current=page] { background:#ffffff18; }
.tf-front .site-header:not(.is-scrolled):not(.is-open) .nav-links a:hover { background:var(--blue); }
@keyframes hero-settle { from { transform:scale(1.035); } to { transform:scale(1); } }
@media(max-width:809px) {
 .tf-front .hero { padding:120px 24px 36px; gap:28px; }
 .tf-front .hero h1 { font-size:28px; }
 .tf-front .hero h1 span { font-size:40px; margin-top:12px; }
 .tf-front .hero-statement>p { font-size:17px; margin-top:20px; }
 .tf-front .division-grid { gap:18px; }
 .tf-front .division-card { min-height:240px; padding:24px; }
 .tf-front .division-content h2 { font-size:23px; }
 .tf-front .hero-proof { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .tf-front .hero-backdrop { animation:none; } .tf-front .division-card:hover,.tf-front .division-card:focus-visible { transform:none; } }

/* Company context and mission stay in one concise parent section. */
.tf-front .gateway-about { grid-template-columns:1.15fr 1fr; align-items:center; gap:64px; padding-block:88px; }
.gateway-story h2 { max-width:550px; }
.gateway-story .eyebrow { padding:0; margin-bottom:20px; }
.gateway-story p:not(.eyebrow) { font-size:16px; line-height:1.7; margin-top:20px; }
.gateway-mission { background:linear-gradient(145deg,#0a2b4d,#071728); border-radius:24px; padding:40px; box-shadow:0 18px 44px #07172812; }
.gateway-about .gateway-mission .eyebrow { color:#9bceff; padding:0; margin:0 0 24px; font-size:12px; }
.gateway-about .gateway-mission .mission-statement { color:#fff; font-size:clamp(23px,2.3vw,31px); font-weight:500; line-height:1.28; letter-spacing:-.025em; margin:0; text-wrap:pretty; }
.gateway-about .gateway-mission .mission-support { color:#bed0e0; font-size:14px; line-height:1.6; margin-top:28px; padding-top:24px; border-top:1px solid #ffffff24; }
@media(max-width:900px) { .tf-front .gateway-about { gap:32px; } .gateway-mission { padding:30px; } }
@media(max-width:700px) { .tf-front .gateway-about { grid-template-columns:1fr; padding-block:56px; gap:32px; } .gateway-story h2 { font-size:34px; } .gateway-about .gateway-mission .mission-statement { font-size:26px; } }
.leadership-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; padding-bottom:64px; }
.leader-card { background:#fff; border-radius:20px; overflow:hidden; }
.leader-photo { aspect-ratio:4/5; background:#e8eef4; }
.leader-photo img { width:100%; height:100%; object-fit:cover; }
.leader-copy { padding:28px; }
.leader-copy h2 { font-size:27px; }
.leader-role { font-size:14px; font-weight:600; color:var(--blue); margin-top:10px; }
.leader-bio { color:var(--muted); font-size:16px; margin-top:20px; white-space:pre-line; }
.leader-copy .text-action { margin-top:24px; }
.leadership-empty { padding:40px; background:white; border-radius:20px; margin-bottom:64px; }
.leadership-empty h2 { font-size:28px; }
.leadership-empty p { margin-top:16px; color:var(--muted); }
.leadership-empty .text-action { margin-top:24px; }
@media(max-width:900px) { .leadership-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .leadership-grid { grid-template-columns:1fr; } .leadership-empty { padding:28px; } }

.leader-photo-placeholder { aspect-ratio:16/9; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; background:radial-gradient(ellipse at 70% 20%,#164976,#071728 80%); color:#a5d0ff; }
.leader-initials { font-size:64px; font-weight:500; letter-spacing:-.05em; }

/* Corporate homepage: eight clear chapters, with separate division destinations. */
.home-block { padding:88px 0; }
.home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:40px; }
.home-section-heading>div { flex:1.5; }
.home-section-heading .eyebrow { color:var(--blue); font-size:11px; letter-spacing:.12em; margin-bottom:18px; }
.home-section-heading h2 { font-size:clamp(32px,3.5vw,49px); line-height:1.08; letter-spacing:-.04em; max-width:800px; }
.home-section-heading>p { flex:1; max-width:380px; font-size:16px; line-height:1.7; color:#596674; }
.home-section-heading>.text-action { flex-shrink:0; }
.home-relationships { background:#fff; padding:56px 0 44px; border-bottom:1px solid var(--line); }
.home-relationships .home-section-heading h2 { font-size:clamp(28px,2.5vw,36px); }
.relationship-row { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:center; gap:32px; padding:24px 0; }
.relationship-row>p { font-size:12px; color:#65707c; line-height:1.6; max-width:145px; }
.relationship-logos { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.relationship-logos img { width:calc((100% - 140px)/6); height:48px; object-fit:contain; max-width:130px; }
.relationship-platforms { border-top:1px solid var(--line); }
.relationship-platforms .relationship-logos { justify-content:flex-start; gap:64px; }
.relationship-platforms img { width:120px; height:48px; }
.home-trust { background:#081b2c; color:white; }
.home-trust .eyebrow { color:#91caff; }
.home-trust h2 { color:white; }
.home-trust .home-section-heading>p { color:#becddc; }
.trust-projects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.trust-project { background:#102a40; border-radius:20px; padding:30px; position:relative; }
.project-index { position:absolute; top:30px; right:28px; color:#8ea4b9; font-size:12px; }
.project-logo { height:74px; width:140px; padding:12px; background:#fff; border-radius:10px; margin-bottom:36px; display:grid; place-items:center; }
.project-logo img { max-width:100%; max-height:50px; object-fit:contain; }
.trust-project .eyebrow { font-size:10px; margin-bottom:12px; }
.trust-project h3 { font-size:26px; line-height:1.22; letter-spacing:-.025em; min-height:96px; color:white; }
.trust-project details { border-top:1px solid #ffffff26; margin-top:24px; padding-top:20px; }
.trust-project summary { display:flex; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; color:#a7d3ff; font-size:13px; }
.trust-project summary::-webkit-details-marker { display:none; }
.trust-project blockquote { margin:20px 0 0; padding:0; border:0; }
.trust-project blockquote p { font-size:15px; line-height:1.7; color:#e4ecf4; }
.trust-project cite { display:block; font-style:normal; font-size:12px; color:#9db7cc; margin-top:20px; }
.home-industries { background:#f1f4f7; }
.home-industries .sector-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.home-industries .sector-card { min-height:390px; padding:24px; color:white; }
.home-industries .sector-card h3 { font-size:25px; min-height:60px; }
.home-industries .sector-card p { font-size:14px; min-height:64px; }
.home-industries .sector-kicker { font-size:9px; }
.home-insights .article-card h3 { font-size:22px; }
.home-insights .article-card-body { padding:25px; }
.home-insights .article-cover { aspect-ratio:16/10; }
.home-engage { background:#e9f1f9; }
.engage-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; list-style:none; padding:0; margin:48px 0 36px; }
.engage-steps li { border-top:1px solid #b9c9d8; padding-top:24px; }
.engage-steps li>span { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#fff; color:var(--blue); font-size:13px; margin-bottom:22px; }
.engage-steps h3 { font-size:25px; margin-bottom:14px; letter-spacing:-.025em; }
.engage-steps p { font-size:15px; color:#596674; line-height:1.7; max-width:350px; }
.engage-actions { display:flex; gap:16px; flex-wrap:wrap; }
.engage-secondary { background:#081b2c; }
.site-footer .footer-grid,.tf-front .site-footer .footer-grid { grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; }
.site-footer .footer-brand>h3 { font-size:29px; letter-spacing:-.04em; }
.site-footer .footer-brand>p { font-size:14px; max-width:315px; }
.site-footer .footer-grid h3:not(.footer-brand>h3) { font-size:14px; }
.site-footer .footer-grid li { font-size:13px; line-height:1.65; }
.footer-presence { padding:36px 0 0; border-top:1px solid #ffffff26; margin-top:48px; }
.presence-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.presence-heading .eyebrow { font-size:11px; color:#a7d3ff; }
.presence-heading>p:last-child { font-size:14px; color:#a8bbcd; }
.presence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.presence-grid>div { display:flex; align-items:center; gap:20px; background:#ffffff06; border-radius:14px; padding:24px; }
.country-flag { font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif; font-size:36px; line-height:1; }
.presence-grid p strong { display:block; color:#fff; font-size:20px; font-weight:500; }
.presence-grid p>span { display:block; font-size:13px; color:#a8bbcd; margin-top:4px; }
.tf-front .site-header:not(.is-scrolled):not(.is-open) .nav-links a[aria-current=location] { background:var(--blue); color:#fff; }
@media(min-width:1101px) { .tf-front .nav-links { gap:3px; } .tf-front .nav-links a { padding:10px 8px; font-size:12px; } }
@media(max-width:1100px) { .home-industries .sector-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .home-industries .sector-card h3,.home-industries .sector-card p { min-height:0; } .trust-project { padding:24px; } .relationship-platforms .relationship-logos { gap:32px; } .relationship-platforms img { width:calc((100% - 96px)/4); } }
@media(max-width:809px) { .home-block { padding:56px 0; } .home-section-heading { align-items:flex-start; flex-direction:column; gap:22px; margin-bottom:30px; } .home-section-heading>p { max-width:600px; font-size:15px; } .relationship-row { grid-template-columns:1fr; gap:16px; } .relationship-row>p { max-width:none; } .relationship-logos { flex-wrap:wrap; gap:24px; justify-content:flex-start; } .relationship-logos img { width:calc((100% - 48px)/3); max-width:none; height:38px; } .relationship-platforms .relationship-logos { gap:24px; } .relationship-platforms img { width:calc((100% - 24px)/2); height:40px; } .trust-projects { grid-template-columns:1fr; } .trust-project h3 { min-height:0; max-width:500px; } .project-logo { margin-bottom:24px; } .engage-steps { gap:24px; } .site-footer .footer-grid,.tf-front .site-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; } .footer-brand { grid-column:1/-1; } .presence-grid { gap:12px; } .presence-grid>div { padding:18px; gap:12px; } .country-flag { font-size:28px; } }
@media(max-width:600px) { .home-industries .sector-grid,.engage-steps,.presence-grid { grid-template-columns:1fr; } .home-industries .sector-card { min-height:360px; } .home-insights .article-grid { grid-template-columns:1fr; } .engage-steps { gap:28px; } .engage-actions { flex-direction:column; } .engage-actions .button { justify-content:space-between; font-size:14px; } .presence-heading { align-items:flex-start; flex-direction:column; gap:12px; } .presence-grid>div { padding:22px; } .country-flag { font-size:32px; } .home-relationships { padding:44px 0 20px; } }

/* Leadership profiles: open portrait layout, without enclosing cards. */
.team-page .article-heading { text-align:left; border-bottom:1px solid var(--line); padding-bottom:44px; margin-bottom:52px; }
.team-page .article-heading .section-intro { margin-left:0; max-width:680px; }
.team-page .leadership-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 40px; padding-bottom:88px; max-width:940px; margin-inline:auto; }
.team-page .leader-card { background:transparent; border-radius:0; overflow:visible; text-align:center; }
.team-page .leader-photo { width:min(100%,152px); aspect-ratio:1; border-radius:50%; overflow:hidden; margin:0 auto; }
.team-page .leader-photo-placeholder { background:radial-gradient(circle at 30% 20%,#e3efff,#c3d8ee 75%); color:#075aa6; gap:10px; box-shadow:inset 0 0 0 1px #ffffffaa; }
.team-page .leader-initials { font-size:40px; font-weight:500; }
.team-page .leader-copy { padding:18px 0 0; }
.team-page .leader-copy h2 { font-size:20px; letter-spacing:-.025em; margin:0; }
.team-page .leader-role { min-height:0; font-size:13px; line-height:1.55; margin-top:6px; }
.team-page .leader-bio { font-size:14px; text-align:left; }
@media(max-width:860px) { .team-page .leadership-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 32px; max-width:560px; } }
@media(max-width:500px) { .team-page .leadership-grid { grid-template-columns:1fr; gap:36px; max-width:none; } .team-page .leader-photo { width:150px; } .team-page .article-heading { padding-bottom:30px; margin-bottom:40px; } }

.tf-front main>section[id] { scroll-margin-top:0; }

@media(min-width:1101px) { .nav-mobile-engage { display:none; } }

/* A compact, consistent social row across every footer. */
.site-footer .footer-grid .footer-social-icons { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.footer-social-icons li { display:flex; }
.footer-social-icons .social-icon-link { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; line-height:1; }
.footer-social-icons .social-icon-link { background:#ffffff14; color:#e6f1fc; transition:background .18s,color .18s; }
.footer-social-icons .social-icon-link:hover,.footer-social-icons .social-icon-link:focus-visible { background:var(--blue); color:white; text-decoration:none; }
.footer-social-icons .social-icon-link:focus-visible { outline:2px solid #a7d3ff; outline-offset:4px; }
.footer-social-icons svg { display:block; width:18px; height:18px; }

/* Four brand commitments, followed by compact client evidence. */
.promise-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.promise-panel { padding:30px 26px; background:#fff; border-radius:18px; color:#172c40; }
.promise-icon { width:58px; height:58px; display:grid; place-items:center; background:#edf5fc; border-radius:16px; color:var(--blue); margin-bottom:30px; }
.home-trust .promise-panel h3 { color:var(--blue); font-size:21px; line-height:1.2; letter-spacing:-.025em; min-height:51px; }
.promise-title { font-size:15px; line-height:1.45; font-weight:650; margin-top:18px; min-height:44px; color:#172c40; }
.promise-body { font-size:14px; line-height:1.75; color:#586775; margin-top:14px; }
.promise-evidence-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:50px; padding-top:32px; margin-bottom:24px; border-top:1px solid #ffffff26; }
.promise-evidence-heading .eyebrow { font-size:10px; }
.promise-evidence-heading>p:last-child { font-size:13px; color:#b7cbdd; }
.home-trust .trust-project { background:transparent; border:1px solid #ffffff20; padding:24px; }
.home-trust .trust-project .project-logo { width:106px; height:56px; margin-bottom:22px; }
.home-trust .trust-project .project-logo img { max-height:36px; }
.home-trust .trust-project h3 { font-size:21px; min-height:76px; }
@media(max-width:1100px) { .promise-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .home-trust .promise-panel h3,.promise-title { min-height:0; } }
@media(max-width:600px) { .promise-grid { grid-template-columns:1fr; gap:16px; } .promise-panel { padding:26px; } .promise-icon { margin-bottom:22px; } .promise-evidence-heading { align-items:flex-start; flex-direction:column; gap:10px; } .home-trust .trust-project h3 { min-height:0; } }
.feedback-disclosure { color:#a2b9ce; font-size:11px; margin:-12px 0 24px; }
.feedback-brief .feedback-summary { color:#f0f5fa; font-size:19px; line-height:1.5; letter-spacing:-.015em; min-height:114px; }
.feedback-brief .feedback-role { color:#a2b9ce; font-size:12px; margin-top:18px; }
.feedback-brief details { padding-top:16px; margin-top:20px; }
@media(max-width:809px) { .feedback-brief .feedback-summary { min-height:0; } }

/* Brand promises as an open editorial list. */
.promise-grid { display:block; }
.promise-panel { display:grid; grid-template-columns:44px minmax(210px,.9fr) minmax(0,1.5fr); column-gap:32px; row-gap:10px; align-items:start; padding:30px 0; border-top:1px solid #ffffff26; border-radius:0; background:transparent; }
.promise-panel:last-child { border-bottom:1px solid #ffffff26; }
.promise-icon { grid-column:1; grid-row:1/3; width:36px; height:36px; margin:0; background:transparent; border-radius:0; color:#8fc7ff; }
.home-trust .promise-panel h3 { grid-column:2; grid-row:1; color:#fff; font-size:24px; min-height:0; line-height:1.2; }
.promise-panel .promise-title { grid-column:2; grid-row:2; color:#a9c9e6; font-size:14px; font-weight:450; min-height:0; margin:0; line-height:1.5; }
.promise-panel .promise-body { grid-column:3; grid-row:1/3; color:#cad7e3; font-size:16px; line-height:1.7; margin:0; max-width:590px; }
.promise-evidence-heading { border:0; margin-top:48px; padding-top:0; }
@media(max-width:900px) { .promise-panel { grid-template-columns:36px minmax(150px,.8fr) minmax(0,1.2fr); column-gap:22px; } .home-trust .promise-panel h3 { font-size:21px; } .promise-panel .promise-body { font-size:15px; } }
@media(max-width:600px) { .promise-panel { grid-template-columns:32px minmax(0,1fr); column-gap:18px; row-gap:10px; padding:26px 0; } .promise-icon { grid-row:1/3; width:30px; height:30px; } .promise-icon svg { width:28px; height:28px; } .promise-panel .promise-body { grid-column:2; grid-row:3; margin-top:6px; } }

/* Brief homepage proof, with complete testimonials on their own page. */
.home-trust .trust-project.feedback-brief { border:0; border-radius:0; padding:0 28px 0 0; }
.home-trust .trust-project.feedback-brief+.feedback-brief { padding-left:28px; border-left:1px solid #ffffff26; }
.feedback-brief .feedback-summary { min-height:0; font-size:17px; }
.home-trust .feedback-more { color:#a9d4ff; margin-top:32px; font-size:14px; }
.client-feedback-page { padding-bottom:72px; }
.client-feedback-page .article-heading { text-align:left; }
.full-feedback { display:grid; grid-template-columns:200px minmax(0,1fr); gap:56px; padding:48px 0; border-top:1px solid var(--line); }
.feedback-client img { width:150px; height:75px; object-fit:contain; padding:12px; background:#fff; border-radius:10px; }
.feedback-client .eyebrow { font-size:10px; color:var(--blue); margin-top:24px; }
.full-feedback h2 { font-size:27px; line-height:1.25; letter-spacing:-.025em; margin-bottom:22px; }
.full-feedback blockquote { margin:0; padding:0; border:0; }
.full-feedback blockquote p { font-size:20px; line-height:1.7; color:#425669; }
.full-feedback cite { display:block; font-size:13px; font-style:normal; color:#65788a; margin-top:24px; }
.client-feedback-page>.text-action { margin-top:24px; }
@media(max-width:809px) { .home-trust .trust-project.feedback-brief { padding:0; } .home-trust .trust-project.feedback-brief+.feedback-brief { padding:24px 0 0; border-left:0; border-top:1px solid #ffffff26; } .full-feedback { grid-template-columns:1fr; gap:28px; padding:36px 0; } .full-feedback h2 { font-size:24px; } .full-feedback blockquote p { font-size:18px; } }

/* Open promises arranged around the company mark. */
.promise-constellation { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 200px minmax(0,1fr); gap:58px 50px; padding:24px 30px 40px; }
.promise-constellation .promise-center { grid-column:2; grid-row:1/3; align-self:center; display:flex; align-items:center; justify-content:center; flex-direction:column; width:200px; height:200px; border-radius:50%; border:1px solid #8ccaff26; background:radial-gradient(circle,#163d61 0%,#0b2339 65%,#081b2c 100%); box-shadow:0 0 90px #1b81d51a; }
.promise-center .brand-mark { transform:scale(1.45); margin:6px 0 25px; }
.promise-center .brand-mark::before { background:#a1d0ff; }
.promise-center>span:not(.brand-mark) { font-size:19px; letter-spacing:-.03em; color:#f1f7ff; font-weight:600; }
.promise-center small { color:#9dbbd5; font-size:10px; margin-top:7px; }
.promise-constellation .promise-panel { display:block; padding:0; border:0; background:transparent; text-align:left; }
.promise-constellation .promise-panel:nth-of-type(1) { grid-column:1; grid-row:1; }
.promise-constellation .promise-panel:nth-of-type(2) { grid-column:3; grid-row:1; }
.promise-constellation .promise-panel:nth-of-type(3) { grid-column:1; grid-row:2; }
.promise-constellation .promise-panel:nth-of-type(4) { grid-column:3; grid-row:2; }
.promise-constellation .promise-icon { margin:0 0 20px; color:#8dc7ff; }
.home-trust .promise-constellation .promise-panel h3 { font-size:25px; line-height:1.2; margin:0; }
.promise-constellation .promise-title { margin:12px 0 0; font-size:14px; color:#a9cee9; }
.promise-constellation .promise-body { margin:16px 0 0; font-size:15px; line-height:1.75; color:#c0cddb; }
@media(max-width:1100px) { .promise-constellation { grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr); gap:42px 30px; padding-inline:0; } .promise-constellation .promise-center { width:150px; height:150px; } .promise-center .brand-mark { transform:scale(1.1); margin:0 0 12px; } .promise-center>span:not(.brand-mark) { font-size:17px; } .promise-center small { font-size:9px; } }
@media(max-width:809px) { .promise-constellation { grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 32px; } .promise-constellation .promise-center { grid-column:1/-1; grid-row:1; justify-self:center; } .promise-constellation .promise-panel:nth-of-type(1) { grid-column:1; grid-row:2; } .promise-constellation .promise-panel:nth-of-type(2) { grid-column:2; grid-row:2; } .promise-constellation .promise-panel:nth-of-type(3) { grid-column:1; grid-row:3; } .promise-constellation .promise-panel:nth-of-type(4) { grid-column:2; grid-row:3; } .home-trust .promise-constellation .promise-panel h3 { font-size:22px; } }
@media(max-width:500px) { .promise-constellation { display:flex; flex-direction:column; align-items:center; gap:42px; padding:10px 4px 24px; } .promise-constellation .promise-panel { text-align:center; max-width:370px; } .promise-constellation .promise-icon { margin:0 auto 16px; } .promise-constellation .promise-body { font-size:15px; } }

/* Full testimonials use individual client cards. */
.full-feedback-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.full-feedback-list .full-feedback { display:flex; flex-direction:column; gap:26px; padding:28px; background:#fff; border:1px solid #e5ebf1; border-radius:20px; box-shadow:0 10px 30px #07172805; }
.full-feedback-list .feedback-client .eyebrow { margin:16px 0 0; }
.full-feedback-list .feedback-client img { padding:8px 0; object-position:left center; }
.full-feedback-list .full-feedback>div:last-child { display:flex; flex:1; flex-direction:column; }
.full-feedback-list .full-feedback h2 { font-size:22px; line-height:1.3; margin-bottom:24px; }
.full-feedback-list .full-feedback blockquote { display:flex; flex:1; flex-direction:column; }
.full-feedback-list .full-feedback blockquote p { font-size:16px; line-height:1.75; margin-bottom:28px; }
.full-feedback-list .full-feedback cite { margin-top:auto; padding-top:20px; border-top:1px solid var(--line); line-height:1.6; font-size:12px; }
@media(max-width:1000px) { .full-feedback-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .full-feedback-list { grid-template-columns:1fr; } .full-feedback-list .full-feedback { padding:26px; } }

.presence-grid>div { align-items:flex-start; }
.presence-grid .country-flag { margin-top:4px; flex-shrink:0; }
.presence-grid p>.presence-role { margin-top:12px; color:#d5e4f1; font-size:12px; line-height:1.6; }

/* Compact shared footer and location strip. */
.site-footer,.tf-front .site-footer { padding:28px 0 22px; }
.site-footer .footer-cta { gap:24px; padding-bottom:26px; }
.site-footer .footer-cta .eyebrow { margin-bottom:8px; font-size:10px; }
.site-footer .footer-cta h2 { font-size:28px; margin-bottom:10px; }
.site-footer .footer-cta p:not(.eyebrow) { font-size:14px; max-width:650px; }
.site-footer .footer-cta .button { font-size:13px; padding:13px 16px; }
.site-footer .footer-grid { padding-block:26px; gap:28px; }
.site-footer .footer-grid h3 { margin-bottom:12px; }
.site-footer .footer-grid ul { gap:8px; }
.site-footer .footer-brand>h3 { font-size:25px; }
.site-footer .footer-brand>p { font-size:13px; line-height:1.6; }
.site-footer .footer-grid .footer-social-icons { margin-top:16px; gap:8px; }
.footer-social-icons .social-icon-link { width:34px; height:34px; }
.site-footer .footer-presence { margin-top:0; padding:18px 0; }
.site-footer .presence-heading { margin-bottom:14px; }
.site-footer .presence-heading .eyebrow { margin:0; font-size:10px; }
.site-footer .presence-grid { gap:24px; }
.site-footer .presence-grid>div { background:transparent; border-radius:0; padding:0; gap:12px; }
.site-footer .presence-grid .country-flag { font-size:23px; margin-top:2px; }
.site-footer .presence-grid p strong { font-size:15px; line-height:1.4; }
.site-footer .presence-grid p>span { font-size:11px; margin-top:2px; line-height:1.45; }
.site-footer .presence-grid p>.presence-role { margin-top:5px; color:#c5d7e7; font-size:11px; line-height:1.5; }
.site-footer .legal { padding-top:16px; font-size:11px; }
@media(max-width:809px) { .site-footer .footer-grid,.tf-front .site-footer .footer-grid { gap:24px; } .site-footer .presence-grid { gap:18px; } }
@media(max-width:600px) { .site-footer .footer-cta { align-items:flex-start; gap:18px; } .site-footer .presence-grid { gap:14px; } .site-footer .presence-grid>div+div { padding-top:14px; border-top:1px solid #ffffff12; } .site-footer .presence-grid p strong { display:inline; } .site-footer .presence-grid p>span:not(.presence-role) { display:inline; margin-left:7px; } .site-footer .presence-grid p>.presence-role { margin-top:3px; } }

/* Accessible solutions disclosure in the shared navigation. */
/* Services navigation uses compact versions of the hero imagery. */
.nav-solutions { position:relative; }
.solutions-toggle { display:flex; align-items:center; gap:7px; border:0; border-radius:9px; padding:10px; background:transparent; color:var(--ink); font:inherit; font-size:13px; cursor:pointer; transition:color .18s,background-color .18s; }
.solutions-toggle svg { transition:transform .18s; }
.solutions-toggle[aria-expanded=true] svg { transform:rotate(180deg); }
.site-header .nav-links>li>a:hover,.site-header .nav-links>li>a:focus-visible,.solutions-toggle:hover,.solutions-toggle[aria-expanded=true],.solutions-toggle.is-current { background:#0564c110; color:var(--blue); }
.tf-front .site-header:not(.is-scrolled):not(.is-open) .solutions-toggle { color:#edf5ff; }
.tf-front .site-header:not(.is-scrolled):not(.is-open) .nav-links>li>a:hover,.tf-front .site-header:not(.is-scrolled):not(.is-open) .solutions-toggle:hover,.tf-front .site-header:not(.is-scrolled):not(.is-open) .solutions-toggle[aria-expanded=true] { background:#ffffff18; color:#fff; }
.solutions-toggle:focus-visible { outline:2px solid #56a6f6; outline-offset:3px; }
.nav-links .solutions-menu { position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%); display:grid; grid-template-columns:1fr 1fr; width:640px; gap:12px; padding:12px; margin:0; list-style:none; background:#fff; border:1px solid #e1e8ef; border-radius:22px; box-shadow:0 20px 60px #07172835; z-index:10; }
.nav-links .solutions-menu[hidden] { display:none; }
:is(.tf-front,.tf-interior) .site-header .nav-links .solutions-menu .service-preview { position:relative; display:flex; align-items:flex-end; height:242px; padding:22px; overflow:hidden; isolation:isolate; color:#fff; background:#071827; border-radius:14px; white-space:normal; line-height:1.35; text-decoration:none; transition:transform .22s ease,box-shadow .22s ease; }
.service-preview-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .4s ease; }
.service-preview::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#07182705 0%,#07182765 30%,#071827f0 80%); z-index:-1; }
.service-preview-copy { display:block; }
.service-preview-copy strong { display:block; max-width:250px; font-size:22px; font-weight:600; letter-spacing:-.025em; line-height:1.12; }
.service-preview-description { display:block; font-size:12px; color:#d6e6f2; margin-top:9px; }
.service-preview-action { display:flex; align-items:center; gap:7px; margin-top:17px; font-size:12px; font-weight:600; color:#fff; }
.service-preview-action>span { font-size:18px; }
:is(.tf-front,.tf-interior) .site-header .nav-links .solutions-menu .service-preview:hover,:is(.tf-front,.tf-interior) .site-header .nav-links .solutions-menu .service-preview:focus-visible { background:#071827; color:#fff; transform:translateY(-3px); box-shadow:0 5px 18px #047cd44a; }
.service-preview:hover .service-preview-image { transform:scale(1.035); }
:is(.tf-front,.tf-interior) .site-header .nav-links .solutions-menu .service-preview:focus-visible { outline:3px solid #2696ef; outline-offset:2px; }
:is(.tf-front,.tf-interior) .site-header .nav-links .solutions-menu .service-preview[aria-current=page] { background:#071827; color:#fff; box-shadow:0 0 0 2px #2696ef; }
.tf-front .hero-proof { text-transform:none; letter-spacing:.01em; font-size:14px; line-height:1.6; }
@media(max-width:1100px) {
 .nav-solutions { flex-basis:100%; grid-column:1/-1; width:100%; }
 .solutions-toggle { font-size:14px; padding:12px; }
 .nav-links .solutions-menu { position:static; transform:none; width:100%; margin:4px 0 8px; padding:4px; box-shadow:none; background:transparent; border:0; }
 .site-header.is-open { max-height:100dvh; overflow-y:auto; }
}
@media(max-width:550px) {
 .nav-links .solutions-menu { grid-template-columns:1fr; gap:10px; }
 :is(.tf-front,.tf-interior) .site-header .nav-links .solutions-menu .service-preview { height:166px; padding:18px; }
 .service-preview-copy strong { font-size:20px; max-width:none; }
 .service-preview-action { margin-top:10px; }
 .tf-front .hero-proof { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .solutions-toggle,.solutions-toggle svg,.service-preview-image,:is(.tf-front,.tf-interior) .site-header .nav-links .solutions-menu .service-preview { transition:none; } :is(.tf-front,.tf-interior) .site-header .nav-links .solutions-menu .service-preview:hover,.service-preview:hover .service-preview-image { transform:none; } }

/* Compact touch navigation, with a clear open and close state. */
@media(max-width:1100px) {
 .has-nav-js .nav-toggle { width:44px; height:44px; padding:10px; justify-content:center; flex-shrink:0; cursor:pointer; border:0; background:transparent; }
 .nav-toggle:hover { background:#0564c110; }
 .nav-toggle:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
 .tf-front .site-header:not(.is-scrolled):not(.is-open) .nav-toggle { color:#fff; }
 .tf-front .site-header:not(.is-scrolled):not(.is-open) .nav-toggle:hover { background:#ffffff18; }
 .hamburger { position:relative; display:block; width:22px; height:18px; }
 .hamburger>span { position:absolute; left:0; width:22px; height:2px; border-radius:2px; background:currentColor; transition:transform .2s ease,opacity .2s ease; }
 .hamburger>span:nth-child(1) { top:1px; }
 .hamburger>span:nth-child(2) { top:8px; }
 .hamburger>span:nth-child(3) { top:15px; }
 .nav-toggle[aria-expanded=true] .hamburger>span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
 .nav-toggle[aria-expanded=true] .hamburger>span:nth-child(2) { opacity:0; }
 .nav-toggle[aria-expanded=true] .hamburger>span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
}
@media(prefers-reduced-motion:reduce) { .hamburger>span { transition:none; } }

/* One continuous strip of existing client and platform logos. */
.home-relationships { padding:34px 0; }
.logo-carousel-heading { margin:0 0 24px; text-align:center; font-size:14px; font-weight:500; line-height:1.5; letter-spacing:0; color:#65707c; }
.logo-carousel { overflow:hidden; padding:8px 0; mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.logo-carousel-track { display:flex; width:max-content; animation:tf-logo-scroll 48s linear infinite; }
.logo-carousel-group { display:flex; align-items:center; gap:40px; list-style:none; margin:0; padding:0 40px 0 0; flex-shrink:0; }
.logo-carousel-group li { display:flex; align-items:center; justify-content:center; width:156px; height:64px; flex-shrink:0; }
.logo-carousel-group img { display:block; width:auto; height:auto; max-width:150px; max-height:52px; object-fit:contain; }
.logo-carousel:hover .logo-carousel-track,.logo-carousel:focus-within .logo-carousel-track { animation-play-state:paused; }
.logo-carousel:focus-visible { outline:2px solid var(--blue); outline-offset:4px; border-radius:4px; }
@keyframes tf-logo-scroll { to { transform:translateX(-50%); } }
@media(max-width:600px) {
 .home-relationships { padding:28px 0; }
 .logo-carousel-heading { max-width:300px; margin:0 auto 18px; font-size:12px; }
 .logo-carousel-group { gap:28px; padding-right:28px; }
 .logo-carousel-group li { width:130px; height:54px; }
 .logo-carousel-group img { max-width:124px; max-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
 .logo-carousel { overflow-x:auto; mask-image:none; }
 .logo-carousel-track { animation:none; }
 .logo-carousel-group[aria-hidden=true] { display:none; }
}

@media(min-width:1101px) {
 .site-header .nav-links { gap:24px; }
 .site-header .nav-links>li>a,.site-header .solutions-toggle { padding:10px 14px; font-size:15px; }
}
@media(min-width:1101px) and (max-width:1240px) {
 .site-header .nav-links { gap:12px; }
 .site-header .nav-links>li>a,.site-header .solutions-toggle { padding:10px; }
}

@media(max-width:1100px) { .site-header .nav-links>li>a,.site-header .solutions-toggle { font-size:16px; } }

.testimonial-rating { display:flex; align-items:center; gap:10px; margin:0 0 16px; }
.testimonial-stars { display:flex; align-items:center; gap:4px; color:#bc801c; }
.testimonial-score { font-size:12px; line-height:1; font-weight:600; color:var(--ink); }
.home-trust .testimonial-stars { color:#f3c265; filter:drop-shadow(0 0 5px #e6af3938); }
.home-trust .testimonial-score { color:#e3edf5; }

/* Ratings share the top line with client logos. */
.testimonial-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.testimonial-heading .testimonial-rating { flex-shrink:0; flex-direction:column; align-items:flex-end; gap:7px; margin:0; padding-top:0; }
.testimonial-heading .testimonial-stars { gap:3px; }
.testimonial-heading .testimonial-stars svg { width:16px; height:16px; }
.home-trust .testimonial-heading .project-logo { margin-bottom:0; flex-shrink:1; }
.full-feedback-list .testimonial-heading img { width:110px; max-width:42%; height:56px; object-fit:contain; margin:0; }
.full-feedback-list .feedback-client .testimonial-heading { margin-bottom:0; }

/* The booking calendar, shared by both divisions. Neutral tokens, because it
   opens over the main site, the software site and Aerless alike. */
.tf-booking { width:min(94vw,860px); height:min(88vh,760px); max-width:none; max-height:none; padding:0; border:0; border-radius:20px; background:#fff; box-shadow:0 30px 70px #04101c40; overflow:hidden; }
.tf-booking::backdrop { background:#04101cbf; }
.tf-booking iframe { display:block; width:100%; height:100%; border:0; }
.tf-booking-close { position:absolute; top:12px; right:14px; z-index:2; display:grid; place-items:center; width:36px; height:36px; padding:0; border:1px solid #dce5ee; border-radius:50%; background:#fff; color:#17334b; font-size:22px; line-height:1; cursor:pointer; box-shadow:0 2px 8px #0b2b4d1f; }
.tf-booking-close:hover { background:#eaf1f8; }
.tf-booking-close:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
@media(max-width:650px) { .tf-booking { width:100vw; height:100dvh; max-height:none; border-radius:0; } .tf-booking-close { top:10px; left:12px; right:auto; } }

/* Contact, as a fork. Two panels, each tinted to the division it leads into,
   so the choice is made by eye before a word is read. */
.contact-main { padding-bottom:20px; }
.contact-heading { max-width:820px; padding-top:68px; padding-bottom:44px; }
.contact-heading h1 { margin:14px 0 20px; }
.contact-lead { font-size:17px; line-height:1.68; color:var(--muted); margin:0; max-width:64ch; }
.contact-routes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding-bottom:64px; }
.contact-route { display:flex; flex-direction:column; padding:44px 42px; border-radius:var(--radius); border:1px solid var(--line); background:#fff; }
.contact-route h2 { font-size:30px; letter-spacing:-.035em; margin:12px 0 16px; }
.contact-route > p { font-size:15.5px; line-height:1.7; color:var(--muted); margin:0; max-width:46ch; }
.contact-marks { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:24px 0 0; padding:0; }
.contact-marks li { font-size:12.5px; font-weight:600; padding:6px 12px; border-radius:999px; background:#0717280a; color:var(--text); }
.contact-actions { display:flex; flex-wrap:wrap; align-items:center; gap:13px; margin:30px 0 22px; }
.contact-route .text-action { margin-top:auto; font-size:14px; font-weight:600; }

.contact-call { display:inline-flex; align-items:center; gap:11px; padding:10px 16px 10px 12px;
  border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--text);
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.contact-call:hover { transform:translateY(-2px); box-shadow:0 10px 24px #0717281f; }
.contact-call-icon { display:grid; place-items:center; width:30px; height:30px; flex:none; border-radius:50%; }
.contact-call-copy { display:flex; flex-direction:column; gap:1px; line-height:1.25; }
.contact-call-copy strong { font-size:13.5px; font-weight:650; }
.contact-call-copy small { font-size:11.5px; color:var(--muted); }

/* Software takes the corporate blue, hardware the Aerless aqua, because that is
   what each one looks like when you arrive. */
.contact-route-software { background:linear-gradient(150deg,#f4f8fd 0%,#e9f1fb 100%); border-color:#cfe0f3; }
.contact-route-software .eyebrow { color:var(--blue); }
.contact-route-software .contact-marks li { background:#025ebc14; color:#12405f; }
.contact-route-software .contact-call-icon { background:#dceafa; color:var(--blue); }
.contact-route-software .contact-call:hover { border-color:var(--blue); }
.contact-route-hardware { background:linear-gradient(150deg,#f1f9fb 0%,#e2f0f4 100%); border-color:#bcdde6; }
.contact-route-hardware .eyebrow { color:#12798f; }
.contact-route-hardware h2 { color:#12303d; }
.contact-route-hardware .contact-marks li { background:#12798f16; color:#12303d; }
.contact-route-hardware .contact-call-icon { background:#dff0f5; color:#12798f; }
.contact-route-hardware .contact-call:hover { border-color:#12798f; }
.contact-route-hardware .button { background:#12798f; }
.contact-route-hardware .button:hover { background:#0e6375; }
.contact-route-hardware .text-action { color:#12798f; }

.contact-prose { max-width:760px; padding-bottom:56px; }
@media(max-width:900px) {
  .contact-routes { grid-template-columns:1fr; }
  .contact-heading { padding-top:48px; padding-bottom:32px; }
  .contact-route { padding:34px 26px; }
  .contact-route h2 { font-size:26px; }
}

/* About. Built from what can be answered if a visitor asks, which is why it
   leans on the offices, the named clients and the leadership rather than on
   adjectives. */
.about-heading { max-width:900px; padding-top:68px; padding-bottom:20px; }
.about-heading h1 { margin:14px 0 20px; }
.about-lead { font-size:17.5px; line-height:1.68; color:var(--muted); margin:0; max-width:66ch; }
.about-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:40px; padding-top:32px; border-top:1px solid var(--line); }
.about-facts strong { display:block; font-family:Manrope,Geist,sans-serif; font-size:40px; font-weight:600; letter-spacing:-.04em; color:var(--blue); line-height:1; }
.about-facts span { display:block; margin-top:10px; font-size:13.5px; line-height:1.6; color:var(--muted); }

.about-section-heading { display:flex; flex-wrap:wrap; gap:24px 48px; align-items:flex-start; justify-content:space-between; margin-bottom:34px; }
.about-section-heading h2 { margin:12px 0 0; font-size:34px; letter-spacing:-.04em; }
.about-section-heading > p { flex:1 1 380px; max-width:52ch; font-size:15.5px; line-height:1.7; color:var(--muted); margin:0; }

.about-divisions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding-top:54px; padding-bottom:64px; }
.about-division { display:flex; flex-direction:column; padding:40px 38px; border-radius:var(--radius); border:1px solid var(--line); }
.about-division h3 { font-size:25px; letter-spacing:-.03em; margin:12px 0 14px; max-width:20ch; }
.about-division p { font-size:15.5px; line-height:1.7; color:var(--muted); margin:0 0 26px; max-width:46ch; }
.about-division .text-action { margin-top:auto; font-size:14px; font-weight:600; }
.about-division-software { background:linear-gradient(150deg,#f4f8fd 0%,#e9f1fb 100%); border-color:#cfe0f3; }
.about-division-software .eyebrow { color:var(--blue); }
.about-division-hardware { background:linear-gradient(150deg,#f1f9fb 0%,#e2f0f4 100%); border-color:#bcdde6; }
.about-division-hardware .eyebrow,.about-division-hardware .text-action { color:#12798f; }
.about-division-hardware h3 { color:#12303d; }

.about-offices { padding:64px 0; background:var(--ink); color:#fff; }
.about-offices .eyebrow { color:#a7d3ff; }
.about-offices h2 { color:#fff; }
.about-offices .about-section-heading > p { color:#b6c6d6; }
.about-office-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.about-office { display:flex; align-items:center; gap:18px; padding:24px; background:#ffffff0a; border-radius:14px; }
.about-office p { margin:0; }
.about-office strong { display:block; font-size:19px; font-weight:500; color:#fff; }
.about-office span:not(.country-flag) { display:block; margin-top:8px; font-size:12.5px; line-height:1.6; color:#a8bbcd; }

.about-clients { padding-top:64px; padding-bottom:64px; }
.about-client-logos { display:flex; flex-wrap:wrap; align-items:center; gap:28px 52px; margin-bottom:28px; }
.about-client-logos img { width:110px; height:42px; object-fit:contain; }

.about-method { padding-bottom:70px; }
.about-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; margin:0; padding:0; counter-reset:none; }
.about-steps li { padding:32px 30px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.about-steps span { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.12em; color:var(--blue); margin-bottom:14px; }
.about-steps h3 { font-size:20px; letter-spacing:-.025em; margin:0 0 10px; }
.about-steps p { font-size:14.5px; line-height:1.7; color:var(--muted); margin:0; }

.about-team-band { padding:0 0 76px; }
.about-team-inner { display:flex; flex-wrap:wrap; gap:28px 48px; align-items:center; justify-content:space-between;
  padding:48px 52px; border-radius:var(--radius); background:linear-gradient(112deg,#f4f8fd 0%,#e9f1fb 100%); border:1px solid #cfe0f3; }
.about-team-inner h2 { font-size:30px; letter-spacing:-.035em; margin:12px 0 14px; }
.about-team-inner p { font-size:15.5px; line-height:1.7; color:var(--muted); margin:0; max-width:52ch; }
.about-prose { max-width:760px; padding-bottom:56px; }

@media(max-width:900px) {
  .about-heading { padding-top:48px; }
  .about-facts,.about-divisions,.about-office-grid,.about-steps { grid-template-columns:1fr; }
  .about-facts { gap:22px; }
  .about-division { padding:32px 26px; }
  .about-section-heading h2,.about-team-inner h2 { font-size:27px; }
  .about-team-inner { padding:34px 26px; }
}

/* The Aerless trademark, matching what is printed on the product labels. It
   lives here rather than in aerless.css because the brand is named on the main
   site too.
   Two things it has to fight. It is a direct child span of .brand-name, so it
   inherited `.brand-name>span { color:var(--blue) }`, the rule that tints
   "Tech" in "TechFoundry", and rendered in dark corporate blue on a dark
   header, which is to say invisibly. And at .46em it was decoration rather
   than a mark: a trademark nobody can make out is not doing the job it exists
   for. It now takes the colour of the word it belongs to, at a size that reads. */
.tf-tm,
.brand-name>.tf-tm { font-size:.58em; font-weight:700; letter-spacing:.02em; margin-left:2px;
  color:inherit; vertical-align:baseline; position:relative; top:-.46em; }


/* LinkedIn on a leadership card. A circle the size of the footer's icons, so
   the same mark reads the same way wherever it appears on the site. */
.leader-linkedin { display:grid; place-items:center; width:38px; height:38px; margin-top:16px;
  border-radius:50%; color:var(--blue); background:#025ebc0f;
  transition:background-color .2s ease,color .2s ease,transform .2s ease; }
.leader-linkedin:hover { background:var(--blue); color:#fff; transform:translateY(-2px); }
.leader-linkedin:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
/* The link sits with the name rather than under the card, so the two read as
   one line: who they are, and where to find them. The icon is small enough to
   be punctuation beside the name rather than a second button. */
.leader-name-row { display:flex; align-items:center; justify-content:center; gap:9px; flex-wrap:wrap; }
.team-page .leader-linkedin { width:26px; height:26px; margin:0; flex:none; }
.team-page .leader-linkedin svg { width:15px; height:15px; }

/* The cookie choice. Anchored bottom left rather than across the foot of the
   screen, so it never covers a call to action, and it is a dialog the visitor
   answers once rather than a bar that follows them. Neutral tokens: it appears
   on the main site, the software site and Aerless alike. */
.tf-consent { position:fixed; z-index:120; left:20px; bottom:20px; width:min(calc(100vw - 40px),392px);
  display:flex; flex-direction:column; gap:16px; padding:22px 24px;
  background:#fff; color:var(--text); border:1px solid var(--line); border-radius:16px;
  box-shadow:0 20px 50px #07172826, 0 2px 8px #0717280f; }
.tf-consent[hidden] { display:none; }
.tf-consent-copy strong { display:block; font-size:15px; font-weight:650; color:var(--ink); margin-bottom:7px; }
.tf-consent-copy p { font-size:13.5px; line-height:1.6; color:var(--muted); margin:0; }
.tf-consent-copy a { color:var(--blue); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.tf-consent-actions { display:flex; gap:10px; }
.tf-consent button { flex:1 1 auto; font:inherit; font-size:14px; font-weight:650; cursor:pointer;
  padding:11px 16px; border-radius:999px; transition:background-color .18s ease,border-color .18s ease; }
.tf-consent-yes { border:0; background:var(--blue); color:#fff; }
.tf-consent-yes:hover { background:#1a6ec4; }
.tf-consent-no { border:1px solid var(--line); background:#fff; color:var(--text); }
.tf-consent-no:hover { border-color:#b9c4cf; background:#f4f6f9; }
.tf-consent button:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
@media(max-width:560px) { .tf-consent { left:12px; right:12px; bottom:12px; width:auto; padding:18px 18px 20px; } }
