/* The original artwork is clipped to its photo/mark regions only.
   All editorial copy and callout cards are live HTML. */
.fleet-page .desk-slide{display:grid;grid-template-columns:52% 48%;background:#fff;container-type:inline-size;color:#0b2544}
.fleet-page .desk-photo{position:relative;margin:0;min-width:0;overflow:hidden}
.fleet-page .desk-photo-crop{position:absolute;inset:0 0 10%;background:url('../assets/header-desk-brandywine.png?v=20261102') left top / 100cqw auto no-repeat}
.fleet-page .desk-photo figcaption{position:absolute;bottom:0;inset-inline:0;height:10%;display:grid;place-items:center;background:#fff;font-size:1.55cqw;font-weight:600;text-align:center;padding:8px}
.fleet-page .desk-copy{padding:2.4cqw 2.3cqw 1.6cqw 1cqw;display:flex;flex-direction:column;justify-content:center;min-width:0}
.fleet-page .desk-brand{text-align:center;margin-bottom:1.7cqw}
.fleet-page .desk-brand-mark{display:block;width:11cqw;height:8cqw;margin:0 auto .7cqw;background:url('../assets/header-desk-brandywine.png?v=20261102') 80.7% 3.3% / 95cqw auto no-repeat}
.fleet-page .desk-brand p{font-size:2.6cqw;letter-spacing:.02em;line-height:1.1;margin:0;color:#777d80}
.fleet-page .desk-brand strong{color:#0b365b}
.fleet-page .desk-brand small{display:block;font-size:1.35cqw;margin-top:.5cqw}
.fleet-page .desk-copy h2{font-size:5.05cqw;line-height:1.03;letter-spacing:-.055em;margin:0 0 1.5cqw;color:#080d13;font-weight:800}
.fleet-page .desk-copy h2 span{color:#01519f}
.fleet-page .desk-subtitle{font-size:1.82cqw;font-weight:600;line-height:1.4;margin:0 0 1.8cqw}
.fleet-page .desk-cards{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:.65cqw;list-style:none;padding:0;margin:0 0 1.8cqw}
.fleet-page .desk-cards li{display:flex;align-items:center;gap:.65cqw;background:#e8f4fd;border:1px solid #d3eafb;border-radius:1.1cqw;padding:1cqw .7cqw;font-size:1.35cqw;line-height:1.25;font-weight:600;box-shadow:0 2px 6px #01519f0c}
.fleet-page .desk-slide .desk-cards img{width:3cqw;height:3cqw;object-fit:contain;flex-shrink:0}
.fleet-page .desk-platforms{text-align:right;font-size:1.45cqw;margin:1cqw 0 0}
@media(max-width:600px){
  .fleet-page .header-frame:has(.desk-slide.current){aspect-ratio:auto;height:auto}
  .fleet-page .desk-slide.current{position:relative}
  .fleet-page .desk-slide{grid-template-columns:1fr}
  .fleet-page .desk-copy{grid-row:1;padding:24px 18px 18px}
  .fleet-page .desk-brand{margin-bottom:20px}
  .fleet-page .desk-brand-mark{display:none}
  .fleet-page .desk-brand p{font-size:23px}
  .fleet-page .desk-brand small{font-size:11px;margin-top:5px}
  .fleet-page .desk-copy h2{font-size:clamp(32px,9.4cqw,55px);margin-bottom:12px}
  .fleet-page .desk-subtitle{font-size:15px;margin-bottom:18px}
  .fleet-page .desk-cards{gap:7px;margin-bottom:16px}
  .fleet-page .desk-cards li{flex-direction:column;align-items:flex-start;padding:10px 8px;border-radius:10px;font-size:12px;gap:8px}
  .fleet-page .desk-slide .desk-cards img{width:27px;height:27px}
  .fleet-page .desk-platforms{font-size:12px;margin:0}
  .fleet-page .desk-photo{height:112cqw}
  .fleet-page .desk-photo-crop{background-size:192.3cqw auto}
  .fleet-page .desk-photo figcaption{font-size:13px}
}

/* Shared callout rhythm: full-width rows, natural wrapping, equal padding. */
.fleet-page .desk-cards{grid-template-columns:1fr;gap:.7cqw;margin-bottom:1.4cqw}
.fleet-page .desk-cards li{padding:.85cqw 1.25cqw;gap:1cqw;font-size:1.5cqw;line-height:1.35}
.fleet-page .desk-slide .desk-cards img{width:2.5cqw;height:2.5cqw}
.fleet-page .desk-slide .desk-brand{margin-bottom:1cqw}
.fleet-page .desk-slide .desk-brand-mark{height:7.5cqw}
.fleet-page .story-slide{display:grid;grid-template-columns:46% 54%;background:#fff;container-type:inline-size;color:#0b2544}
.fleet-page .story-photo{min-width:0;background-repeat:no-repeat;background-size:auto 100%;background-position:left center}
.fleet-page .story-slide .desk-copy{padding:3cqw 2.5cqw;gap:0}
.fleet-page .story-slide .desk-brand{margin-bottom:3cqw}
.fleet-page .story-slide h2{font-size:4.2cqw;line-height:1.08;margin-bottom:1.8cqw}
.fleet-page .story-slide .desk-subtitle{font-size:1.8cqw;line-height:1.45;margin-bottom:2.5cqw}
.fleet-page .story-cards{list-style:none;padding:0;margin:0;display:grid;gap:1cqw}
.fleet-page .story-cards li{display:flex;align-items:center;gap:1cqw;padding:1.25cqw;background:#edf6fd;border:1px solid #d3eafb;border-radius:1.1cqw;box-shadow:0 3px 10px #01519f0c;font-size:1.55cqw;line-height:1.4;font-weight:600}
.fleet-page .story-cards span{flex:1;min-width:0}
.fleet-page .story-slide .story-cards img{width:2.8cqw;height:2.8cqw;object-fit:contain;flex-shrink:0}
.fleet-page .story-slide .story-cards .voice-wave{width:3cqw}
.fleet-page .story-slide .desk-platforms{margin:2cqw 0 0;font-size:1.4cqw;text-align:left}
.fleet-page .story-airport .story-photo{background-image:url('../assets/header-airport-brandywine.png?v=20261102')}
.fleet-page .story-healthcare{grid-template-columns:56% 44%}
.fleet-page .story-healthcare .story-photo{background-image:url('../assets/header-healthcare-brandywine.png?v=20261102')}
.fleet-page .story-trades,.fleet-page .story-visiting-nurse{grid-template-columns:44% 56%}
.fleet-page .story-tablet-wide{grid-template-columns:50% 50%}
.fleet-page .story-trades .story-photo,.fleet-page .story-tablet-wide .story-photo,.fleet-page .story-visiting-nurse .story-photo{grid-column:2;grid-row:1;background-position:right center}
.fleet-page .story-trades .desk-copy,.fleet-page .story-tablet-wide .desk-copy,.fleet-page .story-visiting-nurse .desk-copy{grid-column:1;grid-row:1}
.fleet-page .story-trades .story-photo{background-image:url('../assets/header-trades-brandywine.png?v=20261102')}
.fleet-page .story-tablet-wide .story-photo{background-image:url('../assets/header-tablet-wide-brandywine.png?v=20261102')}
.fleet-page .story-visiting-nurse .story-photo{background-image:url('../assets/header-visiting-nurse-brandywine.png?v=20261102')}
@media(max-width:600px){
  /* Hidden slides retain their grid footprint so autoplay never shifts the page. */
  .fleet-page .header-frame,.fleet-page .header-frame:has(.desk-slide.current){display:grid;aspect-ratio:auto;height:auto}
  .fleet-page .header-panel,.fleet-page .desk-slide.current{position:relative;inset:auto;grid-area:1 / 1;min-width:0}
  .fleet-page .desk-slide,.fleet-page .story-slide{grid-template-columns:1fr;grid-template-rows:auto 112cqw;align-content:start}
  .fleet-page .desk-copy,.fleet-page .story-slide .desk-copy{grid-column:1;grid-row:1;padding:24px 18px 18px}
  .fleet-page .desk-photo,.fleet-page .story-slide .story-photo{grid-column:1;grid-row:2;height:112cqw}
  .fleet-page .story-slide .desk-brand,.fleet-page .desk-slide .desk-brand{margin-bottom:20px}
  .fleet-page .story-slide h2{font-size:clamp(29px,8.5cqw,51px);margin-bottom:12px}
  .fleet-page .story-slide .desk-subtitle{font-size:15px;margin-bottom:18px}
  .fleet-page .desk-cards,.fleet-page .story-cards{gap:8px;margin-bottom:16px}
  .fleet-page .desk-cards li,.fleet-page .story-cards li{flex-direction:row;align-items:center;padding:12px;gap:10px;font-size:14px;line-height:1.4;border-radius:10px}
  .fleet-page .desk-slide .desk-cards img,.fleet-page .story-slide .story-cards img{width:26px;height:26px}
  .fleet-page .story-slide .story-cards .voice-wave{width:26px}
  .fleet-page .story-slide .desk-platforms{font-size:12px;margin:0}
  .fleet-page .story-slide .story-photo{background-size:224cqw auto}
  .fleet-page .story-airport .story-photo{background-size:220cqw auto}
  .fleet-page .story-healthcare .story-photo{background-size:190cqw auto}
}

/* Fit the entire carousel (including controls) into the initial viewport.
   JS measures the actual header and controls; svh accounts for mobile browser UI. */
.fleet-page .header-carousel{--slider-chrome-height:200px;--slider-frame-height:max(120px,calc(100svh - var(--slider-chrome-height)))}
.fleet-page .header-frame{width:min(100%,1120px,calc(var(--slider-frame-height) * 2.1));margin-inline:auto}
.fleet-page .header-controls{max-width:min(1120px,calc(var(--slider-frame-height) * 2.1));margin-inline:auto}
@media(max-width:600px){
  .fleet-page .header-carousel{padding-top:12px}
  .fleet-page .header-frame,.fleet-page .header-frame:has(.desk-slide.current){width:100%;height:var(--slider-frame-height);display:block}
  .fleet-page .header-controls{max-width:none;padding-block:10px;gap:8px}
  .fleet-page .header-status{font-size:10px}
  .fleet-page .header-panel,.fleet-page .desk-slide.current{position:absolute;inset:0;height:100%}
  .fleet-page .desk-slide,.fleet-page .story-slide{grid-template-rows:minmax(0,auto) minmax(0,1fr);align-content:stretch}
  .fleet-page .desk-copy,.fleet-page .story-slide .desk-copy{padding:14px 16px;min-height:0;overflow-y:auto;justify-content:flex-start}
  .fleet-page .desk-slide .desk-brand,.fleet-page .story-slide .desk-brand{margin-bottom:10px}
  .fleet-page .desk-brand p{font-size:19px}
  .fleet-page .desk-brand small{font-size:10px;margin-top:3px}
  .fleet-page .desk-copy h2,.fleet-page .story-slide h2{font-size:clamp(26px,7.5cqw,38px);margin-bottom:8px}
  .fleet-page .desk-subtitle,.fleet-page .story-slide .desk-subtitle{font-size:13px;line-height:1.35;margin-bottom:10px}
  .fleet-page .desk-cards,.fleet-page .story-cards{gap:6px;margin-bottom:10px}
  .fleet-page .desk-cards li,.fleet-page .story-cards li{padding:8px 10px;font-size:12px;gap:8px}
  .fleet-page .desk-slide .desk-cards img,.fleet-page .story-slide .story-cards img,.fleet-page .story-slide .story-cards .voice-wave{width:22px;height:22px}
  .fleet-page .desk-platforms,.fleet-page .story-slide .desk-platforms{font-size:11px}
  .fleet-page .desk-photo,.fleet-page .story-slide .story-photo{height:auto;min-height:0}
  .fleet-page .desk-photo-crop{inset:0 0 24px;background-position:left 22%}
  .fleet-page .desk-photo figcaption{height:24px;padding:4px;font-size:11px}
  .fleet-page .story-slide .story-photo{background-position-y:22%}
}
@media(max-width:600px) and (max-height:650px){
  /* Keep copy readable on short screens; allow scrolling instead of clipping. */
  .fleet-page .desk-slide,.fleet-page .story-slide{grid-template-rows:minmax(0,1fr) 20%}
  .fleet-page .desk-brand{display:none}
}

/* Fill each photo container while keeping the original editorial text outside the crop. */
.fleet-page .story-photo,.fleet-page .desk-photo-crop{container-type:size;display:grid;place-items:center;background-image:none!important;background-color:#edf4f9}
.fleet-page .hero-photo-window{display:block;width:100%;height:100%;background-image:var(--photo-source);background-size:max(var(--photo-scale),140cqh) auto;background-position:var(--photo-side,left) center;background-repeat:no-repeat}
.fleet-page .desk-photo-crop .hero-photo-window{background-size:max(var(--photo-scale),157.9cqh) auto;background-position:left top}
.fleet-page .desk-photo-crop{--photo-ratio:.821;--photo-scale:192.3%;--photo-source:url('../assets/header-desk-brandywine.png?v=20261102')}
.fleet-page .story-airport .story-photo{--photo-ratio:.644;--photo-scale:217.4%;--photo-source:url('../assets/header-airport-brandywine.png?v=20261102')}
.fleet-page .story-healthcare .story-photo{--photo-ratio:.784;--photo-scale:178.57%;--photo-source:url('../assets/header-healthcare-brandywine.png?v=20261102')}
.fleet-page .story-trades .story-photo{--photo-ratio:.784;--photo-scale:178.57%;--photo-side:right;--photo-source:url('../assets/header-trades-brandywine.png?v=20261102')}
.fleet-page .story-tablet-wide .story-photo{--photo-ratio:.7;--photo-scale:200%;--photo-side:right;--photo-source:url('../assets/header-tablet-wide-brandywine.png?v=20261102')}
.fleet-page .story-visiting-nurse .story-photo{--photo-ratio:.784;--photo-scale:178.57%;--photo-side:right;--photo-source:url('../assets/header-visiting-nurse-brandywine.png?v=20261102')}
@media(min-width:601px){
  .fleet-page .header-frame{aspect-ratio:2.1 / 1}
  .fleet-page .desk-copy,.fleet-page .story-slide .desk-copy{padding:1.5cqw 2.5cqw}
  .fleet-page .desk-slide .desk-brand,.fleet-page .story-slide .desk-brand{margin-bottom:1cqw}
  .fleet-page .desk-brand-mark,.fleet-page .desk-slide .desk-brand-mark{width:7cqw;height:5cqw;background-size:60cqw auto;margin-bottom:.3cqw}
  .fleet-page .desk-brand p{font-size:1.8cqw}
  .fleet-page .desk-brand small{font-size:1cqw;margin-top:.3cqw}
  .fleet-page .desk-copy h2,.fleet-page .story-slide h2{font-size:3.6cqw;margin-bottom:1cqw}
  .fleet-page .desk-subtitle,.fleet-page .story-slide .desk-subtitle{font-size:1.35cqw;margin-bottom:1.2cqw}
  .fleet-page .desk-cards,.fleet-page .story-cards{gap:.6cqw;margin-bottom:1cqw}
  .fleet-page .desk-cards li,.fleet-page .story-cards li{font-size:1.2cqw;padding:.7cqw 1cqw}
  .fleet-page .desk-slide .desk-cards img,.fleet-page .story-slide .story-cards img{width:2cqw;height:2cqw}
  .fleet-page .desk-platforms,.fleet-page .story-slide .desk-platforms{font-size:1.1cqw;margin-top:.7cqw}
  .fleet-page .desk-photo-crop{inset:0 0 6%}
  .fleet-page .desk-photo figcaption{height:6%;font-size:1.1cqw}
}
@media(max-width:600px){
  .fleet-page .desk-slide,.fleet-page .story-slide{grid-template-rows:minmax(0,3fr) minmax(0,2fr)}
  .fleet-page .desk-slide .desk-brand,.fleet-page .story-slide .desk-brand{display:none}
  .fleet-page .desk-copy,.fleet-page .story-slide .desk-copy{padding:10px 14px}
  .fleet-page .desk-copy h2,.fleet-page .story-slide h2{font-size:clamp(24px,7cqw,32px);margin-bottom:6px}
  .fleet-page .desk-subtitle,.fleet-page .story-slide .desk-subtitle{margin-bottom:8px}
  .fleet-page .desk-cards,.fleet-page .story-cards{gap:5px;margin-bottom:8px}
  .fleet-page .desk-cards li,.fleet-page .story-cards li{padding:7px 10px}
}

/* Match the photo columns to the source photos' portrait proportions. */
@media(min-width:601px){
  .fleet-page .desk-slide,.fleet-page .story-healthcare{grid-template-columns:37% 63%}
  .fleet-page .story-airport{grid-template-columns:31% 69%}
  .fleet-page .story-trades,.fleet-page .story-visiting-nurse{grid-template-columns:63% 37%}
  .fleet-page .story-tablet-wide{grid-template-columns:67% 33%}
}
@media(max-width:600px){
  /* Allow a taller mobile carousel; all slides share the largest content height
     so changing slides does not move the controls or the following section. */
  .fleet-page .header-frame,.fleet-page .header-frame:has(.desk-slide.current){display:grid;height:auto;aspect-ratio:auto}
  .fleet-page .header-panel,.fleet-page .desk-slide.current{position:relative;inset:auto;grid-area:1 / 1;height:auto}
  .fleet-page .desk-slide,.fleet-page .story-slide{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 135cqw}
  .fleet-page .desk-copy,.fleet-page .story-slide .desk-copy{padding:18px 16px;overflow:visible}
  .fleet-page .desk-cards li,.fleet-page .story-cards li{font-size:14px;padding:10px 12px;line-height:1.4}
  .fleet-page .desk-cards,.fleet-page .story-cards{gap:7px;margin-bottom:12px}
  .fleet-page .desk-subtitle,.fleet-page .story-slide .desk-subtitle{font-size:14px;margin-bottom:12px}
  .fleet-page .desk-photo,.fleet-page .story-slide .story-photo{height:100%;min-height:0}
}

/* Keep callouts compact and consistently sized on wide displays. */
.fleet-page .story-cards{width:min(100%,28rem);align-self:flex-start}
.fleet-page .desk-cards{width:min(100%,28rem);align-self:flex-start}

/* Mobile: layer live copy over a full-height photo instead of stacking it. */
@media(max-width:600px){
  .fleet-page .desk-slide,.fleet-page .story-slide{grid-template-rows:1fr;isolation:isolate}
  .fleet-page .desk-photo,.fleet-page .story-slide .story-photo{position:absolute;inset:0;grid-area:auto;width:100%;height:100%;z-index:0}
  .fleet-page .desk-photo-crop{inset:0}
  .fleet-page .desk-slide::before,.fleet-page .story-slide::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.18) 24%,rgba(255,255,255,.88) 48%,rgba(255,255,255,.96) 100%)}
  .fleet-page .desk-copy,.fleet-page .story-slide .desk-copy{position:relative;z-index:2;grid-area:1 / 1;min-height:max(135cqw,520px);padding:45cqw 18px 22px;justify-content:flex-end}
  .fleet-page .desk-slide .desk-copy{padding-bottom:46px}
  .fleet-page .desk-cards li,.fleet-page .story-cards li{background:rgba(245,250,255,.96);border-color:#c9dff0;box-shadow:0 3px 12px #12345110}
  .fleet-page .desk-photo{overflow:visible;z-index:auto}
  .fleet-page .desk-photo figcaption{bottom:10px;height:auto;padding:0 18px;background:transparent;text-align:left;display:block;color:#0b2544;z-index:3}
  .fleet-page .desk-platforms,.fleet-page .story-slide .desk-platforms{text-align:left;color:#0b2544}
}

/* One centered information column under the logo, with left-aligned copy. */
.fleet-page .slide-info{display:flex;flex-direction:column;width:min(100%,28rem);min-width:0;margin-inline:auto;text-align:left}
.fleet-page .desk-slide .slide-info{width:min(100%,28rem)}
.fleet-page .slide-info .story-cards,.fleet-page .slide-info .desk-cards{width:100%;align-self:stretch}
.fleet-page .slide-info .desk-platforms{text-align:left}
@media(max-width:600px){
  .fleet-page .slide-info,.fleet-page .desk-slide .slide-info{width:min(100%,28rem)}
}

/* A consistent photo width and information width throughout the carousel. */
@media(min-width:601px){
  .fleet-page .desk-slide,.fleet-page .story-airport,.fleet-page .story-healthcare{grid-template-columns:35% 65%}
  .fleet-page .story-trades,.fleet-page .story-tablet-wide,.fleet-page .story-visiting-nurse{grid-template-columns:65% 35%}
}
@media(max-width:600px){
  /* A less elongated background reveals more of the original photo width. */
  .fleet-page .desk-copy,.fleet-page .story-slide .desk-copy{min-height:max(125cqw,460px);padding-top:36cqw}
}
