/* [next]/internal/font/google/inter_957042b4.module.css [app-client] (css) */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter Fallback;
  src: local(Arial);
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0.0%;
  size-adjust: 107.12%;
}

.inter_957042b4-module__TaCYsa__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}

.inter_957042b4-module__TaCYsa__variable {
  --font-display: "Inter", "Inter Fallback";
}

/* [next]/internal/font/google/open_sans_574eaa88.module.css [app-client] (css) */
@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/3ce154ad7d54dc86-s.1-9go8whdf-l6.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/7cdbb9ca823c0a73-s.1h6d36qg8q9eb.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/1e239d59b95c7889-s.2z2_lz8ulsj_0.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/a421df443b3f383b-s.36lh57wvljuff.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/c2873153dc73d9e3-s.1em1pp1frbjrf.woff2") format("woff2");
  unicode-range: U+307-308, U+590-5FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/d38a53d0ba90b32d-s.398ve1q5qj3un.woff2") format("woff2");
  unicode-range: U+302-303, U+305, U+307-308, U+310, U+312, U+315, U+31A, U+326-327, U+32C, U+32F-330, U+332-333, U+338, U+33A, U+346, U+34D, U+391-3A1, U+3A3-3A9, U+3B1-3C9, U+3D1, U+3D5-3D6, U+3F0-3F1, U+3F4-3F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE??;
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/5b0229109f6656bb-s.3tlvbu8v6d928.woff2") format("woff2");
  unicode-range: U+1-C, U+E-1F, U+7F-9F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+28??, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B??, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F0??, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F7??, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB??;
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/ca19bc83075b2625-s.2f6i6rjizi5dm.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/2aec202ebfcf461b-s.261mkozpp7zc7.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/cf514f5d0007dafa-s.p.1wc2mf9hp9pav.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Open Sans Fallback;
  src: local(Arial);
  ascent-override: 101.65%;
  descent-override: 27.86%;
  line-gap-override: 0.0%;
  size-adjust: 105.15%;
}

.open_sans_574eaa88-module__c3_PbG__className {
  font-family: Open Sans, Open Sans Fallback;
  font-style: normal;
}

.open_sans_574eaa88-module__c3_PbG__variable {
  --font-body: "Open Sans", "Open Sans Fallback";
}

/* [project]/src/app/globals.css [app-client] (css) */
:root {
  --teal-800: #0a3838;
  --teal-700: #0f4c4c;
  --teal-600: #14635f;
  --teal-400: #4e8f8b;
  --teal-100: #e3efee;
  --ink-900: #2a2e33;
  --ink-600: #5b616b;
  --ink-300: #c9cdd3;
  --surface: #fff;
  --bg: #f7f8f8;
  --shadow: 0 18px 60px #2a2e331a;
  --radius: 24px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--bg);
  color: var(--ink-900);
  font-family: var(--font-body),Arial,sans-serif;
  margin: 0;
}

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

img {
  max-width: 100%;
  height: auto;
}

main {
  overflow: hidden;
}

.site-header {
  z-index: 20;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #fffffff5;
  border-bottom: 1px solid #c9cdd3b3;
  position: sticky;
  top: 0;
}

.header-shell {
  align-items: center;
  gap: 24px;
  width: min(1280px, 100% - 32px);
  min-height: 72px;
  margin: auto;
  display: flex;
}

.brand {
  font-family: var(--font-display),Arial,sans-serif;
  color: var(--teal-800);
  align-items: center;
  gap: 12px;
  min-width: 280px;
  font-weight: 800;
  display: flex;
}

.brand-text {
  line-height: 1.2;
}

.primary-nav {
  align-items: center;
  gap: 28px;
  margin-left: auto;
  font-size: .95rem;
  display: flex;
}

.primary-nav a {
  color: var(--ink-900);
}

.primary-nav a:hover {
  color: var(--teal-700);
}

.login-link {
  background: var(--teal-700);
  color: #fff;
  border-radius: 10px;
  padding: 14px 22px;
  font-weight: 800;
}

.hero-clean {
  background: var(--surface);
  border-bottom: 1px solid #c9cdd39e;
}

.hero-with-reference {
  isolation: isolate;
  background: var(--surface);
  position: relative;
  overflow: hidden;
}

