﻿:root {
      --primary: #1f7a4d;
      --secondary: #0b4f8a;
      --blue-light: #2e8bd1;
      --bg-black: #0f2233;
      --card-bg: rgba(255, 255, 255, 0.04);
      --white: #ffffff;
      --muted: #9ca3af;
      --line: rgba(255, 255, 255, 0.10);
      --soft-white: #f3ead7;
      --soft-border: #d8c9ad;
      --dark-text: #18324a;
      --dark-muted: #5d665f;
    }

    * {
      box-sizing: border-box;
    }

    body {
      font-family: 'Space Grotesk', sans-serif;
      background: var(--bg-black);
      color: #ffffff;
      overflow-x: hidden;
      cursor: none;
    }

    #cursor {
      width: 20px;
      height: 20px;
      background: var(--primary);
      border-radius: 50%;
      position: fixed;
      pointer-events: none;
      z-index: 10000;
      transition: transform 0.1s ease;
      mix-blend-mode: difference;
    }

    #cursor-follower {
      width: 42px;
      height: 42px;
      border: 2px solid var(--blue-light);
      border-radius: 50%;
      position: fixed;
      pointer-events: none;
      z-index: 9999;
      transition: all 0.2s ease-out;
    }

    .font-sync {
      font-family: 'Syncopate', sans-serif;
    }

    .text-brand {
      color: var(--primary);
    }

    .bg-brand {
      background-color: var(--primary);
    }

    .btn-elite {
      position: relative;
      padding: 15px 35px;
      background: linear-gradient(90deg, var(--primary), #35a66f);
      color: white;
      font-weight: 900;
      text-transform: uppercase;
      clip-path: polygon(10% 0, 100% 0, 90% 100%, 0% 100%);
      transition: 0.3s;
      overflow: hidden;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
    }

    .btn-elite::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.45), transparent);
      transition: 0.5s;
    }

    .btn-elite:hover::before {
      left: 100%;
    }

    .btn-elite:hover {
      transform: skewX(-5deg);
      box-shadow: 0 0 24px rgba(31, 122, 77, 0.45);
    }

    .btn-blue {
      background: linear-gradient(90deg, var(--secondary), var(--blue-light));
    }

    .page {
      display: none;
      animation: fadeIn 0.8s ease;
    }

    .active {
      display: block;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
        transform: translateY(20px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes marquee {
      0% {
        transform: translateX(0);
      }

      100% {
        transform: translateX(-50%);
      }
    }

    .marquee-container {
      overflow: hidden;
      white-space: nowrap;
      background: linear-gradient(90deg, var(--secondary), var(--primary), var(--secondary));
      color: white;
      padding: 10px 0;
      font-weight: 900;
      text-transform: uppercase;
      font-size: 12px;
      letter-spacing: 2px;
    }

    .marquee-content {
      display: inline-block;
      animation: marquee 22s linear infinite;
    }

    .glass-card {
      background: var(--card-bg);
      backdrop-filter: blur(12px);
      border: 1px solid var(--line);
      transition: all 0.35s ease;
    }

    .glass-card:hover {
      border-color: rgba(31, 122, 77, 0.75);
      transform: translateY(-6px);
      background: rgba(11, 79, 138, 0.08);
      box-shadow: 0 24px 50px rgba(0, 0, 0, 0.25);
    }

    .white-card {
      background: #fff;
      border: 1px solid var(--soft-border);
      color: var(--dark-text);
      box-shadow: 0 18px 40px rgba(10, 10, 10, 0.08);
    }

    .white-card p,
    .white-card li {
      color: var(--dark-muted);
    }

    .white-section {
      background: var(--soft-white);
      color: var(--dark-text);
    }

    .white-section p,
    .white-section li,
    .white-section .muted-dark {
      color: var(--dark-muted);
    }

    .form-status {
      margin-top: 8px;
    }

    .form-status.success {
      color: #35a66f;
    }

    .form-status.error {
      color: #ff7f7f;
    }

    .dark-section {
      background: #0f2233;
      color: #fff;
    }

    .hero-glow-red {
      position: absolute;
      top: -120px;
      right: -90px;
      width: 520px;
      height: 520px;
      background: rgba(31, 122, 77, 0.16);
      border-radius: 999px;
      filter: blur(120px);
    }

    .hero-glow-blue {
      position: absolute;
      bottom: -140px;
      left: -90px;
      width: 430px;
      height: 430px;
      background: rgba(11, 79, 138, 0.17);
      border-radius: 999px;
      filter: blur(110px);
    }

    .logo-img {
      width: 160px;
      height: 160px;
      object-fit: contain;
      background: transparent;
      border-radius: 0;
      padding: 0;
      box-shadow: none;
    }

    .header-logo-wrap {
      position: relative;
      width: 128px;
      height: 58px;
    }

    nav .logo-img {
      position: absolute;
      left: 0;
      top: 66%;
      width: 232px;
      height: 232px;
      max-width: none;
      transform: translateY(-50%);
      transform-origin: left center;
    }

    footer .logo-img {
      width: 232px;
      height: 232px;
    }

    .logo-md {
      width: 118px;
      height: 118px;
      object-fit: contain;
      background: transparent;
      border-radius: 0;
      padding: 0;
    }

    .logo-hero {
      width: 190px;
      height: 190px;
      object-fit: contain;
      background: white;
      border-radius: 28px;
      padding: 10px;
      box-shadow: 0 30px 80px rgba(11, 79, 138, 0.25);
    }

    .local-visual {
      width: 100%;
      min-height: 320px;
      height: 100%;
      object-fit: cover;
      object-position: center;
      border-radius: 28px;
      border: 1px solid rgba(255, 255, 255, 0.10);
      box-shadow: 0 25px 60px rgba(0, 0, 0, 0.18);
      display: block;
    }

    .mobile-menu {
      display: none;
      position: fixed;
      top: 106px;
      left: 16px;
      right: 16px;
      z-index: 1000;
      background: rgba(15, 34, 51, 0.97);
      backdrop-filter: blur(14px);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 18px;
      padding: 18px;
    }

    .mobile-menu.open {
      display: block;
    }

    .mobile-menu a {
      display: block;
      padding: 14px 10px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      font-size: 12px;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: 0.18em;
    }

    .hero-stroke {
      color: transparent;
      -webkit-text-stroke: 1px var(--primary);
    }

    .hero-stroke-blue {
      color: transparent;
      -webkit-text-stroke: 1px var(--primary);
    }

    .nav-link.active-link {
      color: var(--primary);
    }

    .number-tag {
      font-family: 'Syncopate', sans-serif;
      color: var(--primary);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }

    input,
    select,
    textarea {
      background: rgba(255, 255, 255, 0.05) !important;
      border: 1px solid rgba(255, 255, 255, 0.1) !important;
      color: white !important;
    }

    .white-section input,
    .white-section select,
    .white-section textarea,
    .white-card input,
    .white-card select,
    .white-card textarea {
      background: #fff !important;
      border: 1px solid #d8c9ad !important;
      color: #18324a !important;
    }

    input::placeholder,
    textarea::placeholder {
      color: #71717a;
    }

    select option {
      background: #0f2233;
      color: white;
    }

    .white-section select option,
    .white-card select option {
      background: #fff;
      color: #18324a;
    }

    .page-logo-row {
      display: flex;
      align-items: center;
      gap: 18px;
      margin-bottom: 28px;
    }

    .page-logo-row span {
      display: block;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 0.35em;
      color: var(--primary);
      font-weight: 800;
    }

    .page-logo-row strong {
      display: block;
      font-size: 20px;
      letter-spacing: -0.02em;
    }

    @media (min-width: 769px) {
      #home .hero-home-title {
        font-size: clamp(46px, 4.8vw, 82px) !important;
        line-height: 0.96 !important;
        letter-spacing: -0.035em;
        max-width: 760px;
      }

      #home .hero-home-title .hero-stroke-blue {
        display: inline-block;
      }
    }

    @media (min-width: 1024px) and (max-width: 1280px) {
      #home .hero-home-title {
        font-size: clamp(42px, 4.1vw, 56px) !important;
        max-width: 620px;
      }
    }

    @media (max-width: 768px) {
      body {
        cursor: auto;
      }

      #cursor,
      #cursor-follower {
        display: none;
      }

      nav {
        padding-left: 16px !important;
        padding-right: 16px !important;
      }

      .header-logo-wrap {
        width: 94px;
        height: 48px;
      }

      .logo-img {
        width: 124px;
        height: 124px;
        border-radius: 0;
      }

      nav .logo-img {
        width: 180px;
        height: 180px;
        top: 66%;
        transform: translateY(-50%);
      }

      footer .logo-img {
        width: 180px;
        height: 180px;
      }


      .logo-hero {
        width: 145px;
        height: 145px;
      }

      h1 {
        font-size: 42px !important;
      }

      h2 {
        font-size: 33px !important;
      }

      .page {
        padding-top: 120px;
      }

      .btn-elite {
        padding: 13px 22px;
      }
    }

    .local-visual {
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover;
    }

    /* Desktop hero headline fix: keeps CONFIDENCE fully visible */
    .desktop-title-break {
      display: none;
    }

    @media (min-width: 769px) {
      #home .hero-home-title {
        font-size: clamp(48px, 4.7vw, 76px) !important;
        line-height: 0.92 !important;
        letter-spacing: -0.045em !important;
        max-width: min(760px, 58vw) !important;
        overflow: visible !important;
        white-space: normal !important;
        word-break: normal !important;
      }

      #home .hero-home-title .hero-stroke-blue {
        display: inline-block !important;
        max-width: 100% !important;
        overflow: visible !important;
      }

      #home .hero-home-title .desktop-title-break {
        display: block !important;
      }

      #home .hero-home-title .confidence-word {
        display: inline-block !important;
        font-size: 0.92em !important;
        letter-spacing: -0.055em !important;
      }
    }

    @media (min-width: 1024px) and (max-width: 1366px) {
      #home .hero-home-title {
        font-size: clamp(46px, 4.35vw, 64px) !important;
        max-width: 720px !important;
      }
    }

    @media (min-width: 1367px) {
      #home .hero-home-title {
        font-size: clamp(62px, 4.8vw, 82px) !important;
        max-width: 840px !important;
      }
    }


    /* Final mobile hero headline fix: keeps MOVE FREIGHT WITH CONFIDENCE fully visible on all phone widths */
    @media (max-width: 768px) {
      #home .hero-home-title {
        width: 100% !important;
        max-width: 100% !important;
        font-size: clamp(30px, 10vw, 48px) !important;
        line-height: 0.96 !important;
        letter-spacing: -0.045em !important;
        overflow: visible !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
      }

      #home .hero-home-title .hero-stroke-blue {
        display: inline-block !important;
        max-width: 100% !important;
        overflow: visible !important;
        white-space: normal !important;
      }

      #home .hero-home-title .desktop-title-break {
        display: block !important;
      }

      #home .hero-home-title .confidence-word {
        display: inline-block !important;
        font-size: 0.88em !important;
        letter-spacing: -0.06em !important;
        max-width: 100% !important;
      }
    }

    @media (max-width: 430px) {
      #home .hero-home-title {
        font-size: clamp(28px, 9.6vw, 40px) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.05em !important;
      }

      #home .hero-home-title .confidence-word {
        font-size: 0.82em !important;
        letter-spacing: -0.07em !important;
      }
    }

    @media (max-width: 390px) {
      #home .hero-home-title {
        font-size: clamp(27px, 9.2vw, 36px) !important;
      }

      #home .hero-home-title .confidence-word {
        font-size: 0.78em !important;
        letter-spacing: -0.075em !important;
      }
    }

    @media (max-width: 350px) {
      #home .hero-home-title {
        font-size: 30px !important;
        line-height: 1 !important;
      }

      #home .hero-home-title .confidence-word {
        font-size: 0.72em !important;
        letter-spacing: -0.08em !important;
      }
    }

