/* Shared corporate presentation. Content and booking contracts stay in their
   existing page modules; this layer gives every page one visual vocabulary. */
.corporate-site {
  --ink: #14263d;
  --muted: #526174;
  --paper: #f7f9fc;
  --on-background: #14263d;
  --primary: #805800;
  --primary-container: #f4b522;
  --on-primary-container: #202d40;
  --primary-fixed: #fff3d6;
  --on-primary-fixed: #563b00;
  --outline-variant: #dfe5ed;
  --line: #dfe5ed;
  --surface-container-low: #f3f6fa;
  --surface-container: #eaf0f6;
  --surface-container-high: #e2eaf3;
  --secondary: #526174;
  --on-secondary-container: #526174;
  --shadow-1: 0 2px 8px #14263d05;
  --shadow-2: 0 12px 36px #14263d09;
  background: var(--paper);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}
.corporate-site *, .corporate-site *::before, .corporate-site *::after { box-sizing: border-box; }
.corporate-site h1, .corporate-site h2, .corporate-site h3 { color: var(--ink); letter-spacing: -.035em; }
.corporate-site h1 { line-height: 1.14; }
.corporate-site p { line-height: 1.75; }
.corporate-site :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #a77712; outline-offset: 4px; }
.corporate-site :is(input, select, textarea) { border-radius: 8px; border-color: var(--outline-variant); }
.corporate-site :is(button, .button) { border-radius: 8px; box-shadow: none; transition: background-color .15s, border-color .15s, box-shadow .15s; }
.corporate-site :is(button, .button):not(.account-nav-item, .faq-cat-pill, .faq-chip, .account-row-toggle, .account-pagination button) { min-height: 44px; }
.corporate-site .button:hover, .corporate-site button:hover:not(:disabled) { box-shadow: 0 4px 12px #14263d0c; }
.corporate-site .button.secondary, .corporate-site button.secondary { background: #fff; border: 1px solid #d4dde8; color: var(--ink); }
.corporate-site .card { border: 1px solid var(--outline-variant); border-radius: 14px; box-shadow: var(--shadow-1); }
.corporate-site .breadcrumb { font-size: 12px; padding-block: 20px; margin: 0; color: #6b7889; }
.corporate-site .breadcrumb a { color: #526174; }
.corporate-site .site-header { background: #fff; border-bottom: 1px solid var(--line); box-shadow: none; }
.corporate-site .nav-wrap { min-height: 88px; gap: 24px; padding-block: 0; }
.corporate-site .brand-logo { width: 138px; height: auto; }
.corporate-site .desktop-nav { gap: 23px; }
.corporate-site .desktop-nav a { font-size: 12px; font-weight: 600; color: #34465d; white-space: nowrap; padding-block: 32px; }
.corporate-site .desktop-nav a[aria-current="page"] { background: transparent; color: #805800; text-decoration: underline; text-underline-offset: 10px; text-decoration-thickness: 2px; }
.corporate-site .header-help span { color: #6b7889; }
.corporate-site .account-link { background: #14263d; color: #fff; border-radius: 10px; }
.corporate-site .mobile-menu summary { background: #f2f5f9; border: 1px solid #e3e9f0; border-radius: 8px; }
.corporate-site .site-footer { background: #14263d; color: #b8c5d5; padding-top: 56px; border-top: 0; }
.corporate-site .site-footer h2 { color: #fff; font-size: 13px; letter-spacing: .01em; margin-bottom: 20px; }
.corporate-site .site-footer a { color: #d4deea; font-size: 12px; }
.corporate-site .site-footer a:hover { color: #f4c75e; }
.corporate-site .site-footer p { color: #b8c5d5; font-size: 12px; max-width: 280px; }
.corporate-site .site-footer .brand { display: inline-flex; padding: 10px 14px; background: #fff; border-radius: 8px; }
.corporate-site .footer-badge { background: #ffffff0a; border: 1px solid #ffffff1f; color: #edc46a; font-size: 10px; border-radius: 5px; }
.corporate-site .footer-bottom { background: transparent; color: #aab9cc; border-top: 1px solid #ffffff1f; border-radius: 0; margin-top: 36px; padding: 22px 0; font-size: 11px; }
.corporate-site .section-intro { margin-bottom: 32px; }
.corporate-site .section-intro h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.25; }
.corporate-site :is(.tag-eyebrow, .booking-eyebrow, .corporate-eyebrow) { color: #886525; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.corporate-site :is(.fleet-section, .standard-section, .steps-section, .corridors-section, .safety-section, .home-faq-section) { padding-block: 64px; }
.corporate-site .home-page .hero-highway-inner { padding-block: 68px 48px; }
.corporate-site .home-page .hero-highway h1 { color: #fff; font-size: clamp(38px, 4.8vw, 64px); font-weight: 700; letter-spacing: -.045em; }
.corporate-site .home-page .hero-highway .accent { color: #f4c75e; }
.corporate-site .home-page .hero-highway-inner > p { font-size: 16px; line-height: 1.8; }
.corporate-site .home-page .booking-widget { border-radius: 14px; box-shadow: 0 24px 60px #0003; }
.corporate-site .home-page .service-tab { border-radius: 7px; font-size: 12px; }
.corporate-site .home-page .widget-bar, .corporate-site .home-page .widget-trust { font-size: 11px; }
.corporate-site .home-page .widget-input { border-radius: 8px; background: #fff; }
.corporate-site .home-page .widget-cta { background: #f4b522; color: #14263d; border-radius: 8px; font-weight: 700; }
.corporate-site .home-page .estimate-pill { background: #f3f6fa; border-radius: 8px; }
.corporate-site .impact-strip { background: #fff; }
.corporate-site .impact-item strong { color: #14263d; font-size: 24px; }
.corporate-site :is(.fleet-card, .pillar-card, .step-card, .corridor-card, .compare-card, .team-card) { border: 1px solid var(--line); border-radius: 12px; box-shadow: none; }
.corporate-site .fleet-photo { border-radius: 8px; }
.corporate-site .fleet-popular-badge { background: #14263d; color: #fff; border-radius: 5px; }
.corporate-site :is(.pillar-icon, .step-number, .safety-icon, .capability-icon) { background: #fff3d6; color: #805800; border-radius: 9px; }
.corporate-site .safety-panel { border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: none; }
.corporate-site .safety-copy h2 { color: #14263d; }
.corporate-site .cta-banner { background: #14263d; border-radius: 16px; border: 1px solid #ffffff12; }
.corporate-site .cta-banner h2 { color: #fff; }
.corporate-site .cta-banner p { color: #d4deea; }
.corporate-site :is(.hero, .dark-card) :is(h1, h2, h3) { color: #fff; }
.corporate-site .about-hero { background: #f1f5f9; padding-block: 40px 56px; }
.corporate-site .about-hero-copy h1 { font-size: clamp(34px, 4vw, 52px); line-height: 1.2; }
.corporate-site .about-hero-frame { border-radius: 14px; }
.corporate-site .about-hero-badge { position: static; width: fit-content; margin-top: 16px; border-radius: 10px; box-shadow: var(--shadow-2); }
.corporate-site .capabilities-strip { background: #fff; border-block: 1px solid var(--line); }
.corporate-site .compare-section { padding-block: 64px; }
.corporate-site .faq-hero { background: #edf2f8; padding-bottom: 48px; }
.corporate-site .faq-hero-copy h1 { font-size: clamp(32px, 4vw, 48px); max-width: 720px; }
.corporate-site .faq-hero-copy .highlight-amber { color: #805800; }
.corporate-site .faq-search-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-1); }
.corporate-site :is(.faq-hub-item, .faq-sidebar-card) { border: 1px solid var(--line); border-radius: 10px; box-shadow: none; }
.corporate-site .faq-hub-toggle { min-height: 68px; font-size: 14px; }
.corporate-site .faq-cat-pill { border-radius: 7px; }
.corporate-site .faq-cat-pill.active { background: #14263d; color: #fff; }
.corporate-site .corporate-page-intro { padding: 34px 0 40px; max-width: 850px; }
.corporate-site .corporate-page-intro h1 { font-size: clamp(32px, 4vw, 48px); margin: 16px 0; }
.corporate-site .corporate-page-intro p { color: #526174; font-size: 15px; max-width: 680px; }
.corporate-site .contact-quick-grid { margin-bottom: 36px; }
.corporate-site .contact-quick-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: none; }
.corporate-site .contact-quick-card h2 { font-size: 16px; }
.corporate-site .contact-quick-icon, .corporate-site .contact-channel-icon { background: #f1f5f9; border-radius: 9px; }
.corporate-site .contact-quick-icon { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; color: #526174; margin-bottom: 8px; }
.corporate-site .contact-page .split { gap: 40px; align-items: start; padding-bottom: 48px; }
.corporate-site .contact-aside { background: #14263d; border-radius: 14px; padding: 28px; color: #d4deea; }
.corporate-site .contact-aside :is(h2, h3) { color: #fff; }
.corporate-site .contact-aside :is(p, a, .contact-channel-label) { color: #d4deea; }
.corporate-site .contact-aside :is(.contact-channel, .contact-channel-list > p) { background: #ffffff0a; border: 1px solid #ffffff1c; border-radius: 10px; box-shadow: none; }
.corporate-site .contact-aside .contact-channel-icon { background: #ffffff12; color: #f4c75e; }
.corporate-site .contact-page .contact-request-form { padding: 28px; border-radius: 14px; }
.corporate-site :is(.legal-page, .fare-estimate-page) { padding-bottom: 64px; }
.corporate-site .legal-hero { padding: 28px 0 36px; }
.corporate-site .legal-hero h1 { font-size: clamp(32px, 4vw, 46px); }
.corporate-site .legal-facts { margin-top: 28px; }
.corporate-site .legal-fact { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 18px; }
.corporate-site .legal-nav { background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: none; }
.corporate-site .legal-nav a { font-size: 12px; line-height: 1.6; }
.corporate-site .legal-section { padding: 28px; scroll-margin-top: 24px; }
.corporate-site .legal-section h2 { font-size: 21px; }
.corporate-site .legal-section p { color: #526174; font-size: 14px; line-height: 1.9; }
.corporate-site .driver-banner { background: #14263d; border-radius: 14px; }
.corporate-site .driver-banner :is(h1, h2) { color: #fff; }
.corporate-site .driver-banner p { color: #d4deea; }
.corporate-site .earnings-calc { border: 1px solid var(--line); border-radius: 12px; box-shadow: none; }
.corporate-site :is(.route-master-hero, .auth-story) { background-color: #14263d; }
.corporate-site .route-master-hero h1 { color: #fff; font-size: clamp(32px, 4vw, 50px); }
.corporate-site .city-directory-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: none; }
.corporate-site .city-directory-chips a { border-radius: 6px; background: #f3f6fa; }
.corporate-site .auth-shell { padding-block: 48px; }
.corporate-site :is(.auth-card, .auth-story) { border-radius: 14px; }
.corporate-site .auth-story :is(h1, h2) { color: #fff; }
.corporate-site .account-page-heading { border-radius: 14px; background: #edf2f8; border: 1px solid var(--line); }
.corporate-site .account-sidebar, .corporate-site .account-main > .card { border-radius: 12px; }
.corporate-site .account-stats-grid .account-stat-card { border-radius: 12px; }
.corporate-site .account-support-card { background: #14263d; }
.corporate-site .account-support-card h2 { color: #fff; }
.corporate-site .cab-search-page { background: #f4f7fa; }
.corporate-site .booking-progress { border-radius: 10px; padding: 20px 24px; }
.corporate-site .booking-progress li[aria-current="step"] .booking-step-number { background: #14263d; color: #fff; }
.corporate-site .booking-secure { display: flex; align-items: center; gap: 8px; }
.corporate-site .cab-selection-card { border-radius: 12px; border: 1px solid var(--line); border-top: 3px solid #f4b522; box-shadow: var(--shadow-1); }
.corporate-site .cab-result-card { border-radius: 12px; }
.corporate-site .cab-result-card.is-selected { border-color: #805800; box-shadow: 0 0 0 1px #805800; }
.corporate-site .cab-search-page .cab-selected-badge { border-radius: 5px; font-size: 10px; letter-spacing: .02em; }
.corporate-site .cab-result-price strong { color: #14263d; }
.corporate-site .rental-tier-chip { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 12px 18px; }
.corporate-site .rental-tier-chip:has(input:checked) { background: #14263d; color: #fff; border-color: #14263d; }
.corporate-site .cab-trust-ribbon { background: #edf4ef; border: 1px solid #dce9df; border-radius: 9px; }
.corporate-site .cab-search-page :is(.checkout-details-card, .checkout-auth .card, .checkout-review, .booking-payment-recovery) { border-radius: 12px; }
.corporate-site .checkout-page .checkout-address legend, .corporate-site .checkout-page .checkout-traveler legend { color: #14263d; font-weight: 700; }
.corporate-site .checkout-page .place-results button { text-align: left; background: #fff; border: 1px solid var(--line); padding: 14px; border-radius: 8px; color: #34465d; }
.corporate-site .checkout-page .place-results button:hover { background: #fff3d6; border-color: #d7b96e; }
.corporate-site .confirmation-banner { background: #edf4ef; border: 1px solid #dce9df; border-radius: 12px; }
.corporate-site .confirmation-banner h2 { color: #1c5037; }
.corporate-site .confirmation-grid .card { padding: 28px; }
.corporate-site .feedback { border-radius: 8px; font-size: 13px; box-shadow: 0 8px 30px #14263d20; }
@media (max-width: 1150px) {
  .corporate-site .desktop-nav { gap: 14px; }
  .corporate-site .header-help { display: none; }
}
@media (max-width: 950px) {
  .corporate-site .nav-wrap { min-height: 76px; }
  .corporate-site .brand-logo { width: 124px; }
  .corporate-site .mobile-menu nav { border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow-2); }
  .corporate-site .mobile-menu nav a { color: #34465d; min-height: 44px; }
}
@media (max-width: 600px) {
  .corporate-site :is(.fleet-section, .standard-section, .steps-section, .corridors-section, .safety-section, .home-faq-section, .compare-section) { padding-block: 40px; }
  .corporate-site .home-page .hero-highway-inner { padding-block: 44px 30px; }
  .corporate-site .home-page .hero-highway h1 { font-size: 38px; }
  .corporate-site .home-page .hero-highway-inner > p { font-size: 14px; }
  .corporate-site .home-page .booking-widget { border-radius: 12px; }
  .corporate-site .home-page .service-tab { padding: 10px 12px; }
  .corporate-site .corporate-page-intro { padding: 20px 0 28px; }
  .corporate-site .contact-aside, .corporate-site .contact-page .contact-request-form, .corporate-site .legal-section { padding: 22px; }
  .corporate-site .legal-hero { padding-top: 12px; }
  .corporate-site .legal-facts { grid-template-columns: 1fr; }
  .corporate-site .section-intro h2 { font-size: 27px; }
  .corporate-site .booking-progress { padding: 16px 12px; }
  .corporate-site .booking-intro { flex-direction: column; align-items: flex-start; gap: 12px; }
  .corporate-site .booking-progress li { font-size: 10px; gap: 6px; }
  .corporate-site .booking-secure { font-size: 11px; }
  .corporate-site .site-footer { padding-top: 36px; }
  .corporate-site .footer-bottom { display: grid; gap: 10px; }
  .corporate-site .rental-tier-chip { flex: 1 0 42%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .corporate-site *, .corporate-site *::before, .corporate-site *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
