/* Bus World homepage About section — database-driven, image-free and lightweight. */
.bw-home-about{
  position:relative;
  font-family:var(--font-interface);
  overflow:hidden;
  background:#fff;
  color:#000;
  border-top:1px solid rgba(0,0,0,.045);
}

.bw-home-about__shell{
  padding-top:clamp(62px,6.5vw,96px);
  padding-bottom:clamp(54px,5.8vw,86px);
}

.bw-home-about__main{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.94fr);
  gap:clamp(60px,7vw,112px);
  align-items:center;
}

.bw-home-about__heading-column,
.bw-home-about__copy-column{
  min-width:0;
}

.bw-home-about__heading-column{
  position:relative;
  padding-right:clamp(18px,2vw,34px);
}

.bw-home-about--main-divider .bw-home-about__copy-column{
  position:relative;
  padding-left:clamp(60px,7vw,112px);
  margin-left:calc(clamp(60px,7vw,112px) * -1);
}

.bw-home-about--main-divider .bw-home-about__copy-column::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:1px;
  background:rgba(0,0,0,.13);
}

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

.bw-home-about__number{font-variant-numeric:tabular-nums}
.bw-home-about__eyebrow-rule{width:18px;height:1px;background:#F30101;flex:0 0 auto}

.bw-home-about__top-rule,
.bw-home-about__title-rule{
  display:block;
  height:2px;
  background:#F30101;
}

.bw-home-about__top-rule{width:34px;margin-top:17px}
.bw-home-about__title-rule{width:38px;margin-top:27px}

.bw-home-about__title{
  max-width:720px;
  margin:clamp(28px,3vw,46px) 0 0;
  font-family:var(--font-display);
  font-size:clamp(44px,4.1vw,62px);
  font-style:normal;
  font-weight:600;
  line-height:.92;
  letter-spacing:-.03em;
  text-wrap:balance;
  font-synthesis:none;
}

.bw-home-about__title>span{display:block}
.bw-home-about__title-accent{color:#F30101}

.bw-home-about__statement{
  display:grid;
  gap:4px;
  margin:26px 0 0;
  font-family:var(--font-interface);
  font-size:clamp(12px,.95vw,15px);
  font-weight:700;
  line-height:1.35;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.bw-home-about__statement span{display:block}
.bw-home-about__statement .is-accent{color:#F30101}

.bw-home-about__intro{
  max-width:670px;
  margin:clamp(25px,2.7vw,40px) 0 0;
  color:rgba(0,0,0,.78);
  font-family:var(--font-interface);
  font-size:clamp(14px,1.05vw,17px);
  line-height:1.62;
}

.bw-home-about__copy-column{
  display:flex;
  min-height:100%;
  flex-direction:column;
  justify-content:center;
}

.bw-home-about__paragraphs{
  display:grid;
  gap:clamp(20px,2vw,30px);
}

.bw-home-about__paragraphs p{
  max-width:670px;
  margin:0;
  font-family:var(--font-interface);
  font-size:clamp(15px,1.18vw,19px);
  line-height:1.55;
  color:rgba(0,0,0,.84);
}

.bw-home-about__cta{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-top:clamp(42px,5vw,76px);
  padding:0 0 12px;
  border-bottom:1px solid #F30101;
  color:#F30101;
  font-family:var(--font-interface);
  font-size:clamp(12px,.95vw,15px);
  font-weight:700;
  line-height:1.2;
  letter-spacing:.1em;
  text-decoration:none;
  text-transform:uppercase;
}

.bw-home-about__cta svg{
  width:20px;
  height:20px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform 180ms ease;
}

.bw-home-about__cta:hover svg{transform:translateX(5px)}
.bw-home-about__cta:focus-visible,
.bw-home-about__commitment-content:focus-visible{
  outline:3px solid #F30101;
  outline-offset:5px;
}

.bw-home-about__commitments{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:clamp(62px,7vw,105px) 0 0;
  padding:clamp(30px,3.3vw,48px) 0 0;
  border-top:1px solid rgba(0,0,0,.12);
  list-style:none;
}

.bw-home-about__commitment{
  position:relative;
  min-width:0;
  padding:0 clamp(28px,3.3vw,52px);
}

.bw-home-about__commitment:first-child{padding-left:0}
.bw-home-about__commitment:last-child{padding-right:0}

.bw-home-about--commitment-dividers .bw-home-about__commitment:not(:last-child)::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:1px;
  height:100%;
  background:rgba(0,0,0,.13);
}

.bw-home-about__commitment-content{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:24px;
  align-items:start;
  color:#000;
  text-decoration:none;
}

.bw-home-about__commitment-icon{
  width:50px;
  height:50px;
  display:block;
  color:#F30101;
  transition:transform 180ms ease;
}

.bw-home-about__commitment-icon svg{
  width:100%;
  height:100%;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.bw-home-about__commitment-title,
.bw-home-about__commitment-description{
  display:block;
  font-family:var(--font-interface);
}

.bw-home-about__commitment-title{
  font-size:clamp(12px,.98vw,15px);
  font-weight:700;
  line-height:1.35;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.bw-home-about__commitment-rule{
  display:block;
  width:30px;
  height:1px;
  margin:15px 0 17px;
  background:#F30101;
}

.bw-home-about__commitment-description{
  color:rgba(0,0,0,.76);
  font-size:clamp(13px,.96vw,15.5px);
  line-height:1.62;
}

.bw-home-about__commitment-content[href]:hover .bw-home-about__commitment-icon{
  transform:translateY(-3px);
}

@media (max-width:1199px){
  .bw-home-about__main{gap:48px}
  .bw-home-about--main-divider .bw-home-about__copy-column{
    padding-left:48px;
    margin-left:-48px;
  }
  .bw-home-about__title{font-size:clamp(42px,5vw,58px)}
  .bw-home-about__commitment{padding-inline:24px}
  .bw-home-about__commitment-content{grid-template-columns:48px minmax(0,1fr);gap:16px}
  .bw-home-about__commitment-icon{width:42px;height:42px}
}

@media (max-width:900px){
  .bw-home-about__shell{padding-top:58px;padding-bottom:58px}
  .bw-home-about__main{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:38px}
  .bw-home-about--main-divider .bw-home-about__copy-column{
    padding-left:38px;
    margin-left:-38px;
  }
  .bw-home-about__title{font-size:clamp(38px,5.6vw,50px)}
  .bw-home-about__paragraphs p{font-size:15px}
  .bw-home-about__commitments{margin-top:64px;padding-top:34px}
  .bw-home-about__commitment{padding-inline:18px}
  .bw-home-about__commitment-content{display:block}
  .bw-home-about__commitment-icon{margin-bottom:18px}
}

@media (max-width:767px){
  .bw-home-about__shell{padding-top:50px;padding-bottom:48px}
  .bw-home-about__main{display:block}
  .bw-home-about__heading-column{padding-right:0}
  .bw-home-about--main-divider .bw-home-about__copy-column{
    padding-left:0;
    margin-left:0;
  }
  .bw-home-about--main-divider .bw-home-about__copy-column::before{display:none}
  .bw-home-about__title{max-width:620px;font-size:clamp(36px,10.8vw,48px);line-height:1}
  .bw-home-about__intro{font-size:15px}
  .bw-home-about__copy-column{margin-top:40px;padding-top:36px;border-top:1px solid rgba(0,0,0,.12)}
  .bw-home-about__paragraphs{gap:20px}
  .bw-home-about__paragraphs p{font-size:15px;line-height:1.62}
  .bw-home-about__cta{margin-top:34px}
  .bw-home-about__commitments{display:block;margin-top:54px;padding-top:0;border-top:1px solid rgba(0,0,0,.12)}
  .bw-home-about__commitment,
  .bw-home-about__commitment:first-child,
  .bw-home-about__commitment:last-child{padding:26px 0}
  .bw-home-about--commitment-dividers .bw-home-about__commitment:not(:last-child)::after{
    top:auto;
    right:auto;
    bottom:0;
    left:0;
    width:100%;
    height:1px;
  }
  .bw-home-about__commitment-content{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px}
  .bw-home-about__commitment-icon{width:42px;height:42px;margin-bottom:0}
  .bw-home-about__commitment-rule{margin:12px 0 13px}
}

@media (max-width:430px){
  .bw-home-about__eyebrow{gap:8px;font-size:10px;letter-spacing:.1em}
  .bw-home-about__title{font-size:clamp(34px,11.5vw,43px)}
  .bw-home-about__commitment-content{grid-template-columns:42px minmax(0,1fr);gap:14px}
  .bw-home-about__commitment-icon{width:38px;height:38px}
}

@media (prefers-reduced-motion:reduce){
  .bw-home-about__cta svg,
  .bw-home-about__commitment-icon{transition:none!important}
}
