/* Bus World homepage Fleet Overview section. */
.bw-fleet-overview{
    position:relative;
    padding:var(--bw-fo-desktop-top,64px) 0 var(--bw-fo-desktop-bottom,64px);
    overflow:hidden;
    background:#fffaf6;
    color:#080808;
    font-family:var(--font-interface);
}

.bw-fleet-overview::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 12% 8%,rgba(243,1,1,.025),transparent 30%),
        linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,0));
}

.bw-fleet-overview .bw-shell{position:relative;z-index:1}

.bw-fleet-overview__layout{
    display:grid;
    grid-template-columns:minmax(280px,29%) minmax(0,71%);
    align-items:start;
    gap:clamp(24px,2.6vw,42px);
}

.bw-fleet-overview__navigation{min-width:0;padding-top:2px}

.bw-fleet-overview__eyebrow{
    display:flex;
    align-items:center;
    gap:11px;
    margin:0 0 12px;
    color:#F30101;
    font-size:clamp(10px,.72vw,12px);
    font-weight:700;
    line-height:1.3;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.bw-fleet-overview__eyebrow span{
    width:28px;
    height:2px;
    flex:0 0 auto;
    background:#F30101;
}

.bw-fleet-overview__title{
    margin:0;
    color:#11151c;
    font-family:var(--font-display);
    font-size:clamp(38px,3.35vw,58px);
    font-style:normal;
    font-weight:600;
    line-height:.98;
    letter-spacing:-.032em;
}

.bw-fleet-overview__title span{display:block}

.bw-fleet-overview__paragraph{
    max-width:440px;
    margin:20px 0 0;
    color:rgba(0,0,0,.68);
    font-size:clamp(12px,.87vw,14px);
    line-height:1.68;
}

.bw-fleet-overview__tabs{
    display:grid;
    margin-top:28px;
    border:1px solid rgba(0,0,0,.12);
    background:#fff;
}

.bw-fleet-overview__tab-row{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 38px;
    min-height:76px;
    border-bottom:1px solid rgba(0,0,0,.10);
    background:#fff;
    color:#141414;
    transition:background-color 180ms ease,color 180ms ease;
}

.bw-fleet-overview__tab-row:last-child{border-bottom:0}

.bw-fleet-overview__tab-row.is-active{
    background:#F30101;
    color:#fff;
}

.bw-fleet-overview__tab-row.is-active::after{
    content:"";
    position:absolute;
    top:50%;
    right:-13px;
    width:0;
    height:0;
    border-top:13px solid transparent;
    border-bottom:13px solid transparent;
    border-left:13px solid #F30101;
    transform:translateY(-50%);
    z-index:2;
}

.bw-fleet-overview__tab{
    min-width:0;
    display:grid;
    grid-template-columns:56px 48px minmax(0,1fr);
    align-items:center;
    gap:12px;
    padding:10px 8px 10px 18px;
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    text-align:left;
    cursor:pointer;
}

.bw-fleet-overview__tab-number{
    padding-right:14px;
    border-right:1px solid currentColor;
    color:#F30101;
    font-family:var(--font-display);
    font-size:clamp(28px,2vw,36px);
    font-weight:500;
    line-height:1;
    opacity:.9;
}

.bw-fleet-overview__tab-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    color:#F30101;
}

