/* Wave Alchemy Blocks Library 0.1 — shared, scoped design system. No remote assets. */
.wa-bl, .wa-bl *, .wa-bl *::before, .wa-bl *::after { box-sizing: border-box; }
.wa-bl {
  position: relative; isolation: isolate; display: block; width: 100%; max-width: none;
  margin: 0; padding: var(--wa-bl-pad-top) 0 var(--wa-bl-pad-bottom);
  background: var(--wa-bl-bg); color: var(--wa-bl-fg); font-family: inherit;
  overflow: hidden; overflow: clip;
}
.wa-bl .wa-bl__wrap { position: relative; z-index: 3; width: min(100% - 48px, var(--wa-bl-max-width)); margin-inline: auto; min-width: 0; }
.wa-bl .wa-bl__headline {
  margin: 0; padding: 0; max-width: 100%; color: var(--wa-bl-heading-solid);
  font-family: var(--wa-bl-heading-font); font-size: var(--wa-bl-heading-size);
  font-weight: var(--wa-bl-heading-weight); line-height: var(--wa-bl-heading-line-height, 1.08);
  letter-spacing: var(--wa-bl-heading-tracking); text-transform: var(--wa-bl-heading-case);
  text-align: var(--wa-bl-heading-align); text-wrap: balance; overflow-wrap: break-word;
}
.wa-bl.wa-bl--headline-glow .wa-bl__headline { filter: drop-shadow(0 0 16px color-mix(in srgb,var(--wa-bl-accent) 25%, transparent)); }
.wa-bl.wa-bl--gradient-heading .wa-bl__headline {
  background-image: var(--wa-bl-heading-fill); background-clip: text; -webkit-background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}
