/* Homepage speed-test chapter. Prefix: .bsw-st-  Speedometer v2. */
.bsw-st, .bsw-st *, .bsw-st *::before, .bsw-st *::after{ box-sizing:border-box; }
.bsw-st{
  background:#0A0F2C; padding:72px 24px;
  font-family:Poppins,ui-sans-serif,system-ui,sans-serif;
}
.bsw-st__in{
  max-width:1080px; margin:0 auto;
  display:grid; grid-template-columns:0.95fr 1.05fr; gap:56px; align-items:center;
}
.bsw-st__panel{
  position:relative;
  background:
    radial-gradient(90% 70% at 20% 0%, rgba(193,4,96,.10), transparent 60%),
    radial-gradient(80% 60% at 90% 100%, rgba(244,143,184,.05), transparent 55%),
    rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px; padding:30px 24px 30px;
  display:grid; justify-items:center; gap:10px;
}
.bsw-st__pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 15px; border-radius:999px;
  background:rgba(52,199,123,.12); border:1px solid rgba(52,199,123,.3);
  color:#7FE0AE; font-size:12px; font-weight:650; letter-spacing:1.4px;
  justify-self:end;
}
.bsw-st__pill::before{
  content:""; width:7px; height:7px; border-radius:50%; background:#34C77B;
  animation:bswStDot 2.2s ease-in-out infinite;
}
@keyframes bswStDot{ 0%,100%{opacity:1} 50%{opacity:.35} }
.bsw-st__dial{ width:min(320px, 82%); height:auto; display:block; margin-top:-6px; }
.bsw-st__dial .t{ font-size:11px; fill:#8B92B0; font-family:inherit; }
.bsw-st__needle{
  transform-box:view-box; transform-origin:150px 140px;
  transform:rotate(68.4deg);
}
.bsw-st__arcp{ filter:drop-shadow(0 0 6px rgba(193,4,96,.55)); }
.bsw-st__read{
  display:flex; align-items:baseline; gap:8px; margin-top:-40px;
}
.bsw-st__read b{
  font-size:46px; font-weight:800; letter-spacing:-1.6px; color:#fff;
  font-variant-numeric:tabular-nums; line-height:1;
}
.bsw-st__read span{ font-size:15px; font-weight:600; color:#F48FB8; }
.bsw-st__cap{
  font-size:13.5px; line-height:1.55; color:#B9C0DA; text-align:center;
  max-width:34ch; margin:8px 0 0;
}
.bsw-st__src{ display:block; font-size:11.5px; color:#8B92B0; margin-top:4px; }
.bsw-st__kick{
  font-size:12.5px; font-weight:650; letter-spacing:1.6px;
  color:#F48FB8; text-transform:uppercase; margin:0 0 12px;
}
.bsw-st h2{
  font-size:clamp(26px,3.2vw,36px); line-height:1.16; font-weight:800;
  letter-spacing:-.9px; color:#fff; margin:0 0 14px;
}
.bsw-st h2 em{ font-style:italic; color:#F48FB8; padding-right:.14em; }
.bsw-st__p{
  font-size:16.5px; line-height:1.62; color:#B9C0DA; margin:0 0 12px; max-width:52ch;
}
.bsw-st__p a{ color:#F48FB8; text-decoration:underline; text-underline-offset:2px; }
.bsw-st__p a:hover{ text-decoration-thickness:2px; }
.bsw-st__acts{ display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; align-items:center; }
.bsw-st__cta{
  display:inline-flex; align-items:center; gap:10px;
  min-height:52px; padding:0 26px; border-radius:999px;
  background:#C10460; color:#fff; -webkit-text-fill-color:#fff; font-size:16px; font-weight:650;
  letter-spacing:-.2px; text-decoration:none; border:0;
  box-shadow:0 5px 16px rgba(193,4,96,.30);
  transition:background .18s ease, transform .18s ease;
}
.bsw-st a.bsw-st__cta:link,
.bsw-st a.bsw-st__cta:visited,
.bsw-st a.bsw-st__cta:hover,
.bsw-st a.bsw-st__cta:active{ color:#fff; -webkit-text-fill-color:#fff; }
.bsw-st__cta:hover{ background:#A80354; transform:translateY(-1px); }
.bsw-st__cta svg{ width:16px; height:16px; flex:none; }
.bsw-st__alt{
  display:inline-flex; align-items:center; gap:9px;
  min-height:52px; padding:0 22px; border-radius:999px;
  background:transparent; color:#fff; -webkit-text-fill-color:#fff; font-size:15px; font-weight:550;
  text-decoration:none; border:1.5px solid rgba(255,255,255,.32);
  transition:border-color .18s ease, background .18s ease;
}
.bsw-st a.bsw-st__alt:link,
.bsw-st a.bsw-st__alt:visited,
.bsw-st a.bsw-st__alt:hover,
.bsw-st a.bsw-st__alt:active{ color:#fff; -webkit-text-fill-color:#fff; }
.bsw-st__alt:hover{ border-color:#fff; background:rgba(255,255,255,.06); }
.bsw-st__alt svg{ width:14px; height:14px; flex:none; opacity:.8; }
.bsw-st__cta:focus-visible, .bsw-st__alt:focus-visible{ outline:3px solid #F48FB8; outline-offset:3px; }
.bsw-st__note{ font-size:13.5px; color:#8B92B0; margin:14px 0 0; }
@media (max-width:900px){
  .bsw-st{ padding:56px 18px; }
  .bsw-st__in{ grid-template-columns:1fr; gap:36px; }
  .bsw-st__panel{ order:2; }
  .bsw-st__body{ order:1; }
  .bsw-st__cta, .bsw-st__alt{ width:100%; justify-content:center; }
  .bsw-st__read b{ font-size:40px; }
}
@media (prefers-reduced-motion:reduce){
  .bsw-st *{ transition:none !important; animation:none !important; }
}
