/* Public presentation adapted with owner authorization from Washie source db728814, src/styles/global.css. Original motion timings and layers retained; integration overrides follow separately. */
@keyframes rise{
  0% { transform: translateY(0) scale(1); opacity: 0; }
  12% { opacity: 0.7; }
  100% { transform: translateY(-160px) scale(1.15); opacity: 0; }
}
@keyframes floatb{ 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
@keyframes stormdrift{
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-4%, 3%, 0) scale(1.08); }
}
@keyframes stormdrift2{
  0%, 100% { transform: translate3d(0, 0, 0) scale(1.05); }
  50% { transform: translate3d(5%, -3%, 0) scale(1); }
}
@keyframes flash2{ 0%, 7%, 100% { opacity: 0.1; } 3% { opacity: 0.85; } 4.4% { opacity: 0.28; } 5.4% { opacity: 0.62; } }
@keyframes rimpulse{
  0%, 100% { box-shadow: 0 40px 80px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(190,214,255,.28), 0 0 34px -10px rgba(120,90,235,.6), 0 0 66px -14px rgba(80,150,255,.42); }
  50% { box-shadow: 0 40px 80px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(190,214,255,.5), 0 0 54px -6px rgba(140,100,255,.9), 0 0 98px -8px rgba(90,160,255,.62); }
}
@keyframes promotion-glow{ 0%,100%{opacity:.58;transform:scale(.96)} 50%{opacity:1;transform:scale(1.04)} }
@keyframes promotion-sweep{ 0%,82%,100%{transform:translateX(-100%)} 92%{transform:translateX(100%)} }
.neon-bay-border.neon-bay-border{
  border: 2px solid transparent;
  background:
    linear-gradient(180deg, #0a1020, #0b1526) padding-box,
    conic-gradient(from var(--neon-border-angle, 135deg),
      #29e0ff 0deg, #2b7bff 60deg, #35e46e 140deg,
      #ff3ba0 232deg, #ff7a2b 292deg, #29e0ff 360deg) border-box;
  filter:
    drop-shadow(0 0 7px rgba(41, 224, 255, .40))
    drop-shadow(0 0 13px rgba(43, 123, 255, .26))
    drop-shadow(0 0 18px rgba(255, 59, 160, .18));
  animation: neon-border-chase 12s linear infinite;
}
@property --neon-border-angle{ syntax: '<angle>'; inherits: false; initial-value: 135deg; }
@keyframes neon-border-chase{ from { --neon-border-angle: 135deg; } to { --neon-border-angle: 495deg; } }
.neon-bay-top-edge{
  background: linear-gradient(90deg,
    #29e0ff 0%, #2b7bff 26%, #35e46e 50%, #ff3ba0 74%, #ff7a2b 100%);
  background-size: 200% 100%;
  box-shadow:
    0 4px 10px -2px rgba(41, 224, 255, .35),
    0 8px 18px -4px rgba(43, 123, 255, .24),
    0 12px 26px -6px rgba(255, 59, 160, .16);
  animation: neon-edge-drift 18s ease-in-out infinite, neon-edge-breathe 7s ease-in-out infinite;
}
@keyframes neon-edge-drift{
  0%, 100% { background-position: 0% 0; }
  50% { background-position: 100% 0; }
}
@keyframes neon-edge-breathe{
  0%, 100% { opacity: .88; }
  50% { opacity: 1; }
}
.board .menu-col--hi .storm-fx__scrim{ background: linear-gradient(180deg, rgba(8,5,16,.5) 0%, rgba(8,5,16,.66) 55%, rgba(8,5,16,.76) 100%); }
.board .menu-col--hi .storm-fx__droplets{ opacity: 0.55; }
.board .menu-col--hi .storm-fx__trails{ opacity: 0.5; }
@media (min-width: 901px){
.self-service-pricing-review-grid .wr-section{
    margin-top: 0; padding: 16px; display: flex; align-items: center;
    border: 2px solid transparent;
    background:
      linear-gradient(rgba(12, 20, 38, .93), rgba(13, 23, 44, .93)) padding-box,
      conic-gradient(from var(--wr-a, 120deg), #29e0ff, #2b7bff 30%, #8a5be0 55%, #ffb04d 78%, #29e0ff) border-box;
    filter: drop-shadow(0 0 8px rgba(41, 224, 255, .22)) drop-shadow(0 0 18px rgba(138, 91, 224, .2));
  }
.self-service-pricing-review-grid .wr-section:has(.wr-card--active-flash){
    filter: drop-shadow(0 0 10px rgba(41, 224, 255, .34)) drop-shadow(0 0 22px rgba(138, 91, 224, .3));
  }
.self-service-pricing-review-grid .wr-section__inner{ width: 100%; height: 100%; display: flex; flex-direction: column; }
.self-service-pricing-review-grid .wr-depth{ display: none; }
.self-service-pricing-review-grid .wr-card{
    height: auto; flex: 1 1 auto; border: none; background: none; filter: none; box-shadow: none;
  }
.self-service-pricing-review-grid .wr-card:hover{ transform: none; filter: none; }
.self-service-pricing-review-grid .wr-card__quote{ top: auto; left: auto; bottom: 8px; right: 12px; }
.self-service-pricing-review-grid .wr-slide{ padding: 22px 28px 18px; }
.self-service-pricing-review-grid .wr-controls{ margin-top: 12px; }
}
.choose-card .btn, .choose-card .storm-zone-btn{ margin-top: 28px; align-self: flex-start; }
.storm-photo__scrim{ position: absolute; inset: 0; background: linear-gradient(to top, rgba(11, 10, 30, 0.5), transparent 44%); }
.storm-photo__cap{
  position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px;
  background: rgba(20, 8, 40, 0.8); border: 1px solid rgba(199, 155, 236, 0.45); color: var(--gold);
  font-weight: 600; font-size: 12.5px; padding: 8px 13px; border-radius: 999px; backdrop-filter: blur(4px);
}
.reviews-page__bubbles .szb-vignette{ display: none; }
.reviews-page__bubbles .szb-foam,
.reviews-page__bubbles .szb-micro{ opacity: .38; }
.reviews-page .reviews-deck-section .wr-section{ margin-top: 0; }
.wr-section{
  position: relative; border-radius: 24px; overflow: hidden; isolation: isolate;
  margin-top: 40px; padding: 56px 28px 40px; color: #eaf2ff; font-family: var(--font);
  background: #0a1322 url("/assets/effects/reviews/washie-reviews-section-bg.webp") center/cover no-repeat;
}
.wr-section__drift{ position: absolute; inset: -3%; z-index: 0; pointer-events: none;
  background: radial-gradient(40% 34% at 24% 18%, rgba(41,200,255,.07), transparent 70%),
              radial-gradient(36% 30% at 78% 24%, rgba(138,91,224,.08), transparent 70%); }
.wr-section__inner{ position: relative; z-index: 1; max-width: 780px; margin: 0 auto; }
.wr-depth{ position: absolute; left: 50%; top: 44px; transform: translateX(-50%) scale(.94);
  width: 100%; max-width: 760px; height: 330px; border-radius: 22px; border: 2px solid transparent;
  background: linear-gradient(rgba(11,18,34,.6),rgba(12,20,40,.6)) padding-box,
             conic-gradient(from 200deg, rgba(41,224,255,.25), rgba(138,91,224,.3), rgba(41,224,255,.25)) border-box;
  filter: blur(.6px); opacity: .55; pointer-events: none; }
@property --wr-a{ syntax: '<angle>'; inherits: false; initial-value: 120deg; }
.wr-card{
  position: relative; height: 330px; border-radius: 22px; overflow: hidden; isolation: isolate;
  border: 2px solid transparent;
  background: linear-gradient(rgba(12,20,38,.93),rgba(13,23,44,.93)) padding-box,
             conic-gradient(from var(--wr-a,120deg), #29e0ff, #2b7bff 30%, #8a5be0 55%, #ffb04d 78%, #29e0ff) border-box;
  filter: drop-shadow(0 0 8px rgba(41,224,255,.22)) drop-shadow(0 0 18px rgba(138,91,224,.2));
  transition: transform .28s cubic-bezier(.2,.7,.2,1), filter .5s ease;
}
.wr-card:hover{ transform: translateY(-4px);
  filter: drop-shadow(0 0 10px rgba(41,224,255,.34)) drop-shadow(0 0 22px rgba(138,91,224,.3)); }
.wr-card--active-flash{ filter: drop-shadow(0 0 10px rgba(41,224,255,.34)) drop-shadow(0 0 22px rgba(138,91,224,.3)); }
.wr-card__sheen{ position: absolute; left: -10%; top: -40%; width: 60%; height: 90%; z-index: 1; pointer-events: none;
  background: linear-gradient(115deg, transparent, rgba(210,235,255,.045) 46%, transparent 60%); transform: rotate(4deg); }
.wr-card__wet{ position: absolute; left: 0; right: 0; bottom: 0; height: 38%; z-index: 1; pointer-events: none;
  background: linear-gradient(0deg, rgba(41,150,255,.08), transparent); }
.wr-card__quote{ position: absolute; top: 26px; left: 34px; width: 104px; z-index: 1; opacity: .45; transition: opacity .5s ease; }
.wr-card--active-flash .wr-card__quote{ opacity: .62; }
.wr-slide{ position: absolute; inset: 0; margin: 0; padding: 38px 44px 30px; display: flex; flex-direction: column;
  opacity: 0; transform: translateY(10px); transition: opacity .6s ease, transform .6s ease; pointer-events: none; z-index: 2; }
.wr-slide--active{ opacity: 1; transform: translateY(0); pointer-events: auto; }
.wr-slide blockquote{ margin: 16px 0 0; font: 500 clamp(17px,1.8vw,21px)/1.6 var(--font); color: #e6eefc; max-width: 58ch; }
.wr-slide figcaption{ margin-top: auto; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.wr-name{ font: 800 15px/1 var(--font-head); color: #ffb04d; }
.wr-src{ font: 600 12.5px/1 var(--font); color: #7f90ad; }
.wr-stars{ position: relative; display: inline-flex; gap: 5px; overflow: hidden; align-self: flex-start; padding: 2px 4px; }
.wr-stars svg{ width: 19px; height: 19px; fill: #ffb04d; filter: drop-shadow(0 0 5px rgba(255,176,77,.45)); }
.wr-stars__sweep{ position: absolute; top: 0; bottom: 0; left: 0; width: 34%; transform: translateX(-160%);
  background: linear-gradient(105deg, transparent, rgba(255,246,224,.55), transparent); }
.wr-slide--active .wr-stars__sweep{ animation: wr-sweep 1.1s ease .35s 1 both; }
.wr-controls{ display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 24px; }
.wr-dots{ display: flex; gap: 8px; }
.wr-btn{ width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(120,180,255,.25); cursor: pointer;
  background: rgba(12,20,38,.8); color: #9fc2e8; display: grid; place-items: center; backdrop-filter: blur(4px);
  transition: box-shadow .25s ease, color .25s ease; outline: none; }
.wr-btn:hover, .wr-btn:focus-visible{ box-shadow: 0 0 0 1.5px rgba(41,224,255,.8), 0 10px 26px -12px rgba(138,91,224,.8); color: #dff4ff; }
.wr-btn:focus-visible{ outline: 2px solid rgba(207,230,255,.9); outline-offset: 2px; }
.wr-dot{ height: 4px; width: 16px; border-radius: 99px; border: 0; padding: 0; cursor: pointer; background: rgba(120,160,220,.3);
  transition: width .3s ease, background .3s ease, box-shadow .3s ease; outline: none; }
.wr-dot--active{ width: 28px; background: linear-gradient(90deg,#ffb04d,#ff8a2b); box-shadow: 0 0 10px rgba(255,176,77,.7); }
.wr-dot:focus-visible{ outline: 2px solid rgba(207,230,255,.9); outline-offset: 3px; }
@keyframes wr-chase{ from { --wr-a: 120deg; } to { --wr-a: 480deg; } }
@keyframes wr-star-breathe{ 0%,100% { transform: scale(1); filter: drop-shadow(0 0 3px rgba(255,176,77,.28)); } 50% { transform: scale(1.12); filter: drop-shadow(0 0 9px rgba(255,176,77,.68)); } }
@keyframes wr-sweep{ from { transform: translateX(-160%); } to { transform: translateX(420%); } }
@keyframes wr-shimmer{ 0%,100% { opacity: .55; } 50% { opacity: .8; } }
@keyframes wr-drift{ from { transform: translate3d(-1.2%,-0.6%,0); } to { transform: translate3d(1.2%,0.8%,0); } }
@media (prefers-reduced-motion: no-preference){
.wr-card{ animation: wr-chase 16s linear infinite; }
.wr-card__wet{ animation: wr-shimmer 10s ease-in-out infinite; }
.wr-section__drift{ animation: wr-drift 18s ease-in-out infinite alternate; }
.wr-stars svg{ animation: wr-star-breathe 3.6s ease-in-out infinite; transform-origin: 50% 55%; }
.wr-stars svg:nth-of-type(2){ animation-delay: .25s; }
.wr-stars svg:nth-of-type(3){ animation-delay: .5s; }
.wr-stars svg:nth-of-type(4){ animation-delay: .75s; }
.wr-stars svg:nth-of-type(5){ animation-delay: 1s; }
}
@media (prefers-reduced-motion: reduce){
.wr-slide{ transition: none; transform: none; }
.wr-slide--active .wr-stars__sweep{ animation: none; }
.wr-card{ transition: none; }
.wr-card:hover{ transform: none; }
}
@media (max-width: 640px){
.wr-section{ padding: 34px 16px 26px; }
.wr-card{ height: 380px; }
.wr-slide{ padding: 26px 22px 22px; }
.wr-slide blockquote{ font-size: 15.5px; }
.wr-card__quote{ width: 72px; top: 16px; left: 18px; opacity: .4; }
.wr-depth{ display: none; }
}
.storm-zone-reviews .wr-card__quote{ top: auto; left: auto; bottom: 26px; right: 34px; }
@media (max-width: 640px){
.storm-zone-reviews .wr-card__quote{ bottom: 16px; right: 18px; }
}
.careers-page__bubbles .szb-vignette{ display: none; }
.contact-page__bubbles .szb-vignette,
.faq-page__bubbles .szb-vignette{ display: none; }
.contact-page__bubbles .szb-foam,
.faq-page__bubbles .szb-foam{ opacity: .38; }
.contact-page__bubbles .szb-micro,
.faq-page__bubbles .szb-micro{ opacity: .38; }
.storm-zone-btn{
  --storm-zone-cloud:   url("/assets/effects/storm-zone/storm-cloud-card-blue.webp");
  --storm-zone-strike:  url("/assets/effects/storm-zone/storm-lightning-1.svg");
  --storm-zone-strike2: url("/assets/effects/storm-zone/storm-lightning-2.svg");

  --szb-fs:  15.5px;
  --szb-gap: 8px;
  --szb-pl:  12px;
  --szb-pr:  14px;
  --szb-ico: 19px;
  --szb-arw: 13px;

  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--szb-gap);
  min-height: 48px;
  padding: 0 var(--szb-pr) 0 var(--szb-pl);
  font-family: var(--font);
  font-weight: 700;
  font-size: var(--szb-fs);
  line-height: 1;
  white-space: nowrap;
  color: #f2f6ff;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  border: 1.5px solid transparent;
  border-radius: 999px;
  background:
    linear-gradient(160deg, rgba(13, 23, 47, 0.96), rgba(8, 14, 31, 0.97)) padding-box,
    linear-gradient(150deg, rgba(178, 124, 255, 0.55), rgba(84, 110, 200, 0.30) 45%, rgba(41, 224, 255, 0.50)) border-box;
  box-shadow:
    0 8px 22px -12px rgba(138, 91, 224, 0.60),
    0 12px 26px -14px rgba(41, 224, 255, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  animation: storm-zone-breathe 8s ease-in-out infinite;
  transition: transform 0.14s ease, box-shadow 0.25s ease;
}
.storm-zone-btn__fx{ position: absolute; inset: 0; z-index: 0; border-radius: inherit; overflow: hidden; pointer-events: none; }
.storm-zone-btn__fx > span{ position: absolute; inset: 0; }
.storm-zone-btn__cloud{
  inset: -10%;
  background: var(--storm-zone-cloud) center / cover no-repeat;
  opacity: 0.9;
  will-change: transform;
  animation: storm-zone-drift 34s ease-in-out infinite alternate;
}
.storm-zone-btn__tint{
  background:
    radial-gradient(90% 170% at 20% 0%,  rgba(154, 79, 208, 0.42), transparent 62%),
    radial-gradient(80% 160% at 88% 100%, rgba(43, 123, 255, 0.32), transparent 60%);
  mix-blend-mode: screen;
}
.storm-zone-btn__strike{
  inset: -6%;
  background: var(--storm-zone-strike) center / cover no-repeat;
  mix-blend-mode: screen;
  opacity: 0;
  animation: storm-zone-strike 10s linear infinite;
}
.storm-zone-btn__strike2{
  inset: -8%;
  background: var(--storm-zone-strike2) center / cover no-repeat;
  transform: scaleX(-1);
  mix-blend-mode: screen;
  opacity: 0;
}
.storm-zone-btn__scrim{ background: linear-gradient(180deg, rgba(7, 10, 24, 0.34), rgba(7, 10, 24, 0.54)); }
.storm-zone-btn__flash{
  background: radial-gradient(70% 130% at 50% 15%, rgba(200, 120, 255, 0.50), rgba(120, 110, 255, 0.15) 48%, transparent 74%);
  mix-blend-mode: screen;
  opacity: 0;
  animation: storm-zone-flash 10s linear infinite;
}
.storm-zone-btn__sweep{
  background: linear-gradient(115deg, transparent 38%, rgba(210, 240, 255, 0.30) 47%, rgba(190, 130, 255, 0.20) 53%, transparent 63%);
  mix-blend-mode: screen;
  transform: translateX(-155%);
  will-change: transform;
  animation: storm-zone-sweep 10s ease-in-out infinite;
}
.storm-zone-btn__shine{
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(210, 230, 255, 0.20), transparent 30%),
    linear-gradient(116deg, transparent 42%, rgba(184, 204, 255, 0.10) 49%, transparent 57%);
}
.storm-zone-btn__bolt{
  position: relative; z-index: 1; flex: none;
  display: grid; place-items: center;
  width: var(--szb-ico); height: var(--szb-ico);
  transition: filter 0.2s ease;
}
.storm-zone-btn__bolt svg{ width: 100%; height: 100%; }
.storm-zone-btn__bolt-glow{
  position: absolute; inset: 0;
  filter: blur(2.5px);
  opacity: 0.4;
  animation: storm-zone-bolt-glow 8s ease-in-out infinite;
}
.storm-zone-btn__bolt-core{ position: relative; filter: drop-shadow(0 0 3px rgba(180, 92, 255, 0.8)); }
.storm-zone-btn__label{
  position: relative; z-index: 1;
  background: linear-gradient(90deg, #f0c790, #f4a05a 45%, #c79bec);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  filter: drop-shadow(0 1px 5px rgba(4, 8, 20, 0.92));
}
.storm-zone-btn__arrow{
  position: relative; z-index: 1; flex: none;
  width: var(--szb-arw); height: var(--szb-arw);
  color: #29e0ff;
  filter: drop-shadow(0 0 4px rgba(41, 224, 255, 0.5));
  transition: transform 0.25s ease;
}
.storm-zone-btn:hover,
.storm-zone-btn:focus-visible{
  box-shadow:
    0 8px 22px -12px rgba(138, 91, 224, 0.78),
    0 12px 26px -14px rgba(41, 224, 255, 0.52),
    inset 0 0 0 1px rgba(190, 130, 255, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.storm-zone-btn:focus-visible{ outline: 2px solid rgba(207, 230, 255, 0.9); outline-offset: 2px; }
.storm-zone-btn:active{
  transform: scale(0.96);
  box-shadow:
    0 8px 24px -10px rgba(154, 79, 208, 0.85),
    0 12px 28px -12px rgba(41, 224, 255, 0.45),
    inset 0 0 0 1px rgba(190, 130, 255, 0.60),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.storm-zone-btn:hover .storm-zone-btn__strike,
.storm-zone-btn:focus-visible .storm-zone-btn__strike,
.storm-zone-btn:active .storm-zone-btn__strike{ animation: storm-zone-strike-live 1.5s linear infinite; }
.storm-zone-btn:hover .storm-zone-btn__strike2,
.storm-zone-btn:focus-visible .storm-zone-btn__strike2,
.storm-zone-btn:active .storm-zone-btn__strike2{ animation: storm-zone-strike-live2 1.5s linear infinite; }
.storm-zone-btn:hover .storm-zone-btn__flash,
.storm-zone-btn:focus-visible .storm-zone-btn__flash,
.storm-zone-btn:active .storm-zone-btn__flash{ animation: storm-zone-flash-live 1.5s linear infinite; }
.storm-zone-btn:hover .storm-zone-btn__bolt,
.storm-zone-btn:focus-visible .storm-zone-btn__bolt{ filter: brightness(1.3); }
.storm-zone-btn:active .storm-zone-btn__bolt{ filter: brightness(1.45); }
.storm-zone-btn:active .storm-zone-btn__arrow{ transform: translateX(2.5px); }
@keyframes storm-zone-drift{
  from { transform: translate3d(-2%, -1.5%, 0) scale(1.28); }
  to   { transform: translate3d(2%, 2%, 0) scale(1.36); }
}
@keyframes storm-zone-breathe{
  0%, 100% { filter: drop-shadow(0 0 6px rgba(138, 91, 224, 0.18)); }
  50%      { filter: drop-shadow(0 0 15px rgba(154, 79, 208, 0.45)); }
}
@keyframes storm-zone-strike{ 0%,8%,100%{opacity:0} 1.2%{opacity:.85} 2.6%{opacity:.14} 4%{opacity:.7} 6%{opacity:.08} }
@keyframes storm-zone-flash{ 0%,7%,100%{opacity:0} 1.6%{opacity:.28} 3.2%{opacity:.07} 4.6%{opacity:.2} }
@keyframes storm-zone-sweep{ 0%{transform:translateX(-155%)} 5.5%{transform:translateX(155%)} 100%{transform:translateX(155%)} }
@keyframes storm-zone-bolt-glow{ 0%,100%{opacity:.4} 50%{opacity:.95} }
@keyframes storm-zone-strike-live{ 0%,100%{opacity:0} 5%{opacity:.95} 11%{opacity:.2} 18%{opacity:.85} 25%{opacity:.08} 36%{opacity:.6} 45%{opacity:0} }
@keyframes storm-zone-strike-live2{ 0%,16%,100%{opacity:0} 21%{opacity:.9} 28%{opacity:.14} 35%{opacity:.7} 44%{opacity:0} }
@keyframes storm-zone-flash-live{ 0%,100%{opacity:0} 5%{opacity:.32} 12%{opacity:.08} 20%{opacity:.24} 30%{opacity:.05} 45%{opacity:0} }
@media (max-width: 360px){
.storm-zone-btn{
    --szb-fs:  14px;
    --szb-gap: 5px;
    --szb-pl:  9px;
    --szb-pr:  10px;
    --szb-ico: 18px;
    --szb-arw: 12px;
  }
}
.storm-zone-btn--compact{
  --szb-fs:  14px;
  --szb-gap: 5px;
  --szb-pl:  9px;
  --szb-pr:  10px;
  --szb-ico: 18px;
  --szb-arw: 12px;
}
@media (prefers-reduced-motion: reduce){
.storm-zone-btn,
  .storm-zone-btn__cloud,
  .storm-zone-btn__strike,
  .storm-zone-btn__strike2,
  .storm-zone-btn__flash,
  .storm-zone-btn__sweep,
  .storm-zone-btn__bolt-glow,
  .storm-zone-btn:hover .storm-zone-btn__strike,
  .storm-zone-btn:hover .storm-zone-btn__strike2,
  .storm-zone-btn:hover .storm-zone-btn__flash,
  .storm-zone-btn:focus-visible .storm-zone-btn__strike,
  .storm-zone-btn:focus-visible .storm-zone-btn__strike2,
  .storm-zone-btn:focus-visible .storm-zone-btn__flash,
  .storm-zone-btn:active .storm-zone-btn__strike,
  .storm-zone-btn:active .storm-zone-btn__strike2,
  .storm-zone-btn:active .storm-zone-btn__flash{ animation: none; }
.storm-zone-btn__sweep{ transform: translateX(-155%); }
.storm-zone-btn__arrow{ transition: none; }
.storm-zone-btn:active .storm-zone-btn__arrow{ transform: none; }
}
.bay-glass-button{
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center;
  gap: 10px; min-height: 44px; padding: 12px 22px 12px 12px;
  font-weight: 700; font-size: 15px; line-height: 1; white-space: nowrap;
  color: #eef4ff; text-decoration: none; cursor: pointer; outline: none;
  border: 2px solid transparent; border-radius: 999px;
  background:
    linear-gradient(160deg, rgba(15, 25, 48, 0.95), rgba(10, 18, 36, 0.97)) padding-box,
    conic-gradient(from var(--neon-border-angle, 120deg),
      #29e0ff 0deg, #2b7bff 70deg, #35e46e 140deg,
      #ff3ba0 235deg, #ffb04d 300deg, #29e0ff 360deg) border-box;

  box-shadow:
    0 8px 22px -12px rgba(41, 224, 255, 0.55),
    0 12px 26px -14px rgba(255, 160, 60, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: transform 0.2s ease, box-shadow 0.25s ease;
  animation: neon-border-chase 18s linear infinite;
}
.bay-glass-button__strip{
  position: absolute; top: 1px; left: 16px; right: 16px; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, transparent, #29e0ff 40%, rgba(255, 255, 255, 0.85) 50%, #29e0ff 60%, transparent);
  background-size: 200% 100%; box-shadow: 0 0 6px #29e0ff; opacity: 0.6; pointer-events: none;
  animation: neon-edge-drift 9s ease-in-out infinite;
}
.bay-glass-button__badge{
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%;
  display: grid; place-items: center; color: #241503;
  background: linear-gradient(180deg, #ffc061, #f78a1c);
  box-shadow: 0 0 12px rgba(255, 160, 60, 0.5); transition: box-shadow 0.25s ease;
}
.bay-glass-button__badge svg{ width: 16px; height: 16px; }
.bay-glass-button__label{ white-space: nowrap; }
.bay-glass-button__arrow{ flex: 0 0 auto; color: #29e0ff; transition: transform 0.25s ease; }
.bay-glass-button:hover,
.bay-glass-button:focus-visible{
  transform: translateY(-1px);
  box-shadow:
    0 10px 26px -12px rgba(41, 224, 255, 0.65),
    0 14px 28px -14px rgba(255, 160, 60, 0.28),
    inset 0 0 0 1px rgba(41, 224, 255, 0.4);
}
.bay-glass-button:focus-visible{ outline: 2px solid rgba(207, 230, 255, 0.9); outline-offset: 3px; }
.bay-glass-button:hover .bay-glass-button__badge,
.bay-glass-button:focus-visible .bay-glass-button__badge{ box-shadow: 0 0 16px rgba(255, 175, 75, 0.78); }
.bay-glass-button:hover .bay-glass-button__arrow,
.bay-glass-button:focus-visible .bay-glass-button__arrow{ transform: translateX(2.5px); }
.bay-glass-button:active{
  transform: scale(0.97);
  box-shadow:
    0 8px 24px -10px rgba(41, 224, 255, 0.7),
    0 12px 28px -12px rgba(255, 160, 60, 0.3),
    inset 0 0 0 1px rgba(41, 224, 255, 0.4);
}
.bay-glass-button:active .bay-glass-button__badge{ box-shadow: 0 0 16px rgba(255, 175, 75, 0.78); }
.bay-glass-button:active .bay-glass-button__arrow{ transform: translateX(2.5px); }
@media (max-width: 360px){
.mobile-action--directions .bay-glass-button__badge{ width: 22px; height: 22px; }
.mobile-action--directions .bay-glass-button__badge svg{ width: 14px; height: 14px; }
}
.mob-sticky .storm-zone-btn{
  flex: 1;
  border-radius: 999px;
  padding: 0 var(--szb-pr) 0 var(--szb-pl);
  gap: var(--szb-gap);
  font-size: var(--szb-fs);
}
.ssi, .ssi *, .ssi *::before, .ssi *::after{ box-sizing: border-box; }
.ssi{
  position: relative; overflow: hidden;

  background: linear-gradient(180deg, #0c1a36 0%, #071022 42%, #050B16 58%, #03070D 100%);
  font-family: var(--font); color: #EDF5FF;
}
.ssi-strips{ position: absolute; inset: 0 0 auto; height: 42%; opacity: .7; pointer-events: none; }
.ssi-strips::after{ content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8,18,38,0) 0%, rgba(7,16,34,.3) 40%, #071022 100%); }
.ssi-tube{ position: absolute; height: 3px; border-radius: 3px; pointer-events: none;
  background: linear-gradient(90deg, color-mix(in oklab, var(--tube, #2BE0D4) 25%, transparent) 0%, var(--tube, #2BE0D4) 50%, color-mix(in oklab, var(--tube, #2BE0D4) 25%, transparent) 100%);
  background-size: 260% 100%;
  box-shadow: 0 0 18px 1px color-mix(in oklab, var(--tube, #2BE0D4) 50%, transparent), 0 0 60px 6px color-mix(in oklab, var(--tube, #2BE0D4) 22%, transparent);
  animation: ssiSlide 22s ease-in-out infinite alternate; }
.ssi-tube--1{ top: 52px; left: 8%; right: 8%; }
.ssi-tube--2{ top: 94px; left: 17%; right: 17%; --tube: #4D8DFF; height: 2px; animation-duration: 26s; animation-delay: -9s; }
.ssi-dot{ position: absolute; top: 49px; width: 6px; height: 6px; border-radius: 50%; pointer-events: none;
  background: #FF9A3E; box-shadow: 0 0 10px 2px rgba(255,154,62,.6); }
.ssi-dot--l{ left: calc(8% - 13px); }
.ssi-dot--r{ right: calc(8% - 13px); }
.ssi-floorline{ position: absolute; left: 0; right: 0; top: 56%; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(140,190,255,.14) 50%, transparent 100%); }
.ssi-floor{ position: absolute; inset: auto 0 0; height: 44%; pointer-events: none;
  background-image: radial-gradient(40% 120% at 22% 100%, rgba(43,224,212,.15), transparent 70%), radial-gradient(36% 110% at 50% 100%, rgba(255,177,61,.08), transparent 70%), radial-gradient(38% 120% at 80% 100%, rgba(77,141,255,.12), transparent 70%);
  background-size: 230% 100%; background-repeat: no-repeat; filter: blur(8px);
  animation: ssiReflect 34s ease-in-out infinite alternate; }
.ssi-shimmer{ position: absolute; inset: auto 0 0; height: 38%; pointer-events: none; filter: blur(1px);
  background: repeating-linear-gradient(90deg, rgba(170,220,255,.04) 0 2px, transparent 2px 34px);
  animation: ssiShimmer 26s linear infinite;
  mask-image: linear-gradient(180deg, transparent 0%, #000 45%); -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 45%); }
.ssi-floorfade{ position: absolute; left: 0; right: 0; bottom: 26%; height: 12%; pointer-events: none;
  background: linear-gradient(180deg, #050B16 0%, rgba(5,11,22,0) 100%); }
.ssi-mist{ position: absolute; top: 8%; left: 0; width: 58%; height: 44%; pointer-events: none; filter: blur(28px);
  background: radial-gradient(50% 50% at 50% 50%, rgba(160,205,255,.06), transparent 70%);
  animation: ssiMist 48s ease-in-out infinite alternate; }
.ssi-vignette{ position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(125% 100% at 50% 26%, transparent 52%, rgba(2,5,10,.6) 100%); }
.ssi-content{ position: relative; z-index: 2; max-width: var(--container); margin: 0 auto; padding: 64px 96px 72px; }
.ssi-head{ display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; margin: 76px 0 38px; }
.ssi-eyebrow{ display: flex; align-items: center; gap: 12px; margin: 0;
  font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: #6FE3D6; }
.ssi-eyebrow::before, .ssi-eyebrow::after{ content: ""; width: 26px; height: 2px; box-shadow: 0 0 8px rgba(43,224,212,.8); }
.ssi-eyebrow::before{ background: linear-gradient(90deg, rgba(43,224,212,0), #2BE0D4); }
.ssi-eyebrow::after{ background: linear-gradient(90deg, #2BE0D4, rgba(43,224,212,0)); }
.ssi-title{ margin: 0; font-family: var(--font-head); font-weight: 800; font-size: 38px; line-height: 1.08; letter-spacing: -.015em; color: #F2F8FF; text-shadow: 0 0 32px rgba(77,141,255,.28); }
.ssi-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: stretch; list-style: none; margin: 0; padding: 0; }
.ssi-cardShell{ --bc: color-mix(in oklab, var(--a) 24%, rgba(150,190,255,.1)); position: relative; border-radius: 16px; transition: transform .55s cubic-bezier(.22,.61,.36,1); }
.ssi-cardShell::before{ content: ""; position: absolute; inset: 0; border-radius: 16px; opacity: .5;
  box-shadow: 0 0 14px -6px color-mix(in oklab, var(--a) 42%, transparent), 0 8px 22px -14px color-mix(in oklab, var(--a) 52%, transparent);
  animation: ssiGlow 7s ease-in-out infinite; animation-play-state: paused; }
.ssi-cardShell:nth-child(2)::before{ animation-duration: 7.4s; animation-delay: -2.4s; }
.ssi-cardShell:nth-child(3)::before{ animation-duration: 7.8s; animation-delay: -4s; }
.ssi-cardShell:nth-child(4)::before{ animation-duration: 7.2s; animation-delay: -5.4s; }
.ssi-card{ position: relative; z-index: 1; overflow: hidden; height: 100%; min-height: 132px; border-radius: 16px;
  border: 1px solid var(--bc); transition: border-color .5s ease;
  background: linear-gradient(168deg, rgba(14,27,50,.62), rgba(7,14,27,.74));
  backdrop-filter: blur(13px) saturate(1.25); -webkit-backdrop-filter: blur(13px) saturate(1.25);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06); padding: 22px; display: flex; align-items: center; gap: 16px; }
.ssi-strip{ position: absolute; inset: 0 0 auto; height: 2px; background-size: 220% 100%;
  background: linear-gradient(90deg, transparent, color-mix(in oklab, var(--a) 88%, white) 50%, transparent);
  box-shadow: 0 0 12px 1px color-mix(in oklab, var(--a) 40%, transparent);
  animation: ssiSlide 16s ease-in-out infinite alternate; animation-play-state: paused; }
.ssi-cardShell:nth-child(2) .ssi-strip{ animation-duration: 18s; animation-delay: -6s; }
.ssi-cardShell:nth-child(3) .ssi-strip{ animation-duration: 17s; animation-delay: -9s; }
.ssi-cardShell:nth-child(4) .ssi-strip{ animation-duration: 19s; animation-delay: -3s; }
.ssi-reflect{ position: absolute; inset: auto 0 0; height: 44px;
  background: radial-gradient(70% 160% at 50% 100%, color-mix(in oklab, var(--a) 10%, transparent), transparent 70%); }
.ssi-sweepIn{ position: absolute; top: -30%; bottom: -30%; left: -10%; width: 55%;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.05) 50%, transparent 60%);
  transform: translateX(-150%) skewX(-14deg); transition: transform 1.15s cubic-bezier(.3,.6,.25,1); }
.ssi-strip, .ssi-reflect, .ssi-sweepIn{ pointer-events: none; display: block; }
.ssi-icon{ position: relative; width: 46px; height: 46px; border-radius: 13px; flex: none;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid color-mix(in oklab, var(--a) 42%, transparent);
  background: linear-gradient(180deg, color-mix(in oklab, var(--a) 16%, rgba(10,20,38,.9)), rgba(8,15,29,.9));
  color: color-mix(in oklab, var(--a) 82%, white); box-shadow: inset 0 1px 0 rgba(255,255,255,.09); }
.ssi-iconGlow{ position: absolute; inset: -12px; border-radius: 50%; opacity: .5; pointer-events: none; display: block;
  background: radial-gradient(50% 50% at 50% 50%, color-mix(in oklab, var(--a) 34%, transparent), transparent 70%);
  animation: ssiIconPulse 5.4s ease-in-out infinite; animation-play-state: paused; transition: opacity .6s ease; }
.ssi-icon svg{ position: relative; }
.ssi-label{ display: block; margin-bottom: 6px; font-family: var(--font-head); font-weight: 700; font-size: 10.5px;
  letter-spacing: .18em; text-transform: uppercase; color: color-mix(in oklab, var(--a) 55%, #B9CCE6); }
.ssi-value{ display: block; font-family: var(--font-head); font-weight: 800; font-size: 27px; letter-spacing: -.01em; color: #F2F8FF; }
.ssi-value small{ font-family: var(--font); font-weight: 600; font-size: 14px; letter-spacing: 0; color: #A9BDD9; }
.ssi-value--text{ font-weight: 600; font-size: 17px; line-height: 1.3; letter-spacing: -.005em; }
.ssi-cardShell:hover, .ssi-cardShell:focus-visible, .ssi-cardShell:focus-within{ transform: translateY(-4px); --bc: color-mix(in oklab, var(--a) 52%, rgba(180,210,255,.14)); }
.ssi-cardShell:hover::before, .ssi-cardShell:focus-visible::before, .ssi-cardShell:focus-within::before{ opacity: .9; animation-play-state: running; }
.ssi-cardShell:hover .ssi-strip, .ssi-cardShell:focus-visible .ssi-strip, .ssi-cardShell:focus-within .ssi-strip{ animation-play-state: running; }
.ssi-cardShell:hover .ssi-iconGlow, .ssi-cardShell:focus-visible .ssi-iconGlow, .ssi-cardShell:focus-within .ssi-iconGlow{ opacity: .85; animation-play-state: running; }
.ssi-cardShell:hover .ssi-sweepIn, .ssi-cardShell:focus-visible .ssi-sweepIn, .ssi-cardShell:focus-within .ssi-sweepIn{ transform: translateX(340%) skewX(-14deg); }
.ssi-cardShell:focus-visible{ outline: 2px solid color-mix(in oklab, var(--a) 70%, white); outline-offset: 3px; }
@keyframes ssiSlide{ from { background-position: 0% 0; } to { background-position: 100% 0; } }
@keyframes ssiReflect{ from { background-position: 8% 100%; } to { background-position: 92% 100%; } }
@keyframes ssiShimmer{ from { background-position: 0 0; } to { background-position: 340px 0; } }
@keyframes ssiGlow{ 0%, 100% { opacity: .5; } 50% { opacity: .9; } }
@keyframes ssiIconPulse{ 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
@keyframes ssiMist{ from { transform: translate3d(-3%,1%,0); } to { transform: translate3d(3%,-2%,0); } }
@media (max-width: 1100px){
.ssi-grid{ grid-template-columns: 1fr 1fr; }
.ssi-content{ padding: 56px 48px 64px; }
}
@media (max-width: 640px){
.ssi-grid{ grid-template-columns: 1fr; gap: 14px; }
.ssi-content{ padding: 40px 20px 56px; }
.ssi-head{ margin-top: 64px; gap: 11px; }
.ssi-eyebrow{ font-size: 10.5px; }
.ssi-eyebrow::before, .ssi-eyebrow::after{ width: 18px; }
.ssi-title{ font-size: 28px; }
.ssi-card{ padding: 16px 18px; min-height: 0; gap: 14px; }
.ssi-icon{ width: 44px; height: 44px; border-radius: 12px; }
.ssi-value{ font-size: 22px; }
.ssi-value small{ font-size: 13px; }
.ssi-value--text{ font-size: 16px; }
.ssi-tube--1{ top: 48px; left: 22px; right: 22px; height: 2px; }
.ssi-tube--2{ top: 80px; left: 52px; right: 52px; }
.ssi-tube, .ssi-strip, .ssi-shimmer, .ssi-floor{ animation: none; }
.ssi-strips, .ssi-mist, .ssi-floorline, .ssi-dot{ display: none; }
}
@media (prefers-reduced-motion: reduce){
.ssi *, .ssi *::before, .ssi *::after{ animation-play-state: paused !important; transition-duration: .01s !important; }
.ssi-cardShell:hover, .ssi-cardShell:focus-visible{ transform: none; }
.ssi-cardShell:hover .ssi-sweepIn, .ssi-cardShell:focus-visible .ssi-sweepIn{ transform: translateX(-150%) skewX(-14deg); }
}
.szb-section{
  position:relative; overflow:hidden; isolation:isolate;
  background:linear-gradient(180deg,#0a1222 0%,#0b1428 55%,#0a1120 100%);
}
.szb-layer{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.szb-content{ position:relative; z-index:1; }
.szb-glow{
  background:
    radial-gradient(46% 40% at 12% 8%,  rgba(41,150,255,.10), transparent 70%),
    radial-gradient(40% 36% at 88% 14%, rgba(138,91,224,.13), transparent 70%),
    radial-gradient(50% 44% at 50% 100%, rgba(41,224,255,.06), transparent 72%);
}
.szb-foam{
  opacity:.5;
  background-image:
    radial-gradient(rgba(190,225,255,.06) 1px, transparent 1.4px),
    radial-gradient(rgba(138,91,224,.05) 1px, transparent 1.4px);
  background-size:24px 24px, 30px 30px;
  background-position:0 0, 12px 15px;
}
.szb-micro{
  opacity:1;
  background-image:
    radial-gradient(circle at 30% 60%, rgba(190,225,255,.30) 0 1.5px, rgba(160,200,255,.10) 2.5px, transparent 4px),
    radial-gradient(circle at 70% 20%, rgba(41,224,255,.24) 0 1px, transparent 3px),
    radial-gradient(circle at 12% 15%, rgba(200,180,255,.20) 0 1.2px, transparent 3.5px),
    radial-gradient(circle at 55% 85%, rgba(190,225,255,.16) 0 1px, transparent 3px),
    radial-gradient(circle at 42% 35%, rgba(160,220,255,.20) 0 1.3px, transparent 3.5px),
    radial-gradient(circle at 85% 65%, rgba(190,225,255,.14) 0 1px, transparent 2.6px);
  background-size:120px 190px, 90px 150px, 150px 230px, 70px 120px, 100px 160px, 60px 100px;
}
.szb-vignette{
  background:
    radial-gradient(110% 80% at 50% 60%, rgba(6,9,18,.5) 26%, rgba(6,9,18,.22) 56%, transparent 78%),
    radial-gradient(140% 110% at 50% 50%, transparent 62%, rgba(4,6,12,.5) 100%);
}
.szb{
  position:absolute; bottom:-6%;
  width:var(--s,12px); height:var(--s,12px); border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%, rgba(255,255,255,.55) 0%, rgba(255,255,255,.16) 11%, transparent 24%),
    radial-gradient(circle at 70% 76%, rgba(41,224,255,.26) 0%, transparent 46%);
  box-shadow:
    inset  0  0 0 1px rgba(190,225,255,.30),
    inset -2px -3px 6px rgba(138,91,224,.26),
    inset  2px  2px 4px rgba(255,255,255,.12);
  opacity:var(--o,.3);
}
.szb--violet{ box-shadow:inset 0 0 0 1px rgba(200,180,255,.34), inset -2px -3px 6px rgba(138,91,224,.42), inset 2px 2px 4px rgba(255,255,255,.12); }
.szb--gold::after{ content:""; position:absolute; left:56%; top:32%; width:26%; height:26%; border-radius:50%;
  background:radial-gradient(circle, rgba(255,176,77,.6), transparent 72%); }
.szb-layer--far{ filter:blur(1.6px); }
.szb-layer--fore .szb{
  background:
    radial-gradient(circle at 30% 26%, rgba(255,255,255,.6) 0%, rgba(255,255,255,.2) 9%, transparent 21%),
    radial-gradient(circle at 72% 78%, rgba(41,224,255,.3) 0%, transparent 48%),
    radial-gradient(circle at 24% 72%, rgba(138,91,224,.18) 0%, transparent 42%);
}
@keyframes szb-rise{
  0%  { transform:translate3d(0,0,0) scale(.92); opacity:0; }
  8%  { opacity:var(--o,.3); }
  84% { opacity:var(--o,.3); }
  100%{ transform:translate3d(var(--dx,0px),-540px,0) scale(1.07); opacity:0; }
}
@keyframes szb-shimmer{ from{ opacity:.75; } to{ opacity:1; } }
@keyframes szb-micro{ from{ background-position:0 0,0 0,0 0,0 0,0 0,0 0; } to{ background-position:14px -190px, -10px -300px, 18px -230px, -8px -360px, 12px -320px, -6px -400px; } }
@media (prefers-reduced-motion: no-preference){
.szb{ opacity:0; animation:szb-rise calc(var(--t,30s)*.65) linear var(--d,0s) infinite; }
.szb-glow{ animation:szb-shimmer 16s ease-in-out infinite alternate; }
.szb-micro{ animation:szb-micro 34s linear infinite; }
}
@media (prefers-reduced-motion: reduce){
.szb{ animation:none; }
.szb-glow{ animation:none; }
.szb-micro{ animation:none; }
}
@media (max-width:1024px){
.szb--xl{ display:none; }
}
@media (max-width:620px){
.szb-layer--fore{ display:none; }
.szb-layer--far, .szb-layer--mid{ opacity:.75; }
}
.self-service-paired-bubbles .szb-glow{
  background:
    radial-gradient(46% 42% at 14% 10%, rgba(41,224,255,.10), transparent 70%),
    radial-gradient(42% 38% at 86% 18%, rgba(43,123,255,.11), transparent 70%),
    radial-gradient(50% 40% at 50% 100%, rgba(138,91,224,.05), transparent 74%);
}
.self-service-paired-bubbles .szb-micro{ opacity:.7; }
.reviews-gallery-grid .wr-section{ margin-top: 0; background: transparent; background-image: none; box-shadow: none; }
.reviews-gallery-grid .wr-depth, .reviews-gallery-grid .wr-section__drift{ display: none; }
@media (min-width: 901px){
.reviews-gallery-grid .wr-section{
    height: 100%; padding: 16px; display: flex; align-items: center;
    border: 2px solid transparent; border-radius: 22px; overflow: hidden; isolation: isolate;
    background:
      linear-gradient(rgba(12, 20, 38, .93), rgba(13, 23, 44, .93)) padding-box,
      conic-gradient(from var(--wr-a, 120deg), #29e0ff, #2b7bff 30%, #8a5be0 55%, #ffb04d 78%, #29e0ff) border-box;
    filter: drop-shadow(0 0 8px rgba(41, 224, 255, .22)) drop-shadow(0 0 18px rgba(138, 91, 224, .2));
  }
.reviews-gallery-grid .wr-section:has(.wr-card--active-flash){
    filter: drop-shadow(0 0 10px rgba(41, 224, 255, .34)) drop-shadow(0 0 22px rgba(138, 91, 224, .3));
  }
.reviews-gallery-grid .wr-section__inner{ width: 100%; height: 100%; display: flex; flex-direction: column; }
.reviews-gallery-grid .wr-card{
    height: auto; flex: 1 1 auto; border: none; background: none; filter: none; box-shadow: none;
  }
.reviews-gallery-grid .wr-card:hover{ transform: none; filter: none; }
.reviews-gallery-grid .wr-slide{ padding: 22px 26px 16px; }
.reviews-gallery-grid .wr-controls{ margin-top: 12px; }
}
@media (min-width: 901px){
.reviews-gallery-grid__gallery .wpa{
    --wpa-card-w: calc((var(--reviews-gallery-height) - 0.52 * var(--wpa-frame) - var(--wpa-border) - 68px - 6px) / 0.74);
  }
}
.wpa{

  --wpa-cyan:    #4fd0d6;
  --wpa-cyan-2:  #29e0ff;
  --wpa-violet:  #9a4fd0;
  --wpa-violet-2:#8a5be0;
  --wpa-orange:  #ff9a3c;
  --wpa-gold:    #f0c790;
  --wpa-navy:    #0b1b3f;

  --wpa-paper-a: #cbd1dc;
  --wpa-paper-b: #aeb7c6;
  --wpa-paper-c: #8f99ab;
  --wpa-paper-highlight: rgba(225, 235, 248, 0.28);


  --wpa-card-w: 336px;
  --wpa-frame:  15px;
  --wpa-border: 66px;
  --wpa-radius: 12px;


  --wpa-fade: 780ms;

  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: Space, system-ui, -apple-system, sans-serif;
}
.wpa__glow{
  position: absolute;
  left: 50%; top: 48%;
  width: calc(var(--wpa-card-w) * 1.5);
  height: calc(var(--wpa-card-w) * 1.25);
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(46% 42% at 40% 28%, rgba(41,224,255,.14), transparent 68%),
    radial-gradient(44% 46% at 66% 62%, rgba(154,79,208,.14), transparent 70%),
    radial-gradient(40% 30% at 50% 86%, rgba(255,154,60,.06), transparent 72%);
  filter: blur(16px);
  opacity: .5;
  transition: opacity .5s ease;
}
.wpa:hover .wpa__glow,
.wpa:focus-within .wpa__glow{ opacity: .72; }
.wpa__stage{
  position: relative;
  z-index: 1;
  width: var(--wpa-card-w);

  height: calc((var(--wpa-card-w) - var(--wpa-frame) * 2) * 0.74 + var(--wpa-frame) * 2 + var(--wpa-border));
}
.wpa__card,
.wpa__behind{
  position: absolute;
  inset: 0;
  border-radius: var(--wpa-radius);
  padding: var(--wpa-frame);
  background:
    repeating-linear-gradient(93deg, rgba(140,150,168,.03) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(2.5deg, rgba(140,150,168,.022) 0 1px, transparent 1px 4px),
    radial-gradient(120% 90% at 50% 8%, var(--wpa-paper-highlight), transparent 60%),
    linear-gradient(155deg, var(--wpa-paper-a) 0%, var(--wpa-paper-b) 55%, var(--wpa-paper-c) 100%);
}
.wpa__card{
  padding-bottom: var(--wpa-frame);
  display: flex;
  flex-direction: column;
  box-shadow:
    0 18px 36px -16px rgba(4,9,22,.64),
    0 5px 12px -6px rgba(4,9,22,.5),
    0 0 0 1px var(--wpa-paper-highlight) inset,
    0 0 9px 0 rgba(79,208,214,.2),
    0 0 16px 1px rgba(154,79,208,.16);
  transition: box-shadow .5s ease, transform var(--wpa-fade) ease;
}
.wpa:hover .wpa__card{
  box-shadow:
    0 24px 48px -18px rgba(4,9,22,.72),
    0 8px 18px -8px rgba(4,9,22,.55),
    0 0 0 1px var(--wpa-paper-highlight) inset,
    0 0 14px 0 rgba(79,208,214,.32),
    0 0 26px 2px rgba(154,79,208,.26);
}
.wpa__behind{ pointer-events: none; filter: blur(.4px); }
.wpa__behind--1{
  transform: translate(15px, 11px) rotate(3.4deg) scale(.982);
  box-shadow: 0 14px 30px -16px rgba(4,9,22,.62), 0 0 0 1px rgba(154,79,208,.32) inset, 0 0 10px -2px rgba(154,79,208,.32);
  filter: blur(.4px) brightness(.9);
}
.wpa__behind--2{
  transform: translate(-13px, 18px) rotate(-4.4deg) scale(.964);
  box-shadow: 0 14px 30px -16px rgba(4,9,22,.62), 0 0 0 1px rgba(41,224,255,.3) inset, 0 0 10px -2px rgba(41,224,255,.3);
  filter: blur(.4px) brightness(.8);
}
.wpa__window{
  position: relative;
  flex: none;
  width: 100%;
  aspect-ratio: 1 / 0.74;
  border-radius: 4px;
  overflow: hidden;
  background: var(--wpa-navy);
  box-shadow:
    inset 0 3px 0 rgba(79,208,214,.85),
    inset 0 5px 12px -3px rgba(41,224,255,.4),
    inset 0 0 0 1px rgba(11,27,63,.18),
    inset 0 -8px 16px -6px rgba(11,27,63,.42);
}
.wpa__behind .wpa__window{ aspect-ratio: 1 / 0.74; }
.wpa__layer{
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity var(--wpa-fade) ease;
}
.wpa__layer.is-active{ opacity: 1; }
.wpa__layer img,
.wpa__behind .wpa__window img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.wpa__fx{ position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.wpa__sheen{
  position: absolute; inset: 0;
  background: linear-gradient(118deg, transparent 30%, rgba(226,242,255,.18) 46%, rgba(255,255,255,.06) 52%, transparent 66%);
}
.wpa__spark{
  position: absolute; top: -14%; right: -10%; width: 48%; height: 48%;
  background: radial-gradient(circle at 70% 30%, rgba(224,82,120,.3), transparent 62%);
  mix-blend-mode: screen;
}
.wpa__corner{
  position: absolute; right: 9px; bottom: 9px; width: 18px; height: 18px;
  border-right: 2px solid rgba(240,199,144,.92);
  border-bottom: 2px solid rgba(240,199,144,.92);
  border-bottom-right-radius: 3px;
  filter: drop-shadow(0 0 3px rgba(240,199,144,.65));
}
.wpa__border{
  position: relative;
  flex: 1;
  min-height: calc(var(--wpa-border) - var(--wpa-frame));
  display: flex;
  align-items: center;
}
.wpa__caption{
  margin: 0;
  font-weight: 500;
  font-size: 13.5px;
  line-height: 1.25;
  color: rgba(11,27,63,.8);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color .4s ease;
}
.wpa:hover .wpa__caption{ color: var(--wpa-navy); }
.wpa__caption:empty{ display: none; }
.wpa__reflection{
  position: absolute; left: 50%; bottom: -8px;
  width: calc(var(--wpa-card-w) * .8); height: 54px;
  transform: translateX(-50%) scaleY(-1);
  transform-origin: top center;
  border-radius: var(--wpa-radius);
  overflow: hidden; pointer-events: none; z-index: 0;
  opacity: .15; filter: blur(3px);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 78%);
          mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 78%);
}
.wpa__reflection img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.wpa__controls{
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: center; gap: 18px;
  margin-top: 24px;
}
.wpa__controls[hidden]{ display: none; }
.wpa__btn{
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(120,180,255,.28);
  background: rgba(12,20,38,.82); color: #9fc2e8;
  display: grid; place-items: center; cursor: pointer;
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  transition: box-shadow .25s ease, color .25s ease, transform .2s ease;
}
.wpa__btn:hover{ box-shadow: 0 0 0 1.5px rgba(41,224,255,.8), 0 10px 26px -12px rgba(138,91,224,.8); color: #dff4ff; transform: translateY(-1px); }
.wpa__btn:focus-visible{ outline: 2px solid rgba(207,230,255,.95); outline-offset: 3px; }
.wpa__dots{ display: flex; gap: 8px; align-items: center; }
.wpa__dot{
  height: 5px; width: 16px; border-radius: 99px; border: 0; padding: 0; cursor: pointer;
  background: rgba(120,160,220,.32);
  transition: width .3s ease, background .3s ease, box-shadow .3s ease;
}
.wpa__dot[aria-selected="true"]{
  width: 28px;
  background: linear-gradient(90deg, #ffb04d, #ff8a2b);
  box-shadow: 0 0 10px rgba(255,176,77,.75);
}
.wpa__dot:focus-visible{ outline: 2px solid rgba(207,230,255,.95); outline-offset: 3px; }
.wpa__sr{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wpa__empty{
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  width: var(--wpa-card-w);
  min-height: calc(var(--wpa-card-w) * .72);
  padding: 40px 28px; text-align: center; color: #9db0d4;
  border-radius: var(--wpa-radius);
  border: 1.5px dashed rgba(120,180,255,.3);
  background: rgba(12,20,38,.28);
}
.wpa__empty svg{ color: var(--wpa-cyan); opacity: .9; }
.wpa__empty b{ color: #dfe6f6; font-family: Bricolage, Space, system-ui, sans-serif; font-size: 15px; }
.wpa__empty span{ font-size: 13px; line-height: 1.5; max-width: 230px; }
@media (max-width: 900px){
.wpa{ --wpa-card-w: min(46vw, 320px); }
.wpa__behind--1{ transform: translate(12px, 9px) rotate(2.8deg) scale(.984); }
.wpa__behind--2{ transform: translate(-11px, 15px) rotate(-3.6deg) scale(.968); }
}
@media (max-width: 640px){
.wpa{
    --wpa-card-w: min(80vw, 300px);
    --wpa-frame: 13px;
    --wpa-border: 52px;
    --wpa-radius: 10px;
  }
.wpa__behind--1{ transform: translate(9px, 7px) rotate(2deg) scale(.986); }
.wpa__behind--2{ display: none; }
.wpa__glow{ filter: blur(12px); opacity: .6; }
.wpa__controls{ margin-top: 18px; }
}
@media (prefers-reduced-motion: reduce){
.wpa__layer,
  .wpa__card,
  .wpa__caption,
  .wpa__glow,
  .wpa__btn,
  .wpa__dot{ transition: none !important; }
}
.sso-section, .sso-section *, .sso-section *::before, .sso-section *::after{ box-sizing: border-box; }
.sso-section{
  position: relative; overflow: hidden; isolation: isolate;
  padding: 64px 34px 72px; font-family: var(--font); color: #eaf2ff;

  background: linear-gradient(180deg, #0a1120 0%, #0a1224 44%, #0b1630 62%, #0c1a36 100%);
}
.sso-section::after{
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(120% 95% at 50% 38%, transparent 55%, rgba(3, 6, 12, 0.62) 100%);
}
.sso-tube{ position: absolute; top: 34px; left: 12%; right: 12%; height: 2px; border-radius: 2px; pointer-events: none; z-index: 0;
  background-size: 260% 100%;
  background-image: linear-gradient(90deg, #ff7a2b 0%, #29e0ff 12%, #2fd4d4 50%, #29e0ff 88%, #ff7a2b 100%);
  box-shadow: 0 0 14px 1px rgba(41, 224, 255, 0.45);
  animation: ssiSlide 24s ease-in-out infinite alternate; }
.sso-mist{ position: absolute; top: 10%; left: -6%; width: 60%; height: 46%; z-index: 0; pointer-events: none; filter: blur(28px);
  background: radial-gradient(50% 50% at 50% 50%, rgba(140, 180, 255, 0.06), transparent 70%);
  animation: ssiMist 44s ease-in-out infinite alternate; }
.sso-floor{ position: absolute; left: 0; right: 0; bottom: 0; height: 32%; z-index: 0; pointer-events: none;
  box-shadow: inset 0 1px 0 rgba(140, 190, 255, 0.14);
  background:
    radial-gradient(30% 90% at 16% 0%, rgba(41, 224, 255, 0.13), transparent 70%),
    radial-gradient(26% 80% at 40% 0%, rgba(43, 123, 255, 0.11), transparent 70%),
    radial-gradient(22% 75% at 64% 0%, rgba(255, 176, 77, 0.08), transparent 70%),
    radial-gradient(24% 80% at 86% 0%, rgba(255, 59, 160, 0.09), transparent 72%),
    linear-gradient(180deg, rgba(10, 16, 32, 0.35), rgba(7, 11, 22, 0.85));
  animation: ssiGlow 9s ease-in-out infinite; }
.sso-floor::before{
  content: ""; position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, rgba(170, 205, 255, 0.035) 0 2px, transparent 2px 28px); }
.sso-head{ position: relative; z-index: 2; text-align: center; margin: 0 0 30px; }
.sso-eyebrow-row{
  display: flex; align-items: center; justify-content: center; gap: 16px;
  max-width: 560px; margin: 0 auto 14px; width: 100%;
  font-family: var(--font-head); font-weight: 700; font-size: 12px; letter-spacing: 0.24em;
  color: #8fd3ff; white-space: nowrap;
}
.sso-eyebrow-row::before, .sso-eyebrow-row::after{
  content: ""; flex: 1 1 0; min-width: 20px; height: 2px; border-radius: 2px;
}
.sso-eyebrow-row::before{
  background:
    radial-gradient(circle at 0% 50%, rgba(255, 154, 60, 0.95), transparent 55%),
    linear-gradient(90deg, #ff7a2b 0%, #29e0ff 26%, #2fd4d4 100%);
  box-shadow: 0 0 8px rgba(41, 224, 255, 0.45);
}
.sso-eyebrow-row::after{
  background:
    radial-gradient(circle at 100% 50%, rgba(255, 154, 60, 0.95), transparent 55%),
    linear-gradient(90deg, #2fd4d4 0%, #29e0ff 74%, #ff7a2b 100%);
  box-shadow: 0 0 8px rgba(41, 224, 255, 0.45);
}
.sso-head h2{ margin: 0 0 10px; font-family: var(--font-head); font-weight: 900; font-size: clamp(26px, 3.4vw, 38px); line-height: 1; letter-spacing: -0.02em; color: #eef4ff; }
.sso-head p{ margin: 0 auto; max-width: 52ch; color: #a8b8d4; font-size: 15px; line-height: 1.5; }
.sso-grid{ position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; width: 100%; }
.sso-card{
  position: relative; width: 100%; min-width: 0; min-height: 210px; border: 2px solid transparent; border-radius: 18px;
  overflow: hidden; isolation: isolate; color: #eaf2ff; outline: none;
  background: linear-gradient(160deg, rgba(13, 22, 42, 0.82), rgba(10, 17, 34, 0.88)) padding-box,
              conic-gradient(from 140deg, var(--e1, #29e0ff), var(--e2, #2fd4d4), var(--e1, #29e0ff)) border-box;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  box-shadow: 0 18px 44px -30px var(--e1, #29e0ff), inset 0 0 0 1px rgba(255, 255, 255, 0.03);
  transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.28s ease;
}
.sso-card__strip{ position: absolute; top: 0; left: 16px; right: 16px; height: 2px; border-radius: 2px; z-index: 2;
  background: linear-gradient(90deg, transparent 0%, var(--e1, #29e0ff) 35%, rgba(255, 255, 255, 0.9) 50%, var(--e1, #29e0ff) 65%, transparent 100%);
  background-size: 220% 100%; background-position: 60% 0;
  box-shadow: 0 0 8px var(--e1, #29e0ff); opacity: 0.9;
  animation: ssiSlide 1.8s linear infinite; animation-play-state: paused; }
.sso-card__wet{ position: absolute; left: 0; right: 0; bottom: 0; height: 36%; z-index: 0;
  background: linear-gradient(0deg, color-mix(in srgb, var(--e1, #29e0ff) 12%, transparent), transparent);
  transition: transform 0.5s ease; transform-origin: bottom; }
.sso-card::after{
  content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; border-radius: inherit;
  background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, 0.13) 50%, transparent 60%);
  transform: translateX(-130%); transition: transform 0.7s ease; }
.sso-card__body{ position: relative; z-index: 2; height: 100%; padding: 18px 20px; display: flex; flex-direction: column; gap: 11px; }
.sso-card__icon{ width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px;
  color: var(--e1, #29e0ff);
  background: color-mix(in srgb, var(--e1, #29e0ff) 13%, #0b1524);
  border: 1px solid color-mix(in srgb, var(--e1, #29e0ff) 36%, transparent);
  box-shadow: 0 0 20px -3px color-mix(in srgb, var(--e1, #29e0ff) 60%, transparent);
  transition: box-shadow 0.3s ease; }
.sso-card__icon svg{ width: 26px; height: 26px; }
.sso-card__name{ margin: 0; font-family: var(--font-head); font-weight: 800; font-size: 17px; line-height: 1.15; letter-spacing: -0.01em; color: #eef4ff; }
.sso-card__desc{ margin: 0; font-family: var(--font); font-weight: 500; font-size: 12.5px; line-height: 1.5; color: #aebdd6; }
.sso-card:hover, .sso-card:focus-visible{
  transform: translateY(-4px);
  box-shadow: 0 26px 60px -26px var(--e1, #29e0ff), inset 0 0 0 1px var(--e1, #29e0ff);
}
.sso-card:hover .sso-card__strip, .sso-card:focus-visible .sso-card__strip{ animation-play-state: running; }
.sso-card:hover::after, .sso-card:focus-visible::after{ transform: translateX(130%); }
.sso-card:hover .sso-card__icon, .sso-card:focus-visible .sso-card__icon{ box-shadow: 0 0 28px -2px var(--e1, #29e0ff); }
.sso-card:hover .sso-card__wet, .sso-card:focus-visible .sso-card__wet{ transform: scaleY(1.1); }
.sso-card:focus-visible{ outline: 2px solid rgba(207, 230, 255, 0.9); outline-offset: 3px; }
.sso-card--bays{ --e1: #29e0ff; --e2: #2fd4d4; }
.sso-card--vacuums{ --e1: #2b7bff; --e2: #5aa8ff; }
.sso-card--dryer{ --e1: #29e0ff; --e2: #ffb04d; }
.sso-card--wax{ --e1: #ff3ba0; --e2: #ffb04d; }
@media (prefers-reduced-motion: reduce){
.sso-section *, .sso-section *::before, .sso-section *::after{ animation-play-state: paused !important; transition-duration: 0.01s !important; }
.sso-card:hover, .sso-card:focus-visible{ transform: none; }
.sso-card:hover::after, .sso-card:focus-visible::after{ transform: translateX(-130%); }
.sso-card:hover .sso-card__wet, .sso-card:focus-visible .sso-card__wet{ transform: none; }
}
@media (max-width: 620px){
.sso-grid{ grid-template-columns: 1fr; gap: 14px; }
.sso-section{ padding: 40px 18px 32px; }
.sso-tube{ display: none; }
.sso-eyebrow-row::before, .sso-eyebrow-row::after{ display: none; }
.sso-eyebrow-row{ gap: 0; }
.sso-card{ min-height: 0; }
.sso-card__body{ padding: 18px; }
}
.storm-fx{ position: absolute; inset: 0; overflow: hidden; isolation: isolate; border-radius: inherit; pointer-events: none; z-index: 0; background: #0a0712; }
.storm-fx__layer{ position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; border: 0; display: block; }
.storm-fx__cloud{ object-fit: cover; transform: scale(1.04); }
.storm-fx__droplets{ object-fit: cover; opacity: 0.85; }
.storm-fx__trails{ overflow: hidden; opacity: 0.9; }
.storm-fx__trails::before{
  content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 200%;
  background-image: url("/assets/effects/storm-zone/wet-glass-trails-section.png");
  background-repeat: repeat-y; background-size: 100% 50%;
  will-change: transform; animation: storm-water 32s linear infinite;
}
.storm-fx--card .storm-fx__trails::before{ background-image: url("/assets/effects/storm-zone/wet-glass-trails-card.png"); animation-duration: 26s; }
.storm-fx--section .storm-fx__trails{ opacity: 0.78; }
@keyframes storm-water{ from { transform: translateY(-50%); } to { transform: translateY(0); } }
.storm-fx__bolt{ object-fit: cover; opacity: 0; mix-blend-mode: screen; will-change: opacity; }
.storm-fx__bolt--1{ animation: storm-strike-a 8.5s infinite; }
.storm-fx__bolt--2{ animation: storm-strike-b 8.5s infinite; }
.storm-fx__bolt--3{ animation: storm-strike-c 11.5s infinite; }
.storm-fx__flash{ background: radial-gradient(58% 54% at 46% 34%, rgba(200,120,255,.5), rgba(120,110,255,.15) 46%, transparent 72%); mix-blend-mode: screen; opacity: 0; animation: storm-flash 8.5s infinite; }
@keyframes storm-strike-a{ 0%,6.5%,100%{opacity:0} 1%{opacity:.9} 2.2%{opacity:.18} 3.2%{opacity:1} 4.8%{opacity:.08} }
@keyframes storm-strike-b{ 0%,37%,47%,100%{opacity:0} 39%{opacity:.92} 40.5%{opacity:.22} 42%{opacity:.8} }
@keyframes storm-strike-c{ 0%,66%,79%,100%{opacity:0} 68%{opacity:.82} 70%{opacity:.14} 72.5%{opacity:.74} }
@keyframes storm-flash{ 0%,6.5%,37%,47%,66%,79%,100%{opacity:0} 1%,3.2%{opacity:.5} 39%,42%{opacity:.42} 68%,72.5%{opacity:.34} }
.storm-fx__scrim{ background: linear-gradient(90deg, rgba(8,5,16,.82) 0%, rgba(8,5,16,.45) 38%, rgba(8,5,16,0) 68%); }
.storm-fx--card .storm-fx__scrim{ background: linear-gradient(90deg, rgba(8,5,16,.86) 0%, rgba(8,5,16,.5) 42%, rgba(8,5,16,.06) 74%); }
.storm-photo__tint{ position: absolute; inset: 0; pointer-events: none; background: linear-gradient(165deg, rgba(70,40,120,.30), rgba(18,24,58,.34) 55%, rgba(60,34,96,.28)); mix-blend-mode: multiply; }
.storm-photo__wet{ position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(200,220,255,.16), transparent 13%), linear-gradient(116deg, transparent 42%, rgba(184,204,255,.08) 49%, transparent 57%); }
@media (max-width: 900px){
.storm-fx__droplets{ opacity: 0.72; }
.storm-fx--section .storm-fx__trails{ opacity: 0.6; }
}
.cursor-bubble-layer{
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  overflow: hidden;
}
.cursor-bubble{
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 50%;
  pointer-events: none;
  border: 1px solid rgba(160, 235, 255, 0.45);
  background: radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.55), rgba(160, 235, 255, 0.14) 45%, rgba(160, 235, 255, 0) 75%);
  box-shadow: 0 0 8px rgba(120, 220, 255, 0.35), 0 0 3px rgba(255, 255, 255, 0.35) inset;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
  animation: cursor-bubble-float ease-out forwards;
  will-change: transform, opacity;
}
.cursor-bubble--click{
  border-color: rgba(160, 235, 255, 0.55);
  box-shadow: 0 0 10px rgba(120, 220, 255, 0.45), 0 0 3px rgba(255, 255, 255, 0.4) inset;
}
@keyframes cursor-bubble-float{
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.5); }
  18% { opacity: 0.8; }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--drift, 0px)), calc(-50% - var(--rise, 30px))) scale(1.1);
  }
}
@media (prefers-reduced-motion: reduce){
.cursor-bubble-layer{ display: none; }
}
@media (prefers-reduced-motion: reduce){
.storm-fx__trails::before, .storm-fx__bolt, .storm-fx__flash{ animation: none; }
.storm-fx__trails::before{ transform: translateY(-25%); }
.storm-fx__bolt--1{ opacity: 0.8; }
}
@media (prefers-reduced-motion: reduce){
.neon-bay-border{ animation: none; }
}
@media (prefers-reduced-motion: reduce){
.neon-bay-top-edge{ animation: none; }
}
@media (prefers-reduced-motion: reduce){
.bay-glass-button{ animation: none; transition: box-shadow 0.2s ease; }
.bay-glass-button__strip{ animation: none; }
.bay-glass-button__arrow{ transition: none; }
.bay-glass-button:hover,
  .bay-glass-button:active,
  .bay-glass-button:focus-visible{ transform: none; }
.bay-glass-button:hover .bay-glass-button__arrow,
  .bay-glass-button:active .bay-glass-button__arrow,
  .bay-glass-button:focus-visible .bay-glass-button__arrow{ transform: none; }
}
.community-impact-bubbles .szb-glow{
  background:
    radial-gradient(44% 40% at 14% 10%, rgba(41, 150, 255, .10), transparent 70%),
    radial-gradient(46% 42% at 88% 84%, rgba(154, 79, 208, .12), transparent 72%),
    radial-gradient(40% 36% at 50% 100%, rgba(244, 160, 90, .07), transparent 70%);
}
.community-impact-bubbles .szb-micro{ opacity: .6; }
.community-impact-bubbles .szb-vignette{
  background:
    radial-gradient(farthest-side at 50% 55%, rgba(6, 9, 18, .42) 45%, rgba(6, 9, 18, .16) 75%, transparent 100%),
    radial-gradient(farthest-corner at 50% 50%, transparent 65%, rgba(4, 6, 12, .4) 100%);
}
@keyframes btn-spin{ to { transform: rotate(360deg); } }
@keyframes careers-spin{ to { transform: rotate(360deg); } }
@keyframes careers-shake{
  10%, 90% { transform: translateX(-1px); }
  20%, 80% { transform: translateX(2px); }
  30%, 50%, 70% { transform: translateX(-4px); }
  40%, 60% { transform: translateX(4px); }
}
.location-page__bubbles .szb-glow{
  background:
    radial-gradient(42% 26% at 14% 16%, rgba(41, 224, 255, .08), transparent 72%),
    radial-gradient(44% 30% at 88% 62%, rgba(154, 79, 208, .1), transparent 74%);
}
.location-page__bubbles .szb-foam{ opacity: .42; }
.location-page__bubbles .szb-micro{ opacity: .4; }
.location-page__bubbles .szb-layer--mid{ opacity: .72; }
.location-page__bubbles .szb-layer--fore{ opacity: .48; }
.location-page__bubbles .szb-vignette{ display: none; }

/* Original StormFeature.astro section geometry, photo tint and rim pulse. */
.storm-section {
  position: relative; overflow: hidden; margin-top: clamp(20px, 3vw, 40px);
  background:
    radial-gradient(120% 85% at 84% -8%, rgba(150, 74, 224, 0.5), transparent 46%),
    radial-gradient(90% 80% at 58% 122%, rgba(30, 58, 140, 0.4), transparent 58%),
    linear-gradient(162deg, #160b2f 0%, #26124a 30%, #111443 60%, #0a1222 100%);
}
/* Seamless hero -> "Storm Zone Tiers" transition (/wash-packages only —
   .storm-section is exclusive to this page). Previously the clip-path cut a
   diagonal off the hero's bottom, revealing the body navy beneath it as a
   slanted seam + solid strip. The clip is gone (straight boundary) and the
   hero's bottom fades into the tiers section's EXACT top colour (#0a1222) so
   the two storm backgrounds read as one continuous scene — no line, no strip.
   The fade sits in the hero's empty bottom padding, clear of the heading/photo. */
.storm-section::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; z-index: 4;
  height: clamp(80px, 9vw, 120px); pointer-events: none;
  background: linear-gradient(to bottom, transparent 0%, rgba(10, 18, 34, 0.5) 55%, #0a1222 100%);
}
.storm-section__rain {
  position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0.5;
  background-image: repeating-linear-gradient(102deg, rgba(190,208,240,.14) 0 1px, transparent 1px 9px);
  mix-blend-mode: screen;
}
.storm-section__vignette {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(100deg, rgba(7,10,28,.93) 0%, rgba(7,10,28,.74) 30%, rgba(7,10,28,.36) 50%, rgba(7,10,28,0) 68%);
}
.storm-section__inner { position: relative; z-index: 3; max-width: var(--container); margin: 0 auto; padding: clamp(110px, 15vw, 190px) 34px clamp(90px, 12vw, 150px); }
.storm-section :is(h1, h2) { font-size: clamp(46px, 8vw, 104px); line-height: 0.88; color: #fff; text-shadow: 0 0 50px rgba(154, 79, 208, 0.5); margin-top: 22px; }
.storm-section__lead { margin: 22px 0 0; max-width: 470px; font-size: 17.5px; line-height: 1.55; color: #d8cfe8; }
.storm-photo {
  position: relative; border-radius: 22px; overflow: hidden; transform: rotate(1.4deg);
  border: 1.5px solid rgba(190, 214, 255, 0.5); min-height: clamp(300px, 42vw, 460px);
  animation: rimpulse 4.5s ease-in-out infinite;
}
.storm-photo img { width: 100%; height: 100%; min-height: clamp(300px, 42vw, 460px); object-fit: cover; }
.storm-photo__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(11, 10, 30, 0.5), transparent 44%); }
.storm-photo__cap {
  position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px;
  background: rgba(20, 8, 40, 0.8); border: 1px solid rgba(199, 155, 236, 0.45); color: var(--gold);
  font-weight: 600; font-size: 12.5px; padding: 8px 13px; border-radius: 999px; backdrop-filter: blur(4px);
}
