/* Landing page refinement: compact cadence and Poppins marketing typography. */
.premium-page, .premium-page button, .premium-page input { font-family: Poppins, Inter, ui-sans-serif, system-ui, sans-serif; }
.premium-page h1, .premium-page h2, .premium-page h3, .premium-page strong { letter-spacing: 0; }
.premium-header { background: #000000; }
.premium-hero { min-height: 690px; background: radial-gradient(circle at 62% 48%, #277f85 0, #124b59 34%, #08242f 76%); }
.premium-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(6, 30, 39, .4), transparent 57%); pointer-events: none; }
.premium-copy { padding: 70px 0 80px; position: relative; z-index: 2; }
.premium-copy h1 { font-size: 60px; font-weight: 700; }
.premium-copy h1 em { font-family: Poppins, Inter, sans-serif; font-style: normal; font-weight: 500; }
.premium-copy p { max-width: 520px; }
.premium-copy .btn-primary { box-shadow: 0 10px 25px rgba(4, 24, 30, .28); }
.us-map-wrap { opacity: .33; top: 52px; }
.hero-bottom-data { z-index: 3; }
.intelligence-section, .weather-section, .app-section, .testimonial-section, .pricing-section, .faq-section { padding-top: 80px; padding-bottom: 80px; }
.contact-section { padding-bottom: 80px; }
.testimonial-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 34px; }
.slider-actions { gap: 8px; }
.slider-button { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid #cbdcda; color: #226762; background: white; border-radius: 5px; }
.slider-button.active, .slider-button:hover { color: white; background: var(--teal); border-color: var(--teal); }
.slider-button i { width: 17px; }
.testimonial-indicators { position: static; justify-content: flex-start; margin: 22px 0 0; gap: 6px; }
.testimonial-indicators [data-bs-target] { width: 26px; height: 3px; margin: 0; background: #8fa7a5; border: 0; }
.testimonial-indicators .active { background: var(--teal); }
.quote-card { min-height: 242px; }
.app-copy .section-kicker { margin-bottom: 9px; }
.store-row { gap: 12px; }
.store-badge { min-width: 136px; padding: 10px 12px; transition: transform .2s, background .2s; }
.store-badge:hover { color: white; background: #064e4b; transform: translateY(-2px); }
.store-badge i { width: 24px; }
.premium-footer { padding-top: 30px; }
.footer-route-banner { display: flex; align-items: center; justify-content: space-between; padding: 16px 0 24px; margin-bottom: 42px; border-bottom: 1px solid #294950; }
.footer-route-banner > div:first-child { display: flex; align-items: center; gap: 9px; }
.footer-route-banner strong { color: #d8eeee; font-size: 12px; }
.footer-route-banner small { color: #76969b; font-size: 11px; }
.status-pulse { width: 8px; height: 8px; background: #55c7ba; border-radius: 50%; box-shadow: 0 0 0 5px rgba(85, 199, 186, .12); }
.footer-stores { display: flex; align-items: center; gap: 8px; }
.footer-stores > span { color: #ddd; font-size: 14px; font-weight: 700; letter-spacing: .08em; margin-right: 3px; }
.footer-stores a { display: grid !important; place-items: center; width: 31px; height: 31px; border: 1px solid #315058; border-radius: 5px; margin: 0 !important; }
.footer-stores a:hover { background: #1d4b52; }
.footer-stores i { width: 15px; }
.footer-subscribe { display: flex; margin: 14px 0; border: 1px solid #37575d; border-radius: 5px; overflow: hidden; }
.footer-subscribe input { min-width: 0; flex: 1; background: transparent; border: 0; outline: 0; color: white; font-size: 11px; padding: 9px 10px; }
.footer-subscribe input::placeholder { color: #83a0a5; }
.footer-subscribe button { width: 34px; border: 0; color: #82d8ce; background: #1e454d; }
.footer-subscribe button i { width: 15px; }
.premium-footer .footer-email i { margin-right: 4px; }

/* Reference-inspired road information blocks, using the existing premium system. */
.road-bulletin { padding: 48px 0 18px; background: #fbfdfd; }
.bulletin-shell { overflow: hidden; border: 1px solid #25434a; border-radius: 7px; background: #102d35; box-shadow: 0 12px 28px rgba(11, 42, 49, .12); }
.bulletin-meta, .bulletin-foot { display: flex; align-items: center; gap: 10px; padding: 10px 16px; color: #9cbabe; font-size: 10px; font-weight: 700; letter-spacing: .07em; }
.bulletin-meta { border-bottom: 1px solid #294b53; }
.bulletin-live { display: inline-flex; align-items: center; gap: 5px; color: #89e2d8; }
.bulletin-live i, .bulletin-foot i { width: 13px; }
.bulletin-screen { padding: 15px 17px; background: #0a181c; }
.bulletin-label { display: block; color: #65777a; font-size: 9px; letter-spacing: .12em; font-weight: 700; margin-bottom: 7px; }
.bulletin-message { overflow: hidden; white-space: nowrap; color: #efb84d; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; font-weight: 700; text-shadow: 0 0 11px rgba(239, 184, 77, .38); }
.bulletin-message span { display: inline-block; padding-left: 100%; animation: bulletin-scroll 26s linear infinite; }
.route-coverage { padding: 18px 0 58px; background: #fbfdfd; }
.route-coverage-inner { display: grid; grid-template-columns: 1.1fr auto 1fr; align-items: center; gap: 25px; padding: 24px 28px; background: #e9f4f2; border-radius: 7px; }
.route-coverage .section-kicker { margin: 0 0 3px; }
.route-coverage strong { display: block; color: #29494e; font-size: 15px; }
.route-shields { display: flex; gap: 7px; }
.route-shields span { display: grid; place-items: center; width: 38px; height: 38px; background: white; border: 2px solid #2c555f; border-radius: 9px 9px 11px 11px; color: #176f6d; font-size: 12px; font-weight: 800; }
.route-coverage p { margin: 0; color: #688187; font-size: 12px; text-align: right; }
.comparison-section { padding: 80px 0; background: #fff; }
.comparison-head { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 34px; }
.comparison-head .subtext { max-width: 370px; }
.comparison-wrap { border: 1px solid #d5e4e1; background: white; border-radius: 8px; overflow: hidden; }
.compare-table-premium { width: 100%; border-collapse: collapse; }
.compare-table-premium th { padding: 16px 20px; background: #000000; color: #b9d1d2; font-size: 11px; font-weight: 600; text-align: center; }
.compare-table-premium th:first-child { text-align: left; width: 42%; color: white; }
.compare-table-premium td { padding: 17px 20px; border-top: 1px solid #e1ebea; color: #70858a; font-size: 12px; text-align: center; }
.compare-table-premium td:first-child { text-align: left; }
.compare-table-premium td strong { display: block; color: #2c474e; font-size: 13px; }
.compare-table-premium td span { display: block; margin-top: 2px; color: #81969a; font-size: 11px; }
.compare-table-premium td i { width: 16px; vertical-align: -4px; margin-right: 4px; color: #9aabae; }
.compare-table-premium .commute-col { background: #e9f6f4; color: #ff4f1f; font-weight: 700; }
.compare-table-premium td.commute-col i { color: #ff4f1f; }
@keyframes bulletin-scroll { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .bulletin-message span { animation: none; padding-left: 0; } }
@media (max-width: 991.98px) { .premium-copy { padding-top: 94px; }.premium-hero { min-height: 650px; } }
@media (max-width: 767.98px) {
  .premium-hero { min-height: 625px; }
  .premium-copy { padding: 75px 0 116px; }
  .premium-copy h1 { font-size: 38px; }
  .intelligence-section, .weather-section, .app-section, .testimonial-section, .pricing-section, .faq-section { padding-top: 58px; padding-bottom: 58px; }
  .contact-section { padding-bottom: 58px; }
  .testimonial-head { align-items: start; }
  .quote-card { min-height: 0; margin-bottom: 10px; }
  .footer-route-banner { display: block; margin-bottom: 30px; }
  .footer-route-banner > div:first-child { flex-wrap: wrap; }
  .footer-route-banner small { flex-basis: calc(100% - 20px); margin-left: 17px; }
  .footer-stores { margin-top: 15px; }
  .road-bulletin { padding-top: 30px; }
  .bulletin-message { font-size: 10px; }
  .route-coverage { padding-bottom: 42px; }
  .route-coverage-inner { display: block; padding: 21px; }
  .route-shields { margin: 17px 0 12px; }
  .route-coverage p { text-align: left; }
  .comparison-section { padding: 58px 0; }
  .comparison-head { display: block; margin-bottom: 24px; }
  .comparison-head .subtext { margin-top: 14px; }
  .comparison-scroll { overflow-x: auto; }
  .compare-table-premium { min-width: 700px; }
}

/* Project photography keeps the map and data overlays grounded in real road conditions. */
.premium-hero {
  background-image: linear-gradient(90deg, rgba(5, 29, 38, .92) 0%, rgba(7, 41, 51, .76) 44%, rgba(8, 37, 46, .62) 100%), url('https://t4.ftcdn.net/jpg/02/66/57/01/360_F_266570159_w0nzjlbsDf12d45HsO8J2Kmj1SdL0vdm.jpg');
  background-size: cover;
  background-position: center;
}

 .floating-card {
            position: absolute;
            background: rgba(15, 23, 42, 0.85);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: 16px;
            padding: 16px 20px;
            color: #fff;
            box-shadow: 0 20px 40px rgba(0,0,0,0.4);
            animation: float 6s ease-in-out infinite;
            z-index: 10;
        }

        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-12px); }
        }
    .glass-card {
            background: rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(16px);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius:10px;
            padding: 24px;
            color: #ffffff;
        }     
.premium-hero .us-map-wrap { mix-blend-mode: screen; opacity: .24; }
.weather-visual .weather-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.72) contrast(1.05); }
.weather-visual .weather-sky { background: linear-gradient(160deg, rgba(39, 91, 119, .32), rgba(12, 39, 55, .78)); }
.weather-visual .weather-sky::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7, 31, 45, .48), transparent 60%); }
