/* BSH Aero Automation — keyframes ported verbatim from the original design. */
@keyframes bshFlow{from{stroke-dashoffset:340;}to{stroke-dashoffset:0;}}
@keyframes bshPulse{0%,100%{opacity:.35;}50%{opacity:1;}}
@keyframes bshRowA{0%,16%{background:rgba(255,255,255,.02);border-color:rgba(212,191,163,.10);}22%,32%{background:rgba(212,191,163,.09);border-color:rgba(212,191,163,.42);}40%,100%{background:rgba(255,255,255,.02);border-color:rgba(212,191,163,.10);}}
@keyframes bshRowB{0%,36%{background:rgba(255,255,255,.02);border-color:rgba(212,191,163,.10);}42%,52%{background:rgba(212,191,163,.09);border-color:rgba(212,191,163,.42);}60%,100%{background:rgba(255,255,255,.02);border-color:rgba(212,191,163,.10);}}
@keyframes bshRowC{0%,56%{background:rgba(255,255,255,.02);border-color:rgba(212,191,163,.10);}64%,90%{background:rgba(212,191,163,.12);border-color:rgba(212,191,163,.55);}98%,100%{background:rgba(255,255,255,.02);border-color:rgba(212,191,163,.10);}}
@keyframes bshSheet{0%{opacity:0;transform:translateY(7px);}7%,90%{opacity:1;transform:none;}100%{opacity:0;transform:translateY(-7px);}}
@keyframes bshCheck{0%,62%{opacity:0;transform:scale(.4);}70%,90%{opacity:1;transform:scale(1);}98%,100%{opacity:0;transform:scale(.4);}}
@keyframes bshCursor{0%{transform:translate(130px,70px);opacity:0;}10%{opacity:1;}22%{transform:translate(96px,-16px);}40%{transform:translate(96px,20px);}56%{transform:translate(96px,56px);}62%{transform:translate(96px,56px) scale(.85);}68%{transform:translate(96px,56px) scale(1);}88%{opacity:1;transform:translate(96px,56px);}96%,100%{opacity:0;transform:translate(130px,70px);}}
@media(prefers-reduced-motion:reduce){.bsh-auto-hero-flow *,.bsh-auto-p21mock *{animation:none !important;}}

/* "What we build" carousel: 3 visible neighbours, active centred, drag + auto-advance via JS */
.bsh-auto-carousel-viewport{position:relative;height:440px;margin-top:64px;touch-action:pan-y;opacity:0;transition:opacity 320ms cubic-bezier(0.22,0.61,0.36,1);}
.bsh-auto-carousel-viewport.is-ready{opacity:1;}
.bsh-auto-carousel-slide{position:absolute;top:0;width:min(560px,86vw);height:100%;left:50%;transform:translateX(-50%);cursor:pointer;transition:transform 480ms cubic-bezier(0.22,0.61,0.36,1),opacity 480ms cubic-bezier(0.22,0.61,0.36,1);}
/* The drag/auto-advance JS that was meant to position active + neighbour slides via a
   dynamic transform was never shipped, so every slide sat at left:50% with no compensating
   translateX, pushing each card's full width past the right edge and forcing the whole
   page into horizontal scroll on mobile. This static translateX(-50%) centers the slide
   (fixing the overflow) but the carousel still won't switch slides — see chat notes. */
