    :root {
      --navy: #06284b;
      --navy-2: #0b3765;
      --ink: #071d35;
      --muted: #55708c;
      --line: rgba(6, 40, 75, 0.16);
      --line-strong: rgba(6, 40, 75, 0.34);
      --ice: #f5f8fb;
      --ice-2: #eaf0f6;
      --white: #ffffff;
      --steel: #8fa2b5;
      --shadow: 0 24px 80px rgba(6, 40, 75, 0.13);
      --shadow-soft: 0 14px 44px rgba(6, 40, 75, 0.09);
      --radius-xl: 32px;
      --radius-lg: 24px;
      --radius-md: 18px;
      --container: 1180px;
      --serif: Georgia, "Times New Roman", Times, serif;
      --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color-scheme: light;
    }

    * { box-sizing: border-box; }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: var(--sans);
      background:
        radial-gradient(circle at 82% 12%, rgba(6, 40, 75, 0.11), transparent 28rem),
        linear-gradient(135deg, rgba(6,40,75,.045) 0 1px, transparent 1px 28px),
        linear-gradient(180deg, #ffffff 0%, #f6f9fc 54%, #eef4f8 100%);
      color: var(--ink);
      overflow-x: hidden;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(120deg, transparent 0 34%, rgba(6, 40, 75, 0.045) 34.2% 34.7%, transparent 35%),
        linear-gradient(65deg, transparent 0 57%, rgba(6, 40, 75, 0.035) 57.2% 57.6%, transparent 58%),
        radial-gradient(circle at 12% 26%, rgba(255,255,255,.9), transparent 22rem);
      z-index: -2;
    }

    a { color: inherit; text-decoration: none; }

    .shell {
      width: min(var(--container), calc(100vw - 44px));
      margin: 0 auto;
    }

    .topbar {
      position: sticky;
      top: 0;
      z-index: 50;
      backdrop-filter: blur(20px);
      background: rgba(255, 255, 255, 0.76);
      border-bottom: 1px solid var(--line);
    }

    .nav {
      height: 82px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 13px;
      min-width: 190px;
    }

    .brand img {
      width: 54px;
      height: 46px;
      object-fit: contain;
      display: block;
    }

    .brand span {
      font-weight: 850;
      letter-spacing: .08em;
      font-size: 1.28rem;
      color: var(--navy);
    }

    .navlinks {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 26px;
      margin-left: auto;
      color: #173657;
      font-size: .96rem;
      font-weight: 650;
    }

    .navlinks a {
      opacity: .88;
      transition: opacity .18s ease, color .18s ease;
    }

    .navlinks a:hover { opacity: 1; color: var(--navy); }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 48px;
      padding: 0 20px;
      border-radius: 14px;
      border: 1px solid rgba(6, 40, 75, .2);
      font-weight: 750;
      font-size: .94rem;
      line-height: 1;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
      cursor: pointer;
      white-space: nowrap;
    }

    .btn:hover { transform: translateY(-1px); box-shadow: var(--shadow-soft); }
    .btn:focus-visible { outline: 3px solid rgba(6, 40, 75, .28); outline-offset: 3px; }

    .btn.primary {
      background: var(--navy);
      color: #fff;
      border-color: var(--navy);
      box-shadow: 0 12px 34px rgba(6, 40, 75, .22);
    }

    .btn.ghost {
      background: rgba(255,255,255,.62);
      color: var(--navy);
    }

    .menu-btn {
      display: none;
      background: transparent;
      border: 1px solid var(--line);
      border-radius: 13px;
      width: 48px;
      height: 48px;
      color: var(--navy);
      font-size: 1.35rem;
    }

    .hero {
      position: relative;
      min-height: calc(100svh - 82px);
      display: grid;
      align-items: center;
      padding: 86px 0 42px;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 0.92fr 1.08fr;
      gap: clamp(42px, 6vw, 86px);
      align-items: center;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      color: var(--navy-2);
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .32em;
      text-transform: uppercase;
      margin-bottom: 26px;
    }

    .eyebrow::before {
      content: "";
      width: 8px;
      height: 8px;
      background: var(--navy-2);
      box-shadow: 14px 0 0 rgba(6, 40, 75, .35);
    }

    h1 {
      margin: 0;
      font-family: var(--serif);
      color: var(--navy);
      font-weight: 500;
      letter-spacing: -.065em;
      line-height: .92;
      font-size: clamp(4.2rem, 8.5vw, 8.4rem);
      text-wrap: balance;
    }

    h1 em {
      display: block;
      font-style: italic;
      font-weight: 400;
      letter-spacing: -.075em;
    }

    .hero-copy {
      max-width: 560px;
      margin: 28px 0 0;
      color: #223d5a;
      font-size: clamp(1.06rem, 1.6vw, 1.22rem);
      line-height: 1.75;
      text-wrap: pretty;
    }

    .hero-actions {
      display: flex;
      align-items: center;
      gap: 18px;
      margin-top: 34px;
      flex-wrap: wrap;
    }

    .link-action {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--navy);
      font-weight: 800;
      border-bottom: 1px solid var(--navy);
      min-height: 44px;
    }

    .hero-visual {
      min-height: 610px;
      position: relative;
      isolation: isolate;
      display: grid;
      place-items: center;
    }

    .blueprint {
      position: absolute;
      inset: 3% -4% auto auto;
      width: min(620px, 95%);
      height: min(620px, 95%);
      border: 1px solid rgba(6,40,75,.16);
      border-radius: 50%;
      opacity: .72;
      background:
        radial-gradient(circle, transparent 0 35%, rgba(6,40,75,.08) 35.2% 35.5%, transparent 35.7%),
        linear-gradient(90deg, transparent 49.8%, rgba(6,40,75,.17) 50%, transparent 50.2%),
        linear-gradient(0deg, transparent 49.8%, rgba(6,40,75,.17) 50%, transparent 50.2%);
      z-index: -1;
    }

    .blueprint::after {
      content: "";
      position: absolute;
      width: 48%;
      height: 1px;
      background: rgba(6,40,75,.38);
      left: 50%;
      top: 50%;
      transform-origin: left;
      transform: rotate(-23deg);
    }

    .mark-stage {
      position: relative;
      width: min(650px, 100%);
      aspect-ratio: 1.1 / .78;
      display: grid;
      place-items: center;
    }

    .stage-block {
      position: absolute;
      border: 1px solid rgba(6,40,75,.12);
      background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(223,232,241,.68));
      box-shadow: var(--shadow-soft);
      backdrop-filter: blur(10px);
    }

    .stage-block.tall {
      width: 128px;
      height: 340px;
      left: 4%;
      bottom: 4%;
      border-radius: 20px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 18px;
      padding: 24px 20px;
      z-index: 5;
    }

    .stage-block.tall span {
      color: rgba(6,40,75,.78);
      font-size: .72rem;
      font-weight: 850;
      letter-spacing: .22em;
      text-transform: uppercase;
      line-height: 1.2;
      white-space: nowrap;
    }

    .stage-block.dark {
      width: 150px;
      height: 178px;
      right: 0;
      bottom: 13%;
      border-radius: 20px;
      background: linear-gradient(150deg, #09233f, #06182b);
      color: white;
      display: grid;
      place-items: center;
      text-align: center;
      letter-spacing: .3em;
      font-size: .68rem;
      text-transform: uppercase;
      z-index: 5;
    }

    .stage-block.low {
      width: 72%;
      height: 118px;
      right: 10%;
      bottom: 0;
      border-radius: 22px;
      z-index: 0;
    }

    .big-q {
      position: relative;
      width: 455px;
      height: 350px;
      z-index: 2;
      transform: translate(8px, -18px);
    }

    .big-q .ring {
      position: absolute;
      width: 220px;
      height: 220px;
      left: 150px;
      top: 34px;
      border: 54px solid var(--navy);
      border-radius: 50%;
      filter: drop-shadow(0 28px 34px rgba(6,40,75,.18));
      z-index: 3;
    }

    .big-q .tail {
      position: absolute;
      width: 146px;
      height: 52px;
      background: var(--navy);
      transform: rotate(46deg);
      border-radius: 0 0 20px 6px;
      right: 26px;
      bottom: 76px;
      transform-origin: center;
      z-index: 2;
    }

    .big-q .slash {
      position: absolute;
      height: 19px;
      width: 412px;
      background: var(--navy);
      border-radius: 999px;
      left: 22px;
      bottom: 94px;
      transform: rotate(10deg);
      box-shadow: 0 16px 22px rgba(6,40,75,.14);
      z-index: 4;
    }

    .big-q .triangle {
      position: absolute;
      left: 228px;
      bottom: 58px;
      width: 0;
      height: 0;
      border-left: 22px solid transparent;
      border-right: 22px solid transparent;
      border-bottom: 46px solid rgba(71, 84, 99, .92);
      filter: drop-shadow(0 10px 18px rgba(6,40,75,.12));
      z-index: 1;
    }

    .metric-ribbon {
      margin-top: 28px;
      border: 1px solid var(--line);
      background: rgba(255, 255, 255, .74);
      box-shadow: var(--shadow-soft);
      border-radius: var(--radius-lg);
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      overflow: hidden;
      backdrop-filter: blur(18px);
    }

    .ribbon-card {
      padding: 26px 28px;
      display: grid;
      grid-template-columns: 54px 1fr;
      gap: 18px;
      border-right: 1px solid var(--line);
      min-height: 120px;
    }

    .ribbon-card:last-child { border-right: 0; }

    .icon-box {
      width: 54px;
      height: 54px;
      border: 1px solid var(--line-strong);
      border-radius: 16px;
      display: grid;
      place-items: center;
      color: var(--navy);
      font-weight: 900;
      background: rgba(255,255,255,.54);
    }

    .ribbon-card h3 {
      margin: 0 0 7px;
      font-size: 1.02rem;
      color: var(--navy);
    }

    .ribbon-card p {
      margin: 0;
      color: #385675;
      line-height: 1.5;
      font-size: .94rem;
    }

    section {
      padding: 94px 0;
    }

    .section-head {
      display: grid;
      grid-template-columns: .86fr 1fr;
      gap: 42px;
      align-items: end;
      margin-bottom: 38px;
    }

    .kicker {
      color: var(--navy-2);
      font-size: .75rem;
      font-weight: 850;
      text-transform: uppercase;
      letter-spacing: .28em;
      margin-bottom: 13px;
    }

    h2 {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(2.6rem, 5vw, 5.1rem);
      line-height: .96;
      letter-spacing: -.055em;
      color: var(--navy);
      font-weight: 500;
      text-wrap: balance;
    }

    .lead {
      margin: 0;
      color: #345372;
      font-size: 1.08rem;
      line-height: 1.75;
      text-wrap: pretty;
    }

    .service-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border: 1px solid var(--line);
      border-radius: var(--radius-xl);
      overflow: hidden;
      background: rgba(255,255,255,.62);
      box-shadow: var(--shadow-soft);
    }

    .service-card {
      min-height: 360px;
      padding: 34px;
      border-right: 1px solid var(--line);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      position: relative;
      overflow: hidden;
    }

    .service-card:last-child { border-right: 0; }

    .service-card::after {
      content: "";
      position: absolute;
      inset: auto -18% -22% auto;
      width: 210px;
      height: 210px;
      border: 1px solid rgba(6,40,75,.14);
      border-radius: 50%;
    }

    .service-number {
      color: rgba(6,40,75,.42);
      font-size: .82rem;
      font-weight: 850;
      letter-spacing: .22em;
      margin-bottom: 44px;
    }

    .service-card h3 {
      margin: 0 0 18px;
      color: var(--navy);
      font-size: 1.55rem;
      letter-spacing: -.025em;
    }

    .service-card p {
      margin: 0;
      color: #365675;
      line-height: 1.7;
    }

    .service-list {
      display: grid;
      gap: 12px;
      margin-top: 28px;
      color: #1e4164;
      font-weight: 700;
      font-size: .93rem;
    }

    .service-list span {
      display: flex;
      gap: 10px;
      align-items: baseline;
    }

    .service-list span::before {
      content: "";
      width: 6px;
      height: 6px;
      background: var(--navy);
      flex: 0 0 auto;
      margin-top: .55em;
    }

    .approach-wrap {
      display: grid;
      grid-template-columns: .72fr 1.28fr;
      gap: 34px;
      align-items: stretch;
    }

    .panel {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.7);
      box-shadow: var(--shadow-soft);
      border-radius: var(--radius-xl);
      padding: 34px;
      position: relative;
      overflow: hidden;
    }

    .panel.dark {
      background: linear-gradient(145deg, #071d35, #031423);
      color: white;
      min-height: 400px;
    }

    .panel.dark::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px 38px),
        linear-gradient(0deg, rgba(255,255,255,.055) 1px, transparent 1px 38px),
        radial-gradient(circle at 80% 22%, rgba(255,255,255,.14), transparent 16rem);
      opacity: .72;
    }

    .panel.dark > * { position: relative; z-index: 1; }

    .panel.dark h3 {
      margin: 0;
      font-family: var(--serif);
      font-size: 3.2rem;
      line-height: 1;
      letter-spacing: -.055em;
      font-weight: 500;
    }

    .panel.dark p {
      color: rgba(255,255,255,.76);
      line-height: 1.7;
      margin: 20px 0 0;
    }

    .steps {
      display: grid;
      gap: 14px;
    }

    .step {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.72);
      border-radius: 22px;
      padding: 26px;
      display: grid;
      grid-template-columns: 72px 1fr;
      gap: 20px;
      align-items: start;
    }

    .step-num {
      width: 52px;
      height: 52px;
      border-radius: 16px;
      display: grid;
      place-items: center;
      color: var(--navy);
      background: var(--ice);
      border: 1px solid var(--line-strong);
      font-weight: 900;
    }

    .step h3 { margin: 0 0 8px; color: var(--navy); font-size: 1.25rem; }
    .step p { margin: 0; color: #385675; line-height: 1.62; }

    .proof-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 18px;
    }

    .proof-card {
      background: rgba(255,255,255,.72);
      border: 1px solid var(--line);
      border-radius: 24px;
      padding: 28px;
      min-height: 180px;
      box-shadow: 0 10px 32px rgba(6,40,75,.055);
    }

    .proof-card h3 {
      margin: 0 0 12px;
      color: var(--navy);
      font-size: 1.25rem;
    }

    .proof-card p {
      margin: 0;
      color: #3a5877;
      line-height: 1.64;
    }

    .banner-strip {
      border-radius: var(--radius-xl);
      border: 1px solid var(--line);
      overflow: hidden;
      background: #edf2f6;
      box-shadow: var(--shadow-soft);
      margin-top: 26px;
    }

    .banner-strip img {
      display: block;
      width: 100%;
      min-height: 110px;
      object-fit: cover;
    }

    .about-grid {
      display: grid;
      grid-template-columns: 1fr .78fr;
      gap: 34px;
      align-items: stretch;
    }

    .about-copy {
      padding: 40px;
      border-radius: var(--radius-xl);
      border: 1px solid var(--line);
      background: rgba(255,255,255,.7);
      box-shadow: var(--shadow-soft);
    }

    .about-copy p {
      margin: 0 0 18px;
      color: #345372;
      line-height: 1.75;
      font-size: 1.04rem;
    }

    .about-copy p:last-child { margin-bottom: 0; }

    .signal-card {
      border-radius: var(--radius-xl);
      background: linear-gradient(145deg, #09233f, #06182b);
      color: white;
      padding: 40px;
      position: relative;
      overflow: hidden;
      min-height: 100%;
      box-shadow: var(--shadow);
    }

    .signal-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 20% 12%, rgba(255,255,255,.16), transparent 13rem),
        linear-gradient(135deg, transparent 0 55%, rgba(255,255,255,.08) 55.2% 55.7%, transparent 56%),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px 34px);
      opacity: .8;
    }

    .signal-card > * { position: relative; z-index: 1; }

    .signal-card .mini-mark {
      width: 98px;
      height: 86px;
      border: 1px solid rgba(255,255,255,.28);
      border-radius: 22px;
      margin-bottom: 34px;
      position: relative;
      overflow: visible;
      background: rgba(255,255,255,.045);
    }

    .mini-ring {
      position: absolute;
      width: 48px;
      height: 48px;
      left: 28px;
      top: 10px;
      border: 13px solid #fff;
      border-radius: 50%;
      z-index: 3;
    }

    .mini-tail {
      position: absolute;
      width: 38px;
      height: 13px;
      right: 15px;
      bottom: 26px;
      background: #fff;
      border-radius: 0 0 8px 2px;
      transform: rotate(46deg);
      z-index: 2;
    }

    .mini-slash {
      position: absolute;
      width: 88px;
      height: 5px;
      left: 5px;
      bottom: 27px;
      background: #fff;
      border-radius: 999px;
      transform: rotate(10deg);
      z-index: 4;
    }

    .mini-triangle {
      position: absolute;
      left: 42px;
      bottom: 10px;
      width: 0;
      height: 0;
      border-left: 8px solid transparent;
      border-right: 8px solid transparent;
      border-bottom: 18px solid rgba(190, 199, 209, .95);
      z-index: 1;
    }

    .signal-card h3 {
      margin: 0;
      font-family: var(--serif);
      font-weight: 500;
      font-size: 2.9rem;
      line-height: 1.02;
      letter-spacing: -.05em;
    }

    .signal-card ul {
      list-style: none;
      padding: 0;
      margin: 34px 0 0;
      display: grid;
      gap: 14px;
      color: rgba(255,255,255,.78);
      line-height: 1.5;
    }

    .signal-card li {
      display: grid;
      grid-template-columns: 14px 1fr;
      gap: 12px;
    }

    .signal-card li::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #fff;
      margin-top: .55em;
      opacity: .85;
    }

    .cta {
      padding-bottom: 54px;
    }

    .cta-box {
      border-radius: 38px;
      background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(229,237,244,.78));
      border: 1px solid var(--line);
      box-shadow: var(--shadow);
      padding: clamp(34px, 6vw, 66px);
      display: grid;
      grid-template-columns: 1fr .7fr;
      gap: 38px;
      align-items: center;
      position: relative;
      overflow: hidden;
    }

    .cta-box::after {
      content: "";
      position: absolute;
      right: -150px;
      top: -160px;
      width: 420px;
      height: 420px;
      border: 1px solid rgba(6,40,75,.15);
      border-radius: 50%;
    }

    .cta-box > * { position: relative; z-index: 1; }

    .cta h2 { font-size: clamp(2.7rem, 5.6vw, 5.8rem); }
    .cta p { max-width: 720px; margin-top: 22px; }

    .contact-card {
      border: 1px solid var(--line);
      border-radius: 26px;
      background: rgba(255,255,255,.68);
      padding: 26px;
    }

    .contact-card h3 { margin: 0 0 12px; color: var(--navy); }
    .contact-card p { margin: 0 0 22px; color: #385675; line-height: 1.58; }

    .contact-note {
      font-size: .82rem;
      color: var(--muted);
      margin-top: 14px;
      line-height: 1.5;
    }

    footer {
      border-top: 1px solid var(--line);
      padding: 30px 0;
      color: #496783;
      font-size: .92rem;
    }

    .footer-inner {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      align-items: center;
      flex-wrap: wrap;
    }

    .mobile-panel {
      display: none;
    }

    @media (max-width: 1020px) {
      .navlinks, .nav-actions { display: none; }
      .menu-btn { display: grid; place-items: center; }
      .mobile-panel {
        display: none;
        border-top: 1px solid var(--line);
        padding: 16px 0 22px;
      }
      .mobile-panel.open { display: block; }
      .mobile-panel a { display: block; padding: 14px 0; font-weight: 760; color: var(--navy); }
      .mobile-panel .btn { margin-top: 12px; width: 100%; }
      .hero-grid, .section-head, .approach-wrap, .about-grid, .cta-box { grid-template-columns: 1fr; }
      .hero { padding-top: 58px; }
      .hero-visual { min-height: 500px; order: -1; }
      .metric-ribbon, .service-grid { grid-template-columns: 1fr; }
      .ribbon-card, .service-card { border-right: 0; border-bottom: 1px solid var(--line); }
      .ribbon-card:last-child, .service-card:last-child { border-bottom: 0; }
      .proof-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 680px) {
      .shell { width: min(100% - 28px, var(--container)); }
      .nav { height: 72px; }
      .brand span { font-size: 1.05rem; }
      .brand img { width: 44px; height: 42px; }
      h1 { font-size: clamp(3.6rem, 17vw, 5.1rem); }
      .hero-copy { font-size: 1rem; }
      .hero-actions .btn, .hero-actions .link-action { width: 100%; }
      .hero-visual { min-height: 390px; }
      .mark-stage { transform: scale(.78); transform-origin: center; }
      .big-q { transform: translate(-8px, -12px) scale(.82); }
      section { padding: 68px 0; }
      .ribbon-card { grid-template-columns: 1fr; }
      .service-card { min-height: auto; padding: 28px; }
      .step { grid-template-columns: 1fr; }
      .panel, .about-copy, .signal-card { padding: 28px; }
      .panel.dark h3, .signal-card h3 { font-size: 2.5rem; }
      .cta-box { border-radius: 28px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
    }

    /* Service detail pages */
    .subhero {
      padding: 82px 0 42px;
      min-height: auto;
    }

    .subhero-grid {
      display: grid;
      grid-template-columns: .95fr .75fr;
      gap: 54px;
      align-items: center;
    }

    .subhero h1 {
      max-width: 900px;
    }

    .subhero-panel {
      border: 1px solid var(--line);
      border-radius: var(--radius-xl);
      background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(231,238,245,.72));
      box-shadow: var(--shadow-soft);
      padding: 32px;
    }

    .subhero-panel h2 {
      font-family: var(--sans);
      font-size: 1.15rem;
      letter-spacing: 0;
      line-height: 1.25;
      margin-bottom: 16px;
    }

    .subhero-panel ul,
    .detail-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 13px;
    }

    .subhero-panel li,
    .detail-list li {
      display: grid;
      grid-template-columns: 10px 1fr;
      gap: 12px;
      color: #365675;
      line-height: 1.55;
    }

    .subhero-panel li::before,
    .detail-list li::before {
      content: "";
      width: 6px;
      height: 6px;
      margin-top: .62em;
      background: var(--navy);
      border-radius: 50%;
    }

    .detail-grid {
      display: grid;
      grid-template-columns: .7fr 1fr;
      gap: 28px;
      align-items: start;
    }

    .detail-card {
      border: 1px solid var(--line);
      border-radius: var(--radius-xl);
      background: rgba(255,255,255,.72);
      box-shadow: var(--shadow-soft);
      padding: 34px;
    }

    .detail-card h2 {
      font-family: var(--serif);
      font-size: clamp(2.2rem, 4vw, 4.2rem);
      letter-spacing: -.055em;
      line-height: .98;
      margin-bottom: 22px;
    }

    .detail-card h3 {
      color: var(--navy);
      font-size: 1.2rem;
      margin: 0 0 12px;
    }

    .detail-card p {
      color: #345372;
      line-height: 1.72;
      margin: 0 0 18px;
    }

    .service-card-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--navy);
      font-weight: 850;
      margin-top: 22px;
      border-bottom: 1px solid rgba(6,40,75,.42);
      width: fit-content;
      min-height: 36px;
    }

    .service-next {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      flex-wrap: wrap;
      margin-top: 22px;
    }

    @media (max-width: 1020px) {
      .subhero-grid, .detail-grid { grid-template-columns: 1fr; }
    }

    /* Refinement: cleaner nav and focused service positioning */
    .footer-links {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 18px;
      flex-wrap: wrap;
      font-weight: 700;
      color: var(--navy);
    }

    .footer-links a:hover { text-decoration: underline; }

    .ribbon-card h3 a,
    .service-card h3 a {
      text-decoration: none;
    }

    .ribbon-card h3 a:hover,
    .service-card h3 a:hover {
      text-decoration: underline;
      text-underline-offset: 4px;
    }

    .service-grid-focused {
      grid-template-columns: 1.15fr .85fr;
    }

    .service-grid-focused .service-card:last-child {
      border-right: 0;
    }

    .primary-service-card {
      background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(239,245,250,.82));
    }

    .support-service-card {
      background: rgba(255,255,255,.58);
    }
