/* Shared presentation, responsive layouts and motion controls. */
@font-face { font-family: "Open Sans"; src: url("/assets/open-sans-regular.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }

@font-face { font-family: "Open Sans"; src: url("/assets/open-sans-bold.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }

:root {
  --blue: #175cbd;
  --blue-hover: #104997;
  --line: #dce0e5;
  --dark: #151e2c;
  --white: #fff;
  --page: 1320px;
  --ease: cubic-bezier(.2,.7,.2,1);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 108px;
}

body {
  margin: 0px;
  color: var(--ink);
  background: rgb(255, 255, 255);
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
}

img {
  display: block;
  max-width: 100%;
}

svg {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
}

p, h1, h2, h3 {
  margin-top: 0px;
}

h1, h2, .service-headline, .aside-value {
  font-family: Arial, "Open Sans", sans-serif;
  font-weight: 400;
}

h1, h2, h3, p {
  overflow-wrap: break-word;
}

h1, h2 {
  text-wrap: balance;
}

a, button {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible, button:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 5px;
}

.contact a:focus-visible {
  outline-color: rgb(154, 198, 255);
}

::selection {
  background: rgb(220, 234, 253);
}

.container {
  width: min(var(--page),calc(100% - var(--gutter)*2));
  margin-inline: auto;
}

.blue {
  color: var(--blue);
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  padding: 12px 20px;
  background: rgb(255, 255, 255);
  z-index: 100;
  transform: translateY(-160%);
  border: 2px solid var(--blue);
}

.skip-link:focus {
  transform: translateY(0px);
}

.site-header {
  background: rgb(255, 255, 255);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0px;
  z-index: 20;
}

.header-inner {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  display: block;
  flex: 0 0 auto;
  width: 207px;
  margin-left: -21px;
}

.brand img {
  width: 100%;
  height: auto;
}

.site-header nav {
  display: flex;
  align-items: center;
}

.site-header nav > a {
  padding-block: 12px;
  white-space: nowrap;
  transition: color 180ms;
}

.site-header nav > a:hover, .languages a:hover {
  color: var(--blue);
}

.site-header nav .nav-contact {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 9px 16px;
  background: var(--blue);
  color: rgb(255, 255, 255);
}

.site-header nav .nav-contact:hover {
  background: var(--blue-hover);
}

.nav-contact svg {
  width: 17px;
}

.languages {
  display: flex;
  align-items: center;
  margin-left: 7px;
  color: var(--muted);
}

.languages a {
  padding: 10px 2px;
}

.languages a[aria-current] {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 6px;
}

.languages span {
  color: rgb(176, 182, 190);
}

.menu-toggle {
  display: none;
}

.site-header nav > a[aria-current="page"] {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 7px;
}

.eyebrow {
  display: flex;
  gap: 12px;
  align-items: center;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 29px;
  line-height: 1.6;
}

.eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  background: var(--blue);
  flex: 0 0 auto;
}

.hero {
  display: grid;
  align-items: center;
}

.hero-copy {
  min-width: 0px;
}

h1 {
  letter-spacing: -0.06em;
  margin-bottom: 29px;
}

h1 span {
  display: block;
}

.hero-intro {
  margin-bottom: 12px;
}

.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding: 17px 22px;
  min-height: 58px;
  max-width: 100%;
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  transition: background 180ms,color 180ms,transform 180ms var(--ease),box-shadow 180ms;
}

.button-blue {
  background: var(--blue);
  color: rgb(255, 255, 255);
}

.button-blue:hover {
  background: var(--blue-hover);
  box-shadow: rgba(23, 92, 189, 0.125) 0px 5px 15px;
}

.button-white {
  background: rgb(255, 255, 255);
  color: var(--ink);
}

.button-white:hover {
  background: rgb(233, 239, 248);
}

.button:active {
  transform: translateY(2px);
}

.button svg, .text-link svg, .nav-contact svg {
  transition: transform 200ms var(--ease);
}

.button:hover svg, .text-link:hover svg, .nav-contact:hover svg {
  transform: translateX(4px);
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  font-weight: 700;
  padding-block: 12px;
  line-height: 1.5;
  transition: color 180ms;
}

.text-link:hover {
  color: var(--blue);
}

.hero-actions > .text-link {
  border-bottom: 1px solid var(--line);
}

.hero-visual {
  min-width: 0px;
}

.architecture {
  margin: 0px;
  position: relative;
  overflow: hidden;
}

.diagram-meta, .architecture figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-family: "Open Sans", sans-serif;
  font-size: 10px;
  letter-spacing: 0.08em;
  line-height: 1.5;
  padding: 22px 26px;
  color: rgb(82, 102, 127);
}

.diagram-meta {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
}

.diagram-meta > span:last-child {
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

.architecture figcaption {
  border-top: 1px solid rgb(214, 225, 239);
  margin-inline: 26px;
  padding: 17px 0px;
  letter-spacing: 0.035em;
}

.architecture-hero {
  border: 0px;
}

.architecture {
  --motion-lift: -10px;
}

.module, .motion-slab, .motion-phone, .motion-node {
  transform-box: fill-box;
  transform-origin: center center;
  animation-duration: calc(3.33333s);
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: none;
  animation-play-state: running;
  animation-name: module-float;
  animation-timeline: auto;
  animation-range: normal;
  animation-delay: calc(var(--phase,0s) / 3);
}

.architecture-hero .motion-slab, .architecture-hero .motion-phone {
  animation: auto ease 0s 1 normal none running none;
}

.architecture-ai .diagram-line, .architecture-blockchain .diagram-line {
  stroke-dasharray: 6, 10;
  animation: 4s linear 0s infinite normal none running connection-flow;
}

.motion-toggle {
  background: rgb(255, 255, 255);
  border: 1px solid rgb(200, 215, 233);
  color: rgb(23, 92, 189);
  width: 36px;
  height: 36px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  padding: 0px;
  z-index: 1;
}

.motion-toggle[hidden] {
  display: none;
}

.architecture.is-paused * {
  animation-play-state: paused !important;
}

@keyframes module-float {
  0%, 100% { translate: 0px; }
  50% { translate: 0 var(--motion-lift); }
}

@keyframes connection-flow {
  100% { stroke-dashoffset: -64; }
}

@media (max-width: 900px) {
  .architecture {
    --motion-lift: -6px;
  }

  .module-node, .module-top {
    --motion-lift: -8px;
  }
}

.section-heading {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
}

h2 {
  letter-spacing: -0.055em;
  margin-bottom: 0px;
}

.section .eyebrow {
  margin-bottom: 24px;
  color: var(--muted);
}

.section-intro {
  margin-bottom: 3px;
}

.service {
  min-width: 0px;
  scroll-margin-top: 115px;
}

.service-content {
  display: flex;
  flex-direction: column;
  min-width: 0px;
}

.service-number {
  font-family: monospace;
  color: var(--muted);
}

.service h3 {
  font-weight: 700;
  margin-bottom: 0px;
}

.service-headline {
  margin-bottom: 24px;
}

.service-scope {
  margin-top: auto;
}

.service-scope > span {
  display: block;
  text-transform: uppercase;
}

.service-scope ul {
  list-style: none;
  padding: 0px;
  margin: 0px 0px 18px;
}

.service-scope li {
  position: relative;
  border-bottom: 1px solid var(--line);
}

.service-scope li::before {
  content: "↗";
  position: absolute;
  left: 0px;
  color: var(--blue);
}

.mobile, .cloud {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}

.mobile .architecture {
  grid-area: 1 / 1;
}

.mobile .service-content {
  grid-area: 1 / 2;
}

.cloud {
  border-block: 1px solid var(--line);
}

.ai, .blockchain {
  display: flex;
  flex-direction: column;
}

.ai .architecture, .blockchain .architecture {
  order: -1;
}

.ai .architecture-svg, .blockchain .architecture-svg {
  aspect-ratio: auto;
}

.ai .service-content, .blockchain .service-content {
  flex: 1 1 0%;
}

.ai .service-copy, .blockchain .service-copy {
  margin-bottom: 28px;
}

.ai .service-scope, .blockchain .service-scope {
  margin-top: auto;
}

.steps {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0px, 1fr));
  gap: 32px;
  margin: 0px;
  padding: 0px;
  counter-reset: steps 0;
}

.steps li {
  border-top: 1px solid rgb(186, 199, 217);
  padding-top: 22px;
  position: relative;
}

.steps li::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 0px;
  width: 7px;
  height: 7px;
  background: var(--blue);
}

.step-number {
  font-family: monospace;
  font-size: 12px;
  color: var(--blue);
  display: block;
  margin-bottom: 34px;
}

.steps h3 {
  letter-spacing: -0.025em;
  line-height: 1.4;
  margin-bottom: 15px;
}

.steps p {
  margin-bottom: 0px;
}

.about {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 90px;
  align-items: center;
}

.about-copy > p {
  color: var(--muted);
  margin-bottom: 22px;
}

.contact {
  position: relative;
  overflow: hidden;
}

.contact::before {
  content: "";
  position: absolute;
  top: 0px;
  right: 0px;
  width: 180px;
  height: 7px;
  background: rgb(23, 92, 189);
}

.contact .eyebrow::before {
  background: rgb(98, 168, 255);
}

.contact h2 {
  max-width: 750px;
}

.contact-email {
  display: inline-flex;
  align-items: center;
  gap: 36px;
  border-bottom: 1px solid rgb(98, 112, 130);
  padding-block: 15px;
  margin-top: 30px;
  font-size: clamp(20px, 2.3vw, 32px);
  letter-spacing: -0.035em;
  max-width: 100%;
  overflow-wrap: anywhere;
  transition: color 180ms;
}

.contact-email:hover {
  color: rgb(154, 198, 255);
}

.contact-copy p {
  font-size: 15px;
  line-height: 1.85;
  margin-bottom: 28px;
}

.company-details {
  display: flex;
  border-top: 1px solid rgb(56, 66, 80);
}

.company-details p {
  margin: 0px;
}

.company-details strong {
  font-weight: 400;
  color: rgb(255, 255, 255);
}

.company-details a {
  margin-left: auto;
  display: flex;
  gap: 16px;
  align-items: center;
  text-decoration: underline;
  text-underline-offset: 5px;
  min-height: 44px;
}

.company-details a svg {
  width: 17px;
}

.business-contact {
  margin-top: 26px;
  font-size: 13px !important;
}

.business-contact a {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.footer-top {
  display: flex;
  align-items: center;
  gap: 32px;
  border-bottom: 1px solid var(--line);
}

.footer-top > p {
  color: var(--muted);
  margin: 0px;
}

.back-top {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  min-height: 44px;
}

.back-top svg {
  transform: rotate(-90deg);
  width: 18px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  color: var(--muted);
}

.footer-bottom p {
  margin: 0px;
}

.footer-bottom nav {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.footer-bottom a {
  display: inline-block;
  padding-block: 4px;
}

.footer-bottom a:hover {
  color: var(--blue);
}

.subhero {
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  gap: 70px;
  align-items: center;
  padding-block: 72px 78px;
  border-bottom: 1px solid var(--line);
}

.subhero-intro {
  color: var(--muted);
  max-width: 660px;
  margin-bottom: 30px;
}

.subhero-aside {
  position: relative;
  min-width: 0px;
}

.subhero-aside .architecture figcaption {
  display: none;
}

.aside-caption {
  padding: 25px 28px;
  background: rgb(238, 243, 249);
  border-width: 0px 1px 1px;
  border-style: none solid solid;
  border-color: currentcolor rgb(224, 232, 241) rgb(224, 232, 241);
  border-image: none;
}

.aside-caption .eyebrow {
  font-size: 10px;
  margin-bottom: 12px;
}

.aside-value {
  font-size: 56px;
  letter-spacing: -0.05em;
  line-height: 1.05;
  color: var(--blue);
  margin-bottom: 13px;
}

.aside-caption > p:last-child {
  color: var(--muted);
  font-size: 13px;
  max-width: 300px;
  margin: 0px;
}

.story {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
}

.story .section-heading {
  display: block;
  margin: 0px;
}

.story-copy p {
  font-size: 17px;
  color: var(--muted);
  margin-bottom: 24px;
}

.story-copy p:last-child {
  margin-bottom: 0px;
}

.mission {
  background: rgb(234, 241, 250);
}

.mission h2 {
  color: var(--blue);
}

.mission-copy {
  font-size: 20px;
  color: var(--muted);
  margin: 0px;
}

.expertise-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line);
  gap: 0px 64px;
}

.expertise-links a {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 26px 0px;
  border-bottom: 1px solid var(--line);
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: -0.03em;
  transition: color 180ms;
}

.expertise-links a:hover {
  color: var(--blue);
}

.expertise-links svg {
  margin-left: auto;
  width: 22px;
}

.context-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  margin-top: 62px;
}

.context-grid h3, .culture-grid h3 {
  font-size: 21px;
  line-height: 1.35;
  letter-spacing: -0.03em;
}

.context-grid p, .culture-grid p {
  color: var(--muted);
  font-size: 15px;
  margin-bottom: 0px;
}

.inspirations {
  background: var(--surface);
}

.quote-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  gap: 40px;
}

.quote-grid figure {
  margin: 0px;
  border-top: 1px solid rgb(188, 202, 218);
  padding-top: 24px;
  display: flex;
  flex-direction: column;
}

.quote-grid blockquote {
  margin: 0px;
}

.quote-grid blockquote p {
  font-size: 17px;
  line-height: 1.7;
  margin-bottom: 24px;
}

.quote-grid figcaption {
  font-size: 12px;
  color: var(--muted);
  margin-top: auto;
}

.quote-grid figure:first-child {
  grid-area: span 2 / span 2;
  border: 0px;
  padding: 38px;
  background: rgb(23, 92, 189);
  color: rgb(255, 255, 255);
  justify-content: space-between;
}

.quote-grid figure:first-child blockquote p {
  font-family: Arial, sans-serif;
  font-size: 48px;
  letter-spacing: -0.045em;
  line-height: 1.15;
  max-width: 600px;
}

.quote-grid figure:first-child figcaption {
  color: rgb(255, 255, 255);
}

.culture-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0px;
}

.culture-grid article {
  border-top: 1px solid rgb(188, 202, 218);
  padding-block: 28px;
  display: grid;
  grid-template-columns: 65px 1fr 1.25fr;
  gap: 32px;
  align-items: baseline;
}

.culture-grid article:last-child {
  padding-bottom: 0px;
}

.culture-grid .step-number {
  margin: 0px;
}

.culture-grid h3 {
  margin: 0px;
  max-width: 300px;
}

.subhero > *, .context-grid > *, .culture-grid > *, .quote-grid > *, .contact-grid > *, .section-heading > * {
  min-width: 0px;
}

@keyframes reveal {
  0% { opacity: 0.35; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0px); }
}

.reveal-enter {
  animation: reveal 900ms var(--ease) both;
}

@view-transition { navigation: auto; }

::view-transition-old(root) {
  animation: 150ms ease 0s 1 normal both running page-out;
}

::view-transition-new(root) {
  animation: 220ms ease 0s 1 normal both running page-in;
}

@keyframes page-out {
  100% { opacity: 0; }
}

@keyframes page-in {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@media (min-width: 1500px) {
  .hero {
    padding-block: 86px 70px;
    gap: 65px;
  }
}

@media (max-width: 1100px) {
  html:not(.has-menu) .site-header {
    position: static;
  }

  .header-inner {
    min-height: 76px;
    flex-wrap: wrap;
  }

  .brand {
    width: 195px;
  }

  .menu-toggle {
    display: none;
    align-items: center;
    gap: 14px;
    background: rgb(255, 255, 255);
    border: 1px solid var(--line);
    padding: 9px 13px;
    font-size: 13px;
    min-height: 44px;
  }

  .has-menu .menu-toggle {
    display: inline-flex;
  }

  .menu-icon {
    width: 17px;
    height: 11px;
    position: relative;
  }

  .menu-icon::before, .menu-icon::after {
    content: "";
    position: absolute;
    left: 0px;
    right: 0px;
    height: 1.5px;
    background: currentcolor;
    transition: transform 200ms, top 200ms;
    top: 1px;
  }

  .menu-icon::after {
    top: 9px;
  }

  .menu-toggle[aria-expanded="true"] .menu-icon::before {
    top: 5px;
    transform: rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] .menu-icon::after {
    top: 5px;
    transform: rotate(-45deg);
  }

  .site-header nav {
    width: 100%;
    flex-wrap: wrap;
    gap: 10px 24px;
    padding-bottom: 20px;
  }

  .has-menu .site-header nav {
    position: absolute;
    top: 100%;
    left: 0px;
    right: 0px;
    background: rgb(255, 255, 255);
    display: flex;
    padding: 20px var(--gutter) 26px;
    border-bottom: 1px solid var(--line);
    box-shadow: rgba(21, 36, 59, 0.04) 0px 18px 24px;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-8px);
  }

  .has-menu .site-header nav.menu-animated {
    transition: opacity 200ms,transform 250ms var(--ease);
  }

  .has-menu .site-header nav.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0px);
  }

  .site-header nav .nav-contact {
    margin: 0px;
  }

  .languages {
    margin-left: auto;
  }

  .hero {
    padding-top: 50px;
  }

  .diagram-meta {
    padding: 18px;
  }

  .architecture figcaption {
    margin-inline: 18px;
    font-size: 9px;
  }

  .expertise-strip > p, .expertise-strip nav {
    flex-basis: 100%;
  }

  .section-heading, .about, .contact-grid {
    gap: 45px;
  }

  .section {
    padding-block: 80px;
  }

  .service-copy {
    font-size: 14px;
  }

  .service-headline br {
    display: none;
  }

  .ai .service-headline, .blockchain .service-headline {
    font-size: 30px;
  }

  .footer-bottom {
    flex-wrap: wrap;
  }

  .steps {
    gap: 24px;
  }

  .company-details {
    gap: 25px;
  }

  .subhero {
    gap: 40px;
  }

  .subhero h1 {
    font-size: clamp(40px, 5vw, 62px);
  }

  .story {
    gap: 45px;
  }

  .quote-grid {
    gap: 30px;
  }

  .quote-grid figure:first-child blockquote p {
    font-size: 40px;
  }

  .contact-email {
    gap: 15px;
  }

  .culture-grid article {
    grid-template-columns: 35px 1fr 1.2fr;
    gap: 24px;
  }

  .page-home .about {
    padding-block: 95px;
  }
}

