/* ============================================================
   EDB landing system — signature motion + page chrome
   Loaded ON TOP of /assets/style.css (site base).
   Signature element: a liquid-fill bottle that rises with scroll.
   Everything else stays quiet so the signature reads as the one moment.
   ============================================================ */

:root{
  --edb-ink:#0b1026;
  --edb-ink-2:#0e1430;
  --edb-line:rgba(255,255,255,.08);
  --edb-amber:#F2B441;
  --edb-amber-2:#C9821B;
  --aurora-1:#3DF5C4;
  --aurora-2:#7B6CF6;
  --aurora-3:#FF7BD5;
  --edb-text:#e8ebff;
  --edb-mut:#9aa3c8;
}

/* respect reduced motion globally for this layer */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .lf-wave,.tick-hand,.aurora-band{animation:none !important}
}

/* ---------- AURORA NIGHT BACKDROP ---------- */
.lp-aurora{
  position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(123,108,246,.18), transparent 60%),
    radial-gradient(1000px 500px at 90% 0%, rgba(61,245,196,.12), transparent 55%),
    radial-gradient(900px 600px at 50% 110%, rgba(255,123,213,.10), transparent 60%),
    linear-gradient(180deg, var(--edb-ink), var(--edb-ink-2));
}
.aurora-band{
  position:fixed;left:-20%;right:-20%;top:-30%;height:60vh;z-index:-1;pointer-events:none;
  background:conic-gradient(from 180deg at 50% 50%,
     rgba(61,245,196,0), rgba(61,245,196,.10), rgba(123,108,246,.14),
     rgba(255,123,213,.08), rgba(61,245,196,0));
  filter:blur(60px);opacity:.7;
  animation:auroraDrift 22s ease-in-out infinite alternate;
}
@keyframes auroraDrift{
  0%{transform:translate3d(-4%,0,0) rotate(-2deg)}
  100%{transform:translate3d(4%,3%,0) rotate(3deg)}
}

/* ---------- SCROLL PROGRESS = LIQUID FILL ---------- */
/* The bottle is fixed bottom-right; liquid height = scroll %.
   --sp is set by JS (0..1). Falls back to a gentle idle fill. */
.lf-bottle{
  position:fixed;right:22px;bottom:22px;width:54px;height:128px;z-index:40;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.45));
  --sp:0;
}
.lf-bottle svg{display:block;width:100%;height:100%}
.lf-liquid{
  /* clip-path reveals from bottom based on --sp */
  transform-origin:bottom;
}
.lf-fillrect{
  /* y/height animated via CSS var through transform on a wrapper */
}
.lf-wave{animation:lfWave 3.2s linear infinite}
@keyframes lfWave{0%{transform:translateX(0)}100%{transform:translateX(-24px)}}
.lf-bottle .pct{
  position:absolute;left:50%;top:-22px;transform:translateX(-50%);
  font:700 11px/1 "JetBrains Mono",monospace;color:var(--aurora-1);
  letter-spacing:.04em;text-shadow:0 1px 6px rgba(0,0,0,.6);
}
@media (max-width:640px){ .lf-bottle{width:42px;height:100px;right:14px;bottom:14px} }

/* ---------- TICKING CLOCK (after-hours marker) ---------- */
.tick{display:inline-flex;align-items:center;gap:9px;
  padding:7px 13px;border:1px solid var(--edb-line);border-radius:999px;
  background:rgba(255,255,255,.03);backdrop-filter:blur(6px);
  font:600 13px/1 "Inter",system-ui,sans-serif;color:var(--edb-text)}
.tick .face{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--aurora-1);position:relative;flex:0 0 auto}
.tick .tick-hand{position:absolute;left:50%;top:50%;width:1.5px;height:6px;background:var(--aurora-1);
  transform-origin:bottom center;transform:translate(-50%,-100%);border-radius:2px;
  animation:tickSpin 8s steps(8) infinite}
.tick .tick-hand.min{height:7.5px;background:var(--edb-amber);animation-duration:48s}
@keyframes tickSpin{to{transform:translate(-50%,-100%) rotate(360deg)}}
.tick .live{width:7px;height:7px;border-radius:50%;background:var(--aurora-1);
  box-shadow:0 0 0 0 rgba(61,245,196,.6);animation:pulse 2.2s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,245,196,.55)}70%{box-shadow:0 0 0 9px rgba(61,245,196,0)}100%{box-shadow:0 0 0 0 rgba(61,245,196,0)}}