.wa-bl .wa-bl__eyebrow {
  margin: 0 0 18px; color: var(--wa-bl-accent); font-size: 12px;
  letter-spacing: .2em; line-height: 1.5; font-weight: 600; text-transform: uppercase;
}
.wa-bl .wa-bl__body {
  margin-top: var(--wa-bl-content-gap); color: var(--wa-bl-muted);
  font-size: clamp(16px, 1.35vw, 18px); font-weight: 300; line-height: 1.75;
  overflow-wrap: break-word;
}
.wa-bl .wa-bl__body > :first-child { margin-top: 0; }
.wa-bl .wa-bl__body > :last-child { margin-bottom: 0; }
.wa-bl .wa-bl__body a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.wa-bl .wa-bl__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: var(--wa-bl-text-cta-gap); }
.wa-bl .wa-bl__button {
  display: inline-flex; justify-content: center; align-items: center; gap: 16px;
  min-height: var(--wa-bl-button-height); padding: 11px 22px; max-width: 100%; border: 1px solid transparent;
  border-radius: 999px; text-align: center; text-decoration: none; text-transform: var(--wa-bl-button-case,none);
  background: var(--wa-bl-button-bg); color: var(--wa-bl-button-fg);
  font-family: var(--wa-bl-button-font,inherit); font-size: var(--wa-bl-button-size); line-height: 1.3; font-weight: var(--wa-bl-button-weight,500); font-style:var(--wa-bl-button-style,normal);
  transition: transform .18s ease, opacity .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.wa-bl .wa-bl__button--secondary {
  color: var(--wa-bl-fg); background: transparent; border-color: currentColor;
}
.wa-bl .wa-bl__button--card {
  align-self: flex-start; padding: 0; min-height: auto; font-size: 14px;
  border: 0; background: transparent; color: inherit; border-radius: 0;
}
.wa-bl .wa-bl__button-arrow { display:block; width:16px; height:16px; flex:0 0 16px; color:inherit; fill:none; }
.wa-bl .wa-bl__button--card { font-size: 14px; }
/* Pointer hover and keyboard focus show the same design intent. Touch devices
   do not get sticky :hover styling. Link destinations/behaviour are untouched. */
@media (hover:hover) {
  .wa-bl:not(.wa-bl--button-hover-none) .wa-bl__button:not(.wa-bl__button--card):is(:hover,:focus-visible) {
    box-shadow:0 9px 24px #00000024;
  }
  .wa-bl--button-hover-lift .wa-bl__button:not(.wa-bl__button--card):is(:hover,:focus-visible),
  .wa-bl--button-hover-fill .wa-bl__button:not(.wa-bl__button--card):is(:hover,:focus-visible) {
    background:color-mix(in srgb,var(--wa-bl-button-bg) 85%,var(--wa-bl-fg) 15%);
  }
  .wa-bl--button-hover-invert .wa-bl__button:not(.wa-bl__button--card):is(:hover,:focus-visible) {
    background:var(--wa-bl-button-fg);color:var(--wa-bl-button-bg);border-color:var(--wa-bl-button-fg);
  }
  .wa-bl--button-hover-glow .wa-bl__button:not(.wa-bl__button--card):is(:hover,:focus-visible) {
    box-shadow:0 8px 32px color-mix(in srgb,var(--wa-bl-accent) 50%,transparent);
  }
  .wa-bl--button-hover-custom .wa-bl__button:not(.wa-bl__button--card):is(:hover,:focus-visible) {
    background:var(--wa-bl-button-hover-bg); color:var(--wa-bl-button-hover-fg);
  }
  .wa-bl--button-hover-none .wa-bl__button:not(.wa-bl__button--card):hover {transform:none;opacity:1;box-shadow:none;}
}
.wa-bl--button-hover-lift .wa-bl__button:not(.wa-bl__button--card):focus-visible,
.wa-bl--button-hover-fill .wa-bl__button:not(.wa-bl__button--card):focus-visible,
.wa-bl--button-hover-invert .wa-bl__button:not(.wa-bl__button--card):focus-visible,
.wa-bl--button-hover-glow .wa-bl__button:not(.wa-bl__button--card):focus-visible,
.wa-bl--button-hover-custom .wa-bl__button:not(.wa-bl__button--card):focus-visible {outline:3px solid var(--wa-bl-accent);outline-offset:4px;}

.wa-bl .wa-bl__button:focus-visible { outline: 3px solid var(--wa-bl-accent); outline-offset: 4px; }
.wa-bl .wa-bl__background-media { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.wa-bl .wa-bl__background-media picture { display: block; width:100%; height:100%; }
.wa-bl .wa-bl__background-img { display:block; width: 100%; height: 100%; object-fit: cover; object-position: var(--wa-bl-bg-pos-x) var(--wa-bl-bg-pos-y); }
.wa-bl.wa-bl--bg-contain .wa-bl__background-img { object-fit: contain; }
.wa-bl .wa-bl__background-overlay { position:absolute; z-index:1; inset:0; pointer-events:none; background:var(--wa-bl-overlay-bg); opacity:var(--wa-bl-overlay-opacity); }
.wa-bl .wa-bl__headline--split .wa-bl__headline-segment { color:var(--wa-bl-segment1-color); -webkit-text-fill-color:currentColor; }
.wa-bl .wa-bl__headline--split .wa-bl__headline-segment--2 { color:var(--wa-bl-segment2-color); }
.wa-bl .wa-bl__headline--split .wa-bl__headline-segment--gradient { background-image:var(--wa-bl-segment1-gradient); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
.wa-bl .wa-bl__headline--split .wa-bl__headline-segment--gradient.wa-bl__headline-segment--2 { background-image:var(--wa-bl-segment2-gradient); }
.wa-bl.wa-bl--split-desktop-break .wa-bl__headline-segment--2 { display:block; }

/* Decorative visuals are created only when the resolver enables one style.
   Shared palette: --wa-bl-decor-color and --wa-bl-decor-color-2. */
.wa-bl .wa-bl__pattern { position:absolute; z-index:1; inset:0; pointer-events:none; opacity:var(--wa-bl-decor-opacity,.22); overflow:clip; color:var(--wa-bl-decor-color); }
.wa-bl .wa-bl__pattern::before, .wa-bl .wa-bl__pattern::after { box-sizing:border-box; position:absolute; pointer-events:none; }
.wa-bl .wa-bl__pattern--rings::before, .wa-bl .wa-bl__pattern--rings::after,
.wa-bl .wa-bl__pattern--orbit::before, .wa-bl .wa-bl__pattern--orbit::after,
.wa-bl .wa-bl__pattern--arcs::before, .wa-bl .wa-bl__pattern--arcs::after,
.wa-bl .wa-bl__pattern--sweep::before,
.wa-bl .wa-bl__pattern--frames::before, .wa-bl .wa-bl__pattern--frames::after { content:""; border:1px solid currentColor; }
.wa-bl .wa-bl__pattern--rings::before { width:calc(70vw * var(--wa-bl-decor-scale)); aspect-ratio:1; max-width:1350px; right:-16%; top:-75%; border-radius:50%; box-shadow:0 0 0 80px color-mix(in srgb,var(--wa-bl-decor-color-2) 15%,transparent),0 0 0 165px color-mix(in srgb,var(--wa-bl-decor-color-2) 8%,transparent); }
.wa-bl .wa-bl__pattern--rings::after { width:calc(52vw * var(--wa-bl-decor-scale)); aspect-ratio:1; left:-29%; bottom:-86%; border-radius:50%; }
.wa-bl .wa-bl__pattern--orbit::before { width:calc(75vw * var(--wa-bl-decor-scale)); aspect-ratio:1.6; right:-20%; top:-40%; border-radius:50%; transform:rotate(-23deg); }
.wa-bl .wa-bl__pattern--orbit::after { width:calc(50vw * var(--wa-bl-decor-scale)); aspect-ratio:1.55; right:4%; top:-12%; border-radius:50%; transform:rotate(-23deg); border-color:var(--wa-bl-decor-color-2); }
.wa-bl .wa-bl__pattern--arcs::before { width:calc(92vw * var(--wa-bl-decor-scale)); aspect-ratio:2; right:-18%; top:-62%; border-radius:50%; transform:rotate(-20deg); }
.wa-bl .wa-bl__pattern--arcs::after { width:calc(85vw * var(--wa-bl-decor-scale)); aspect-ratio:2; left:-35%; bottom:-55%; border-radius:50%; transform:rotate(13deg); border-color:var(--wa-bl-decor-color-2); }
.wa-bl .wa-bl__pattern--sweep { background: radial-gradient(ellipse at 78% 100%,color-mix(in srgb,var(--wa-bl-decor-color-2) 28%,transparent),transparent 70%); }
.wa-bl .wa-bl__pattern--sweep::before { width:150vw; height:75vw; left:-28%; top:-85%; border-radius:50%; transform:rotate(-16deg); }
.wa-bl .wa-bl__pattern--grid { background-image:linear-gradient(90deg,currentColor 1px,transparent 1px),linear-gradient(currentColor 1px,transparent 1px); background-size:calc(94px * var(--wa-bl-decor-scale)) calc(94px * var(--wa-bl-decor-scale)); mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent); }
.wa-bl .wa-bl__pattern--dots { background-image:radial-gradient(circle,var(--wa-bl-decor-color) 1.5px,transparent 2px); background-size:calc(40px * var(--wa-bl-decor-scale)) calc(40px * var(--wa-bl-decor-scale)); }
.wa-bl .wa-bl__pattern--crosshair { background-image:linear-gradient(90deg,currentColor 1px,transparent 1px),linear-gradient(currentColor 1px,transparent 1px),radial-gradient(circle,var(--wa-bl-decor-color-2) 2px,transparent 2.5px); background-size:calc(130px * var(--wa-bl-decor-scale)) calc(130px * var(--wa-bl-decor-scale)); }
.wa-bl .wa-bl__pattern--diagonal { background-image:repeating-linear-gradient(135deg,currentColor 0 1px,transparent 1px calc(42px * var(--wa-bl-decor-scale))); mask-image:linear-gradient(90deg,transparent,#000 55%,transparent); }
.wa-bl .wa-bl__pattern--prism { background-image:linear-gradient(118deg,transparent 18%,color-mix(in srgb,var(--wa-bl-decor-color) 42%,transparent) 42%,transparent 43%),linear-gradient(150deg,transparent 49%,color-mix(in srgb,var(--wa-bl-decor-color-2) 52%,transparent) 69%,transparent 70%); }
.wa-bl .wa-bl__pattern--rays { background:repeating-conic-gradient(from 15deg at 80% 85%,transparent 0deg 17deg,color-mix(in srgb,var(--wa-bl-decor-color) 55%,transparent) 17.1deg 17.35deg,transparent 17.5deg 34deg); }
.wa-bl .wa-bl__pattern--waves { background-image:repeating-radial-gradient(ellipse at 15% 115%,transparent 0 calc(30px * var(--wa-bl-decor-scale)),currentColor calc(31px * var(--wa-bl-decor-scale)) calc(32px * var(--wa-bl-decor-scale)),transparent calc(33px * var(--wa-bl-decor-scale)) calc(70px * var(--wa-bl-decor-scale))); }
.wa-bl .wa-bl__pattern--pulse { background-image:repeating-radial-gradient(circle at 73% 55%,transparent 0 calc(46px * var(--wa-bl-decor-scale)),var(--wa-bl-decor-color-2) calc(47px * var(--wa-bl-decor-scale)) calc(48px * var(--wa-bl-decor-scale)),transparent calc(49px * var(--wa-bl-decor-scale)) calc(95px * var(--wa-bl-decor-scale))); }
.wa-bl .wa-bl__pattern--contours { background:repeating-radial-gradient(ellipse at 120% -40%,transparent 0 calc(37px * var(--wa-bl-decor-scale)),currentColor calc(38px * var(--wa-bl-decor-scale)) calc(39px * var(--wa-bl-decor-scale)),transparent calc(40px * var(--wa-bl-decor-scale)) calc(75px * var(--wa-bl-decor-scale))); }
.wa-bl .wa-bl__pattern--diamonds { background-image:linear-gradient(45deg,transparent calc(50% - 1px),currentColor 50%,transparent calc(50% + 1px)),linear-gradient(-45deg,transparent calc(50% - 1px),var(--wa-bl-decor-color-2) 50%,transparent calc(50% + 1px)); background-size:calc(75px * var(--wa-bl-decor-scale)) calc(75px * var(--wa-bl-decor-scale)); }
.wa-bl .wa-bl__pattern--isometric { background-image:repeating-linear-gradient(30deg,transparent 0 calc(63px * var(--wa-bl-decor-scale)),currentColor calc(64px * var(--wa-bl-decor-scale)) calc(65px * var(--wa-bl-decor-scale))),repeating-linear-gradient(150deg,transparent 0 calc(63px * var(--wa-bl-decor-scale)),var(--wa-bl-decor-color-2) calc(64px * var(--wa-bl-decor-scale)) calc(65px * var(--wa-bl-decor-scale))),repeating-linear-gradient(90deg,transparent 0 calc(115px * var(--wa-bl-decor-scale)),currentColor calc(116px * var(--wa-bl-decor-scale)) calc(117px * var(--wa-bl-decor-scale))); }
.wa-bl .wa-bl__pattern--frames::before { width:calc(70vw * var(--wa-bl-decor-scale)); height:55%; top:13%; right:-7%; border-radius:2px; transform:rotate(-8deg); }
.wa-bl .wa-bl__pattern--frames::after { width:calc(61vw * var(--wa-bl-decor-scale)); height:55%; top:28%; right:0; border-color:var(--wa-bl-decor-color-2); transform:rotate(7deg); }
.wa-bl .wa-bl__pattern--scanlines { background-image:repeating-linear-gradient(0deg,currentColor 0 1px,transparent 1px calc(10px * var(--wa-bl-decor-scale))); mask-image:linear-gradient(180deg,transparent,#000 30%,#000 75%,transparent); }
.wa-bl .wa-bl__pattern--horizon { background-image:repeating-radial-gradient(ellipse 80vw 23vw at 50% 145%,transparent 0 calc(22px * var(--wa-bl-decor-scale)),currentColor calc(23px * var(--wa-bl-decor-scale)) calc(24px * var(--wa-bl-decor-scale)),transparent calc(25px * var(--wa-bl-decor-scale)) calc(56px * var(--wa-bl-decor-scale))); }
/* Additional 2026 editorial/sonic geometry: single pseudo-free paint layer,
   no JS, images, animation or expensive SVG filters. */
.wa-bl .wa-bl__pattern--spectral { background: linear-gradient(116deg,transparent 26%,color-mix(in srgb,var(--wa-bl-decor-color) 24%,transparent) 43%,transparent 46%),linear-gradient(126deg,transparent 48%,color-mix(in srgb,var(--wa-bl-decor-color-2) 27%,transparent) 53%,transparent 58%),linear-gradient(135deg,transparent 64%,color-mix(in srgb,var(--wa-bl-decor-color) 15%,transparent) 70%,transparent 75%); }
.wa-bl .wa-bl__pattern--halo { background: radial-gradient(ellipse 45% 70% at 73% 50%,transparent 63%,var(--wa-bl-decor-color) 63.2%,transparent 63.5%),radial-gradient(ellipse 51% 80% at 75% 50%,transparent 67%,var(--wa-bl-decor-color-2) 67.2%,transparent 67.45%); }
.wa-bl .wa-bl__pattern--silk { background: linear-gradient(132deg,transparent 30%,color-mix(in srgb,var(--wa-bl-decor-color) 12%,transparent) 48%,transparent 49%),linear-gradient(148deg,transparent 50%,color-mix(in srgb,var(--wa-bl-decor-color-2) 10%,transparent) 65%,transparent 67%); }
.wa-bl .wa-bl__pattern--prism-shards { background: conic-gradient(from 23deg at 75% 46%,transparent 0deg 24deg,color-mix(in srgb,var(--wa-bl-decor-color) 34%,transparent) 24deg 45deg,transparent 45deg 177deg,color-mix(in srgb,var(--wa-bl-decor-color-2) 35%,transparent) 177deg 211deg,transparent 211deg 360deg); }
.wa-bl .wa-bl__pattern--lattice { background: repeating-linear-gradient(90deg,transparent 0 calc(160px * var(--wa-bl-decor-scale)),currentColor calc(161px * var(--wa-bl-decor-scale)) calc(162px * var(--wa-bl-decor-scale))),repeating-linear-gradient(0deg,transparent 0 calc(160px * var(--wa-bl-decor-scale)),var(--wa-bl-decor-color-2) calc(161px * var(--wa-bl-decor-scale)) calc(162px * var(--wa-bl-decor-scale))); mask-image:radial-gradient(ellipse at 74% 53%,#000,transparent 76%); }
.wa-bl .wa-bl__pattern--ripple { background: repeating-radial-gradient(ellipse 55vw 26vw at 80% 80%,transparent 0 calc(33px * var(--wa-bl-decor-scale)),currentColor calc(34px * var(--wa-bl-decor-scale)) calc(35px * var(--wa-bl-decor-scale)),transparent calc(36px * var(--wa-bl-decor-scale)) calc(68px * var(--wa-bl-decor-scale))); mask-image:linear-gradient(90deg,transparent,#000 32%); }
.wa-bl .wa-bl__pattern--corner-lines { background: linear-gradient(90deg,currentColor 0 1px,transparent 1px) 9% 12% / 1px 60% no-repeat,linear-gradient(0deg,var(--wa-bl-decor-color-2) 0 1px,transparent 1px) 9% 12% / 33% 1px no-repeat,linear-gradient(90deg,currentColor 0 1px,transparent 1px) 91% 88% / 1px 60% no-repeat,linear-gradient(0deg,var(--wa-bl-decor-color-2) 0 1px,transparent 1px) 91% 88% / 33% 1px no-repeat; }
.wa-bl .wa-bl__pattern--aurora-mesh { background: repeating-radial-gradient(ellipse 80% 35% at 90% 96%,transparent 0 calc(46px * var(--wa-bl-decor-scale)),currentColor calc(47px * var(--wa-bl-decor-scale)) calc(48px * var(--wa-bl-decor-scale)),transparent calc(49px * var(--wa-bl-decor-scale)) calc(94px * var(--wa-bl-decor-scale))); mask-image:radial-gradient(ellipse at 95% 80%,#000,transparent 75%); }

/* Optional elements exist only when enabled by the editor. */
.wa-bl .wa-bl__ambient { position: absolute; z-index: 1; pointer-events: none; inset: 0; opacity: .57; overflow: hidden; }
.wa-bl .wa-bl__ambient::before, .wa-bl .wa-bl__ambient::after { content: ''; position: absolute; width: 55vw; height: 55vw; max-width: 820px; max-height: 820px; border-radius: 50%; filter: blur(45px); }
.wa-bl.wa-bl--glow-subtle .wa-bl__ambient::before { left: -25%; top: -55%; background: radial-gradient(circle,#9f8c4e35,transparent 64%); }
.wa-bl.wa-bl--glow-subtle .wa-bl__ambient::after { right: -23%; bottom: -78%; background: radial-gradient(circle,#3b799b40,transparent 63%); }
.wa-bl.wa-bl--glow-aurora .wa-bl__ambient::before { left: -20%; top: -45%; background: radial-gradient(circle,#46dfcb4a,transparent 65%); }
.wa-bl.wa-bl--glow-aurora .wa-bl__ambient::after { right: -24%; bottom: -80%; background: radial-gradient(circle,#4e8cff4d,transparent 63%); }
.wa-bl.wa-bl--glow-violet .wa-bl__ambient::before { left: -20%; top: -55%; background: radial-gradient(circle,#8867c336,transparent 64%); }
.wa-bl.wa-bl--glow-violet .wa-bl__ambient::after { right: -23%; bottom: -75%; background: radial-gradient(circle,#6b69b43a,transparent 64%); }
.wa-bl .wa-bl__arcs { pointer-events: none; z-index: 1; position: absolute; inset: 0; opacity: .23; overflow: hidden; }
.wa-bl .wa-bl__arcs::before, .wa-bl .wa-bl__arcs::after { content:''; position:absolute; border:1px solid currentColor; border-radius:50%; width:85vw; height:85vw; max-width:1240px; max-height:1240px; }
.wa-bl .wa-bl__arcs::before { top: -72%; left: -31%; }
.wa-bl .wa-bl__arcs::after { bottom: -102%; right: -32%; }
.wa-bl .wa-bl__image { display: block; width: 100%; height: auto; max-width: 100%; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .wa-bl:where(.wa-bl--button-hover-lift,.wa-bl--button-hover-glow) .wa-bl__button:not(.wa-bl__button--card):hover { transform: translateY(-2px); }
}
@media (max-width:767px) {
  .wa-bl { padding-block: var(--wa-bl-pad-top-mobile) var(--wa-bl-pad-bottom-mobile); }
  .wa-bl .wa-bl__wrap { width: min(100% - 32px, var(--wa-bl-max-width)); }
  .wa-bl .wa-bl__headline { font-size: var(--wa-bl-heading-size-mobile); line-height: var(--wa-bl-heading-line-height,1.13); }
  .wa-bl .wa-bl__body { font-size: 16px; line-height: 1.65; }
  .wa-bl .wa-bl__background-img { object-position: var(--wa-bl-bg-pos-x-mobile) var(--wa-bl-bg-pos-y-mobile); }
  .wa-bl.wa-bl--split-mobile-break .wa-bl__headline-segment--2 { display:block; }
  .wa-bl.wa-bl--split-mobile-natural .wa-bl__headline-segment--2 { display:inline; }

  .wa-bl .wa-bl__ambient { opacity: .4; }
  .wa-bl .wa-bl__ambient::before, .wa-bl .wa-bl__ambient::after { filter: blur(24px); }
  .wa-bl .wa-bl__arcs, .wa-bl .wa-bl__pattern { display: none; }
  .wa-bl .wa-bl__actions { gap: 10px; }
  .wa-bl .wa-bl__button { padding: 11px 18px; min-height: 46px; font-size: var(--wa-bl-button-size,15px); }
}
@media (prefers-reduced-motion:reduce) {
  .wa-bl .wa-bl__button, .wa-bl .wa-bl-features__card { transition: none !important; animation: none !important; transform: none !important; }
}

/* v0.3.3: soft, layered light shapes. No blur filters, images, motion or JS. */
.wa-bl .wa-bl__pattern--silk-curtain { background-image:radial-gradient(ellipse 72% 22% at 92% 18%,color-mix(in srgb,var(--wa-bl-decor-color) 52%,transparent),transparent 75%),linear-gradient(144deg,transparent 37%,color-mix(in srgb,var(--wa-bl-decor-color-2) 20%,transparent) 49%,transparent 62%); }
.wa-bl .wa-bl__pattern--silk-fold { background-image:linear-gradient(112deg,transparent 34%,color-mix(in srgb,var(--wa-bl-decor-color) 33%,transparent) 42%,transparent 54%),linear-gradient(155deg,transparent 54%,color-mix(in srgb,var(--wa-bl-decor-color-2) 28%,transparent) 64%,transparent 77%); }
.wa-bl .wa-bl__pattern--light-caustics { background-image:radial-gradient(ellipse 40% 85% at 81% 70%,color-mix(in srgb,var(--wa-bl-decor-color) 32%,transparent),transparent 77%),radial-gradient(ellipse 60% 20% at 46% 18%,color-mix(in srgb,var(--wa-bl-decor-color-2) 24%,transparent),transparent 83%); }
.wa-bl .wa-bl__pattern--prism-veil { background-image:linear-gradient(132deg,transparent 42%,color-mix(in srgb,var(--wa-bl-decor-color) 38%,transparent) 54%,transparent 65%),linear-gradient(143deg,transparent 48%,color-mix(in srgb,var(--wa-bl-decor-color-2) 28%,transparent) 70%,transparent 78%); }
.wa-bl .wa-bl__pattern--ribbon-cross { background-image:linear-gradient(124deg,transparent 34%,color-mix(in srgb,var(--wa-bl-decor-color) 35%,transparent) 53%,transparent 64%),linear-gradient(33deg,transparent 27%,color-mix(in srgb,var(--wa-bl-decor-color-2) 20%,transparent) 48%,transparent 63%); }
.wa-bl .wa-bl__pattern--glass-sheen { background-image:linear-gradient(105deg,transparent 24%,color-mix(in srgb,var(--wa-bl-decor-color) 19%,transparent) 44%,transparent 47%),radial-gradient(ellipse 85% 55% at 105% -5%,color-mix(in srgb,var(--wa-bl-decor-color-2) 29%,transparent),transparent 80%); }
.wa-bl .wa-bl__pattern--velvet-mist { background-image:radial-gradient(ellipse 54% 42% at 86% 64%,color-mix(in srgb,var(--wa-bl-decor-color) 49%,transparent),transparent 83%),radial-gradient(ellipse 44% 67% at 10% 92%,color-mix(in srgb,var(--wa-bl-decor-color-2) 27%,transparent),transparent 85%); }
.wa-bl .wa-bl__pattern--soft-wave { background-image:repeating-radial-gradient(ellipse 84% 33% at 90% 118%,transparent 0 28px,color-mix(in srgb,var(--wa-bl-decor-color) 14%,transparent) 29px,transparent 33px,transparent 72px); }
.wa-bl .wa-bl__pattern--halo-wash { background-image:radial-gradient(ellipse 44% 67% at 78% 48%,transparent 50%,color-mix(in srgb,var(--wa-bl-decor-color) 31%,transparent) 66%,transparent 87%); }
.wa-bl .wa-bl__pattern--aurora-sheets { background-image:linear-gradient(148deg,transparent 32%,color-mix(in srgb,var(--wa-bl-decor-color) 38%,transparent) 50%,transparent 69%),linear-gradient(129deg,transparent 52%,color-mix(in srgb,var(--wa-bl-decor-color-2) 32%,transparent) 70%,transparent 84%); }
.wa-bl .wa-bl__pattern--paper-light { background-image:radial-gradient(ellipse 73% 25% at 80% -10%,color-mix(in srgb,var(--wa-bl-decor-color) 29%,transparent),transparent 92%),linear-gradient(125deg,transparent 57%,color-mix(in srgb,var(--wa-bl-decor-color-2) 13%,transparent) 67%,transparent 78%); }
.wa-bl .wa-bl__pattern--iridescent-fold { background-image:linear-gradient(124deg,transparent 21%,color-mix(in srgb,var(--wa-bl-decor-color) 37%,transparent) 42%,transparent 54%),linear-gradient(155deg,transparent 50%,color-mix(in srgb,var(--wa-bl-decor-color-2) 43%,transparent) 69%,transparent 82%); }

/* v0.3.3 selective ambient treatments: CSS gradient ellipses, no blur filters or animation. */
.wa-bl.wa-bl--glow-polar-haze .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-polar-haze .wa-bl__ambient::before { width:56%;height:52%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:12%;top:28%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#6bded055 0%,#6bded025 34%,transparent 72%); }
.wa-bl.wa-bl--glow-polar-haze .wa-bl__ambient::after { width:56%;height:52%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:82%;top:70%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#6d99e442 0%,#6d99e418 32%,transparent 75%); }
.wa-bl.wa-bl--glow-teal-bloom .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-teal-bloom .wa-bl__ambient::before { width:48%;height:62%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:75%;top:48%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#49eab555 0%,#49eab525 34%,transparent 72%); }
.wa-bl.wa-bl--glow-teal-bloom .wa-bl__ambient::after { width:48%;height:62%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:30%;top:78%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#98f5df42 0%,#98f5df18 32%,transparent 75%); }
.wa-bl.wa-bl--glow-fjord-depth .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-fjord-depth .wa-bl__ambient::before { width:65%;height:47%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:90%;top:20%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#266e8655 0%,#266e8625 34%,transparent 72%); }
.wa-bl.wa-bl--glow-fjord-depth .wa-bl__ambient::after { width:65%;height:47%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:12%;top:95%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#79d9ec42 0%,#79d9ec18 32%,transparent 75%); }
.wa-bl.wa-bl--glow-blue-mist .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-blue-mist .wa-bl__ambient::before { width:72%;height:50%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:60%;top:42%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#6584d955 0%,#6584d925 34%,transparent 72%); }
.wa-bl.wa-bl--glow-blue-mist .wa-bl__ambient::after { width:72%;height:50%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:14%;top:42%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#badcf942 0%,#badcf918 32%,transparent 75%); }
.wa-bl.wa-bl--glow-glacial-edge .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-glacial-edge .wa-bl__ambient::before { width:44%;height:70%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:95%;top:65%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#bbffef55 0%,#bbffef25 34%,transparent 72%); }
.wa-bl.wa-bl--glow-glacial-edge .wa-bl__ambient::after { width:44%;height:70%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:18%;top:48%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#649eb942 0%,#649eb918 32%,transparent 75%); }
.wa-bl.wa-bl--glow-ap-silk-wash .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-ap-silk-wash .wa-bl__ambient::before { width:55%;height:58%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:48%;top:4%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#e2d3ff55 0%,#e2d3ff25 34%,transparent 72%); }
.wa-bl.wa-bl--glow-ap-silk-wash .wa-bl__ambient::after { width:55%;height:58%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:84%;top:90%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#94c6ef42 0%,#94c6ef18 32%,transparent 75%); }
.wa-bl.wa-bl--glow-ap-pearl .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-ap-pearl .wa-bl__ambient::before { width:69%;height:51%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:76%;top:10%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#e7e8fa55 0%,#e7e8fa25 34%,transparent 72%); }
.wa-bl.wa-bl--glow-ap-pearl .wa-bl__ambient::after { width:69%;height:51%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:10%;top:95%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#e5dadd42 0%,#e5dadd18 32%,transparent 75%); }
.wa-bl.wa-bl--glow-ap-titanium .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-ap-titanium .wa-bl__ambient::before { width:65%;height:64%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:82%;top:22%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#8dacc655 0%,#8dacc625 34%,transparent 72%); }
.wa-bl.wa-bl--glow-ap-titanium .wa-bl__ambient::after { width:65%;height:64%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:20%;top:72%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#d5dbe642 0%,#d5dbe618 32%,transparent 75%); }
.wa-bl.wa-bl--glow-ap-edge-light .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-ap-edge-light .wa-bl__ambient::before { width:40%;height:72%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:98%;top:35%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#cfe0ff55 0%,#cfe0ff25 34%,transparent 72%); }
.wa-bl.wa-bl--glow-ap-edge-light .wa-bl__ambient::after { width:40%;height:72%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:8%;top:68%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#a88bd142 0%,#a88bd118 32%,transparent 75%); }
.wa-bl.wa-bl--glow-ap-frost .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-ap-frost .wa-bl__ambient::before { width:65%;height:56%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:58%;top:7%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#e7fcff55 0%,#e7fcff25 34%,transparent 72%); }
.wa-bl.wa-bl--glow-ap-frost .wa-bl__ambient::after { width:65%;height:56%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:55%;top:105%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#b6c7ed42 0%,#b6c7ed18 32%,transparent 75%); }
.wa-bl.wa-bl--glow-midnight-violet .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-midnight-violet .wa-bl__ambient::before { width:58%;height:59%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:76%;top:54%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#7757b555 0%,#7757b525 34%,transparent 72%); }
.wa-bl.wa-bl--glow-midnight-violet .wa-bl__ambient::after { width:58%;height:59%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:35%;top:15%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#3b549d42 0%,#3b549d18 32%,transparent 75%); }
.wa-bl.wa-bl--glow-bronze-haze .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-bronze-haze .wa-bl__ambient::before { width:58%;height:53%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:80%;top:50%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#ba885e55 0%,#ba885e25 34%,transparent 72%); }
.wa-bl.wa-bl--glow-bronze-haze .wa-bl__ambient::after { width:58%;height:53%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:20%;top:98%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#78695442 0%,#78695418 32%,transparent 75%); }
.wa-bl.wa-bl--glow-copper-ember .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-copper-ember .wa-bl__ambient::before { width:42%;height:55%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:85%;top:72%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#cb695855 0%,#cb695825 34%,transparent 72%); }
.wa-bl.wa-bl--glow-copper-ember .wa-bl__ambient::after { width:42%;height:55%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:20%;top:12%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#dca97b42 0%,#dca97b18 32%,transparent 75%); }
.wa-bl.wa-bl--glow-indigo-pulse .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-indigo-pulse .wa-bl__ambient::before { width:50%;height:68%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:70%;top:27%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#565fc655 0%,#565fc625 34%,transparent 72%); }
.wa-bl.wa-bl--glow-indigo-pulse .wa-bl__ambient::after { width:50%;height:68%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:30%;top:92%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#9473c942 0%,#9473c918 32%,transparent 75%); }
.wa-bl.wa-bl--glow-carbon-rim .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-carbon-rim .wa-bl__ambient::before { width:47%;height:53%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:94%;top:48%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#87a3ba55 0%,#87a3ba25 34%,transparent 72%); }
.wa-bl.wa-bl--glow-carbon-rim .wa-bl__ambient::after { width:47%;height:53%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:5%;top:22%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#63728142 0%,#63728118 32%,transparent 75%); }
.wa-bl.wa-bl--glow-prism-bloom .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-prism-bloom .wa-bl__ambient::before { width:59%;height:57%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:78%;top:23%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#ef61c655 0%,#ef61c625 34%,transparent 72%); }
.wa-bl.wa-bl--glow-prism-bloom .wa-bl__ambient::after { width:59%;height:57%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:20%;top:92%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#6788ff42 0%,#6788ff18 32%,transparent 75%); }
.wa-bl.wa-bl--glow-sunset-arc .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-sunset-arc .wa-bl__ambient::before { width:53%;height:63%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:88%;top:70%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#ff986855 0%,#ff986825 34%,transparent 72%); }
.wa-bl.wa-bl--glow-sunset-arc .wa-bl__ambient::after { width:53%;height:63%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:35%;top:0%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#d473a942 0%,#d473a918 32%,transparent 75%); }
.wa-bl.wa-bl--glow-hyper-pink .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-hyper-pink .wa-bl__ambient::before { width:53%;height:55%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:76%;top:49%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#ed59ab55 0%,#ed59ab25 34%,transparent 72%); }
.wa-bl.wa-bl--glow-hyper-pink .wa-bl__ambient::after { width:53%;height:55%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:20%;top:25%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#965bed42 0%,#965bed18 32%,transparent 75%); }
.wa-bl.wa-bl--glow-spectrum-bloom .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-spectrum-bloom .wa-bl__ambient::before { width:60%;height:55%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:23%;top:45%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#74e8d455 0%,#74e8d425 34%,transparent 72%); }
.wa-bl.wa-bl--glow-spectrum-bloom .wa-bl__ambient::after { width:60%;height:55%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:85%;top:65%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#be75eb42 0%,#be75eb18 32%,transparent 75%); }
.wa-bl.wa-bl--glow-candy-wash .wa-bl__ambient { opacity:.75; }
.wa-bl.wa-bl--glow-candy-wash .wa-bl__ambient::before { width:56%;height:57%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:13%;top:82%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#e9af6e55 0%,#e9af6e25 34%,transparent 72%); }
.wa-bl.wa-bl--glow-candy-wash .wa-bl__ambient::after { width:56%;height:57%;max-width:none;max-height:none;left:auto;right:auto;top:auto;bottom:auto;transform:translate(-50%,-50%);left:89%;top:25%;filter:none;border-radius:50%;background:radial-gradient(ellipse at center,#7c9fef42 0%,#7c9fef18 32%,transparent 75%); }

.wa-bl--button-hover-invert .wa-bl__button:not(.wa-bl__button--card):focus-visible {background:var(--wa-bl-button-fg);color:var(--wa-bl-button-bg);}
.wa-bl--button-hover-custom .wa-bl__button:not(.wa-bl__button--card):focus-visible {background:var(--wa-bl-button-hover-bg);color:var(--wa-bl-button-hover-fg);}
