/* Approved Fleet and Heavy Duty pages. Navigation is owned by the shared header. */
.sector-site { background:#fff; }
.sector-page { color:#122032; font-size:18px; line-height:1.65; }
.sector-page *, .sector-page *::before, .sector-page *::after { box-sizing:border-box; }
.sector-page :is(h1,h2,h3,p,figure,dl,ol,ul) { margin:0; }
.sector-page h1 { font:550 clamp(46px,4.2vw,72px)/1.06 var(--font-funnel); letter-spacing:-.035em; }
.sector-page h2 { font:550 clamp(31px,2.8vw,46px)/1.1 var(--font-funnel); letter-spacing:-.028em; }
.sector-page h3 { font:550 clamp(24px,1.75vw,29px)/1.18 var(--font-funnel); letter-spacing:-.018em; }
.sector-page .sector-eyebrow { margin:0 0 20px; color:#007cac; font-size:12px; line-height:1.4; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.sector-page .sector-hero { padding:82px 0 0; color:#fff; background:linear-gradient(113deg,#082548 0%,#0b315c 68%,#104b72 100%); }
.sector-hero .sector-eyebrow, .sector-navy .sector-eyebrow, .sector-close .sector-eyebrow { color:#acd9f3; }
.sector-page .sector-lead { margin:24px 0 0; max-width:72em; color:#e0ebf6; font-size:clamp(20px,1.45vw,25px); line-height:1.55; }
.sector-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.sector-hero .sector-actions { margin-top:30px; }
.sector-page .sector-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:13px 25px; border-radius:999px; border:1px solid transparent; text-decoration:none; font-size:16px; line-height:1.5; font-weight:650; text-align:center; transition:background .15s,color .15s; }
.sector-page .sector-button-white { background:#fff; color:#0b2e59; border-color:#fff; }
.sector-page .sector-button-white:hover { background:#e7f2fa; border-color:#e7f2fa; }
.sector-page .sector-button-outline { background:transparent; color:#fff; border-color:#829bb5; }
.sector-page .sector-button-outline:hover { background:#ffffff12; border-color:#c6def0; }
.sector-page .sector-hero-foot { display:flex; flex-wrap:wrap; gap:18px 36px; margin:54px 0 0; padding:23px 0; border-top:1px solid #ffffff26; font-size:14px; color:#d1e5f4; }
.sector-hero-foot span { display:flex; align-items:center; gap:10px; }
.sector-hero-foot span::before { content:'✓'; color:#55d2ef; font-weight:700; }
.sector-page .sector-mode-note { color:#d1e5f4; }
.sector-section { padding:92px 0; }
.sector-white { background:#fff; }
.sector-ice { background:#f0f6fa; }
.sector-navy { background:#092747; color:#fff; }
.sector-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,3.5vw,64px); align-items:center; }
.sector-page .sector-intro { margin-top:22px; color:#546c84; font-size:clamp(18px,1.35vw,23px); line-height:1.6; }
.sector-page .sector-checks { list-style:none; padding:0; margin:24px 0; display:grid; gap:11px; color:#294963; }
.sector-checks li { position:relative; padding-left:28px; }
.sector-checks li::before { content:'✓'; position:absolute; left:0; top:0; color:#007cae; font-weight:700; }
.sector-page .sector-note { font-size:15px; line-height:1.6; color:#62768c; }
.sector-figure { min-width:0; overflow:hidden; border:1px solid #c8dbea; border-radius:22px; background:#f8fbfe; box-shadow:0 20px 55px #0927470e; }
.illustration-top { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:20px 26px; border-bottom:1px solid #d6e4ef; background:#edf5fa; }
.illustration-overline { color:#446783; font-size:11px; line-height:1.4; letter-spacing:.11em; text-transform:uppercase; font-weight:750; }
.illustration-status { color:#256747; background:#e0f1e8; padding:4px 10px; border-radius:30px; font-size:11px; font-weight:650; }
.portal-heading { padding:25px 26px 20px; display:flex; flex-wrap:wrap; gap:5px 16px; align-items:baseline; }
.portal-heading strong { color:#0c2f52; font:550 25px/1.2 var(--font-funnel); }
.portal-heading > span { font-size:12px; color:#647c93; }
.portal-row { display:grid; grid-template-columns:48px 1fr auto; gap:14px; align-items:center; margin:0 26px; padding:20px 0; border-top:1px solid #dce6ee; }
.unit-symbol { display:flex; width:48px; height:48px; justify-content:center; align-items:center; border:1px solid #c2d8e9; border-radius:10px; background:#e9f3fa; font-size:14px; font-weight:750; color:#1d5177; }
.portal-row strong { font-size:16px; color:#12395b; }
.portal-row > div:nth-child(2) span { display:block; font-size:13px; color:#647c93; }
.portal-row > div:last-child { text-align:right; }
.stage-chip { display:inline-block; border-radius:5px; padding:3px 8px; background:#dcebf7; color:#164c78; font-size:12px; font-weight:650; }
.stage-chip-light { color:#796018; background:#f4efd9; }
.stage-chip-ready { color:#256747; background:#e0f1e8; }
.portal-row small { display:block; margin-top:5px; font-size:11px; color:#697d91; }
.portal-docs { margin-top:4px; padding:20px 26px; display:flex; flex-wrap:wrap; gap:10px 20px; background:#edf5fa; color:#365d7b; font-size:12px; font-weight:600; border-top:1px solid #d8e5ef; }
.sector-page figcaption { padding:12px 24px; color:#6d8194; font-size:11px; line-height:1.5; }
.sector-section-heading { margin-bottom:38px; }
.sector-section-heading > p:not(.sector-eyebrow) { margin-top:20px; color:#546c84; font-size:clamp(18px,1.35vw,23px); line-height:1.6; }
.sector-navy .sector-section-heading > p:not(.sector-eyebrow) { color:#ceddea; }
.sector-three-up { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(25px,2.5vw,46px); }
.sector-detail { border-top:1px solid #b8cddd; padding-top:24px; min-width:0; }
.sector-index { display:block; color:#007dab; font-size:12px; font-weight:750; letter-spacing:.08em; margin-bottom:20px; }
.sector-detail > p { margin-top:16px; color:#526c84; font-size:17px; }
.po-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #56738e; border-radius:18px; overflow:hidden; }
.po-flow > div { padding:30px; background:#ffffff04; }
.po-flow > div + div { border-left:1px solid #56738e; }
.po-flow .illustration-overline { display:block; color:#a6d6ef; }
.po-flow strong { display:block; margin-top:12px; color:#fff; font:500 28px/1.2 var(--font-funnel); }
.po-number { display:inline-block; margin-top:23px; font:650 20px/1.4 var(--font-inter); color:#092747; background:#e7f4fb; border-radius:6px; padding:8px 16px; letter-spacing:.03em; }
.po-flow p { margin-top:22px; color:#ceddea; font-size:16px; }
.sector-page .sector-footnote { margin-top:22px; color:#aec4d7; font-size:13px; }
.sector-cards { gap:22px; }
.sector-cards .sector-detail { padding:30px; border:1px solid #c8dbea; border-radius:18px; background:#f8fbfe; display:flex; flex-direction:column; }
.sector-detail-foot { display:block; margin-top:auto; padding-top:24px; color:#23516f; font-size:14px; line-height:1.55; font-weight:600; }
.sector-report-callout { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-top:42px; padding:30px 0 0; border-top:1px solid #c8dbea; }
.sector-report-callout .sector-eyebrow { margin-bottom:12px; }
.sector-report-callout p:not(.sector-eyebrow) { margin-top:12px; color:#526c84; font-size:17px; }
.sector-report-callout > div { flex:1; }
.sector-page .sector-text-link { color:#0c4c77; font-size:15px; line-height:1.6; font-weight:650; text-decoration:underline; text-decoration-color:#82a5bf; text-underline-offset:5px; }
.sector-text-link > span { display:inline; margin-left:6px; }
.sector-report-callout > a { flex-shrink:0; }
.sector-faq-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; }
.sector-faq-layout > div:first-child > p:not(.sector-eyebrow) { margin:20px 0; color:#526c84; font-size:17px; }
.sector-faq-list { border-top:1px solid #bdcfde; }
.sector-faq-list details { border-bottom:1px solid #bdcfde; padding:0; }
.sector-faq-list summary { cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; list-style:none; padding:22px 0; font-size:17px; line-height:1.5; font-weight:600; color:#153b5d; }
.sector-faq-list summary::-webkit-details-marker { display:none; }
.sector-faq-list summary::after { content:'+'; flex:0 0 18px; color:#087fa9; font-size:23px; line-height:1; }
.sector-faq-list details[open] summary::after { content:'−'; }
.sector-faq-list details > p { padding:0 34px 24px 0; font-size:16px; color:#526c84; }
.sector-close { padding:62px 0; color:#fff; background:linear-gradient(113deg,#082548,#0d3965); }
.sector-close-inner { display:flex; gap:30px; justify-content:space-between; align-items:center; }
.sector-close .sector-eyebrow { margin-bottom:16px; }
.sector-page .sector-close-copy > p:not(.sector-eyebrow) { margin-top:14px; color:#d8e7f3; font-size:20px; line-height:1.5; }
.sector-close-copy { flex:1; min-width:0; }
.sector-close .sector-actions { flex-shrink:0; }
.sector-close h2 { font-size:clamp(32px,2.6vw,44px); }
.hd-workflow-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,4vw,74px); align-items:stretch; }
.capacity-panel { border:1px solid #c5d9e8; border-radius:20px; padding:35px; background:#f0f7fb; }
.capacity-panel h3 { margin-top:15px; }
.capacity-panel > p:not(.illustration-overline):not(.sector-note) { margin-top:16px; color:#526c84; font-size:18px; }
.capacity-equation { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:28px 0; font-size:14px; color:#2b5879; font-weight:650; }
.capacity-equation > span:not([aria-hidden]) { padding:9px 14px; border:1px solid #bcd4e5; background:#fff; border-radius:6px; }
.hd-stages { padding:20px 0; }
.stage-list { list-style:none; padding:0; }
.stage-list li { display:flex; gap:22px; align-items:center; border-bottom:1px solid #d0e0ec; padding:21px 0; }
.stage-list li > span { color:#007fab; font-size:13px; font-weight:700; }
.stage-list strong { display:block; font:500 27px/1.2 var(--font-funnel); color:#173d5c; }
.stage-list small { display:block; font-size:14px; color:#647e94; margin-top:4px; }
.hd-stages .sector-note { margin-top:22px; }
.hd-intake-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.unit-details-panel,.outline-panel { padding:34px; border:1px solid #c5d9e8; border-radius:20px; background:#fff; }
.hd-intake-grid h3 { margin:15px 0 24px; }
.unit-details-panel dl { margin-bottom:22px; }
.unit-details-panel dl > div { display:grid; grid-template-columns:minmax(110px,.5fr) minmax(0,1fr); gap:14px; padding:14px 0; border-bottom:1px solid #dce6ee; }
.unit-details-panel dt { font-weight:650; font-size:15px; color:#194567; }
.unit-details-panel dd { margin:0; color:#587289; font-size:15px; }
.vehicle-types { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; list-style:none; padding:0; }
.vehicle-types li { padding:11px 0; border-bottom:1px solid #dce6ee; font-size:15px; color:#294f6f; }
.walkaround-note { margin-top:28px; padding-left:18px; border-left:3px solid #2b9ac8; }
.walkaround-note strong { color:#143e5e; font-size:16px; }
.walkaround-note p { margin-top:8px; color:#587289; font-size:16px; }
.incident-figure { overflow:hidden; border:1px solid #54748f; border-radius:20px; background:#f9fcfe; }
.incident-heading { padding:24px 32px; display:flex; justify-content:space-between; align-items:center; gap:24px; background:#e9f3f9; color:#113e60; }
.incident-heading strong { display:block; margin-top:9px; font:550 29px/1.2 var(--font-funnel); }
.incident-count { white-space:nowrap; padding:6px 12px; border:1px solid #b5cfdf; border-radius:6px; font-size:13px; }
.incident-members { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.incident-members > div { padding:28px 32px; }
.incident-members > div + div { border-left:1px solid #cbdce9; }
.incident-unit-line { display:flex; gap:15px; align-items:center; margin-bottom:18px; }
.incident-unit-line strong { display:block; color:#153f60; font-size:18px; }
.incident-unit-line > div > span { display:block; color:#667f93; font-size:13px; }
.incident-members dl > div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 20px; padding:10px 0; border-top:1px solid #dce6ee; font-size:15px; }
.incident-members dt { color:#6a8092; }
.incident-members dd { margin:0; color:#1a4767; font-weight:550; }
.incident-figure figcaption { padding:15px 32px; border-top:1px solid #dce6ee; background:#f0f6fa; }
.incident-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; margin-top:30px; }
.incident-notes strong { display:block; font-size:17px; color:#fff; }
.incident-notes span { display:block; margin-top:8px; color:#c5d8e7; font-size:16px; }
.sector-page .sector-cross-link { display:inline-block; margin-top:34px; }
.sector-page section[id] { scroll-margin-top:105px; }
@media(max-width:1320px) { .sector-close-inner { flex-direction:column; align-items:flex-start; gap:28px; } }
@media(max-width:1120px) {
  body.sector-site .site-footer .container { width:calc(100% - 48px); padding-inline:0; }
  .sector-page .container { width:calc(100% - 48px); max-width:1240px; padding-inline:0; }
  .sector-section { padding:68px 0; }
  .sector-split { grid-template-columns:1fr; gap:36px; }
  .sector-copy { max-width:none; }
  .sector-figure { max-width:820px; width:100%; }
  .sector-page .sector-hero { padding-top:58px; }
  .sector-page .sector-lead { max-width:none; }
  .sector-three-up { gap:24px; }
  .sector-cards .sector-detail { padding:24px; }
  .sector-faq-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:36px; }
}
@media(max-width:960px) {
  .sector-page h1 { font-size:46px; }
  .sector-page h2 { font-size:35px; line-height:1.12; }
  .sector-page h3 { font-size:25px; }
  .sector-three-up, .hd-workflow-grid { grid-template-columns:1fr; gap:28px; }
  .sector-detail { padding-top:22px; }
  .sector-detail > p { max-width:none; }
  .sector-index { margin-bottom:12px; }
  .sector-cards .sector-detail { padding:28px; }
  .sector-detail-foot { padding-top:16px; }
  .sector-faq-layout { grid-template-columns:1fr; gap:28px; }
  .po-flow > div { padding:23px; }
  .po-flow strong { font-size:24px; }
  .po-flow p { font-size:15px; }
  .hd-intake-grid { grid-template-columns:1fr; }
  .hd-stages { padding:0; }
  .sector-report-callout { align-items:flex-start; flex-direction:column; gap:20px; }
}
@media(max-width:600px) {
  .sector-page .container, body.sector-site .site-footer .container { width:calc(100% - 32px); padding-inline:0; }
  .sector-page h1 { font-size:39px; line-height:1.09; }
  .sector-page h2 { font-size:32px; }
  .sector-page .sector-hero { padding-top:44px; }
  .sector-page .sector-eyebrow { margin-bottom:17px; font-size:11px; }
  .sector-page .sector-lead { margin-top:21px; font-size:19px; line-height:1.6; }
  .sector-actions { gap:11px; }
  .sector-hero .sector-actions { margin-top:26px; flex-direction:column; align-items:flex-start; }
  .sector-page .sector-button { min-height:50px; font-size:15px; padding:12px 22px; }
  .sector-page .sector-hero-foot { margin-top:36px; gap:10px 22px; padding:21px 0; font-size:13px; }
  .sector-section { padding:52px 0; }
  .sector-page .sector-intro, .sector-section-heading > p:not(.sector-eyebrow) { font-size:18px; margin-top:19px; }
  .sector-page .sector-checks { font-size:16px; margin:22px 0; }
  .sector-page .sector-note { font-size:14px; }
  .sector-section-heading { margin-bottom:29px; }
  .illustration-top { padding:18px; gap:10px; }
  .illustration-status { font-size:10px; padding:4px 7px; }
  .portal-heading { padding:20px 18px 17px; }
  .portal-heading strong { font-size:23px; }
  .portal-row { margin:0 18px; grid-template-columns:1fr auto; gap:10px; padding:19px 0; }
  .portal-row > .unit-symbol { display:none; }
  .portal-row strong { font-size:15px; }
  .portal-docs { padding:18px; gap:9px 15px; }
  .sector-page figcaption { padding:12px 18px; font-size:10px; }
  .sector-detail > p { font-size:16px; margin-top:13px; }
  .po-flow { grid-template-columns:1fr; }
  .po-flow > div { padding:26px; }
  .po-flow > div + div { border-left:0; border-top:1px solid #56738e; }
  .po-flow strong { font-size:26px; }
  .po-number { margin-top:18px; font-size:18px; }
  .po-flow p { margin-top:18px; font-size:16px; }
  .sector-cards .sector-detail { padding:25px; }
  .sector-report-callout { margin-top:32px; }
  .sector-report-callout p:not(.sector-eyebrow) { font-size:16px; }
  .sector-faq-list summary { font-size:16px; }
  .sector-close { padding:48px 0; }
  .sector-page .sector-close-copy > p:not(.sector-eyebrow) { font-size:18px; }
  .capacity-panel, .unit-details-panel, .outline-panel { padding:25px; }
  .capacity-panel > p:not(.illustration-overline):not(.sector-note) { font-size:16px; }
  .unit-details-panel dl > div { grid-template-columns:1fr; gap:3px; }
  .vehicle-types { gap:0 14px; }
  .vehicle-types li { font-size:14px; }
  .incident-heading { padding:22px; flex-direction:column; align-items:flex-start; gap:14px; }
  .incident-heading strong { font-size:25px; }
  .incident-members { grid-template-columns:1fr; }
  .incident-members > div { padding:24px 22px; }
  .incident-members > div + div { border-left:0; border-top:1px solid #cbdce9; }
  .incident-unit-line strong { font-size:17px; }
  .incident-members dl > div { font-size:14px; }
  .incident-notes { grid-template-columns:1fr; gap:24px; }
}
@media(prefers-reduced-motion:reduce) { .sector-page .sector-button { transition:none; } }