.hero-art {
  z-index: -2;
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.hero-reference-image {
  object-fit: cover;
  object-position: center right;
  filter: none;
}

.hero-shell {
  z-index: 1;
  grid-template-rows: auto auto;
  grid-template-columns: minmax(0, 48%) minmax(320px, 38%);
  align-items: center;
  gap: 30px 9%;
  width: min(1280px, 100% - 32px);
  min-height: 690px;
  margin: auto;
  padding: 76px 0 34px;
  display: grid;
  position: relative;
}

.hero-copy {
  background: #fff;
  border: 1px solid #c9cdd3b8;
  border-radius: 28px;
  max-width: 650px;
  padding: 30px 30px 32px;
  box-shadow: 0 24px 70px #2a2e331a;
}

.eyebrow {
  color: var(--teal-700);
  font-weight: 800;
  font-family: var(--font-display),Arial,sans-serif;
  align-items: center;
  gap: 14px;
  display: flex;
}

.eyebrow span {
  background: var(--teal-700);
  width: 46px;
  height: 2px;
  display: inline-block;
}

h1, h2, h3 {
  font-family: var(--font-display),Arial,sans-serif;
  letter-spacing: -.045em;
  color: var(--ink-900);
  margin: 0;
  line-height: 1.05;
}

h1 {
  max-width: 680px;
  font-size: clamp(3.2rem, 6vw, 5.8rem);
}

h2 {
  font-size: clamp(2rem, 4vw, 3.35rem);
}

h3 {
  font-size: 1.2rem;
}

p {
  color: var(--ink-600);
  font-size: 1rem;
  line-height: 1.7;
}

.hero-lead {
  color: var(--ink-900);
  max-width: 610px;
  margin-top: 22px;
  font-size: 1.12rem;
}

.promise {
  border-left: 3px solid var(--teal-700);
  gap: 6px;
  margin: 26px 0 28px;
  padding-left: 22px;
  display: grid;
}

.promise strong {
  font-family: var(--font-display),Arial,sans-serif;
  color: var(--ink-900);
}

.promise span {
  color: var(--ink-600);
  line-height: 1.55;
}

.hero-actions {
  flex-wrap: wrap;
  gap: 16px;
  display: flex;
}

.btn {
  border: 1px solid var(--teal-700);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 22px;
  font-weight: 800;
  display: inline-flex;
}

.btn svg {
  width: 19px;
}

.primary {
  background: var(--teal-700);
  color: #fff;
}

.secondary {
  background: var(--surface);
  color: var(--teal-700);
}

.process-card {
  width: min(420px, 100%);
  box-shadow: var(--shadow);
  background: #fff;
  border: 1px solid #c9cdd3b8;
  border-radius: 22px;
  justify-self: end;
  padding: 28px;
}

.process-card h2 {
  color: var(--teal-800);
  letter-spacing: -.02em;
  margin-bottom: 18px;
  font-size: 1.1rem;
}

.process-card-list {
  gap: 14px;
  display: grid;
}

.process-item {
  grid-template-columns: 44px 1fr;
  align-items: start;
  gap: 12px;
  display: grid;
}

.icon-node, .process-item .icon {
  border: 1px solid var(--teal-400);
  width: 36px;
  height: 36px;
  color: var(--teal-700);
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.process-item .icon {
  border: 0;
}

.process-item strong {
  font-family: var(--font-display),Arial,sans-serif;
}

.process-item p {
  margin: 2px 0 0;
  font-size: .86rem;
}

.trust-strip {
  box-shadow: var(--shadow);
  background: #fff;
  border: 1px solid #c9cdd3a8;
  border-radius: 20px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(5, 1fr);
  display: grid;
  overflow: hidden;
}

.trust-strip article {
  border-right: 1px solid #c9cdd399;
  align-items: center;
  gap: 14px;
  padding: 22px;
  display: flex;
}

.trust-strip article:last-child {
  border-right: 0;
}

.trust-strip svg {
  color: var(--teal-700);
  flex: none;
  width: 34px;
  height: 34px;
}

.trust-strip h3 {
  font-size: 1rem;
}

.trust-strip p {
  margin: .3rem 0 0;
  font-size: .83rem;
  line-height: 1.45;
}

.split, .process, .services, .projects, .knowledge, .trust, .cta, .page-shell {
  width: min(1280px, 100% - 32px);
  margin: auto;
  padding: 72px 0;
}

.section-grid {
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 48px;
  display: grid;
}

.reverse .section-grid {
  direction: ltr;
}

.chips {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  display: flex;
}

.chips span {
  background: var(--teal-100);
  color: var(--teal-800);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: .9rem;
  font-weight: 800;
}

.diagram {
  border: 1px solid var(--ink-300);
  border-radius: var(--radius);
  background: linear-gradient(135deg,#fff,var(--teal-100));
  text-align: center;
  place-items: center;
  min-height: 320px;
  padding: 36px;
  display: grid;
}

.diagram svg {
  width: 92px;
  height: 92px;
  color: var(--teal-700);
}

figcaption {
  color: var(--ink-600);
  line-height: 1.6;
}

.section-head {
  max-width: 760px;
  margin-bottom: 34px;
}

.step-grid, .card-grid, .knowledge-grid, .body-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  display: grid;
}

.step-grid article, .card-grid article, .knowledge-grid article, .project-list article, .body-grid article, .inline-cta, .contact-form {
  background: #fff;
  border: 1px solid #c9cdd3b3;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 12px 40px #2a2e330f;
}

.step-grid small {
  font-family: var(--font-display);
  color: var(--teal-700);
  font-weight: 900;
}

.card-grid svg {
  color: var(--teal-700);
}

.project-list {
  gap: 16px;
  display: grid;
}

.scope, .knowledge-grid span, .knowledge-grid a {
  color: var(--teal-700);
  font-weight: 800;
}

.trust, .cta {
  background: var(--teal-800);
  color: #fff;
  width: 100%;
  max-width: none;
  padding: 78px max(16px, 50vw - 640px);
}

.trust h2, .cta h2 {
  color: #fff;
}

.trust p, .cta p {
  color: #ffffffc7;
  max-width: 840px;
}

.cta .eyebrow, .trust .eyebrow {
  color: var(--teal-100);
}

.cta .eyebrow span, .trust .eyebrow span {
  background: var(--teal-100);
}

.page-head {
  max-width: 880px;
}

.page-head h1 {
  font-size: clamp(2.5rem, 5vw, 4.7rem);
}

.page-list {
  margin-top: 30px;
}

.services-in-projects {
  margin-top: 48px;
}

.inline-cta {
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-top: 32px;
  display: flex;
}

.contact-form {
  gap: 18px;
  max-width: 760px;
  display: grid;
}

.contact-form label {
  gap: 8px;
  font-weight: 800;
  display: grid;
}

.contact-form input, .contact-form textarea {
  border: 1px solid var(--ink-300);
  font: inherit;
  border-radius: 10px;
  padding: 14px;
}

.login-page {
  min-height: 72vh;
}

.site-footer {
  border-top: 1px solid var(--ink-300);
  background: #fff;
  padding: 52px 0;
}

.footer-grid {
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 34px;
  width: min(1280px, 100% - 32px);
  margin: auto;
  display: grid;
}

.site-footer nav {
  gap: 10px;
  display: grid;
}

.site-footer h2 {
  font-size: 1rem;
}

.footer-cta {
  color: var(--teal-700);
  margin-top: 12px;
  font-weight: 800;
  display: inline-flex;
}

@media (max-width: 980px) {
  .header-shell {
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 14px 0;
  }

  .primary-nav {
    order: 3;
    width: 100%;
    margin-left: 0;
    padding-bottom: 8px;
    overflow: auto;
  }

  .brand {
    flex: 1;
    min-width: 0;
  }

  .hero-art {
    opacity: .34;
  }

  .hero-reference-image {
    object-position: center top;
  }

  .hero-shell {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 46px 0 24px;
  }

  .hero-copy {
    background: #fff;
    order: 1;
    width: 100%;
    padding: 24px;
  }

  .process-card {
    order: 2;
    justify-self: auto;
    width: 100%;
  }

  .trust-strip {
    order: 3;
    grid-template-columns: 1fr;
  }

  .trust-strip article {
    border-bottom: 1px solid #c9cdd399;
    border-right: 0;
  }

  h1 {
    font-size: clamp(2.7rem, 14vw, 4.2rem);
  }

  .section-grid, .step-grid, .card-grid, .knowledge-grid, .body-grid, .footer-grid {
    grid-template-columns: 1fr;
  }

  .split, .process, .services, .projects, .knowledge, .page-shell {
    padding: 48px 0;
  }

  .inline-cta {
    display: grid;
  }

  .login-link {
    padding: 12px 18px;
  }
}

@media (max-width: 560px) {
  .header-shell, .hero-shell, .split, .process, .services, .projects, .knowledge, .page-shell, .footer-grid {
    width: min(100% - 24px, 1280px);
  }

  .brand-text {
    font-size: .9rem;
  }

  .primary-nav {
    gap: 18px;
  }

  .hero-actions {
    display: grid;
  }

  .btn {
    width: 100%;
  }

  .process-card {
    padding: 20px;
  }

  .trust-strip article {
    padding: 18px;
  }

  .diagram {
    min-height: 220px;
    padding: 24px;
  }

  .trust, .cta {
    padding: 54px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *, :before, :after {
    transition: none !important;
    animation: none !important;
  }
}

.brand-lockup {
  gap: 1px;
  display: grid;
}

.brand-lockup strong {
  letter-spacing: -.02em;
  font-size: 1rem;
}

.brand-lockup small {
  font-family: var(--font-body),Arial,sans-serif;
  color: var(--ink-600);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .67rem;
  font-weight: 700;
}

.home-redesign {
  --home-ink: #17201f;
  --home-teal: #0d5b56;
  --home-mint: #b9ddd8;
  --home-line: #17201f24;
  background: #f5f7f6;
}

.home-redesign h1, .home-redesign h2, .home-redesign h3 {
  color: var(--home-ink);
}

.home-wrap {
  width: min(1320px, 100% - 48px);
  margin-inline: auto;
}

.home-kicker {
  color: var(--home-teal);
  font: 800 .75rem/1 var(--font-display),Arial,sans-serif;
  text-transform: uppercase;
  letter-spacing: .14em;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  display: flex;
}

.home-kicker:before {
  content: "";
  background: currentColor;
  width: 30px;
  height: 2px;
}

.home-kicker-light {
  color: #9bd0ca;
}

.home-hero {
  background: #f8faf9;
  padding: 78px 0 0;
  position: relative;
  overflow: hidden;
}

.home-hero:before {
  content: "";
  pointer-events: none;
  background-image: linear-gradient(#0d5b560e 1px, #0000 1px), linear-gradient(90deg, #0d5b560e 1px, #0000 1px);
  background-size: 44px 44px;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#000, #0000 92%);
  mask-image: linear-gradient(#000, #0000 92%);
}

.hero-layout {
  grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr);
  align-items: center;
  gap: 7%;
  display: grid;
  position: relative;
}

.hero-message h1 {
  letter-spacing: -.075em;
  max-width: 760px;
  font-size: clamp(4.5rem, 8vw, 8.3rem);
  line-height: .84;
}

.hero-message h1 em {
  color: var(--home-teal);
  font-style: normal;
}

.hero-summary {
  color: #45504f;
  max-width: 690px;
  margin: 34px 0 0;
  font-size: 1.14rem;
  line-height: 1.75;
}

.hero-cta-row {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
  display: flex;
}

.home-button {
  border: 1px solid var(--home-teal);
  min-height: 56px;
  font: 800 .9rem/1 var(--font-display),Arial,sans-serif;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  gap: 22px;
  padding: 0 22px;
  transition: transform .2s, background .2s, color .2s;
  display: inline-flex;
}

.home-button:hover {
  transform: translateY(-2px);
}

.home-button svg, .text-link svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8px;
  width: 18px;
}

.home-button-solid {
  background: var(--home-teal);
  color: #fff;
}

.home-button-quiet {
  color: var(--home-teal);
  background: none;
}

.hero-assurance {
  color: #53605e;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 30px;
  font-size: .82rem;
  font-weight: 700;
  display: flex;
}

.hero-assurance span {
  align-items: center;
  gap: 7px;
  display: flex;
}

.hero-assurance svg, .trust-points svg {
  fill: none;
  width: 17px;
  stroke: var(--home-teal);
  stroke-width: 2px;
}

.construction-board {
  color: #fff;
  background: #183b39;
  border: 1px solid #ffffff1a;
  min-height: 560px;
  padding: 25px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 35px 90px #142e2c33;
}

.construction-board:before {
  content: "";
  background-image: linear-gradient(#b9ddd814 1px, #0000 1px), linear-gradient(90deg, #b9ddd814 1px, #0000 1px);
  background-size: 26px 26px;
  position: absolute;
  inset: 0;
}

.board-topline, .board-status {
  z-index: 2;
  font: 700 .67rem/1 var(--font-display);
  letter-spacing: .13em;
  color: #b9ddd8;
  justify-content: space-between;
  display: flex;
  position: relative;
}

.building-frame {
  border-bottom: 2px solid #94c7c1;
  position: absolute;
  inset: 85px 54px 134px;
}

.frame-roof {
  transform-origin: 0;
  background: #94c7c1;
  height: 2px;
  position: absolute;
  top: 9%;
  left: 3%;
  right: 3%;
  transform: skewY(-6deg);
}

.frame-column {
  background: #76aaa5;
  width: 2px;
  position: absolute;
  top: 8%;
  bottom: 0;
}

.fc-1 {
  left: 8%;
}

.fc-2 {
  left: 36%;
}

.fc-3 {
  left: 66%;
}

.fc-4 {
  right: 7%;
}

.frame-floor {
  background: #76aaa5;
  height: 2px;
  position: absolute;
  left: 8%;
  right: 7%;
}

.ff-1 {
  top: 36%;
}

.ff-2 {
  top: 63%;
}

.ff-3 {
  top: 89%;
}

.building-frame:before, .building-frame:after {
  content: "";
  border: 1px solid #b9ddd880;
  position: absolute;
}

.building-frame:before {
  width: 17%;
  height: 17%;
  top: 41%;
  left: 13%;
}

.building-frame:after {
  width: 20%;
  height: 42%;
  top: 41%;
  right: 13%;
}

.dimension {
  font: 700 .6rem/1 var(--font-display);
  letter-spacing: .1em;
  color: #8fc2bd;
  position: absolute;
}

.dimension-x {
  bottom: -25px;
  left: 42%;
}

.dimension-y {
  top: 45%;
  right: -40px;
  transform: rotate(90deg);
}

.board-modules {
  z-index: 2;
  border: 1px solid #b9ddd840;
  grid-template-columns: repeat(3, 1fr);
  display: grid;
  position: absolute;
  bottom: 61px;
  left: 25px;
  right: 25px;
}

.board-modules div {
  border-right: 1px solid #b9ddd840;
  padding: 15px;
}

.board-modules div:last-child {
  border: 0;
}

.board-modules small {
  color: #80b4af;
  letter-spacing: .12em;
  font-size: .59rem;
  display: block;
}

.board-modules strong {
  margin-top: 6px;
  font-size: .83rem;
  display: block;
}

.board-status {
  letter-spacing: .04em;
  text-transform: none;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  position: absolute;
  bottom: 24px;
  left: 25px;
}

.status-dot {
  background: #7fd4c9;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  box-shadow: 0 0 0 5px #7fd4c91a;
}

.hero-bottomline {
  border-top: 1px solid var(--home-line);
  grid-template-columns: 1fr 2fr;
  align-items: center;
  gap: 30px;
  margin-top: 72px;
  padding: 24px 0 30px;
  display: grid;
  position: relative;
}

.hero-bottomline p {
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0;
  font-size: .82rem;
}

.hero-bottomline strong {
  font: 700 1.06rem/1.5 var(--font-display);
}

.home-intro, .home-capabilities, .home-projects, .home-process, .home-trust {
  padding: 112px 0;
}

.intro-grid {
  grid-template-columns: 1.05fr .75fr;
  gap: 12%;
  display: grid;
}

.intro-grid h2, .home-section-head h2, .process-sticky h2, .trust-layout h2 {
  letter-spacing: -.06em;
  font-size: clamp(2.6rem, 4.8vw, 5rem);
  line-height: .98;
}

.intro-copy p {
  margin-top: 0;
  font-size: 1.05rem;
}

.system-rail {
  border-top: 1px solid var(--home-line);
  border-bottom: 1px solid var(--home-line);
  grid-template-columns: repeat(7, 1fr);
  margin-top: 70px;
  display: grid;
}

.system-rail div {
  border-right: 1px solid var(--home-line);
  flex-direction: column;
  justify-content: space-between;
  min-height: 128px;
  padding: 22px 14px;
  display: flex;
  position: relative;
}

.system-rail div:last-child {
  border-right: 0;
}

.system-rail div:not(:last-child):after {
  content: "→";
  z-index: 2;
  color: var(--home-teal);
  background: #f5f7f6;
  padding: 3px;
  position: absolute;
  top: 50%;
  right: -8px;
}

.system-rail span {
  color: var(--home-teal);
  font: 800 .65rem/1 var(--font-display);
}

.system-rail strong {
  font: 700 .82rem/1.2 var(--font-display);
}

.home-capabilities {
  background: #fff;
}

.home-section-head {
  max-width: 890px;
  margin-bottom: 60px;
}

.home-section-head > p:last-child {
  font-size: 1.05rem;
}

.capability-grid {
  border-top: 1px solid var(--home-line);
  border-left: 1px solid var(--home-line);
  grid-template-columns: repeat(3, 1fr);
  display: grid;
}

.capability-grid article {
  border-right: 1px solid var(--home-line);
  border-bottom: 1px solid var(--home-line);
  min-height: 260px;
  padding: 30px;
  transition: background .25s;
  position: relative;
  overflow: hidden;
}

.capability-grid article:hover {
  background: #eef6f4;
}

.capability-index {
  font: 800 .7rem/1 var(--font-display);
  color: var(--home-teal);
  letter-spacing: .12em;
}

.capability-grid h3 {
  margin-top: 54px;
  font-size: 1.5rem;
}

.capability-grid p {
  max-width: 310px;
}

.card-line {
  background: var(--home-teal);
  width: 50px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 30px;
}

.home-control {
  color: #fff;
  background: #143d3a;
  padding: 110px 0;
}

.home-control h2 {
  color: #fff;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  line-height: .96;
}

.home-control p {
  color: #ffffffb3;
}

.control-layout {
  grid-template-columns: 1fr .84fr;
  align-items: center;
  gap: 11%;
  display: grid;
}

.control-copy > p:not(.home-kicker) {
  max-width: 650px;
  font-size: 1.04rem;
}

.text-link {
  color: #fff;
  border-bottom: 1px solid #fff6;
  align-items: center;
  gap: 20px;
  margin-top: 22px;
  padding-bottom: 8px;
  font-weight: 800;
  display: inline-flex;
}

.control-stack {
  border-top: 1px solid #fff3;
}

.control-stack article {
  border-bottom: 1px solid #fff3;
  grid-template-columns: 45px 1fr;
  gap: 20px;
  padding: 26px 0;
  display: grid;
}

.control-stack span {
  font: 800 .65rem/1 var(--font-display);
  color: #9bd0ca;
}

.control-stack h3 {
  color: #fff;
  font-size: 1.25rem;
}

.control-stack p {
  margin: 7px 0 0;
  font-size: .92rem;
}

.project-heading {
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  max-width: none;
  display: flex;
}

.project-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  display: grid;
}

.project-grid article {
  border: 1px solid var(--home-line);
  background: #fff;
}

.project-graphic {
  background: #dbe9e6;
  height: 280px;
  position: relative;
  overflow: hidden;
}

.project-graphic:before {
  content: "";
  background-image: linear-gradient(#0d5b561f 1px, #0000 1px), linear-gradient(90deg, #0d5b561f 1px, #0000 1px);
  background-size: 24px 24px;
  position: absolute;
  inset: 0;
}

.project-graphic span, .project-graphic i, .project-graphic b {
  border: 2px solid var(--home-teal);
  background: #ffffffa6;
  display: block;
  position: absolute;
}

.project-graphic span {
  height: 48%;
  bottom: 13%;
  left: 16%;
  right: 16%;
}

.project-graphic i {
  width: 22%;
  height: 33%;
  bottom: 13%;
  left: 28%;
}

.project-graphic b {
  width: 18%;
  height: 27%;
  bottom: 13%;
  right: 24%;
}

.project-graphic-2 span {
  clip-path: polygon(0 18%, 100% 0, 100% 100%, 0 100%);
  height: 59%;
}

.project-graphic-3 span {
  height: 40%;
  left: 10%;
  right: 10%;
}

.project-graphic-3 i {
  width: 28%;
  height: 25%;
  left: 19%;
}

.project-body {
  padding: 26px;
}

.project-body small {
  color: var(--home-teal);
  font: 800 .65rem/1 var(--font-display);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.project-body h3 {
  margin-top: 15px;
  font-size: 1.38rem;
}

.home-process {
  background: #fff;
}

.process-layout {
  grid-template-columns: .72fr 1fr;
  gap: 12%;
  display: grid;
}

.process-sticky {
  align-self: start;
  position: sticky;
  top: 120px;
}

.process-list {
  border-top: 1px solid var(--home-line);
  margin: 0;
  padding: 0;
  list-style: none;
}

.process-list li {
  border-bottom: 1px solid var(--home-line);
  grid-template-columns: 70px 1fr;
  gap: 18px;
  padding: 30px 0;
  display: grid;
}

.process-list > li > span {
  color: var(--home-teal);
  font: 800 .7rem/1 var(--font-display);
}

.process-list h3 {
  font-size: 1.5rem;
}

.process-list p {
  margin-bottom: 0;
}

.home-trust {
  background: #e5efed;
}

.trust-layout {
  grid-template-columns: 1fr .72fr;
  align-items: center;
  gap: 12%;
  display: grid;
}

.trust-points {
  border-top: 1px solid var(--home-line);
}

.trust-points p {
  border-bottom: 1px solid var(--home-line);
  color: var(--home-ink);
  align-items: center;
  gap: 13px;
  margin: 0;
  padding: 20px 0;
  font-weight: 700;
  display: flex;
}

.trust-points svg {
  flex: none;
}

.home-final-cta {
  color: #fff;
  background: #17201f;
  padding: 92px 0;
}

.final-cta-grid {
  grid-template-columns: .55fr 1.2fr .75fr;
  align-items: start;
  gap: 6%;
  display: grid;
}

.final-cta-grid h2 {
  color: #fff;
  font-size: clamp(3rem, 5.4vw, 5.7rem);
  line-height: .9;
}

.final-cta-grid > div p {
  color: #ffffffad;
  margin-top: 0;
}

.home-button-white {
  color: #17201f;
  background: #fff;
  border-color: #fff;
  margin-top: 18px;
}

@media (max-width: 1050px) {
  .home-wrap {
    width: min(100% - 32px, 1320px);
  }

  .hero-layout, .intro-grid, .control-layout, .process-layout, .trust-layout, .final-cta-grid {
    grid-template-columns: 1fr;
  }

  .hero-layout {
    gap: 55px;
  }

  .construction-board {
    min-height: 500px;
  }

  .hero-bottomline {
    grid-template-columns: 1fr;
  }

  .system-rail {
    grid-template-columns: repeat(4, 1fr);
  }

  .system-rail div {
    border-bottom: 1px solid var(--home-line);
  }

  .capability-grid, .project-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .process-sticky {
    position: static;
  }

  .final-cta-grid {
    gap: 25px;
  }
}

@media (max-width: 680px) {
  .site-header .header-shell {
    align-items: center;
  }

  .brand-lockup small, .site-header .primary-nav {
    display: none;
  }

  .site-header .login-link {
    padding: 11px 13px;
    font-size: .78rem;
  }

  .home-hero {
    padding-top: 52px;
  }

  .hero-message h1 {
    font-size: clamp(3.7rem, 20vw, 5.2rem);
  }

  .hero-summary {
    font-size: 1rem;
  }

  .hero-cta-row {
    display: grid;
  }

  .home-button {
    width: 100%;
  }

  .hero-assurance {
    gap: 12px;
    display: grid;
  }

  .construction-board {
    min-height: 440px;
    padding: 18px;
  }

  .building-frame {
    inset: 80px 30px 128px;
  }

  .board-modules {
    left: 18px;
    right: 18px;
  }

  .board-modules div {
    padding: 11px 8px;
  }

  .board-modules strong {
    font-size: .68rem;
  }

  .board-status {
    left: 18px;
  }

  .hero-bottomline {
    margin-top: 50px;
  }

  .home-intro, .home-capabilities, .home-projects, .home-process, .home-trust {
    padding: 78px 0;
  }

  .system-rail {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 45px;
  }

  .capability-grid, .project-grid {
    grid-template-columns: 1fr;
  }

  .capability-grid article {
    min-height: 225px;
  }

  .project-heading {
    display: grid;
  }

  .home-control {
    padding: 78px 0;
  }

  .process-list li {
    grid-template-columns: 42px 1fr;
  }

  .final-cta-grid h2 {
    font-size: 3.35rem;
  }

  .home-final-cta {
    padding: 72px 0;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__16wx7dj._.css.map*/