/* ---------- PAGE LAYOUT ---------- */
.lp{max-width:1080px;margin:0 auto;padding:0 22px}
.lp-hero{padding:72px 0 40px;position:relative}
.lp-eyebrow{display:inline-flex;align-items:center;gap:8px;
  font:700 12px/1 "JetBrains Mono",monospace;letter-spacing:.18em;text-transform:uppercase;
  color:var(--aurora-1);margin-bottom:18px}
.lp h1{font:800 clamp(34px,6vw,62px)/1.02 "Archivo",sans-serif;letter-spacing:-.02em;
  margin:0 0 18px;color:var(--edb-text)}
.lp h1 .grad{background:linear-gradient(100deg,var(--aurora-1),var(--aurora-2) 55%,var(--aurora-3));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.lp .lede{font:400 clamp(16px,2.2vw,20px)/1.6 "Inter",sans-serif;color:var(--edb-mut);max-width:62ch;margin:0 0 26px}

.lp-cta{display:flex;flex-wrap:wrap;gap:13px;align-items:center;margin:6px 0 8px}
.lp-call{display:inline-flex;align-items:center;gap:11px;
  padding:16px 26px;border-radius:14px;text-decoration:none;
  background:linear-gradient(100deg,var(--edb-amber),var(--edb-amber-2));
  color:#1a1205;font:800 18px/1 "Archivo",sans-serif;letter-spacing:.01em;
  box-shadow:0 10px 30px rgba(242,180,65,.28);transition:transform .15s ease,box-shadow .15s ease}
.lp-call:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(242,180,65,.36)}
.lp-ghost{display:inline-flex;align-items:center;gap:9px;padding:15px 22px;border-radius:14px;
  border:1px solid var(--edb-line);color:var(--edb-text);text-decoration:none;
  font:700 16px/1 "Inter",sans-serif;background:rgba(255,255,255,.02);transition:border-color .15s,background .15s}
.lp-ghost:hover{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.05)}

.lp-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.lp-stats .s{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:11px;
  border:1px solid var(--edb-line);background:rgba(255,255,255,.025);
  font:500 14px/1 "Inter",sans-serif;color:var(--edb-text)}
.lp-stats .s b{font:800 14px/1 "Archivo",sans-serif;color:var(--aurora-1)}
.lp-stats .chk{color:var(--aurora-1);font-weight:800}

/* sections */
.lp-sec{padding:46px 0;border-top:1px solid var(--edb-line)}
.lp-sec h2{font:800 clamp(24px,3.6vw,38px)/1.1 "Archivo",sans-serif;letter-spacing:-.01em;
  margin:0 0 8px;color:var(--edb-text)}
.lp-sec .sub{font:400 16px/1.6 "Inter",sans-serif;color:var(--edb-mut);max-width:60ch;margin:0 0 26px}
.lp-sec p{font:400 16px/1.7 "Inter",sans-serif;color:#c4cbe8;max-width:68ch}
.lp-sec p a{color:var(--aurora-1)}

/* steps */
.lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.lp-step{padding:22px;border:1px solid var(--edb-line);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015))}
.lp-step .n{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  font:800 16px/1 "Archivo",sans-serif;color:#1a1205;margin-bottom:12px;
  background:linear-gradient(120deg,var(--aurora-1),var(--aurora-2))}
.lp-step h3{font:700 18px/1.2 "Inter",sans-serif;margin:0 0 6px;color:var(--edb-text)}
.lp-step p{font:400 14.5px/1.55 "Inter",sans-serif;color:var(--edb-mut)}

