      :root {
        --navy-950: #061a33;
        --navy-900: #092442;
        --navy-800: #0b2f57;
        --blue-500: #4aa3df;
        --blue-200: #bfe5ff;
        --gray-900: #1d2733;
        --gray-700: #4b5563;
        --gray-500: #77808c;
        --gray-100: #eef3f7;
        --gray-50: #f7fafc;
        --white: #ffffff;
        --shadow: 0 24px 60px rgba(6, 26, 51, .18);
        --radius: 8px;
        --content: 1120px;
      }

      * {
        box-sizing: border-box;
      }

      html {
        scroll-behavior: smooth;
      }

      body {
        margin: 0;
        color: var(--gray-900);
        background: var(--white);
        font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        line-height: 1.6;
      }

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

      a {
        color: inherit;
      }

      .site-header {
        position: absolute;
        z-index: 10;
        width: 100%;
        padding: 20px;
        color: var(--white);
      }

      .header-inner,
      .section-inner {
        width: min(100% - 40px, var(--content));
        margin-inline: auto;
      }

      .header-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 16px;
      }

      .brand {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        text-decoration: none;
      }

      .brand-icon {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
      }

      .brand-text {
        display: grid;
        gap: 0;
        line-height: 1.25;
      }

      .brand-name {
        font-size: .98rem;
        font-weight: 800;
      }

      .brand-sub {
        color: rgba(255, 255, 255, .72);
        font-size: .78rem;
        font-weight: 700;
        text-transform: uppercase;
      }

      .site-nav {
        display: flex;
        align-items: center;
        gap: 22px;
      }

      .site-nav a:not(.button) {
        color: rgba(255, 255, 255, .82);
        font-size: .95rem;
        font-weight: 800;
        text-decoration: none;
      }

      .site-nav a:not(.button):hover {
        color: var(--white);
      }

      .button {
        display: inline-flex;
        min-height: 46px;
        align-items: center;
        justify-content: center;
        border-radius: var(--radius);
        padding: 12px 18px;
        background: var(--blue-500);
        color: var(--navy-950);
        font-weight: 800;
        text-decoration: none;
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
      }

      .button:hover {
        transform: translateY(-1px);
        background: var(--blue-200);
        box-shadow: 0 14px 28px rgba(0, 0, 0, .16);
      }

      .button:focus-visible {
        outline: 3px solid var(--blue-200);
        outline-offset: 3px;
      }

      .button-secondary {
        border: 1px solid rgba(255, 255, 255, .24);
        background: rgba(255, 255, 255, .08);
        color: var(--white);
      }

      .hero {
        position: relative;
        overflow: hidden;
        min-height: 720px;
        padding: 116px 0 70px;
        color: var(--white);
        background:
          linear-gradient(135deg, rgba(6, 26, 51, .94), rgba(9, 36, 66, .94)),
          radial-gradient(circle at 12% 12%, rgba(74, 163, 223, .26), transparent 32%),
          var(--navy-950);
      }

      .hero::before,
      .hero::after {
        position: absolute;
        inset: 0;
        content: "";
        pointer-events: none;
      }

      .hero::before {
        opacity: .33;
        background-image:
          linear-gradient(115deg, transparent 0 18%, rgba(191, 229, 255, .22) 18.2% 18.7%, transparent 18.9% 100%),
          linear-gradient(35deg, transparent 0 36%, rgba(191, 229, 255, .16) 36.1% 36.6%, transparent 36.8% 100%),
          linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px),
          linear-gradient(0deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
        background-size: 560px 420px, 460px 360px, 72px 72px, 72px 72px;
      }

      .hero::after {
        background: radial-gradient(circle at 75% 30%, rgba(74, 163, 223, .2), transparent 30%);
      }

      .hero-grid {
        position: relative;
        z-index: 1;
        display: grid;
        align-items: center;
        gap: 42px;
      }

      .eyebrow {
        margin: 0 0 14px;
        color: var(--blue-200);
        font-size: .82rem;
        font-weight: 800;
        letter-spacing: 0;
        text-transform: uppercase;
      }

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

      h1 {
        max-width: 760px;
        margin-bottom: 20px;
        font-size: clamp(2.45rem, 7vw, 5.45rem);
        line-height: .96;
      }

      h2 {
        margin-bottom: 18px;
        color: var(--navy-950);
        font-size: clamp(2rem, 4vw, 3.2rem);
        line-height: 1.05;
      }

      h3 {
        margin-bottom: 8px;
        color: var(--navy-950);
        font-size: 1.06rem;
        line-height: 1.25;
      }

      .hero-copy {
        max-width: 720px;
        color: rgba(255, 255, 255, .82);
        font-size: 1.15rem;
      }

      .hero-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 14px;
        margin-top: 28px;
      }

      .availability {
        margin: 12px 0 0;
        color: rgba(255, 255, 255, .72);
        font-size: .95rem;
      }

      .hero-visual {
        display: grid;
        gap: 18px;
        width: min(100%, 520px);
      }

      .app-card {
        border: 1px solid rgba(255, 255, 255, .15);
        border-radius: 22px;
        padding: 22px;
        background: rgba(5, 20, 39, .72);
        box-shadow: var(--shadow);
        backdrop-filter: blur(18px);
      }

      .app-card-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        margin-bottom: 24px;
      }

      .app-icon-large {
        width: 92px;
        height: 92px;
        border-radius: 24px;
        box-shadow: 0 18px 36px rgba(0, 0, 0, .28);
      }

      .status-pill {
        border: 1px solid rgba(191, 229, 255, .2);
        border-radius: 999px;
        padding: 8px 12px;
        color: var(--blue-200);
        font-size: .82rem;
        font-weight: 800;
        white-space: nowrap;
        background: rgba(74, 163, 223, .1);
      }

      .dashboard-lines {
        display: grid;
        gap: 12px;
      }

      .dash-row {
        display: grid;
        grid-template-columns: 1fr 74px;
        gap: 12px;
        align-items: center;
      }

      .dash-line {
        height: 12px;
        border-radius: 999px;
        background: linear-gradient(90deg, rgba(255, 255, 255, .88), rgba(191, 229, 255, .28));
      }

      .dash-metric {
        height: 34px;
        border-radius: 8px;
        background: rgba(255, 255, 255, .1);
      }

      .route-panel {
        position: relative;
        min-height: 190px;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 18px;
        background:
          linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px),
          linear-gradient(0deg, rgba(255, 255, 255, .05) 1px, transparent 1px),
          rgba(255, 255, 255, .05);
        background-size: 40px 40px;
      }

      .route-panel svg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
      }

      section {
        padding: 72px 0;
      }

      .section-muted {
        background: var(--gray-50);
      }

      .section-kicker {
        max-width: 780px;
        margin-bottom: 0;
        color: var(--gray-700);
        font-size: 1.08rem;
      }

      .about-grid,
      .app-grid,
      .portal-grid {
        display: grid;
        gap: 40px;
        align-items: center;
      }

      .brand-reference {
        display: grid;
        gap: 22px;
        border: 1px solid var(--gray-100);
        border-radius: 18px;
        padding: 24px;
        background: var(--white);
        box-shadow: 0 18px 42px rgba(6, 26, 51, .08);
      }

      .brand-reference img {
        margin: 0 auto;
        width: min(100%, 360px);
        height: auto;
      }

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

      .stat {
        border-radius: var(--radius);
        padding: 12px;
        background: var(--gray-50);
        line-height: 1;
      }

      .stat strong {
        display: block;
        color: var(--navy-900);
        font-size: 1.35rem;
        line-height: 1;
      }

      .stat span {
        color: var(--gray-500);
        font-size: .74rem;
        font-weight: 800;
        text-transform: uppercase;
      }

      .feature-grid {
        display: grid;
        gap: 16px;
        margin-top: 30px;
      }

      .feature-card {
        min-height: 196px;
        border: 1px solid var(--gray-100);
        border-radius: var(--radius);
        padding: 22px;
        background: var(--white);
        box-shadow: 0 12px 28px rgba(6, 26, 51, .06);
      }

      .feature-mark {
        display: inline-flex;
        width: 38px;
        height: 38px;
        align-items: center;
        justify-content: center;
        margin-bottom: 18px;
        border-radius: 8px;
        color: var(--navy-900);
        background: #e6f4ff;
      }

      .feature-card p,
      .app-copy p,
      .portal-copy p {
        margin-bottom: 0;
        color: var(--gray-700);
      }

      .phone-shell {
        width: min(100%, 316px);
        margin-inline: auto;
        border: 10px solid var(--navy-950);
        border-radius: 34px;
        padding: 18px;
        background: var(--white);
        box-shadow: var(--shadow);
      }

      .phone-header {
        display: flex;
        align-items: center;
        gap: 12px;
        padding-bottom: 18px;
        border-bottom: 1px solid var(--gray-100);
      }

      .phone-header img {
        width: 42px;
        height: 42px;
        border-radius: 11px;
      }

      .phone-title {
        color: var(--navy-950);
        font-weight: 850;
        line-height: 1.15;
      }

      .phone-title span {
        display: block;
        color: var(--gray-500);
        font-size: .77rem;
        font-weight: 750;
      }

      .contact-list {
        display: grid;
        gap: 12px;
        margin-top: 18px;
      }

      .contact {
        display: grid;
        grid-template-columns: 36px 1fr;
        gap: 10px;
        align-items: center;
        border-radius: var(--radius);
        padding: 11px;
        background: var(--gray-50);
      }

      .avatar {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--blue-200), var(--blue-500));
      }

      .contact-line {
        height: 9px;
        border-radius: 999px;
        background: #cfd8e3;
      }

      .contact-line + .contact-line {
        width: 64%;
        margin-top: 8px;
        background: #e1e7ee;
      }

      .instruction {
        margin-top: 20px;
        border-left: 4px solid var(--blue-500);
        padding: 12px 0 12px 16px;
        color: var(--gray-700);
        background: linear-gradient(90deg, #edf8ff, transparent);
      }

      .portal {
        color: var(--white);
        background: var(--navy-950);
      }

      .portal h2,
      .portal p {
        color: var(--white);
      }

      .portal p {
        color: rgba(255, 255, 255, .78);
      }

      .portal-preview {
        border: 1px solid rgba(255, 255, 255, .14);
        border-radius: 18px;
        padding: 18px;
        background: rgba(255, 255, 255, .06);
      }

      .portal-bar {
        display: flex;
        gap: 8px;
        margin-bottom: 18px;
      }

      .portal-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .36);
      }

      .portal-columns {
        display: grid;
        grid-template-columns: .8fr 1.2fr;
        gap: 14px;
        min-height: 230px;
      }

      .portal-nav,
      .portal-main {
        border-radius: var(--radius);
        background: rgba(255, 255, 255, .08);
      }

      .portal-nav {
        display: grid;
        gap: 10px;
        align-content: start;
        padding: 14px;
      }

      .nav-line,
      .table-line {
        height: 10px;
        border-radius: 999px;
        background: rgba(255, 255, 255, .22);
      }

      .nav-line:nth-child(1) {
        width: 86%;
        background: var(--blue-500);
      }

      .nav-line:nth-child(2) {
        width: 64%;
      }

      .nav-line:nth-child(3) {
        width: 72%;
      }

      .nav-line:nth-child(4) {
        width: 58%;
      }

      .portal-main {
        display: grid;
        gap: 12px;
        align-content: start;
        padding: 14px;
      }

      .table-line {
        height: 30px;
        border-radius: 8px;
        background: rgba(255, 255, 255, .12);
      }

      .table-line:first-child {
        background: rgba(191, 229, 255, .26);
      }

      .site-footer {
        padding: 30px 0;
        color: rgba(255, 255, 255, .68);
        background: #041225;
      }

      .footer-inner {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: min(100% - 40px, var(--content));
        margin-inline: auto;
        font-size: .92rem;
      }

      .footer-brand {
        color: var(--white);
        font-weight: 800;
      }

      .footer-links {
        display: flex;
        flex-wrap: wrap;
        gap: 14px 22px;
      }

      .footer-links a {
        color: var(--blue-200);
        font-weight: 800;
        text-decoration: none;
      }

      .footer-links a:hover {
        color: var(--white);
      }

      @media (min-width: 720px) {
        .site-header {
          padding: 28px 0;
        }

        .hero-grid,
        .about-grid,
        .app-grid,
        .portal-grid {
          grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
        }

        .hero {
          min-height: 760px;
          padding-top: 140px;
        }

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

        .app-copy {
          order: 2;
        }

        .phone-shell {
          order: 1;
        }
      }

      @media (min-width: 980px) {
        .feature-grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }
      }

      @media (max-width: 520px) {
        .header-inner,
        .section-inner,
        .footer-inner {
          width: min(100% - 28px, var(--content));
        }

        .brand-sub,
        .site-nav .button {
          display: none;
        }

        .site-nav {
          width: 100%;
          justify-content: space-between;
          gap: 12px;
        }

        .hero {
          min-height: auto;
          padding-bottom: 52px;
        }

        .hero-actions .button {
          width: 100%;
        }

        .app-card {
          padding: 16px;
        }

        .dash-row {
          grid-template-columns: 1fr 54px;
        }

        section {
          padding: 56px 0;
        }

        .stat-grid {
          grid-template-columns: 1fr;
        }

        .portal-columns {
          grid-template-columns: 1fr;
        }
      }