.bw-fleet-overview__tab-icon svg{
    width:38px;
    height:38px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.bw-fleet-overview__tab-label{
    min-width:0;
    font-family:var(--font-display);
    font-size:clamp(20px,1.45vw,27px);
    font-weight:600;
    line-height:1.08;
}

.bw-fleet-overview__tab-row.is-active .bw-fleet-overview__tab-number,
.bw-fleet-overview__tab-row.is-active .bw-fleet-overview__tab-icon{color:#fff}

.bw-fleet-overview__tab-link{
    display:grid;
    place-items:center;
    border-left:1px solid rgba(0,0,0,.1);
    color:#F30101;
    text-decoration:none;
}

.bw-fleet-overview__tab-row.is-active .bw-fleet-overview__tab-link{
    border-left-color:rgba(255,255,255,.24);
    color:#fff;
}

.bw-fleet-overview__tab-link svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform 180ms ease;
}

.bw-fleet-overview__tab-link:hover svg{transform:translateX(3px)}

.bw-fleet-overview__tab:focus-visible,
.bw-fleet-overview__tab-link:focus-visible,
.bw-fleet-overview__hero:focus-visible,
.bw-fleet-overview__vehicle-link:focus-visible,
.bw-fleet-overview__view-all:focus-visible,
.bw-fleet-overview__cta:focus-visible{
    outline:3px solid #F30101;
    outline-offset:3px;
}

.bw-fleet-overview__tab-row.is-active .bw-fleet-overview__tab:focus-visible,
.bw-fleet-overview__tab-row.is-active .bw-fleet-overview__tab-link:focus-visible{
    outline-color:#fff;
    outline-offset:-4px;
}

.bw-fleet-overview__view-all{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:24px;
    padding:8px 0 9px;
    color:#F30101;
    font-family:var(--font-display);
    font-size:clamp(17px,1.2vw,21px);
    font-weight:600;
    text-decoration:none;
}

.bw-fleet-overview__view-all::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:2px;
    height:1px;
    background:#F30101;
    transform-origin:left;
    transition:transform 180ms ease;
}

.bw-fleet-overview__view-all:hover::after{transform:scaleX(.72)}

.bw-fleet-overview__view-all svg,
.bw-fleet-overview__cta svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform 180ms ease;
}

.bw-fleet-overview__view-all:hover svg,
.bw-fleet-overview__cta:hover svg{transform:translateX(4px)}

.bw-fleet-overview__panels{
    min-width:0;
    border:1px solid rgba(0,0,0,.11);
    background:#fff;
}

.bw-fleet-overview__panel{
    min-width:0;
    animation:bwFleetOverviewIn 320ms ease both;
}

.bw-fleet-overview__panel[hidden]{display:none!important}

@keyframes bwFleetOverviewIn{
    from{opacity:0;transform:translateY(8px)}
    to{opacity:1;transform:translateY(0)}
}

.bw-fleet-overview__hero{
    position:relative;
    display:block;
    overflow:hidden;
    height:clamp(270px,20vw,320px);
    background:#f4f4f4;
    color:#fff;
    text-decoration:none;
}

.bw-fleet-overview__hero-picture,
.bw-fleet-overview__hero-picture img{
    width:100%;
    height:100%;
    display:block;
}

.bw-fleet-overview__hero-picture img{
    object-fit:cover;
    object-position:var(--bw-fo-object-position,center center);
    transform:scale(1.001);
    transition:transform 300ms cubic-bezier(.2,.7,.2,1);
}

.bw-fleet-overview__hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:38%;
    background:linear-gradient(180deg,transparent,rgba(0,0,0,.38));
    pointer-events:none;
}

.bw-fleet-overview__hero:hover .bw-fleet-overview__hero-picture img{transform:scale(1.012)}

.bw-fleet-overview__hero-link{
    position:absolute;
    right:18px;
    bottom:15px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    background:rgba(0,0,0,.54);
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
    backdrop-filter:blur(4px);
}

.bw-fleet-overview__summary{
    display:grid;
    grid-template-columns:.8fr .8fr 1.6fr;
    min-height:82px;
    border-bottom:1px solid rgba(0,0,0,.10);
}

.bw-fleet-overview__summary-item{
    min-width:0;
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-items:center;
    gap:12px;
    padding:14px clamp(14px,1.2vw,20px);
    border-right:1px solid rgba(0,0,0,.10);
}

.bw-fleet-overview__summary-item:last-child{border-right:0}

.bw-fleet-overview__summary-icon{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(243,1,1,.045);
    color:#F30101;
}