/* zones */
.lp-zones{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.lp-zones span{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;
  border:1px solid var(--edb-line);background:rgba(255,255,255,.025);
  font:500 14px/1 "Inter",sans-serif;color:var(--edb-text)}
.lp-zones span::before{content:"";width:6px;height:6px;border-radius:50%;
  background:radial-gradient(circle,var(--aurora-1),var(--aurora-2))}

/* shelf chips */
.lp-shelf{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.lp-shelf .chip{padding:10px 15px;border-radius:12px;border:1px solid var(--edb-line);
  background:rgba(255,255,255,.025);font:600 14px/1 "Inter",sans-serif;color:var(--edb-text)}

/* FAQ */
.lp-faq{display:grid;gap:12px;margin-top:8px}
.lp-qa{border:1px solid var(--edb-line);border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01))}
.lp-qa summary{cursor:pointer;list-style:none;padding:18px 20px;
  font:700 16.5px/1.35 "Inter",sans-serif;color:var(--edb-text);display:flex;justify-content:space-between;gap:16px;align-items:center}
.lp-qa summary::-webkit-details-marker{display:none}
.lp-qa summary::after{content:"+";font:800 22px/1 "Archivo",sans-serif;color:var(--aurora-1);transition:transform .2s}
.lp-qa[open] summary::after{transform:rotate(45deg)}
.lp-qa .a{padding:0 20px 18px;font:400 15.5px/1.65 "Inter",sans-serif;color:var(--edb-mut);max-width:70ch}

