    html { scroll-behavior: smooth; }
    body { font-family: 'Poppins', sans-serif; }
    summary::-webkit-details-marker { display: none; }
    :root {
      --navy: #06273a;
      --blue: #0b4f6c;
      --teal: #0f766e;
      --mint: #2dd4bf;
      --ice: #ecfeff;
    }
    .hero-gradient {
      background:
        linear-gradient(90deg, rgb(2 20 32 / 63%) 0%, rgb(2 11 15 / 36%) 48%, rgb(0 0 0 / 65%) 100%), radial-gradient(circle at 80% 20%, rgb(0 0 0 / 0%), #00000000 30%);
    }
    .glass-form {
      background: linear-gradient(145deg, rgba(4, 39, 58, .88), rgba(7, 78, 86, .66));
      border: 1px solid rgba(153, 246, 228, .22);
      backdrop-filter: blur(26px);
      -webkit-backdrop-filter: blur(26px);
      box-shadow: 0 32px 90px rgba(0, 20, 32, .42), inset 0 1px 0 rgba(255,255,255,.14);
    }
    .gradient-text {
      background: linear-gradient(90deg, #0b4f6c, #0f766e, #2dd4bf);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }
    .gradient-button, .call-button {
      background: linear-gradient(100deg, #0b4f6c 0%, #0f766e 52%, #14b8a6 100%);
      box-shadow: 0 16px 38px rgba(13, 148, 136, .28);
    }
    .gradient-button:hover, .call-button:hover {
      background: linear-gradient(100deg, #083b53 0%, #0d6b64 52%, #0f9f91 100%);
    }
    @keyframes buttonShine {
      0% { transform: translateX(-150%) skewX(-18deg); }
      55%, 100% { transform: translateX(280%) skewX(-18deg); }
    }
    @keyframes buttonPulse {
      0%, 100% { box-shadow: 0 14px 34px rgba(13,148,136,.24); }
      50% { box-shadow: 0 22px 52px rgba(11,79,108,.36); }
    }
    .animated-btn {
      position: relative; overflow: hidden; isolation: isolate;
      transition: transform .3s ease, box-shadow .3s ease, filter .3s ease;
      animation: buttonPulse 2.8s ease-in-out infinite;
    }
    .animated-btn::after {
      content: ""; position: absolute; inset: -20% auto -20% -35%; width: 24%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
      transform: translateX(-150%) skewX(-18deg); animation: buttonShine 3.5s ease-in-out infinite;
      pointer-events: none; z-index: -1;
    }
    .animated-btn:hover { transform: translateY(-4px) scale(1.015); filter: saturate(1.08); box-shadow: 0 24px 54px rgba(13,148,136,.34); }
    .animated-btn:active { transform: translateY(0) scale(.985); }
    .section-wash {
      background:
        radial-gradient(circle at 4% 10%, rgba(45,212,191,.09), transparent 25%),
        radial-gradient(circle at 96% 90%, rgba(11,79,108,.08), transparent 28%),
        linear-gradient(180deg, #f7fbfc 0%, #eef8f7 100%);
    }
    .premium-card {
      border: 1px solid rgba(15,118,110,.12);
      box-shadow: 0 18px 55px rgba(3, 52, 66, .08);
      transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    }
    .premium-card:hover {
      transform: translateY(-7px);
      border-color: rgba(20,184,166,.30);
      box-shadow: 0 28px 75px rgba(3, 52, 66, .15);
    }

    @keyframes routeMarquee {
      from { transform: translateX(0); }
      to { transform: translateX(calc(-50% - 12px)); }
    }
    .route-marquee { overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent); }
    .route-track { display: flex; width: max-content; gap: 24px; animation: routeMarquee 42s linear infinite; will-change: transform; }
    .route-marquee:hover .route-track { animation-play-state: paused; }
    .route-card { width: min(86vw, 360px); flex: 0 0 auto; }
    .route-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgba(2,32,48,.86) 100%); }
    @media (max-width: 640px) {
      .route-track { gap: 16px; animation-duration: 34s; }
      .route-card { width: 82vw; }
    }
    @media (prefers-reduced-motion: reduce) { .route-track { animation-play-state: paused; } }

    @keyframes ring { 0%,100%{transform:rotate(0)} 20%{transform:rotate(-14deg)} 40%{transform:rotate(14deg)} 60%{transform:rotate(-8deg)} 80%{transform:rotate(8deg)} }
    .phone-ring { animation: ring 1.7s ease-in-out infinite; }
    @media (max-width: 767px) {
      .mobile-safe { padding-bottom: 108px; }
      input[type="date"] { min-height: 24px; }
    }