.bw-fleet-overview__summary-icon svg{
    width:30px;
    height:30px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.bw-fleet-overview__summary-item small,
.bw-fleet-overview__summary-item strong{display:block}

.bw-fleet-overview__summary-item small{
    margin-bottom:4px;
    color:#F30101;
    font-size:9px;
    font-weight:700;
    line-height:1.25;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.bw-fleet-overview__summary-item strong{
    color:#171717;
    font-family:var(--font-display);
    font-size:clamp(18px,1.25vw,23px);
    font-weight:600;
    line-height:1.13;
}

.bw-fleet-overview__summary-item--wide strong{
    font-family:var(--font-interface);
    font-size:clamp(11px,.83vw,13px);
    font-weight:500;
    line-height:1.45;
}

.bw-fleet-overview__vehicles-head{
    display:flex;
    align-items:center;
    gap:12px;
    padding:17px 18px 10px;
    color:#F30101;
    font-size:10px;
    font-weight:700;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.bw-fleet-overview__vehicles-head i{
    width:62px;
    height:1px;
    background:#F30101;
    opacity:.7;
}

.bw-fleet-overview__vehicles{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:0;
    padding:0 16px 14px;
    list-style:none;
}

.bw-fleet-overview__vehicle{
    min-width:0;
    border:1px solid rgba(0,0,0,.10);
    background:#fffaf6;
}

.bw-fleet-overview__vehicle-link{
    height:100%;
    display:flex;
    flex-direction:column;
    color:#121212;
    text-align:center;
    text-decoration:none;
    transition:border-color 180ms ease,color 180ms ease,transform 180ms ease;
}

.bw-fleet-overview__vehicle-picture{
    height:94px;
    display:block;
    overflow:hidden;
}

.bw-fleet-overview__vehicle-picture img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    transition:transform 220ms ease;
}

.bw-fleet-overview__vehicle-name{
    min-height:40px;
    display:grid;
    place-items:center;
    padding:6px 8px 8px;
    font-family:var(--font-display);
    font-size:clamp(13px,.92vw,16px);
    font-weight:600;
    line-height:1.15;
}

.bw-fleet-overview__vehicle-link:hover{color:#F30101}
.bw-fleet-overview__vehicle-link:hover img{transform:scale(1.012)}

.bw-fleet-overview__cta{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin:0 18px 18px;
    padding:8px 0 9px;
    color:#F30101;
    font-size:clamp(13px,1vw,16px);
    font-weight:700;
    text-decoration:none;
}

.bw-fleet-overview__cta::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:2px;
    height:1px;
    background:#F30101;
}

@media (max-width:1199px){
    .bw-fleet-overview{
        padding:var(--bw-fo-tablet-top,58px) 0 var(--bw-fo-tablet-bottom,58px);
    }
    .bw-fleet-overview__layout{
        grid-template-columns:minmax(245px,30%) minmax(0,70%);
        gap:24px;
    }
    .bw-fleet-overview__title{font-size:clamp(34px,3.2vw,46px)}
    .bw-fleet-overview__paragraph{margin-top:15px;font-size:12px}
    .bw-fleet-overview__tabs{margin-top:20px}
    .bw-fleet-overview__tab-row{min-height:68px}
    .bw-fleet-overview__tab{grid-template-columns:48px 39px minmax(0,1fr);gap:8px;padding-left:12px}
    .bw-fleet-overview__tab-number{font-size:27px;padding-right:10px}
    .bw-fleet-overview__tab-icon,.bw-fleet-overview__tab-icon svg{width:34px;height:34px}
    .bw-fleet-overview__tab-label{font-size:20px}
    .bw-fleet-overview__hero{height:clamp(245px,24vw,300px)}
    .bw-fleet-overview__vehicle-picture{height:82px}
    .bw-fleet-overview__vehicle-name{font-size:12px}
}

@media (max-width:899px){
    .bw-fleet-overview__layout{grid-template-columns:1fr;gap:24px}
    .bw-fleet-overview__navigation{display:grid;grid-template-columns:1fr auto;column-gap:18px}
    .bw-fleet-overview__eyebrow,
    .bw-fleet-overview__title,
    .bw-fleet-overview__paragraph,
    .bw-fleet-overview__tabs{grid-column:1/-1}
    .bw-fleet-overview__view-all{grid-column:2;grid-row:1/4;align-self:end;margin:0 0 4px}
    .bw-fleet-overview__title{font-size:clamp(38px,6vw,52px)}
    .bw-fleet-overview__paragraph{max-width:680px}
    .bw-fleet-overview__tabs{
        display:flex;
        overflow-x:auto;
        margin-top:22px;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
    }
    .bw-fleet-overview__tabs::-webkit-scrollbar{display:none}
    .bw-fleet-overview__tab-row{
        flex:0 0 230px;
        min-height:66px;
        scroll-snap-align:start;
        border-right:1px solid rgba(0,0,0,.10);
        border-bottom:0;
    }
    .bw-fleet-overview__tab-row.is-active::after{display:none}
    .bw-fleet-overview__hero{height:auto;aspect-ratio:var(--bw-fo-hero-ratio-tablet,16 / 9)}
    .bw-fleet-overview__summary{grid-template-columns:1fr 1fr 2fr}
    .bw-fleet-overview__vehicles{grid-template-columns:repeat(4,minmax(150px,1fr));overflow-x:auto;scroll-snap-type:x mandatory}
    .bw-fleet-overview__vehicle{scroll-snap-align:start}
}

@media (max-width:640px){
    .bw-fleet-overview{
        padding:var(--bw-fo-mobile-top,52px) 0 var(--bw-fo-mobile-bottom,52px);
    }
    .bw-fleet-overview__navigation{display:block}
    .bw-fleet-overview__eyebrow{margin-bottom:10px}
    .bw-fleet-overview__title{font-size:clamp(34px,10vw,44px)}
    .bw-fleet-overview__paragraph{margin-top:14px;font-size:14px;line-height:1.58}
    .bw-fleet-overview__view-all{margin-top:18px;font-size:18px}
    .bw-fleet-overview__tabs{margin-top:22px}
    .bw-fleet-overview__tab-row{flex-basis:210px}
    .bw-fleet-overview__tab{grid-template-columns:44px 34px minmax(0,1fr)}
    .bw-fleet-overview__tab-label{font-size:18px}
    .bw-fleet-overview__hero{aspect-ratio:var(--bw-fo-hero-ratio-mobile,16 / 10)}
    .bw-fleet-overview__hero-link{right:10px;bottom:10px;font-size:9px}
    .bw-fleet-overview__summary{grid-template-columns:1fr 1fr}
    .bw-fleet-overview__summary-item{grid-template-columns:36px minmax(0,1fr);gap:8px;padding:12px}
    .bw-fleet-overview__summary-item:nth-child(2){border-right:0}
    .bw-fleet-overview__summary-item--wide{grid-column:1/-1;border-top:1px solid rgba(0,0,0,.10)}
    .bw-fleet-overview__summary-icon{width:34px;height:34px}
    .bw-fleet-overview__summary-icon svg{width:25px;height:25px}
    .bw-fleet-overview__summary-item strong{font-size:18px}
    .bw-fleet-overview__summary-item--wide strong{font-size:12px}
    .bw-fleet-overview__vehicles{grid-template-columns:repeat(2,minmax(150px,1fr));padding-inline:12px}
    .bw-fleet-overview__vehicle-picture{height:96px}
    .bw-fleet-overview__vehicle-name{font-size:13px}
    .bw-fleet-overview__cta{margin:2px 14px 16px;font-size:14px}
}

@media (max-width:390px){
    .bw-fleet-overview__tab-row{flex-basis:195px}
    .bw-fleet-overview__vehicles{grid-template-columns:repeat(4,170px);overflow-x:auto}
}

@media (prefers-reduced-motion:reduce){
    .bw-fleet-overview__panel{animation:none!important}
    .bw-fleet-overview__tab-row,
    .bw-fleet-overview__tab-link svg,
    .bw-fleet-overview__hero-picture img,
    .bw-fleet-overview__vehicle-link,
    .bw-fleet-overview__vehicle-picture img,
    .bw-fleet-overview__view-all::after,
    .bw-fleet-overview__view-all svg,
    .bw-fleet-overview__cta svg{transition:none!important}
}