/* final cta band */
.lp-final{margin:46px 0 80px;padding:40px;border-radius:22px;position:relative;overflow:hidden;
  border:1px solid var(--edb-line);
  background:
    radial-gradient(600px 300px at 80% -20%, rgba(123,108,246,.22), transparent 60%),
    radial-gradient(500px 260px at 0% 120%, rgba(61,245,196,.16), transparent 60%),
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.lp-final h2{font:800 clamp(26px,4vw,42px)/1.05 "Archivo",sans-serif;margin:0 0 10px;color:var(--edb-text)}
.lp-final p{color:var(--edb-mut);margin:0 0 22px;max-width:56ch}

/* breadcrumb */
.lp-crumb{font:500 13px/1 "Inter",sans-serif;color:var(--edb-mut);padding:18px 0 0}
.lp-crumb a{color:var(--edb-mut);text-decoration:none}
.lp-crumb a:hover{color:var(--edb-text)}

@media (max-width:760px){
  .lp-steps{grid-template-columns:1fr}
  .lp-hero{padding:52px 0 30px}
  .lp-final{padding:28px}
}

/* ---------- BLOG ---------- */
.blog-hero{width:100%;border-radius:18px;overflow:hidden;border:1px solid var(--edb-line);margin:8px 0 30px;display:block}
.blog-hero svg{display:block;width:100%;height:auto}
.post{max-width:760px;margin:0 auto;padding:0 22px}
.post h1{font:800 clamp(30px,5vw,50px)/1.05 "Archivo",sans-serif;letter-spacing:-.02em;color:var(--edb-text);margin:30px 0 10px}
.post .meta{font:600 13px/1 "JetBrains Mono",monospace;color:var(--aurora-1);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.post p{font:400 17px/1.75 "Inter",sans-serif;color:#cdd3ef;margin:0 0 18px}
.post h2{font:800 26px/1.2 "Archivo",sans-serif;color:var(--edb-text);margin:34px 0 10px}
.post h3{font:700 19px/1.3 "Inter",sans-serif;color:var(--edb-text);margin:24px 0 8px}
.post ul{margin:0 0 18px;padding-left:22px}
.post li{font:400 16.5px/1.7 "Inter",sans-serif;color:#c4cbe8;margin:0 0 8px}
.post a{color:var(--aurora-1)}
.post .callout{border:1px solid var(--edb-line);border-radius:14px;padding:20px 22px;margin:24px 0;
  background:linear-gradient(180deg,rgba(242,180,65,.08),rgba(242,180,65,.02))}
.post .callout a{color:var(--edb-amber);font-weight:700}
.blog-index{max-width:980px;margin:0 auto;padding:0 22px}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:24px 0 70px}
.blog-card{border:1px solid var(--edb-line);border-radius:16px;overflow:hidden;text-decoration:none;display:block;
  background:rgba(255,255,255,.02);transition:transform .15s,border-color .15s}
.blog-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.2)}
.blog-card .thumb{width:100%;display:block}
.blog-card .body{padding:16px 18px}
.blog-card h3{font:700 18px/1.3 "Inter",sans-serif;color:var(--edb-text);margin:0 0 6px}
.blog-card p{font:400 14px/1.55 "Inter",sans-serif;color:var(--edb-mut);margin:0}

/* ============================================================
   PER-PAGE HERO ANIMATIONS (.ha-*) — CSS-only, no JS.
   Sits right of the headline; stacks below on mobile.
   All respect prefers-reduced-motion via the global block above.
   ============================================================ */
.lp-hero{display:grid;grid-template-columns:1fr minmax(240px,300px);gap:32px;align-items:center}
.lp-hero-main{min-width:0}
.ha{display:flex;flex-direction:column;align-items:center;gap:14px;justify-self:center}
.ha svg{width:100%;max-width:260px;height:auto;overflow:visible}
.ha-badge{font:700 11px/1 "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase;
  color:var(--aurora-1);padding:6px 12px;border:1px solid var(--edb-line);border-radius:999px;
  background:rgba(255,255,255,.03);white-space:nowrap}
@media (max-width:860px){
  .lp-hero{grid-template-columns:1fr;gap:18px}
  .ha{order:-1;margin-bottom:4px}
  .ha svg{max-width:200px}
}

/* ---- CLOCK ---- */
.ha-cl-face{fill:rgba(255,255,255,.03);stroke:var(--edb-line);stroke-width:2}
.ha-cl-ring{fill:none;stroke:var(--aurora-1);stroke-width:2;opacity:.5;stroke-dasharray:4 8}
.ha-clock .ha-cl-ring{animation:haSpin 40s linear infinite;transform-origin:110px 110px}
.ha-cl-ticks line{stroke:var(--edb-mut);stroke-width:2}
.ha-cl-hr{stroke:var(--edb-text);stroke-width:5;stroke-linecap:round;transform-origin:110px 110px;animation:haSpin 43200s linear infinite}
.ha-cl-min{stroke:var(--edb-text);stroke-width:3.5;stroke-linecap:round;transform-origin:110px 110px;animation:haSpin 3600s linear infinite}
.ha-cl-sec{stroke:var(--aurora-3);stroke-width:2;stroke-linecap:round;transform-origin:110px 110px;animation:haSpin 60s steps(60) infinite}
.ha-cl-hub{fill:var(--aurora-1)}
@keyframes haSpin{to{transform:rotate(360deg)}}

/* ---- ORBIT ---- */
.ha-or-ring{fill:none;stroke:var(--edb-line);stroke-width:1.5}
.ha-or-ring.r1{stroke:rgba(61,245,196,.3)}.ha-or-ring.r2{stroke:rgba(123,108,246,.3)}.ha-or-ring.r3{stroke:rgba(255,123,213,.3)}
.ha-or-dot{fill:var(--aurora-1)}.ha-or-dot.d2{fill:var(--aurora-2)}.ha-or-dot.d3{fill:var(--aurora-3)}
.ha-or-spin1,.ha-or-spin2,.ha-or-spin3{transform-origin:110px 110px}
.ha-or-spin1{animation:haSpin 8s linear infinite}
.ha-or-spin2{animation:haSpin 6s linear infinite reverse}
.ha-or-spin3{animation:haSpin 4s linear infinite}
.ha-or-24{fill:var(--edb-text);font:800 44px/1 "Archivo",sans-serif;text-anchor:middle}
.ha-or-7{fill:var(--aurora-1);font:800 30px/1 "Archivo",sans-serif;text-anchor:middle}

/* ---- NEON ---- */
.ha-neon-box{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 30px;border-radius:14px;
  border:2px solid rgba(255,123,213,.5);background:rgba(20,10,30,.5);
  box-shadow:0 0 24px rgba(255,123,213,.25),inset 0 0 18px rgba(255,123,213,.12)}
.ha-neon-open{font:800 40px/1 "Archivo",sans-serif;color:#fff;
  text-shadow:0 0 8px var(--aurora-3),0 0 18px var(--aurora-3);animation:haFlick1 4s infinite}
.ha-neon-late{font:800 40px/1 "Archivo",sans-serif;color:var(--aurora-1);
  text-shadow:0 0 8px var(--aurora-1),0 0 18px var(--aurora-1);animation:haFlick2 5s infinite}
.ha-neon-sub{font:700 12px/1 "JetBrains Mono",monospace;letter-spacing:.2em;color:var(--aurora-2);
  text-shadow:0 0 6px var(--aurora-2)}
@keyframes haFlick1{0%,19%,21%,100%{opacity:1}20%{opacity:.4}50%,52%{opacity:.85}}
@keyframes haFlick2{0%,40%,42%,100%{opacity:1}41%{opacity:.3}70%,72%{opacity:.7}}

/* ---- MOON ---- */
.ha-mn-moon{fill:#f4e9c8}
.ha-mn-cut{fill:var(--edb-ink)}
.ha-moon svg{filter:drop-shadow(0 0 16px rgba(244,233,200,.3))}
.ha-mn-stars circle{fill:#fff}
.ha-mn-stars .s1{animation:haTwinkle 3s infinite}
.ha-mn-stars .s2{animation:haTwinkle 2.2s infinite .5s}
.ha-mn-stars .s3{animation:haTwinkle 2.7s infinite 1s}
@keyframes haTwinkle{0%,100%{opacity:1}50%{opacity:.2}}

/* ---- SKYLINE ---- */
.ha-sk-moon{fill:#f4e9c8;opacity:.9;filter:drop-shadow(0 0 10px rgba(244,233,200,.4))}
.ha-sk-build rect{fill:#161d3a;stroke:rgba(255,255,255,.06);stroke-width:1}
.ha-sk-win rect{fill:var(--edb-amber);opacity:.85}
.ha-sk-win rect:nth-child(odd){animation:haWin 4s infinite}
.ha-sk-win rect:nth-child(even){animation:haWin 5.5s infinite 1s}
@keyframes haWin{0%,100%{opacity:.85}45%{opacity:.2}}

/* ---- DIAL ---- */
.ha-di-base{fill:rgba(255,255,255,.03);stroke:var(--edb-line);stroke-width:2}
.ha-di-inner{fill:rgba(255,255,255,.02);stroke:var(--edb-line);stroke-width:1.5}
.ha-di-track{fill:none;stroke:rgba(61,245,196,.2);stroke-width:1}
.ha-di-hole{fill:rgba(255,255,255,.06);stroke:var(--aurora-1);stroke-width:1.5}
.ha-di-spin{transform-origin:110px 110px;animation:haDial 6s ease-in-out infinite}
.ha-di-stop{fill:var(--aurora-3)}
.ha-di-ph{fill:var(--edb-text);font-size:34px;text-anchor:middle}
@keyframes haDial{0%,60%,100%{transform:rotate(0)}30%{transform:rotate(140deg)}}

/* ---- MAP PIN ---- */
.ha-pn-shadow{fill:rgba(0,0,0,.35)}
.ha-pn-body{fill:url(#none);fill:var(--aurora-2);stroke:rgba(255,255,255,.2);stroke-width:1.5}
.ha-pn-hole{fill:var(--edb-ink)}
.ha-pn-glyph{fill:var(--aurora-1);font:800 22px/1 "Archivo",sans-serif;text-anchor:middle}
.ha-pn-drop{transform-origin:110px 110px;animation:haDrop 2.6s ease-in-out infinite}
.ha-pn-pulse circle{fill:none;stroke:var(--aurora-1);stroke-width:2;transform-origin:110px 186px;animation:haPinPulse 2.6s ease-out infinite}
@keyframes haDrop{0%{transform:translateY(-40px);opacity:0}25%{transform:translateY(0);opacity:1}85%{transform:translateY(0)}100%{transform:translateY(-40px);opacity:0}}
@keyframes haPinPulse{0%,25%{transform:scale(.3);opacity:0}40%{opacity:.8}100%{transform:scale(2.4);opacity:0}}

/* ---- TRUCK ---- */
.ha-tk-box{fill:var(--aurora-2);stroke:rgba(255,255,255,.2);stroke-width:1.5}
.ha-tk-cab{fill:var(--aurora-2);opacity:.85;stroke:rgba(255,255,255,.2);stroke-width:1.5}
.ha-tk-win{fill:rgba(61,245,196,.5)}
.ha-tk-wheel{fill:#0b1026;stroke:var(--edb-text);stroke-width:3}
.ha-tk-hub{fill:var(--aurora-1)}
.ha-tk-label{fill:#fff;font:800 18px/1 "Archivo",sans-serif;text-anchor:middle}
.ha-tk-move{animation:haTruck 3.4s ease-in-out infinite}
.ha-tk-wheel,.ha-tk-hub{transform-box:fill-box;transform-origin:center}
.ha-truck .ha-tk-wheel{animation:haSpin 1.2s linear infinite}
.ha-tk-road line{stroke:var(--edb-line);stroke-width:2}
.ha-tk-dash line{stroke:var(--aurora-1);stroke-width:2;stroke-dasharray:14 16;animation:haDash 1s linear infinite}
@keyframes haTruck{0%,100%{transform:translateX(-6px)}50%{transform:translateX(6px)}}
@keyframes haDash{to{stroke-dashoffset:-30}}

/* ---- RADAR ---- */
.ha-rd-ring{fill:none;stroke:rgba(61,245,196,.25);stroke-width:1.5}
.ha-rd-cross{stroke:rgba(61,245,196,.2);stroke-width:1}
.ha-rd-beam{fill:rgba(61,245,196,.18)}
.ha-rd-sweep{transform-origin:110px 110px;animation:haSpin 3.5s linear infinite}
.ha-rd-you{fill:var(--aurora-1)}
.ha-rd-lbl{fill:var(--aurora-1);font:700 11px/1 "JetBrains Mono",monospace;text-anchor:middle}
.ha-rd-blip{fill:var(--aurora-3)}
.ha-rd-blip.b1{animation:haBlip 3.5s infinite}
.ha-rd-blip.b2{animation:haBlip 3.5s infinite 1.2s}
.ha-rd-blip.b3{animation:haBlip 3.5s infinite 2.3s}
@keyframes haBlip{0%,100%{opacity:0}10%{opacity:1}40%{opacity:.3}}

/* ---- SHELF ---- */
.ha-sh-bottles .b rect{fill:var(--aurora-2);stroke:rgba(255,255,255,.18);stroke-width:1}
.ha-sh-bottles .b:nth-child(2) rect{fill:var(--aurora-1)}
.ha-sh-bottles .b:nth-child(4) rect{fill:var(--aurora-3)}
.ha-sh-bottles .b{transform-box:fill-box;transform-origin:bottom;animation:haPop 4s ease-in-out infinite}
.ha-sh-bottles .b1{animation-delay:0s}.ha-sh-bottles .b2{animation-delay:.3s}
.ha-sh-bottles .b3{animation-delay:.6s}.ha-sh-bottles .b4{animation-delay:.9s}.ha-sh-bottles .b5{animation-delay:1.2s}
.ha-sh-board{fill:var(--edb-amber-2)}.ha-sh-edge{fill:rgba(0,0,0,.4)}
@keyframes haPop{0%,70%,100%{transform:translateY(0)}12%{transform:translateY(-10px)}24%{transform:translateY(0)}}

/* ---- BEER ---- */
.ha-be-glass{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.25);stroke-width:2}
.ha-be-fill{fill:url(#none);fill:#F5C518;transform-box:fill-box;transform-origin:bottom;animation:haFillUp 4s ease-in-out infinite}
.ha-be-foam{fill:#fff;opacity:.95}.ha-be-foam2{fill:#fff;opacity:.85}
.ha-be-handle{fill:none;stroke:rgba(255,255,255,.25);stroke-width:6}
.ha-be-bubbles .bb{fill:rgba(255,255,255,.7)}
.ha-be-bubbles .bb{animation:haBubble 2.6s linear infinite}
.ha-be-bubbles .bb.d{animation-delay:.6s}.ha-be-bubbles .bb.d2{animation-delay:1.1s}.ha-be-bubbles .bb.d3{animation-delay:1.7s}
@keyframes haFillUp{0%{transform:scaleY(.1)}55%{transform:scaleY(1)}100%{transform:scaleY(1)}}
@keyframes haBubble{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-120px);opacity:0}}

/* ---- WINE ---- */
.ha-wn-glass{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.25);stroke-width:2}
.ha-wn-bottle rect{fill:#3a1020;stroke:rgba(255,255,255,.2);stroke-width:1}
.ha-wn-bottle{transform-origin:32px 40px;animation:haTilt 5s ease-in-out infinite}
.ha-wn-pour{stroke:#7a1535;stroke-width:4;stroke-linecap:round;opacity:0;animation:haPour 5s ease-in-out infinite}
.ha-wn-fill{fill:#7a1535;transform-box:fill-box;transform-origin:bottom;animation:haFillUp 5s ease-in-out infinite}
@keyframes haTilt{0%,100%{transform:rotate(0)}30%,60%{transform:rotate(58deg)}}
@keyframes haPour{0%,22%{opacity:0}30%,58%{opacity:.9}66%,100%{opacity:0}}

/* ---- WHISKEY ---- */
.ha-wh-glass{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.25);stroke-width:2}
.ha-wh-liquid{fill:#C9821B;opacity:.9}
.ha-wh-rim{fill:rgba(255,255,255,.12)}
.ha-wh-ice rect{fill:rgba(255,255,255,.35);stroke:rgba(255,255,255,.5);stroke-width:1}
.ha-wh-ice.i1{transform-box:fill-box;transform-origin:center;animation:haIce 4s ease-in-out infinite}
.ha-wh-ice.i2{transform-box:fill-box;transform-origin:center;animation:haIce 4s ease-in-out infinite .8s}
.ha-wh-splash ellipse{fill:rgba(201,130,27,.6);animation:haSplash 4s ease-in-out infinite}
@keyframes haIce{0%{transform:translateY(-30px) rotate(0);opacity:0}18%{transform:translateY(0) rotate(20deg);opacity:1}30%{transform:translateY(-6px) rotate(15deg)}40%,100%{transform:translateY(0) rotate(18deg);opacity:1}}
@keyframes haSplash{0%,12%{transform:scaleX(.4);opacity:0}20%{transform:scaleX(1.2);opacity:.8}30%,100%{opacity:0}}

/* ---- VODKA ---- */
.ha-vk-bottle{fill:rgba(220,235,255,.06);stroke:rgba(180,220,255,.35);stroke-width:2}
.ha-vk-liquid{fill:rgba(200,225,255,.25)}
.ha-vk-cap{fill:rgba(180,220,255,.5)}
.ha-vk-frost circle{fill:rgba(255,255,255,.6)}
.ha-vk-frost circle{animation:haTwinkle 3s infinite}
.ha-vk-lime circle{fill:#8bc34a;opacity:.9}
.ha-vk-lime path{stroke:#5a8a2a;stroke-width:1.5}
.ha-vk-lime{transform-origin:150px 170px;animation:haFloat 4s ease-in-out infinite}
@keyframes haFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(8deg)}}

/* ---- SUNRISE ---- */
.ha-su-disc{fill:#FFB444;filter:drop-shadow(0 0 18px rgba(255,180,68,.5))}
.ha-su-rays line{stroke:#FFB444;stroke-width:3;stroke-linecap:round}
.ha-su-rays{transform-origin:120px 120px;animation:haSpin 18s linear infinite}
.ha-su-sun{animation:haRise 5s ease-in-out infinite}
.ha-su-ground{fill:rgba(123,108,246,.12)}
.ha-su-horizon{stroke:var(--edb-line);stroke-width:2}
@keyframes haRise{0%{transform:translateY(40px)}40%,100%{transform:translateY(0)}}

/* ---- CONFETTI ---- */
.ha-cf-body{fill:rgba(255,255,255,.05);stroke:var(--edb-line);stroke-width:2}
.ha-cf-head{fill:var(--aurora-2)}
.ha-cf-ring{stroke:var(--edb-mut);stroke-width:4;stroke-linecap:round}
.ha-cf-num{fill:var(--edb-text);font:800 40px/1 "Archivo",sans-serif;text-anchor:middle}
.ha-cf-bits rect{transform-box:fill-box;transform-origin:center}
.ha-cf-bits .c1{fill:var(--aurora-1)}.ha-cf-bits .c2{fill:var(--aurora-2)}.ha-cf-bits .c3{fill:var(--aurora-3)}
.ha-cf-bits rect:nth-child(odd){animation:haFall 3s linear infinite}
.ha-cf-bits rect:nth-child(even){animation:haFall 3.6s linear infinite .6s}
@keyframes haFall{0%{transform:translateY(-20px) rotate(0);opacity:0}15%{opacity:1}100%{transform:translateY(60px) rotate(220deg);opacity:0}}
