.driver-document-root { scroll-behavior: auto; scroll-padding-top: 28px; }
.driver-page { background: var(--paper); color: var(--ink); }
.driver-header { position: relative; height: 102px; background: var(--ink); color: var(--paper); }
.driver-home { display: flex; align-items: center; gap: 12px; font-size: 14px; min-height: 44px; }
.driver-home span { color: #76a8ff; font-size: 24px; }
.driver-home:hover { color: #76a8ff; }
.driver-hero { padding: 44px 7% 52px; color: var(--paper); background: var(--ink); }
.driver-eyebrow { display: flex; justify-content: space-between; gap: 24px; font-size: 12px; letter-spacing: 1.3px; line-height: 1.6; color: #b2bdd2; }
.driver-eyebrow > span:first-child { color: #76a8ff; font-weight: 700; }
.driver-hero h1 { font-size: clamp(52px, 6.3vw, 92px); line-height: 1.02; font-weight: 600; text-transform: uppercase; max-width: 1080px; margin: 30px 0 26px; text-wrap: balance; }
.driver-general { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; color: #c5cee0; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.driver-general:hover { color: #fff; }
.driver-general span { color: #76a8ff; font-size: 20px; }
.driver-layout { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: 250px minmax(0, 760px); justify-content: space-between; gap: 7%; padding: 64px 7% 88px; }
.driver-sidebar { align-self: start; position: sticky; top: 30px; }
.driver-nav h2 { font-family: var(--body); font-size: 13px; font-weight: 700; letter-spacing: .2px; line-height: 1.65; margin: 0 0 18px; color: #42516a; }
.driver-nav > a { display: flex; gap: 14px; align-items: baseline; min-height: 50px; padding: 16px 12px; border-bottom: 1px solid #d2dbea; font-size: 14px; line-height: 1.5; font-weight: 600; }
.driver-nav > a > span { color: #66758e; font-size: 12px; font-weight: 400; }
.driver-nav > a:hover { color: #0045c5; background: #edf2fb; }
.driver-nav > a[aria-current="page"] { background: #e6efff; border-left: 3px solid #0057ff; padding-left: 9px; color: #003baf; }
.driver-nav > a[aria-current="page"] > span { color: #003baf; }
.driver-document { min-width: 0; scroll-margin-top: 24px; }
.driver-document p { margin: 0 0 22px; color: #293951; font-size: 17px; line-height: 1.85; overflow-wrap: anywhere; }
.driver-document a { color: #0045c5; text-decoration: underline; text-underline-offset: 3px; }
.driver-document a:hover { text-decoration-thickness: 2px; }
.driver-document-info { border-top: 3px solid #0057ff; padding-top: 24px; }
.driver-document-info > p:first-child { font-size: 14px; font-weight: 600; color: #42516a; }
.driver-document-info > p:nth-child(2) { font-size: 15px; padding: 20px 22px; background: #edf2fa; border-left: 2px solid #9dbbf0; }
.driver-contents { margin: 28px 0 38px; border-top: 1px solid #c8d2e1; border-bottom: 1px solid #c8d2e1; }
.driver-contents summary { padding: 16px 0; min-height: 48px; cursor: pointer; font-size: 14px; font-weight: 700; }
.driver-contents nav { display: grid; gap: 4px; padding: 0 0 16px 18px; }
.driver-contents a { display: block; font-size: 14px; line-height: 1.6; padding: 8px 0; }
.driver-section { border-top: 1px solid #c8d2e1; padding: 34px 0 14px; }
.driver-section h2 { font-family: var(--display); font-size: 38px; font-weight: 600; letter-spacing: 0; line-height: 1.15; margin: 0 0 21px; scroll-margin-top: 28px; }
.driver-next { margin-top: 30px; border-top: 2px solid #0057ff; }
.driver-next > a { display: block; padding: 24px 0 8px; text-decoration: none; }
.driver-next > a > span { display: block; color: #52627b; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px; }
.driver-next strong { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 20px; line-height: 1.5; }
.driver-footer { background: var(--ink); color: var(--paper); padding: 32px 7%; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; font-size: 13px; line-height: 1.6; }
.driver-footer a { display: inline-flex; align-items: center; min-height: 44px; gap: 12px; }
.driver-footer a:first-child { font-weight: 700; letter-spacing: .5px; }
.driver-footer a:hover { color: #76a8ff; }
.driver-page .skip-link { background: #0057ff; color: #fff; }
.driver-page :focus-visible { outline: 3px solid #0057ff; outline-offset: 5px; }
.driver-header :focus-visible, .driver-hero :focus-visible, .driver-footer :focus-visible { outline-color: #91b8ff; }
.driver-page ::selection { background: #c7dcff; color: var(--ink); }
@media (max-width: 1000px) {
  .driver-layout { grid-template-columns: 215px minmax(0, 1fr); padding: 48px 5% 64px; gap: 5%; }
  .driver-nav > a { font-size: 13px; }
}
@media (max-width: 720px) {
  .driver-header { height: 86px; padding: 0 22px; }
  .driver-header .brand-lockup { width: 172px; }
  .driver-home { gap: 8px; font-size: 12px; white-space: nowrap; }
  .driver-hero { padding: 28px 22px 32px; }
  .driver-eyebrow { font-size: 10px; letter-spacing: 1px; gap: 12px; }
  .driver-eyebrow > span:last-child { text-align: right; }
  .driver-hero h1 { font-size: clamp(42px, 9.5vw, 64px); margin: 28px 0 18px; }
  .driver-general { font-size: 13px; }
  .driver-layout { display: block; padding: 30px 22px 48px; }
  .driver-sidebar { position: static; margin-bottom: 36px; }
  .driver-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
  .driver-nav h2 { grid-column: 1 / -1; margin-bottom: 12px; }
  .driver-nav > a { gap: 8px; padding: 12px 8px; min-height: 52px; font-size: 13px; }
  .driver-nav > a[aria-current="page"] { padding-left: 5px; }
  .driver-document p { font-size: 16px; line-height: 1.8; }
  .driver-document-info > p:nth-child(2) { padding: 18px; font-size: 14px; }
  .driver-section { padding-top: 28px; }
  .driver-section h2 { font-size: 34px; }
  .driver-footer { padding: 26px 22px; gap: 8px 24px; }
  .driver-footer a:first-child { flex-basis: 100%; }
}
@media (max-width: 360px) {
  .driver-header .brand-lockup { width: 142px; }
  .driver-home { gap: 4px; }
  .driver-home span { font-size: 20px; }
  .driver-nav { grid-template-columns: 1fr; }
}
@media print {
  .driver-page { background: #fff; color: #000; }
  .driver-header, .driver-sidebar, .driver-footer, .driver-general, .driver-contents, .driver-next, .skip-link { display: none; }
  .driver-hero { background: #fff; color: #000; padding: 0 0 20px; }
  .driver-eyebrow, .driver-eyebrow > span:first-child { color: #000; }
  .driver-hero h1 { font-size: 34px; margin: 18px 0; }
  .driver-layout { display: block; padding: 0; }
  .driver-document p, .driver-document-info > p:nth-child(2) { font-size: 11pt; color: #000; background: #fff; }
  .driver-section h2 { font-size: 21pt; break-after: avoid; }
  .driver-document a { color: #000; }
}
