:root {
      --brand: #38B6FF;
      --brand-soft: #72CBFF;
      --brand-deep: #1089CF;
      --ink: #07141C;
      --ink-2: #0C202C;
      --ink-3: #153442;
      --paper: #FFFFFF;
      --fog: #F4F7F8;
      --line: #D7E1E6;
      --muted: #647781;
      --shell: 1260px;
      --hero-photo: url("../images/hero.webp");
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; overflow-x: clip; }
    body {
      margin: 0;
      overflow-x: clip;
      color: #172C37;
      background: var(--paper);
      font-family: Arial, Helvetica, sans-serif;
      font-size: 16px;
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    body.menu-open { overflow: hidden; }
    img, svg { display: block; max-width: 100%; }
    a { color: inherit; }
    button, input, select, textarea { font: inherit; }
    ::selection { color: var(--ink); background: var(--brand); }

    .shell {
      width: min(calc(100% - 64px), var(--shell));
      margin-inline: auto;
    }
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }
    .skip-link {
      position: fixed;
      top: 12px;
      left: 12px;
      z-index: 9999;
      padding: 10px 14px;
      color: var(--paper);
      background: var(--ink);
      transform: translateY(-160%);
    }
    .skip-link:focus { transform: translateY(0); }

    .site-header {
      position: absolute;
      inset: 0 0 auto;
      z-index: 100;
      color: var(--paper);
    }
    .utility-bar {
      border-bottom: 1px solid rgba(255,255,255,.14);
      background: rgba(3, 12, 17, .38);
      backdrop-filter: blur(8px);
    }
    .utility-inner {
      min-height: 38px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      color: rgba(255,255,255,.68);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .utility-email {
      color: var(--paper);
      text-decoration: none;
      text-transform: none;
      letter-spacing: .015em;
    }
    .utility-email:hover,
    .utility-email:focus-visible { color: var(--brand); }

    .nav-row {
      border-bottom: 1px solid rgba(255,255,255,.14);
      background: linear-gradient(to bottom, rgba(7,20,28,.78), rgba(7,20,28,.30));
    }
    .nav-shell {
      min-height: 90px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 34px;
    }
    .brand-logo {
      display: inline-flex;
      align-items: center;
      width: 188px;
      min-width: 188px;
      text-decoration: none;
    }
    .brand-logo img {
      width: 100%;
      height: auto;
      filter: drop-shadow(0 4px 14px rgba(0,0,0,.18));
    }
    .site-nav {
      display: flex;
      align-items: center;
      gap: 30px;
    }
    .site-nav a {
      color: rgba(255,255,255,.83);
      font-size: 13px;
      font-weight: 700;
      text-decoration: none;
      transition: color 160ms ease, background 160ms ease, border-color 160ms ease;
    }
    .site-nav a:hover,
    .site-nav a:focus-visible { color: var(--paper); }
    .site-nav .nav-action {
      min-height: 48px;
      display: inline-flex;
      align-items: center;
      padding: 0 19px;
      color: var(--ink);
      background: var(--brand);
      border: 1px solid var(--brand);
    }
    .site-nav .nav-action:hover,
    .site-nav .nav-action:focus-visible {
      color: var(--ink);
      background: var(--brand-soft);
      border-color: var(--brand-soft);
    }
    .menu-button {
      display: none;
      width: 48px;
      height: 48px;
      border: 0;
      padding: 0;
      background: transparent;
      cursor: pointer;
    }
    .menu-button span:not(.sr-only) {
      display: block;
      width: 27px;
      height: 2px;
      margin: 6px auto;
      background: var(--paper);
    }

    .hero {
      position: relative;
      min-height: 850px;
      overflow: hidden;
      color: var(--paper);
      background: var(--ink);
    }
    .hero-photo {
      position: absolute;
      inset: 0;
      background-image: var(--hero-photo);
      background-size: cover;
      background-position: 67% center;
      transform: scale(1.01);
    }
    .hero-photo::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(7,20,28,.98) 0%, rgba(7,20,28,.94) 30%, rgba(7,20,28,.76) 49%, rgba(7,20,28,.28) 70%, rgba(7,20,28,.13) 100%),
        linear-gradient(180deg, rgba(3,10,14,.23), rgba(3,10,14,.07) 55%, rgba(3,10,14,.35));
    }
    .hero-photo::after {
      content: "";
      position: absolute;
      inset: auto 0 0;
      height: 170px;
      background: linear-gradient(to top, rgba(7,20,28,.86), transparent);
    }
    .hero-grid-lines {
      position: absolute;
      inset: 0 0 0 52%;
      opacity: .18;
      pointer-events: none;
      background-image:
        linear-gradient(rgba(56,182,255,.22) 1px, transparent 1px),
        linear-gradient(90deg, rgba(56,182,255,.22) 1px, transparent 1px);
      background-size: 66px 66px;
      mask-image: linear-gradient(to right, transparent, black 26%, black 100%);
    }
    .hero-inner {
      position: relative;
      z-index: 3;
      min-height: 850px;
      display: flex;
      align-items: center;
      padding-top: 142px;
      padding-bottom: 100px;
    }
    .hero-copy { max-width: 720px; }
    .eyebrow {
      margin: 0 0 20px;
      color: var(--brand);
      font-size: 11px;
      line-height: 1.2;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .eyebrow.dark { color: var(--brand-deep); }
    .hero h1,
    .section-head h2,
    .statement-copy h2,
    .fit-copy h2,
    .contact-copy h2 {
      margin: 0;
      font-weight: 700;
      line-height: .98;
      letter-spacing: -.052em;
    }
    .hero h1 {
      max-width: 720px;
      font-size: clamp(3.8rem, 6.3vw, 6.65rem);
    }
    .hero-lead {
      max-width: 650px;
      margin: 28px 0 0;
      color: rgba(255,255,255,.76);
      font-size: clamp(1.08rem, 1.45vw, 1.26rem);
      line-height: 1.7;
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 36px;
    }
    .button {
      min-height: 54px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 0 22px;
      border: 1px solid transparent;
      border-radius: 1px;
      font-size: 14px;
      font-weight: 800;
      line-height: 1.2;
      text-decoration: none;
      cursor: pointer;
      transition: transform 160ms ease, background 160ms ease, color 160ms ease, border-color 160ms ease;
    }
    .button:hover,
    .button:focus-visible { transform: translateY(-1px); }
    .button-primary { color: var(--ink); background: var(--brand); }
    .button-primary:hover,
    .button-primary:focus-visible { background: var(--brand-soft); }
    .button-quiet {
      color: var(--paper);
      background: rgba(7,20,28,.20);
      border-color: rgba(255,255,255,.30);
      backdrop-filter: blur(7px);
    }
    .button-quiet:hover,
    .button-quiet:focus-visible { border-color: rgba(255,255,255,.56); }
    .hero-proof {
      display: flex;
      flex-wrap: wrap;
      gap: 13px 26px;
      margin-top: 52px;
      padding-top: 20px;
      border-top: 1px solid rgba(255,255,255,.16);
      color: rgba(255,255,255,.64);
      font-size: 11px;
      font-weight: 760;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .hero-proof span {
      position: relative;
      padding-left: 13px;
    }
    .hero-proof span::before {
      content: "";
      position: absolute;
      left: 0;
      top: .62em;
      width: 4px;
      height: 4px;
      background: var(--brand);
    }

    .intro-band { background: var(--brand); }
    .intro-band-grid {
      display: grid;
      grid-template-columns: .4fr 1.6fr;
      gap: 64px;
      align-items: start;
      padding-block: 32px;
    }
    .intro-label,
    .intro-copy { margin: 0; }
    .intro-label {
      padding-top: 3px;
      color: rgba(7,20,28,.62);
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .intro-copy {
      max-width: 980px;
      color: var(--ink);
      font-size: clamp(1.14rem, 1.75vw, 1.43rem);
      font-weight: 700;
      line-height: 1.4;
      letter-spacing: -.02em;
    }

    .section { padding-block: 116px; }
    .section-head {
      display: grid;
      grid-template-columns: 1.07fr .93fr;
      gap: 86px;
      align-items: end;
      margin-bottom: 58px;
    }
    .section-head h2,
    .fit-copy h2 {
      color: var(--ink);
      font-size: clamp(2.7rem, 4.7vw, 5.1rem);
    }
    .section-head > p,
    .fit-copy > p,
    .statement-body p {
      margin: 0;
      color: var(--muted);
      font-size: 17px;
      line-height: 1.75;
    }

    .service-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      border-top: 1px solid var(--line);
      border-left: 1px solid var(--line);
    }
    .service-card {
      min-height: 328px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 44px;
      padding: 34px 36px 32px;
      border-right: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      background: var(--paper);
    }
    .service-card.dark { color: var(--paper); background: var(--ink); border-color: var(--ink); }
    .service-card.blue { color: var(--ink); background: var(--brand); border-color: var(--brand); }
    .service-index {
      color: var(--brand-deep);
      font-size: 11px;
      font-weight: 850;
      letter-spacing: .15em;
    }
    .service-card.dark .service-index,
    .service-card.dark .service-tag { color: var(--brand); }
    .service-card.blue .service-index,
    .service-card.blue .service-tag { color: rgba(7,20,28,.60); }
    .service-card h3 {
      max-width: 470px;
      margin: 0;
      color: inherit;
      font-size: clamp(1.78rem, 2.4vw, 2.52rem);
      line-height: 1.08;
      letter-spacing: -.035em;
    }
    .service-card p {
      max-width: 500px;
      margin: 18px 0 0;
      color: var(--muted);
      line-height: 1.7;
    }
    .service-card.dark p { color: rgba(255,255,255,.66); }
    .service-card.blue p { color: rgba(7,20,28,.74); }
    .service-tag {
      color: var(--brand-deep);
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .statement-section {
      position: relative;
      overflow: hidden;
      color: var(--paper);
      background: var(--ink-2);
    }
    .statement-section::before {
      content: "";
      position: absolute;
      inset: 0 0 0 54%;
      opacity: .24;
      background-image:
        linear-gradient(rgba(56,182,255,.20) 1px, transparent 1px),
        linear-gradient(90deg, rgba(56,182,255,.20) 1px, transparent 1px);
      background-size: 44px 44px;
      transform: skewX(-8deg) scale(1.13);
      transform-origin: right center;
    }
    .statement-grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: 1.12fr .88fr;
      gap: 94px;
      align-items: start;
    }
    .statement-copy h2 {
      max-width: 790px;
      font-size: clamp(3rem, 5.2vw, 5.65rem);
    }
    .statement-body { padding-top: 44px; }
    .statement-body p { color: rgba(255,255,255,.68); }
    .statement-body p + p { margin-top: 22px; }
    .statement-callout {
      margin-top: 34px;
      padding: 18px 20px;
      border-left: 3px solid var(--brand);
      color: var(--paper);
      background: rgba(255,255,255,.04);
      font-size: 15px;
      font-weight: 700;
    }

    .fit-section { background: var(--fog); }
    .fit-grid {
      display: grid;
      grid-template-columns: .88fr 1.12fr;
      gap: 88px;
      align-items: start;
    }
    .fit-copy {
      position: sticky;
      top: 36px;
    }
    .fit-copy > p { margin-top: 26px; }
    .fit-list { border-top: 1px solid var(--line); }
    .fit-item {
      display: grid;
      grid-template-columns: 58px 1fr;
      gap: 20px;
      padding: 31px 0 35px;
      border-bottom: 1px solid var(--line);
    }
    .fit-item > span {
      padding-top: 6px;
      color: var(--brand-deep);
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .14em;
    }
    .fit-item h3 {
      margin: 0;
      color: var(--ink);
      font-size: 1.55rem;
      line-height: 1.2;
      letter-spacing: -.027em;
    }
    .fit-item p {
      max-width: 650px;
      margin: 12px 0 0;
      color: var(--muted);
    }

    .process-head { margin-bottom: 68px; }
    .process-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin: 0;
      padding: 0;
      list-style: none;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }
    .process-grid li {
      min-height: 300px;
      padding: 31px 33px 34px;
      border-right: 1px solid var(--line);
    }
    .process-grid li:first-child { border-left: 1px solid var(--line); }
    .process-num {
      display: inline-block;
      margin-bottom: 72px;
      color: var(--brand-deep);
      font-size: 11px;
      font-weight: 850;
      letter-spacing: .14em;
    }
    .process-grid h3 {
      margin: 0;
      color: var(--ink);
      font-size: 1.48rem;
      line-height: 1.16;
      letter-spacing: -.028em;
    }
    .process-grid p {
      margin: 16px 0 0;
      color: var(--muted);
    }

    .sectors-section { padding-top: 0; }
    .sectors-wrap {
      padding-top: 82px;
      border-top: 1px solid var(--line);
    }
    .sectors-head {
      grid-template-columns: 1fr;
      margin-bottom: 34px;
    }
    .sector-rail {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }
    .sector-rail span {
      min-height: 46px;
      display: inline-flex;
      align-items: center;
      padding: 0 16px;
      border: 1px solid var(--line);
      color: var(--ink-3);
      background: var(--paper);
      font-size: 13px;
      font-weight: 730;
    }

    .contact-section {
      position: relative;
      overflow: hidden;
      padding-block: 116px;
      color: var(--paper);
      background: var(--ink);
    }
    .contact-section::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .17;
      background-image:
        linear-gradient(rgba(56,182,255,.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(56,182,255,.18) 1px, transparent 1px);
      background-size: 58px 58px;
      mask-image: linear-gradient(to right, transparent 0%, transparent 43%, black 100%);
    }
    .contact-grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      gap: 86px;
      align-items: start;
    }
    .contact-copy h2 {
      max-width: 620px;
      font-size: clamp(3.05rem, 5.15vw, 5.45rem);
    }
    .contact-copy > p:not(.eyebrow):not(.contact-label) {
      max-width: 560px;
      margin: 26px 0 0;
      color: rgba(255,255,255,.68);
      font-size: 17px;
    }
    .contact-email {
      display: inline-flex;
      margin-top: 28px;
      color: var(--brand);
      font-size: clamp(1.05rem, 1.6vw, 1.3rem);
      font-weight: 800;
      text-decoration: none;
      border-bottom: 1px solid rgba(56,182,255,.45);
    }
    .contact-email:hover,
    .contact-email:focus-visible { color: var(--brand-soft); }
    .what-to-send {
      margin-top: 38px;
      padding-top: 24px;
      border-top: 1px solid rgba(255,255,255,.14);
    }
    .contact-label {
      margin: 0 0 14px;
      color: rgba(255,255,255,.50);
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .what-to-send ul {
      display: grid;
      gap: 9px;
      margin: 0;
      padding: 0;
      list-style: none;
      color: rgba(255,255,255,.72);
      font-size: 14px;
    }
    .what-to-send li {
      position: relative;
      padding-left: 15px;
    }
    .what-to-send li::before {
      content: "";
      position: absolute;
      left: 0;
      top: .7em;
      width: 5px;
      height: 5px;
      background: var(--brand);
    }

    .contact-form {
      display: grid;
      gap: 18px;
      padding: 36px;
      color: var(--ink);
      background: var(--paper);
      box-shadow: 0 28px 70px rgba(0,0,0,.20);
    }
    .field-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }
    .contact-form label { display: grid; gap: 8px; }
    .contact-form label > span {
      color: #38505E;
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .11em;
      text-transform: uppercase;
    }
    .contact-form input,
    .contact-form select,
    .contact-form textarea {
      width: 100%;
      border: 1px solid #C9D7DE;
      border-radius: 0;
      color: var(--ink);
      background: #FBFCFD;
      outline: none;
      transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
    }
    .contact-form input,
    .contact-form select {
      min-height: 52px;
      padding: 0 14px;
    }
    .contact-form textarea {
      min-height: 142px;
      padding: 13px 14px;
      resize: vertical;
    }
    .contact-form input:focus,
    .contact-form select:focus,
    .contact-form textarea:focus {
      border-color: var(--brand-deep);
      background: var(--paper);
      box-shadow: 0 0 0 3px rgba(56,182,255,.16);
    }
    .form-meta {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      align-items: flex-start;
      color: #667B85;
      font-size: 11px;
      line-height: 1.55;
    }
    .form-meta p { margin: 0; }
    .button-submit {
      width: 100%;
      min-height: 56px;
      color: var(--ink);
      background: var(--brand);
    }
    .button-submit:hover,
    .button-submit:focus-visible { background: var(--brand-soft); }
    .form-status {
      min-height: 22px;
      margin: 0;
      color: #56707D;
      font-size: 12px;
    }
    .form-status.error { color: #A13333; }
    .form-status.success { color: #146C43; }


    .credibility-section {
      background: var(--paper);
    }
    .credibility-grid {
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      gap: 88px;
      align-items: start;
    }
    .credibility-copy h2 {
      margin: 0;
      color: var(--ink);
      font-size: clamp(2.7rem, 4.7vw, 5.1rem);
      font-weight: 690;
      letter-spacing: -.052em;
      line-height: .99;
    }
    .credibility-copy > p:not(.eyebrow) {
      max-width: 610px;
      margin: 28px 0 0;
      color: var(--muted);
      font-size: 17px;
      line-height: 1.75;
    }
    .credibility-proof {
      border-top: 1px solid var(--line);
    }
    .proof-row {
      display: grid;
      grid-template-columns: 150px 1fr;
      gap: 28px;
      padding: 30px 0 34px;
      border-bottom: 1px solid var(--line);
    }
    .proof-value {
      color: var(--brand-deep);
      font-size: clamp(2rem, 3.2vw, 3.4rem);
      font-weight: 800;
      line-height: 1;
      letter-spacing: -.045em;
    }
    .proof-row h3 {
      margin: 0;
      color: var(--ink);
      font-size: 1.35rem;
      line-height: 1.2;
      letter-spacing: -.025em;
    }
    .proof-row p {
      margin: 10px 0 0;
      color: var(--muted);
      line-height: 1.65;
    }
    .email-files-note {
      padding: 14px 16px;
      border-left: 3px solid var(--brand);
      color: #536D79;
      background: #F4FAFD;
      font-size: 12px;
      line-height: 1.6;
    }
    .email-files-note a,
    .form-meta a,
    .footer-bottom a {
      color: inherit;
      font-weight: 800;
      text-decoration-thickness: 1px;
      text-underline-offset: 3px;
    }
    .email-files-note a:hover,
    .email-files-note a:focus-visible,
    .form-meta a:hover,
    .form-meta a:focus-visible,
    .footer-bottom a:hover,
    .footer-bottom a:focus-visible { color: var(--brand-deep); }
    .footer-legal {
      display: flex;
      flex-wrap: wrap;
      gap: 12px 20px;
      align-items: center;
    }
    .footer-legal a { color: rgba(255,255,255,.82); }
    .footer-legal a:hover,
    .footer-legal a:focus-visible { color: var(--brand); }

    .policy-hero {
      padding: 175px 0 72px;
      color: var(--paper);
      background: var(--ink);
      border-bottom: 1px solid rgba(255,255,255,.10);
    }
    .policy-hero h1 {
      max-width: 850px;
      margin: 0;
      font-size: clamp(3.2rem, 6vw, 6.3rem);
      font-weight: 690;
      letter-spacing: -.052em;
      line-height: .99;
    }
    .policy-hero p:not(.eyebrow) {
      max-width: 720px;
      margin: 26px 0 0;
      color: rgba(255,255,255,.68);
      font-size: 17px;
      line-height: 1.7;
    }
    .policy-main { padding: 82px 0 112px; background: var(--paper); }
    .policy-layout {
      display: grid;
      grid-template-columns: 260px minmax(0, 760px);
      gap: 86px;
      align-items: start;
    }
    .policy-aside {
      position: sticky;
      top: 28px;
      padding: 22px 0;
      border-top: 3px solid var(--brand);
      border-bottom: 1px solid var(--line);
    }
    .policy-aside p {
      margin: 0;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.7;
    }
    .policy-aside strong { display:block; margin-bottom:8px; color:var(--ink); font-size:13px; }
    .policy-content section + section { margin-top: 46px; padding-top: 46px; border-top: 1px solid var(--line); }
    .policy-content h2 { margin: 0 0 16px; color: var(--ink); font-size: clamp(1.7rem, 2.7vw, 2.4rem); letter-spacing: -.03em; line-height: 1.15; }
    .policy-content h3 { margin: 28px 0 10px; color: var(--ink); font-size: 1.08rem; }
    .policy-content p, .policy-content li { color: #516771; line-height: 1.75; }
    .policy-content p { margin: 0; }
    .policy-content p + p { margin-top: 14px; }
    .policy-content ul { margin: 14px 0 0; padding-left: 21px; }
    .policy-content li + li { margin-top: 8px; }
    .policy-content a { color: var(--brand-deep); font-weight: 750; text-underline-offset: 3px; }
    .policy-callout { margin-top: 22px; padding: 18px 20px; background: var(--fog); border-left: 3px solid var(--brand); }
    .policy-back { display:inline-flex; margin-top:30px; color:var(--brand); font-size:13px; font-weight:800; text-decoration:none; }
    .policy-back:hover,.policy-back:focus-visible{ color:var(--brand-soft); }
    .single-privacy-section { display: none; }
    body.privacy-mode > .site-header,
    body.privacy-mode > main,
    body.privacy-mode > .site-footer { display: none; }
    body.privacy-mode > .single-privacy-section { display: block; }

    @media (max-width: 860px) {
      .credibility-grid,
      .policy-layout { grid-template-columns: 1fr; gap: 48px; }
      .policy-aside { position: static; max-width: 520px; }
      .policy-hero { padding-top: 145px; }
    }
    @media (max-width: 560px) {
      .proof-row { grid-template-columns: 1fr; gap: 12px; }
      .credibility-copy h2 { font-size: clamp(2.45rem, 11vw, 3.75rem); }
      .policy-main { padding: 64px 0 82px; }
      .policy-hero { padding: 125px 0 58px; }
      .policy-hero h1 { font-size: clamp(2.8rem, 13vw, 4.3rem); }
      .footer-bottom { flex-direction: column; }
    }

    .site-footer {
      color: rgba(255,255,255,.62);
      background: #030B10;
      border-top: 1px solid rgba(255,255,255,.08);
    }
    .footer-main {
      display: grid;
      grid-template-columns: .9fr 1.1fr auto;
      gap: 48px;
      align-items: center;
      padding-block: 44px;
    }
    .footer-logo { width: 175px; }
    .footer-copy {
      margin: 0;
      max-width: 470px;
      font-size: 12px;
      line-height: 1.7;
    }
    .footer-contact {
      display: grid;
      gap: 6px;
      justify-items: end;
      text-align: right;
    }
    .footer-contact span {
      color: rgba(255,255,255,.44);
      font-size: 9px;
      font-weight: 850;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .footer-contact a {
      color: var(--paper);
      font-size: 14px;
      font-weight: 750;
      text-decoration: none;
    }
    .footer-contact a:hover,
    .footer-contact a:focus-visible { color: var(--brand); }
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      gap: 24px;
      padding-block: 18px 24px;
      border-top: 1px solid rgba(255,255,255,.08);
      font-size: 11px;
    }
    .footer-bottom p { margin: 0; }

    :focus-visible {
      outline: 3px solid rgba(56,182,255,.88);
      outline-offset: 3px;
    }

    @media (max-width: 1080px) {
      .hero h1 { font-size: clamp(3.6rem, 7vw, 5.9rem); }
      .hero-copy { max-width: 650px; }
      .section-head,
      .statement-grid,
      .fit-grid,
      .contact-grid { gap: 56px; }
      .contact-grid { grid-template-columns: .9fr 1.1fr; }
    }

    @media (max-width: 900px) {
      .shell { width: min(calc(100% - 40px), var(--shell)); }
      .utility-bar { display: none; }
      .menu-button { display: block; position: relative; z-index: 102; }
      .nav-row { background: rgba(7,20,28,.86); backdrop-filter: none; }
      .nav-shell { min-height: 82px; }
      .brand-logo { width: 156px; min-width: 156px; }
      .site-nav {
        position: fixed;
        inset: 0;
        z-index: 101;
        width: 100vw;
        min-height: 100vh;
        height: 100dvh;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 22px;
        padding: 90px 30px 40px;
        color: var(--paper);
        background: var(--ink);
        transform: translateX(100%);
        transition: transform 210ms ease;
      }
      .site-nav.open { transform: translateX(0); }
      .menu-button span:not(.sr-only) { transition: transform 180ms ease; }
      .menu-button[aria-expanded="true"] span:not(.sr-only):nth-of-type(2) { transform: translateY(4px) rotate(45deg); }
      .menu-button[aria-expanded="true"] span:not(.sr-only):nth-of-type(3) { transform: translateY(-4px) rotate(-45deg); }
      .site-nav a { font-size: 1.55rem; }
      .site-nav .nav-action { margin-top: 8px; font-size: 1rem; }
      .mobile-email { display: inline-flex !important; color: var(--brand) !important; font-size: 1rem !important; }

      .hero { min-height: 820px; }
      .hero-photo { background-position: 63% center; }
      .hero-photo::before {
        background:
          linear-gradient(90deg, rgba(7,20,28,.96) 0%, rgba(7,20,28,.88) 50%, rgba(7,20,28,.48) 77%, rgba(7,20,28,.25) 100%),
          linear-gradient(180deg, rgba(3,10,14,.18), rgba(3,10,14,.16) 62%, rgba(3,10,14,.50));
      }
      .hero-inner { min-height: 820px; padding-top: 130px; padding-bottom: 94px; }
      .hero-copy { max-width: 620px; }
      .hero-grid-lines { inset: 0; opacity: .10; }

      .intro-band-grid,
      .section-head,
      .statement-grid,
      .fit-grid,
      .contact-grid { grid-template-columns: 1fr; }
      .intro-band-grid { gap: 14px; }
      .section-head { gap: 24px; }
      .section-head > p { max-width: 720px; }
      .statement-grid { gap: 36px; }
      .statement-body { max-width: 680px; padding-top: 0; }
      .fit-copy { position: static; }
      .service-grid { grid-template-columns: 1fr; }
      .process-grid { grid-template-columns: 1fr; }
      .process-grid li {
        min-height: auto;
        border-left: 1px solid var(--line);
        border-right: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
      }
      .process-grid li:last-child { border-bottom: 0; }
      .process-num { margin-bottom: 38px; }
      .contact-copy { max-width: 700px; }
      .contact-form { max-width: 760px; }
      .footer-main { grid-template-columns: 1fr; gap: 22px; }
      .footer-contact { justify-items: start; text-align: left; }
    }

    @media (min-width: 901px) {
      .mobile-email { display: none !important; }
    }

    @media (max-width: 580px) {
      body { font-size: 15px; }
      .shell { width: min(calc(100% - 30px), var(--shell)); }
      .nav-shell { min-height: 76px; }
      .brand-logo { width: 145px; min-width: 145px; }
      .hero { min-height: 780px; }
      .hero-photo { background-position: 65% center; }
      .hero-photo::before {
        background:
          linear-gradient(90deg, rgba(7,20,28,.96) 0%, rgba(7,20,28,.90) 66%, rgba(7,20,28,.58) 100%),
          linear-gradient(180deg, rgba(3,10,14,.12), rgba(3,10,14,.26) 62%, rgba(3,10,14,.62));
      }
      .hero-inner { min-height: 780px; padding-top: 118px; padding-bottom: 70px; align-items: flex-end; }
      .hero h1 { font-size: clamp(3rem, 13vw, 4.5rem); }
      .hero-lead { margin-top: 22px; font-size: 1.02rem; }
      .hero-actions { display: grid; margin-top: 30px; }
      .hero-actions .button { width: 100%; }
      .hero-proof { display: grid; gap: 8px; margin-top: 36px; }
      .section { padding-block: 82px; }
      .section-head,
      .process-head { margin-bottom: 42px; }
      .section-head h2,
      .fit-copy h2 { font-size: clamp(2.45rem, 11vw, 3.75rem); }
      .service-card { min-height: 285px; padding: 26px 24px; }
      .service-card h3 { font-size: 1.85rem; }
      .statement-copy h2,
      .contact-copy h2 { font-size: clamp(2.75rem, 12vw, 4rem); }
      .fit-item { grid-template-columns: 42px 1fr; gap: 12px; }
      .process-grid li { padding: 26px 24px 30px; }
      .contact-section { padding-block: 82px; }
      .contact-form { padding: 24px 20px; }
      .field-grid { grid-template-columns: 1fr; }
      .file-inputs { grid-template-columns: 1fr; }
      .form-meta { display: grid; gap: 8px; }
      .footer-bottom { display: grid; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
      }
    }