/* bidriveauto: shared styles (brand tokens from the original landing page draft) */
:root {
  --navy: #003B5C; --navy-deep: #002440; --navy-ink: #0A1929; --navy-light: #E8F3F9;
  --orange: #FF9E1B; --orange-dark: #E08600; --orange-light: #FFF3DC;
  --dark: #1F2933; --mid: #627D98; --light: #9FB3C8;
  --bg: #F5F7FA; --white: #FFFFFF; --border: #D9E2EC;
  --success: #27AB83; --success-bg: #EFFCF6;
  --warn: #DE911D; --warn-bg: #FFFBEA;
  --severe: #CF1124; --severe-bg: #FFE3E3;
  --mono: "DM Mono", ui-monospace, monospace;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "DM Sans", system-ui, -apple-system, sans-serif; background: var(--white); color: var(--dark); -webkit-font-smoothing: antialiased; line-height: 1.6; }
h1, h2, h3, h4 { margin: 0; line-height: 1.15; letter-spacing: -0.02em; }
p { margin: 0; }
a { color: inherit; }
img { max-width: 100%; display: block; }
[hidden] { display: none !important; }

.wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.mono { font-family: var(--mono); }

/* Nav */
.nav { position: sticky; top: 0; z-index: 50; background: rgba(0, 36, 64, 0.97); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255,255,255,.07); }
.nav__row { height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nav__logo img { height: 30px; width: auto; }
.nav__links { display: flex; align-items: center; gap: 28px; }
.nav__links a { font-size: 14px; font-weight: 500; color: rgba(255,255,255,.62); text-decoration: none; transition: color .2s; }
.nav__links a:hover { color: #fff; }
.nav__links a.btn--primary, .nav__links a.btn--primary:hover { color: var(--navy-deep); }
@media (max-width: 820px) { .nav__links a:not(.btn) { display: none; } }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; cursor: pointer; text-decoration: none; font: 700 15px/1 "DM Sans", sans-serif; padding: 15px 26px; border-radius: 8px; transition: background .2s, transform .2s, box-shadow .2s; }
.btn--primary { background: var(--orange); color: var(--navy-deep); }
.btn--primary:hover { background: var(--orange-dark); transform: translateY(-1px); box-shadow: 0 10px 26px rgba(255,158,27,.28); }
.btn--small { padding: 10px 18px; font-size: 13.5px; border-radius: 7px; }
.btn--navy { background: var(--navy); color: #fff; }
.btn--navy:hover { background: var(--navy-deep); }
.btn--ghost-light { background: transparent; color: rgba(255,255,255,.7); padding-left: 4px; padding-right: 4px; }
.btn--ghost-light:hover { color: #fff; }
.btn:disabled { opacity: .5; cursor: default; transform: none; box-shadow: none; }

/* Section helpers */
.sec { padding: 96px 0; }
.sec--bg { background: var(--bg); }
.sec--navy { background: var(--navy); color: #fff; }
.eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--orange-dark); margin-bottom: 14px; }
.sec--navy .eyebrow { color: var(--orange); }
.h2 { font-size: clamp(30px, 3.6vw, 44px); font-weight: 800; color: var(--navy-deep); }
.sec--navy .h2 { color: #fff; }
.h2 em { font-style: normal; color: var(--orange-dark); }
.sec--navy .h2 em { color: var(--orange); }
.lede { margin-top: 16px; font-size: 18px; color: var(--mid); max-width: 640px; }
.sec--navy .lede { color: rgba(255,255,255,.6); }
.center { text-align: center; }
.center .lede { margin-left: auto; margin-right: auto; }

/* Live dot */
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 0 rgba(39,171,131,.6); animation: livepulse 2s infinite; display: inline-block; }
@keyframes livepulse { 0% { box-shadow: 0 0 0 0 rgba(39,171,131,.55); } 70% { box-shadow: 0 0 0 7px rgba(39,171,131,0); } 100% { box-shadow: 0 0 0 0 rgba(39,171,131,0); } }
@media (prefers-reduced-motion: reduce) { .live-dot { animation: none; } html { scroll-behavior: auto; } }

/* Footer */
.foot { background: var(--navy-deep); color: rgba(255,255,255,.55); padding: 44px 0; font-size: 14px; }
.foot__row { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.foot img { height: 26px; width: auto; }
.foot small { display: block; margin-top: 8px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.4); }
.foot a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.3); }

.nav .sm { display: none; }
@media (max-width: 560px) { .nav .lg { display: none; } .nav .sm { display: inline; } }