.bsh-auto-carousel-card{position:relative;height:100%;display:flex;flex-direction:column;gap:18px;padding:32px 34px;border-radius:14px;background:linear-gradient(150deg, rgba(24,40,58,.98) 0%, rgba(11,22,34,.98) 55%, rgba(7,15,24,.98) 100%);border:1px solid rgba(212,191,163,.16);box-shadow:0 14px 44px rgba(0,0,0,.55), inset 0 1px 0 rgba(212,191,163,.10);overflow:hidden;}
.bsh-auto-carousel-eyebrow{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#e5d8c6;}
.bsh-auto-carousel-eyebrow span:last-child{color:#68717b;}
.bsh-auto-carousel-card h3{font-size:28px;font-weight:400;line-height:1.18;letter-spacing:-0.01em;color:#fff;}
.bsh-auto-carousel-card p{font-size:15px;line-height:1.65;color:#cdd1d6;}
.bsh-auto-carousel-card p.bsh-auto-body2{color:#adb3bc;}
.bsh-auto-carousel-points{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;}
.bsh-auto-carousel-points > span{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;border:1px solid rgba(212,191,163,.16);font-size:11px;letter-spacing:.04em;color:#adb3bc;}
.bsh-auto-carousel-dot-bg{width:4px;height:4px;border-radius:999px;background:#d4bfa3;display:inline-block;flex:none;}
.bsh-auto-carousel-nav{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:40px;}
.bsh-auto-carousel-arrow{width:42px;height:42px;padding:0;box-sizing:border-box;flex:none;border-radius:999px;display:grid;place-items:center;background:transparent;border:1px solid rgba(212,191,163,.22);color:#d4bfa3;cursor:pointer;transition:border-color 200ms cubic-bezier(0.22,0.61,0.36,1),background 200ms cubic-bezier(0.22,0.61,0.36,1);}
.bsh-auto-carousel-viewport{cursor:grab;user-select:none;-webkit-user-select:none;}
.bsh-auto-carousel-viewport.is-dragging{cursor:grabbing;}
.bsh-auto-carousel-arrow:hover{border-color:#d4bfa3;background:rgba(212,191,163,.06);}
.bsh-auto-carousel-arrow:focus,.bsh-auto-carousel-arrow:focus-visible{outline:none;box-shadow:none;background:transparent;border-color:rgba(212,191,163,.22);}
.bsh-auto-carousel-arrow:focus:hover,.bsh-auto-carousel-arrow:focus-visible:hover{border-color:#d4bfa3;background:rgba(212,191,163,.06);}
.bsh-auto-carousel-dots button:focus,.bsh-auto-carousel-dots button:focus-visible{outline:none;box-shadow:none;}
.bsh-auto-carousel-dots{display:flex;align-items:center;gap:10px;}
.bsh-auto-carousel-dots button{width:7px;height:7px;padding:0;border-radius:999px;border:0;background:rgba(212,191,163,.25);cursor:pointer;transition:background 200ms cubic-bezier(0.22,0.61,0.36,1),width 200ms cubic-bezier(0.22,0.61,0.36,1);}
.bsh-auto-carousel-dots button.is-active{background:#d4bfa3;width:20px;}
.bsh-ad-stat-num .elementor-heading-title{font-variant-numeric:tabular-nums;}
.bsh-founder-img img{filter:saturate(.9) contrast(1.02);-webkit-mask-image:linear-gradient(to bottom, #000 78%, transparent 100%);mask-image:linear-gradient(to bottom, #000 78%, transparent 100%);}

/* Client logos carousel: reuses the same coverflow engine as the "Six automations..."
   card carousel (.bsh-auto-carousel-viewport / .bsh-auto-carousel-slide + initCarousel in
   bsh-auto-sections.js), just sized for logos instead of text cards. This instance has no
   dots/prev-next buttons in the markup, so initCarousel runs on autoplay + drag only. */
.bsh-auto-clients-viewport{
  height:150px;
  margin-top:40px;
  pointer-events:none;
  perspective:1200px;
}
.bsh-auto-clients-slide{
  width:min(260px,60vw);
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none !important;
  cursor:default;
}
.bsh-auto-clients-slide img{
  width:200px !important;
  height:76px !important;
  max-width:none !important;
  object-fit:contain;
  object-position:center;
  opacity:.6;
  filter:brightness(0) invert(54%);
}
@media(max-width:767px){
  .bsh-auto-clients-viewport{height:110px;}
  .bsh-auto-clients-slide{width:min(220px,55vw);}
  .bsh-auto-clients-slide img{width:140px !important;height:48px !important;}
}