/* Refinement: conversion sections */
    .fit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
    .fit-card { border: 1px solid var(--line); background: rgba(255,255,255,.72); border-radius: 24px; padding: 26px; min-height: 210px; box-shadow: 0 10px 32px rgba(6,40,75,.055); }
    .fit-card .fit-num { color: rgba(6,40,75,.42); font-weight: 900; letter-spacing: .18em; font-size: .78rem; margin-bottom: 38px; }
    .fit-card h3 { margin: 0 0 12px; color: var(--navy); font-size: 1.16rem; line-height: 1.2; }
    .fit-card p { margin: 0; color: #3a5877; line-height: 1.58; font-size: .95rem; }
    .contact-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 24px; align-items: start; }
    .contact-grid-single { grid-template-columns: minmax(0, 840px); justify-content: center; }
    .email-panel, .form-panel { border: 1px solid var(--line); border-radius: var(--radius-xl); background: rgba(255,255,255,.74); box-shadow: var(--shadow-soft); padding: 34px; }
    .email-panel { background: linear-gradient(145deg, #09233f, #06182b); color: #fff; position: relative; overflow: hidden; }
    .email-panel::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 24% 12%, rgba(255,255,255,.14), transparent 14rem), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px 34px), linear-gradient(0deg, rgba(255,255,255,.045) 1px, transparent 1px 34px); opacity: .9; }
    .email-panel > * { position: relative; z-index: 1; }
    .email-panel h3, .form-panel h3 { margin: 0 0 13px; font-size: 1.5rem; color: inherit; }
    .email-panel p { color: rgba(255,255,255,.78); line-height: 1.65; margin: 0 0 24px; }
    .email-link-large { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 18px; border: 1px solid rgba(255,255,255,.32); border-radius: 16px; background: rgba(255,255,255,.08); color: #fff; font-weight: 850; word-break: break-word; }
    .email-link-large:hover { background: rgba(255,255,255,.14); }
    .contact-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 22px; }
    .field { display: grid; gap: 8px; }
    .field.full { grid-column: 1 / -1; }
    .field label { font-size: .8rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; color: var(--navy); }
    .field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: 15px; background: rgba(255,255,255,.82); color: var(--ink); font: inherit; padding: 14px 15px; outline: none; transition: border-color .18s ease, box-shadow .18s ease; }
    .field textarea { min-height: 138px; resize: vertical; }
    .field input:focus, .field select:focus, .field textarea:focus { border-color: var(--navy); box-shadow: 0 0 0 4px rgba(6,40,75,.12); }
    .form-note { color: var(--muted); font-size: .88rem; line-height: 1.55; margin-top: 14px; }
    .detail-band { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 26px; }
    .detail-band article { border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.72); padding: 26px; box-shadow: 0 10px 32px rgba(6,40,75,.055); }
    .detail-band h3 { margin: 0 0 12px; color: var(--navy); }
    .detail-band p { margin: 0; color: #3a5877; line-height: 1.58; }
    @media (max-width: 1020px) { .fit-grid, .contact-grid, .detail-band { grid-template-columns: 1fr; } }
    @media (max-width: 680px) { .contact-form { grid-template-columns: 1fr; } .email-panel, .form-panel, .fit-card { padding: 26px; } }


/* Launch polish: sharper conversion, tighter hero, cleaner production feel */
.hero {
  min-height: auto;
  padding: clamp(58px, 8vw, 82px) 0 34px;
}
.hero-grid {
  grid-template-columns: minmax(0, .98fr) minmax(420px, .92fr);
  gap: clamp(34px, 5vw, 72px);
}
.hero-visual {
  min-height: 500px;
  transform: scale(.92);
  transform-origin: center right;
}
.eyebrow {
  letter-spacing: .22em;
  font-size: .8rem;
}
.hero-copy {
  max-width: 620px;
  color: #183754;
}
.hero-points {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.hero-points span {
  border: 1px solid var(--line-strong);
  background: rgba(255,255,255,.76);
  border-radius: 999px;
  padding: 9px 12px;
  color: var(--navy);
  font-weight: 800;
  font-size: .86rem;
  box-shadow: 0 8px 22px rgba(6,40,75,.055);
}
.metric-ribbon {
  margin-top: 18px;
}
.ribbon-card {
  background: rgba(255,255,255,.62);
}
.outcome-strip {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.outcome-strip article {
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(236,243,248,.76));
  border-radius: 22px;
  padding: 24px;
  min-height: 168px;
  box-shadow: 0 10px 32px rgba(6,40,75,.055);
}
.outcome-strip span {
  display: block;
  color: rgba(6,40,75,.42);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .18em;
  margin-bottom: 26px;
}
.outcome-strip strong {
  display: block;
  color: var(--navy);
  font-size: 1.1rem;
  margin-bottom: 10px;
}
.outcome-strip p {
  margin: 0;
  color: #31506e;
  line-height: 1.56;
  font-size: .95rem;
}
.contact-grid {
  grid-template-columns: .72fr 1.28fr;
}
.form-note {
  color: #496783;
}
.field input::placeholder,
.field textarea::placeholder {
  color: #6f859a;
}
.footer-inner strong {
  color: var(--navy);
  letter-spacing: .08em;
}
@media (max-width: 1020px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual { order: 0; min-height: 360px; transform: scale(.78); transform-origin: center; }
  .outcome-strip { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .hero { padding-top: 42px; }
  .hero-visual { display: none; }
  .hero-points span { width: 100%; }
  .metric-ribbon { margin-top: 26px; }
  .outcome-strip { grid-template-columns: 1fr; }
  .outcome-strip article { min-height: auto; }
  .section-head { gap: 22px; }
}


/* Launch polish: contact trust panel and footer depth */
.email-panel {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.email-checklist {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.18);
}
.email-checklist span {
  display: block;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.68);
  margin-bottom: 14px;
}
.email-checklist ul {
  list-style: none;
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  color: rgba(255,255,255,.82);
  line-height: 1.48;
}
.email-checklist li {
  display: grid;
  grid-template-columns: 10px 1fr;
  gap: 11px;
}
.email-checklist li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  margin-top: .62em;
  opacity: .8;
}
@media (max-width: 680px) {
  .footer-inner { align-items: flex-start; }
  .footer-links { justify-content: flex-start; }
}
