.nb-fleet-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin:0 0 28px; }
.nb-fleet-heading h1 { color:#f4eedb; margin:0; font:700 clamp(34px,4vw,52px)/1.15 Georgia,serif; letter-spacing:-.03em; }
.nb-fleet-heading .nb-page-label { color:#e9cc85; order:2; }
.nb-fleet-content { color:#193f2e; font:400 16px/1.85 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.nb-fleet-content *, .nb-fleet-content *::before, .nb-fleet-content *::after { box-sizing:border-box; }
.nb-fleet-content > *, .nb-fleet-content .wp-block-group > * { max-width:none; margin-block-start:0; margin-block-end:0; }
.nb-fleet-content p, .nb-fleet-content figure { margin:0; }
.nb-fleet-content h2, .nb-fleet-content h3 { color:#173f2e; margin:0; text-wrap:balance; }
.nb-fleet-content .nb-fleet-eyebrow { font-size:11px; font-weight:750; line-height:1.5; text-transform:uppercase; letter-spacing:.14em; color:#516a48; margin-bottom:20px; }
.nb-fleet-content .nb-fleet-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:52px; padding:clamp(28px,4.2vw,54px); background:#dce5d3; border-top:3px solid #dfb85e; border-radius:3px 3px 14px 14px; }
.nb-fleet-content .nb-fleet-headline { max-width:10ch; font:750 clamp(37px,4.1vw,58px)/1.08 Georgia,serif; letter-spacing:-.045em; }
.nb-fleet-content .nb-fleet-intro-copy { border-left:1px solid #acba9e; padding-left:42px; }
.nb-fleet-content .nb-fleet-intro-copy p { color:#38533c; font-size:15px; }
.nb-fleet-content .nb-fleet-intro-copy .nb-fleet-lead { font-size:17px; color:#193f2e; margin-bottom:19px; line-height:1.8; }
.nb-fleet-content .nb-fleet-media { margin-top:30px; padding:22px; border:1px solid #859663; border-radius:14px; background:#123f2f; overflow:hidden; }
.nb-fleet-content .nb-fleet-media > .nb-fleet-eyebrow { color:#e2c783; margin:0 0 18px; }
.nb-fleet-content .nb-fleet-photo { width:100%; }
.nb-fleet-content .nb-fleet-photo img { display:block; width:100%; height:auto; max-height:800px; object-fit:contain; border-radius:8px; background:#0d3428; }
.nb-fleet-content .nb-fleet-photo figcaption { color:#dbe4ce; font-size:13px; line-height:1.65; margin:16px 0 0; text-align:center; }
.nb-fleet-content .nb-fleet-photo-empty { min-height:265px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:15px; border:1px dashed #77915e; border-radius:8px; padding:25px; text-align:center; color:#d8e2cb; background:linear-gradient(135deg,#194c36,#0b3329); }
.nb-fleet-content .nb-fleet-photo-mark { display:block; font-size:35px; color:#d8bd75; line-height:1.2; }
.nb-fleet-content .nb-fleet-photo-empty a { color:#edce80; min-height:44px; display:inline-flex; align-items:center; text-underline-offset:5px; }
.nb-fleet-content .nb-fleet-directory { margin-top:45px; }
.nb-fleet-content .nb-fleet-directory > .nb-fleet-eyebrow { color:#e1c780; margin-bottom:12px; }
.nb-fleet-content .nb-fleet-directory > h2 { color:#f1e7cc; font:700 clamp(28px,3vw,40px)/1.2 Georgia,serif; letter-spacing:-.025em; }
.nb-fleet-content .nb-fleet-directory-lead { color:#cddcc0; margin:16px 0 29px; }
.nb-fleet-content .nb-fleet-routes { display:grid; gap:17px; }
.nb-fleet-content .nb-fleet-route { position:relative; display:grid; grid-template-columns:64px minmax(0,1fr); align-items:center; gap:28px; border:1px solid #8da271; border-radius:12px; padding:30px 96px 30px 32px; background:#dce5d3; transition:background-color .15s,border-color .15s; }
.nb-fleet-content .nb-fleet-route-number { align-self:stretch; display:flex; align-items:center; justify-content:center; border-right:1px solid #a9ba98; color:#58744c; font:400 35px/1 Georgia,serif; padding-right:24px; }
.nb-fleet-content .nb-fleet-route-label { color:#526b46; font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.14em; line-height:1.5; margin-bottom:9px; }
.nb-fleet-content .nb-fleet-route h3 { font:700 clamp(24px,2.8vw,32px)/1.2 Georgia,serif; margin-bottom:12px; letter-spacing:-.02em; }
.nb-fleet-content .nb-fleet-route h3 a { color:inherit; text-decoration:none; }
.nb-fleet-content .nb-fleet-route-description { color:#405a3d; max-width:75ch; font-size:14px; line-height:1.8; }
.nb-fleet-content .nb-fleet-route-planned { background:#c7d7bb; }
.nb-fleet-content .nb-fleet-route-wanted { background:#194b36; border-color:#748d59; }
.nb-fleet-content .nb-fleet-route-wanted h3 { color:#f1e7cc; }
.nb-fleet-content .nb-fleet-route-wanted .nb-fleet-route-label { color:#e0c27a; }
.nb-fleet-content .nb-fleet-route-wanted .nb-fleet-route-description { color:#d5dfc8; }
.nb-fleet-content .nb-fleet-route-wanted .nb-fleet-route-number { color:#dbbd75; border-color:#6a8156; }
.nb-site .nb-fleet-route h3 a::after { content:""; position:absolute; inset:0; border-radius:11px; }
.nb-site .nb-fleet-route h3 a::before { content:"→"; position:absolute; right:28px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:44px; height:44px; border:1px solid #99ad81; border-radius:50%; font:400 25px/1 sans-serif; }
.nb-site .nb-fleet-route:hover { background:#e5ebdd; border-color:#e1bf68; }
.nb-site .nb-fleet-route-wanted:hover { background:#245d40; }
.nb-site .nb-fleet-route h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.nb-site .nb-fleet-route h3 a:focus-visible { outline:0; }
.nb-site .nb-fleet-route h3 a:focus-visible::after { outline:3px solid #efb83e; outline-offset:4px; }
.nb-fleet-edit { margin-top:25px; color:#dbe4ce; font-size:13px; }
.nb-fleet .nb-panel { background:#dce5d3; }
.editor-styles-wrapper .nb-fleet-directory { background:#123f2f; padding:25px; border-radius:12px; }
.editor-styles-wrapper .nb-fleet-route { padding-right:32px; }
/* Show upload controls before the empty image block is selected. */
.editor-styles-wrapper .nb-fleet-content .nb-fleet-photo .components-placeholder { background:#dce5d3 !important; color:#193f2e; border:1px dashed #92a77e; border-radius:8px; }
.editor-styles-wrapper .nb-fleet-photo .components-placeholder__label,
.editor-styles-wrapper .nb-fleet-photo .components-placeholder__instructions,
.editor-styles-wrapper .nb-fleet-photo .components-placeholder__fieldset,
.editor-styles-wrapper .nb-fleet-photo .components-placeholder .components-button { opacity:1 !important; }
@media(prefers-reduced-motion:reduce) { .nb-fleet-content .nb-fleet-route { transition:none; } }
@media(max-width:1000px) {
 .nb-fleet-content .nb-fleet-intro { gap:30px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
 .nb-fleet-content .nb-fleet-intro-copy { padding-left:30px; }
}
@media(max-width:700px) {
 .nb-fleet-heading .nb-page-label { font-size:9px; letter-spacing:.08em; }
 .nb-fleet-content .nb-fleet-intro { grid-template-columns:minmax(0,1fr); padding:29px 24px; gap:26px; }
 .nb-fleet-content .nb-fleet-headline { font-size:clamp(36px,10vw,48px); max-width:11ch; }
 .nb-fleet-content .nb-fleet-intro-copy { border-left:0; border-top:1px solid #acba9e; padding:23px 0 0; }
 .nb-fleet-content .nb-fleet-intro-copy .nb-fleet-lead { font-size:16px; }
 .nb-fleet-content .nb-fleet-media { padding:16px; margin-top:20px; }
 .nb-fleet-content .nb-fleet-photo-empty { min-height:200px; padding:20px; font-size:14px; }
 .nb-fleet-content .nb-fleet-directory { margin-top:34px; }
 .nb-fleet-content .nb-fleet-directory-lead { font-size:14px; }
 .nb-fleet-content .nb-fleet-route { grid-template-columns:minmax(0,1fr); gap:20px; padding:25px 24px; }
 .nb-fleet-content .nb-fleet-route-number { justify-content:flex-start; border:0; padding:0; font-size:28px; }
 .nb-site .nb-fleet-route h3 a::before { top:18px; right:18px; transform:none; width:39px; height:39px; font-size:22px; }
 .nb-fleet-content .nb-fleet-route h3 { font-size:27px; }
}
