
:root{
  --gx-ease:cubic-bezier(.22,.8,.2,1);
  --gx-fast:160ms;
  --gx-med:280ms;
  --gx-slow:520ms;
  --gx-shadow:0 24px 56px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.03);
  --gx-shadow-strong:0 34px 76px rgba(0,0,0,.46),0 0 30px rgba(18,186,255,.09);
}
html.gx-js body{opacity:0;transform:translateY(10px);transition:opacity .5s var(--gx-ease),transform .5s var(--gx-ease)}
html.gx-js body.gx-ready{opacity:1;transform:none}
body{overflow-x:hidden}
#gx-transition{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:0;transition:opacity var(--gx-med) var(--gx-ease)}
#gx-transition:before,#gx-transition:after{content:"";position:absolute;border-radius:50%;filter:blur(36px);opacity:.75}
#gx-transition:before{width:48vw;height:48vw;min-width:260px;min-height:260px;left:-8vw;top:-10vw;background:radial-gradient(circle,rgba(18,186,255,.22),rgba(18,186,255,0) 68%)}
#gx-transition:after{width:42vw;height:42vw;min-width:220px;min-height:220px;right:-10vw;bottom:-12vw;background:radial-gradient(circle,rgba(183,255,0,.16),rgba(183,255,0,0) 72%)}
#gx-transition .gx-sheen{position:absolute;inset:0;background:linear-gradient(115deg,rgba(1,6,10,.02) 0%,rgba(7,18,28,.16) 33%,rgba(2,6,10,.58) 55%,rgba(1,6,10,.86) 100%);transform:translateX(-10%);transition:transform .55s var(--gx-ease)}
body.gx-nav-out #gx-transition{opacity:1}
body.gx-nav-out #gx-transition .gx-sheen{transform:translateX(0)}
.gx-reveal{opacity:0;transform:translateY(26px) scale(.988);transition:opacity .72s var(--gx-ease),transform .72s var(--gx-ease);transition-delay:var(--gx-delay,0ms);will-change:transform,opacity}
.gx-reveal.gx-show{opacity:1;transform:none}
.gx-card{transition:transform var(--gx-fast) var(--gx-ease),box-shadow var(--gx-med) var(--gx-ease),border-color var(--gx-fast) var(--gx-ease),background var(--gx-med) var(--gx-ease),filter var(--gx-med) var(--gx-ease);transform-origin:center}
.gx-card:hover,.gx-card:focus-within{transform:translateY(-6px);box-shadow:var(--gx-shadow);border-color:rgba(18,186,255,.22)!important}
.gx-card:active{transform:translateY(-2px) scale(.995)}
.gx-button{position:relative;overflow:hidden;isolation:isolate;transition:transform var(--gx-fast) var(--gx-ease),box-shadow var(--gx-fast) var(--gx-ease),border-color var(--gx-fast) var(--gx-ease),background var(--gx-med) var(--gx-ease),color var(--gx-fast) var(--gx-ease)}
.gx-button:before{content:"";position:absolute;inset:-2px auto -2px -40%;width:32%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.14),rgba(255,255,255,0));transform:skewX(-22deg) translateX(0);opacity:0;transition:transform .6s var(--gx-ease),opacity .35s var(--gx-ease);pointer-events:none}
.gx-button:hover:before,.gx-button:focus-visible:before{opacity:1;transform:skewX(-22deg) translateX(420%)}
.gx-button:hover,.gx-button:focus-visible{transform:translateY(-2px);box-shadow:0 16px 30px rgba(0,0,0,.24),0 0 22px rgba(18,186,255,.08);border-color:rgba(18,186,255,.34)!important}
.gx-button.gx-pressed{transform:translateY(0) scale(.985)}
.gx-button .gx-arrow,.gx-card .gx-arrow{display:inline-block;transition:transform var(--gx-fast) var(--gx-ease)}
.gx-button:hover .gx-arrow,.gx-card:hover .gx-arrow{transform:translateX(3px)}
.gx-button:after{content:"";position:absolute;left:var(--gx-rx,50%);top:var(--gx-ry,50%);width:8px;height:8px;background:radial-gradient(circle,rgba(18,186,255,.28),rgba(18,186,255,0) 70%);border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none}
.gx-button.gx-ripple:after{animation:gx-ripple .55s var(--gx-ease)}
@keyframes gx-ripple{0%{transform:translate(-50%,-50%) scale(0);opacity:.75}100%{transform:translate(-50%,-50%) scale(28);opacity:0}}
.gx-vial,.gx-vial img,.gx-vial .vial-photo{transition:transform var(--gx-fast) var(--gx-ease),filter var(--gx-med) var(--gx-ease),box-shadow var(--gx-med) var(--gx-ease)}
.gx-vial{position:relative;cursor:pointer}
.gx-vial:hover,.gx-vial:focus-visible{transform:translateY(-5px) scale(1.02)}
.gx-vial:hover img,.gx-vial:hover .vial-photo,.gx-vial:focus-visible img,.gx-vial:focus-visible .vial-photo{filter:drop-shadow(0 28px 36px rgba(0,0,0,.48)) drop-shadow(0 0 22px rgba(18,186,255,.14)) brightness(1.02)}
.gx-vial.gx-activated{transform:translateY(-2px) scale(.985)}
.navlinks a,.nav a,.crumb,.related a,.card-link,.profile-link,.topic-link,.source-actions a{position:relative}
.navlinks a:not(.cta):after,.nav a:not(.cta):after,.related a:after,.card-link:after,.profile-link:after,.topic-link:after,.source-actions a:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:linear-gradient(90deg,rgba(18,186,255,.92),rgba(183,255,0,.85));transform:scaleX(0);transform-origin:left;transition:transform var(--gx-fast) var(--gx-ease);opacity:.9}
.navlinks a:hover:after,.nav a:hover:after,.related a:hover:after,.card-link:hover:after,.profile-link:hover:after,.topic-link:hover:after,.source-actions a:hover:after{transform:scaleX(1)}
.gx-menu-target{transition:opacity var(--gx-med) var(--gx-ease),transform var(--gx-med) var(--gx-ease),max-height var(--gx-med) var(--gx-ease)}
[aria-expanded="true"]{box-shadow:0 12px 24px rgba(0,0,0,.22),0 0 16px rgba(18,186,255,.08)}
.gx-calculator-live .result-card,.gx-calculator-live .metric,.gx-calculator-live .live-row{transition:transform var(--gx-fast) var(--gx-ease),box-shadow var(--gx-fast) var(--gx-ease),border-color var(--gx-fast) var(--gx-ease)}
.gx-flash{animation:gx-flash .48s var(--gx-ease)}
@keyframes gx-flash{0%{transform:translateY(4px);box-shadow:0 0 0 rgba(0,0,0,0)}40%{transform:translateY(-2px);box-shadow:0 14px 28px rgba(18,186,255,.08)}100%{transform:none;box-shadow:none}}
.gx-pulse{animation:gx-pulse .56s var(--gx-ease)}
@keyframes gx-pulse{0%{transform:scale(.985)}40%{transform:scale(1.02)}100%{transform:none}}
.gx-progress{position:fixed;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,#12baff,#63ded6 45%,#b7ff00);box-shadow:0 0 20px rgba(18,186,255,.35);z-index:10000;transition:width .08s linear;pointer-events:none}
/* make hidden overlay anchors stay invisible */
a.card-hit.gx-button{overflow:visible}a.card-hit.gx-button:before,a.card-hit.gx-button:after{display:none}
@media (prefers-reduced-motion: reduce){html.gx-js body, .gx-reveal, .gx-card, .gx-button, .gx-vial, #gx-transition, #gx-transition .gx-sheen{transition:none!important;animation:none!important} html{scroll-behavior:auto!important}}


/* ENHANCED v72.2 — premium persistent WhatsApp contact control */
.enh-whatsapp{
  position:fixed;
  right:max(22px,env(safe-area-inset-right));
  bottom:max(22px,calc(env(safe-area-inset-bottom) + 22px));
  z-index:9998;
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-width:206px;
  min-height:66px;
  padding:9px 18px 9px 9px;
  border:1px solid rgba(37,211,102,.52);
  border-radius:999px;
  background:
    linear-gradient(180deg,rgba(10,23,29,.985),rgba(3,9,13,.99));
  color:#f5fbff;
  text-decoration:none;
  font:900 12px/1 "Segoe UI Variable","Segoe UI",Arial,Helvetica,sans-serif;
  letter-spacing:.085em;
  text-transform:uppercase;
  box-shadow:
    0 22px 54px rgba(0,0,0,.54),
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 28px rgba(37,211,102,.13),
    0 0 38px rgba(18,186,255,.055);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
  transform:translateZ(0);
  isolation:isolate;
  overflow:hidden;
  transition:
    transform .18s var(--gx-ease),
    border-color .18s var(--gx-ease),
    box-shadow .28s var(--gx-ease),
    background .28s var(--gx-ease);
  -webkit-tap-highlight-color:transparent;
}
.enh-whatsapp:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  background:
    radial-gradient(circle at 18% 50%,rgba(37,211,102,.14),transparent 34%),
    linear-gradient(110deg,transparent 0 54%,rgba(255,255,255,.035) 64%,transparent 74%);
  pointer-events:none;
}
.enh-whatsapp:after{
  content:"";
  position:absolute;
  left:66px;
  top:13px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#25D366;
  box-shadow:0 0 0 3px rgba(37,211,102,.10),0 0 12px rgba(37,211,102,.72);
  pointer-events:none;
}
.enh-whatsapp:hover,.enh-whatsapp:focus-visible{
  transform:translateY(-4px) scale(1.018);
  border-color:rgba(37,211,102,.78);
  background:linear-gradient(180deg,rgba(12,27,33,.995),rgba(4,11,15,.995));
  box-shadow:
    0 28px 64px rgba(0,0,0,.60),
    0 0 0 1px rgba(255,255,255,.045) inset,
    0 0 34px rgba(37,211,102,.22),
    0 0 48px rgba(18,186,255,.07);
  outline:none;
}
.enh-whatsapp:active{transform:translateY(-1px) scale(.985)}
.enh-whatsapp__icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#2be06f,#20c75d);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.16) inset,
    0 6px 18px rgba(0,0,0,.30),
    0 0 22px rgba(37,211,102,.28);
  transition:transform .18s var(--gx-ease),box-shadow .24s var(--gx-ease);
}
.enh-whatsapp:hover .enh-whatsapp__icon,.enh-whatsapp:focus-visible .enh-whatsapp__icon{
  transform:scale(1.045) rotate(-2deg);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.20) inset,
    0 8px 22px rgba(0,0,0,.34),
    0 0 28px rgba(37,211,102,.38);
}
.enh-whatsapp__icon svg{width:29px;height:29px;display:block;fill:#fff}
.enh-whatsapp__label{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  white-space:nowrap;
  color:#f4fbff;
  text-shadow:0 1px 10px rgba(255,255,255,.04);
}
.enh-whatsapp__label small{
  display:block;
  margin-top:6px;
  color:#9eb3be;
  font-size:9px;
  line-height:1;
  font-weight:750;
  letter-spacing:.055em;
  text-transform:none;
}
.enh-whatsapp.gx-ripple:after{display:none!important}
@media(max-width:640px){
  .enh-whatsapp{
    right:max(14px,env(safe-area-inset-right));
    bottom:max(16px,calc(env(safe-area-inset-bottom) + 16px));
    min-width:184px;
    max-width:calc(100vw - 28px);
    min-height:64px;
    padding:8px 15px 8px 8px;
    gap:11px;
    border-radius:999px;
    font-size:11px;
    letter-spacing:.075em;
    box-shadow:
      0 20px 48px rgba(0,0,0,.58),
      0 0 0 1px rgba(255,255,255,.035) inset,
      0 0 28px rgba(37,211,102,.16);
  }
  .enh-whatsapp:after{left:62px;top:12px;width:5px;height:5px}
  .enh-whatsapp__icon{width:47px;height:47px;flex-basis:47px}
  .enh-whatsapp__icon svg{width:28px;height:28px}
  .enh-whatsapp__label{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:nowrap;border:0}
  .enh-whatsapp__label small{font-size:8.5px;margin-top:5px}
}
@media(max-width:360px){
  .enh-whatsapp{min-width:176px;min-height:61px;padding-right:13px;font-size:10.5px}
  .enh-whatsapp__icon{width:45px;height:45px;flex-basis:45px}
  .enh-whatsapp__icon svg{width:27px;height:27px}
}
@media(prefers-reduced-motion:reduce){.enh-whatsapp,.enh-whatsapp__icon{transition:none!important}}


/* ENHANCED v72.3 — cache-busted WhatsApp geometry lock */
.enh-whatsapp{
  width:auto!important;
  height:auto!important;
  min-width:218px!important;
  min-height:68px!important;
  padding:9px 18px 9px 9px!important;
  gap:12px!important;
  border-radius:999px!important;
}
.enh-whatsapp__icon{
  width:49px!important;
  height:49px!important;
  flex:0 0 49px!important;
}
.enh-whatsapp__label{
  display:flex!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  white-space:nowrap!important;
  opacity:1!important;
  visibility:visible!important;
}
@media(max-width:640px){
  .enh-whatsapp{
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px))!important;
    width:218px!important;
    min-width:218px!important;
    max-width:calc(100vw - 28px)!important;
    height:68px!important;
    min-height:68px!important;
    padding:9px 16px 9px 9px!important;
    gap:12px!important;
  }
  .enh-whatsapp__icon{width:49px!important;height:49px!important;flex-basis:49px!important}
  .enh-whatsapp__icon svg{width:29px!important;height:29px!important}
  .enh-whatsapp__label{font-size:11px!important;line-height:1!important;letter-spacing:.075em!important}
  .enh-whatsapp__label small{display:block!important;font-size:9px!important;line-height:1!important;margin-top:6px!important}
}
@media(max-width:360px){
  .enh-whatsapp{width:204px!important;min-width:204px!important;height:66px!important;min-height:66px!important}
  .enh-whatsapp__icon{width:47px!important;height:47px!important;flex-basis:47px!important}
}


/* ENHANCED v72.4 — WhatsApp brand-mark correction */
.enh-whatsapp__icon{
  width:52px!important;
  height:52px!important;
  flex:0 0 52px!important;
  padding:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:0 7px 20px rgba(0,0,0,.34),0 0 24px rgba(37,211,102,.30)!important;
  overflow:visible!important;
}
.enh-whatsapp__icon img{
  display:block!important;
  width:52px!important;
  height:52px!important;
  max-width:none!important;
  object-fit:contain!important;
  border-radius:50%!important;
  filter:none!important;
  transform:none!important;
}
.enh-whatsapp:hover .enh-whatsapp__icon img,.enh-whatsapp:focus-visible .enh-whatsapp__icon img{
  filter:none!important;
  transform:none!important;
}
@media(max-width:640px){
  .enh-whatsapp__icon{width:52px!important;height:52px!important;flex-basis:52px!important}
  .enh-whatsapp__icon img{width:52px!important;height:52px!important}
}
@media(max-width:360px){
  .enh-whatsapp__icon{width:50px!important;height:50px!important;flex-basis:50px!important}
  .enh-whatsapp__icon img{width:50px!important;height:50px!important}
}