@media (max-width: 900px) {
  html {
    scroll-padding-top: 94px;
  }

  .hero {
    padding-top: 38px;
    padding-bottom: 30px;
  }

  .header-inner {
    min-height: 72px;
  }

  .brand {
    width: 185px;
    margin-left: -19px;
  }

  .site-header nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0px;
  }

  .site-header nav > a {
    padding: 12px 0px;
    border-bottom: 1px solid var(--line);
    font-size: 16px;
  }

  .site-header nav .nav-contact {
    margin-top: 14px;
    padding: 12px 16px;
    justify-content: space-between;
  }

  .languages {
    margin: 15px 0px 0px;
    gap: 18px;
    font-size: 14px;
  }

  .hero-actions .button {
    padding: 15px 18px;
  }

  .diagram-meta {
    font-size: 9px;
  }

  .architecture figcaption {
    font-size: 9px;
    padding-block: 13px;
  }

  .section-heading {
    grid-template-columns: 1fr;
  }

  h2 {
    font-size: clamp(34px, 8.5vw, 48px);
  }

  h2 br {
    display: none;
  }

  .section .eyebrow {
    font-size: 10px;
    margin-bottom: 20px;
  }

  .mobile, .cloud {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .mobile .service-content, .mobile .architecture {
    grid-area: auto;
  }

  .service .architecture {
    order: -1;
  }

  .mobile .service-content {
    grid-row: 2;
  }

  .mobile .architecture {
    grid-row: 1;
  }

  .cloud {
    border: 0px;
  }

  .service h3 {
    font-size: 14px;
  }

  .ai .architecture, .blockchain .architecture {
    margin-bottom: 27px;
  }

  .ai .architecture-svg, .blockchain .architecture-svg {
    margin-top: 20px;
  }

  .steps {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .steps li {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 0px 16px;
    padding-top: 22px;
  }

  .steps .step-number {
    grid-row: 1 / 3;
    margin-top: 2px;
    margin-bottom: 0px;
  }

  .steps h3 {
    margin-bottom: 9px;
    font-size: 19px;
  }

  .steps p {
    grid-column: 2;
  }

  .about {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .contact-email {
    font-size: clamp(19px, 5.5vw, 30px);
    gap: 14px;
    margin-top: 22px;
    letter-spacing: -0.04em;
  }

  .contact-email svg {
    width: 18px;
  }

  .contact-copy p {
    font-size: 15px;
  }

  .company-details {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding-top: 26px;
  }

  .company-details a {
    margin: 0px;
  }

  .footer-top {
    flex-wrap: wrap;
    gap: 10px 15px;
  }

  .footer-top > p {
    flex-basis: 100%;
    order: 3;
  }

  .back-top {
    font-size: 11px;
    gap: 4px;
  }

  .footer-top .brand {
    width: 160px;
    margin-left: -16px;
  }

  .footer-bottom {
    gap: 15px;
    font-size: 11px;
  }

  .footer-bottom nav {
    gap: 18px;
    font-size: 12px;
  }

  .site-footer {
    padding-block: 23px;
  }

  .subhero, .story, .context-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .subhero h1 {
    letter-spacing: -0.05em;
  }

  .subhero h1 br {
    display: none;
  }

  .subhero-intro, .story-copy p {
    font-size: 16px;
  }

  .subhero-aside {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: rgb(238, 243, 249);
    align-items: center;
  }

  .subhero-aside .architecture {
    border: 0px;
    overflow: visible;
  }

  .subhero-aside .diagram-meta {
    display: flex;
    padding: 6px;
  }

  .subhero-aside .diagram-meta > span {
    visibility: hidden;
  }

  .subhero-aside .motion-toggle {
    width: 28px;
    height: 28px;
  }

  .aside-caption {
    border: 0px;
    padding: 24px 20px 24px 0px;
  }

  .aside-caption .eyebrow {
    font-size: 9px;
    margin-bottom: 12px;
  }

  .aside-value {
    font-size: 37px;
  }

  .aside-caption > p:last-child {
    font-size: 11px;
  }

  .mission-copy {
    font-size: 18px;
  }

  .expertise-links {
    grid-template-columns: 1fr;
  }

  .expertise-links a {
    padding: 21px 0px;
    font-size: 24px;
  }

  .context-grid {
    margin-top: 35px;
  }

  .quote-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .quote-grid figure:first-child {
    grid-area: auto;
    padding: 28px;
  }

  .quote-grid figure:first-child blockquote p {
    font-size: 35px;
  }

  .quote-grid blockquote p {
    font-size: 17px;
  }

  .culture-grid article {
    grid-template-columns: 30px 1fr;
    gap: 12px 18px;
  }

  .culture-grid article p {
    grid-column: 2;
  }

  .culture-grid h3 {
    font-size: 22px;
  }

  .business-contact {
    margin-bottom: 0px !important;
  }

  .reveal-enter {
    animation-duration: 700ms;
  }
}

@media (max-width: 360px) {
  :root {
    --gutter: 20px;
  }

  .header-inner {
    gap: 8px;
  }

  .site-header .brand {
    width: 164px;
    margin-left: -17px;
  }

  .button {
    gap: 15px;
  }

  .aside-value {
    font-size: 31px;
  }

  .footer-top .brand {
    width: 145px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .motion-toggle {
    display: none;
  }

  html {
    scroll-behavior: auto;
  }

  *, ::before, ::after {
    transition: none !important;
    animation: auto ease 0s 1 normal none running none !important;
  }

  @view-transition { navigation: none; }

  ::view-transition-old(root), ::view-transition-new(root) {
    animation: auto ease 0s 1 normal none running none !important;
  }
}

.contact-grid {
  align-items: start;
}

.contact-copy > p {
  margin-top: 28px;
}

.contact-form {
  min-width: 0px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-field {
  display: grid;
  gap: 8px;
  min-width: 0px;
  line-height: 1.5;
}

.field-optional {
  color: rgb(183, 199, 218);
  font-size: 12px;
}

.form-field input, .form-field textarea {
  width: 100%;
  min-width: 0px;
  border: 1px solid rgb(119, 133, 152);
  border-radius: 0px;
  color: rgb(255, 255, 255);
  font-style: inherit;
  font-variant: inherit;
  font-weight: inherit;
  font-stretch: inherit;
  font-family: inherit;
  font-optical-sizing: inherit;
  font-size-adjust: inherit;
  font-kerning: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-language-override: inherit;
  font-size: 16px;
  line-height: 1.6;
  outline-offset: 3px;
}

.form-field input {
  min-height: 52px;
}

.form-field textarea {
  resize: vertical;
}

.form-field input:hover, .form-field textarea:hover {
  border-color: rgb(183, 199, 218);
}

.form-field input:focus-visible, .form-field textarea:focus-visible, .contact-form button:focus-visible, .form-status:focus-visible {
  outline: rgb(154, 198, 255) solid 3px;
  outline-offset: 4px;
}

.form-field :user-invalid {
  border-color: rgb(255, 184, 184);
}

.contact-form .form-note {
  font-size: 12px;
  line-height: 1.7;
  color: rgb(183, 199, 218);
  margin: 0px;
  max-width: 500px;
}

.turnstile-widget {
  max-width: 500px;
}

.turnstile-widget > div {
  max-width: 100%;
}

.contact-form .button {
  justify-self: start;
  cursor: pointer;
}

.contact-form .form-status {
  font-size: 14px;
  line-height: 1.7;
  margin: 0px;
  padding: 14px 16px;
  border-left: 3px solid rgb(154, 198, 255);
  background: rgb(36, 52, 73);
  color: rgb(255, 255, 255);
}

.contact-form .form-status[data-error] {
  border-color: rgb(255, 184, 184);
}

.form-trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.company-details {
  flex-wrap: wrap;
  align-items: start;
  gap: 25px 40px;
}

.direct-contact {
  font-size: 12px;
  line-height: 1.7;
}

.direct-contact > span {
  display: block;
  color: rgb(183, 199, 218);
}

.company-details .direct-contact a {
  display: inline-block;
  margin: 0px;
  min-height: 32px;
  padding-top: 4px;
  font-size: 14px;
}

.direct-contact p {
  max-width: 220px;
  font-size: 12px;
}

.company-details .company-map {
  margin-left: auto;
}

@media (max-width: 900px) {
  .company-details .company-map {
    margin-left: 0px;
  }
}

@media (max-width: 480px) {
  .form-row {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .contact-form .button {
    width: 100%;
  }
}

.process-diagram {
  position: relative;
}

.process-diagram .steps {
  position: relative;
}

.process-diagram .steps li {
  border-top: 0px;
}

.process-diagram .steps li::before {
  left: 0px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.process-diagram .step-number {
  display: flex;
  align-items: center;
  margin-left: -8px;
  transform-origin: center center;
  background: transparent;
  transition: transform 300ms, background-color 300ms, color 300ms;
}

.process-track {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  fill: none;
}

.process-progress {
  stroke: rgb(23, 92, 189);
  stroke-width: 2;
  stroke-linecap: round;
}

.process-dot {
  fill: rgb(23, 92, 189);
  stroke: rgb(244, 246, 248);
  stroke-width: 3;
}

.process-track:not(.is-ready) {
  visibility: hidden;
}

.process-track .process-dot, .process-track .process-progress {
  opacity: 0;
}

.process-diagram.has-started .process-dot, .process-diagram.has-started .process-progress {
  opacity: 1;
}

.process-toggle {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 28px;
  padding: 9px 0px;
  border: 0px;
  background: transparent;
  color: rgb(82, 102, 127);
  font-style: inherit;
  font-variant: inherit;
  font-weight: inherit;
  font-stretch: inherit;
  line-height: inherit;
  font-family: inherit;
  font-optical-sizing: inherit;
  font-size-adjust: inherit;
  font-kerning: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-language-override: inherit;
  font-size: 12px;
  cursor: pointer;
  min-height: 44px;
}

.process-toggle[hidden] {
  display: none;
}

.process-toggle:hover {
  color: rgb(23, 92, 189);
}

.process-toggle:focus-visible {
  outline: rgb(23, 92, 189) solid 2px;
  outline-offset: 5px;
}

@media (max-width: 900px) {
  .process-diagram .steps li {
    padding: 0px 0px 0px 26px;
  }

  .process-diagram .steps li::before {
    top: 10px;
  }

  .process-diagram .step-number {
    align-self: start;
  }

  .process-diagram .steps {
    gap: 34px;
  }

  .process-toggle {
    margin-left: 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .process-toggle {
    display: none;
  }

  .process-diagram .process-dot, .process-diagram .process-progress {
    opacity: 0;
  }

  .process-diagram .is-current .step-number {
    transform: none;
    background: transparent;
    color: rgb(23, 92, 189);
  }
}

:root {
  --ink: #202327;
  --muted: #515961;
  --surface: #f2f4f3;
  --gutter: clamp(22px,5vw,80px);
}

h1, h2 {
  letter-spacing: -0.045em;
}

h1 {
  font-size: clamp(48px, 5.7vw, 84px);
  line-height: 1.06;
}

.eyebrow {
  letter-spacing: 0.1em;
  font-size: 11px;
}

.section .eyebrow::before {
  display: none;
}

.hero {
  grid-template-columns: 1.15fr 1fr;
  padding-block: 64px;
  gap: 65px;
}

.architecture {
  border: 0px;
  background: rgb(242, 244, 243);
}

.architecture-hero {
  background: rgb(23, 92, 189);
}

.architecture-hero .diagram-meta {
  z-index: 2;
}

.architecture-hero .motion-toggle {
  background: transparent;
  color: rgb(255, 255, 255);
  border-color: rgb(114, 157, 221);
}

.diagram-meta {
  padding: 24px;
  font-size: 10px;
  color: rgb(88, 101, 114);
}

.cloud .architecture {
  background: rgb(241, 244, 248);
}

.architecture-ai, .architecture-blockchain {
  background: transparent;
}

.section {
  padding-block: 104px;
}

.section-heading {
  margin-bottom: 70px;
  gap: 80px;
  align-items: start;
}

.section-intro {
  font-size: 17px;
  line-height: 1.8;
  padding-top: 40px;
  max-width: 490px;
}

h2 {
  font-size: clamp(36px, 3.8vw, 56px);
  line-height: 1.12;
}

.service h3 {
  font-size: 16px;
}

.service-headline {
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.service-scope li {
  padding: 10px 0px;
}

.service-scope li::before {
  display: none;
}

.service .text-link {
  border-bottom-color: rgb(32, 35, 39);
}

.service-number {
  font-size: 12px;
}

.ai .architecture, .blockchain .architecture {
  border-bottom: 1px solid var(--line);
}

.ai .service-content, .blockchain .service-content {
  max-width: 550px;
}

.process .section-heading {
  margin-bottom: 65px;
}

.process-diagram .step-number {
  font-family: Arial, sans-serif;
  font-weight: 400;
  letter-spacing: -0.06em;
  width: auto;
  height: auto;
  justify-content: start;
  border-radius: 0px;
}

.process-diagram .is-current .step-number {
  transform: none;
  background: transparent;
}

.steps h3 {
  font-size: 20px;
}

.steps p {
  font-size: 15px;
  line-height: 1.75;
}

.process-diagram .steps li {
  padding-top: 20px;
}

.page-home .about {
  position: relative;
  padding-block: 120px;
  gap: 90px;
}

.about-copy > p {
  font-size: 20px;
  line-height: 1.7;
}

.contact::before {
  display: none;
}

.contact h2 {
  line-height: 1.08;
}

.contact-copy > p {
  font-size: 17px;
  line-height: 1.75;
  max-width: 460px;
}

.form-field {
  font-size: 13px;
}

.form-field input, .form-field textarea {
  background: transparent;
  border-width: 0px 0px 1px;
  border-style: none none solid;
  border-color: currentcolor currentcolor rgb(119, 133, 152);
  border-image: none;
  padding: 10px 0px;
}

.form-field textarea {
  min-height: 118px;
}

.turnstile-widget {
  min-height: 0px;
}

.turnstile-widget:has(iframe), .turnstile-widget:has(div) {
  min-height: 65px;
}

.contact-form .button {
  min-width: 225px;
}

@media (max-width: 1100px) {
  .hero {
    gap: 32px;
  }

  .section-heading {
    gap: 45px;
  }

  .steps h3 {
    font-size: 18px;
  }
}

@media (max-width: 900px) {
  .hero {
    grid-template-columns: 1fr;
    padding-block: 40px;
    gap: 36px;
  }

  .hero-visual {
    width: 100%;
  }

  .section {
    padding-block: 68px;
  }

  .section-heading {
    gap: 22px;
    margin-bottom: 40px;
  }

  .section-intro {
    padding-top: 0px;
    font-size: 16px;
  }

  .cloud {
    padding-block: 0px;
  }

  .service-copy {
    font-size: 16px;
  }

  .process-diagram .steps li {
    padding-top: 0px;
  }

  .process-diagram .step-number {
    line-height: 1.2;
  }

  .steps p {
    font-size: 15px;
  }

  .page-home .about {
    padding-block: 80px;
    gap: 28px;
  }

  .about-copy > p {
    font-size: 18px;
  }

  .contact-copy > p {
    font-size: 16px;
  }
}

.hero.container {
  width: 100%;
  max-width: none;
}

.hero h1 .blue {
  color: rgb(255, 255, 255);
}

.hero .eyebrow::before {
  background: rgb(255, 255, 255);
}

.hero-intro, .hero-support {
  color: rgb(227, 236, 249);
}

.hero-actions .text-link {
  border-color: rgb(147, 181, 228);
}

.hero-visual {
  align-self: stretch;
  display: flex;
  align-items: center;
}

.architecture-hero {
  width: 100%;
  overflow: visible;
}

.architecture-hero .diagram-meta {
  top: auto;
  bottom: 0px;
  padding: 0px;
}

.services .section-heading .section-intro {
  color: rgb(65, 73, 79);
}

.mobile .architecture, .cloud .architecture {
  background: rgb(241, 243, 240);
}

.mobile .architecture-svg, .cloud .architecture-svg {
  max-height: 460px;
}

.mobile, .cloud {
  gap: 80px;
}

.service-headline {
  font-size: 44px;
}

.service h3 {
  color: rgb(32, 35, 39);
}

.service .service-number {
  color: rgb(23, 92, 189);
}

.cloud {
  border: 0px;
  padding-block: 0px;
}

.ai .architecture, .blockchain .architecture {
  border: 0px;
  margin-bottom: 18px;
}

.ai .architecture-svg, .blockchain .architecture-svg {
  height: 205px;
}

.process {
  background: rgb(255, 255, 255);
  border-block: 1px solid var(--line);
}

.process .section-heading {
  grid-template-columns: 1.35fr 1fr;
}

.process h2 {
  font-size: clamp(40px, 4.6vw, 68px);
}

.steps p {
  color: rgb(65, 73, 79);
}

.process-diagram .is-current .step-number {
  color: rgb(23, 92, 189);
}

.page-home .about.container {
  padding: 104px max(var(--gutter),calc((100vw - 1320px)/2));
}

.about-title {
  padding-top: 15px;
}

.page-home .about-copy .text-link {
  font-size: 14px;
}

.contact .form-field input, .contact .form-field textarea {
  border: 1px solid rgb(113, 129, 133);
}

.contact-form .button:disabled {
  cursor: not-allowed;
}

.contact-grid {
  grid-template-columns: 1.35fr 1fr;
  gap: 100px;
}

.contact .form-note {
  font-size: 13px;
}

.contact h2 {
  font-size: clamp(40px, 5vw, 72px);
}

.contact .eyebrow {
  color: rgb(203, 215, 217);
}

.contact-copy p {
  color: rgb(214, 223, 225);
}

.text-link {
  font-size: 14px;
}

@media (max-width: 1100px) {
  .hero.container {
    padding-block: 65px;
  }

  .mobile, .cloud {
    gap: 42px;
  }

  .service-headline {
    font-size: 36px;
  }

  .contact-grid {
    gap: 50px;
  }
}

@media (max-width: 900px) {
  .hero-visual {
    max-width: 550px;
    justify-self: center;
  }

  .architecture-hero .diagram-meta {
    bottom: 10px;
    right: 0px;
  }

  .hero-actions .text-link {
    padding-block: 14px;
  }

  .services .section-heading, .process .section-heading {
    grid-template-columns: 1fr;
  }

  .services .section-heading h2, .process h2 {
    font-size: clamp(36px, 8.7vw, 58px);
  }

  .services .section-heading .section-intro {
    padding-top: 0px;
  }

  .mobile, .cloud {
    gap: 26px;
  }

  .mobile .architecture-svg, .cloud .architecture-svg {
    max-height: 340px;
  }

  .ai .architecture-svg, .blockchain .architecture-svg {
    height: 180px;
  }

  .service .architecture {
    margin-bottom: 0px;
  }

  .process-diagram .step-number {
    margin: 0px;
  }

  .page-home .about.container {
    gap: 36px;
  }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .contact h2 {
    font-size: clamp(39px, 9.4vw, 60px);
  }
}

@media (max-width: 360px) {
  .hero-actions .button {
    padding-inline: 14px;
  }
}

.service-grid {
  grid-template-columns: repeat(2, minmax(0px, 1fr));
}

.service.mobile, .service.cloud, .service.ai, .service.blockchain {
  display: flex;
  flex-direction: column;
  grid-column: auto;
  gap: 0px;
  padding: 0px;
  border-width: 1px 0px 0px;
  border-style: solid none none;
  border-color: rgb(137, 151, 157) currentcolor currentcolor;
  border-image: none;
}

.service-category {
  margin: 0px 0px 12px;
}

.service .service-content {
  max-width: none;
  flex: 1 1 0%;
}

.service-headline, .ai .service-headline, .blockchain .service-headline {
  line-height: 1.18;
  margin-bottom: 24px;
}

.service-headline br {
  display: none;
}

.service-copy {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 24px;
}

.service-scope li {
  border: 0px;
  padding-block: 4px;
}

.service-scope > span {
  margin-bottom: 12px;
}

.service-scope ul {
  margin-bottom: 24px;
}

.service .text-link {
  border-bottom: 1px solid rgb(141, 153, 157);
  padding-block: 13px;
  margin: 0px;
}

.service-category {
  color: rgb(65, 73, 79);
}

.process .container {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 110px;
}

.process .section-heading {
  display: block;
  margin: 0px;
}

.process .section-heading h2 {
  max-width: 550px;
}

.process .section-intro {
  padding: 0px;
  margin-top: 30px;
  max-width: 390px;
  font-size: 18px;
}

.process-diagram {
  padding-top: 4px;
}

.process-diagram .steps {
  grid-template-columns: 1fr;
  gap: 28px;
}

.process-diagram .steps li {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 0px 24px;
  padding: 0px 0px 20px 28px;
}

.process-diagram .steps li::before {
  top: 10px;
}

.process-diagram .step-number {
  line-height: 1.15;
  margin: 0px;
  grid-row: 1 / 3;
}

.process-diagram .steps h3 {
  margin-bottom: 10px;
}

.process-diagram .steps p {
  grid-column: 2;
  font-size: 16px;
}

.process-toggle {
  margin-left: 28px;
}

.page-home .about-copy {
  padding-top: 18px;
}

.page-home .about h2 br {
  display: none;
}

.contact-form .turnstile-widget {
  min-height: 0px;
}

.contact-form .turnstile-widget:has(div) {
  min-height: 0px;
}

.contact-form .button {
  font-size: 14px;
}

.contact-form .button:disabled {
  opacity: 1;
  color: rgb(68, 83, 84);
  background: rgb(220, 228, 226);
  border: 1px solid rgb(220, 228, 226);
}

.company-details {
  font-size: 13px;
}

@media (max-width: 1100px) {
  .service-grid {
    gap: 65px 45px;
  }

  .ai .service-cover h3, .blockchain .service-cover h3 {
    font-size: 48px;
  }

  .ai .service-cover .architecture, .blockchain .service-cover .architecture {
    width: 135px;
  }

  .process .container {
    gap: 60px;
  }

  .process .section-heading h2 {
    font-size: 56px;
  }
}

@media (max-width: 900px) {
  .service-grid {
    grid-template-columns: 1fr;
  }

  .service-copy {
    margin-bottom: 22px;
  }

  .ai .service-cover h3, .blockchain .service-cover h3 {
    font-size: 55px;
  }

  .process .container {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .process .section-intro {
    font-size: 16px;
    margin-top: 24px;
  }

  .process-diagram .steps li {
    grid-template-columns: 38px 1fr;
    gap: 0px 16px;
    padding-bottom: 20px;
  }

  .process-diagram .steps p {
    font-size: 15px;
  }

  .page-home .about.container {
    grid-template-columns: 1fr;
  }

  .page-home .about-copy {
    padding: 0px;
  }
}

@media (max-width: 480px) {
  .ai .service-cover, .blockchain .service-cover {
    min-height: 155px;
  }

  .ai .service-cover .architecture, .blockchain .service-cover .architecture {
    width: 110px;
  }

  .ai .service-cover .architecture-svg, .blockchain .service-cover .architecture-svg {
    height: 130px;
  }
}

.services {
  padding-bottom: 90px;
}

.service.mobile, .service.cloud {
  align-items: stretch;
  background: rgb(240, 243, 240);
  padding: 34px 34px 30px;
  border: 0px;
}

.service-category {
  font-size: 13px;
  margin-bottom: 14px;
}

.service-headline, .ai .service-headline, .blockchain .service-headline {
  font-size: 31px;
  letter-spacing: -0.035em;
  min-height: 75px;
}

.service-copy {
  color: rgb(51, 60, 64);
}

.service-scope > span {
  color: rgb(81, 89, 97);
}

.service-scope li {
  color: rgb(51, 60, 64);
}

.service-grid {
  gap: 64px 40px;
}

.service .text-link {
  font-weight: 700;
  color: rgb(23, 92, 189);
  border: 0px;
  align-self: stretch;
  display: flex;
  justify-content: space-between;
  background: rgb(255, 255, 255);
  padding: 16px 18px;
  font-size: 14px;
  margin-top: 10px;
}

.service.ai, .service.blockchain {
  border-top: 1px solid rgb(170, 181, 185);
}

.ai .service-cover, .blockchain .service-cover {
  min-height: 150px;
}

.ai .service-cover h3, .blockchain .service-cover h3 {
  font-size: 45px;
  font-weight: 700;
  letter-spacing: -0.04em;
}

.ai .service-cover .architecture, .blockchain .service-cover .architecture {
  width: 115px;
}

.ai .service-cover .architecture-svg, .blockchain .service-cover .architecture-svg {
  height: 115px;
}

.ai .service-headline, .blockchain .service-headline {
  font-size: 27px;
  min-height: 64px;
}

.ai .text-link, .blockchain .text-link {
  padding-inline: 0px;
  border-top: 1px solid rgb(209, 216, 218);
}

.service .service-scope {
  margin-top: auto;
}

.section-intro {
  color: rgb(65, 73, 79);
}

.manifesto-line {
  display: block;
}

.page-home .about-copy {
  padding: 0px;
}

.page-home .about .text-link {
  border-bottom: 1px solid rgb(132, 157, 133);
}

.contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.contact-form > label[for="contact-company"] {
  grid-area: 2 / 1;
}

.contact-form > label[for="contact-message"] {
  grid-area: 1 / 2 / 3;
}

.contact-form > label[for="contact-message"] textarea {
  height: 100%;
  min-height: 150px;
}

.contact-form > .button {
  align-self: start;
}

.contact-form > .form-status {
  grid-column: 1 / -1;
}

.contact-form .form-field input, .contact-form .form-field textarea {
  background: rgb(36, 48, 52);
  border-color: rgb(163, 176, 180);
}

.company-details {
  margin-top: 35px;
  padding-top: 28px;
  color: rgb(214, 223, 225);
}

.contact {
  padding-bottom: 65px;
}

.site-footer {
  padding-bottom: 20px;
}

.page-career .contact-form > .form-row {
  grid-row: 1;
}

.page-career .contact-form > label[for="contact-message"] {
  grid-row: 1 / 3;
}

.page-career .contact-copy .business-contact {
  grid-column: 1 / -1;
  margin-top: 0px;
}

.page-career .contact-copy {
  row-gap: 24px;
}

@media (max-width: 1100px) {
  .service.mobile, .service.cloud {
    padding: 28px;
  }

  .service-headline, .ai .service-headline, .blockchain .service-headline {
    font-size: 29px;
  }

  .contact .contact-copy {
    gap: 50px;
  }

  .contact .contact-copy > p {
    font-size: 16px;
  }
}

@media (max-width: 900px) {
  .service-grid {
    gap: 38px;
  }

  .service.mobile, .service.cloud {
    padding: 24px;
  }

  .service-headline, .ai .service-headline, .blockchain .service-headline {
    min-height: 0px;
    font-size: 31px;
  }

  .service .text-link {
    font-size: 14px;
  }

  .ai .service-cover, .blockchain .service-cover {
    min-height: 145px;
  }

  .page-home .about.container {
    padding: 75px var(--gutter);
  }

  .page-home .about .eyebrow {
    margin-bottom: 28px;
  }

  .contact .contact-copy > p {
    margin-top: 25px;
  }

  .contact-form {
    flex-direction: column;
  }

  .contact-form > .form-row {
    order: 0;
  }

  .contact-form > label[for="contact-company"] {
    order: 1;
  }

  .contact-form > label[for="contact-message"] {
    order: 2;
  }

  .contact-form > .turnstile-widget {
    order: 3;
  }

  .contact-form > label[for="contact-message"] textarea {
    min-height: 160px;
  }

  .contact-form > .form-note {
    align-self: start;
  }

  .company-details {
    margin-top: 40px;
  }

  .contact {
    padding-bottom: 58px;
  }
}

@media (max-width: 480px) {
  .service.mobile, .service.cloud {
    padding: 20px;
  }

  .service-headline, .ai .service-headline, .blockchain .service-headline {
    font-size: 28px;
  }

  .service-category {
    font-size: 12px;
  }

  .service .service-copy {
    font-size: 15px;
  }

  .ai .service-cover h3, .blockchain .service-cover h3 {
    font-size: 39px;
  }
}

@media (max-width: 360px) {
  .service-category {
    font-size: 11px;
  }

  .ai .service-cover h3, .blockchain .service-cover h3 {
    font-size: 35px;
  }

  .ai .service-cover .architecture, .blockchain .service-cover .architecture {
    width: 85px;
  }

  .service-headline, .ai .service-headline, .blockchain .service-headline {
    font-size: 26px;
  }

  .page-home .about h2 {
    font-size: 37px;
  }
}

.sculpture {
  height: 100%;
  position: relative;
  overflow: hidden;
  background: rgb(23, 92, 189);
}

.sculpture-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: 4s ease-in-out 0s infinite normal none running sculpture-breathe;
  transform-origin: center center;
}

.sculpture .diagram-meta {
  right: 24px;
  bottom: 24px;
  z-index: 2;
}

.sculpture .motion-toggle {
  background: rgb(23, 92, 189);
  color: rgb(255, 255, 255);
  border-color: rgb(141, 180, 231);
}

.architecture.is-paused .sculpture-image {
  animation-play-state: paused;
}

@keyframes sculpture-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.025); }
}

.services .section-heading {
  grid-template-columns: 1.2fr 1fr;
  gap: 90px;
}

.services .section-heading .section-intro {
  padding-top: 38px;
}

.service-grid {
  display: block;
}

.service.service-disclosure {
  display: block;
  margin: 0px;
  padding: 0px;
  background: none;
  border-width: 1px 0px 0px;
  border-style: solid none none;
  border-color: rgb(155, 168, 174) currentcolor currentcolor;
  border-image: none;
}

.service.service-disclosure:last-child {
  border-bottom: 1px solid rgb(155, 168, 174);
}

.service-disclosure > summary {
  display: grid;
  gap: 22px;
  align-items: center;
  list-style: none;
  padding: 28px 0px;
  cursor: pointer;
}

.service-disclosure > summary::-webkit-details-marker {
  display: none;
}

.service-disclosure > summary:focus-visible {
  outline: rgb(23, 92, 189) solid 3px;
  outline-offset: 7px;
}

.service-disclosure > summary:hover h3 {
  color: rgb(23, 92, 189);
}

.service-disclosure > summary h3 {
  font-family: Arial, sans-serif;
  font-size: 70px;
  line-height: 1.1;
  font-weight: 400;
  color: rgb(32, 35, 39);
  margin: 0px;
}

.service-disclosure > summary .service-number {
  align-self: center;
}

.service-disclosure > summary .service-category {
  margin: 0px;
}

.disclosure-sign {
  width: 32px;
  height: 32px;
  position: relative;
  justify-self: end;
}

.disclosure-sign::before, .disclosure-sign::after {
  content: "";
  position: absolute;
  background: rgb(23, 92, 189);
  left: 4px;
  right: 4px;
  top: 15px;
  height: 2px;
}

.disclosure-sign::after {
  transform: rotate(90deg);
  transition: transform 200ms;
}

.service-disclosure[open] .disclosure-sign::after {
  transform: rotate(0deg);
}

.service-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 10px 62px 45px 92px;
}

.service-disclosure .service-scope {
  margin-top: 0px;
}

.service-disclosure .service-scope li {
  padding: 3px 0px;
}

.service-disclosure .text-link {
  background: none;
  border-top: 1px solid rgb(208, 216, 220);
  padding: 16px 0px;
}

.service-disclosure .diagram-meta {
  top: auto;
  bottom: 15px;
  right: 15px;
  padding: 0px;
}

.service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3 {
  font-size: 52px;
}

.service-disclosure.ai > summary, .service-disclosure.blockchain > summary {
  padding-block: 25px;
}

.service-disclosure.ai .architecture-svg, .service-disclosure.blockchain .architecture-svg {
  height: 260px;
}

.page-home .about .text-link {
  border: 0px;
}

.contact-form {
  column-gap: 40px;
}

@media (max-width: 1100px) {
  .hero-copy {
    padding: 55px 35px 55px var(--gutter);
  }

  .service-panel {
    padding-right: 25px;
  }

  .service-disclosure > summary h3 {
    font-size: 60px;
  }
}

@media (max-width: 900px) {
  .hero.container {
    grid-template-columns: 1fr;
  }

  .sculpture-image {
    object-position: center 45%;
  }

  .services .section-heading {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .services .section-heading .section-intro {
    padding: 0px;
  }

  .service-disclosure > summary h3 {
    font-size: 50px;
  }

  .disclosure-sign {
    grid-area: 1 / 3 / 3;
  }

  .service-panel {
    grid-template-columns: 1fr;
  }

  .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3 {
    font-size: 40px;
  }

  .contact-form > .button {
    min-width: 0px;
  }
}

@media (max-width: 480px) {
  .service-disclosure > summary h3 {
    font-size: 43px;
  }

  .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3 {
    font-size: 35px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sculpture-image {
    animation: auto ease 0s 1 normal none running none;
    transform: none;
  }

  .disclosure-sign::after {
    transition: none;
  }
}

@media (max-width: 900px) {
  .service-disclosure.ai .architecture-svg, .service-disclosure.blockchain .architecture-svg {
    height: 180px;
  }
}

.hero.container {
  isolation: isolate;
}

.hero-visual {
  max-width: none;
}

.hero .sculpture picture {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-actions .button {
  font-size: 14px;
}

.service-panel {
  padding-left: 92px;
  padding-right: 0px;
  gap: 70px;
}

.service-disclosure .service-copy {
  color: rgb(53, 61, 65);
}

.service-disclosure .sculpture .motion-toggle {
  background: rgb(255, 255, 255);
  color: rgb(23, 92, 189);
  border-color: rgb(186, 200, 207);
}

.process .section-intro {
  color: rgb(53, 61, 65);
}

.process .steps p {
  color: rgb(53, 61, 65);
}

.process-diagram .steps li::before {
  background: rgb(23, 92, 189);
}

.process-diagram .steps h3 {
  font-size: 24px;
}

.process-diagram .step-number {
  color: rgb(23, 92, 189);
}

.contact .contact-copy {
  align-items: start;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.contact .contact-copy > p {
  padding-top: 8px;
}

.contact .form-field {
  color: rgb(243, 246, 246);
}

.contact-form > .form-note {
  color: rgb(211, 223, 226);
}

@media (max-width: 1100px) {
  .service-panel {
    gap: 45px;
  }
}

@media (max-width: 900px) {
  .hero.container {
    flex-direction: column;
  }

  .hero-visual {
    z-index: 0;
  }

  .hero .sculpture .diagram-meta {
    bottom: 18px;
    right: 18px;
  }

  .service-panel {
    gap: 26px;
  }

  .process-diagram .steps h3 {
    font-size: 21px;
  }

  .contact .contact-copy > p {
    padding: 0px;
  }

  .contact .form-field input {
    min-height: 54px;
  }
}

@media (max-width: 480px) {
  .service-panel {
    padding-left: 0px;
  }

  .service-disclosure .service-headline {
    font-size: 28px;
  }

  .service-art, .service-art .sculpture-image {
    height: 215px;
  }

  .page-home .about h2 {
    font-size: 45px;
  }
}

.service-disclosure > summary .service-number {
  font-size: 14px;
}

.process .section-heading h2 {
  font-size: 65px;
  letter-spacing: -0.05em;
}

.process-diagram .steps li {
  border-bottom: 0px;
  padding-bottom: 24px;
}

.process-rail {
  stroke: rgb(23, 92, 189);
  stroke-width: 2.5;
}

.process-diagram .step-number {
  font-size: 34px;
}

.contact-form > .button:disabled {
  background: rgb(23, 92, 189);
  border-color: rgb(23, 92, 189);
  color: rgb(255, 255, 255);
  opacity: 0.75;
}

.contact-form > .button {
  background: rgb(23, 92, 189);
  border-color: rgb(23, 92, 189);
  color: rgb(255, 255, 255);
}

.contact-form > .button:hover:not(:disabled) {
  background: rgb(36, 113, 217);
}

@media (max-width: 900px) {
  .site-header nav {
    font-size: 16px;
  }

  .eyebrow, .section .eyebrow {
    font-size: 11px;
  }

  .process .section-heading h2 {
    font-size: clamp(39px, 9vw, 61px);
  }

  .process-diagram .step-number {
    font-size: 30px;
  }
}

@font-face { font-family: "Instrument Sans"; src: url("/assets/instrument-sans.ttf") format("truetype"); font-style: normal; font-weight: 400 700; font-stretch: 75% 100%; font-display: swap; }

h1, h2, .service-headline, .service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3, .aside-value, .manifesto-human {
  font-family: "Instrument Sans", Arial, sans-serif;
}

.page-home .site-header {
  color: rgb(255, 255, 255);
}

.page-home .site-header nav .nav-contact {
  background: transparent;
  border-bottom: 1px solid rgb(184, 205, 235);
  margin-left: 5px;
}

.page-home .languages {
  color: rgb(225, 234, 250);
}

.page-home .languages a[aria-current] {
  color: rgb(255, 255, 255);
}

.page-home .site-header .brand {
  margin-left: -23px;
}

.hero .eyebrow::before {
  display: none;
}

.service-disclosure > summary h3 {
  letter-spacing: -0.035em;
}

.process .section-heading h2 {
  font-weight: 500;
}

@media (max-width: 1100px) {
  .hero-copy {
    padding-right: 30px;
  }

  .page-home .site-header .brand {
    width: 210px;
  }

  .page-home .site-header nav {
    color: rgb(32, 35, 39);
  }

  .page-home .site-header nav .nav-contact {
    color: rgb(23, 92, 189);
    border-color: rgb(23, 92, 189);
  }

  .page-home .languages {
    color: rgb(81, 89, 97);
  }

  .page-home .languages a[aria-current] {
    color: rgb(23, 92, 189);
  }

  .page-home .site-header nav > a:hover {
    color: rgb(23, 92, 189);
  }

  .page-home .site-header nav :focus-visible {
    outline-color: rgb(23, 92, 189);
  }
}

@media (max-width: 900px) {
  .hero h1 {
    letter-spacing: -0.04em;
  }

  .hero-actions .button {
    font-size: 13px;
  }

  .hero-actions .text-link {
    font-size: 13px;
  }

  .page-home .site-header .brand {
    width: 190px;
    margin-left: -19px;
  }
}

@media (max-width: 360px) {
  .page-home .site-header .brand {
    width: 168px;
    margin-left: -17px;
  }

  .hero-actions .button {
    font-size: 12px;
  }
}

.brand > svg {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 396.85 / 113.385;
}

.page-home .site-header {
  border: 0px;
}

.expertise-strip a, .expertise-strip a:nth-child(-n+2), .expertise-strip a:nth-child(n+3) {
  border-left: 1px solid rgb(220, 224, 229);
  padding-block: 5px;
}

.process .container {
  position: relative;
  grid-template-rows: auto 1fr;
  row-gap: 25px;
}

.process .section-heading {
  grid-area: 1 / 1;
}

.process .process-support {
  grid-area: 2 / 1;
  font-size: 16px;
  color: rgb(81, 89, 97);
  max-width: 390px;
  margin: 0px;
  line-height: 1.8;
}

.process .process-diagram {
  grid-area: 1 / 2 / 3;
}

@media (max-width: 1100px) {
  .page-home .site-header {
    background: rgb(20, 91, 188);
  }
}

@media (max-width: 900px) {
  .expertise-strip a, .expertise-strip a:nth-child(-n+2), .expertise-strip a:nth-child(n+3) {
    padding-inline: 0px;
  }

  .process .container {
    display: block;
  }

  .process .process-support {
    max-width: 500px;
    font-size: 15px;
    margin: 20px 0px 38px;
  }

  .process .process-diagram {
    margin-top: 0px;
  }
}

.page-home .site-header {
  background: rgb(20, 91, 188);
  margin-bottom: 0px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.page-home .site-header::before {
  display: none;
}

.hero h1 span {
  margin-left: 0px;
  font-weight: inherit;
}

.hero-actions .button-blue {
  min-width: 0px;
  gap: 24px;
}

.hero-actions .button-blue:hover {
  box-shadow: none;
}

.hero-actions .button svg {
  width: 18px;
  margin-left: 0px;
}

.hero-actions .text-link {
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 7px;
  border: 0px;
}

.expertise-strip a, .expertise-strip a:nth-child(-n+2), .expertise-strip a:nth-child(n+3) {
  font-family: "Instrument Sans", Arial, sans-serif;
  font-weight: 500;
  color: rgb(32, 35, 39);
  justify-content: start;
  border: 0px;
  padding: 0px;
}

@media (max-width: 900px) {
  .hero-actions .button-blue {
    font-size: 13px;
  }
}

@media (max-width: 360px) {
  .hero-visual {
    height: 270px;
  }
}

body {
  font-family: "Instrument Sans", Arial, sans-serif;
  font-weight: 400;
}

.page-home .site-header, .page-home .site-header.is-scrolled {
  background: rgb(247, 248, 244);
  color: rgb(32, 35, 39);
  border-bottom: 1px solid rgb(216, 221, 217);
}

.page-home .site-header nav > a:hover {
  color: rgb(23, 92, 189);
}

.page-home .site-header nav .nav-contact {
  color: rgb(32, 35, 39);
  border-color: rgb(115, 128, 129);
}

.page-home .languages, .page-home .languages a[aria-current] {
  color: rgb(32, 35, 39);
}

.page-home .languages span {
  color: rgb(115, 124, 123);
}

.page-home .site-header :focus-visible {
  outline-color: rgb(23, 92, 189);
}

.page-home .site-header .brand {
  width: 223px;
}

.hero.container {
  background: rgb(247, 248, 244);
  color: rgb(32, 35, 39);
  flex-direction: column;
}

.hero-copy {
  grid-template-columns: 1fr 1fr;
  gap: 0px 70px;
}

.hero .eyebrow {
  grid-column: 1 / 3;
}

.hero h1 {
  grid-column: 1 / 3;
  max-width: none;
  text-wrap: initial;
}

.hero h1 span:first-child {
  display: block;
}

.hero h1 span:nth-child(2), .hero h1 span:nth-child(3) {
  display: inline;
}

.hero-intro {
  grid-area: 3 / 2;
  color: rgb(65, 76, 82);
}

.hero-actions {
  grid-area: 3 / 1;
  align-self: end;
  justify-content: start;
  margin: 0px;
}

@media (max-width: 1100px) {
  .hero-copy {
    gap: 0px 35px;
  }

  .page-home .menu-toggle {
    background: transparent;
    color: rgb(32, 35, 39);
    border-color: rgb(164, 173, 169);
  }
}

@media (max-width: 900px) {
  .hero-copy {
    display: block;
  }

  .hero h1 span:nth-child(2) {
    display: block;
  }

  .hero-actions {
    margin-top: 28px;
  }

  .page-home .site-header nav {
    background: rgb(247, 248, 244);
  }
}

.hero.container {
  grid-template-columns: 1.3fr 1fr;
  align-items: stretch;
  gap: 45px;
}

.hero-copy {
  display: block;
}

.hero h1 span:first-child, .hero h1 span:nth-child(2), .hero h1 span:nth-child(3) {
  display: block;
}

.hero h1 span.blue {
  color: rgb(32, 35, 39);
}

.hero-intro {
  margin: 0px;
}

.hero-visual {
  overflow: visible;
}

.hero .sculpture {
  background: rgb(247, 248, 244);
  margin-right: calc(-1 * max(var(--gutter),calc((100vw - 1320px)/2)));
}

.hero .sculpture-image {
  animation-name: sculpture-breathe;
}

.hero .sculpture .diagram-meta {
  right: 24px;
  bottom: 22px;
}

.expertise-strip a, .expertise-strip a:nth-child(-n+2), .expertise-strip a:nth-child(n+3) {
  font-size: 23px;
  display: flex;
  gap: 13px;
  align-items: baseline;
}

@media (max-width: 1100px) {
  .hero.container {
    gap: 25px;
    grid-template-columns: 1.25fr 1fr;
  }

  .hero-visual {
    min-height: 600px;
  }

  .expertise-strip a, .expertise-strip a:nth-child(-n+2), .expertise-strip a:nth-child(n+3) {
    font-size: 20px;
  }
}

@media (max-width: 900px) {
  .hero.container {
    padding: 0px;
    gap: 0px;
  }

  .hero-visual {
    min-height: 0px;
  }

  .hero .sculpture {
    width: 100%;
    margin-right: 0px;
  }

  .expertise-strip a, .expertise-strip a:nth-child(-n+2), .expertise-strip a:nth-child(n+3) {
    font-size: 22px;
  }
}

.hero.container {
  display: block;
  position: relative;
  padding: 0px;
  overflow: hidden;
}

.hero-copy {
  position: relative;
  z-index: 1;
  padding: 52px 0 35px max(var(--gutter),calc((100vw - 1320px)/2));
}

.hero-visual {
  position: absolute;
  inset: 0px;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-height: 0px;
  pointer-events: none;
}

.hero .sculpture {
  height: 100%;
  width: 100%;
  margin: 0px;
}

.hero .motion-toggle {
  pointer-events: auto;
}

.hero h1 span:nth-child(2) {
  font-size: 0.44em;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -0.025em;
  padding-top: 13px;
  padding-bottom: 5px;
}

.hero h1 span:nth-child(3) {
  font-size: 1.07em;
  letter-spacing: -0.05em;
}

.hero-actions .button-blue {
  background: rgb(23, 92, 189);
  color: rgb(255, 255, 255);
  position: relative;
}

.hero-actions .button-blue::after {
  content: "";
  position: absolute;
  top: 0px;
  left: 100%;
  border-top: 26px solid transparent;
  border-bottom: 26px solid transparent;
  border-left: 18px solid rgb(23, 92, 189);
}

.hero-actions .button-blue:hover {
  background: rgb(16, 73, 151);
}

.hero-actions .button-blue:hover::after {
  border-left-color: rgb(16, 73, 151);
}

.hero-actions .button-blue svg {
  display: none;
}

.hero-actions .text-link {
  color: rgb(32, 35, 39);
}

.hero-since {
  font-size: 13px;
  line-height: 1.5;
  margin: 38px 0px 0px;
  color: rgb(86, 97, 102);
}

.page-home .site-header nav .nav-contact {
  border: 0px;
}

@media (max-width: 1100px) {
  .hero-copy {
    width: 66%;
  }

  .hero-since {
    margin-top: 33px;
  }
}

@media (max-width: 900px) {
  .hero.container {
    display: flex;
  }

  .hero h1 span:nth-child(2) {
    font-size: 0.5em;
    padding-top: 10px;
    padding-bottom: 3px;
  }

  .hero-since {
    margin-top: 27px;
  }

  .hero-visual {
    position: relative;
    inset: auto;
    pointer-events: auto;
  }

  .hero .sculpture {
    height: 320px;
  }
}

.hero h1 span, .hero h1 span:nth-child(2), .hero h1 span:nth-child(3), .hero h1 .blue {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  padding: 0px;
  color: rgb(32, 35, 39);
}

.hero .eyebrow {
  line-height: 1.5;
  letter-spacing: 0px;
  text-transform: none;
  gap: 18px;
  flex-wrap: wrap;
  font-weight: 400;
}

.hero .hero-since {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0px;
  margin: 0px;
  padding-left: 18px;
  border-left: 1px solid rgb(185, 192, 194);
  color: rgb(89, 101, 106);
}

.hero-actions {
  gap: 28px;
}

.hero-actions .button-blue {
  padding: 15px 24px;
  min-height: 54px;
  font-size: 15px;
  font-weight: 500;
}

.hero-actions .button-blue::after {
  display: none;
}

.hero-actions .text-link {
  font-size: 15px;
}

.page-home .site-header nav .nav-contact {
  padding: 12px 0px;
  margin: 0px;
  gap: 0px;
}

.site-header nav {
  gap: 30px;
  font-size: 15px;
}

.languages {
  font-size: 14px;
  gap: 11px;
}

.page-home {
  background: rgb(247, 248, 244);
}

.page-home .services {
  background: rgb(247, 248, 244);
}

.services.section {
  padding-top: 65px;
}

.services .section-heading .eyebrow {
  text-transform: none;
  letter-spacing: 0px;
  font-weight: 400;
}

.services .section-heading .eyebrow::before {
  display: none;
}

.page-home .site-header {
  border-bottom-color: rgba(216, 221, 217, 0.44);
}

@media (max-width: 1100px) {
  .hero-copy {
    padding-top: 38px;
  }

  .hero-intro {
    font-size: 16px;
    max-width: 460px;
  }

  .hero .eyebrow {
    font-size: 12px;
    margin-bottom: 30px;
    gap: 9px;
  }

  .hero .hero-since {
    font-size: 12px;
    padding-left: 10px;
  }

  .hero-actions {
    gap: 22px;
  }

  .hero-actions .button-blue, .hero-actions .text-link {
    font-size: 13px;
  }
}

@media (max-width: 900px) {
  .hero .eyebrow {
    display: block;
    font-size: 13px;
  }

  .hero .hero-since {
    display: block;
    font-size: 12px;
    margin-top: 7px;
    padding: 0px;
    border: 0px;
  }

  .hero-actions {
    gap: 17px 23px;
  }

  .hero-visual, .hero .sculpture {
    height: 320px;
  }

  .services.section {
    padding-top: 55px;
  }
}

@media (max-width: 360px) {
  .hero h1 {
    font-size: 36px;
  }

  .hero-intro {
    font-size: 16px;
  }

  .hero-visual, .hero .sculpture {
    height: 260px;
  }
}

.services .section-heading {
  display: block;
  text-align: center;
  margin: 0px auto 60px;
}

.services .section-heading h2 {
  max-width: none;
}

.services .section-heading h2 br {
  display: none;
}

.services .section-heading .eyebrow {
  justify-content: center;
}

.services .section-heading .section-intro {
  padding: 0px;
  line-height: 1.65;
  margin: 0px auto;
}

.services .service-copy {
  font-size: 18px;
  line-height: 1.7;
}

.service-scope li {
  font-size: 16px;
}

.service-scope > span {
  font-size: 12px;
  letter-spacing: 0.035em;
}

.service-disclosure > summary {
  padding-block: 28px;
}

.summary-context {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 530px;
}

.service-teaser {
  letter-spacing: -0.02em;
  color: rgb(48, 59, 65);
}

.service-disclosure[open] .service-teaser {
  display: none;
}

.service-disclosure .text-link {
  font-weight: 500;
}

.page-home .process .eyebrow {
  font-size: 13px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0px;
  margin-bottom: 24px;
}

.page-home .process .eyebrow::before {
  display: none;
}

.page-home .process .section-heading h2 {
  margin-bottom: 25px;
}

.page-home .process .section-heading h2 br {
  display: none;
}

.page-home .process .section-intro {
  color: rgb(238, 244, 253);
  line-height: 1.6;
  margin: 0px auto;
  padding: 0px;
}

.page-home .process .process-support {
  color: rgb(224, 234, 250);
}

.page-home .process-diagram .steps li::before {
  background: rgb(184, 211, 252);
  top: 0px;
}

.page-home .process-diagram .step-number {
  font-family: "Instrument Sans", Arial, sans-serif;
}

.page-home .process-diagram .steps h3 {
  font-weight: 500;
  margin-bottom: 15px;
}

.page-home .process-diagram .steps .is-current .step-number {
  color: rgb(255, 255, 255);
}

.page-home .about .eyebrow {
  text-transform: none;
  font-size: 13px;
  letter-spacing: 0px;
  font-weight: 400;
}

.page-home .about h2 {
  margin-inline: auto;
}

.page-home .about .text-link {
  font-size: 16px;
  font-weight: 500;
}

.contact .eyebrow {
  font-size: 13px;
  text-transform: none;
  letter-spacing: 0px;
  font-weight: 400;
  justify-content: center;
}

.contact .contact-copy {
  max-width: 820px;
}

.contact .contact-copy > p {
  color: rgb(218, 227, 231);
}

.contact-grid {
  display: block;
}

.contact-form {
  max-width: 1080px;
  margin: 0px auto;
}

.contact .form-field input, .contact .form-field textarea {
  background: transparent;
  border-width: 0px 0px 1px;
  border-style: none none solid;
  border-color: currentcolor currentcolor rgb(129, 149, 158);
  border-image: none;
  border-radius: 0px;
  color: rgb(255, 255, 255);
  padding: 10px 0px;
  box-shadow: none;
}

.contact-form > .button {
  min-width: 235px;
  justify-content: space-between;
}

.contact .company-details {
  font-size: 14px;
  padding-top: 30px;
  color: rgb(195, 208, 214);
}

.contact .direct-contact > span {
  color: rgb(195, 208, 214);
}

@media (max-width: 1100px) {
  .page-home .process-diagram .steps {
    gap: 27px;
  }

  .service-teaser {
    font-size: 19px;
  }
}

@media (max-width: 900px) {
  .services .section-heading {
    text-align: left;
  }

  .services .section-heading .eyebrow {
    justify-content: start;
  }

  .services .service-copy {
    font-size: 17px;
  }

  .service-scope li {
    font-size: 16px;
  }

  .service-disclosure > summary .service-category {
    font-size: 13px;
  }

  .summary-context {
    gap: 6px;
  }

  .service-disclosure > summary {
    padding-block: 24px;
  }

  .page-home .process .section-heading {
    text-align: left;
  }

  .page-home .process .eyebrow {
    justify-content: start;
  }

  .page-home .process .process-support {
    text-align: left;
  }

  .page-home .process-diagram .steps {
    grid-template-columns: 1fr;
  }

  .page-home .process-diagram .steps h3 {
    grid-column: 2;
    margin-bottom: 10px;
  }

  .page-home .process-diagram .steps p {
    grid-column: 2;
  }

  .page-home .about.container {
    text-align: left;
  }

  .page-home .about .eyebrow {
    justify-content: start;
  }

  .contact {
    padding-block: 60px 35px;
  }

  .contact .eyebrow {
    justify-content: start;
  }

  .contact .contact-copy {
    text-align: left;
  }

  .contact-form {
    margin: 0px;
    max-width: none;
  }

  .contact-form > .button {
    width: 100%;
  }

  .contact .company-details {
    font-size: 14px;
  }

  .contact .business-contact {
    margin-top: 20px;
  }
}

.service-disclosure > summary {
  grid-template-columns: 70px calc(50% - 33px) minmax(0px, 1fr) 40px;
}

.summary-context {
  grid-column: 3;
  text-align: left;
  align-items: flex-start;
  justify-self: stretch;
}

.service-disclosure > summary .service-category {
  align-self: flex-start;
}

.service-teaser {
  font-size: 20px;
  line-height: 1.4;
}

.page-home .process .section-heading {
  text-align: left;
  max-width: none;
}

.page-home .process .eyebrow {
  justify-content: start;
}

.page-home .process .section-heading h2 {
  margin: 0px;
}

.page-home .process .section-intro {
  font-size: 19px;
  max-width: 500px;
  padding-bottom: 4px;
}

.page-home .process .process-support {
  text-align: left;
}

.page-home .process-diagram .steps li:first-child {
  border-top: 0px;
}

.page-home .process-diagram .steps li::before {
  display: none;
}

.page-home .process-diagram .steps h3 {
  letter-spacing: -0.025em;
}

.page-home .process .process-toggle {
  margin-top: 20px;
}

.page-home .about.container {
  text-align: left;
}

.page-home .about .eyebrow {
  justify-content: start;
}

.page-home .about h2 {
  margin: 0px;
}

.page-home .about-copy > p {
  margin-bottom: 25px;
}

.contact-form {
  gap: 0px;
  border: 1px solid rgb(129, 149, 158);
  background: rgb(28, 48, 57);
}

.contact-form > .form-row {
  grid-area: 1 / 1;
  gap: 0px;
}

.contact-form > .form-row > .form-field {
  border-bottom: 1px solid rgb(129, 149, 158);
}

.contact-form > .form-row > .form-field:first-child {
  border-right: 1px solid rgb(129, 149, 158);
}

.contact-form > .form-row > .form-field:last-child {
  border-right: 0px;
}

.contact-form > .form-field[for="contact-message"] {
  border-left: 1px solid rgb(129, 149, 158);
}

.contact .form-field {
  padding: 18px 22px;
  font-size: 16px;
  gap: 5px;
}

.contact .form-field input {
  border: 0px;
  min-height: 45px;
  padding: 8px 0px;
  font-size: 20px;
}

.contact .form-field textarea {
  border: 0px;
  min-height: 140px;
  margin: 0px;
  padding: 8px 0px;
  font-size: 20px;
}

.contact-form > .turnstile-widget {
  margin: 0px;
}

.contact-form > .button {
  width: 100%;
  padding: 16px 22px;
  border: 0px;
  border-radius: 0px;
  font-size: 18px;
  font-weight: 500;
}

.contact-form > .form-note {
  line-height: 1.6;
}

.contact-form:not(:has(#contact-company)) > .form-row {
  grid-row: 1 / 3;
  grid-template-columns: 1fr;
}

.contact-form:not(:has(#contact-company)) > .form-row > .form-field:first-child {
  border-right: 0px;
}

.contact-form:not(:has(#contact-company)) > .form-row > .form-field:last-child {
  border-bottom: 0px;
}

@media (max-width: 1100px) {
  .service-disclosure > summary {
    grid-template-columns: 70px calc(50% - 45.5px) minmax(0px, 1fr) 40px;
  }

  .page-home .process .section-heading {
    gap: 45px;
  }

  .page-home .process-diagram .steps li {
    grid-template-columns: 45px 1fr 1fr;
    gap: 25px;
  }

  .page-home .about.container {
    gap: 45px;
  }
}

@media (max-width: 900px) {
  .service-disclosure > summary {
    grid-template-columns: 35px 1fr 30px;
    gap: 12px;
  }

  .summary-context {
    grid-area: 2 / 2;
  }

  .service-disclosure > summary .service-category {
    grid-area: auto;
  }

  .service-teaser {
    font-size: 17px;
  }

  .page-home .process .section-heading h2 {
    margin-bottom: 24px;
  }

  .page-home .process .section-intro {
    font-size: 18px;
    margin: 0px;
    max-width: 600px;
  }

  .page-home .process-diagram .steps {
    gap: 0px;
  }

  .contact-form {
    display: flex;
    gap: 0px;
  }

  .contact-form > .form-row {
    grid-template-columns: 1fr;
    gap: 0px;
  }

  .contact-form > .form-row > .form-field:first-child {
    border-right: 0px;
  }

  .contact-form > .form-field[for="contact-company"] {
    border-bottom: 1px solid rgb(129, 149, 158);
  }

  .contact-form > .form-field[for="contact-message"] {
    border-left: 0px;
  }

  .contact .form-field {
    padding: 15px 18px;
  }

  .contact-form > .button {
    padding: 16px 18px;
  }

  .contact-form > .form-note {
    padding: 16px 18px;
  }

  .contact .form-field input, .contact .form-field textarea {
    font-size: 18px;
  }
}

@media (min-width: 901px) {
  .page-home .process-diagram .step-number {
    grid-area: 1 / 1;
  }

  .page-home .process-diagram .steps h3 {
    grid-area: 1 / 2;
  }

  .page-home .process-diagram .steps p {
    grid-area: 1 / 3;
  }
}

.services .section-heading {
  max-width: 1120px;
}

.services .section-heading h2 {
  line-height: 1.1;
  margin-bottom: 21px;
}

.services .section-heading .eyebrow {
  font-size: 14px;
  margin-bottom: 17px;
}

.services .section-heading .section-intro {
  max-width: 1000px;
}

.service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3 {
  font-size: 48px;
  letter-spacing: -0.035em;
}

.service-disclosure .service-headline {
  margin-bottom: 16px;
  min-height: 0px;
}

.service-disclosure .service-copy {
  margin-bottom: 20px;
}

.service-disclosure .service-scope li {
  line-height: 1.4;
  padding-block: 3px;
}

.service-disclosure .service-scope > span {
  margin-bottom: 10px;
}

.service-disclosure .service-scope ul {
  margin-bottom: 12px;
}

.service-disclosure .text-link {
  padding-block: 13px;
  min-height: 44px;
  margin-top: 5px;
}

.service-panel {
  padding-bottom: 35px;
}

.page-home .process-diagram .steps li {
  padding-block: 21px;
}

.contact {
  padding-block: 65px 35px;
}

.contact .contact-copy {
  margin-bottom: 35px;
}

.contact-form > .form-note {
  display: flex;
  align-items: center;
  border-top: 1px solid rgb(129, 149, 158);
}

.footer-top {
  padding-bottom: 14px;
}

.footer-bottom {
  padding-top: 13px;
  font-size: 13px;
}

.footer-top > p {
  font-size: 15px;
}

@media (max-width: 1100px) {
  .services .section-heading h2 {
    font-size: 44px;
  }

  .service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3 {
    font-size: 41px;
  }

  .page-home .process .section-heading h2 {
    font-size: 47px;
  }

  .page-home .about h2 {
    font-size: 50px;
  }
}

@media (max-width: 900px) {
  .services.section {
    padding-block: 55px;
  }

  .service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3 {
    font-size: 35px;
  }

  .service-art, .service-art .sculpture-image {
    height: 240px;
  }

  .contact-form > .button {
    min-height: 58px;
  }

  .contact-form > .form-note {
    border-top: 0px;
  }

  .footer-top > p {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .service-disclosure > summary {
    grid-template-columns: 24px 1fr 25px;
    gap: 12px;
  }

  .service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3 {
    font-size: 31px;
  }
}

@media (min-width: 901px) {
  .services .section-heading {
    text-align: left;
    max-width: none;
  }

  .services .section-heading .eyebrow {
    justify-content: start;
  }

  .services .section-heading h2 {
    margin-bottom: 26px;
  }

  .services .section-heading .section-intro {
    margin: 0px;
  }

  .service-disclosure > summary .service-number {
    display: none;
  }

  .service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3 {
    font-size: 43px;
    grid-area: 1 / 1;
  }

  .summary-context {
    max-width: 650px;
  }

  .service-disclosure > summary .service-category {
    display: none;
  }

  .service-disclosure[open] > summary .service-category {
    display: block;
  }

  .service-teaser {
    font-size: 20px;
    line-height: 1.4;
  }

  .service-panel {
    display: block;
  }

  .service-disclosure .service-headline {
    line-height: 1.3;
    margin-bottom: 18px;
  }

  .service-disclosure .service-copy {
    max-width: 750px;
  }

  .service-disclosure .service-scope > span {
    font-size: 14px;
    letter-spacing: 0px;
    text-transform: none;
  }

  .service-disclosure .service-scope ul {
    display: grid;
    margin-top: 8px;
    margin-bottom: 14px;
  }

  .service-disclosure .service-scope li {
    line-height: 1.5;
  }

  .service-disclosure .text-link {
    margin-top: 10px;
  }
}

.page-home .process .eyebrow {
  color: rgb(83, 99, 108);
}

.page-home .process .section-intro, .page-home .process .process-support {
  color: rgb(65, 79, 86);
}

.page-home .process-diagram .steps li {
  align-items: start;
}

.page-home .process-diagram .steps h3 {
  color: rgb(32, 46, 54);
}

section.contact .contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 0px;
  max-width: 1080px;
}

.contact-form > .form-row {
  display: contents;
}

.contact-form > .form-field[for="contact-message"] {
  border: 0px;
}

.contact .contact-form .form-field {
  display: flex;
  flex-direction: column;
  padding: 0px;
  border: 0px;
}

.contact .contact-form .form-field input, .contact .contact-form .form-field textarea {
  border-radius: 0px;
  margin: 0px;
}

.contact-form > .turnstile-widget {
  padding: 0px;
}

.contact-form > .turnstile-widget:not(:has(div, iframe)) {
  display: none;
}

.contact-form > .turnstile-widget:has(iframe) {
  padding: 0px;
}

.contact-form > .button {
  min-height: 56px;
}

.contact-form > .form-note {
  padding: 0px;
  background: transparent;
  border: 0px;
  align-self: start;
  font-size: 14px;
}

.contact-form:not(:has(#contact-company)) > .form-row {
  display: contents;
}

.contact-form:not(:has(#contact-company)) > .form-field[for="contact-message"] {
  grid-row: 1 / 3;
}

.contact-form:not(:has(#contact-company)) > .button, .contact-form:not(:has(#contact-company)) > .form-note {
  grid-row: 4;
}

@media (min-width: 901px) and (max-width: 1100px) {
  .services.section {
    grid-template-columns: 285px 1fr;
    gap: 55px;
  }

  .service-disclosure .service-scope ul {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .page-home .process-diagram .steps li:nth-child(2) {
    margin-left: 90px;
  }

  .page-home .process-diagram .steps li:nth-child(4) {
    margin-left: 270px;
  }
}

@media (max-width: 900px) {
  .service-panel {
    display: block;
    padding: 0px 0px 28px;
  }

  .service-disclosure > summary .service-number {
    font-size: 13px;
  }

  .service-disclosure .service-scope > span {
    font-size: 14px;
    letter-spacing: 0px;
    text-transform: none;
  }

  section.contact .contact-form {
    display: flex;
    flex-direction: column;
  }

  .contact-form > .form-row {
    display: contents;
  }

  .contact-form > .form-note {
    order: 4;
  }

  .contact-form > .button {
    order: 5;
  }

  .contact-form > .form-status {
    order: 6;
  }
}

.contact .contact-form > .form-row > .form-field {
  border: 0px;
}

.contact-form > .turnstile-widget {
  align-self: start;
}

.contact-form > .form-status {
  grid-row: 6;
}

.contact-form:not(:has(#contact-company)) > .turnstile-widget {
  grid-row: 3;
}

.contact-form:not(:has(#contact-company)) > .button {
  grid-row: 3;
}

.hero-proposition {
  letter-spacing: -0.025em;
  margin: 0px 0px 25px;
  color: rgb(32, 35, 39);
  text-wrap: balance;
}

.page-home .process .container {
  align-items: start;
}

.page-home .process .section-heading {
  margin-bottom: 0px;
}

.page-home .process-diagram .steps li {
  margin-left: 0px !important;
}

@media (max-width: 1100px) {
  .hero h1 {
    font-size: 7.5vw;
  }

  .hero-proposition {
    font-size: 31px;
    max-width: 500px;
  }

  .hero.container {
    min-height: 620px;
  }

  .page-home .process .container {
    gap: 20px 45px;
  }

  .page-home .process-diagram .steps h3 {
    font-size: 27px;
  }

  .page-home .process-diagram .steps p {
    font-size: 17px;
  }
}

@media (max-width: 900px) {
  .hero-proposition {
    margin-bottom: 22px;
  }

  .page-home .process .section-heading {
    margin-bottom: 17px;
  }
}

@media (max-width: 480px) {
  .process-art, .process-art .sculpture-image {
    height: 220px;
  }
}

@media (min-width: 901px) {
  .hero .sculpture-image {
    object-fit: contain;
    object-position: right center;
  }
}

@media (min-width: 1101px) {
  .services.section {
    grid-template-columns: 430px 1fr;
    gap: 80px;
  }

  .services .section-heading h2 {
    font-size: 48px;
  }

  .services .section-heading .section-intro {
    max-width: 360px;
  }

  .service-disclosure[open] > summary h3 {
    font-size: 29px;
  }

  .service-disclosure .service-headline {
    font-size: 32px;
  }
}

.page-home .about.container {
  max-width: none;
  width: 100%;
}

.page-home .about-title {
  max-width: 1320px;
  margin: auto;
}

.page-home .about .eyebrow {
  margin-bottom: 24px;
}

.contact .eyebrow {
  text-align: left;
}

.contact .contact-copy {
  text-align: left;
  margin: 0px;
}

.contact .contact-copy > p {
  text-align: left;
  padding: 0px;
}

.contact.section {
  padding-block: 75px 35px;
}

.contact .contact-form {
  width: 100%;
  margin: 0px;
  max-width: none;
}

.contact-form > .form-row > .form-field:first-child {
  grid-area: 1 / 1;
}

.contact-form > .form-row > .form-field:last-child {
  grid-area: 1 / 2;
}

.contact-form > .form-field[for="contact-company"] {
  grid-area: 2 / 1 / auto / 3;
}

.contact-form > .form-field[for="contact-message"] {
  grid-area: 3 / 1 / auto / 3;
}

.contact-form > .turnstile-widget {
  grid-area: 4 / 1;
}

.contact-form > .button {
  grid-area: 4 / 2;
}

.contact-form > .form-note {
  grid-area: 5 / 1 / auto / 3;
  max-width: 500px;
}

.contact-form > .form-status {
  grid-area: 6 / 1 / auto / 3;
}

.contact-form:not(:has(#contact-company)) > .form-field[for="contact-message"] {
  grid-area: 2 / 1 / auto / 3;
}

.contact-form:not(:has(#contact-company)) > .turnstile-widget, .contact-form:not(:has(#contact-company)) > .button {
  grid-row: 3;
}

.contact-form:not(:has(#contact-company)) > .form-note {
  grid-row: 4;
}

@media (max-width: 1100px) {
  .page-home .about-copy > p {
    gap: 45px;
    font-size: 20px;
  }

  .page-home .about-copy > .text-link {
    margin-left: calc(50% + 22px);
  }

  .contact .contact-grid {
    gap: 45px;
    grid-template-columns: 0.9fr 1.1fr;
  }

  .contact .contact-copy h2 {
    font-size: 46px;
  }
}

@media (max-width: 900px) {
  .company-origin > span:first-child, .company-origin > span:last-child {
    padding: 0px;
    align-self: baseline;
  }

  .page-home .about-copy > .text-link {
    margin: 25px 0px 0px;
  }

  .contact .company-details {
    margin-top: 38px;
  }
}

.company-origin > span:first-child, .company-origin > span:last-child {
  padding: 0px;
  align-self: baseline;
}

.contact > .container > .eyebrow {
  max-width: none;
  margin: 0px 0px 30px;
  text-align: left;
  justify-content: flex-start;
}

.page-home .process {
  border-top: 1px solid rgb(204, 212, 213);
}

.page-home .process .section-heading > div {
  padding: 0px;
}

.page-home .process-diagram .steps li {
  border-top: 1px solid rgb(204, 212, 213);
}

.page-home .process-diagram .step-number {
  font-weight: 450;
}

.page-home .process-track {
  left: 0px;
}

.company-origin > span:first-child, .company-origin > span:last-child {
  font-size: 20px;
}

.contact .contact-form .form-field input, .contact .contact-form .form-field textarea {
  box-shadow: none;
}

.contact .contact-form .form-field input:focus, .contact .contact-form .form-field textarea:focus {
  outline: rgb(255, 255, 255) solid 2px;
  outline-offset: 5px;
}

.contact .contact-form > .button {
  background: rgb(255, 255, 255);
  color: rgb(23, 92, 189);
  border: 1px solid rgb(255, 255, 255);
  opacity: 1;
  min-height: 58px;
}

.contact .contact-form > .button:disabled {
  background: rgb(220, 233, 251);
  color: rgb(21, 79, 158);
  border-color: rgb(220, 233, 251);
  opacity: 1;
}

@media (min-width: 901px) and (max-width: 1100px) {
  .page-home .process .container, .contact .contact-grid {
    grid-template-columns: 285px 1fr;
    gap: 25px 55px;
  }

  .page-home .process .section-heading h2, .contact .contact-copy h2 {
    font-size: 40px;
  }

  .page-home .process-diagram .step-number {
    font-size: 60px;
  }

  .page-home .about-copy > p {
    grid-template-columns: 320px 1fr;
    gap: 45px;
  }

  .page-home .about-copy > .text-link {
    margin-left: 365px;
  }
}

@media (max-width: 900px) {
  .page-home .process .section-heading h2 {
    max-width: 650px;
  }

  .company-origin > span:first-child, .company-origin > span:last-child {
    font-size: 18px;
  }

  .page-home .contact > .container {
    padding-top: 45px;
  }
}

@media (min-width: 901px) {
  .services .section-heading {
    grid-template-columns: 1fr 400px;
    gap: 80px;
    align-items: end;
  }

  .services .section-heading h2 {
    max-width: 720px;
    margin: 0px;
    font-stretch: 90%;
  }

  .service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3, .service-disclosure[open] > summary h3 {
    line-height: 1.08;
    grid-area: 1 / 1;
  }

  .summary-context {
    grid-area: 1 / 2;
  }

  .disclosure-sign {
    grid-area: 1 / 3;
  }

  .service-disclosure .service-copy {
    line-height: 1.6;
  }
}

.page-home .process .section-heading {
  margin: 0px;
}

.page-home .process-diagram .step-number {
  grid-row: 1;
}

.page-home .about-copy > p {
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

.company-origin > strong, .company-origin > span:first-child, .company-origin > span:last-child {
  font-size: 35px;
  font-weight: 400;
  letter-spacing: -0.02em;
}

.page-home .about-copy > .text-link {
  margin-left: calc(50% + 40px);
}

.page-home .contact.section {
  padding-top: 65px;
}

.page-home .contact > .container {
  border-top: 0px;
  padding-top: 0px;
}

.contact .company-details a, .contact .direct-contact a {
  color: rgb(23, 92, 189);
}

.contact .form-status[data-error="true"] {
  color: rgb(157, 39, 24);
  background: rgb(255, 232, 223);
}

.site-footer {
  border-top: 1px solid rgb(204, 212, 213);
}

body:not(.page-home) {
  background: rgb(247, 248, 244);
}

.subhero-aside {
  background: none;
}

.subhero-aside .architecture {
  aspect-ratio: 1.35 / 1;
  margin: 0px;
  overflow: hidden;
  background: rgb(247, 248, 244);
}

.subhero-aside .sculpture-image {
  height: 100%;
  object-fit: cover;
  object-position: 45% center;
}

.subhero-aside .aside-caption {
  background: transparent;
  border-top: 1px solid rgb(204, 212, 213);
  padding: 28px 0px 0px;
}

.subhero-aside .motion-toggle {
  color: rgb(23, 92, 189);
  background: rgb(255, 255, 255);
  border-color: rgb(155, 170, 176);
}

.subhero-aside .diagram-meta {
  top: auto;
  bottom: 18px;
  right: 18px;
  padding: 0px;
}

.subhero h1 {
  font-size: 72px;
  line-height: 1.07;
  font-weight: 500;
}

.subhero-intro {
  font-size: 20px;
  line-height: 1.65;
}

.story-copy p, .mission-copy, .context-grid p {
  font-size: 19px;
  line-height: 1.65;
}

.subhero-aside .aside-value {
  font-size: 54px;
}

.subhero-aside .aside-caption > p:last-child {
  font-size: 17px;
}

@media (min-width: 901px) and (max-width: 1100px) {
  .services .section-heading {
    grid-template-columns: 1fr 320px;
    gap: 40px;
  }

  .services .section-heading h2, .page-home .process .section-heading h2 {
    font-size: 47px;
  }

  .service-panel {
    padding-left: 335px;
  }

  .page-home .process .container, .page-home .process .section-heading {
    gap: 25px 45px;
  }

  .subhero h1 {
    font-size: 58px;
  }
}

@media (max-width: 900px) {
  .page-home .process .container, .page-home .process .section-heading {
    display: block;
  }

  .page-home .about-copy > p {
    display: block;
  }

  .company-origin > strong, .company-origin > span:first-child, .company-origin > span:last-child {
    font-size: 29px;
  }

  .page-home .about-copy > .text-link {
    margin-left: 0px;
  }

  .subhero h1 {
    font-size: clamp(40px, 8.5vw, 60px);
  }

  .subhero-intro {
    font-size: 18px;
  }

  .subhero-aside .architecture {
    max-height: 270px;
  }

  .story-copy p, .mission-copy, .context-grid p {
    font-size: 18px;
  }

  .subhero-aside .aside-value {
    font-size: 42px;
  }
}

.contact .company-details strong {
  color: rgb(32, 35, 39);
}

.contact .company-details p {
  color: rgb(57, 72, 79);
}

.hero h1 {
  white-space: normal;
}

.hero h1 > span {
  display: block;
}

.hero h1 > span + span {
  margin-top: 8px;
}

.hero-copy {
  max-width: 880px;
}

.hero-proposition {
  line-height: 1.22;
}

.hero-visual {
  left: 0px;
}

.hero .sculpture-image {
  object-fit: cover;
}

.services .section-heading h2 {
  font-stretch: 100%;
  font-weight: 500;
  letter-spacing: -0.045em;
}

.service-disclosure .service-headline {
  font-size: 36px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.service-disclosure .service-copy {
  line-height: 1.65;
}

.service-disclosure .service-scope > span {
  font-size: 15px;
}

.service-disclosure .text-link {
  font-size: 17px;
}

.service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3, .service-disclosure[open] > summary h3 {
  letter-spacing: -0.045em;
  font-weight: 500;
}

.service-disclosure > summary .service-category {
  font-size: 19px;
  color: rgb(57, 72, 79);
}

.service-disclosure .service-teaser {
  color: rgb(57, 72, 79);
}

.page-home .process {
  border: 0px;
}

.page-home .process .section-heading h2 {
  letter-spacing: -0.045em;
  font-stretch: 100%;
}

.page-home .about.container {
  align-items: start;
}

.page-home .about h2 {
  font-stretch: 100%;
  text-transform: none;
}

.page-home .about .about-title {
  margin: 0px;
}

.page-home .about-copy > p {
  display: block;
}

.page-home .about-copy > .text-link {
  border-color: rgb(23, 92, 189);
}

.contact .eyebrow, .contact .contact-copy > p, .contact .company-details, .contact .direct-contact > span, .contact .form-note, .contact .form-field, .contact .field-optional {
  color: rgb(226, 233, 236);
}

.contact .contact-copy h2 {
  grid-area: 1 / 1 / auto / 3;
  max-width: 1150px;
  margin: 0px 0px 12px;
}

.contact .contact-copy > p {
  grid-area: 2 / 1;
  max-width: 500px;
  margin: 0px;
}

.contact .contact-copy > .business-contact {
  grid-area: 3 / 1;
}

.contact .contact-form .form-field input, .contact .contact-form .form-field textarea {
  border-width: 0px 0px 1px;
  border-style: none none solid;
  border-color: currentcolor currentcolor rgb(129, 149, 159);
  border-image: none;
}

.contact .contact-form > .button, .contact .contact-form > .button:disabled {
  padding-inline: 22px;
}

.contact .company-details {
  border-color: rgb(96, 117, 129);
  margin-top: 60px;
}

.contact .company-details p, .contact .company-details strong, .contact .company-details a, .contact .direct-contact a {
  color: rgb(220, 230, 236);
}

.contact .company-map {
  border-color: rgb(220, 230, 236);
}

@media (min-width: 901px) and (max-width: 1100px) {
  .page-home .about.container {
    gap: 45px;
  }
}

@media (max-width: 900px) {
  .hero-copy {
    max-width: none;
  }

  .hero h1 {
    line-height: 0.9;
    margin-bottom: 30px;
  }

  .hero h1 > span {
    display: inline;
  }

  .hero h1 > span + span::before {
    content: " ";
  }

  .hero .eyebrow {
    margin-bottom: 34px;
  }

  .hero-visual {
    left: auto;
  }

  .hero .sculpture-image {
    object-fit: cover;
    object-position: right center;
  }

  .service-disclosure .service-headline {
    font-size: 29px;
  }

  .service-disclosure .service-scope li {
    font-size: 17px;
  }

  .page-home .about-copy > p {
    line-height: 1.55;
  }

  .contact .contact-copy {
    display: block;
    margin-bottom: 35px;
  }

  .contact .contact-copy h2 {
    line-height: 1.08;
    margin-bottom: 28px;
  }

  .contact .contact-copy > .business-contact {
    margin-top: 22px;
  }

  .contact .contact-form > .button {
    order: 5;
  }

  .contact .contact-form > .form-note {
    order: 6;
  }

  .contact .contact-form > .form-status {
    order: 7;
  }

  .contact .contact-form > .turnstile-widget {
    order: 4;
  }
}

@media (max-width: 480px) {
  .hero h1 > span {
    display: block;
  }

  .hero h1 > span + span::before {
    content: none;
  }

  .hero-proposition {
    font-size: 27px;
  }
}

.hero h1 {
  line-height: 0.88;
  margin-bottom: 27px;
}

.hero-copy {
  padding-top: 36px;
  padding-bottom: 40px;
  width: 62%;
}

.hero .eyebrow {
  margin-bottom: 30px;
}

.hero-proposition {
  font-size: 31px;
  max-width: 540px;
  margin-bottom: 18px;
}

.hero-intro {
  max-width: 585px;
  font-size: 19px;
  line-height: 1.55;
}

.hero-actions {
  margin-top: 24px;
}

.hero.container {
  min-height: 740px;
}

.hero-actions .button, .hero-actions .text-link {
  font-size: 16px;
}

.site-header nav, .page-home .site-header nav {
  font-size: 16px;
}

.eyebrow, .section .eyebrow {
  font-size: 14px;
  font-weight: 450;
  letter-spacing: 0px;
  text-transform: none;
}

.services.section {
  padding-block: 65px;
}

.services .section-heading {
  margin-bottom: 38px;
}

.services .section-heading h2 {
  font-size: 55px;
}

.services .section-heading .section-intro {
  font-size: 20px;
}

.service-disclosure > summary, .service-disclosure.ai > summary, .service-disclosure.blockchain > summary {
  padding-block: 24px;
}

.service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3, .service-disclosure[open] > summary h3 {
  font-size: 58px;
}

.service-disclosure .service-teaser {
  font-size: 23px;
}

.service-disclosure .service-copy {
  font-size: 20px;
}

.service-disclosure .service-scope ul {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.service-disclosure .service-scope li {
  font-size: 17px;
}

.page-home .process .section-heading {
  grid-template-columns: 1fr 440px;
  gap: 100px;
  align-items: end;
}

.page-home .process .section-heading .section-intro {
  margin: 0px;
}

.page-home .process-diagram .steps {
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.page-home .process-diagram .steps li {
  border: 0px;
}

.page-home .process-diagram .step-number {
  display: block;
  letter-spacing: 0px;
  margin-bottom: 18px;
}

.page-home .process-diagram .steps li:last-child {
  padding-bottom: 0px;
}

.contact.section, .page-home .contact.section {
  padding-block: 65px;
}

.contact .contact-grid {
  display: grid;
  align-items: start;
}

.contact .contact-copy {
  display: block;
}

.contact .contact-copy h2 {
  line-height: 1.1;
  margin-bottom: 25px;
}

.contact .contact-copy > p {
  line-height: 1.55;
}

.contact .contact-form {
  grid-area: auto;
}

.contact .contact-form .form-field {
  gap: 8px;
}

.contact .contact-form .form-field input {
  min-height: 47px;
}

.contact .contact-form .form-field textarea {
  flex: 1 1 0%;
}

.contact .contact-form > .button, .contact .contact-form > .button:disabled {
  font-size: 17px;
}

.contact .contact-form > .form-note {
  max-width: 650px;
}

.contact .contact-form:not(:has(#contact-company)) > .turnstile-widget, .contact .contact-form:not(:has(#contact-company)) > .button {
  grid-row: 3;
}

.site-footer {
  padding-block: 30px 20px;
}

.site-footer .company-details {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 30px;
  border: 0px;
  padding: 25px 0px;
  margin: 0px;
  font-size: 15px;
  color: rgb(57, 72, 79);
}

.site-footer .company-details p {
  margin: 0px;
  line-height: 1.6;
}

.site-footer .company-details strong {
  font-weight: 500;
  color: rgb(32, 35, 39);
}

.site-footer .direct-contact > span {
  font-size: 14px;
  color: rgb(57, 72, 79);
  display: block;
  margin-bottom: 5px;
}

.site-footer .direct-contact > a {
  font-size: 17px;
  color: rgb(23, 92, 189);
}

.site-footer .company-map {
  font-size: 15px;
  color: rgb(23, 92, 189);
}

.site-footer .footer-top {
  border-bottom: 1px solid rgb(204, 212, 213);
}

.site-footer .footer-bottom {
  font-size: 14px;
}

.site-footer .company-details .direct-contact p {
  font-size: 14px;
  margin-top: 8px;
}

@media (min-width: 901px) and (max-width: 1100px) {
  .hero h1 {
    font-size: 11vw;
  }

  .hero.container {
    min-height: 710px;
  }

  .hero-intro {
    font-size: 17px;
    max-width: 460px;
  }

  .hero-proposition {
    font-size: 28px;
  }

  .hero-visual {
    right: -190px;
  }

  .services .section-heading h2 {
    font-size: 46px;
  }

  .service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3, .service-disclosure[open] > summary h3 {
    font-size: 49px;
  }

  .service-disclosure .service-teaser {
    font-size: 20px;
  }

  .page-home .process .section-heading {
    grid-template-columns: 1fr 330px;
    gap: 50px;
  }

  .page-home .process-diagram .steps {
    gap: 24px;
  }

  .contact .contact-grid {
    grid-template-columns: 330px 1fr;
    gap: 50px;
  }

  .contact .contact-copy h2 {
    font-size: 45px;
  }

  .contact .contact-form {
    gap: 18px 24px;
  }

  .site-footer .company-details {
    font-size: 13px;
    gap: 20px;
  }

  .site-footer .direct-contact > a {
    font-size: 15px;
  }
}

@media (max-width: 900px) {
  .hero-copy {
    width: 100%;
    padding: 34px var(--gutter);
  }

  .hero.container {
    min-height: 0px;
  }

  .hero-proposition {
    font-size: 28px;
    max-width: 650px;
  }

  .hero-intro {
    font-size: 18px;
    max-width: 650px;
  }

  .hero-visual {
    right: auto;
    height: 310px;
  }

  .hero-actions .button, .hero-actions .text-link {
    font-size: 15px;
  }

  .service-disclosure .service-teaser {
    font-size: 17px;
  }

  .service-disclosure .service-copy {
    font-size: 18px;
  }

  .service-disclosure .service-scope ul {
    display: block;
  }

  .page-home .process .section-heading {
    display: block;
  }

  .page-home .process .section-heading .section-intro {
    margin-top: 22px;
  }

  .page-home .process-diagram .steps {
    display: block;
  }

  .page-home .process-diagram .steps li {
    display: grid;
  }

  .page-home .process-diagram .step-number {
    grid-area: 1 / 1;
    margin: 0px;
    font-size: 22px;
  }

  .page-home .process-diagram .steps h3 {
    grid-area: 1 / 2;
    margin: 0px;
  }

  .page-home .process-diagram .steps p {
    grid-area: 2 / 2;
  }

  .contact .contact-copy > p {
    font-size: 19px;
    max-width: 600px;
  }

  .site-footer .company-details {
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    font-size: 14px;
  }

  .site-footer .direct-contact > a {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .hero-visual {
    height: 260px;
  }

  .hero-intro {
    font-size: 17px;
  }

  .site-footer .company-details {
    grid-template-columns: 1fr;
  }

  .service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3, .service-disclosure[open] > summary h3 {
    font-size: 34px;
  }
}

.page-home .process-diagram .steps {
  display: block;
}

.page-home .process-diagram .steps li {
  display: grid;
  width: calc(100% - 160px);
  padding: 10px 0px 28px 22px;
  min-height: 125px;
}

.page-home .process-diagram .steps li:nth-child(1) {
  margin-left: 0px !important;
}

.page-home .process-diagram .steps li:nth-child(2) {
  margin-left: 80px !important;
}

.page-home .process-diagram .steps li:nth-child(3) {
  margin-left: 160px !important;
}

.page-home .process-diagram .steps li:nth-child(4) {
  margin-left: 80px !important;
}

.page-home .process-diagram .step-number {
  grid-area: 1 / 1;
  line-height: 1.5;
  margin: 0px;
}

.page-home .process-diagram .steps h3 {
  grid-area: 1 / 2;
  line-height: 1.15;
  margin: 0px;
}

.page-home .process-diagram .steps p {
  grid-area: 2 / 2;
}

.page-home .process-toggle {
  margin-top: 15px;
}

.page-home .about.container {
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

.page-home .about-title {
  position: relative;
  z-index: 1;
}

.contact .contact-form .form-field textarea {
  border: 1px solid rgb(140, 159, 168);
  background: rgb(26, 43, 51);
  padding: 14px;
  resize: vertical;
}

.contact .contact-form .form-field input {
  border-color: rgb(170, 186, 193);
}

@media (min-width: 901px) and (max-width: 1100px) {
  .page-home .process-diagram .steps li {
    width: calc(100% - 80px);
    padding-left: 17px;
  }

  .page-home .process-diagram .steps li:nth-child(2), .page-home .process-diagram .steps li:nth-child(4) {
    margin-left: 40px !important;
  }

  .page-home .process-diagram .steps li:nth-child(3) {
    margin-left: 80px !important;
  }
}

@media (max-width: 900px) {
  .page-home .process-diagram .steps li {
    width: 100%;
    min-height: 0px;
    grid-template-columns: 28px 1fr;
    padding: 18px 0px 25px 19px;
    gap: 10px 16px;
    margin-left: 0px !important;
  }

  .page-home .process-diagram .steps li:nth-child(n) {
    margin-left: 0px !important;
  }

  .page-home .about.container {
    display: block;
  }

  .page-home .about-copy {
    max-width: 650px;
  }

  .subhero, .subhero > div, .subhero-aside, .context-grid article, .culture-grid article {
    min-width: 0px;
  }

  .subhero-aside .architecture {
    width: 100%;
    max-width: 100%;
  }

  .subhero h1 {
    overflow-wrap: break-word;
  }

  .subhero .hero-actions {
    flex-wrap: wrap;
  }
}

@media (max-width: 360px) {
  .subhero h1 {
    font-size: 36px;
  }

  .subhero-intro {
    font-size: 17px;
  }

  .subhero-aside .aside-value {
    font-size: 38px;
  }

  .context-grid h3 {
    font-size: 23px;
  }
}

.page-home .about-copy {
  align-self: start;
}

@media (min-width: 901px) and (max-width: 1100px) {
  .page-home .process .container {
    gap: 22px 45px;
  }

  .page-home .about-copy {
    margin-top: 40px;
  }
}

.hero h1 {
  font-size: clamp(120px, 10.7vw, 154px);
  font-weight: 600;
  letter-spacing: -0.062em;
}

.hero-proposition {
  font-weight: 500;
}

.hero-visual {
  right: -140px;
}

.hero .sculpture-image {
  object-position: 65% center;
}

.hero .eyebrow {
  font-size: 14px;
  color: rgb(57, 72, 79);
}

@media (min-width: 901px) {
  .services.section {
    display: grid;
    grid-template-columns: 455px 1fr;
    gap: 85px;
    padding-block: 70px;
  }

  .services .section-heading {
    display: block;
    position: sticky;
    top: 125px;
    align-self: start;
    margin: 0px;
  }

  .services .section-heading h2 {
    font-size: 50px;
    line-height: 1.08;
    letter-spacing: -0.035em;
    font-weight: 600;
  }

  .services .section-heading .section-intro {
    max-width: 420px;
    font-size: 19px;
    line-height: 1.6;
    margin-top: 26px;
  }

  .services .section-heading .eyebrow {
    margin-bottom: 25px;
  }

  .service-disclosure > summary, .service-disclosure.ai > summary, .service-disclosure.blockchain > summary {
    grid-template-columns: 175px 1fr 25px;
    gap: 18px;
    padding-block: 27px;
    align-items: start;
  }

  .service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3, .service-disclosure[open] > summary h3 {
    font-size: 32px;
    font-weight: 550;
    letter-spacing: -0.03em;
  }

  .service-disclosure .service-teaser {
    font-size: 18px;
    line-height: 1.5;
  }

  .summary-context {
    align-self: start;
  }

  .service-disclosure[open] > summary .service-category {
    font-size: 17px;
  }

  .service-panel {
    padding: 5px 0px 30px;
  }

  .service-disclosure .service-headline {
    font-size: 30px;
    font-weight: 500;
  }

  .service-disclosure .service-copy {
    font-size: 18px;
  }

  .service-disclosure .service-scope ul {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .service-disclosure .service-scope li {
    font-size: 17px;
  }

  .service-disclosure .text-link {
    font-size: 17px;
  }
}

.page-home .process {
  position: relative;
  background: rgb(247, 248, 244);
  color: rgb(32, 35, 39);
  padding-block: 65px;
  overflow: hidden;
}

.process-backdrop {
  position: absolute;
  inset: 0px;
  z-index: 0;
  pointer-events: none;
}

.process-backdrop .architecture {
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0px;
  background: none;
  overflow: hidden;
}

.process-backdrop .sculpture-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.process-backdrop .diagram-meta {
  inset: auto auto 18px 24px;
  pointer-events: auto;
  padding: 0px;
}

.process-backdrop .motion-toggle {
  background: rgb(255, 255, 255);
  color: rgb(23, 92, 189);
  border-color: rgb(183, 200, 212);
}

.page-home .process .container {
  position: relative;
  z-index: 1;
  display: grid;
  justify-content: space-between;
  pointer-events: none;
}

.page-home .process .container > * {
  pointer-events: auto;
}

.page-home .process .section-heading {
  grid-area: 1 / 1;
  display: block;
}

.page-home .process .section-heading h2 {
  color: rgb(32, 35, 39);
  font-weight: 600;
  line-height: 1.08;
  max-width: 490px;
}

.page-home .process .eyebrow, .page-home .process .section-intro, .page-home .process .process-support {
  color: rgb(57, 72, 79);
}

.page-home .process .section-heading .section-intro {
  line-height: 1.6;
  margin-top: 25px;
}

.page-home .process .process-support {
  grid-area: 2 / 1;
  line-height: 1.55;
  margin: 0px;
  align-self: start;
}

.page-home .process .process-diagram {
  grid-area: 1 / 2 / 3;
  margin: 0px;
  width: 100%;
  padding-bottom: 0px;
}

.page-home .process-diagram .steps li, .page-home .process-diagram .steps li:nth-child(n) {
  width: 100%;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 8px 17px;
  padding: 9px 0px 24px 17px;
  min-height: 0px;
  margin-left: 0px !important;
}

.page-home .process-diagram .step-number {
  color: rgb(23, 92, 189);
}

.page-home .process-diagram .steps h3, .page-home .process-diagram .steps li.is-current h3 {
  font-size: 25px;
  color: rgb(32, 35, 39);
  line-height: 1.2;
  font-weight: 550;
}

.page-home .process-diagram .steps p {
  color: rgb(57, 72, 79);
}

.page-home .process-rail {
  stroke: rgb(148, 179, 221);
  stroke-width: 1.5;
}

.page-home .process-progress {
  stroke: rgb(23, 92, 189);
  stroke-width: 2.5;
}

.page-home .process-dot {
  fill: rgb(23, 92, 189);
}

.page-home .process-toggle {
  color: rgb(23, 92, 189);
  border-color: rgb(151, 174, 203);
}

.page-home .process-toggle:focus-visible {
  outline-color: rgb(23, 92, 189);
}

.page-home .about.container {
  position: relative;
  display: block;
  overflow: hidden;
}

.page-home .about .about-title {
  position: relative;
  z-index: 1;
}

.page-home .about-copy {
  position: relative;
  z-index: 1;
  margin: 27px 0px 0px;
}

.page-home .about-copy > .text-link {
  margin-top: 28px;
}

.contact {
  background: rgb(247, 248, 244);
  color: rgb(32, 35, 39);
}

.contact .eyebrow, .contact .contact-copy > p, .contact .form-field, .contact .field-optional {
  color: rgb(57, 72, 79);
}

.contact .contact-copy h2 {
  color: rgb(32, 35, 39);
  font-size: 50px;
  font-weight: 600;
  letter-spacing: -0.035em;
}

.contact .contact-grid {
  grid-template-columns: 455px 1fr;
  gap: 85px;
}

.contact .contact-copy > p {
  font-size: 19px;
}

.contact .contact-form {
  grid-template-columns: 1fr 1fr;
}

.contact .contact-form > .form-row > .form-field:first-child {
  grid-area: 1 / 1;
}

.contact .contact-form > .form-row > .form-field:last-child {
  grid-area: 1 / 2;
}

.contact .contact-form > .form-field[for="contact-company"] {
  grid-area: 2 / 1 / auto / 3;
}

.contact .contact-form > .form-field[for="contact-message"] {
  grid-area: 3 / 1 / auto / 3;
}

.contact .contact-form .form-field {
  color: rgb(57, 72, 79);
  font-size: 17px;
}

.contact .contact-form .form-field input, .contact .contact-form .form-field textarea {
  padding: 10px 14px;
  font-size: 19px;
}

.contact .contact-form .form-field input {
  height: 48px;
}

.contact .contact-form .form-field textarea {
  max-height: none;
}

.contact .contact-form .form-field input:focus, .contact .contact-form .form-field textarea:focus {
  background: rgb(255, 255, 255);
}

.contact .contact-form > .button, .contact .contact-form > .button:disabled {
  width: 100%;
}

.contact .contact-form:not(:has(#contact-company)) > .form-field[for="contact-message"] {
  grid-area: 2 / 1 / auto / 3;
}

.contact .contact-form:not(:has(#contact-company)) > .button {
  grid-row: 4;
}

.contact .contact-form:not(:has(#contact-company)) > .turnstile-widget {
  grid-row: 3;
}

.contact :focus-visible {
  outline-color: rgb(23, 92, 189);
}

.contact .contact-copy .business-contact a {
  color: rgb(23, 92, 189);
}

.contact.section {
  border-top: 1px solid rgb(204, 212, 213);
}

@media (min-width: 901px) and (max-width: 1100px) {
  .services.section, .contact .contact-grid {
    grid-template-columns: 340px 1fr;
    gap: 55px;
  }

  .services .section-heading h2, .contact .contact-copy h2 {
    font-size: 43px;
  }

  .service-disclosure > summary, .service-disclosure.ai > summary, .service-disclosure.blockchain > summary {
    grid-template-columns: 1fr 25px;
    gap: 12px;
  }

  .summary-context {
    grid-area: 2 / 1;
  }

  .disclosure-sign {
    grid-area: 1 / 2 / 3;
  }

  .page-home .process .process-support {
    max-width: 310px;
  }

  .page-home .process .container {
    grid-template-columns: 36% 31%;
  }

  .page-home .process-diagram .steps li {
    grid-template-columns: 23px 1fr;
    gap: 8px 12px;
  }

  .page-home .about .about-title, .page-home .about-copy {
    max-width: 460px;
  }
}

@media (max-width: 900px) {
  .hero h1 {
    font-size: clamp(83px, 18vw, 135px);
  }

  .services.section {
    display: block;
  }

  .services .section-heading {
    margin-bottom: 32px;
  }

  .services .section-heading h2 {
    font-size: clamp(37px, 8.5vw, 58px);
  }

  .services .section-heading .section-intro {
    font-size: 18px;
    margin-top: 24px;
  }

  .service-disclosure > summary h3, .service-disclosure.ai > summary h3, .service-disclosure.blockchain > summary h3, .service-disclosure[open] > summary h3 {
    font-size: 36px;
  }

  .page-home .process {
    padding-block: 55px;
  }

  .process-backdrop {
    display: none;
  }

  .page-home .process .section-heading .section-intro {
    max-width: 650px;
    font-size: 19px;
  }

  .page-home .process .process-support {
    margin: 24px 0px 35px;
    max-width: 650px;
    font-size: 18px;
  }

  .page-home .about.container {
    min-height: 0px;
    padding-block: 55px;
  }

  .page-home .about .about-title, .page-home .about-copy {
    max-width: 650px;
  }

  .contact .contact-grid {
    display: block;
  }

  .contact .contact-copy h2 {
    font-size: clamp(39px, 8.5vw, 60px);
  }

  .contact .contact-form {
    display: flex;
  }

  .contact .contact-form > .button {
    width: 100%;
  }

  .contact .contact-copy .business-contact {
    margin-top: 20px;
  }
}

@media (max-width: 480px) {
  .hero h1 {
    font-size: 25vw;
  }
}

.page-home .process .container {
  grid-template-columns: 34% 35%;
  gap: 20px;
}

.process-backdrop {
  left: -55px;
  right: 55px;
}

.page-home .process .section-heading h2 {
  font-size: 46px;
}

.page-home .process .section-heading .section-intro {
  font-size: 19px;
  max-width: 400px;
}

.page-home .process .process-support {
  max-width: 380px;
  font-size: 18px;
}

.page-home .process-diagram .steps li {
  grid-template-columns: 28px 1fr;
  gap: 9px 16px;
  padding-bottom: 25px;
}

.page-home .process-diagram .steps h3 {
  font-size: 28px;
}

.page-home .process-diagram .steps p {
  font-size: 19px;
  line-height: 1.55;
  max-width: 420px;
}

.page-home .process-diagram .step-number {
  font-size: 19px;
}

.page-home .process {
  min-height: 690px;
}

.page-home .about.container {
  background: rgb(19, 35, 43);
  color: rgb(255, 255, 255);
  min-height: 0px;
  padding-block: 65px;
}

.page-home .about .eyebrow {
  color: rgb(220, 232, 239);
}

.page-home .about .about-title {
  max-width: 1150px;
}

.page-home .about h2 {
  line-height: 1.03;
  letter-spacing: -0.045em;
  max-width: 1250px;
  color: rgb(255, 255, 255);
  font-weight: 500;
}

.page-home .about h2 .manifesto-line {
  color: rgb(255, 255, 255);
  font-weight: 500;
}

.page-home .about h2 .manifesto-line {
  display: inline;
}

.page-home .about h2 .manifesto-line + .manifesto-line::before {
  content: " ";
}

.page-home .about-copy {
  max-width: none;
  display: grid;
  align-items: end;
}

.page-home .about-copy > p {
  color: rgb(225, 233, 237);
  line-height: 1.55;
  margin: 0px;
}

.page-home .about-copy > .text-link {
  margin: 0px;
  color: rgb(255, 255, 255);
  border: 0px;
  font-size: 18px;
  justify-self: end;
  white-space: nowrap;
  padding-bottom: 4px;
}

.contact.section {
  border: 0px;
}

.contact .contact-form {
  padding: 30px;
  background: rgb(23, 92, 189);
  gap: 20px 24px;
}

.contact .contact-form .form-field, .contact .contact-form .field-optional {
  color: rgb(255, 255, 255);
}

.contact .contact-form .form-field input, .contact .contact-form .form-field textarea {
  border: 1px solid rgb(209, 223, 241);
  background: rgb(255, 255, 255);
  color: rgb(21, 35, 44);
}

.contact .contact-form .form-field textarea {
  height: 125px;
  min-height: 125px;
}

.contact .contact-form .form-field input:focus, .contact .contact-form .form-field textarea:focus {
  outline-color: rgb(255, 255, 255);
}

.contact .contact-form > .button, .contact .contact-form > .button:disabled {
  grid-area: 4 / 2;
  background: rgb(255, 255, 255);
  color: rgb(23, 92, 189);
  border-color: rgb(255, 255, 255);
  opacity: 1;
  min-height: 56px;
}

.contact .contact-form > .button:hover:not(:disabled) {
  background: rgb(232, 240, 252);
  color: rgb(23, 92, 189);
}

.contact .contact-form > .turnstile-widget {
  grid-area: 4 / 1;
  max-width: 100%;
  min-width: 0px;
  align-self: center;
}

.contact .contact-form > .form-note {
  grid-area: 5 / 1 / auto / 3;
  color: rgb(230, 239, 252);
  font-size: 14px;
}

.contact .contact-form > .form-status {
  grid-row: 6;
}

.contact .contact-form:not(:has(#contact-company)) > .button, .contact .contact-form:not(:has(#contact-company)) > .turnstile-widget {
  grid-row: 3;
}

.contact .contact-form:not(:has(#contact-company)) > .form-note {
  grid-row: 4;
}

.contact .contact-form > .form-status[data-error="true"] {
  background: rgb(255, 241, 232);
  color: rgb(134, 37, 21);
  padding: 15px;
}

@media (min-width: 901px) and (max-width: 1100px) {
  .page-home .process .section-heading h2 {
    font-size: 40px;
  }

  .page-home .process .section-heading .section-intro {
    font-size: 17px;
  }

  .page-home .process .process-support {
    font-size: 16px;
  }

  .page-home .process-diagram .steps h3 {
    font-size: 24px;
  }

  .page-home .process-diagram .steps p {
    font-size: 17px;
  }

  .page-home .about-copy > p {
    font-size: 22px;
  }

  .contact .contact-form {
    padding: 24px;
  }

  .contact .contact-form > .turnstile-widget {
    grid-area: 4 / 1 / auto / 3;
  }

  .contact .contact-form > .button, .contact .contact-form > .button:disabled {
    grid-area: 5 / 1 / auto / 3;
  }

  .contact .contact-form > .form-note {
    grid-row: 6;
  }

  .contact .contact-form:not(:has(#contact-company)) > .turnstile-widget {
    grid-row: 3;
  }

  .contact .contact-form:not(:has(#contact-company)) > .button {
    grid-row: 4;
  }

  .contact .contact-form:not(:has(#contact-company)) > .form-note {
    grid-row: 5;
  }
}

@media (max-width: 900px) {
  .page-home .process {
    min-height: 0px;
  }

  .page-home .process .container {
    display: block;
  }

  .page-home .process .section-heading h2 {
    font-size: clamp(39px, 8.5vw, 60px);
  }

  .page-home .process .section-heading .section-intro, .page-home .process .process-support {
    max-width: 650px;
  }

  .page-home .process-diagram .steps h3 {
    font-size: 27px;
  }

  .page-home .process-diagram .steps p {
    font-size: 18px;
    max-width: 650px;
  }

  .page-home .about-copy {
    margin-top: 27px;
  }

  .page-home .about-copy > .text-link {
    margin-top: 25px;
    display: inline-flex;
  }

  .contact .contact-form {
    padding: 25px;
    gap: 22px;
  }

  .contact .contact-form .form-field textarea {
    min-height: 160px;
  }

  .contact .contact-form > .turnstile-widget {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .contact .contact-form {
    padding: 22px 18px;
  }

  .contact .contact-form .form-field {
    font-size: 16px;
  }
}

section.contact .contact-form {
  background: rgb(23, 92, 189);
  padding: 30px;
  gap: 20px 24px;
}

@media (max-width: 900px) {
  section.contact .contact-form {
    padding: 25px;
    gap: 22px;
  }
}

@media (max-width: 480px) {
  section.contact .contact-form {
    padding: 22px 18px;
  }
}

.page-home .about h2 {
  font-size: 66px;
}

.page-home .about-copy {
  grid-template-columns: 850px 1fr;
  gap: 60px;
  margin-top: 28px;
}

.page-home .about-copy > p {
  font-size: 22px;
}

.company-experience {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-top: 42px;
  padding-top: 34px;
  border-top: 1px solid rgb(83, 104, 114);
}

.company-experience article {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 28px;
  align-items: start;
}

.company-experience h3 {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.22;
  margin: 0px;
  color: rgb(255, 255, 255);
  letter-spacing: -0.02em;
}

.company-experience p {
  font-size: 18px;
  line-height: 1.55;
  margin: 0px;
  color: rgb(220, 230, 236);
}

.page-home .process-track {
  opacity: 0;
}

.page-home .process-diagram .steps li {
  padding-left: 0px;
}

.page-home .process-diagram .steps li.is-current h3 {
  color: rgb(23, 92, 189);
}

@media (min-width: 901px) and (max-width: 1100px) {
  .page-home .about h2 {
    font-size: 58px;
  }

  .page-home .about-copy {
    grid-template-columns: 1fr 190px;
    gap: 40px;
  }

  .company-experience {
    gap: 40px;
  }

  .company-experience article {
    display: block;
  }

  .company-experience h3 {
    margin-bottom: 18px;
  }

  .company-experience p {
    font-size: 17px;
  }
}

@media (max-width: 900px) {
  .page-home .about h2 {
    font-size: clamp(39px, 8.5vw, 60px);
  }

  .page-home .about-copy {
    display: block;
  }

  .page-home .about-copy > p {
    font-size: 20px;
  }

  .company-experience {
    display: block;
    margin-top: 32px;
    padding-top: 28px;
  }

  .company-experience article {
    display: block;
  }

  .company-experience article + article {
    margin-top: 28px;
  }

  .company-experience h3 {
    font-size: 25px;
    margin-bottom: 14px;
  }

  .company-experience p {
    font-size: 18px;
  }

  .page-home .process-diagram .steps li {
    padding-left: 0px;
  }
}

/* The process is an open typographic sequence; form controls share its precise rules. */
.page-home .process{min-height:0;padding-block:65px;background:#edf1f0}.page-home .process .container{display:block}.page-home .process .section-heading{display:block;max-width:1050px;margin:0 auto;text-align:center}.page-home .process .section-heading h2{font-size:73px;line-height:1.05;letter-spacing:-.045em;font-weight:500;max-width:none}.page-home .process .section-heading .eyebrow{justify-content:center}.page-home .process .section-heading .section-intro{font-size:21px;max-width:720px;margin:28px auto 0;line-height:1.55}.page-home .process .process-support{max-width:850px;font-size:19px;text-align:center;margin:18px auto 48px;line-height:1.6}.page-home .process-diagram .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.page-home .process-diagram .steps li,.page-home .process-diagram .steps li:nth-child(n){display:block;width:100%;padding:22px 0 0;margin:0!important;min-height:0;border-top:2px solid #a7b8c7}.page-home .process-diagram .steps li.is-current{border-color:#175cbd}.page-home .process-diagram .step-number{font-size:30px;line-height:1.1;letter-spacing:-.04em;display:block;margin:0 0 24px}.page-home .process-diagram .steps h3{font-size:28px;line-height:1.2;margin:0 0 16px}.page-home .process-diagram .steps p{font-size:19px;line-height:1.55;max-width:310px}.page-home .process-toggle{margin-top:30px}.page-home .about h2{font-size:66px}.company-experience article{display:block}.company-experience h3{font-size:28px;margin-bottom:18px}.company-experience p{font-size:20px;line-height:1.6;max-width:600px}.company-experience{gap:90px;margin-top:45px;padding-top:38px}.page-home .about.container{padding-block:75px}.page-home .about-copy>p{font-size:23px}
section.contact .contact-form{background:transparent;padding:0;gap:23px 28px}.contact .contact-form .form-field,.contact .contact-form .field-optional{color:#39484f}.contact .contact-form .form-field{font-size:18px;gap:10px}.contact .contact-form .form-field input,.contact .contact-form .form-field textarea{background:transparent;border:0;border-bottom:1px solid #6d8390;padding:12px 0;color:#202327;font-size:21px}.contact .contact-form .form-field input{min-height:48px;height:48px}.contact .contact-form .form-field textarea{min-height:130px;resize:vertical}.contact .contact-form .form-field input:focus,.contact .contact-form .form-field textarea:focus{outline:2px solid #175cbd;outline-offset:5px;background:#fff}.contact .contact-form>.button,.contact .contact-form>.button:disabled{background:#175cbd;color:#fff;border-color:#175cbd}.contact .contact-form>.button:hover:not(:disabled){background:#0d4da8;color:#fff}.contact .contact-form>.form-note{color:#39484f;font-size:15px}.contact .contact-copy h2{font-weight:500;font-size:54px}.contact .contact-copy>p{font-size:20px}
@media(min-width:901px) and (max-width:1100px){.page-home .process .section-heading h2{font-size:60px}.page-home .process-diagram .steps{gap:26px}.page-home .process-diagram .steps h3{font-size:25px}.page-home .process-diagram .steps p{font-size:17px}.page-home .about h2{font-size:58px}.company-experience{gap:45px}.company-experience p{font-size:19px}.contact .contact-copy h2{font-size:44px}.contact .contact-copy>p{font-size:19px}}
@media(max-width:900px){.page-home .process .section-heading{text-align:left;margin:0;max-width:none}.page-home .process .section-heading .eyebrow{justify-content:start}.page-home .process .section-heading h2{font-size:clamp(40px,9vw,63px)}.page-home .process .section-heading .section-intro{font-size:19px;margin-top:23px;max-width:650px}.page-home .process .process-support{text-align:left;font-size:18px;margin:22px 0 35px;max-width:650px}.page-home .process-diagram .steps{display:grid;grid-template-columns:1fr 1fr;gap:30px}.page-home .process-diagram .steps h3{font-size:26px}.page-home .process-diagram .steps p{font-size:18px;max-width:600px}.page-home .process-diagram .step-number{font-size:27px;margin-bottom:20px}.page-home .about h2{font-size:clamp(39px,8.5vw,60px)}.page-home .about-copy>p{font-size:20px}.company-experience{display:block;margin-top:30px;padding-top:28px}.company-experience h3{font-size:26px}.company-experience p{font-size:18px}.contact .contact-copy h2{font-size:clamp(39px,8.5vw,60px)}.contact .contact-copy>p{font-size:19px}section.contact .contact-form{padding:0;gap:24px}}
@media(max-width:600px){.page-home .process-diagram .steps{display:block}.page-home .process-diagram .steps li+li{margin-top:28px!important}.page-home .process-diagram .steps li{padding-top:20px}.page-home .process-diagram .step-number{font-size:23px;margin-bottom:12px}}

/* Delivery has a clear handover into continuing support; experience uses concrete anchors. */
.page-home .process .section-heading{text-align:left;margin:0;display:grid;grid-template-columns:1fr 430px;gap:90px;align-items:end;max-width:none}.page-home .process .section-heading .eyebrow{justify-content:start}.page-home .process .section-heading h2{font-size:61px;max-width:800px}.page-home .process .section-heading .section-intro{font-size:21px;margin:0;max-width:430px}.page-home .process .process-support{text-align:left;margin:25px 0 40px;max-width:850px;font-size:20px}.page-home .process-diagram .steps{grid-template-columns:repeat(3,1fr);gap:40px}.page-home .process-diagram .steps li{padding-top:22px}.page-home .process-diagram .steps li:nth-child(4){grid-column:1/4;display:grid;grid-template-columns:55px 1fr 1.2fr;gap:22px;align-items:start;background:#175cbd;color:#fff;padding:28px 32px;border:0;margin-top:0!important}.page-home .process-diagram .steps li:nth-child(4) .step-number{grid-column:1;grid-row:1;font-size:24px;color:#fff;margin:0;padding-top:5px}.page-home .process-diagram .steps li:nth-child(4) h3{grid-column:2;grid-row:1;color:#fff;font-size:32px;line-height:1.2;margin:0}.page-home .process-diagram .steps li:nth-child(4) p{grid-column:3;grid-row:1;color:#fff;font-size:20px;max-width:550px;margin:0}.page-home .process-diagram .steps li:nth-child(4).is-current{background:#124c9f}.page-home .process-diagram .steps p{max-width:380px;font-size:20px}.page-home .process-diagram .steps h3{font-size:31px}.company-experience h3{font-size:56px;line-height:1.1;letter-spacing:-.04em;font-weight:500;margin-bottom:25px}.company-experience p{font-size:20px;line-height:1.6}.company-experience{border:0;padding-top:10px;margin-top:45px}.page-home .about-copy{grid-template-columns:850px 1fr}.page-home .about h2{font-size:62px}.contact .contact-form .form-field input,.contact .contact-form .form-field textarea{border:1px solid #92a5af;background:#fff;padding:11px 14px;font-size:20px}.contact .contact-form .form-field textarea{min-height:120px;height:120px}.contact .contact-copy h2{font-size:52px}.contact .contact-form{gap:20px 26px}.contact .contact-form>.form-note{font-size:14px}
@media(min-width:901px) and (max-width:1100px){.page-home .process .section-heading{grid-template-columns:1fr 320px;gap:45px}.page-home .process .section-heading h2{font-size:49px}.page-home .process-diagram .steps{gap:28px}.page-home .process-diagram .steps h3{font-size:27px}.page-home .process-diagram .steps p{font-size:18px}.page-home .process-diagram .steps li:nth-child(4){grid-template-columns:40px 1fr 1.2fr;padding:25px;gap:20px}.page-home .process-diagram .steps li:nth-child(4) h3{font-size:27px}.page-home .process-diagram .steps li:nth-child(4) p{font-size:18px}.company-experience h3{font-size:46px}.page-home .about-copy{grid-template-columns:1fr 190px}.page-home .about h2{font-size:55px}.contact .contact-copy h2{font-size:44px}}
@media(max-width:900px){.page-home .process .section-heading{display:block}.page-home .process .section-heading h2{font-size:clamp(40px,9vw,61px)}.page-home .process .section-heading .section-intro{margin-top:24px;max-width:650px;font-size:19px}.page-home .process .process-support{font-size:18px;max-width:650px;margin:22px 0 35px}.page-home .process-diagram .steps{grid-template-columns:1fr 1fr;gap:30px}.page-home .process-diagram .steps li:nth-child(4){grid-column:auto;display:block;padding:23px}.page-home .process-diagram .steps li:nth-child(4) .step-number{font-size:23px;margin-bottom:20px;padding:0}.page-home .process-diagram .steps li:nth-child(4) h3{font-size:26px;margin-bottom:16px}.page-home .process-diagram .steps li:nth-child(4) p{font-size:18px}.page-home .process-diagram .steps h3{font-size:26px}.page-home .process-diagram .steps p{font-size:18px;max-width:600px}.company-experience h3{font-size:clamp(39px,9vw,56px);margin-bottom:20px}.company-experience p{font-size:18px}.page-home .about h2{font-size:clamp(39px,8.5vw,60px)}.contact .contact-copy h2{font-size:clamp(39px,8.5vw,60px)}.contact .contact-form .form-field textarea{min-height:160px}.page-home .about-copy{display:block}}
@media(max-width:600px){.page-home .process-diagram .steps{display:block}.page-home .process-diagram .steps li:nth-child(4){margin-top:28px!important}.page-home .process-diagram .steps li:nth-child(4) .step-number{margin-bottom:12px}}

/* Separate editorial identities for the company and careers pages. */
.subhero-aside .aside-caption{border:0;padding-top:24px}.subhero-aside .aside-caption .eyebrow{font-size:14px}.subhero-aside .aside-caption>p:last-child{font-size:18px;max-width:420px}.page-aboutus .subhero-aside .aside-caption{display:grid;grid-template-columns:1fr 1.25fr;gap:12px 25px;align-items:center}.page-aboutus .aside-caption .eyebrow{grid-column:1/-1;margin:0}.page-aboutus .subhero-aside .aside-value{font-size:88px;margin:0}.page-career .subhero-aside .aside-value{font-size:66px}.page-career .subhero-aside .sculpture-image{object-position:center}.page-career .subhero-aside .architecture{aspect-ratio:4/3}.subhero-intro{font-size:21px}.story-copy p,.mission-copy,.context-grid p{font-size:21px;color:#46555e}.context-grid h3{font-size:26px}.page-aboutus .mission{background:#13232b}.page-aboutus .mission h2{color:#fff}.page-aboutus .mission .eyebrow,.page-aboutus .mission-copy{color:#dce6ec}.page-aboutus .mission h2{font-size:58px}.page-aboutus .quote-grid blockquote p{font-size:20px;line-height:1.6}.page-aboutus .quote-grid figure:first-child blockquote p{font-family:inherit;font-size:51px;line-height:1.15}.page-aboutus .quote-grid figcaption{font-size:14px}.page-aboutus .expertise-links a{font-size:27px}.page-career .process .container{grid-template-columns:1fr 1.15fr;gap:80px}.page-career .culture-grid article{grid-template-columns:36px 1fr;gap:12px 20px;padding-block:26px}.page-career .culture-grid h3{font-size:27px;max-width:none}.page-career .culture-grid p{grid-column:2;font-size:20px;line-height:1.6;margin:0}.page-career .culture-grid .step-number{font-size:15px}.page-career main>.about{background:#175cbd;color:#fff;width:100%;max-width:none;padding-inline:max(5vw,calc((100vw - 1296px)/2));gap:80px}.page-career main>.about h2{color:#fff;font-size:58px}.page-career main>.about .eyebrow,.page-career main>.about p,.page-career main>.about .text-link{color:#fff}.page-career main>.about .about-copy>p{font-size:22px;line-height:1.6}
@media(min-width:901px) and (max-width:1100px){.page-career .process .container{gap:40px}.page-aboutus .mission h2,.page-career main>.about h2{font-size:46px}.page-aboutus .subhero-aside .aside-value{font-size:66px}.page-aboutus .subhero-aside .aside-caption{gap:12px}.page-career main>.about{gap:40px}}
@media(max-width:900px){.subhero-intro,.story-copy p,.mission-copy,.context-grid p{font-size:18px}.page-aboutus .subhero-aside .aside-caption{display:block}.page-aboutus .subhero-aside .aside-value{font-size:56px;margin-block:12px}.page-career .subhero-aside .aside-value{font-size:48px}.subhero-aside .aside-caption>p:last-child{font-size:17px}.page-aboutus .mission h2,.page-career main>.about h2{font-size:clamp(36px,8vw,54px)}.page-aboutus .quote-grid blockquote p{font-size:18px}.page-aboutus .quote-grid figure:first-child blockquote p{font-size:35px}.page-aboutus .expertise-links a{font-size:22px}.context-grid h3{font-size:24px}.page-career .culture-grid h3{font-size:25px}.page-career .culture-grid p{font-size:18px}.page-career main>.about{padding-inline:5vw;gap:28px}.page-career main>.about .about-copy>p{font-size:19px}}

/* Careers: a full-width introduction to the three working principles. */
.page-career .process{padding-block:78px}.page-career .process .container{display:block}.page-career .process .section-heading{display:block;margin:0 0 48px;max-width:1100px}.page-career .process .section-heading h2{font-size:64px;max-width:none;line-height:1.08}.page-career .culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:54px}.page-career .culture-grid article{display:block;padding:25px 0 0}.page-career .culture-grid .step-number{display:none}.page-career .culture-grid h3{font-size:29px;max-width:300px;margin-bottom:19px}.page-career .culture-grid p{font-size:20px;line-height:1.6}.page-career main>.about h2{font-size:62px}.page-career .subhero{padding-block:65px;grid-template-columns:1.25fr 1fr;gap:70px}.page-career .subhero h1{font-size:78px}.page-career .subhero h1 br{display:none}.page-career .subhero-aside .architecture{aspect-ratio:1.25}.page-career .subhero-aside .aside-caption{display:grid;grid-template-columns:1fr 1.15fr;gap:15px 25px;align-items:center}.page-career .subhero-aside .aside-caption .eyebrow{grid-column:1/-1;margin:0}.page-career .subhero-aside .aside-value{font-size:62px;margin:0}.page-career .subhero-aside .aside-caption>p:last-child{font-size:18px}
@media(min-width:901px) and (max-width:1100px){.page-career .subhero{gap:40px}.page-career .subhero h1{font-size:62px}.page-career .subhero-aside .aside-caption{display:block}.page-career .subhero-aside .aside-value{font-size:52px;margin-block:12px}.page-career .process .section-heading h2{font-size:57px}.page-career .culture-grid{gap:30px}.page-career .culture-grid h3{font-size:25px}.page-career .culture-grid p{font-size:18px}.page-career main>.about h2{font-size:48px}}
@media(max-width:900px){.page-career .subhero{display:grid;grid-template-columns:1fr;gap:36px;padding-block:44px}.page-career .subhero h1{font-size:clamp(40px,8.5vw,64px)}.page-career .subhero-aside .aside-caption{display:block}.page-career .subhero-aside .aside-value{font-size:46px;margin-block:12px}.page-career .process{padding-block:55px}.page-career .process .section-heading h2{font-size:clamp(38px,8vw,58px)}.page-career .culture-grid{grid-template-columns:1fr;gap:30px}.page-career .culture-grid h3{font-size:26px;max-width:none}.page-career .culture-grid p{font-size:18px}.page-career main>.about h2{font-size:clamp(36px,8vw,54px)}}

/* A panoramic opening gives careers its own composition within the brand. */
@media(min-width:1101px){.page-career .subhero{display:block;padding-block:65px 55px}.page-career .subhero>div{display:grid;grid-template-columns:1.75fr 1fr;gap:24px 65px;align-items:start}.page-career .subhero>div>.eyebrow{grid-column:1/-1;margin:0}.page-career .subhero h1{grid-column:1;grid-row:2/4;font-size:84px;line-height:1.05;max-width:none;margin:0;letter-spacing:-.055em}.page-career .subhero h1 br{display:initial}.page-career .subhero-intro{grid-column:2;grid-row:2;font-size:21px;margin:5px 0 0}.page-career .subhero .hero-actions{grid-column:2;grid-row:3;gap:20px;flex-wrap:wrap;margin:0}.page-career .subhero-aside{margin-top:48px}.page-career .subhero-aside .architecture{aspect-ratio:auto;height:365px;max-height:none}.page-career .subhero-aside .sculpture-image{object-fit:cover;object-position:center 55%}.page-career .subhero-aside .aside-caption{display:flex;gap:28px;align-items:baseline;padding-top:18px}.page-career .subhero-aside .aside-caption .eyebrow{font-size:14px;margin:0}.page-career .subhero-aside .aside-value{font-size:30px;margin:0}.page-career .subhero-aside .aside-caption>p:last-child{margin-left:auto;max-width:none;font-size:18px}.page-career .process .section-heading h2{font-size:56px}.page-career main>.about{padding-block:65px}.page-career main>.about h2{font-size:56px}}
@media(min-width:901px) and (max-width:1100px){.page-career .subhero h1{font-size:59px;text-wrap:balance}}

/* The recruitment invitation is the visual destination of the careers page. */
.page-career main>.about{background:#f7f8f4;color:#202327;padding-block:60px;border-top:1px solid #ccd4d5}.page-career main>.about h2,.page-career main>.about .eyebrow,.page-career main>.about p,.page-career main>.about .text-link{color:#202327}.page-career main>.about h2{font-size:48px}.page-career main>.about .about-copy>p{font-size:20px;color:#46555e}.page-career .contact{background:#13232b;color:#fff;padding-block:78px}.page-career .contact .eyebrow,.page-career .contact .contact-copy>p,.page-career .contact .business-contact,.page-career .contact .business-contact a{color:#dce6ec}.page-career .contact .contact-copy h2{color:#fff;font-size:64px}.page-career .contact .contact-form .form-field{color:#dce6ec;font-size:17px;gap:12px}.page-career .contact .contact-form .form-field input,.page-career .contact .contact-form .form-field textarea{background:#20343f;color:#fff;border:0;border-bottom:1px solid #90a5b2;padding:14px 17px;box-shadow:none}.page-career .contact .contact-form .form-field input{height:56px;min-height:56px}.page-career .contact .contact-form .form-field textarea{height:160px;min-height:160px}.page-career .contact .contact-form .form-field input:focus,.page-career .contact .contact-form .form-field textarea:focus{outline:2px solid #c3e478;outline-offset:4px}.page-career .contact .contact-form>.button,.page-career .contact .contact-form>.button:disabled{background:#fff;color:#13232b;border-color:#fff;grid-column:1/-1;grid-row:4;width:100%;min-height:58px;font-size:18px}.page-career .contact .contact-form>.button:hover:not(:disabled){background:#e0ebf2;color:#13232b}.page-career .contact .contact-form>.form-note{grid-row:5;color:#c9d7df;font-size:15px}.page-career .contact .contact-form>.turnstile-widget{grid-row:3;grid-column:1/-1}.page-career .contact .business-contact{font-size:16px;margin-top:22px}.page-career .contact .contact-form{gap:24px}.page-career .culture-grid h3{min-height:2.6em}.page-career .site-footer .direct-contact>a{font-size:22px;line-height:1.4}.page-career .site-footer .company-details{grid-template-columns:1.05fr 1fr 1.3fr .8fr}.page-career .site-footer .company-details p,.page-career .site-footer .direct-contact>span,.page-career .site-footer .company-map{font-size:15px}
@media(min-width:901px) and (max-width:1100px){.page-career .contact .contact-copy h2{font-size:52px}.page-career main>.about h2{font-size:44px}.page-career .site-footer .company-details{grid-template-columns:1fr 1fr}.page-career .site-footer .direct-contact>a{font-size:21px}}
@media(max-width:900px){.page-career main>.about h2{font-size:clamp(36px,8vw,48px)}.page-career main>.about{padding-block:48px}.page-career main>.about .about-copy>p{font-size:19px}.page-career .contact{padding-block:55px}.page-career .contact .contact-copy h2{font-size:clamp(40px,9vw,60px)}.page-career .culture-grid h3{min-height:0}.page-career .site-footer .company-details{grid-template-columns:1fr}.page-career .site-footer .direct-contact>a{font-size:22px}}

/* Working principles read as an editorial sequence, with a compact technology note. */
@media(min-width:901px){.page-career .culture-grid{display:block}.page-career .culture-grid article{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:start;padding:30px 0;border-top:1px solid #bdc9cc}.page-career .culture-grid article:last-child{padding-bottom:0}.page-career .culture-grid h3{font-size:42px;font-weight:500;line-height:1.13;max-width:600px;min-height:0;margin:0;letter-spacing:-.035em}.page-career .culture-grid p{font-size:21px;max-width:520px}.page-career .process .section-heading{margin-bottom:42px}.page-career .process .section-heading h2{font-size:51px}.page-career .process .section-heading h2 br{display:none}.page-career main>.about{padding-block:44px;grid-template-columns:1fr 1.2fr;gap:65px}.page-career main>.about h2{font-size:40px}.page-career main>.about .about-copy>p{font-size:19px;margin-bottom:18px}.page-career .contact .contact-form .form-field textarea{height:130px;min-height:130px}.page-career .contact .contact-form>.button,.page-career .contact .contact-form>.button:disabled{grid-column:2;grid-row:3;min-height:54px;font-size:17px}.page-career .contact .contact-form>.turnstile-widget{grid-column:1;grid-row:3}.page-career .contact .contact-form>.form-note{grid-row:4}.page-career .site-footer{padding-block:38px 22px}.page-career .footer-top{padding-bottom:22px}.page-career .footer-bottom{padding-top:28px}.page-career .site-footer .company-details{padding-block:24px;gap:20px}.page-career .contact .contact-copy h2{font-size:60px}}
@media(min-width:901px) and (max-width:1100px){.page-career .culture-grid article{gap:40px}.page-career .culture-grid h3{font-size:34px}.page-career .culture-grid p{font-size:19px}.page-career .contact .contact-form>.turnstile-widget{grid-column:1/-1}.page-career .contact .contact-form>.button,.page-career .contact .contact-form>.button:disabled{grid-row:4;grid-column:1/-1}.page-career .contact .contact-form>.form-note{grid-row:5}.page-career .contact .contact-copy h2{font-size:50px}}
@media(min-width:1101px){.page-career .subhero h1{font-size:clamp(64px,5.83vw,84px)}}

/* Give the collaboration principle the emphasis established by the hero artwork. */
@media(min-width:1101px){.page-career .subhero-aside .architecture{height:460px}.page-career .process .section-heading h2{letter-spacing:-.025em}.page-career .culture-grid h3{letter-spacing:-.025em}.page-career .culture-grid article:last-child{background:#175cbd;color:#fff;padding:34px;margin-top:12px;border:0;grid-template-columns:1.15fr 1fr}.page-career .culture-grid article:last-child h3{font-size:48px;color:#fff}.page-career .culture-grid article:last-child p{color:#fff;font-size:21px}.page-career .site-footer .company-details{grid-template-columns:1fr 1.3fr auto;gap:10px 65px}.page-career .site-footer .company-details>p:first-child{grid-column:1;grid-row:1}.page-career .site-footer .company-details>p:nth-child(2){grid-column:1;grid-row:2;font-size:14px}.page-career .site-footer .direct-contact{grid-column:2;grid-row:1/3}.page-career .site-footer .direct-contact>a{font-size:30px;letter-spacing:-.02em}.page-career .site-footer .company-map{grid-column:3;grid-row:1}}

/* Keep secondary reading and the form as clear as the opening statement. */
.page-career .contact .contact-form .form-field input,.page-career .contact .contact-form .form-field textarea{border:1px solid #7894a4;background:#1c303b}.page-career .contact .contact-form .form-field{font-size:18px;color:#fff}.page-career .contact .business-contact{font-size:17px}.page-career .contact .contact-form>.form-note{font-size:16px;line-height:1.5}.page-career .footer-bottom,.page-career .back-top,.page-career .footer-top>p{font-size:15px}.page-career .site-footer .company-details>p:nth-child(2){font-size:15px}.page-career .contact .contact-form .form-field textarea{height:120px;min-height:120px}
@media(min-width:1101px){.page-career .culture-grid article:last-child{display:block;padding:35px 40px}.page-career .culture-grid article:last-child h3{font-size:25px;margin-bottom:20px;letter-spacing:-.015em}.page-career .culture-grid article:last-child p{font-size:32px;line-height:1.35;max-width:1090px;letter-spacing:-.02em}.page-career main>.about .text-link{font-size:17px}.page-career main>.about h2{font-size:43px;letter-spacing:-.025em}}
@media(max-width:900px){.page-career .contact .contact-form .form-field textarea{height:160px;min-height:160px}.page-career .contact .contact-form>.form-note{font-size:15px}}

/* Subpage artwork stays legible on small screens instead of being squeezed beside its caption. */
@media(max-width:900px){.subhero-aside{display:block;width:100%}.subhero-aside .architecture,.page-career .subhero-aside .architecture{width:100%;height:auto;max-height:none;aspect-ratio:4/3}.subhero-aside .sculpture-image{width:100%;height:100%;object-fit:cover}.subhero-aside .aside-caption,.page-career .subhero-aside .aside-caption{padding-top:22px}.page-career .subhero h1{text-wrap:balance}.subhero-aside .aside-caption>p:last-child{max-width:none}.page-aboutus .subhero-aside .aside-caption{display:grid;grid-template-columns:1fr 1.15fr;gap:12px 20px}.page-aboutus .subhero-aside .aside-caption .eyebrow{grid-column:1/-1}.page-aboutus .subhero-aside .aside-value{margin:0}.page-career .subhero-aside .aside-caption{display:grid;grid-template-columns:1fr 1.15fr;gap:12px 20px}.page-career .subhero-aside .aside-caption .eyebrow{grid-column:1/-1}.page-career .subhero-aside .aside-value{font-size:40px;margin:0}.page-career .subhero-aside .aside-caption>p:last-child{font-size:17px}}

/* A typographic statement is the careers page's own visual signature. */
.career-poster{background:#175cbd;color:#fff;position:relative;margin-top:48px;padding:32px 40px;overflow:hidden;display:grid;grid-template-columns:1fr 360px;align-items:end;gap:24px}.career-poster .eyebrow{grid-column:1/-1;color:#fff;font-size:15px;margin:0}.career-poster-word{font-size:clamp(110px,16vw,230px);font-weight:500;letter-spacing:-.065em;line-height:.95;margin:0;color:#fff}.career-poster-caption{font-size:26px;line-height:1.35;max-width:350px;margin:0 0 10px;color:#fff;letter-spacing:-.02em}.page-career .culture-grid article:last-child{background:transparent;color:#202327;border-top:1px solid #bdc9cc;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:30px 0 0;margin:0}.page-career .culture-grid article:last-child h3{font-size:42px;line-height:1.13;color:#202327;margin:0;max-width:600px;letter-spacing:-.025em}.page-career .culture-grid article:last-child p{font-size:21px;line-height:1.6;max-width:520px;color:#46555e;letter-spacing:normal}
@media(min-width:901px) and (max-width:1100px){.career-poster{grid-column:1/-1;grid-template-columns:1fr 260px;margin-top:0}.career-poster-word{font-size:145px}.career-poster-caption{font-size:22px}.page-career .culture-grid article:last-child{gap:40px}.page-career .culture-grid article:last-child h3{font-size:34px}.page-career .culture-grid article:last-child p{font-size:19px}}
@media(max-width:900px){.career-poster{display:block;margin:0;padding:28px}.career-poster-word{font-size:clamp(72px,20vw,165px);margin:22px 0 25px;overflow-wrap:normal}.career-poster-caption{font-size:21px;margin:0;max-width:500px}.page-career .culture-grid article:last-child{display:block;padding:25px 0 0}.page-career .culture-grid article:last-child h3{font-size:26px;max-width:none;margin-bottom:19px}.page-career .culture-grid article:last-child p{font-size:18px;max-width:none}.page-career .subhero{gap:36px}}
html[lang="en"] .career-poster-word{font-size:clamp(100px,12.5vw,180px)}
@media(max-width:900px){html[lang="en"] .career-poster-word{font-size:clamp(58px,15.5vw,120px)}}

/* Contrast the shared statement with the practical, full-width invitation. */
.career-poster-word{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.075em;line-height:1.05}.career-poster{padding-block:26px 34px}.page-career main>.about{background:#fff;border-top:0;padding-top:0}.page-career .process{padding-bottom:50px}
@media(min-width:901px){.page-career .contact-grid{display:block}.page-career .contact-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.page-career .contact .contact-copy h2{grid-column:1;grid-row:1/3;margin:0;font-size:68px}.page-career .contact .contact-copy>p{grid-column:2;max-width:560px;font-size:21px;margin:0}.page-career .contact .contact-copy>.business-contact{grid-column:2;grid-row:2;font-size:16px;margin-top:18px}.page-career .contact .contact-form{margin-top:42px;display:grid;grid-template-columns:1fr 1fr;gap:25px 70px}.page-career .contact .contact-form>.form-row{display:grid;grid-template-columns:1fr;gap:22px;grid-column:1;grid-row:1}.page-career .contact .contact-form>label[for="contact-message"]{grid-column:2;grid-row:1}.page-career .contact .contact-form .form-field textarea{height:100%;min-height:180px}.page-career .contact .contact-form>.turnstile-widget{grid-column:1;grid-row:2}.page-career .contact .contact-form>.button,.page-career .contact .contact-form>.button:disabled{grid-column:2;grid-row:2;font-size:18px}.page-career .contact .contact-form>.form-note{grid-column:1/-1;grid-row:3;font-size:15px}.page-career .contact .contact-form>.form-status{grid-column:1/-1;grid-row:auto}.page-career .contact .contact-form noscript{grid-column:1/-1}.page-career .contact .contact-form .form-field input{height:54px;min-height:54px}.page-career .contact .contact-form .form-field{gap:10px}.page-career .contact .contact-form .form-field textarea{resize:vertical}}
@media(min-width:901px) and (max-width:1100px){.page-career .contact-copy,.page-career .contact .contact-form{column-gap:40px}.page-career .contact .contact-copy h2{font-size:54px}.page-career .contact .contact-copy>p{font-size:19px}}
@media(min-width:901px){.page-career #contact .contact-copy{width:100%;max-width:none;grid-template-columns:1fr 1fr;gap:0 70px}.page-career #contact .contact-copy>p:not(.business-contact){grid-area:1/2;align-self:start}.page-career #contact .contact-copy>.business-contact{grid-area:2/2;align-self:start;margin-top:18px}.page-career #contact .contact-form{max-width:none;width:100%;grid-template-columns:1fr 1fr}.page-career #contact .contact-form>.form-row{display:grid;grid-area:1/1;grid-template-columns:1fr;gap:22px}.page-career #contact .contact-form>.form-row>.form-field{grid-area:auto;min-width:0}.page-career #contact .contact-form>label[for="contact-message"]{grid-area:1/2}.page-career #contact .contact-form>.button,.page-career #contact .contact-form>.button:disabled{grid-area:2/2}.page-career #contact .contact-form>.turnstile-widget{grid-area:2/1}.page-career #contact .contact-form>.form-note{grid-area:3/1/auto/3}}
@media(min-width:901px) and (max-width:1100px){.page-career #contact .contact-copy{column-gap:40px}}
@media(min-width:901px){.page-career #contact .contact-form>.form-field[for="contact-message"]{grid-area:1/2}.page-career #contact .contact-form>.form-field[for="contact-message"] textarea{height:100%;min-height:180px}}

/* One shared column line connects the editorial sections and the invitation. */
@media(min-width:1101px){.page-career .subhero>div{grid-template-columns:1fr 1fr;column-gap:70px}.page-career .subhero h1{font-size:80px}.page-career .culture-grid article,.page-career .culture-grid article:last-child,.page-career main>.about{grid-template-columns:1fr 1fr;column-gap:70px}.page-career .subhero-intro{max-width:560px}.page-career .culture-grid p,.page-career .culture-grid article:last-child p{max-width:560px}.page-career main>.about{padding-block:50px}.page-career .contact .contact-copy h2{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.055em;font-size:68px}.page-career .contact .contact-form .form-field textarea{min-height:165px}}
@media(max-width:1100px){.page-career main>.about{padding-top:40px}.page-career .contact .contact-copy h2{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.045em}}

/* The brand's forward angle gives the shared statement a recognizable silhouette. */
.career-poster{clip-path:polygon(0 0,calc(100% - 56px) 0,100% 50%,calc(100% - 56px) 100%,0 100%);padding-right:85px;align-items:center}.career-poster-caption{max-width:300px;margin:12px 0 0}.career-poster .eyebrow{margin-bottom:0}.page-career .culture-grid article,.page-career .culture-grid article:last-child{padding-block:23px}.page-career .process{padding-block:62px 28px}
@media(min-width:1101px){.page-career .process .section-heading h2{font-size:46px;letter-spacing:-.025em}.page-career .process .section-heading{margin-bottom:30px}.page-career .culture-grid h3,.page-career .culture-grid article:last-child h3{font-size:37px}.page-career .culture-grid p,.page-career .culture-grid article:last-child p{font-size:20px}.page-career main>.about h2{font-size:48px}.page-career main>.about .about-copy>p{font-size:20px}}
@media(max-width:900px){.career-poster{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%);padding:28px 40px 28px 24px}.career-poster-word{font-size:clamp(70px,19vw,155px)}.page-career .culture-grid article,.page-career .culture-grid article:last-child{padding-block:23px}.page-career .process{padding-block:50px 20px}html[lang="en"] .career-poster-word{font-size:clamp(54px,14vw,110px)}}

/* Three different reading modes: principles, technology, and an invitation. */
.career-poster{clip-path:none;padding-right:40px}.career-poster-caption{max-width:350px}.page-career main>.about{display:block}.page-career main>.about>div:first-child{display:flex;justify-content:space-between;gap:40px;align-items:start;margin-bottom:36px}.page-career main>.about .eyebrow{padding-top:10px}.page-career main>.about h2{font-size:36px;max-width:650px;margin:0}.page-career main>.about .about-copy>p{font-size:32px;line-height:1.5;max-width:1160px;margin:0 0 28px;letter-spacing:-.02em;color:#202327}.page-career main>.about .about-copy{padding:0;display:block;max-width:none}.page-career .culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.page-career .culture-grid article,.page-career .culture-grid article:last-child{display:block;padding:24px 0 0;border-top:1px solid #bdc9cc}.page-career .culture-grid h3,.page-career .culture-grid article:last-child h3{font-size:29px;font-weight:600;line-height:1.2;min-height:2.4em;margin:0 0 20px}.page-career .culture-grid p,.page-career .culture-grid article:last-child p{font-size:20px;line-height:1.6}.page-career .process{padding-block:68px}.page-career .process .section-heading{margin-bottom:38px}.page-career .process .section-heading h2{font-size:54px;max-width:900px;line-height:1.1}.page-career .process .section-heading h2 br{display:initial}
@media(min-width:1101px){.page-career .subhero>div{grid-template-columns:1.75fr 1fr;gap:24px 65px}.page-career .subhero h1{font-size:clamp(64px,5.83vw,84px)}.page-career main>.about{padding-block:60px}}
@media(min-width:901px) and (max-width:1100px){.page-career .culture-grid{gap:30px}.page-career .culture-grid h3,.page-career .culture-grid article:last-child h3{font-size:25px}.page-career .culture-grid p,.page-career .culture-grid article:last-child p{font-size:18px}.page-career main>.about .about-copy>p{font-size:28px}.page-career main>.about h2{font-size:32px}}
@media(max-width:900px){.career-poster{padding:28px}.page-career .culture-grid{display:block}.page-career .culture-grid article+article{margin-top:26px}.page-career .culture-grid h3,.page-career .culture-grid article:last-child h3{font-size:26px;min-height:0}.page-career .culture-grid p,.page-career .culture-grid article:last-child p{font-size:18px}.page-career main>.about>div:first-child{display:block;margin-bottom:26px}.page-career main>.about h2{font-size:36px}.page-career main>.about .about-copy>p{font-size:23px;line-height:1.55}.page-career .process .section-heading h2{font-size:clamp(36px,8vw,54px)}.page-career .process{padding-block:50px}}

/* A conceptual workshop image connects human collaboration with the paper geometry. */
.career-workshop{position:relative;grid-column:1/-1;margin-top:48px}.career-workshop .architecture{width:100%;height:500px;margin:0;border:0;aspect-ratio:auto;background:#f7f8f4;overflow:hidden}.career-workshop .sculpture-image{width:100%;height:100%;object-fit:cover;object-position:center}.career-workshop-copy{position:absolute;top:60px;left:40px;color:#175cbd;pointer-events:none}.career-workshop-copy .eyebrow{color:#46555e;margin-bottom:28px}.career-workshop-word{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:110px;font-weight:400;line-height:1;letter-spacing:-.07em;margin:0;color:#175cbd}.career-workshop-caption{font-size:18px;line-height:1.5;margin:20px 0 0;color:#46555e}.career-workshop .diagram-meta{top:auto;left:auto;right:20px;bottom:20px;padding:0}.career-workshop .motion-toggle{background:#fff;color:#175cbd;border-color:#90a5b2}.page-career main>.about>div:first-child{display:block;margin-bottom:28px}.page-career main>.about .eyebrow{padding-top:0;margin-bottom:20px}.page-career main>.about h2{font-size:44px;max-width:none}.page-career main>.about h2 br{display:none}.page-career main>.about .about-copy>p{font-size:28px;line-height:1.5;max-width:1130px}
@media(min-width:901px) and (max-width:1100px){.career-workshop{margin-top:0}.career-workshop .architecture{height:430px}.career-workshop-word{font-size:90px}.career-workshop-copy{left:32px;top:45px}}
@media(max-width:900px){.career-workshop{margin:0}.career-workshop .architecture{height:auto;aspect-ratio:1.25}.career-workshop .sculpture-image{object-position:65% center}.career-workshop-copy{position:static;padding-top:22px}.career-workshop-copy .eyebrow{margin-bottom:12px}.career-workshop-word{font-size:62px}.career-workshop-caption{font-size:18px;margin-top:16px}.page-career main>.about h2{font-size:36px}.page-career main>.about .about-copy>p{font-size:23px}}
html[lang="en"] .career-workshop-word{font-size:90px}
@media(max-width:900px){html[lang="en"] .career-workshop-word{font-size:58px}}

/* Compact native disclosures keep the full culture copy available on demand. */
.page-career .process .container{display:grid;grid-template-columns:1fr 1fr;gap:70px}.page-career .process .section-heading{margin:0}.page-career .process .section-heading h2{font-size:48px}.page-career .culture-grid{display:block}.culture-detail{border-top:1px solid #aebfc7}.culture-detail:last-child{border-bottom:1px solid #aebfc7}.culture-detail summary{list-style:none;display:flex;align-items:center;gap:25px;justify-content:space-between;cursor:pointer;padding:25px 0}.culture-detail summary::-webkit-details-marker{display:none}.page-career .culture-detail h3{font-size:27px;line-height:1.2;margin:0;min-height:0;font-weight:500;max-width:none}.culture-detail summary .disclosure-sign{position:relative;inset:auto;width:22px;height:22px;flex:0 0 22px;color:#175cbd}.culture-detail[open] .disclosure-sign:after{transform:rotate(90deg)}.page-career .culture-detail p{margin:0 0 26px;font-size:20px;line-height:1.6;max-width:none}.culture-detail summary:focus-visible{outline:2px solid #175cbd;outline-offset:6px}.career-technologies{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;row-gap:12px;margin:30px 0 35px;color:#175cbd}.career-technologies span{font-size:78px;line-height:1.08;letter-spacing:-.045em;font-weight:500}.career-technologies span:nth-child(n+3){font-size:48px}.page-career main>.about .about-copy>p{font-size:21px;line-height:1.6;max-width:900px;letter-spacing:normal}.page-career main>.about h2{font-size:40px}.career-workshop-word{font-size:84px}.career-workshop-copy .eyebrow{margin-bottom:22px}
@media(min-width:901px) and (max-width:1100px){.page-career .process .container{gap:40px}.page-career .process .section-heading h2{font-size:40px}.page-career .culture-detail h3{font-size:24px}.career-technologies span{font-size:65px}.career-technologies span:nth-child(n+3){font-size:40px}}
@media(max-width:900px){.page-career .process .container{display:block}.page-career .process .section-heading{margin-bottom:32px}.page-career .process .section-heading h2{font-size:clamp(36px,8vw,48px)}.page-career .culture-detail h3{font-size:24px}.page-career .culture-detail p{font-size:18px}.career-technologies{column-gap:20px;margin-block:25px}.career-technologies span{font-size:clamp(36px,9vw,62px)}.career-technologies span:nth-child(n+3){font-size:clamp(25px,6.5vw,38px)}.page-career main>.about h2{font-size:34px}.page-career main>.about .about-copy>p{font-size:19px}.career-workshop-word{font-size:62px}}

/* A single technology statement supports the recruitment story. */
.page-career main>.about .about-copy>p{font-size:26px;line-height:1.55;max-width:1100px}.page-career main>.about h2{font-size:40px}.page-career .process{padding-block:50px}.page-career .process .section-heading h2{font-size:44px}.career-workshop-word{font-size:64px}.career-workshop-copy{top:45px}.career-workshop-copy .eyebrow{font-size:14px;margin-bottom:20px}
@media(max-width:900px){.page-career main>.about .about-copy>p{font-size:21px}.page-career main>.about h2{font-size:34px}.page-career .process .section-heading h2{font-size:clamp(34px,8vw,44px)}.career-workshop-word{font-size:58px}}
html[lang="en"] .career-workshop-word{font-size:64px}
@media(max-width:900px){html[lang="en"] .career-workshop-word{font-size:56px}}

/* Company history belongs to the artwork; quotations remain optional reading. */
.page-aboutus .subhero-aside{position:relative;overflow:hidden}.page-aboutus .subhero-aside .architecture{height:530px;aspect-ratio:auto;max-height:none}.page-aboutus .subhero-aside .sculpture-image{object-position:center;object-fit:cover}.page-aboutus .subhero-aside .aside-caption{position:absolute;inset:auto 0 0;display:block;padding:120px 30px 28px;background:linear-gradient(transparent,#102939 95%);pointer-events:none}.page-aboutus .subhero-aside .aside-caption .eyebrow{color:#fff;font-size:15px;margin:0 0 12px}.page-aboutus .subhero-aside .aside-value{font-size:112px;color:#fff;margin:0 0 16px;letter-spacing:-.055em;line-height:1}.page-aboutus .subhero-aside .aside-caption>p:last-child{font-size:18px;color:#fff;line-height:1.5;max-width:420px}.page-aboutus .subhero-aside .diagram-meta{bottom:auto;top:20px;right:20px;z-index:3}.page-aboutus .mission .container.about{display:block}.page-aboutus .mission h2{font-size:74px;line-height:1.07;max-width:1100px;letter-spacing:-.04em;margin:0}.page-aboutus .mission-copy{max-width:680px;margin:32px 0 0 auto;font-size:23px;line-height:1.55}.page-aboutus .mission .eyebrow{margin-bottom:24px}.page-aboutus .mission{padding-block:75px}.inspiration-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:40px;list-style:none;cursor:pointer}.inspiration-disclosure summary::-webkit-details-marker{display:none}.inspiration-disclosure .section-heading{flex:1;margin:0;gap:50px}.inspiration-disclosure .section-heading h2{font-size:38px;max-width:620px}.inspiration-disclosure .section-heading .section-intro{font-size:18px;max-width:250px}.inspiration-disclosure summary>.disclosure-sign{position:relative;inset:auto;flex:0 0 25px;width:25px;height:25px;color:#175cbd}.inspiration-disclosure[open] summary>.disclosure-sign:after{transform:rotate(90deg)}.inspiration-disclosure summary:focus-visible{outline:2px solid #175cbd;outline-offset:10px}.inspiration-disclosure .quote-grid{margin-top:40px}.page-aboutus .inspirations{padding-block:42px;background:#edf1f0;border-block:1px solid #c3ced1}
@media(min-width:901px) and (max-width:1100px){.page-aboutus .subhero-aside .architecture{height:490px}.page-aboutus .subhero-aside .aside-value{font-size:92px}.page-aboutus .subhero-aside .aside-caption{padding-inline:24px}.page-aboutus .mission h2{font-size:60px}.page-aboutus .mission-copy{font-size:21px;max-width:570px}.inspiration-disclosure .section-heading h2{font-size:34px}}
@media(max-width:900px){.page-aboutus .subhero-aside .architecture{height:420px;aspect-ratio:auto}.page-aboutus .subhero-aside .aside-caption{display:block;padding:100px 24px 24px}.page-aboutus .subhero-aside .aside-caption .eyebrow{font-size:14px}.page-aboutus .subhero-aside .aside-value{font-size:86px}.page-aboutus .subhero-aside .aside-caption>p:last-child{font-size:17px}.page-aboutus .mission{padding-block:52px}.page-aboutus .mission h2{font-size:clamp(38px,8vw,60px)}.page-aboutus .mission-copy{font-size:20px;max-width:600px;margin:28px 0 0}.inspiration-disclosure summary{gap:25px}.inspiration-disclosure .section-heading{display:block}.inspiration-disclosure .section-heading h2{font-size:32px}.inspiration-disclosure .section-heading .section-intro{font-size:17px;margin-top:18px}.page-aboutus .inspirations{padding-block:36px}}

/* The company page leads with its identity; secondary statements support it. */
.page-aboutus .subhero h1{font-size:112px;line-height:1;letter-spacing:-.065em;margin:0 0 24px;font-weight:500}.company-proposition{font-size:34px;line-height:1.25;letter-spacing:-.03em;max-width:660px;margin:0 0 26px;color:#202327}.page-aboutus .subhero-intro{font-size:21px;line-height:1.6;margin-bottom:30px}.page-aboutus .story h2{font-size:38px}.page-aboutus #expertise h2{font-size:38px}.page-aboutus #expertise .section-intro{font-size:21px;line-height:1.55}.page-aboutus .context-grid h3{font-size:23px}.page-aboutus .context-grid p{font-size:20px}.page-aboutus .inspiration-disclosure .section-heading h2{font-size:28px}.page-aboutus .inspiration-disclosure .section-heading .section-intro{font-size:18px}.page-aboutus .inspirations{padding-block:32px}.page-aboutus .contact{background:#175cbd;color:#fff;padding-block:75px}.page-aboutus .contact .eyebrow,.page-aboutus .contact .contact-copy>p,.page-aboutus .contact .contact-form .form-field,.page-aboutus .contact .field-optional,.page-aboutus .contact .form-note{color:#fff}.page-aboutus .contact .contact-copy h2{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:56px;letter-spacing:-.05em;color:#fff}.page-aboutus .contact .contact-form .form-field{font-size:18px;gap:11px}.page-aboutus .contact .contact-form .form-field input,.page-aboutus .contact .contact-form .form-field textarea{background:#fff;border:1px solid #c1d1df;color:#202327;font-size:20px;padding:12px 15px}.page-aboutus .contact .contact-form .form-field input{height:54px;min-height:54px}.page-aboutus .contact .contact-form .form-field textarea{min-height:130px;height:130px}.page-aboutus .contact .contact-form>.button,.page-aboutus .contact .contact-form>.button:disabled{background:#fff;color:#175cbd;border-color:#fff;font-size:18px;min-height:54px}.page-aboutus .contact .contact-form>.button:hover:not(:disabled){background:#e7eff7;color:#124c9f}.page-aboutus .contact .contact-form>.form-note{font-size:15px}.page-aboutus .contact .contact-form .form-field input:focus,.page-aboutus .contact .contact-form .form-field textarea:focus{outline:2px solid #fff;outline-offset:4px}
@media(min-width:901px) and (max-width:1100px){.page-aboutus .subhero h1{font-size:85px}.company-proposition{font-size:29px}.page-aboutus .contact .contact-copy h2{font-size:46px}.page-aboutus .story h2,.page-aboutus #expertise h2{font-size:34px}}
@media(max-width:900px){.page-aboutus .subhero h1{font-size:clamp(52px,12vw,90px);margin-bottom:22px}.company-proposition{font-size:28px;max-width:620px;margin-bottom:24px}.page-aboutus .subhero-intro{font-size:19px}.page-aboutus .story h2,.page-aboutus #expertise h2{font-size:34px}.page-aboutus #expertise .section-intro{font-size:19px}.page-aboutus .context-grid p{font-size:18px}.page-aboutus .contact .contact-copy h2{font-size:clamp(40px,9vw,56px)}.page-aboutus .contact{padding-block:55px}.page-aboutus .contact .contact-form .form-field textarea{height:160px;min-height:160px}}
