:root{
    /* Official brand kit: Dark Teal PMS7713 #007A8A · Med Teal PMS320 #0099A8 ·
       Light Teal PMS7471 #7ADBD4 · Red PMS186 #CE0E2D · Yellow Pantone #E1DD00 ·
       Orange 021 #FF5100. Backgrounds are darkened dark-teal (charcoal-teal look). */
    --void:#002A30; --panel:#05393F; --panel-2:#0A474D; --teal-deep:#007A8A;
    --teal:#7ADBD4; --teal-dim:#0099A8; --mint:#7ADBD4; --red:#CE0E2D; --red-solid:#CE0E2D;
    --yellow:#E1DD00; --orange:#FF5100; --chrome:#BFE0DD; --foam:#F4F6F2; --cream:#F6F1E2; --muted:#7FB0AE;
    --gold:#E1DD00; --line:rgba(255,255,255,.12); --maxw:1200px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Inter',system-ui,sans-serif;
    background:var(--void);color:var(--foam);
    line-height:1.6;-webkit-font-smoothing:antialiased;
    /* clip, NOT hidden: overflow-x:hidden makes body a scroll container and
       silently breaks all anchor (#hash) scrolling */
    overflow-x:clip;
  }
  body.locked{overflow:hidden}
  h1,h2,h3,.display{font-family:'Syne',sans-serif;font-weight:800;line-height:.95;letter-spacing:-.02em}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}

  /* grain overlay */
  .grain{position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

  /* cursor glow */
  .cursor-glow{position:fixed;top:0;left:0;width:380px;height:380px;border-radius:50%;z-index:9980;
    pointer-events:none;transform:translate(-50%,-50%);
    background:radial-gradient(circle,rgba(122,219,212,.14),transparent 60%);
    transition:opacity .4s;opacity:0}

  /* intro loader */
  .intro{position:fixed;inset:0;z-index:10000;background:var(--void);display:flex;align-items:center;justify-content:center;
    transition:transform 1s cubic-bezier(.76,0,.24,1)}
  .intro.gone{transform:translateY(-100%)}
  .intro img{height:120px;animation:pulseLogo 1.6s ease-in-out infinite}
  @keyframes pulseLogo{0%,100%{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}

  /* buttons */
  .btn{display:inline-flex;align-items:center;gap:.55em;font-family:'Inter';font-weight:600;font-size:.97rem;
    padding:15px 30px;border-radius:6px;border:1px solid transparent;cursor:pointer;position:relative;
    transition:transform .25s, box-shadow .3s, background .25s, color .25s;will-change:transform}
  .btn-primary{background:var(--teal);color:var(--void);box-shadow:0 0 0 0 rgba(122,219,212,.4)}
  .btn-primary:hover{box-shadow:0 16px 50px -12px rgba(122,219,212,.7)}
  .btn-yellow{background:var(--yellow);color:#3A1500;font-weight:700}
  .btn-yellow:hover{box-shadow:0 16px 46px -12px rgba(225,221,0,.7)}
  .btn-line{background:transparent;color:var(--foam);border-color:var(--line)}
  .btn-line:hover{border-color:var(--teal);color:var(--teal)}

  /* NAV */
  header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,backdrop-filter .4s,border-color .4s;
    border-bottom:1px solid transparent}
  header.scrolled{background:rgba(6,9,11,.72);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:80px}
  .nav .logo{height:48px;width:auto}
  .nav-links{display:flex;gap:32px}
  .nav-links a{font-weight:500;font-size:.93rem;color:var(--chrome);position:relative;padding:4px 0}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--teal);transition:width .3s}
  .nav-links a:hover{color:var(--foam)}
  .nav-links a:hover::after{width:100%}
  .menu-btn{display:none;background:none;border:0;color:var(--foam);font-size:1.7rem;cursor:pointer}

  /* HERO */
  .hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:80px}
  .hero-bg{position:absolute;inset:0;z-index:0;
    background:
      radial-gradient(45% 38% at 78% 30%, rgba(122,219,212,.12), transparent 60%),
      radial-gradient(40% 36% at 92% 82%, rgba(206,14,45,.12), transparent 60%),
      radial-gradient(42% 44% at 5% 12%, rgba(225,221,0,.06), transparent 60%),
      radial-gradient(42% 13% at 27% 97%, rgba(122,219,212,.14), transparent 72%),
      linear-gradient(180deg,#010F13 0%, #02242B 72%, #04313A 100%)}
  .hero-bg::before{content:"";position:absolute;inset:0;opacity:.55;
    background-image:
      radial-gradient(1.6px 1.6px at 11% 16%,rgba(255,255,255,.6) 50%,transparent 51%),
      radial-gradient(1.2px 1.2px at 24% 9%,rgba(255,255,255,.45) 50%,transparent 51%),
      radial-gradient(1.8px 1.8px at 37% 22%,rgba(255,255,255,.5) 50%,transparent 51%),
      radial-gradient(1.2px 1.2px at 52% 7%,rgba(255,255,255,.4) 50%,transparent 51%),
      radial-gradient(1.5px 1.5px at 64% 15%,rgba(255,255,255,.55) 50%,transparent 51%),
      radial-gradient(1.2px 1.2px at 78% 6%,rgba(255,255,255,.4) 50%,transparent 51%),
      radial-gradient(1.7px 1.7px at 90% 19%,rgba(255,255,255,.5) 50%,transparent 51%),
      radial-gradient(1.2px 1.2px at 45% 31%,rgba(255,255,255,.35) 50%,transparent 51%),
      radial-gradient(1.4px 1.4px at 7% 38%,rgba(255,255,255,.4) 50%,transparent 51%)}
  .hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:16%;z-index:1;
    background:linear-gradient(180deg,transparent,rgba(0,5,7,.4));pointer-events:none}
  .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center;width:100%}
  .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:600;letter-spacing:.22em;
    text-transform:uppercase;color:var(--teal);margin-bottom:26px}
  .eyebrow::before{content:"";width:34px;height:1px;background:var(--teal)}
  .hero h1{font-size:clamp(3.2rem,8.2vw,7rem);text-transform:uppercase;margin-bottom:24px}
  .hero h1 .line{display:block;overflow:hidden}
  .hero h1 .line span{display:block;transform:translateY(110%);transition:transform .9s cubic-bezier(.16,1,.3,1)}
  .loaded .hero h1 .line span{transform:translateY(0)}
  .hero h1 .line:nth-child(2) span{transition-delay:.08s}
  .hero h1 .line:nth-child(2){color:var(--teal)}
  .hero .lede{font-size:1.2rem;max-width:44ch;color:var(--chrome);margin-bottom:36px;opacity:0;transition:opacity .8s 1.45s}
  .loaded .hero .lede{opacity:1}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;opacity:0;transform:translateY(16px);transition:.8s 1.65s}
  .loaded .hero-cta{opacity:1;transform:none}
  .hydro-stage{position:relative;display:flex;justify-content:center;align-items:center}
  .hydro-glow{position:absolute;width:82%;aspect-ratio:1;border-radius:50%;
    background:radial-gradient(circle,rgba(122,219,212,.34),transparent 65%);filter:blur(12px)}
  .hydro{position:relative;z-index:2;max-height:82vh;width:auto;max-width:100%;filter:drop-shadow(0 28px 46px rgba(0,0,0,.5));
    animation:bob 5s ease-in-out infinite;opacity:0;transition:opacity 1s .35s;will-change:transform}
  @media(min-width:981px){
    .hero .wrap{width:100%}
    .hero-grid{display:block}
    .hero-copy{position:relative;z-index:3;max-width:min(640px,52vw)}
    .hero h1{font-size:clamp(3rem,5.4vw,5.1rem)}
    .hydro-stage{position:absolute;right:clamp(8px,4vw,120px);bottom:0;top:auto;z-index:2;
      height:min(88vh,820px);align-items:flex-end}
    .hydro-glow{width:110%;bottom:6%}
    .hydro{max-height:none;height:100%;animation:none}
    .loaded .hydro{animation:bob 5s ease-in-out 1.2s infinite}
  }
  .loaded .hydro{opacity:1}
  @keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
  .scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:3;
    font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:flex;flex-direction:column;
    align-items:center;gap:8px}
  .scroll-cue .bar{width:1px;height:40px;background:linear-gradient(var(--teal),transparent);animation:drip 1.8s ease-in-out infinite}
  @keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

  /* MARQUEE */
  .marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);
    overflow:hidden;padding:22px 0;white-space:nowrap}
  .marquee-track{display:inline-flex;gap:50px;animation:scrollx 26s linear infinite;will-change:transform}
  .marquee span{font-family:'Syne';font-weight:800;font-size:1.5rem;text-transform:uppercase;letter-spacing:.02em;
    color:var(--foam);display:inline-flex;align-items:center;gap:50px}
  .marquee span::after{content:"◆";color:var(--red);font-size:.9rem}
  @keyframes scrollx{to{transform:translateX(-50%)}}

  /* SECTION scaffolding */
  section{position:relative}
  section[id],[id="club"],[id="amenities"]{scroll-margin-top:92px}
  .pad{padding:120px 0}
  .sec-head{margin-bottom:60px;max-width:680px}
  .sec-head h2{font-size:clamp(2.4rem,5.5vw,4rem);text-transform:uppercase;margin-bottom:18px}
  .sec-head p{color:var(--muted);font-size:1.1rem;max-width:52ch}
  .accent{color:var(--yellow)}

  .reveal{clip-path:inset(0 0 100% 0);transform:translateY(40px);opacity:0;
    transition:clip-path .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),opacity .9s}
  .reveal.in{clip-path:inset(0 0 0 0);transform:none;opacity:1}

  /* MEET HYDRO */
  .meet{background:linear-gradient(180deg,var(--void),var(--panel))}
  .meet-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
  .meet-img{position:relative}
  .meet-img .ring{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
  .meet-img .ring::before{content:"";width:92%;aspect-ratio:1;border-radius:50%;border:1px dashed rgba(122,219,212,.35);
    animation:spin 30s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}
  .meet-img img{position:relative;z-index:2;max-width:360px;margin:0 auto;filter:drop-shadow(0 26px 50px rgba(0,0,0,.5))}
  .meet .name{font-family:'Syne';font-weight:800;font-size:clamp(3rem,7vw,5.5rem);text-transform:uppercase;line-height:.9;margin-bottom:6px}
  .meet .name em{color:var(--teal);font-style:normal}
  .meet .tagline{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--yellow);margin-bottom:26px}
  .meet p.body{font-size:1.12rem;color:var(--chrome);margin-bottom:18px;max-width:46ch}
  .stat-row{display:flex;gap:40px;margin-top:34px;flex-wrap:wrap}
  .stat .n{font-family:'Syne';font-weight:800;font-size:2.4rem;color:var(--teal);line-height:1}
  .stat .l{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:4px}

  /* CLUB */
  .club{background:var(--panel)}
  .plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .plan{background:var(--void);border:1px solid var(--line);border-radius:12px;padding:32px 26px;
    display:flex;flex-direction:column;position:relative;transition:transform .35s,border-color .35s,box-shadow .35s;
    will-change:transform}
  .plan:hover{border-color:rgba(122,219,212,.4);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
  .plan.feat{background:linear-gradient(165deg,var(--red-solid),#360a10 92%);border-color:var(--red)}
  .plan .tag{position:absolute;top:-11px;left:26px;background:var(--gold);color:var(--void);font-weight:700;font-size:.68rem;
    letter-spacing:.1em;text-transform:uppercase;padding:5px 13px;border-radius:4px}
  .plan h3{font-family:'Syne';font-size:1.3rem;text-transform:uppercase;margin-bottom:6px}
  .plan .sub{font-size:.86rem;color:var(--muted);min-height:40px;margin-bottom:20px}
  .plan .price{font-family:'Syne';font-weight:800;font-size:3rem;line-height:1;color:var(--foam)}
  .plan .price small{font-size:.95rem;font-weight:500;font-family:'Inter';color:var(--muted)}
  .plan ul{list-style:none;margin:22px 0 26px;display:flex;flex-direction:column;gap:12px;flex:1}
  .plan li{display:flex;gap:10px;font-size:.91rem;color:var(--chrome);align-items:flex-start}
  .plan li svg{flex:none;margin-top:3px;color:var(--teal)}
  .plan .btn{width:100%;justify-content:center}
  .note{text-align:center;color:var(--muted);font-size:.88rem;margin-top:32px}
  .trust{display:flex;gap:30px;flex-wrap:wrap;justify-content:center;margin-top:26px;color:var(--chrome);font-size:.9rem}
  .trust span{display:inline-flex;gap:8px;align-items:center}
  .trust svg{color:var(--teal)}

  /* AMENITIES */
  .amen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
  .amen{background:var(--void);padding:34px 30px;transition:background .35s}
  .amen:hover{background:var(--panel-2)}
  .amen .ico{width:46px;height:46px;color:var(--teal);margin-bottom:18px}
  .amen h3{font-family:'Syne';font-size:1.12rem;text-transform:uppercase;margin-bottom:8px}
  .amen p{font-size:.92rem;color:var(--muted)}

  /* PROTECTION */
  .prot{background:linear-gradient(180deg,var(--panel),var(--void))}
  .prot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .prot-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--void);transition:transform .35s,border-color .35s}
  .prot-card:hover{transform:translateY(-6px);border-color:rgba(122,219,212,.4)}
  .prot-card .top{aspect-ratio:5/4;background:radial-gradient(120% 100% at 30% 0%,var(--teal-deep),var(--void));
    position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:20px}
  .prot-card .top::after{content:"";position:absolute;top:-50%;left:-40%;width:50%;height:200%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-18deg);transition:left .7s}
  .prot-card:hover .top::after{left:150%}
  .prot-card .top h3{font-family:'Syne';font-size:1.1rem;text-transform:uppercase;position:relative;z-index:2}
  .prot-card .b{padding:20px 22px 26px;font-size:.9rem;color:var(--muted)}

  /* REVIEWS */
  .rev-top{display:flex;align-items:flex-end;gap:18px;margin-bottom:46px}
  .rev-top .score{font-family:'Syne';font-weight:800;font-size:4rem;line-height:.85}
  .rev-top .stars{color:var(--gold);font-size:1.4rem;letter-spacing:3px}
  .rev-top .meta{color:var(--muted)}
  .rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
  .rev{border:1px solid var(--line);border-radius:12px;padding:30px;background:var(--panel)}
  .rev .stars{color:var(--gold);letter-spacing:2px;margin-bottom:14px}
  .rev p{font-size:1.02rem;color:var(--foam);margin-bottom:16px}
  .rev .who{color:var(--teal);font-weight:600;font-size:.92rem}

  /* LOCATIONS */
  .loc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
  .loc{border:1px solid var(--line);border-radius:12px;padding:40px;background:var(--panel);position:relative;overflow:hidden;
    transition:border-color .35s}
  .loc:hover{border-color:rgba(122,219,212,.4)}
  .loc h3{font-family:'Syne';font-size:2.2rem;text-transform:uppercase;margin-bottom:6px}
  .loc .hours{color:var(--chrome);margin:14px 0 24px;line-height:1.9}
  .loc .hours b{color:var(--teal)}

  /* CTA */
  .cta{text-align:center;background:var(--void);position:relative;overflow:hidden}
  .cta-glow{position:absolute;inset:0;background:radial-gradient(44% 56% at 36% 48%,rgba(122,219,212,.16),transparent 60%),radial-gradient(40% 50% at 72% 62%,rgba(206,14,45,.16),transparent 60%),radial-gradient(36% 46% at 54% 18%,rgba(225,221,0,.1),transparent 60%)}
  .cta .wrap{position:relative;z-index:2}
  .cta h2{font-size:clamp(2.6rem,7vw,5.5rem);text-transform:uppercase;margin-bottom:34px}
  .cta p{color:var(--chrome);font-size:1.18rem;max-width:46ch;margin:0 auto 34px}

  /* FOOTER */
  footer{background:var(--panel);border-top:1px solid var(--line);padding:70px 0 36px}
  .foot-top{display:flex;justify-content:space-between;gap:50px;flex-wrap:wrap;padding-bottom:44px;border-bottom:1px solid var(--line)}
  .foot-brand{max-width:300px}
  .foot-brand img.logo{height:54px;margin-bottom:16px}
  .foot-brand img.hydro-foot{height:90px;margin-top:18px}
  .foot-brand p{color:var(--muted);font-size:.95rem}
  .foot-cols{display:flex;gap:64px;flex-wrap:wrap}
  .foot-col h4{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:16px}
  .foot-col a{display:block;margin-bottom:10px;color:var(--chrome);font-size:.94rem;opacity:.85;transition:.2s}
  .foot-col a:hover{opacity:1;color:var(--teal)}
  .foot-bottom{padding-top:26px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.85rem}

  @media(max-width:980px){
    .plan-grid,.prot-grid{grid-template-columns:repeat(2,1fr)}
    .amen-grid{grid-template-columns:repeat(2,1fr)}
    .hero-grid,.meet-grid{grid-template-columns:1fr}
    .hydro-stage{order:-1;max-width:380px;margin:0 auto}
    .meet-grid .meet-img{max-width:360px;margin:0 auto}
  }
  @media(max-width:680px){
    .nav-links{display:none}.menu-btn{display:block}
    .pad{padding:80px 0}
    .plan-grid,.prot-grid,.amen-grid,.rev-grid,.loc-grid{grid-template-columns:1fr}
    .cursor-glow{display:none}
    .stat-row{gap:26px}
  }
  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
    .reveal{clip-path:none;transform:none;opacity:1}
    .hero h1 .line span,.hero .lede,.hero-cta,.hydro{transform:none;opacity:1}
    .intro{display:none}
  }
  .plan.feat .sub{color:rgba(255,255,255,.78)}
  .plan.feat li{color:#FFE6E9}
  .marquee span:nth-child(3n+2){color:var(--mint)}
  .marquee span:nth-child(3n){color:var(--yellow)}
  .intro img{height:248px;animation:pulseLogo 1.6s ease-in-out infinite}
  .nav .logo{height:56px;filter:drop-shadow(0 0 10px rgba(122,219,212,.35))}
  .foot-brand img.logo{height:66px}
  .sec-head h2{position:relative}
  .sec-head h2::after{content:"";display:block;width:68px;height:5px;border-radius:3px;margin-top:20px;background:linear-gradient(90deg,var(--yellow),var(--red))}
  .stat:nth-child(1) .n{color:var(--red)}
  .stat:nth-child(3) .n{color:var(--yellow)}
  .trust svg{color:var(--yellow)}
  @media(max-width:980px){ .hydro{max-height:46vh} }
  .loc-rating{color:var(--yellow);font-size:.92rem;margin-bottom:8px;letter-spacing:1px}
  .loc-rating b{color:var(--foam)}
  .loc-addr{color:var(--chrome);font-size:1rem;margin-bottom:2px}
  .loc-btns{display:flex;gap:10px;flex-wrap:wrap}
  /* ---- mobile call bar ---- */
  .callbar{position:fixed;left:0;right:0;bottom:0;z-index:9993;display:none;gap:1px;
    background:var(--line);border-top:1px solid var(--line);backdrop-filter:blur(10px)}
  .callbar a{flex:1;text-align:center;padding:15px 6px;font-weight:700;font-size:.92rem;
    background:rgba(0,42,48,.92);color:var(--foam);display:flex;align-items:center;justify-content:center;gap:6px}
  .callbar a.join{background:var(--yellow);color:#3A1500}
  /* ---- Hydro chatbot ---- */
  .hydro-fab{position:fixed;right:22px;bottom:22px;z-index:9995;width:68px;height:68px;border-radius:50%;
    border:3px solid var(--yellow);background:var(--teal-deep);cursor:pointer;overflow:hidden;
    box-shadow:0 12px 30px -8px rgba(0,0,0,.6);transition:transform .25s}
  .hydro-fab:hover{transform:scale(1.07)}
  .hydro-fab img{width:120%;height:120%;object-fit:cover;object-position:50% 12%;margin:-6% 0 0 -10%}
  .hydro-fab .ping{position:absolute;inset:-3px;border-radius:50%;border:3px solid var(--yellow);
    animation:ping 2.4s ease-out infinite}
  @keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
  .chat{position:fixed;right:22px;bottom:22px;z-index:9996;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 90px));
    background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:none;
    flex-direction:column;box-shadow:0 30px 70px -20px rgba(0,0,0,.7)}
  .chat.open{display:flex}
  .chat-head{display:flex;align-items:center;gap:12px;padding:16px 18px;background:linear-gradient(120deg,var(--teal-deep),var(--panel-2));border-bottom:1px solid var(--line)}
  .chat-head .av{width:44px;height:44px;border-radius:50%;border:2px solid var(--yellow);overflow:hidden;background:var(--teal-deep);flex:none}
  .chat-head .av img{width:130%;height:130%;object-fit:cover;object-position:50% 12%;margin:-8% 0 0 -12%}
  .chat-head h4{font-family:'Syne';font-size:1.05rem;color:var(--foam);line-height:1}
  .chat-head .status{font-size:.76rem;color:var(--teal);display:flex;align-items:center;gap:6px;margin-top:3px}
  .chat-head .status::before{content:"";width:7px;height:7px;border-radius:50%;background:#46e06a}
  .chat-head .x{margin-left:auto;background:none;border:0;color:var(--chrome);font-size:1.5rem;cursor:pointer;line-height:1}
  .chat-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--void)}
  .msg{display:flex;gap:9px;align-items:flex-end;max-width:88%}
  .msg .b{padding:11px 14px;border-radius:16px;font-size:.93rem;line-height:1.5}
  .msg.bot{align-self:flex-start}
  .msg.bot .av{width:28px;height:28px;border-radius:50%;overflow:hidden;flex:none;background:var(--teal-deep);border:1px solid var(--line)}
  .msg.bot .av img{width:140%;height:140%;object-fit:cover;object-position:50% 12%;margin:-10% 0 0 -14%}
  .msg.bot .b{background:var(--panel-2);color:var(--foam);border-bottom-left-radius:5px}
  .msg.user{align-self:flex-end}
  .msg.user .b{background:var(--yellow);color:#3A1500;border-bottom-right-radius:5px;font-weight:600}
  .msg .b a{color:var(--teal);font-weight:600}
  .chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 12px;background:var(--void)}
  .chip{background:transparent;border:1px solid var(--line);color:var(--chrome);border-radius:100px;
    padding:8px 13px;font-size:.82rem;cursor:pointer;transition:.2s;font-family:inherit}
  .chip:hover{border-color:var(--teal);color:var(--teal)}
  .chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--panel)}
  .chat-input input{flex:1;background:var(--void);border:1px solid var(--line);border-radius:100px;
    padding:11px 16px;color:var(--foam);font-family:inherit;font-size:.92rem;outline:none}
  .chat-input input:focus{border-color:var(--teal)}
  .chat-input button{background:var(--teal);border:0;border-radius:50%;width:42px;height:42px;cursor:pointer;color:var(--void);font-size:1.1rem;flex:none}
  .typing{display:flex;gap:4px;padding:13px 15px}
  .typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}
  .typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}
  @keyframes blink{0%,60%,100%{opacity:.3}30%{opacity:1}}
  @media(max-width:680px){
    .callbar{display:flex}
    .hydro-fab{bottom:78px;width:60px;height:60px}
    .chat{bottom:78px;height:min(540px,calc(100vh - 150px))}
    body{padding-bottom:54px}
  }

  /* ============ CREATIVE ELEVATION PASS ============ */

  /* retro-diner script accents (Yellowtail = web stand-in for licensed "Diner") */
  .script, .sec-head h2 .accent, .meet .name em, .cta h2 .accent{
    font-family:'Yellowtail',cursive;font-weight:400;text-transform:none;letter-spacing:0;
    font-size:1.45em;line-height:.75;padding-right:.14em;
    text-shadow:0 0 8px rgba(225,221,0,.45),0 0 28px rgba(225,221,0,.25)}
  .meet .name em{text-shadow:0 0 8px rgba(122,219,212,.5),0 0 28px rgba(122,219,212,.3)}
  .sec-head h2 .accent, .cta h2 .accent, .tunnel-head h2 .accent{animation:neon 7s infinite}
  .tunnel-head h2 .accent{color:var(--yellow);
    text-shadow:0 0 6px rgba(225,221,0,.6),0 0 22px rgba(225,221,0,.4),0 0 54px rgba(225,221,0,.25)}
  @keyframes neon{
    0%,86%,90%,94%,100%{opacity:1}
    88%,92%{opacity:.55}
  }

  /* ============ WASH TUNNEL (scroll-driven) ============ */
  .tunnel-wrap{height:380vh;position:relative;background:var(--panel)}
  .tunnel-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;
    flex-direction:column;justify-content:center;gap:30px}
  .tunnel-head{text-align:center}
  .tunnel-head h2{font-size:clamp(2.8rem,6.4vw,5rem);text-transform:uppercase}
  .tunnel-head p{color:var(--chrome);font-size:1.02rem;letter-spacing:.26em;text-transform:uppercase;margin-top:14px}
  .tunnel-stage{position:relative;height:46vh;min-height:300px;margin:0 auto;width:min(1200px,94vw);
    border:1px solid var(--line);border-radius:18px;overflow:hidden;
    background:linear-gradient(180deg,#01343C 0%,var(--void) 70%)}
  .t-zones{position:absolute;inset:0;display:flex}
  .t-zone{flex:1;border-right:1px dashed rgba(255,255,255,.07);position:relative;transition:background .5s}
  .t-zone:last-child{border-right:0}
  .t-zone span{position:absolute;top:20px;left:50%;transform:translateX(-50%);white-space:nowrap;
    font-family:'Syne';font-weight:800;font-size:clamp(.8rem,1.5vw,1.08rem);letter-spacing:.14em;
    text-transform:uppercase;color:var(--chrome);opacity:.72;transition:color .4s,opacity .4s,text-shadow .4s}
  .t-zone .dot{position:absolute;top:56px;left:50%;transform:translateX(-50%);width:7px;height:7px;
    border-radius:50%;background:var(--muted);opacity:.4;transition:.4s}
  [data-zone="0"] .t-zone:nth-child(1) span,[data-zone="1"] .t-zone:nth-child(2) span,
  [data-zone="2"] .t-zone:nth-child(3) span,[data-zone="3"] .t-zone:nth-child(4) span,
  [data-zone="4"] .t-zone:nth-child(5) span{color:var(--teal);opacity:1;text-shadow:0 0 14px rgba(122,219,212,.6)}
  [data-zone="0"] .t-zone:nth-child(1) .dot,[data-zone="1"] .t-zone:nth-child(2) .dot,
  [data-zone="2"] .t-zone:nth-child(3) .dot,[data-zone="3"] .t-zone:nth-child(4) .dot,
  [data-zone="4"] .t-zone:nth-child(5) .dot{background:var(--teal);opacity:1;box-shadow:0 0 10px var(--teal)}
  /* zone wash effects */
  .t-zone::after{content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s}
  .t-zone:nth-child(1)::after{background:repeating-linear-gradient(12deg,transparent 0 18px,rgba(122,219,212,.07) 18px 20px)}
  .t-zone:nth-child(2)::after{background:radial-gradient(14px 14px at 20% 30%,rgba(244,246,242,.16) 45%,transparent 50%),
    radial-gradient(22px 22px at 60% 60%,rgba(244,246,242,.13) 45%,transparent 50%),
    radial-gradient(10px 10px at 80% 25%,rgba(244,246,242,.18) 45%,transparent 50%),
    radial-gradient(18px 18px at 35% 75%,rgba(244,246,242,.12) 45%,transparent 50%)}
  .t-zone:nth-child(3)::after{background:linear-gradient(180deg,rgba(122,219,212,.05),rgba(206,14,45,.07) 50%,rgba(225,221,0,.06))}
  .t-zone:nth-child(4)::after{background:repeating-linear-gradient(170deg,transparent 0 14px,rgba(122,219,212,.1) 14px 16px)}
  .t-zone:nth-child(5)::after{background:radial-gradient(60% 70% at 50% 60%,rgba(225,221,0,.12),transparent 70%)}
  [data-zone="0"] .t-zone:nth-child(1)::after,[data-zone="1"] .t-zone:nth-child(2)::after,
  [data-zone="2"] .t-zone:nth-child(3)::after,[data-zone="3"] .t-zone:nth-child(4)::after,
  [data-zone="4"] .t-zone:nth-child(5)::after{opacity:1}
  /* the car */
  .t-car{position:absolute;bottom:9%;left:0;width:clamp(200px,24vw,320px);will-change:transform}
  .t-car .wheel{transform-origin:center;transform-box:fill-box}
  .t-car .dirt{transition:opacity .2s linear}
  .t-car .sparkles{opacity:0;transition:opacity .4s}
  [data-zone="4"] .t-car .sparkles{opacity:1}
  .t-car .sparkles path{animation:twinkle 1.1s ease-in-out infinite alternate}
  .t-car .sparkles path:nth-child(2){animation-delay:.3s}
  .t-car .sparkles path:nth-child(3){animation-delay:.6s}
  @keyframes twinkle{from{opacity:.25;transform:scale(.7)}to{opacity:1;transform:scale(1.15)}}
  /* foam blobs riding the car in zone 2 */
  .t-car .suds{opacity:0;transition:opacity .35s}
  [data-zone="1"] .t-car .suds{opacity:1}
  /* tunnel floor */
  .t-floor{position:absolute;left:0;right:0;bottom:0;height:9%;
    background:repeating-linear-gradient(90deg,#04313A 0 46px,#02282F 46px 92px)}
  @media(max-width:680px){
    .tunnel-wrap{height:280vh}
    .tunnel-stage{height:38vh}
    .t-zone span{writing-mode:vertical-rl;top:14px}
  }
  @media(prefers-reduced-motion:reduce){
    .tunnel-wrap{height:auto}
    .tunnel-sticky{position:static;height:auto;padding:80px 0}
    .tunnel-stage .t-car{left:38%}
  }

  /* ============ hero bubbles ============ */
  .bubbles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
  .bubble{position:absolute;bottom:-40px;border-radius:50%;
    background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.28),rgba(122,219,212,.08) 60%);
    border:1px solid rgba(122,219,212,.18);animation:rise linear infinite;will-change:transform}
  @keyframes rise{
    0%{transform:translateY(0) translateX(0);opacity:0}
    8%{opacity:.5}
    92%{opacity:.4}
    100%{transform:translateY(-110vh) translateX(26px);opacity:0}
  }

  /* ============ chat launcher: face crop + CSS wave (lottie removed — file unusable) ============ */
  .hydro-fab img{width:190%;max-width:none;height:auto;object-fit:unset;object-position:unset;
    margin:-2% 0 0 -30%}
  /* same face framing for chat avatars */
  .chat-head .av img{width:190%;max-width:none;height:auto;object-fit:unset;margin:-2% 0 0 -30%}
  .msg.bot .av img{width:190%;max-width:none;height:auto;object-fit:unset;margin:-2% 0 0 -30%}

  /* ============ fixes ============ */
  .loc h3{font-size:clamp(1.35rem,1.6vw + .55rem,2.2rem)}

  /* neon hero letters: tubes flicker on, a couple struggle */
  .hero h1 .line span.split{transform:none;transition:none}
  .split .w{white-space:nowrap;display:inline-block;vertical-align:bottom}
  .split i{display:inline-block;font-style:normal;opacity:0}
  .loaded .split i{animation:neonOn .16s steps(2,end) forwards;animation-delay:var(--d,0s)}
  .loaded .split i.buzzy{animation:neonStruggle 1.15s linear forwards;animation-delay:var(--d,0s)}
  @keyframes neonOn{0%{opacity:0}45%{opacity:.4}100%{opacity:1}}
  @keyframes neonStruggle{0%,17%,22%,37%,41%{opacity:0}19%,39%{opacity:.55}
    54%,68%{opacity:.25}60%,80%,100%{opacity:1}}
  .hero h1 .line:nth-child(1){color:#F8FAF7;
    text-shadow:0 0 5px rgba(255,255,255,.4),0 0 16px rgba(244,246,242,.28),0 0 40px rgba(122,219,212,.2)}
  .hero h1 .line:nth-child(2){
    text-shadow:0 0 6px rgba(122,219,212,.65),0 0 20px rgba(122,219,212,.45),0 0 54px rgba(122,219,212,.3)}
  .loaded .hero h1 .line:nth-child(2){animation:neonBuzz 7s 2.6s infinite}
  @keyframes neonBuzz{0%,92%,95.5%,100%{opacity:1}93.5%{opacity:.84}}

  /* ============ tunnel zone FX ============ */
  .t-fx .fx{position:absolute;top:0;bottom:9%;width:20%;opacity:0;transition:opacity .55s;
    pointer-events:none;overflow:hidden}
  .t-fx .z1{left:0}.t-fx .z2{left:20%}.t-fx .z3{left:40%}.t-fx .z4{left:60%}.t-fx .z5{left:80%}
  [data-zone="0"] .t-fx .z1,[data-zone="1"] .t-fx .z2,[data-zone="2"] .t-fx .z3,
  [data-zone="3"] .t-fx .z4,[data-zone="4"] .t-fx .z5{opacity:1}

  /* shared nozzle bar across wet zones */
  .t-fx .fx u{position:absolute;top:0;left:6%;right:6%;height:7px;border-radius:0 0 5px 5px;
    background:linear-gradient(180deg,#0B4850,#06333A);box-shadow:0 2px 8px rgba(0,0,0,.4)}
  .t-fx .fx u::after{content:"";position:absolute;left:4px;right:4px;bottom:-2px;height:2px;border-radius:2px;
    background:repeating-linear-gradient(90deg,var(--teal) 0 3px,transparent 3px 14px);opacity:.8}

  /* pre-soak: streak curtains + heavy droplets */
  .fx-spray i{position:absolute;top:-50%;width:2px;height:48%;border-radius:2px;
    background:linear-gradient(rgba(122,219,212,0),rgba(122,219,212,.8));
    animation:sprayFall 1.05s linear infinite}
  @keyframes sprayFall{to{transform:translateY(330%)}}
  .fx-spray s{position:absolute;top:2%;width:5px;height:9px;border-radius:50% 50% 60% 60%;
    background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.85),rgba(122,219,212,.5));
    animation:dropFall linear infinite}
  @keyframes dropFall{0%{transform:translateY(0) scaleY(.8);opacity:0}12%{opacity:.9}
    88%{opacity:.9}100%{transform:translateY(42vh) scaleY(1.25);opacity:0}}

  /* foam bath: swinging mitter curtains + rising bubbles + foam pile */
  .fx-foam b{position:absolute;top:1%;width:9%;border-radius:0 0 40px 40px;transform-origin:top center;
    background:linear-gradient(180deg,rgba(122,219,212,.32),rgba(244,246,242,.5) 80%,rgba(255,255,255,.75));
    box-shadow:inset 0 -10px 14px rgba(255,255,255,.35);
    animation:mitterSwing 1.5s ease-in-out infinite alternate}
  @keyframes mitterSwing{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
  .fx-foam::after{content:"";position:absolute;left:0;right:0;bottom:-2%;height:13%;
    background:radial-gradient(22px 16px at 8% 100%,rgba(255,255,255,.75) 58%,transparent 60%),
      radial-gradient(30px 20px at 26% 100%,rgba(255,255,255,.65) 58%,transparent 60%),
      radial-gradient(20px 14px at 44% 100%,rgba(255,255,255,.75) 58%,transparent 60%),
      radial-gradient(32px 22px at 64% 100%,rgba(255,255,255,.6) 58%,transparent 60%),
      radial-gradient(24px 16px at 84% 100%,rgba(255,255,255,.7) 58%,transparent 60%),
      radial-gradient(18px 13px at 98% 100%,rgba(255,255,255,.7) 58%,transparent 60%)}
  .fx-foam i{position:absolute;bottom:-34px;border-radius:50%;
    background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.9),rgba(255,255,255,.22) 72%);
    animation:foamRise linear infinite}
  @keyframes foamRise{to{transform:translateY(-50vh)}}

  /* rinse: fine crossing high-pressure jets + drifting mist */
  .fx-rinse i{position:absolute;top:-50%;width:1.5px;height:52%;border-radius:2px;
    background:linear-gradient(rgba(255,255,255,0),rgba(190,240,236,.85));
    transform:rotate(13deg);animation:rinseFall .8s linear infinite}
  .fx-rinse i.x{transform:rotate(-13deg);
    background:linear-gradient(rgba(122,219,212,0),rgba(122,219,212,.7))}
  @keyframes rinseFall{to{translate:0 330%}}
  .fx-rinse em{position:absolute;inset:auto 0 0 0;height:55%;
    background:linear-gradient(180deg,transparent,rgba(122,219,212,.1));
    animation:mistPulse 2.2s ease-in-out infinite alternate}
  @keyframes mistPulse{from{opacity:.4}to{opacity:1}}

  /* shine finale: golden glow + twinkling stars */
  .fx-shine{background:radial-gradient(62% 78% at 50% 62%,rgba(225,221,0,.16),transparent 72%)}
  .fx-shine i{position:absolute;background:var(--yellow);opacity:0;
    clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);
    animation:shineTwinkle ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(225,221,0,.8))}
  @keyframes shineTwinkle{0%,100%{transform:scale(.35);opacity:.15}50%{transform:scale(1.15);opacity:1}}

  /* laser light show */
  .fx-laser i{position:absolute;top:-12%;left:50%;width:3px;height:130%;
    transform-origin:top center;opacity:.85;border-radius:3px}
  .fx-laser i:nth-child(1){background:linear-gradient(var(--teal),transparent 85%);
    animation:laserSweep 1.6s ease-in-out infinite alternate;box-shadow:0 0 12px rgba(122,219,212,.5)}
  .fx-laser i:nth-child(2){background:linear-gradient(var(--yellow),transparent 85%);
    animation:laserSweep 2.1s ease-in-out infinite alternate-reverse;box-shadow:0 0 12px rgba(225,221,0,.5)}
  .fx-laser i:nth-child(3){background:linear-gradient(var(--red),transparent 85%);
    animation:laserSweep 1.25s ease-in-out infinite alternate;animation-delay:.35s;box-shadow:0 0 12px rgba(206,14,45,.5)}
  .fx-laser i:nth-child(4){background:linear-gradient(var(--orange),transparent 85%);
    animation:laserSweep 2.4s ease-in-out infinite alternate-reverse;animation-delay:.2s;box-shadow:0 0 12px rgba(255,81,0,.5)}
  @keyframes laserSweep{from{transform:rotate(-26deg)}to{transform:rotate(26deg)}}
  .fx-laser b{position:absolute;left:0;right:0;bottom:0;height:40%;
    background:radial-gradient(60% 100% at 50% 100%,rgba(225,221,0,.18),transparent 75%);
    animation:laserFloor 1.4s ease-in-out infinite alternate}
  @keyframes laserFloor{from{opacity:.5}to{opacity:1}}


  /* ============ Hydro pop-out greeting (first load only) ============ */
  .greet-clip{position:fixed;right:14px;bottom:88px;width:124px;height:174px;z-index:9994;
    overflow:hidden;pointer-events:none;display:none}
  .greet-clip.on{display:block}
  .greet-hippo{position:absolute;left:50%;bottom:0;width:102px;max-width:none;aspect-ratio:898/1500;
    transform:translate(-50%,108%);pointer-events:auto;cursor:pointer;
    filter:drop-shadow(0 10px 22px rgba(0,0,0,.5));
    transition:transform .6s cubic-bezier(.34,1.56,.64,1)}
  .greet-hippo img{position:absolute;max-width:none}
  .greet-hippo .gb{inset:0;width:100%}
  .greet-hippo .ga{left:69.04%;top:29%;width:30.96%;transform-origin:9.7% 67.9%}
  .greet-clip.up .greet-hippo{transform:translate(-50%,4%)}
  .greet-clip.wave .ga{animation:armWave 1.7s ease-in-out .4s 2}
  @keyframes armWave{0%,100%{transform:rotate(0)}22%{transform:rotate(16deg)}44%{transform:rotate(-6deg)}
    66%{transform:rotate(13deg)}88%{transform:rotate(-3deg)}}
  .greet-bubble{position:fixed;right:148px;bottom:196px;z-index:9994;display:none;
    background:var(--foam);color:#06262B;font-weight:600;font-size:.95rem;line-height:1.4;
    padding:13px 17px;border-radius:16px 16px 4px 16px;max-width:215px;
    box-shadow:0 16px 38px -10px rgba(0,0,0,.55);
    opacity:0;transform:translateY(10px) scale(.82);transform-origin:100% 100%;
    transition:opacity .45s cubic-bezier(.34,1.56,.64,1),transform .45s cubic-bezier(.34,1.56,.64,1);
    pointer-events:none;cursor:pointer}
  .greet-bubble.on{display:block}
  .greet-bubble.show{opacity:1;transform:none;pointer-events:auto}
  .greet-bubble b{font-family:'Yellowtail',cursive;font-weight:400;color:#04565E;font-size:1.6em;padding-left:.08em;line-height:1}
  .greet-bubble::after{content:"";position:absolute;right:-7px;bottom:10px;width:14px;height:14px;
    background:var(--foam);transform:rotate(45deg);border-radius:2px}
  @media(max-width:680px){
    .greet-clip{bottom:142px;right:10px}
    .greet-bubble{bottom:248px;right:124px}
  }

  /* custom Hydro face used as an inline emoji in chat */
  .msg .b .emo{display:inline-block;width:1.35em;height:1.35em;vertical-align:-.3em;margin:0 .04em}

  /* ============ location pages ============ */
  .lhero{padding:160px 0 80px;position:relative;overflow:hidden;
    background:
      radial-gradient(45% 40% at 80% 25%, rgba(122,219,212,.12), transparent 60%),
      radial-gradient(40% 36% at 10% 80%, rgba(206,14,45,.1), transparent 60%),
      linear-gradient(180deg,#010F13 0%, #02242B 80%, var(--void) 100%)}
  .lhero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
  .lhero h1{font-size:clamp(3rem,7.5vw,5.6rem);text-transform:uppercase;margin-bottom:18px;
    text-shadow:0 0 5px rgba(255,255,255,.3),0 0 16px rgba(122,219,212,.2)}
  .lhero h1 .accent{font-family:'Yellowtail',cursive;font-weight:400;text-transform:none;letter-spacing:0;
    font-size:1.18em;line-height:.8;padding-right:.12em;
    text-shadow:0 0 8px rgba(225,221,0,.45),0 0 28px rgba(225,221,0,.25)}
  .lhero .lrating{color:var(--gold);letter-spacing:2px;margin-bottom:14px;font-size:1.05rem}
  .lhero .lrating b{color:var(--foam)}
  .lhero .laddr{display:inline-flex;gap:8px;align-items:center;font-size:1.15rem;color:var(--chrome);
    margin-bottom:8px;border-bottom:1px dashed rgba(122,219,212,.4);padding-bottom:2px}
  .lhero .laddr:hover{color:var(--teal)}
  .lhero .lhours{color:var(--chrome);margin:14px 0 30px;line-height:1.9}
  .lhero .lhours b{color:var(--teal)}
  .lhero .lhippo{max-height:46vh;margin:0 auto;filter:drop-shadow(0 22px 40px rgba(0,0,0,.5))}
  .linfo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}
  .linfo{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:30px}
  .linfo h3{font-family:'Syne';font-size:1.05rem;text-transform:uppercase;margin-bottom:10px;color:var(--teal)}
  .linfo p{font-size:.95rem;color:var(--chrome)}
  .linfo.touchless{border-color:rgba(225,221,0,.4);
    background:linear-gradient(165deg,var(--panel),rgba(225,221,0,.06))}
  .linfo.touchless h3{color:var(--yellow)}
  .lcross{margin-top:40px;text-align:center;color:var(--muted)}
  .lcross a{color:var(--teal);font-weight:600}
  @media(max-width:980px){
    .lhero-grid{grid-template-columns:1fr}
    .lhero .lhippo{max-height:32vh}
    .linfo-grid{grid-template-columns:1fr}
  }


  /* protection card artwork */
  .prot-card .top{position:relative}
  .prot-art{position:absolute;top:8%;left:50%;transform:translateX(-50%);width:56%;max-width:150px;
    transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
  .prot-card:hover .prot-art{transform:translateX(-50%) translateY(-5px) scale(1.06)}
  .a-bead{animation:beadBob 2.6s ease-in-out infinite}
  .a-bead.b2{animation-delay:1.1s}
  @keyframes beadBob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
  .a-mesh{animation:meshGlint 3.4s ease-in-out infinite}
  @keyframes meshGlint{0%,100%{opacity:.65}50%{opacity:1}}
  .a-spark{animation:twinkle 1.3s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
  .a-drip{animation:dripStretch 2.2s ease-in-out infinite}
  @keyframes dripStretch{0%,100%{transform:translateY(0)}55%{transform:translateY(5px)}85%{transform:translateY(1px)}}
  .a-heat{animation:meshGlint 2s ease-in-out infinite}
