:root {
    --ui-blue: #008cff;
    --ui-blue-hover: #0075dc;
    --ui-ink: #0b1220;
    --ui-muted: #667085;
    --ui-line: rgba(11, 18, 32, 0.12);
    --ui-surface: #f5f7fa;
    --ui-dark: #07101e;
    --ui-radius: 8px;
    --ui-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

html { scroll-padding-top: 88px; }
body { letter-spacing: 0; }
a, button, input, select { font: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
    outline: 3px solid rgba(0, 140, 255, 0.34);
    outline-offset: 3px;
}

.ui-button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease;
}
.ui-button:hover { transform: translateY(-1px); }
.ui-button--primary { color: #fff; background: var(--ui-blue); }
.ui-button--primary:hover { background: var(--ui-blue-hover); }
.ui-button--light { color: var(--ui-ink); background: #fff; }
.ui-button--light:hover { background: #f0f4f8; }
.ui-text-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--hg-color-brand-strong);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}
.ui-text-link span { transition: transform 160ms ease; }
.ui-text-link:hover span { transform: translateX(3px); }
.ui-text-link--light { color: #fff; }

.reveal, .bd-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 420ms var(--ui-ease), transform 420ms var(--ui-ease);
}
.reveal.is-visible, .reveal.visible, .bd-reveal.is-visible, .bd-reveal.visible {
    opacity: 1;
    transform: none;
}

/* Shared business-page anatomy */
.bd-page .bd-shell { width: min(1180px, calc(100% - 48px)); }
.bd-page .bd-hero { min-height: 0; padding-top: 72px; background: #f3f7fb; }
.bd-page .bd-hero > .bd-shell {
    min-height: 670px;
    display: grid;
    grid-template-columns: minmax(350px, 0.78fr) minmax(0, 1.22fr);
    gap: 70px;
    align-items: center;
}
.bd-page .bd-hero-copy { max-width: none; margin: 0; padding: var(--hg-space-18) 0; text-align: left; }
.bd-page.bd-page--hitch .bd-hero-copy {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
}
.bd-page .bd-hero .bd-eyebrow {
    display: block;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.bd-page .bd-hero-copy h1 {
    margin: 0;
    font-size: var(--hg-font-fluid-display);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: 0;
}
.bd-page .bd-hero-copy > p:last-of-type {
    max-width: 520px;
    margin: var(--hg-space-5) 0 0;
    color: var(--ui-muted);
    font-size: 18px;
    line-height: 1.75;
}
.bd-page .bd-hero-media {
    overflow: hidden;
    border-radius: var(--ui-radius);
    background: #dfe8f0;
    box-shadow: none;
}
.bd-page .bd-hero-media img { width: 100%; height: 500px; aspect-ratio: auto; object-fit: cover; }
.bd-page .bd-hero-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.bd-page .bd-hero-nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 17px;
    color: var(--ui-ink);
    border: 1px solid var(--ui-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    font-weight: 650;
    text-decoration: none;
    transition: background 160ms ease, border-color 160ms ease;
}
.bd-page .bd-hero-nav a:hover { border-color: rgba(0, 140, 255, 0.45); background: #fff; }
.bd-page .bd-section, .bd-page .bd-overview { scroll-margin-top: 82px; }
.bd-page .bd-info-card, .bd-page .bd-media-card, .bd-page .bd-service-card {
    border-radius: 8px !important;
    box-shadow: none !important;
}
.bd-page .bd-media-card, .bd-page .bd-service-card, .bd-page .bd-feature-media { overflow: hidden; }
.bd-page .bd-button { border-radius: 999px !important; }
.bd-page .bd-cta .bd-button { color: var(--ui-ink) !important; background: #fff !important; }
.bd-page .bd-hero-actions { display: none !important; }

/* Corporate page media and controls */
.tech-hero, .about-hero, .contact-hero { margin-top: var(--hg-space-18); }
.tech-hero, .about-hero { min-height: 680px !important; background: #f3f7fb !important; }
.tech-hero-media, .about-hero-media {
    inset: 86px max(32px, calc((100vw - 1180px) / 2)) 46px 48% !important;
    width: auto !important;
    height: auto !important;
    border-radius: 8px;
    object-fit: cover;
    transform: none !important;
    animation: none !important;
}
.tech-hero-shade, .about-hero-shade {
    background: linear-gradient(90deg, #f3f7fb 0%, #f3f7fb 44%, rgba(243, 247, 251, 0.85) 53%, rgba(243, 247, 251, 0) 72%) !important;
}
.tech-hero-copy, .about-hero-copy {
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: none !important;
    color: var(--ui-ink) !important;
}
.tech-hero-copy > *, .about-hero-copy > * { max-width: 500px; }
.tech-hero-copy p, .about-hero-copy p { color: var(--ui-muted) !important; }
.tech-hero h1, .about-hero h1 {
    font-size: var(--hg-font-fluid-display) !important;
    line-height: var(--hg-line-compact) !important;
    letter-spacing: 0 !important;
}
.contact-hero-copy h1 {
    max-width: 820px;
    word-break: keep-all;
    overflow-wrap: normal;
    letter-spacing: 0 !important;
}
.about-anchor, .contact-anchor { border-bottom: 1px solid var(--ui-line); }
.about-anchor a, .contact-anchor a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px !important;
    transform: none !important;
}
.principle-trigger { min-height: 120px !important; border-radius: 8px !important; }
.company-carousel, .principles-visual, .leader-portrait, .awards-visual { border-radius: 8px !important; }
.company-slide, .principle-visual { transition-duration: 420ms !important; }
.panel-trigger, .contact-tabs button, .award-tabs button { transition-duration: 180ms !important; }
.contact-primary-link, .contact-secondary-link { border-radius: 999px !important; }

/* Remove decorative motion and align the legacy bike template. */
.biz-hero-glow, .robotaxi-icon-large::after {
    display: none !important;
    animation: none !important;
}
.tech-panel::before { animation: none !important; }
.bike-hero-stage, .bike-proof-item, .bike-proof-copy { border-radius: 8px !important; box-shadow: none !important; }
.bike-button { border-radius: 999px !important; box-shadow: none !important; }
.bike-hero-stage img { transition: transform 600ms var(--ui-ease); }

@media (max-width: 900px) {
    .bd-page .bd-hero > .bd-shell {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: var(--hg-space-8);
        padding-top: var(--hg-space-12);
        padding-bottom: var(--hg-space-16);
    }
    .bd-page .bd-hero-copy { padding: var(--hg-space-8) 0 0; }
    .bd-page .bd-hero-media img { height: auto; aspect-ratio: 16 / 10; }
    .tech-hero, .about-hero { min-height: 720px !important; display: flex !important; align-items: flex-end !important; }
    .tech-hero-media, .about-hero-media { inset: 0 !important; width: 100% !important; height: 100% !important; border-radius: 0; }
    .tech-hero-shade, .about-hero-shade { background: linear-gradient(0deg, rgba(2, 9, 20, 0.9), rgba(2, 9, 20, 0.06) 78%) !important; }
    .tech-hero-copy, .about-hero-copy { padding-bottom: var(--hg-space-16) !important; color: var(--hg-color-white) !important; }
    .tech-hero-copy p, .about-hero-copy p { color: rgba(255, 255, 255, 0.8) !important; }
}

@media (max-width: 620px) {
    html { scroll-padding-top: 72px; }
    .bd-page .bd-shell { width: calc(100% - 32px); }
    .bd-page .bd-hero-copy h1 { font-size: 46px; }
    .bd-page .bd-hero-copy > p:last-of-type { font-size: 16px; }
    .tech-hero, .about-hero, .contact-hero { margin-top: 64px; }
    .tech-hero h1, .about-hero h1 { font-size: var(--hg-font-4xl) !important; }
    .contact-hero-copy h1 { font-size: var(--hg-font-3xl) !important; line-height: 1.12 !important; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal, .bd-reveal { opacity: 1; transform: none; transition: none; }
    .ui-button, .ui-text-link span { transition: none; }
}
